AmplNLP

(class from pyomo.contrib.pynumero.interfaces.ampl_nlp)

class pyomo.contrib.pynumero.interfaces.ampl_nlp.AmplNLP(nl_file, row_filename=None, col_filename=None)[source]

Bases: AslNLP

__init__(nl_file, row_filename=None, col_filename=None)[source]

AMPL nonlinear program interface. If row_filename and col_filename are not provided, the interface will see if files exist (with same name as nl_file but the .row and .col extensions)

Parameters:
  • nl_file (str) – filename of the NL-file containing the model

  • row_filename (str, optional) – filename of .row file with identity of constraints

  • col_filename (str, optional) – filename of .col file with identity of variables

Methods

__init__(nl_file[, row_filename, col_filename])

AMPL nonlinear program interface.

constraint_idx(con_name)

Returns the index of the constraint named con_name (corresponding to the order returned by evaluate_constraints)

constraint_names()

Returns an ordered list with the names of all the constraints (corresponding to evaluate_constraints)

constraints_lb()

Returns vector of lower bounds for the constraints

constraints_ub()

Returns vector of upper bounds for the constraints

create_new_vector(vector_type)

Creates a vector of the appropriate length and structure as requested

eq_constraint_idx(con_name)

Returns the index of the equality constraint named con_name (corresponding to the order returned by evaluate_eq_constraints)

eq_constraint_names()

Returns ordered list with names of equality constraints only (corresponding to evaluate_eq_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

evaluate_objective()

Returns value of objective function evaluated at the values given for the primal variables in set_primals

get_constraints_scaling()

Return the desired scaling factors to use for the for the constraints.

get_duals()

Get a copy of the values of the dual variables as provided in set_duals.

get_duals_eq()

Get a copy of the values of the dual variables of the equality constraints as provided in set_duals_eq.

get_duals_ineq()

Get a copy of the values of the dual variables of the inequality constraints as provided in set_duals_eq.

get_eq_constraints_scaling()

Return the desired scaling factors to use for the for the equality constraints.

get_ineq_constraints_scaling()

Return the desired scaling factors to use for the for the inequality constraints.

get_obj_factor()

Get the value of the objective function factor as set by set_obj_factor.

get_obj_scaling()

Return the desired scaling factor to use for the for the objective function.

get_primals()

Get a copy of the values of the primal variables as provided in set_primals.

get_primals_scaling()

Return the desired scaling factors to use for the for the primals.

ineq_constraint_idx(con_name)

Returns the index of the inequality constraint named con_name (corresponding to the order returned by evaluate_ineq_constraints)

ineq_constraint_names()

Returns ordered list with names of inequality constraints only (corresponding to evaluate_ineq_constraints)

ineq_lb()

Returns vector of lower bounds for inequality constraints

ineq_ub()

Returns vector of upper bounds for 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

primal_idx(var_name)

Returns the index of the primal variable named var_name

primals_lb()

Returns vector of lower bounds for the primal variables

primals_names()

Returns ordered list with names of primal variables

primals_ub()

Returns vector of upper bounds for the primal variables

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

variable_idx(var_name)

DEPRECATED.

variable_names()

DEPRECATED.

Member Documentation

constraint_idx(con_name)[source]

Returns the index of the constraint named con_name (corresponding to the order returned by evaluate_constraints)

Parameters:

con_name (str) – Name of constraint

Return type:

int

constraint_names()[source]

Returns an ordered list with the names of all the constraints (corresponding to evaluate_constraints)

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:

numpy.ndarray

eq_constraint_idx(con_name)[source]

Returns the index of the equality constraint named con_name (corresponding to the order returned by evaluate_eq_constraints)

Parameters:

con_name (str) – Name of constraint

Return type:

int

eq_constraint_names()[source]

Returns ordered list with names of equality constraints only (corresponding to evaluate_eq_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:

float

get_constraints_scaling()

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_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_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()

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_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()

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

ineq_constraint_idx(con_name)[source]

Returns the index of the inequality constraint named con_name (corresponding to the order returned by evaluate_ineq_constraints)

Parameters:

con_name (str) – Name of constraint

Return type:

int

ineq_constraint_names()[source]

Returns ordered list with names of inequality constraints only (corresponding to evaluate_ineq_constraints)

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

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

primal_idx(var_name)[source]

Returns the index of the primal variable named var_name

Parameters:

var_name (str) – Name of primal variable

Return type:

int

primals_lb()

Returns vector of lower bounds for the primal variables

Return type:

vector-like

primals_names()[source]

Returns ordered list with names of primal variables

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.

variable_idx(var_name)[source]

DEPRECATED.

Deprecated since version 6.0.0: This method has been replaced with primal_idx (will be removed in (or after) 6.0)

variable_names()[source]

DEPRECATED.

Returns ordered list with names of primal variables

Deprecated since version 6.0.0: This method has been replaced with primals_names (will be removed in (or after) 6.0)