# Ipopt::TNLPAdapter Class Reference

This class Adapts the TNLP interface so it looks like an NLP interface. More...

`#include <IpTNLPAdapter.hpp>`

Inheritance diagram for Ipopt::TNLPAdapter:
[legend]

List of all members.

## Public Types
enum | FixedVariableTreatmentEnum { MAKE_PARAMETER = 0, MAKE_CONSTRAINT, RELAX_BOUNDS }
| Enum for treatment of fixed variables option. More...
enum | DerivativeTestEnum { NO_TEST = 0, FIRST_ORDER_TEST, SECOND_ORDER_TEST, ONLY_SECOND_ORDER_TEST }
| Enum for specifying which derivative test is to be performed. More...
enum | JacobianApproxEnum { JAC_EXACT = 0, JAC_FINDIFF_VALUES }
| Enum for specifying technique for computing Jacobian. More...
## Public Member Functions
virtual void | GetQuasiNewtonApproximationSpaces (SmartPtr< VectorSpace > &approx_space, SmartPtr< Matrix > &P_approx)
| Method returning information on quasi-Newton approximation.
bool | CheckDerivatives (DerivativeTestEnum deriv_test, Index deriv_test_start_index)
| Method for performing the derivative test.
SmartPtr< TNLP > | tnlp () const
| Accessor method for the underlying TNLP.
Constructors/Destructors
| TNLPAdapter (const SmartPtr< TNLP > tnlp, const SmartPtr< const Journalist > jnlst=NULL)
| Default constructor.
virtual | ~TNLPAdapter ()
| Default destructor.
Exceptions
| DECLARE_STD_EXCEPTION (INVALID_TNLP)
| DECLARE_STD_EXCEPTION (ERROR_IN_TNLP_DERIVATIVE_TEST)
TNLPAdapter Initialization.
virtual bool | ProcessOptions (const OptionsList &options, const std::string &prefix)
| Overload if you want the chance to process options or parameters that may be specific to the NLP.
virtual bool | GetSpaces (SmartPtr< const VectorSpace > &x_space, SmartPtr< const VectorSpace > &c_space, SmartPtr< const VectorSpace > &d_space, SmartPtr< const VectorSpace > &x_l_space, SmartPtr< const MatrixSpace > &px_l_space, SmartPtr< const VectorSpace > &x_u_space, SmartPtr< const MatrixSpace > &px_u_space, SmartPtr< const VectorSpace > &d_l_space, SmartPtr< const MatrixSpace > &pd_l_space, SmartPtr< const VectorSpace > &d_u_space, SmartPtr< const MatrixSpace > &pd_u_space, SmartPtr< const MatrixSpace > &Jac_c_space, SmartPtr< const MatrixSpace > &Jac_d_space, SmartPtr< const SymMatrixSpace > &Hess_lagrangian_space)
| Method for creating the derived vector / matrix types (Do not delete these, the ).
virtual bool | GetBoundsInformation (const Matrix &Px_L, Vector &x_L, const Matrix &Px_U, Vector &x_U, const Matrix &Pd_L, Vector &d_L, const Matrix &Pd_U, Vector &d_U)
| Method for obtaining the bounds information.
virtual bool | GetStartingPoint (SmartPtr< Vector > x, bool need_x, SmartPtr< Vector > y_c, bool need_y_c, SmartPtr< Vector > y_d, bool need_y_d, SmartPtr< Vector > z_L, bool need_z_L, SmartPtr< Vector > z_U, bool need_z_U)
| Method for obtaining the starting point for all the iterates.
virtual bool | GetWarmStartIterate (IteratesVector &warm_start_iterate)
| Method for obtaining an entire iterate as a warmstart point.
TNLPAdapter evaluation routines.
virtual bool | Eval_f (const Vector &x, Number &f)
virtual bool | Eval_grad_f (const Vector &x, Vector &g_f)
virtual bool | Eval_c (const Vector &x, Vector &c)
virtual bool | Eval_jac_c (const Vector &x, Matrix &jac_c)
virtual bool | Eval_d (const Vector &x, Vector &d)
virtual bool | Eval_jac_d (const Vector &x, Matrix &jac_d)
virtual bool | Eval_h (const Vector &x, Number obj_factor, const Vector &yc, const Vector &yd, SymMatrix &h)
virtual void | GetScalingParameters (const SmartPtr< const VectorSpace > x_space, const SmartPtr< const VectorSpace > c_space, const SmartPtr< const VectorSpace > d_space, Number &obj_scaling, SmartPtr< Vector > &x_scaling, SmartPtr< Vector > &c_scaling, SmartPtr< Vector > &d_scaling) const
| Routines to get the scaling parameters.
Solution Reporting Methods
virtual void | FinalizeSolution (SolverReturn status, const Vector &x, const Vector &z_L, const Vector &z_U, const Vector &c, const Vector &d, const Vector &y_c, const Vector &y_d, Number obj_value, const IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)
| This method is called at the very end of the optimization.
virtual bool | IntermediateCallBack (AlgorithmMode mode, Index iter, Number obj_value, Number inf_pr, Number inf_du, Number mu, Number d_norm, Number regularization_size, Number alpha_du, Number alpha_pr, Index ls_trials, const IpoptData *ip_data, IpoptCalculatedQuantities *ip_cq)
| This method is called once per iteration, after the iteration summary output has been printed.
Methods for translating data for IpoptNLP into the TNLP
data. These methods are used to obtain the current (or final) data for the TNLP formulation from the IpoptNLP structure.
void | ResortX (const Vector &x, Number *x_orig)
| Sort the primal variables, and add the fixed values in x.
void | ResortG (const Vector &c, const Vector &d, Number *g_orig)
void | ResortBnds (const Vector &x_L, Number *x_L_orig, const Vector &x_U, Number *x_U_orig)
## Static Public Member Functions
Methods for IpoptType
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions)
## Private Member Functions
Default Compiler Generated Methods
(Hidden to avoid implicit creation/calling). These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called.
| TNLPAdapter (const TNLPAdapter &)
| Copy Constructor.
void | operator= (const TNLPAdapter &)
| Overloaded Equals Operator.
Methods to update the values in the local copies of vectors
bool | update_local_x (const Vector &x)
bool | update_local_lambda (const Vector &y_c, const Vector &y_d)
Internal routines for evaluating g and jac_g (values stored since
they are used in both c and d routines
bool | internal_eval_g (bool new_x)
bool | internal_eval_jac_g (bool new_x)
Internal methods for dealing with finite difference
approxation
void | initialize_findiff_jac (const Index *iRow, const Index *jCol)
| Initialize sparsity structure for finite difference Jacobian.
## Private Attributes
TNLP::IndexStyleEnum | index_style_
| Numbering style of variables and constraints.
Algorithmic parameters
Number | nlp_lower_bound_inf_
| Value for a lower bound that denotes -infinity.
Number | nlp_upper_bound_inf_
| Value for a upper bound that denotes infinity.
FixedVariableTreatmentEnum | fixed_variable_treatment_
| Flag indicating how fixed variables should be handled.
Number | bound_relax_factor_
DerivativeTestEnum | derivative_test_
| Enum indicating whether and which derivative test should be performed at starting point.
Number | derivative_test_perturbation_
| Size of the perturbation for the derivative test.
Number | derivative_test_tol_
| Relative threshold for marking deviation from finite difference test.
bool | derivative_test_print_all_
| Flag indicating if all test values should be printed, or only those violating the threshold.
Index | derivative_test_first_index_
| Index of first quantity to be checked.
bool | warm_start_same_structure_
| Flag indicating whether the TNLP with identical structure has already been solved before.
HessianApproximationType | hessian_approximation_
| Flag indicating what Hessian information is to be used.
Index | num_linear_variables_
| Number of linear variables.
JacobianApproxEnum | jacobian_approximation_
| Flag indicating how Jacobian is computed.
Number | findiff_perturbation_
| Size of the perturbation for the derivative approximation.
Number | point_perturbation_radius_
| Maximal perturbation of the initial point.
bool | dependency_detection_with_rhs_
| Flag indicating if rhs should be considered during dependency detection.
Number | tol_
| Overall convergence tolerance.
Problem Size Data
Index | n_full_x_
| full dimension of x (fixed + non-fixed)
Index | n_full_g_
| full dimension of g (c + d)
Index | nz_jac_c_
| non-zeros of the jacobian of c
Index | nz_jac_c_no_extra_
| non-zeros of the jacobian of c without added constraints for fixed variables.
Index | nz_jac_d_
| non-zeros of the jacobian of d
Index | nz_full_jac_g_
| number of non-zeros in full-size Jacobian of g
Index | nz_full_h_
| number of non-zeros in full-size Hessian
Index | nz_h_
| number of non-zeros in the non-fixed-size Hessian
Index | n_x_fixed_
| Number of fixed variables.
Local copy of spaces (for warm start)
SmartPtr< const VectorSpace > | x_space_
SmartPtr< const VectorSpace > | c_space_
SmartPtr< const VectorSpace > | d_space_
SmartPtr< const VectorSpace > | x_l_space_
SmartPtr< const MatrixSpace > | px_l_space_
SmartPtr< const VectorSpace > | x_u_space_
SmartPtr< const MatrixSpace > | px_u_space_
SmartPtr< const VectorSpace > | d_l_space_
SmartPtr< const MatrixSpace > | pd_l_space_
SmartPtr< const VectorSpace > | d_u_space_
SmartPtr< const MatrixSpace > | pd_u_space_
SmartPtr< const MatrixSpace > | Jac_c_space_
SmartPtr< const MatrixSpace > | Jac_d_space_
SmartPtr< const SymMatrixSpace > | Hess_lagrangian_space_
Local Copy of the Data
Number * | full_x_
Number * | full_lambda_
| copy of the full x vector (fixed & non-fixed)
Number * | full_g_
| copy of lambda (yc & yd)
Number * | jac_g_
| copy of g (c & d)
Number * | c_rhs_
| the values for the full jacobian of g
Tags for deciding when to update internal copies of vectors
the rhs values of c
TaggedObject::Tag | x_tag_for_iterates_
TaggedObject::Tag | y_c_tag_for_iterates_
TaggedObject::Tag | y_d_tag_for_iterates_
TaggedObject::Tag | x_tag_for_g_
TaggedObject::Tag | x_tag_for_jac_g_
Internal Permutation Spaces and matrices
SmartPtr< ExpansionMatrix > | P_x_full_x_
| Expansion from fixed x (ipopt) to full x.
SmartPtr< ExpansionMatrixSpace > | P_x_full_x_space_
SmartPtr< ExpansionMatrix > | P_x_x_L_
| Expansion from fixed x_L (ipopt) to full x.
SmartPtr< ExpansionMatrixSpace > | P_x_x_L_space_
SmartPtr< ExpansionMatrix > | P_x_x_U_
| Expansion from fixed x_U (ipopt) to full x.
SmartPtr< ExpansionMatrixSpace > | P_x_x_U_space_
SmartPtr< ExpansionMatrixSpace > | P_c_g_space_
| Expansion from c only (ipopt) to full ampl c.
SmartPtr< ExpansionMatrix > | P_c_g_
SmartPtr< ExpansionMatrixSpace > | P_d_g_space_
| Expansion from d only (ipopt) to full ampl d.
SmartPtr< ExpansionMatrix > | P_d_g_
Index * | jac_idx_map_
Index * | h_idx_map_
Index * | x_fixed_map_
| Position of fixed variables.
Data for finite difference approximations of derivatives
Index | findiff_jac_nnz_
| Number of unique nonzeros in constraint Jacobian.
Index * | findiff_jac_ia_
| Start position for nonzero indices in ja for each column of Jacobian.
Index * | findiff_jac_ja_
| Ordered by columns, for each column the row indices in Jacobian.
Index * | findiff_jac_postriplet_
| Position of entry in original triplet matrix.
Number * | findiff_x_l_
| Copy of the lower bounds.
Number * | findiff_x_u_
| Copy of the upper bounds.
## Method implementing the detection of linearly dependent
equality constraints
SmartPtr< TNLP > | tnlp_
| Pointer to the TNLP class (class specific to Number* vectors and harwell triplet matrices).
SmartPtr< const Journalist > | jnlst_
| Journalist.
SmartPtr< TDependencyDetector > | dependency_detector_
| Object that can be used to detect linearly dependent rows in the equality constraint Jacobian.
bool | DetermineDependentConstraints (Index n_x_var, const Index *x_not_fixed_map, const Number *x_l, const Number *x_u, const Number *g_l, const Number *g_u, Index n_c, const Index *c_map, std::list< Index > &c_deps)

## Detailed Description

This class Adapts the TNLP interface so it looks like an NLP interface.

This is an Adapter class (Design Patterns) that converts a TNLP to an NLP. This allows users to write to the "more convenient" TNLP interface.

Definition at line 30 of file IpTNLPAdapter.hpp.

## Member Enumeration Documentation

enum Ipopt::TNLPAdapter::FixedVariableTreatmentEnum

Enum for treatment of fixed variables option.

Enumerator:

  MAKE_PARAMETER |
  MAKE_CONSTRAINT |
  RELAX_BOUNDS |

Definition at line 159 of file IpTNLPAdapter.hpp.

enum Ipopt::TNLPAdapter::DerivativeTestEnum

Enum for specifying which derivative test is to be performed.

Enumerator:

  NO_TEST |
  FIRST_ORDER_TEST |
  SECOND_ORDER_TEST |
  ONLY_SECOND_ORDER_TEST |

Definition at line 167 of file IpTNLPAdapter.hpp.

enum Ipopt::TNLPAdapter::JacobianApproxEnum

Enum for specifying technique for computing Jacobian.

Enumerator:

  JAC_EXACT |
  JAC_FINDIFF_VALUES |

Definition at line 176 of file IpTNLPAdapter.hpp.

## Constructor & Destructor Documentation

Ipopt::TNLPAdapter::TNLPAdapter | ( | const SmartPtr< TNLP > | tnlp,
|  | const SmartPtr< const Journalist > | jnlst = `NULL` |
| ) |  |  |

Default constructor.

virtual Ipopt::TNLPAdapter::~TNLPAdapter | ( |  | ) | `[virtual]`

Default destructor.

Ipopt::TNLPAdapter::TNLPAdapter | ( | const TNLPAdapter & |  | ) | `[private]`

Copy Constructor.

## Member Function Documentation

Ipopt::TNLPAdapter::DECLARE_STD_EXCEPTION | ( | INVALID_TNLP |  | ) |

Ipopt::TNLPAdapter::DECLARE_STD_EXCEPTION | ( | ERROR_IN_TNLP_DERIVATIVE_TEST |  | ) |

virtual bool Ipopt::TNLPAdapter::ProcessOptions | ( | const OptionsList & | options,
|  | const std::string & | prefix |
| ) |  |  | `[virtual]`

Overload if you want the chance to process options or parameters that may be specific to the NLP.

Reimplemented from Ipopt::NLP.

virtual bool Ipopt::TNLPAdapter::GetSpaces | ( | SmartPtr< const VectorSpace > & | x_space,
|  | SmartPtr< const VectorSpace > & | c_space,
|  | SmartPtr< const VectorSpace > & | d_space,
|  | SmartPtr< const VectorSpace > & | x_l_space,
|  | SmartPtr< const MatrixSpace > & | px_l_space,
|  | SmartPtr< const VectorSpace > & | x_u_space,
|  | SmartPtr< const MatrixSpace > & | px_u_space,
|  | SmartPtr< const VectorSpace > & | d_l_space,
|  | SmartPtr< const MatrixSpace > & | pd_l_space,
|  | SmartPtr< const VectorSpace > & | d_u_space,
|  | SmartPtr< const MatrixSpace > & | pd_u_space,
|  | SmartPtr< const MatrixSpace > & | Jac_c_space,
|  | SmartPtr< const MatrixSpace > & | Jac_d_space,
|  | SmartPtr< const SymMatrixSpace > & | Hess_lagrangian_space |
| ) |  |  | `[virtual]`

Method for creating the derived vector / matrix types (Do not delete these, the ).

Implements Ipopt::NLP.

virtual bool Ipopt::TNLPAdapter::GetBoundsInformation | ( | const Matrix & | Px_L,
|  | Vector & | x_L,
|  | const Matrix & | Px_U,
|  | Vector & | x_U,
|  | const Matrix & | Pd_L,
|  | Vector & | d_L,
|  | const Matrix & | Pd_U,
|  | Vector & | d_U |
| ) |  |  | `[virtual]`

Method for obtaining the bounds information.

Implements Ipopt::NLP.

virtual bool Ipopt::TNLPAdapter::GetStartingPoint | ( | SmartPtr< Vector > | x,
|  | bool | need_x,
|  | SmartPtr< Vector > | y_c,
|  | bool | need_y_c,
|  | SmartPtr< Vector > | y_d,
|  | bool | need_y_d,
|  | SmartPtr< Vector > | z_L,
|  | bool | need_z_L,
|  | SmartPtr< Vector > | z_U,
|  | bool | need_z_U |
| ) |  |  | `[virtual]`

Method for obtaining the starting point for all the iterates.

Implements Ipopt::NLP.

virtual bool Ipopt::TNLPAdapter::GetWarmStartIterate | ( | IteratesVector & | warm_start_iterate | ) | `[virtual]`

Method for obtaining an entire iterate as a warmstart point.

The incoming IteratesVector has to be filled.

Reimplemented from Ipopt::NLP.

virtual bool Ipopt::TNLPAdapter::Eval_f | ( | const Vector & | x,
|  | Number & | f |
| ) |  |  | `[virtual]`

Implements Ipopt::NLP.

virtual bool Ipopt::TNLPAdapter::Eval_grad_f | ( | const Vector & | x,
|  | Vector & | g_f |
| ) |  |  | `[virtual]`

Implements Ipopt::NLP.

virtual bool Ipopt::TNLPAdapter::Eval_c | ( | const Vector & | x,
|  | Vector & | c |
| ) |  |  | `[virtual]`

Implements Ipopt::NLP.

virtual bool Ipopt::TNLPAdapter::Eval_jac_c | ( | const Vector & | x,
|  | Matrix & | jac_c |
| ) |  |  | `[virtual]`

Implements Ipopt::NLP.

virtual bool Ipopt::TNLPAdapter::Eval_d | ( | const Vector & | x,
|  | Vector & | d |
| ) |  |  | `[virtual]`

Implements Ipopt::NLP.

virtual bool Ipopt::TNLPAdapter::Eval_jac_d | ( | const Vector & | x,
|  | Matrix & | jac_d |
| ) |  |  | `[virtual]`

Implements Ipopt::NLP.

virtual bool Ipopt::TNLPAdapter::Eval_h | ( | const Vector & | x,
|  | Number | obj_factor,
|  | const Vector & | yc,
|  | const Vector & | yd,
|  | SymMatrix & | h |
| ) |  |  | `[virtual]`

Implements Ipopt::NLP.

virtual void Ipopt::TNLPAdapter::GetScalingParameters | ( | const SmartPtr< const VectorSpace > | x_space,
|  | const SmartPtr< const VectorSpace > | c_space,
|  | const SmartPtr< const VectorSpace > | d_space,
|  | Number & | obj_scaling,
|  | SmartPtr< Vector > & | x_scaling,
|  | SmartPtr< Vector > & | c_scaling,
|  | SmartPtr< Vector > & | d_scaling |
| ) |  |  | const`[virtual]`

Routines to get the scaling parameters.

These do not need to be overloaded unless the options are set for User scaling

Reimplemented from Ipopt::NLP.

virtual void Ipopt::TNLPAdapter::FinalizeSolution | ( | SolverReturn | status,
|  | const Vector & | x,
|  | const Vector & | z_L,
|  | const Vector & | z_U,
|  | const Vector & | c,
|  | const Vector & | d,
|  | const Vector & | y_c,
|  | const Vector & | y_d,
|  | Number | obj_value,
|  | const IpoptData * | ip_data,
|  | IpoptCalculatedQuantities * | ip_cq |
| ) |  |  | `[virtual]`

This method is called at the very end of the optimization.

It provides the final iterate to the user, so that it can be stored as the solution. The status flag indicates the outcome of the optimization, where SolverReturn is defined in IpAlgTypes.hpp.

Reimplemented from Ipopt::NLP.

virtual bool Ipopt::TNLPAdapter::IntermediateCallBack | ( | AlgorithmMode | mode,
|  | Index | iter,
|  | Number | obj_value,
|  | Number | inf_pr,
|  | Number | inf_du,
|  | Number | mu,
|  | Number | d_norm,
|  | Number | regularization_size,
|  | Number | alpha_du,
|  | Number | alpha_pr,
|  | Index | ls_trials,
|  | const IpoptData * | ip_data,
|  | IpoptCalculatedQuantities * | ip_cq |
| ) |  |  | `[virtual]`

This method is called once per iteration, after the iteration summary output has been printed.

It provides the current information to the user to do with it anything she wants. It also allows the user to ask for a premature termination of the optimization by returning false, in which case Ipopt will terminate with a corresponding return status. The basic information provided in the argument list has the quantities values printed in the iteration summary line. If more information is required, a user can obtain it from the IpData and IpCalculatedQuantities objects. However, note that the provided quantities are all for the problem that Ipopt sees, i.e., the quantities might be scaled, fixed variables might be sorted out, etc. The status indicates things like whether the algorithm is in the restoration phase... In the restoration phase, the dual variables are probably not not changing.

Reimplemented from Ipopt::NLP.

virtual void Ipopt::TNLPAdapter::GetQuasiNewtonApproximationSpaces | ( | SmartPtr< VectorSpace > & | approx_space,
|  | SmartPtr< Matrix > & | P_approx |
| ) |  |  | `[virtual]`

Method returning information on quasi-Newton approximation.

Reimplemented from Ipopt::NLP.

bool Ipopt::TNLPAdapter::CheckDerivatives | ( | DerivativeTestEnum | deriv_test,
|  | Index | deriv_test_start_index |
| ) |  |  |

Method for performing the derivative test.

static void Ipopt::TNLPAdapter::RegisterOptions | ( | SmartPtr< RegisteredOptions > | roptions | ) | `[static]`

SmartPtr<TNLP> Ipopt::TNLPAdapter::tnlp | ( |  | ) | const`[inline]`

Accessor method for the underlying TNLP.

Definition at line 192 of file IpTNLPAdapter.hpp.

void Ipopt::TNLPAdapter::ResortX | ( | const Vector & | x,
|  | Number * | x_orig |
| ) |  |  |

Sort the primal variables, and add the fixed values in x.

void Ipopt::TNLPAdapter::ResortG | ( | const Vector & | c,
|  | const Vector & | d,
|  | Number * | g_orig |
| ) |  |  |

void Ipopt::TNLPAdapter::ResortBnds | ( | const Vector & | x_L,
|  | Number * | x_L_orig,
|  | const Vector & | x_U,
|  | Number * | x_U_orig |
| ) |  |  |

void Ipopt::TNLPAdapter::operator= | ( | const TNLPAdapter & |  | ) | `[private]`

Overloaded Equals Operator.

Reimplemented from Ipopt::NLP.

bool Ipopt::TNLPAdapter::DetermineDependentConstraints | ( | Index | n_x_var,
|  | const Index * | x_not_fixed_map,
|  | const Number * | x_l,
|  | const Number * | x_u,
|  | const Number * | g_l,
|  | const Number * | g_u,
|  | Index | n_c,
|  | const Index * | c_map,
|  | std::list< Index > & | c_deps |
| ) |  |  | `[private]`

bool Ipopt::TNLPAdapter::update_local_x | ( | const Vector & | x | ) | `[private]`

bool Ipopt::TNLPAdapter::update_local_lambda | ( | const Vector & | y_c,
|  | const Vector & | y_d |
| ) |  |  | `[private]`

bool Ipopt::TNLPAdapter::internal_eval_g | ( | bool | new_x | ) | `[private]`

bool Ipopt::TNLPAdapter::internal_eval_jac_g | ( | bool | new_x | ) | `[private]`

void Ipopt::TNLPAdapter::initialize_findiff_jac | ( | const Index * | iRow,
|  | const Index * | jCol |
| ) |  |  | `[private]`

Initialize sparsity structure for finite difference Jacobian.

## Member Data Documentation

SmartPtr<TNLP> Ipopt::TNLPAdapter::tnlp_`[private]`

Pointer to the TNLP class (class specific to Number* vectors and harwell triplet matrices).

Definition at line 236 of file IpTNLPAdapter.hpp.

SmartPtr<const Journalist> Ipopt::TNLPAdapter::jnlst_`[private]`

Journalist.

Definition at line 239 of file IpTNLPAdapter.hpp.

SmartPtr<TDependencyDetector> Ipopt::TNLPAdapter::dependency_detector_`[private]`

Object that can be used to detect linearly dependent rows in the equality constraint Jacobian.

Definition at line 243 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::nlp_lower_bound_inf_`[private]`

Value for a lower bound that denotes -infinity.

Definition at line 248 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::nlp_upper_bound_inf_`[private]`

Value for a upper bound that denotes infinity.

Definition at line 250 of file IpTNLPAdapter.hpp.

FixedVariableTreatmentEnum Ipopt::TNLPAdapter::fixed_variable_treatment_`[private]`

Flag indicating how fixed variables should be handled.

Definition at line 252 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::bound_relax_factor_`[private]`

Definition at line 254 of file IpTNLPAdapter.hpp.

DerivativeTestEnum Ipopt::TNLPAdapter::derivative_test_`[private]`

Enum indicating whether and which derivative test should be performed at starting point.

Definition at line 262 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::derivative_test_perturbation_`[private]`

Size of the perturbation for the derivative test.

Definition at line 264 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::derivative_test_tol_`[private]`

Relative threshold for marking deviation from finite difference test.

Definition at line 267 of file IpTNLPAdapter.hpp.

bool Ipopt::TNLPAdapter::derivative_test_print_all_`[private]`

Flag indicating if all test values should be printed, or only those violating the threshold.

Definition at line 270 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::derivative_test_first_index_`[private]`

Index of first quantity to be checked.

Definition at line 272 of file IpTNLPAdapter.hpp.

bool Ipopt::TNLPAdapter::warm_start_same_structure_`[private]`

Flag indicating whether the TNLP with identical structure has already been solved before.

Definition at line 275 of file IpTNLPAdapter.hpp.

HessianApproximationType Ipopt::TNLPAdapter::hessian_approximation_`[private]`

Flag indicating what Hessian information is to be used.

Definition at line 277 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::num_linear_variables_`[private]`

Number of linear variables.

Definition at line 279 of file IpTNLPAdapter.hpp.

JacobianApproxEnum Ipopt::TNLPAdapter::jacobian_approximation_`[private]`

Flag indicating how Jacobian is computed.

Definition at line 281 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::findiff_perturbation_`[private]`

Size of the perturbation for the derivative approximation.

Definition at line 283 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::point_perturbation_radius_`[private]`

Maximal perturbation of the initial point.

Definition at line 285 of file IpTNLPAdapter.hpp.

bool Ipopt::TNLPAdapter::dependency_detection_with_rhs_`[private]`

Flag indicating if rhs should be considered during dependency detection.

Definition at line 288 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::tol_`[private]`

Overall convergence tolerance.

Definition at line 291 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::n_full_x_`[private]`

full dimension of x (fixed + non-fixed)

Definition at line 297 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::n_full_g_`[private]`

full dimension of g (c + d)

Definition at line 299 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::nz_jac_c_`[private]`

non-zeros of the jacobian of c

Definition at line 301 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::nz_jac_c_no_extra_`[private]`

non-zeros of the jacobian of c without added constraints for fixed variables.

Definition at line 304 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::nz_jac_d_`[private]`

non-zeros of the jacobian of d

Definition at line 306 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::nz_full_jac_g_`[private]`

number of non-zeros in full-size Jacobian of g

Definition at line 308 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::nz_full_h_`[private]`

number of non-zeros in full-size Hessian

Definition at line 310 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::nz_h_`[private]`

number of non-zeros in the non-fixed-size Hessian

Definition at line 312 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::n_x_fixed_`[private]`

Number of fixed variables.

Definition at line 314 of file IpTNLPAdapter.hpp.

TNLP::IndexStyleEnum Ipopt::TNLPAdapter::index_style_`[private]`

Numbering style of variables and constraints.

Definition at line 318 of file IpTNLPAdapter.hpp.

SmartPtr<const VectorSpace> Ipopt::TNLPAdapter::x_space_`[private]`

Definition at line 322 of file IpTNLPAdapter.hpp.

SmartPtr<const VectorSpace> Ipopt::TNLPAdapter::c_space_`[private]`

Definition at line 323 of file IpTNLPAdapter.hpp.

SmartPtr<const VectorSpace> Ipopt::TNLPAdapter::d_space_`[private]`

Definition at line 324 of file IpTNLPAdapter.hpp.

SmartPtr<const VectorSpace> Ipopt::TNLPAdapter::x_l_space_`[private]`

Definition at line 325 of file IpTNLPAdapter.hpp.

SmartPtr<const MatrixSpace> Ipopt::TNLPAdapter::px_l_space_`[private]`

Definition at line 326 of file IpTNLPAdapter.hpp.

SmartPtr<const VectorSpace> Ipopt::TNLPAdapter::x_u_space_`[private]`

Definition at line 327 of file IpTNLPAdapter.hpp.

SmartPtr<const MatrixSpace> Ipopt::TNLPAdapter::px_u_space_`[private]`

Definition at line 328 of file IpTNLPAdapter.hpp.

SmartPtr<const VectorSpace> Ipopt::TNLPAdapter::d_l_space_`[private]`

Definition at line 329 of file IpTNLPAdapter.hpp.

SmartPtr<const MatrixSpace> Ipopt::TNLPAdapter::pd_l_space_`[private]`

Definition at line 330 of file IpTNLPAdapter.hpp.

SmartPtr<const VectorSpace> Ipopt::TNLPAdapter::d_u_space_`[private]`

Definition at line 331 of file IpTNLPAdapter.hpp.

SmartPtr<const MatrixSpace> Ipopt::TNLPAdapter::pd_u_space_`[private]`

Definition at line 332 of file IpTNLPAdapter.hpp.

SmartPtr<const MatrixSpace> Ipopt::TNLPAdapter::Jac_c_space_`[private]`

Definition at line 333 of file IpTNLPAdapter.hpp.

SmartPtr<const MatrixSpace> Ipopt::TNLPAdapter::Jac_d_space_`[private]`

Definition at line 334 of file IpTNLPAdapter.hpp.

SmartPtr<const SymMatrixSpace> Ipopt::TNLPAdapter::Hess_lagrangian_space_`[private]`

Definition at line 335 of file IpTNLPAdapter.hpp.

Number* Ipopt::TNLPAdapter::full_x_`[private]`

Definition at line 340 of file IpTNLPAdapter.hpp.

Number* Ipopt::TNLPAdapter::full_lambda_`[private]`

copy of the full x vector (fixed & non-fixed)

Definition at line 341 of file IpTNLPAdapter.hpp.

Number* Ipopt::TNLPAdapter::full_g_`[private]`

copy of lambda (yc & yd)

Definition at line 342 of file IpTNLPAdapter.hpp.

Number* Ipopt::TNLPAdapter::jac_g_`[private]`

copy of g (c & d)

Definition at line 343 of file IpTNLPAdapter.hpp.

Number* Ipopt::TNLPAdapter::c_rhs_`[private]`

the values for the full jacobian of g

Definition at line 344 of file IpTNLPAdapter.hpp.

TaggedObject::Tag Ipopt::TNLPAdapter::x_tag_for_iterates_`[private]`

Definition at line 349 of file IpTNLPAdapter.hpp.

TaggedObject::Tag Ipopt::TNLPAdapter::y_c_tag_for_iterates_`[private]`

Definition at line 350 of file IpTNLPAdapter.hpp.

TaggedObject::Tag Ipopt::TNLPAdapter::y_d_tag_for_iterates_`[private]`

Definition at line 351 of file IpTNLPAdapter.hpp.

TaggedObject::Tag Ipopt::TNLPAdapter::x_tag_for_g_`[private]`

Definition at line 352 of file IpTNLPAdapter.hpp.

TaggedObject::Tag Ipopt::TNLPAdapter::x_tag_for_jac_g_`[private]`

Definition at line 353 of file IpTNLPAdapter.hpp.

SmartPtr<ExpansionMatrix> Ipopt::TNLPAdapter::P_x_full_x_`[private]`

Expansion from fixed x (ipopt) to full x.

Definition at line 380 of file IpTNLPAdapter.hpp.

SmartPtr<ExpansionMatrixSpace> Ipopt::TNLPAdapter::P_x_full_x_space_`[private]`

Definition at line 381 of file IpTNLPAdapter.hpp.

SmartPtr<ExpansionMatrix> Ipopt::TNLPAdapter::P_x_x_L_`[private]`

Expansion from fixed x_L (ipopt) to full x.

Definition at line 384 of file IpTNLPAdapter.hpp.

SmartPtr<ExpansionMatrixSpace> Ipopt::TNLPAdapter::P_x_x_L_space_`[private]`

Definition at line 385 of file IpTNLPAdapter.hpp.

SmartPtr<ExpansionMatrix> Ipopt::TNLPAdapter::P_x_x_U_`[private]`

Expansion from fixed x_U (ipopt) to full x.

Definition at line 388 of file IpTNLPAdapter.hpp.

SmartPtr<ExpansionMatrixSpace> Ipopt::TNLPAdapter::P_x_x_U_space_`[private]`

Definition at line 389 of file IpTNLPAdapter.hpp.

SmartPtr<ExpansionMatrixSpace> Ipopt::TNLPAdapter::P_c_g_space_`[private]`

Expansion from c only (ipopt) to full ampl c.

Definition at line 392 of file IpTNLPAdapter.hpp.

SmartPtr<ExpansionMatrix> Ipopt::TNLPAdapter::P_c_g_`[private]`

Definition at line 393 of file IpTNLPAdapter.hpp.

SmartPtr<ExpansionMatrixSpace> Ipopt::TNLPAdapter::P_d_g_space_`[private]`

Expansion from d only (ipopt) to full ampl d.

Definition at line 396 of file IpTNLPAdapter.hpp.

SmartPtr<ExpansionMatrix> Ipopt::TNLPAdapter::P_d_g_`[private]`

Definition at line 397 of file IpTNLPAdapter.hpp.

Index* Ipopt::TNLPAdapter::jac_idx_map_`[private]`

Definition at line 399 of file IpTNLPAdapter.hpp.

Index* Ipopt::TNLPAdapter::h_idx_map_`[private]`

Definition at line 400 of file IpTNLPAdapter.hpp.

Index* Ipopt::TNLPAdapter::x_fixed_map_`[private]`

Position of fixed variables.

This is required for a warm start

Definition at line 403 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::findiff_jac_nnz_`[private]`

Number of unique nonzeros in constraint Jacobian.

Definition at line 409 of file IpTNLPAdapter.hpp.

Index* Ipopt::TNLPAdapter::findiff_jac_ia_`[private]`

Start position for nonzero indices in ja for each column of Jacobian.

Definition at line 412 of file IpTNLPAdapter.hpp.

Index* Ipopt::TNLPAdapter::findiff_jac_ja_`[private]`

Ordered by columns, for each column the row indices in Jacobian.

Definition at line 415 of file IpTNLPAdapter.hpp.

Index* Ipopt::TNLPAdapter::findiff_jac_postriplet_`[private]`

Position of entry in original triplet matrix.

Definition at line 417 of file IpTNLPAdapter.hpp.

Number* Ipopt::TNLPAdapter::findiff_x_l_`[private]`

Copy of the lower bounds.

Definition at line 419 of file IpTNLPAdapter.hpp.

Number* Ipopt::TNLPAdapter::findiff_x_u_`[private]`

Copy of the upper bounds.

Definition at line 421 of file IpTNLPAdapter.hpp.

The documentation for this class was generated from the following file:

- src/Interfaces/IpTNLPAdapter.hpp

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines