PyomoNLP

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

class pyomo.contrib.pynumero.interfaces.pyomo_nlp.PyomoNLP(pyomo_model, nl_file_options=None)[source]

基础类:AslNLP

__init__(pyomo_model, nl_file_options=None)[source]

Pyomo 非线性程序接口

Parameters:

pyomo_model (pyomo.environ.ConcreteModel) – Pyomo 具体模型

方法

__init__(pyomo_model[, nl_file_options])

Pyomo 非线性程序接口

constraint_names()

返回一个按内部约束顺序对应的Pyomo约束名称的有序列表

constraints_lb()

返回约束条件的下界向量

constraints_ub()

返回约束条件的上限向量

create_new_vector(vector_type)

创建一个具有适当长度和结构的向量

equality_constraint_names()

返回一个按等式约束顺序排列的Pyomo ConData名称的有序列表。

evaluate_constraints([out])

返回在set_primals中给定的原始变量值处评估的约束值

evaluate_eq_constraints([out])

返回在set_primals中给定的原始变量值处评估的等式约束的值

evaluate_grad_objective([out])

返回在set_primals中给定的原始变量值处评估的目标函数的梯度

evaluate_hessian_lag([out])

返回在给定原始变量集 set_primals 和对偶变量集 set_duals 的值处评估的拉格朗日函数的 Hessian 矩阵

evaluate_ineq_constraints([out])

返回在set_primals中给定的原始变量值处评估的不等式约束的值

evaluate_jacobian([out])

返回在set_primals中给定的原始变量值处评估的约束的雅可比矩阵

evaluate_jacobian_eq([out])

返回在set_primals中给定的原始变量值处评估的等式约束的雅可比矩阵

evaluate_jacobian_ineq([out])

返回在set_primals中给定的原始变量值处评估的不等式约束的雅可比矩阵

evaluate_objective()

返回在set_primals中给定的原始变量值处评估的目标函数值

extract_submatrix_hessian_lag(...)

返回与提供的Pyomo变量列表对应的拉格朗日函数的Hessian子矩阵

extract_submatrix_jacobian(pyomo_variables, ...)

返回与提供的Pyomo变量列表和Pyomo约束列表对应的雅可比矩阵的子矩阵

extract_subvector_constraints(pyomo_constraints)

返回与提供的Pyomo约束列表对应的约束值

extract_subvector_grad_objective(pyomo_variables)

计算目标的梯度并返回与给定Pyomo变量对应的条目

get_constraint_indices(pyomo_constraints)

返回与提供的Pyomo约束列表对应的约束索引列表

get_constraints_scaling()

返回用于约束的所需缩放因子。

get_duals()

获取set_duals中提供的对偶变量值的副本。

get_duals_eq()

获取在set_duals_eq中提供的等式约束的对偶变量值的副本。

get_duals_ineq()

获取在set_duals_eq中提供的不等式约束的对偶变量值的副本。

get_eq_constraints_scaling()

返回用于等式约束的所需缩放因子。

get_equality_constraint_indices(constraints)

返回与提供的Pyomo约束列表对应的约束的等式索引列表。

get_ineq_constraints_scaling()

返回用于不等式约束的所需缩放因子。

get_inequality_constraint_indices(constraints)

返回与提供的Pyomo约束列表对应的约束的不等式索引列表。

get_obj_factor()

获取由set_obj_factor设置的目标函数因子的值。

get_obj_scaling()

返回用于目标函数的所需缩放因子。

get_primal_indices(pyomo_variables)

返回与提供的Pyomo变量列表对应的原始变量的索引列表

get_primals()

获取在set_primals中提供的原始变量值的副本。

get_primals_scaling()

返回用于原语的所需缩放因子。

get_pyomo_constraints()

返回一个按原值顺序排列的Pyomo ConData对象的有序列表

get_pyomo_equality_constraints()

返回一个按等式约束顺序排列的Pyomo ConData对象的有序列表。

get_pyomo_inequality_constraints()

返回一个按不等式约束顺序排列的Pyomo ConData对象的有序列表。

get_pyomo_objective()

