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:

Inheritance graph
[legend]
Collaboration diagram for Ipopt::TNLPAdapter:

Collaboration graph
[legend]
List of all members.

Method implementing the detection of linearly dependent

equality constraints

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)
SmartPtr< TNLPtnlp_
 Pointer to the TNLP class (class specific to Number* vectors and harwell triplet matrices).
SmartPtr< const Journalistjnlst_
 Journalist.
SmartPtr< TDependencyDetectordependency_detector_
 Object that can be used to detect linearly dependent rows in the equality constraint Jacobian.

Public Types

 MAKE_PARAMETER = 0
 MAKE_CONSTRAINT
 RELAX_BOUNDS
 NO_TEST = 0
 FIRST_ORDER_TEST
 SECOND_ORDER_TEST
 JAC_EXACT = 0
 JAC_FINDIFF_VALUES
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 }
 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)
 Method for performing the derivative test.
SmartPtr< TNLPtnlp () 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)
 Sort the primal variables, and add the fixed values in x.
void ResortBnds (const Vector &x_L, Number *x_L_orig, const Vector &x_U, Number *x_U_orig)
 Sort the primal variables, and add the fixed values in x.

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_
 Value for a lower bound that denotes -infinity.
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.
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 VectorSpacex_space_
SmartPtr< const VectorSpacec_space_
SmartPtr< const VectorSpaced_space_
SmartPtr< const VectorSpacex_l_space_
SmartPtr< const MatrixSpacepx_l_space_
SmartPtr< const VectorSpacex_u_space_
SmartPtr< const MatrixSpacepx_u_space_
SmartPtr< const VectorSpaced_l_space_
SmartPtr< const MatrixSpacepd_l_space_
SmartPtr< const VectorSpaced_u_space_
SmartPtr< const MatrixSpacepd_u_space_
SmartPtr< const MatrixSpaceJac_c_space_
SmartPtr< const MatrixSpaceJac_d_space_
SmartPtr< const SymMatrixSpaceHess_lagrangian_space_
Local Copy of the Data
Numberfull_x_
Numberfull_lambda_
 copy of the full x vector (fixed & non-fixed)
Numberfull_g_
 copy of lambda (yc & yd)
Numberjac_g_
 copy of g (c & d)
Numberc_rhs_
 the values for the full jacobian of g
Tags for deciding when to update internal copies of vectors
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< ExpansionMatrixP_x_full_x_
 Expansion from fixed x (ipopt) to full x.
SmartPtr< ExpansionMatrixSpaceP_x_full_x_space_
 Expansion from fixed x (ipopt) to full x.
SmartPtr< ExpansionMatrixP_x_x_L_
 Expansion from fixed x_L (ipopt) to full x.
SmartPtr< ExpansionMatrixSpaceP_x_x_L_space_
 Expansion from fixed x (ipopt) to full x.
SmartPtr< ExpansionMatrixP_x_x_U_
 Expansion from fixed x_U (ipopt) to full x.
SmartPtr< ExpansionMatrixSpaceP_x_x_U_space_
 Expansion from fixed x (ipopt) to full x.
SmartPtr< ExpansionMatrixSpaceP_c_g_space_
 Expansion from c only (ipopt) to full ampl c.
SmartPtr< ExpansionMatrixP_c_g_
 Expansion from fixed x (ipopt) to full x.
SmartPtr< ExpansionMatrixSpaceP_d_g_space_
 Expansion from d only (ipopt) to full ampl d.
SmartPtr< ExpansionMatrixP_d_g_
 Expansion from fixed x (ipopt) to full x.
Indexjac_idx_map_
 Expansion from fixed x (ipopt) to full x.
Indexh_idx_map_
 Expansion from fixed x (ipopt) to full x.
Indexx_fixed_map_
 Position of fixed variables.
Data for finite difference approximations of derivatives
Index findiff_jac_nnz_
 Number of unique nonzeros in constraint Jacobian.
Indexfindiff_jac_ia_
 Start position for nonzero indices in ja for each column of Jacobian.
Indexfindiff_jac_ja_
 Ordered by columns, for each column the row indices in Jacobian.
Indexfindiff_jac_postriplet_
 Position of entry in original triplet matrix.
Numberfindiff_x_l_
 Copy of the lower bounds.
Numberfindiff_x_u_
 Copy of the upper bounds.

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 

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 175 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  ) 

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 190 of file IpTNLPAdapter.hpp.

References tnlp_.

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 
)

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

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

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

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

Overloaded Equals Operator.

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 234 of file IpTNLPAdapter.hpp.

Referenced by tnlp().

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

Journalist.

Definition at line 237 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 241 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::nlp_lower_bound_inf_ [private]

Value for a lower bound that denotes -infinity.

Definition at line 246 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::nlp_upper_bound_inf_ [private]

Value for a upper bound that denotes infinity.

Definition at line 248 of file IpTNLPAdapter.hpp.

FixedVariableTreatmentEnum Ipopt::TNLPAdapter::fixed_variable_treatment_ [private]

Flag indicating how fixed variables should be handled.

Definition at line 250 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::bound_relax_factor_ [private]

Value for a lower bound that denotes -infinity.

Definition at line 252 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 260 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::derivative_test_perturbation_ [private]

Size of the perturbation for the derivative test.

Definition at line 262 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::derivative_test_tol_ [private]

Relative threshold for marking deviation from finite difference test.

Definition at line 265 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 268 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 271 of file IpTNLPAdapter.hpp.

HessianApproximationType Ipopt::TNLPAdapter::hessian_approximation_ [private]

Flag indicating what Hessian information is to be used.

Definition at line 273 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::num_linear_variables_ [private]

Number of linear variables.

Definition at line 275 of file IpTNLPAdapter.hpp.

JacobianApproxEnum Ipopt::TNLPAdapter::jacobian_approximation_ [private]

Flag indicating how Jacobian is computed.

Definition at line 277 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::findiff_perturbation_ [private]

Size of the perturbation for the derivative approximation.

Definition at line 279 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::point_perturbation_radius_ [private]

Maximal perturbation of the initial point.

Definition at line 281 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 284 of file IpTNLPAdapter.hpp.

Number Ipopt::TNLPAdapter::tol_ [private]

Overall convergence tolerance.

Definition at line 287 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::n_full_x_ [private]

full dimension of x (fixed + non-fixed)

Definition at line 293 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::n_full_g_ [private]

full dimension of g (c + d)

Definition at line 295 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::nz_jac_c_ [private]

non-zeros of the jacobian of c

Definition at line 297 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 300 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::nz_jac_d_ [private]

non-zeros of the jacobian of d

Definition at line 302 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 304 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::nz_full_h_ [private]

number of non-zeros in full-size Hessian

Definition at line 306 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::nz_h_ [private]

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

Definition at line 308 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::n_x_fixed_ [private]

Number of fixed variables.

Definition at line 310 of file IpTNLPAdapter.hpp.

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

Numbering style of variables and constraints.

Definition at line 314 of file IpTNLPAdapter.hpp.

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

Definition at line 318 of file IpTNLPAdapter.hpp.

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

Definition at line 319 of file IpTNLPAdapter.hpp.

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

Definition at line 320 of file IpTNLPAdapter.hpp.

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

Definition at line 321 of file IpTNLPAdapter.hpp.

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

Definition at line 322 of file IpTNLPAdapter.hpp.

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

Definition at line 323 of file IpTNLPAdapter.hpp.

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

Definition at line 324 of file IpTNLPAdapter.hpp.

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

Definition at line 325 of file IpTNLPAdapter.hpp.

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

Definition at line 326 of file IpTNLPAdapter.hpp.

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

Definition at line 327 of file IpTNLPAdapter.hpp.

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

Definition at line 328 of file IpTNLPAdapter.hpp.

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

Definition at line 329 of file IpTNLPAdapter.hpp.

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

Definition at line 330 of file IpTNLPAdapter.hpp.

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

Definition at line 331 of file IpTNLPAdapter.hpp.

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

Definition at line 336 of file IpTNLPAdapter.hpp.

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

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

Definition at line 337 of file IpTNLPAdapter.hpp.

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

copy of lambda (yc & yd)

Definition at line 338 of file IpTNLPAdapter.hpp.

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

copy of g (c & d)

Definition at line 339 of file IpTNLPAdapter.hpp.

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

the values for the full jacobian of g

Definition at line 340 of file IpTNLPAdapter.hpp.

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

Definition at line 345 of file IpTNLPAdapter.hpp.

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

Definition at line 346 of file IpTNLPAdapter.hpp.

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

Definition at line 347 of file IpTNLPAdapter.hpp.

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

Definition at line 348 of file IpTNLPAdapter.hpp.

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

Definition at line 349 of file IpTNLPAdapter.hpp.

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

Expansion from fixed x (ipopt) to full x.

Definition at line 376 of file IpTNLPAdapter.hpp.

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

Expansion from fixed x (ipopt) to full x.

Definition at line 377 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 380 of file IpTNLPAdapter.hpp.

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

Expansion from fixed x (ipopt) to full x.

Definition at line 381 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 384 of file IpTNLPAdapter.hpp.

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

Expansion from fixed x (ipopt) to full x.

Definition at line 385 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 388 of file IpTNLPAdapter.hpp.

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

Expansion from fixed x (ipopt) to full x.

Definition at line 389 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 392 of file IpTNLPAdapter.hpp.

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

Expansion from fixed x (ipopt) to full x.

Definition at line 393 of file IpTNLPAdapter.hpp.

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

Expansion from fixed x (ipopt) to full x.

Definition at line 395 of file IpTNLPAdapter.hpp.

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

Expansion from fixed x (ipopt) to full x.

Definition at line 396 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 399 of file IpTNLPAdapter.hpp.

Index Ipopt::TNLPAdapter::findiff_jac_nnz_ [private]

Number of unique nonzeros in constraint Jacobian.

Definition at line 405 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 408 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 411 of file IpTNLPAdapter.hpp.

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

Position of entry in original triplet matrix.

Definition at line 413 of file IpTNLPAdapter.hpp.

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

Copy of the lower bounds.

Definition at line 415 of file IpTNLPAdapter.hpp.

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

Copy of the upper bounds.

Definition at line 417 of file IpTNLPAdapter.hpp.


The documentation for this class was generated from the following file:
Generated on Sun Nov 14 14:16:16 2010 for Coin-All by  doxygen 1.4.7