CyIpopt问题接口
(类来自 pyomo.contrib.pynumero.interfaces.cyipopt_interface)
- class pyomo.contrib.pynumero.interfaces.cyipopt_interface.CyIpoptProblemInterface[source]
基础类:
objectcyipopt.Problem的抽象子类,定义了一个可以用作 CyIpopt 接口的对象。子类必须定义 CyIpopt 求解所需的所有方法,并且必须调用此类的__init__方法来初始化 Ipopt 的数据结构。请注意,如果“output_file”作为Ipopt选项提供,日志文件将保持打开状态,直到此对象(以及因此底层的Ipopt NLP对象)被释放。要强制释放,请调用
close()方法,该方法由cyipopt.Problem定义。- __init__()[source]
初始化问题界面
此方法调用
cyipopt.Problem.__init__,并且必须由任何子类的__init__方法调用。如果不这样做,当我们从这个对象调用cyipopt.Problem.solve时,将会出现段错误。
方法
__init__()初始化问题界面
constraints(x)返回在x处评估的约束残差作为numpy ndarray
g_lb()返回约束的下界作为numpy ndarray
g_ub()返回约束的上界作为numpy ndarray
gradient(x)返回在x处评估的目标函数的梯度,作为numpy ndarray
hessian(x, y, obj_factor)返回在x处评估的hessian值,作为与hessianstructure方法中指定的行和列对应的非零值的numpy ndarray。
返回Hessian矩阵在坐标格式中的结构。
intermediate(alg_mod, iter_count, obj_value, ...)可用于检查或报告中间结果的回调。
jacobian(x)返回在x处评估的雅可比矩阵的值,作为与雅可比结构中指定的行和列对应的非零值的numpy ndarray
返回雅可比矩阵在坐标格式中的结构。
objective(x)返回在x处评估的目标函数的值
返回缩放因子的值作为一个元组 (objective_scaling, x_scaling, g_scaling)。
solve(x[, lagrange, zl, zu])解决一个CyIpopt问题
x_init()返回x的初始值作为numpy ndarray
x_lb()返回x的下界作为numpy ndarray
x_ub()返回x的上界作为numpy ndarray
成员文档
- abstract hessian(x, y, obj_factor)[source]
返回在x处评估的hessian值,作为与hessianstructure方法中指定的行和列对应的非零值的numpy ndarray。 注意:仅返回此对称矩阵的下对角线。
- abstract hessianstructure()[source]
返回Hessian矩阵的结构 以坐标格式。即返回(rows, cols) 其中rows和cols都是numpy ndarray 对象,包含Hessian矩阵中每个非零元素的 行和列索引。 注意:仅返回此对称矩阵的下对角线部分。
- intermediate(alg_mod, iter_count, obj_value, inf_pr, inf_du, mu, d_norm, regularization_size, alpha_du, alpha_pr, ls_trials)[source]
可用于检查或报告中间结果的回调函数。此方法在每次迭代时调用。
- abstract jacobianstructure()[source]
返回雅可比矩阵的结构 以坐标格式。即返回 (rows, cols) 其中 rows 和 cols 都是 numpy ndarray 对象,包含雅可比矩阵中每个非零元素的行和列索引。
- abstract scaling_factors()[source]
返回缩放因子的值作为一个元组 (objective_scaling, x_scaling, g_scaling)。如果缩放因子被忽略,则返回 None