返回Pyomo模型上活动目标函数的实例。

get_pyomo_variables()

返回一个按原变量顺序排列的Pyomo VarData对象的有序列表

ineq_lb()

返回不等式约束的下界向量

ineq_ub()

返回不等式约束的上界向量

inequality_constraint_names()

返回一个按不等式约束顺序排列的Pyomo ConData名称的有序列表。

init_duals()

返回带有约束对偶变量初始值的向量

init_duals_eq()

返回具有等式约束对偶变量初始值的向量

init_duals_ineq()

返回带有不等式约束对偶变量初始值的向量

init_primals()

返回包含原始变量初始值的向量

load_state_into_pyomo([bound_multipliers])

n_constraints()

返回约束的数量

n_eq_constraints()

返回等式约束的数量

n_ineq_constraints()

返回不等式约束的数量

n_primals()

返回原始变量的数量

nnz_hessian_lag()

返回拉格朗日函数的Hessian矩阵中非零值的数量

nnz_jacobian()

返回等式约束的雅可比矩阵中非零值的数量

nnz_jacobian_eq()

返回等式约束的雅可比矩阵中非零值的数量

nnz_jacobian_ineq()

返回不等式约束的雅可比矩阵中非零值的数量

primals_lb()

返回原始变量的下界向量

primals_names()

返回一个按原变量顺序排列的Pyomo变量名称的有序列表

primals_ub()

返回原始变量的上界向量

pyomo_model()

返回优化模型

report_solver_status(status_code, status_message)

使用在set方法中定义的原始和对偶值向NLP类报告求解器状态

set_duals(duals)

设置用于调用评估方法(hessian_lag)的约束条件的对偶变量的值

set_duals_eq(duals_eq)

设置用于调用评估方法(hessian_lag)的等式约束的对偶变量的值

set_duals_ineq(duals_ineq)

设置用于调用评估方法(hessian_lag)的不等式约束的对偶变量的值

set_obj_factor(obj_factor)

设置目标函数因子的值,用于在调用拉格朗日函数的Hessian矩阵评估(evaluate_hessian_lag)时使用。

set_primals(primals)

设置原始变量的值,以便在调用评估方法时使用

variable_names()

已弃用。

属性

symbol_map

成员文档

constraint_names()[source]

返回一个按内部约束顺序对应的Pyomo约束名称的有序列表

constraints_lb()

返回约束条件的下界向量

Return type:

类似向量

constraints_ub()

返回约束条件的上限向量

Return type:

类似向量

create_new_vector(vector_type)

创建一个具有适当长度和结构的向量,如所请求的

Parameters:

vector_type ({'primals', 'constraints', 'eq_constraints', 'ineq_constraints',) – ‘duals’, ‘duals_eq’, ‘duals_ineq’} 用于标识要创建的适当向量的字符串。

Return type:

numpy.ndarray

equality_constraint_names()[source]

返回一个按等式约束顺序排列的Pyomo ConData名称的有序列表。

evaluate_constraints(out=None)

返回在set_primals中给定的原始变量值处评估的约束值

Parameters:

out (array_like, optional) – 输出数组。其类型被保留,并且必须具有正确的形状以容纳输出。

Return type:

vector_like

evaluate_eq_constraints(out=None)

返回在set_primals中给定的原始变量值处评估的等式约束的值

Parameters:

out (array_like, optional) – 输出数组。其类型被保留,并且必须具有正确的形状以容纳输出。

Return type:

vector_like

evaluate_grad_objective(out=None)

返回在set_primals中给定的原始变量值处评估的目标函数的梯度

Parameters:

out (vector_like, optional) – 输出向量。其类型被保留,并且必须具有正确的形状以容纳输出。

Return type:

vector_like

evaluate_hessian_lag(out=None)

返回在给定原始变量集和双变量集的值处评估的拉格朗日函数的Hessian矩阵

Parameters:

out (matrix_like (例如, coo_matrix), 可选) – 输出矩阵,其结构已定义为hessian。可选

Return type:

矩阵类

evaluate_ineq_constraints(out=None)

返回在set_primals中给定的原始变量值处评估的不等式约束的值

