PyomoNLP
(class from pyomo.contrib.pynumero.interfaces.pyomo_nlp
)
- class pyomo.contrib.pynumero.interfaces.pyomo_nlp.PyomoNLP(pyomo_model, nl_file_options=None)[source]
Bases:
AslNLP
- __init__(pyomo_model, nl_file_options=None)[source]
Pyomo nonlinear program interface
- Parameters:
pyomo_model (pyomo.environ.ConcreteModel) – Pyomo concrete model
Methods
__init__
(pyomo_model[, nl_file_options])Pyomo nonlinear program interface
Return an ordered list of the Pyomo constraint names in the order corresponding to internal constraint order
Returns vector of lower bounds for the constraints
Returns vector of upper bounds for the constraints
create_new_vector
(vector_type)Creates a vector of the appropriate length and structure as requested
Return an ordered list of the Pyomo ConData names in the order corresponding to the equality constraints.
evaluate_constraints
([out])Returns the values for the constraints evaluated at the values given for the primal variales in set_primals
evaluate_eq_constraints
([out])Returns the values for the equality constraints evaluated at the values given for the primal variales in set_primals
evaluate_grad_objective
([out])Returns gradient of the objective function evaluated at the values given for the primal variables in set_primals
evaluate_hessian_lag
([out])Return the Hessian of the Lagrangian function evaluated at the values given for the primal variables in set_primals and the dual variables in set_duals
evaluate_ineq_constraints
([out])Returns the values of the inequality constraints evaluated at the values given for the primal variables in set_primals
evaluate_jacobian
([out])Returns the Jacobian of the constraints evaluated at the values given for the primal variables in set_primals
evaluate_jacobian_eq
([out])Returns the Jacobian of the equality constraints evaluated at the values given for the primal variables in set_primals
evaluate_jacobian_ineq
([out])Returns the Jacobian of the inequality constraints evaluated at the values given for the primal variables in set_primals
Returns value of objective function evaluated at the values given for the primal variables in set_primals
Return the submatrix of the hessian of the lagrangian that corresponds to the list of Pyomo variables provided
extract_submatrix_jacobian
(pyomo_variables, ...)Return the submatrix of the jacobian that corresponds to the list of Pyomo variables and list of Pyomo constraints provided
extract_subvector_constraints
(pyomo_constraints)Return the values of the constraints corresponding to the list of Pyomo constraints provided
extract_subvector_grad_objective
(pyomo_variables)Compute the gradient of the objective and return the entries corresponding to the given Pyomo variables
get_constraint_indices
(pyomo_constraints)Return the list of indices for the constraints corresponding to the list of Pyomo constraints provided
Return the desired scaling factors to use for the for the constraints.
Get a copy of the values of the dual variables as provided in set_duals.
Get a copy of the values of the dual variables of the equality constraints as provided in set_duals_eq.
Get a copy of the values of the dual variables of the inequality constraints as provided in set_duals_eq.
Return the desired scaling factors to use for the for the equality constraints.
get_equality_constraint_indices
(constraints)Return the list of equality indices for the constraints corresponding to the list of Pyomo constraints provided.
Return the desired scaling factors to use for the for the inequality constraints.
get_inequality_constraint_indices
(constraints)Return the list of inequality indices for the constraints corresponding to the list of Pyomo constraints provided.
Get the value of the objective function factor as set by set_obj_factor.
Return the desired scaling factor to use for the for the objective function.
get_primal_indices
(pyomo_variables)Return the list of indices for the primals corresponding to the list of Pyomo variables provided
Get a copy of the values of the primal variables as provided in set_primals.
Return the desired scaling factors to use for the for the primals.
Return an ordered list of the Pyomo ConData objects in the order corresponding to the primals
Return an ordered list of the Pyomo ConData objects in the order corresponding to the equality constraints.
Return an ordered list of the Pyomo ConData objects in the order corresponding to the inequality constraints.
Return an instance of the active objective function on the Pyomo model.
Return an ordered list of the Pyomo VarData objects in the order corresponding to the primals
ineq_lb
()Returns vector of lower bounds for inequality constraints
ineq_ub
()Returns vector of upper bounds for inequality constraints
Return an ordered list of the Pyomo ConData names in the order corresponding to the inequality constraints.
Returns vector with initial values for the dual variables of the constraints
Returns vector with initial values for the dual variables of the equality constraints
Returns vector with initial values for the dual variables of the inequality constraints
Returns vector with initial values for the primal variables
load_state_into_pyomo
([bound_multipliers])Returns number of constraints
Returns number of equality constraints
Returns number of inequality constraints
Returns number of primal variables
Returns number of nonzero values in hessian of the lagrangian function
Returns number of nonzero values in jacobian of equality constraints
Returns number of nonzero values in jacobian of equality constraints
Returns number of nonzero values in jacobian of inequality constraints
Returns vector of lower bounds for the primal variables
Return an ordered list of the Pyomo variable names in the order corresponding to the primals
Returns vector of upper bounds for the primal variables
Return optimization model
report_solver_status
(status_code, status_message)Report the solver status to NLP class using the values for the primals and duals defined in the set methods
set_duals
(duals)Set the value of the dual variables for the constraints to be used in calls to the evaluation methods (hessian_lag)
set_duals_eq
(duals_eq)Set the value of the dual variables for the equality constraints to be used in calls to the evaluation methods (hessian_lag)
set_duals_ineq
(duals_ineq)Set the value of the dual variables for the inequality constraints to be used in calls to the evaluation methods (hessian_lag)
set_obj_factor
(obj_factor)Set the value of the objective function factor to be used in calls to the evaluation of the hessian of the lagrangian (evaluate_hessian_lag)
set_primals
(primals)Set the value of the primal variables to be used in calls to the evaluation methods
DEPRECATED.
Attributes
symbol_map
Member Documentation
- constraint_names()[source]
Return an ordered list of the Pyomo constraint names in the order corresponding to internal constraint order
- constraints_lb()
Returns vector of lower bounds for the constraints
- Return type:
vector-like
- constraints_ub()
Returns vector of upper bounds for the constraints
- Return type:
vector-like
- create_new_vector(vector_type)
Creates a vector of the appropriate length and structure as requested
- Parameters:
vector_type ({'primals', 'constraints', 'eq_constraints', 'ineq_constraints',) – ‘duals’, ‘duals_eq’, ‘duals_ineq’} String identifying the appropriate vector to create.
- Return type:
- equality_constraint_names()[source]
Return an ordered list of the Pyomo ConData names in the order corresponding to the equality constraints.
- evaluate_constraints(out=None)
Returns the values for the constraints evaluated at the values given for the primal variales in set_primals
- Parameters:
out (array_like, optional) – Output array. Its type is preserved and it must be of the right shape to hold the output.
- Return type:
vector_like
- evaluate_eq_constraints(out=None)
Returns the values for the equality constraints evaluated at the values given for the primal variales in set_primals
- Parameters:
out (array_like, optional) – Output array. Its type is preserved and it must be of the right shape to hold the output.
- Return type:
vector_like
- evaluate_grad_objective(out=None)
Returns gradient of the objective function evaluated at the values given for the primal variables in set_primals
- Parameters:
out (vector_like, optional) – Output vector. Its type is preserved and it must be of the right shape to hold the output.
- Return type:
vector_like
- evaluate_hessian_lag(out=None)
Return the Hessian of the Lagrangian function evaluated at the values given for the primal variables in set_primals and the dual variables in set_duals
- Parameters:
out (matrix_like (e.g., coo_matrix), optional) – Output matrix with the structure of the hessian already defined. Optional
- Return type:
matrix_like
- evaluate_ineq_constraints(out=None)
Returns the values of the inequality constraints evaluated at the values given for the primal variables in set_primals
- Parameters:
out (array_like, optional) – Output array. Its type is preserved and it must be of the right shape to hold the output.
- Return type:
vector_like
- evaluate_jacobian(out=None)
Returns the Jacobian of the constraints evaluated at the values given for the primal variables in set_primals
- Parameters:
out (matrix_like (e.g., coo_matrix), optional) – Output matrix with the structure of the jacobian already defined.
- Return type:
matrix_like
- evaluate_jacobian_eq(out=None)
Returns the Jacobian of the equality constraints evaluated at the values given for the primal variables in set_primals
- Parameters:
out (matrix_like (e.g., coo_matrix), optional) – Output matrix with the structure of the jacobian already defined.
- Return type:
matrix_like
- evaluate_jacobian_ineq(out=None)
Returns the Jacobian of the inequality constraints evaluated at the values given for the primal variables in set_primals
- Parameters:
out (matrix_like (e.g., coo_matrix), optional) – Output matrix with the structure of the jacobian already defined.
- Return type:
matrix_like
- evaluate_objective()
Returns value of objective function evaluated at the values given for the primal variables in set_primals
- Return type:
- extract_submatrix_hessian_lag(pyomo_variables_rows, pyomo_variables_cols)[source]
Return the submatrix of the hessian of the lagrangian that corresponds to the list of Pyomo variables provided
- extract_submatrix_jacobian(pyomo_variables, pyomo_constraints)[source]
Return the submatrix of the jacobian that corresponds to the list of Pyomo variables and list of Pyomo constraints provided
- extract_subvector_constraints(pyomo_constraints)[source]
Return the values of the constraints corresponding to the list of Pyomo constraints provided
- Parameters:
pyomo_constraints (list of Pyomo Constraint or ConstraintData objects)
- extract_subvector_grad_objective(pyomo_variables)[source]
Compute the gradient of the objective and return the entries corresponding to the given Pyomo variables
- Parameters:
pyomo_variables (list of Pyomo Var or VarData objects)
- get_constraint_indices(pyomo_constraints)[source]
Return the list of indices for the constraints corresponding to the list of Pyomo constraints provided
- Parameters:
pyomo_constraints (list of Pyomo Constraint or ConstraintData objects)
- get_constraints_scaling()[source]
Return the desired scaling factors to use for the for the constraints. None indicates no scaling. This indicates potential scaling for the model, but the evaluation methods should return unscaled values
- Return type:
array-like or None
- get_duals()
Get a copy of the values of the dual variables as provided in set_duals. These are the values that will be used in calls to the evaluation methods.
- get_duals_eq()
Get a copy of the values of the dual variables of the equality constraints as provided in set_duals_eq. These are the values that will be used in calls to the evaluation methods.
- get_duals_ineq()
Get a copy of the values of the dual variables of the inequality constraints as provided in set_duals_eq. These are the values that will be used in calls to the evaluation methods.
- get_eq_constraints_scaling()
Return the desired scaling factors to use for the for the equality constraints. None indicates no scaling. This indicates potential scaling for the model, but the evaluation methods should return unscaled values
- Return type:
array-like or None
- get_equality_constraint_indices(constraints)[source]
Return the list of equality indices for the constraints corresponding to the list of Pyomo constraints provided.
- Parameters:
constraints (list of Pyomo Constraints or ConstraintData objects)
- get_ineq_constraints_scaling()
Return the desired scaling factors to use for the for the inequality constraints. None indicates no scaling. This indicates potential scaling for the model, but the evaluation methods should return unscaled values
- Return type:
array-like or None
- get_inequality_constraint_indices(constraints)[source]
Return the list of inequality indices for the constraints corresponding to the list of Pyomo constraints provided.
- Parameters:
constraints (list of Pyomo Constraints or ConstraintData objects)
- get_obj_factor()
Get the value of the objective function factor as set by set_obj_factor. This is the value that will be used in calls to the evaluation of the hessian of the lagrangian (evaluate_hessian_lag)
- get_obj_scaling()[source]
Return the desired scaling factor to use for the for the objective function. None indicates no scaling. This indicates potential scaling for the model, but the evaluation methods should return unscaled values
- Return type:
float or None
- get_primal_indices(pyomo_variables)[source]
Return the list of indices for the primals corresponding to the list of Pyomo variables provided
- Parameters:
pyomo_variables (list of Pyomo Var or VarData objects)
- get_primals()
Get a copy of the values of the primal variables as provided in set_primals. These are the values that will be used in calls to the evaluation methods
- get_primals_scaling()[source]
Return the desired scaling factors to use for the for the primals. None indicates no scaling. This indicates potential scaling for the model, but the evaluation methods should return unscaled values
- Return type:
array-like or None
- get_pyomo_constraints()[source]
Return an ordered list of the Pyomo ConData objects in the order corresponding to the primals
- get_pyomo_equality_constraints()[source]
Return an ordered list of the Pyomo ConData objects in the order corresponding to the equality constraints.
- get_pyomo_inequality_constraints()[source]
Return an ordered list of the Pyomo ConData objects in the order corresponding to the inequality constraints.
- get_pyomo_objective()[source]
Return an instance of the active objective function on the Pyomo model. (there can be only one)
- get_pyomo_variables()[source]
Return an ordered list of the Pyomo VarData objects in the order corresponding to the primals
- ineq_lb()
Returns vector of lower bounds for inequality constraints
- Return type:
vector-like
- ineq_ub()
Returns vector of upper bounds for inequality constraints
- Return type:
vector-like
- inequality_constraint_names()[source]
Return an ordered list of the Pyomo ConData names in the order corresponding to the inequality constraints.
- init_duals()
Returns vector with initial values for the dual variables of the constraints
- init_duals_eq()
Returns vector with initial values for the dual variables of the equality constraints
- init_duals_ineq()
Returns vector with initial values for the dual variables of the inequality constraints
- init_primals()
Returns vector with initial values for the primal variables
- n_constraints()
Returns number of constraints
- n_eq_constraints()
Returns number of equality constraints
- n_ineq_constraints()
Returns number of inequality constraints
- n_primals()
Returns number of primal variables
- nnz_hessian_lag()
Returns number of nonzero values in hessian of the lagrangian function
- nnz_jacobian()
Returns number of nonzero values in jacobian of equality constraints
- nnz_jacobian_eq()
Returns number of nonzero values in jacobian of equality constraints
- nnz_jacobian_ineq()
Returns number of nonzero values in jacobian of inequality constraints
- primals_lb()
Returns vector of lower bounds for the primal variables
- Return type:
vector-like
- primals_names()[source]
Return an ordered list of the Pyomo variable names in the order corresponding to the primals
- primals_ub()
Returns vector of upper bounds for the primal variables
- Return type:
vector-like
- report_solver_status(status_code, status_message)
Report the solver status to NLP class using the values for the primals and duals defined in the set methods
- set_duals(duals)
Set the value of the dual variables for the constraints to be used in calls to the evaluation methods (hessian_lag)
- Parameters:
duals (vector_like) – Vector with the values of dual variables for the equality constraints
- set_duals_eq(duals_eq)
Set the value of the dual variables for the equality constraints to be used in calls to the evaluation methods (hessian_lag)
- Parameters:
duals_eq (vector_like) – Vector with the values of dual variables for the equality constraints
- set_duals_ineq(duals_ineq)
Set the value of the dual variables for the inequality constraints to be used in calls to the evaluation methods (hessian_lag)
- Parameters:
duals_ineq (vector_like) – Vector with the values of dual variables for the inequality constraints
- set_obj_factor(obj_factor)
Set the value of the objective function factor to be used in calls to the evaluation of the hessian of the lagrangian (evaluate_hessian_lag)
- Parameters:
obj_factor (float) – Value of the objective function factor used in the evaluation of the hessian of the lagrangian
- set_primals(primals)
Set the value of the primal variables to be used in calls to the evaluation methods
- Parameters:
primals (vector_like) – Vector with the values of primal variables.