CyIpoptNLP

(类来自 pyomo.contrib.pynumero.interfaces.cyipopt_interface)

class pyomo.contrib.pynumero.interfaces.cyipopt_interface.CyIpoptNLP(nlp, intermediate_callback=None, halt_on_evaluation_error=None)[source]

基础:CyIpoptProblemInterface

__init__(nlp, intermediate_callback=None, halt_on_evaluation_error=None)[source]

该类提供了一个CyIpoptProblemInterface,用于与CyIpoptSolver类一起使用,只要它提供numpy ndarrays形式的向量和scipy.sparse.coo_matrix对象形式的矩阵,就可以接受NLP。该类提供了AmplNLP或PyomoNLP对象与CyIpoptSolver之间的接口。

方法

__init__(nlp[, intermediate_callback, ...])

该类提供了一个CyIpoptProblemInterface,用于与CyIpoptSolver类一起使用,只要NLP提供向量作为numpy ndarrays和矩阵作为scipy.sparse.coo_matrix对象,就可以接受它。

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。

hessianstructure()

返回Hessian矩阵在坐标格式中的结构。

intermediate(alg_mod, iter_count, obj_value, ...)

调用用户的中级回调

jacobian(x)

返回在x处评估的雅可比矩阵的值,作为与雅可比结构中指定的行和列对应的非零值的numpy ndarray

jacobianstructure()

返回雅可比矩阵在坐标格式中的结构。

objective(x)

返回在x处评估的目标函数的值

scaling_factors()

返回缩放因子的值作为一个元组 (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

成员文档

constraints(x)[source]

返回在x处评估的约束残差作为numpy ndarray

g_lb()[source]

返回约束的下界作为numpy ndarray

g_ub()[source]

返回约束的上界作为numpy ndarray

gradient(x)[source]

返回在x处评估的目标函数的梯度,作为numpy ndarray

hessian(x, y, obj_factor)[source]

返回在x处评估的hessian值,作为与hessianstructure方法中指定的行和列对应的非零值的numpy ndarray。 注意:仅返回此对称矩阵的下对角线。

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)[源代码]

调用用户的中级回调

此方法具有CyIpopt期望的调用签名。然后我们扩展这个调用签名,以向此接口类的用户提供额外的功能。额外的参数是:

  • 用于构造此类实例的NLP对象。 这在回调期间查询变量、约束和导数时非常有用。

  • 类实例本身。这对于调用get_current_iterateget_current_violations方法非常有用,这些方法查询Ipopt的内部数据结构以提供此信息。

jacobian(x)[source]

返回在x处评估的雅可比矩阵的值,作为对应于雅可比结构中指定的行和列的非零值的numpy ndarray

jacobianstructure()[source]

返回雅可比矩阵的结构 以坐标格式。即返回 (rows, cols) 其中 rows 和 cols 都是 numpy ndarray 对象,包含雅可比矩阵中每个非零元素的行和列索引。

objective(x)[source]

返回在x处评估的目标函数的值

scaling_factors()[source]

返回缩放因子的值作为一个元组 (objective_scaling, x_scaling, g_scaling)。如果缩放因子被忽略,则返回 None

solve(x, lagrange=None, zl=None, zu=None)

解决一个CyIpopt问题

检查在调用 cyipopt.Problem.solve 之前是否已经调用了 __init__

x_init()[源代码]

返回x的初始值作为numpy ndarray

x_lb()[source]

返回x的下界作为numpy ndarray

x_ub()[source]

返回x的上界作为numpy ndarray