Parameters:

out (array_like, optional) – 输出数组。其类型被保留,并且必须具有正确的形状以容纳输出。

Return type:

vector_like

evaluate_jacobian(out=None)

返回在set_primals中给定的原始变量值处评估的约束的雅可比矩阵

Parameters:

out (matrix_like (例如, coo_matrix), 可选) – 输出矩阵,其结构已经定义为雅可比矩阵。

Return type:

矩阵类

evaluate_jacobian_eq(out=None)

返回在set_primals中给定的原始变量值处评估的等式约束的雅可比矩阵

Parameters:

out (matrix_like (例如, coo_matrix), 可选) – 输出矩阵,其结构已经定义为雅可比矩阵。

Return type:

矩阵类

evaluate_jacobian_ineq(out=None)

返回在set_primals中给定的原始变量值处评估的不等式约束的雅可比矩阵

Parameters:

out (matrix_like (例如, coo_matrix), 可选) – 输出矩阵,其结构已经定义为雅可比矩阵。

Return type:

矩阵类

evaluate_objective()

返回在 set_primals 中给定的原始变量值处评估的目标函数值

Return type:

float

extract_submatrix_hessian_lag(pyomo_variables_rows, pyomo_variables_cols)[source]

返回与提供的Pyomo变量列表相对应的拉格朗日函数的Hessian子矩阵

Parameters:
  • pyomo_variables_rows (list of Pyomo Var or VarData objects) – 对应于所需行的Pyomo Var或VarData对象列表

  • pyomo_variables_cols (list of Pyomo Var or VarData objects) – 对应于所需列的Pyomo Var或VarData对象列表

extract_submatrix_jacobian(pyomo_variables, pyomo_constraints)[source]

返回与提供的Pyomo变量列表和Pyomo约束列表对应的雅可比矩阵的子矩阵

Parameters:
  • pyomo_variables (list of Pyomo Var or VarData objects)

  • pyomo_constraints (list of Pyomo Constraint or ConstraintData objects)

extract_subvector_constraints(pyomo_constraints)[source]

返回与提供的Pyomo约束列表对应的约束值

Parameters:

pyomo_constraints (list of Pyomo Constraint or ConstraintData objects)

extract_subvector_grad_objective(pyomo_variables)[source]

计算目标的梯度并返回与给定Pyomo变量对应的条目

Parameters:

pyomo_variables (listPyomo VarVarData 对象)

get_constraint_indices(pyomo_constraints)[source]

返回与提供的Pyomo约束列表对应的约束索引列表

Parameters:

pyomo_constraints (list of Pyomo Constraint or ConstraintData objects)

get_constraints_scaling()[source]

返回用于约束的所需缩放因子。None 表示不进行缩放。 这表示模型可能进行缩放,但评估方法应返回未缩放的值。

Return type:

类似数组或无

get_duals()

获取set_duals中提供的对偶变量值的副本。这些值将用于调用评估方法。

get_duals_eq()

获取等式约束的对偶变量值的副本,如set_duals_eq中提供的。这些值将在调用评估方法时使用。

get_duals_ineq()

获取不等式约束的对偶变量值的副本,如set_duals_eq中提供的。这些值将用于调用评估方法。

get_eq_constraints_scaling()

返回用于等式约束的所需缩放因子。None 表示不进行缩放。 这表示模型可能进行缩放,但评估方法应返回未缩放的值。

Return type:

类似数组或无

get_equality_constraint_indices(constraints)[source]

返回与提供的Pyomo约束列表对应的约束的等式索引列表。

Parameters:

约束 (list of Pyomo Constraints or ConstraintData objects)

get_ineq_constraints_scaling()

返回用于不等式约束的所需缩放因子。None 表示不进行缩放。 这表示模型可能进行缩放,但评估方法应返回未缩放的值。

Return type:

类似数组或无

get_inequality_constraint_indices(constraints)[source]

返回与提供的Pyomo约束列表对应的约束的不等式指数列表。

Parameters:

约束 (列表Pyomo 约束约束数据对象)

get_obj_factor()

获取由set_obj_factor设置的目标函数因子的值。这是在调用拉格朗日函数的Hessian矩阵评估(evaluate_hessian_lag)时将使用的值。

get_obj_scaling()[source]

返回用于目标函数的所需缩放因子。None 表示不进行缩放。 这表示模型可能进行缩放,但评估方法应返回未缩放的值。

Return type:

float 或 None

get_primal_indices(pyomo_variables)[source]

返回与提供的Pyomo变量列表对应的原始变量的索引列表

Parameters:

pyomo_variables (list of Pyomo Var or VarData objects)

get_primals()

获取在set_primals中提供的原始变量的值的副本。这些值将用于调用评估方法。

get_primals_scaling()[source]

返回用于原始数据的期望缩放因子。None 表示不进行缩放。 这表示模型可能进行缩放,但评估方法应返回未缩放的值

Return type:

类似数组或无

get_pyomo_constraints()[source]

返回一个按原值顺序排列的Pyomo ConData对象的有序列表

get_pyomo_equality_constraints()[source]

返回一个按等式约束顺序排列的Pyomo ConData对象的有序列表。

get_pyomo_inequality_constraints()[source]

返回一个按不等式约束顺序排列的Pyomo ConData对象的有序列表。

get_pyomo_objective()[source]

返回Pyomo模型上活动目标函数的实例。 (只能有一个)

get_pyomo_variables()[source]

返回一个按原变量顺序排列的Pyomo VarData对象的有序列表

ineq_lb()

返回不等式约束的下界向量

Return type:

类似向量

ineq_ub()

返回不等式约束的上界向量

Return type:

类似向量

inequality_constraint_names()[source]

返回一个按不等式约束顺序排列的Pyomo ConData名称的有序列表。

init_duals()

返回带有约束对偶变量初始值的向量

init_duals_eq()

返回具有等式约束对偶变量初始值的向量

init_duals_ineq()

返回包含不等式约束对偶变量初始值的向量

init_primals()

返回包含原始变量初始值的向量

n_constraints()

返回约束的数量

n_eq_constraints()

返回等式约束的数量

n_ineq_constraints()

返回不等式约束的数量

n_primals()

返回原始变量的数量

nnz_hessian_lag()

返回拉格朗日函数的Hessian矩阵中非零值的数量

nnz_jacobian()

返回等式约束的雅可比矩阵中非零值的数量

nnz_jacobian_eq()

返回等式约束的雅可比矩阵中非零值的数量

nnz_jacobian_ineq()

返回不等式约束的雅可比矩阵中非零值的数量

primals_lb()

返回原始变量的下界向量

Return type:

类似向量

primals_names()[source]

返回一个按原变量顺序排列的Pyomo变量名称的有序列表

primals_ub()

返回原始变量的上界向量

Return type:

类似向量

pyomo_model()[source]

返回优化模型

report_solver_status(status_code, status_message)

使用在设置方法中定义的原始和对偶值向NLP类报告求解器状态

set_duals(duals)

设置约束的对偶变量的值,以便在调用评估方法(hessian_lag)时使用。

Parameters:

duals (vector_like) – 包含等式约束对偶变量值的向量

set_duals_eq(duals_eq)

设置用于调用评估方法(hessian_lag)的等式约束的对偶变量的值

Parameters:

duals_eq (vector_like) – 包含等式约束对偶变量值的向量

set_duals_ineq(duals_ineq)

设置用于调用评估方法(hessian_lag)的不等式约束的对偶变量的值

Parameters:

duals_ineq (vector_like) – 包含不等式约束对偶变量值的向量

set_obj_factor(obj_factor)

设置目标函数因子的值,用于在调用拉格朗日函数的Hessian矩阵评估时使用(evaluate_hessian_lag)

Parameters:

obj_factor (float) – 用于评估拉格朗日函数的Hessian矩阵的目标函数因子值

set_primals(primals)

设置原始变量的值,用于调用评估方法

Parameters:

primals (vector_like) – 包含原始变量值的向量。

variable_names()[source]

已弃用。

自版本6.0.0起已弃用:此方法已被primals_names取代(将在6.0或之后移除)