Ipopt  3.12.12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Attributes | List of all members
Ipopt::IpoptCalculatedQuantities Class Reference

Class for all IPOPT specific calculated quantities. More...

#include <IpIpoptCalculatedQuantities.hpp>

+ Inheritance diagram for Ipopt::IpoptCalculatedQuantities:

Public Member Functions

void SetAddCq (SmartPtr< IpoptAdditionalCq > add_cq)
 Method for setting pointer for additional calculated quantities. More...
 
bool HaveAddCq ()
 Method detecting if additional object for calculated quantities has already been set. More...
 
bool Initialize (const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
 This method must be called to initialize the global algorithmic parameters. More...
 
Number curr_avrg_compl ()
 average of current values of the complementarities More...
 
Number trial_avrg_compl ()
 average of trial values of the complementarities More...
 
Number curr_gradBarrTDelta ()
 inner_product of current barrier obj. More...
 
Number CalcNormOfType (ENormType NormType, std::vector< SmartPtr< const Vector > > vecs)
 Compute the norm of a specific type of a set of vectors (uncached) More...
 
Number CalcNormOfType (ENormType NormType, const Vector &vec1, const Vector &vec2)
 Compute the norm of a specific type of two vectors (uncached) More...
 
ENormType constr_viol_normtype () const
 Norm type used for calculating constraint violation. More...
 
bool IsSquareProblem () const
 Method returning true if this is a square problem. More...
 
SmartPtr< IpoptNLP > & GetIpoptNLP ()
 Method returning the IpoptNLP object. More...
 
IpoptAdditionalCqAdditionalCq ()
 
Constructors/Destructors
 IpoptCalculatedQuantities (const SmartPtr< IpoptNLP > &ip_nlp, const SmartPtr< IpoptData > &ip_data)
 Constructor. More...
 
virtual ~IpoptCalculatedQuantities ()
 Default destructor. More...
 
Slacks
SmartPtr< const Vectorcurr_slack_x_L ()
 Slacks for x_L (at current iterate) More...
 
SmartPtr< const Vectorcurr_slack_x_U ()
 Slacks for x_U (at current iterate) More...
 
SmartPtr< const Vectorcurr_slack_s_L ()
 Slacks for s_L (at current iterate) More...
 
SmartPtr< const Vectorcurr_slack_s_U ()
 Slacks for s_U (at current iterate) More...
 
SmartPtr< const Vectortrial_slack_x_L ()
 Slacks for x_L (at trial point) More...
 
SmartPtr< const Vectortrial_slack_x_U ()
 Slacks for x_U (at trial point) More...
 
SmartPtr< const Vectortrial_slack_s_L ()
 Slacks for s_L (at trial point) More...
 
SmartPtr< const Vectortrial_slack_s_U ()
 Slacks for s_U (at trial point) More...
 
Index AdjustedTrialSlacks ()
 Indicating whether or not we "fudged" the slacks. More...
 
void ResetAdjustedTrialSlacks ()
 Reset the flags for "fudged" slacks. More...
 
Objective function
virtual Number curr_f ()
 Value of objective function (at current point) More...
 
virtual Number unscaled_curr_f ()
 Unscaled value of the objective function (at the current point) More...
 
virtual Number trial_f ()
 Value of objective function (at trial point) More...
 
virtual Number unscaled_trial_f ()
 Unscaled value of the objective function (at the trial point) More...
 
SmartPtr< const Vectorcurr_grad_f ()
 Gradient of objective function (at current point) More...
 
SmartPtr< const Vectortrial_grad_f ()
 Gradient of objective function (at trial point) More...
 
Barrier Objective Function
virtual Number curr_barrier_obj ()
 Barrier Objective Function Value (at current iterate with current mu) More...
 
virtual Number trial_barrier_obj ()
 Barrier Objective Function Value (at trial point with current mu) More...
 
SmartPtr< const Vectorcurr_grad_barrier_obj_x ()
 Gradient of barrier objective function with respect to x (at current point with current mu) More...
 
SmartPtr< const Vectorcurr_grad_barrier_obj_s ()
 Gradient of barrier objective function with respect to s (at current point with current mu) More...
 
SmartPtr< const Vectorgrad_kappa_times_damping_x ()
 Gradient of the damping term with respect to x (times kappa_d) More...
 
SmartPtr< const Vectorgrad_kappa_times_damping_s ()
 Gradient of the damping term with respect to s (times kappa_d) More...
 
Constraints
SmartPtr< const Vectorcurr_c ()
 c(x) (at current point) More...
 
SmartPtr< const Vectorunscaled_curr_c ()
 unscaled c(x) (at current point) More...
 
SmartPtr< const Vectortrial_c ()
 c(x) (at trial point) More...
 
SmartPtr< const Vectorunscaled_trial_c ()
 unscaled c(x) (at trial point) More...
 
SmartPtr< const Vectorcurr_d ()
 d(x) (at current point) More...
 
SmartPtr< const Vectorunscaled_curr_d ()
 unscaled d(x) (at current point) More...
 
SmartPtr< const Vectortrial_d ()
 d(x) (at trial point) More...
 
SmartPtr< const Vectorcurr_d_minus_s ()
 d(x) - s (at current point) More...
 
SmartPtr< const Vectortrial_d_minus_s ()
 d(x) - s (at trial point) More...
 
SmartPtr< const Matrixcurr_jac_c ()
 Jacobian of c (at current point) More...
 
SmartPtr< const Matrixtrial_jac_c ()
 Jacobian of c (at trial point) More...
 
SmartPtr< const Matrixcurr_jac_d ()
 Jacobian of d (at current point) More...
 
SmartPtr< const Matrixtrial_jac_d ()
 Jacobian of d (at trial point) More...
 
SmartPtr< const Vectorcurr_jac_cT_times_vec (const Vector &vec)
 Product of Jacobian (evaluated at current point) of C transpose with general vector. More...
 
SmartPtr< const Vectortrial_jac_cT_times_vec (const Vector &vec)
 Product of Jacobian (evaluated at trial point) of C transpose with general vector. More...
 
SmartPtr< const Vectorcurr_jac_dT_times_vec (const Vector &vec)
 Product of Jacobian (evaluated at current point) of D transpose with general vector. More...
 
SmartPtr< const Vectortrial_jac_dT_times_vec (const Vector &vec)
 Product of Jacobian (evaluated at trial point) of D transpose with general vector. More...
 
SmartPtr< const Vectorcurr_jac_cT_times_curr_y_c ()
 Product of Jacobian (evaluated at current point) of C transpose with current y_c. More...
 
SmartPtr< const Vectortrial_jac_cT_times_trial_y_c ()
 Product of Jacobian (evaluated at trial point) of C transpose with trial y_c. More...
 
SmartPtr< const Vectorcurr_jac_dT_times_curr_y_d ()
 Product of Jacobian (evaluated at current point) of D transpose with current y_d. More...
 
SmartPtr< const Vectortrial_jac_dT_times_trial_y_d ()
 Product of Jacobian (evaluated at trial point) of D transpose with trial y_d. More...
 
SmartPtr< const Vectorcurr_jac_c_times_vec (const Vector &vec)
 Product of Jacobian (evaluated at current point) of C with general vector. More...
 
SmartPtr< const Vectorcurr_jac_d_times_vec (const Vector &vec)
 Product of Jacobian (evaluated at current point) of D with general vector. More...
 
virtual Number curr_constraint_violation ()
 Constraint Violation (at current iterate). More...
 
virtual Number trial_constraint_violation ()
 Constraint Violation (at trial point). More...
 
virtual Number curr_nlp_constraint_violation (ENormType NormType)
 Real constraint violation in a given norm (at current iterate). More...
 
virtual Number unscaled_curr_nlp_constraint_violation (ENormType NormType)
 Unscaled real constraint violation in a given norm (at current iterate). More...
 
virtual Number unscaled_trial_nlp_constraint_violation (ENormType NormType)
 Unscaled real constraint violation in a given norm (at trial iterate). More...
 
Hessian matrices
SmartPtr< const SymMatrixcurr_exact_hessian ()
 exact Hessian at current iterate (uncached) More...
 
primal-dual error and its components
SmartPtr< const Vectorcurr_grad_lag_x ()
 x-part of gradient of Lagrangian function (at current point) More...
 
SmartPtr< const Vectortrial_grad_lag_x ()
 x-part of gradient of Lagrangian function (at trial point) More...
 
SmartPtr< const Vectorcurr_grad_lag_s ()
 s-part of gradient of Lagrangian function (at current point) More...
 
SmartPtr< const Vectortrial_grad_lag_s ()
 s-part of gradient of Lagrangian function (at trial point) More...
 
SmartPtr< const Vectorcurr_grad_lag_with_damping_x ()
 
x-part of gradient of Lagrangian function (at current point)

including linear damping term More...

 
SmartPtr< const Vectorcurr_grad_lag_with_damping_s ()
 
s-part of gradient of Lagrangian function (at current point)

including linear damping term More...

 
SmartPtr< const Vectorcurr_compl_x_L ()
 Complementarity for x_L (for current iterate) More...
 
SmartPtr< const Vectorcurr_compl_x_U ()
 Complementarity for x_U (for current iterate) More...
 
SmartPtr< const Vectorcurr_compl_s_L ()
 Complementarity for s_L (for current iterate) More...
 
SmartPtr< const Vectorcurr_compl_s_U ()
 Complementarity for s_U (for current iterate) More...
 
SmartPtr< const Vectortrial_compl_x_L ()
 Complementarity for x_L (for trial iterate) More...
 
SmartPtr< const Vectortrial_compl_x_U ()
 Complementarity for x_U (for trial iterate) More...
 
SmartPtr< const Vectortrial_compl_s_L ()
 Complementarity for s_L (for trial iterate) More...
 
SmartPtr< const Vectortrial_compl_s_U ()
 Complementarity for s_U (for trial iterate) More...
 
SmartPtr< const Vectorcurr_relaxed_compl_x_L ()
 Relaxed complementarity for x_L (for current iterate and current mu) More...
 
SmartPtr< const Vectorcurr_relaxed_compl_x_U ()
 Relaxed complementarity for x_U (for current iterate and current mu) More...
 
SmartPtr< const Vectorcurr_relaxed_compl_s_L ()
 Relaxed complementarity for s_L (for current iterate and current mu) More...
 
SmartPtr< const Vectorcurr_relaxed_compl_s_U ()
 Relaxed complementarity for s_U (for current iterate and current mu) More...
 
virtual Number curr_primal_infeasibility (ENormType NormType)
 Primal infeasibility in a given norm (at current iterate). More...
 
virtual Number trial_primal_infeasibility (ENormType NormType)
 Primal infeasibility in a given norm (at trial point) More...
 
virtual Number curr_dual_infeasibility (ENormType NormType)
 Dual infeasibility in a given norm (at current iterate) More...
 
virtual Number trial_dual_infeasibility (ENormType NormType)
 Dual infeasibility in a given norm (at trial iterate) More...
 
virtual Number unscaled_curr_dual_infeasibility (ENormType NormType)
 Unscaled dual infeasibility in a given norm (at current iterate) More...
 
virtual Number curr_complementarity (Number mu, ENormType NormType)
 Complementarity (for all complementarity conditions together) in a given norm (at current iterate) More...
 
virtual Number trial_complementarity (Number mu, ENormType NormType)
 Complementarity (for all complementarity conditions together) in a given norm (at trial iterate) More...
 
virtual Number unscaled_curr_complementarity (Number mu, ENormType NormType)
 Complementarity (for all complementarity conditions together) in a given norm (at current iterate) without NLP scaling. More...
 
Number CalcCentralityMeasure (const Vector &compl_x_L, const Vector &compl_x_U, const Vector &compl_s_L, const Vector &compl_s_U)
 Centrality measure (in spirit of the -infinity-neighborhood. More...
 
virtual Number curr_centrality_measure ()
 Centrality measure at current point. More...
 
virtual Number curr_nlp_error ()
 Total optimality error for the original NLP at the current iterate, using scaling factors based on multipliers. More...
 
virtual Number unscaled_curr_nlp_error ()
 Total optimality error for the original NLP at the current iterate, but using no scaling based on multipliers, and no scaling for the NLP. More...
 
virtual Number curr_barrier_error ()
 Total optimality error for the barrier problem at the current iterate, using scaling factors based on multipliers. More...
 
virtual Number curr_primal_dual_system_error (Number mu)
 Norm of the primal-dual system for a given mu (at current iterate). More...
 
virtual Number trial_primal_dual_system_error (Number mu)
 Norm of the primal-dual system for a given mu (at trial iterate). More...
 
Computing fraction-to-the-boundary step sizes
Number primal_frac_to_the_bound (Number tau, const Vector &delta_x, const Vector &delta_s)
 Fraction to the boundary from (current) primal variables x and s for a given step. More...
 
Number curr_primal_frac_to_the_bound (Number tau)
 Fraction to the boundary from (current) primal variables x and s for internal (current) step. More...
 
Number dual_frac_to_the_bound (Number tau, const Vector &delta_z_L, const Vector &delta_z_U, const Vector &delta_v_L, const Vector &delta_v_U)
 Fraction to the boundary from (current) dual variables z and v for a given step. More...
 
Number uncached_dual_frac_to_the_bound (Number tau, const Vector &delta_z_L, const Vector &delta_z_U, const Vector &delta_v_L, const Vector &delta_v_U)
 Fraction to the boundary from (current) dual variables z and v for a given step, without caching. More...
 
Number curr_dual_frac_to_the_bound (Number tau)
 Fraction to the boundary from (current) dual variables z and v for internal (current) step. More...
 
Number uncached_slack_frac_to_the_bound (Number tau, const Vector &delta_x_L, const Vector &delta_x_U, const Vector &delta_s_L, const Vector &delta_s_U)
 Fraction to the boundary from (current) slacks for a given step in the slacks. More...
 
Sigma matrices
SmartPtr< const Vectorcurr_sigma_x ()
 
SmartPtr< const Vectorcurr_sigma_s ()
 
- Public Member Functions inherited from Ipopt::ReferencedObject
 ReferencedObject ()
 
virtual ~ReferencedObject ()
 
Index ReferenceCount () const
 
void AddRef (const Referencer *referencer) const
 
void ReleaseRef (const Referencer *referencer) const
 

Static Public Member Functions

static void RegisterOptions (SmartPtr< RegisteredOptions > roptions)
 Methods for IpoptType. More...
 

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.

 IpoptCalculatedQuantities ()
 Default Constructor. More...
 
 IpoptCalculatedQuantities (const IpoptCalculatedQuantities &)
 Copy Constructor. More...
 
void operator= (const IpoptCalculatedQuantities &)
 Overloaded Equals Operator. More...
 
Auxiliary functions
SmartPtr< VectorCalcSlack_L (const Matrix &P, const Vector &x, const Vector &x_bound)
 Compute new vector containing the slack to a lower bound (uncached) More...
 
SmartPtr< VectorCalcSlack_U (const Matrix &P, const Vector &x, const Vector &x_bound)
 Compute new vector containing the slack to a upper bound (uncached) More...
 
Number CalcBarrierTerm (Number mu, const Vector &slack_x_L, const Vector &slack_x_U, const Vector &slack_s_L, const Vector &slack_s_U)
 Compute barrier term at given point (uncached) More...
 
SmartPtr< const VectorCalcCompl (const Vector &slack, const Vector &mult)
 Compute complementarity for slack / multiplier pair. More...
 
Number CalcFracToBound (const Vector &slack_L, Vector &tmp_L, const Matrix &P_L, const Vector &slack_U, Vector &tmp_U, const Matrix &P_U, const Vector &delta, Number tau)
 Compute fraction to the boundary parameter for lower and upper bounds. More...
 
void ComputeOptimalityErrorScaling (const Vector &y_c, const Vector &y_d, const Vector &z_L, const Vector &z_U, const Vector &v_L, const Vector &v_U, Number s_max, Number &s_d, Number &s_c)
 Compute the scaling factors for the optimality error. More...
 
Index CalculateSafeSlack (SmartPtr< Vector > &slack, const SmartPtr< const Vector > &bound, const SmartPtr< const Vector > &curr_point, const SmartPtr< const Vector > &multiplier)
 Check if slacks are becoming too small. More...
 
void ComputeDampingIndicators (SmartPtr< const Vector > &dampind_x_L, SmartPtr< const Vector > &dampind_x_U, SmartPtr< const Vector > &dampind_s_L, SmartPtr< const Vector > &dampind_s_U)
 Computes the indicator vectors that can be used to filter out those entries in the slack_... More...
 
bool in_restoration_phase ()
 Check if we are in the restoration phase. More...
 

Private Attributes

CachedResults< SmartPtr< const
SymMatrix > > 
curr_exact_hessian_cache_
 Cache for the exact Hessian. More...
 
CachedResults< Numbercurr_avrg_compl_cache_
 Cache for average of current complementarity. More...
 
CachedResults< Numbertrial_avrg_compl_cache_
 Cache for average of trial complementarity. More...
 
CachedResults< Numbercurr_gradBarrTDelta_cache_
 Cache for grad barrier obj. More...
 
bool initialize_called_
 flag indicating if Initialize method has been called (for debugging) More...
 
Pointers for easy access to data and NLP information
SmartPtr< IpoptNLPip_nlp_
 Ipopt NLP object. More...
 
SmartPtr< IpoptDataip_data_
 Ipopt Data object. More...
 
SmartPtr< IpoptAdditionalCqadd_cq_
 Chen-Goldfarb specific calculated quantities. More...
 
Algorithmic Parameters that can be set throught the

options list.

Those parameters are initialize by calling the Initialize method.

Number s_max_
 Parameter in formula for computing overall primal-dual optimality error. More...
 
Number kappa_d_
 Weighting factor for the linear damping term added to the barrier objective funciton. More...
 
Number slack_move_
 fractional movement allowed in bounds More...
 
ENormType constr_viol_normtype_
 Norm type to be used when calculating the constraint violation. More...
 
bool warm_start_same_structure_
 Flag indicating whether the TNLP with identical structure has already been solved before. More...
 
Number mu_target_
 Desired value of the barrier parameter. More...
 
Caches for slacks
CachedResults< SmartPtr< Vector > > curr_slack_x_L_cache_
 
CachedResults< SmartPtr< Vector > > curr_slack_x_U_cache_
 
CachedResults< SmartPtr< Vector > > curr_slack_s_L_cache_
 
CachedResults< SmartPtr< Vector > > curr_slack_s_U_cache_
 
CachedResults< SmartPtr< Vector > > trial_slack_x_L_cache_
 
CachedResults< SmartPtr< Vector > > trial_slack_x_U_cache_
 
CachedResults< SmartPtr< Vector > > trial_slack_s_L_cache_
 
CachedResults< SmartPtr< Vector > > trial_slack_s_U_cache_
 
Index num_adjusted_slack_x_L_
 
Index num_adjusted_slack_x_U_
 
Index num_adjusted_slack_s_L_
 
Index num_adjusted_slack_s_U_
 
Cached for objective function stuff
CachedResults< Numbercurr_f_cache_
 
CachedResults< Numbertrial_f_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_grad_f_cache_
 
CachedResults< SmartPtr< const
Vector > > 
trial_grad_f_cache_
 
Caches for barrier function stuff
CachedResults< Numbercurr_barrier_obj_cache_
 
CachedResults< Numbertrial_barrier_obj_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_grad_barrier_obj_x_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_grad_barrier_obj_s_cache_
 
CachedResults< SmartPtr< const
Vector > > 
grad_kappa_times_damping_x_cache_
 
CachedResults< SmartPtr< const
Vector > > 
grad_kappa_times_damping_s_cache_
 
Caches for constraint stuff
CachedResults< SmartPtr< const
Vector > > 
curr_c_cache_
 
CachedResults< SmartPtr< const
Vector > > 
trial_c_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_d_cache_
 
CachedResults< SmartPtr< const
Vector > > 
trial_d_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_d_minus_s_cache_
 
CachedResults< SmartPtr< const
Vector > > 
trial_d_minus_s_cache_
 
CachedResults< SmartPtr< const
Matrix > > 
curr_jac_c_cache_
 
CachedResults< SmartPtr< const
Matrix > > 
trial_jac_c_cache_
 
CachedResults< SmartPtr< const
Matrix > > 
curr_jac_d_cache_
 
CachedResults< SmartPtr< const
Matrix > > 
trial_jac_d_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_jac_cT_times_vec_cache_
 
CachedResults< SmartPtr< const
Vector > > 
trial_jac_cT_times_vec_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_jac_dT_times_vec_cache_
 
CachedResults< SmartPtr< const
Vector > > 
trial_jac_dT_times_vec_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_jac_c_times_vec_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_jac_d_times_vec_cache_
 
CachedResults< Numbercurr_constraint_violation_cache_
 
CachedResults< Numbertrial_constraint_violation_cache_
 
CachedResults< Numbercurr_nlp_constraint_violation_cache_
 
CachedResults< Numberunscaled_curr_nlp_constraint_violation_cache_
 
CachedResults< Numberunscaled_trial_nlp_constraint_violation_cache_
 
Components of primal-dual error
CachedResults< SmartPtr< const
Vector > > 
curr_grad_lag_x_cache_
 
CachedResults< SmartPtr< const
Vector > > 
trial_grad_lag_x_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_grad_lag_s_cache_
 
CachedResults< SmartPtr< const
Vector > > 
trial_grad_lag_s_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_grad_lag_with_damping_x_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_grad_lag_with_damping_s_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_compl_x_L_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_compl_x_U_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_compl_s_L_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_compl_s_U_cache_
 
CachedResults< SmartPtr< const
Vector > > 
trial_compl_x_L_cache_
 
CachedResults< SmartPtr< const
Vector > > 
trial_compl_x_U_cache_
 
CachedResults< SmartPtr< const
Vector > > 
trial_compl_s_L_cache_
 
CachedResults< SmartPtr< const
Vector > > 
trial_compl_s_U_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_relaxed_compl_x_L_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_relaxed_compl_x_U_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_relaxed_compl_s_L_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_relaxed_compl_s_U_cache_
 
CachedResults< Numbercurr_primal_infeasibility_cache_
 
CachedResults< Numbertrial_primal_infeasibility_cache_
 
CachedResults< Numbercurr_dual_infeasibility_cache_
 
CachedResults< Numbertrial_dual_infeasibility_cache_
 
CachedResults< Numberunscaled_curr_dual_infeasibility_cache_
 
CachedResults< Numbercurr_complementarity_cache_
 
CachedResults< Numbertrial_complementarity_cache_
 
CachedResults< Numbercurr_centrality_measure_cache_
 
CachedResults< Numbercurr_nlp_error_cache_
 
CachedResults< Numberunscaled_curr_nlp_error_cache_
 
CachedResults< Numbercurr_barrier_error_cache_
 
CachedResults< Numbercurr_primal_dual_system_error_cache_
 
CachedResults< Numbertrial_primal_dual_system_error_cache_
 
Caches for fraction to the boundary step sizes
CachedResults< Numberprimal_frac_to_the_bound_cache_
 
CachedResults< Numberdual_frac_to_the_bound_cache_
 
Caches for sigma matrices
CachedResults< SmartPtr< const
Vector > > 
curr_sigma_x_cache_
 
CachedResults< SmartPtr< const
Vector > > 
curr_sigma_s_cache_
 
Indicator vectors required for the linear damping terms

to handle unbounded solution sets.

SmartPtr< Vectordampind_x_L_
 Indicator vector for selecting the elements in x that have only lower bounds. More...
 
SmartPtr< Vectordampind_x_U_
 Indicator vector for selecting the elements in x that have only upper bounds. More...
 
SmartPtr< Vectordampind_s_L_
 Indicator vector for selecting the elements in s that have only lower bounds. More...
 
SmartPtr< Vectordampind_s_U_
 Indicator vector for selecting the elements in s that have only upper bounds. More...
 

Temporary vectors for intermediate calcuations. We keep

these around to avoid unnecessarily many new allocations of Vectors.

SmartPtr< Vectortmp_x_
 
SmartPtr< Vectortmp_s_
 
SmartPtr< Vectortmp_c_
 
SmartPtr< Vectortmp_d_
 
SmartPtr< Vectortmp_x_L_
 
SmartPtr< Vectortmp_x_U_
 
SmartPtr< Vectortmp_s_L_
 
SmartPtr< Vectortmp_s_U_
 
VectorTmp_x ()
 Accessor methods for the temporary vectors. More...
 
VectorTmp_s ()
 
VectorTmp_c ()
 
VectorTmp_d ()
 
VectorTmp_x_L ()
 
VectorTmp_x_U ()
 
VectorTmp_s_L ()
 
VectorTmp_s_U ()
 

Detailed Description

Class for all IPOPT specific calculated quantities.

Definition at line 81 of file IpIpoptCalculatedQuantities.hpp.

Constructor & Destructor Documentation

Ipopt::IpoptCalculatedQuantities::IpoptCalculatedQuantities ( const SmartPtr< IpoptNLP > &  ip_nlp,
const SmartPtr< IpoptData > &  ip_data 
)

Constructor.

virtual Ipopt::IpoptCalculatedQuantities::~IpoptCalculatedQuantities ( )
virtual

Default destructor.

Ipopt::IpoptCalculatedQuantities::IpoptCalculatedQuantities ( )
private

Default Constructor.

Ipopt::IpoptCalculatedQuantities::IpoptCalculatedQuantities ( const IpoptCalculatedQuantities )
private

Copy Constructor.

Member Function Documentation

void Ipopt::IpoptCalculatedQuantities::SetAddCq ( SmartPtr< IpoptAdditionalCq add_cq)
inline

Method for setting pointer for additional calculated quantities.

This needs to be called before Initialized.

Definition at line 96 of file IpIpoptCalculatedQuantities.hpp.

bool Ipopt::IpoptCalculatedQuantities::HaveAddCq ( )
inline

Method detecting if additional object for calculated quantities has already been set.

Definition at line 104 of file IpIpoptCalculatedQuantities.hpp.

bool Ipopt::IpoptCalculatedQuantities::Initialize ( const Journalist jnlst,
const OptionsList options,
const std::string &  prefix 
)

This method must be called to initialize the global algorithmic parameters.

The parameters are taken from the OptionsList object.

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_slack_x_L ( )

Slacks for x_L (at current iterate)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_slack_x_U ( )

Slacks for x_U (at current iterate)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_slack_s_L ( )

Slacks for s_L (at current iterate)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_slack_s_U ( )

Slacks for s_U (at current iterate)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_slack_x_L ( )

Slacks for x_L (at trial point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_slack_x_U ( )

Slacks for x_U (at trial point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_slack_s_L ( )

Slacks for s_L (at trial point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_slack_s_U ( )

Slacks for s_U (at trial point)

Index Ipopt::IpoptCalculatedQuantities::AdjustedTrialSlacks ( )

Indicating whether or not we "fudged" the slacks.

void Ipopt::IpoptCalculatedQuantities::ResetAdjustedTrialSlacks ( )

Reset the flags for "fudged" slacks.

virtual Number Ipopt::IpoptCalculatedQuantities::curr_f ( )
virtual

Value of objective function (at current point)

virtual Number Ipopt::IpoptCalculatedQuantities::unscaled_curr_f ( )
virtual

Unscaled value of the objective function (at the current point)

virtual Number Ipopt::IpoptCalculatedQuantities::trial_f ( )
virtual

Value of objective function (at trial point)

virtual Number Ipopt::IpoptCalculatedQuantities::unscaled_trial_f ( )
virtual

Unscaled value of the objective function (at the trial point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_grad_f ( )

Gradient of objective function (at current point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_grad_f ( )

Gradient of objective function (at trial point)

virtual Number Ipopt::IpoptCalculatedQuantities::curr_barrier_obj ( )
virtual

Barrier Objective Function Value (at current iterate with current mu)

virtual Number Ipopt::IpoptCalculatedQuantities::trial_barrier_obj ( )
virtual

Barrier Objective Function Value (at trial point with current mu)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_grad_barrier_obj_x ( )

Gradient of barrier objective function with respect to x (at current point with current mu)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_grad_barrier_obj_s ( )

Gradient of barrier objective function with respect to s (at current point with current mu)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::grad_kappa_times_damping_x ( )

Gradient of the damping term with respect to x (times kappa_d)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::grad_kappa_times_damping_s ( )

Gradient of the damping term with respect to s (times kappa_d)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_c ( )

c(x) (at current point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::unscaled_curr_c ( )

unscaled c(x) (at current point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_c ( )

c(x) (at trial point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::unscaled_trial_c ( )

unscaled c(x) (at trial point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_d ( )

d(x) (at current point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::unscaled_curr_d ( )

unscaled d(x) (at current point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_d ( )

d(x) (at trial point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_d_minus_s ( )

d(x) - s (at current point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_d_minus_s ( )

d(x) - s (at trial point)

SmartPtr<const Matrix> Ipopt::IpoptCalculatedQuantities::curr_jac_c ( )

Jacobian of c (at current point)

SmartPtr<const Matrix> Ipopt::IpoptCalculatedQuantities::trial_jac_c ( )

Jacobian of c (at trial point)

SmartPtr<const Matrix> Ipopt::IpoptCalculatedQuantities::curr_jac_d ( )

Jacobian of d (at current point)

SmartPtr<const Matrix> Ipopt::IpoptCalculatedQuantities::trial_jac_d ( )

Jacobian of d (at trial point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_jac_cT_times_vec ( const Vector vec)

Product of Jacobian (evaluated at current point) of C transpose with general vector.

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_jac_cT_times_vec ( const Vector vec)

Product of Jacobian (evaluated at trial point) of C transpose with general vector.

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_jac_dT_times_vec ( const Vector vec)

Product of Jacobian (evaluated at current point) of D transpose with general vector.

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_jac_dT_times_vec ( const Vector vec)

Product of Jacobian (evaluated at trial point) of D transpose with general vector.

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_jac_cT_times_curr_y_c ( )

Product of Jacobian (evaluated at current point) of C transpose with current y_c.

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_jac_cT_times_trial_y_c ( )

Product of Jacobian (evaluated at trial point) of C transpose with trial y_c.

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_jac_dT_times_curr_y_d ( )

Product of Jacobian (evaluated at current point) of D transpose with current y_d.

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_jac_dT_times_trial_y_d ( )

Product of Jacobian (evaluated at trial point) of D transpose with trial y_d.

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_jac_c_times_vec ( const Vector vec)

Product of Jacobian (evaluated at current point) of C with general vector.

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_jac_d_times_vec ( const Vector vec)

Product of Jacobian (evaluated at current point) of D with general vector.

virtual Number Ipopt::IpoptCalculatedQuantities::curr_constraint_violation ( )
virtual

Constraint Violation (at current iterate).

This value should be used in the line search, and not curr_primal_infeasibility(). What type of norm is used depends on constr_viol_normtype

virtual Number Ipopt::IpoptCalculatedQuantities::trial_constraint_violation ( )
virtual

Constraint Violation (at trial point).

This value should be used in the line search, and not curr_primal_infeasibility(). What type of norm is used depends on constr_viol_normtype

virtual Number Ipopt::IpoptCalculatedQuantities::curr_nlp_constraint_violation ( ENormType  NormType)
virtual

Real constraint violation in a given norm (at current iterate).

This considers the inequality constraints without slacks.

virtual Number Ipopt::IpoptCalculatedQuantities::unscaled_curr_nlp_constraint_violation ( ENormType  NormType)
virtual

Unscaled real constraint violation in a given norm (at current iterate).

This considers the inequality constraints without slacks.

virtual Number Ipopt::IpoptCalculatedQuantities::unscaled_trial_nlp_constraint_violation ( ENormType  NormType)
virtual

Unscaled real constraint violation in a given norm (at trial iterate).

This considers the inequality constraints without slacks.

SmartPtr<const SymMatrix> Ipopt::IpoptCalculatedQuantities::curr_exact_hessian ( )

exact Hessian at current iterate (uncached)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_grad_lag_x ( )

x-part of gradient of Lagrangian function (at current point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_grad_lag_x ( )

x-part of gradient of Lagrangian function (at trial point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_grad_lag_s ( )

s-part of gradient of Lagrangian function (at current point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_grad_lag_s ( )

s-part of gradient of Lagrangian function (at trial point)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_grad_lag_with_damping_x ( )

x-part of gradient of Lagrangian function (at current point)

including linear damping term

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_grad_lag_with_damping_s ( )

s-part of gradient of Lagrangian function (at current point)

including linear damping term

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_compl_x_L ( )

Complementarity for x_L (for current iterate)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_compl_x_U ( )

Complementarity for x_U (for current iterate)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_compl_s_L ( )

Complementarity for s_L (for current iterate)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_compl_s_U ( )

Complementarity for s_U (for current iterate)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_compl_x_L ( )

Complementarity for x_L (for trial iterate)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_compl_x_U ( )

Complementarity for x_U (for trial iterate)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_compl_s_L ( )

Complementarity for s_L (for trial iterate)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::trial_compl_s_U ( )

Complementarity for s_U (for trial iterate)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_x_L ( )

Relaxed complementarity for x_L (for current iterate and current mu)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_x_U ( )

Relaxed complementarity for x_U (for current iterate and current mu)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_s_L ( )

Relaxed complementarity for s_L (for current iterate and current mu)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_s_U ( )

Relaxed complementarity for s_U (for current iterate and current mu)

virtual Number Ipopt::IpoptCalculatedQuantities::curr_primal_infeasibility ( ENormType  NormType)
virtual

Primal infeasibility in a given norm (at current iterate).

virtual Number Ipopt::IpoptCalculatedQuantities::trial_primal_infeasibility ( ENormType  NormType)
virtual

Primal infeasibility in a given norm (at trial point)

virtual Number Ipopt::IpoptCalculatedQuantities::curr_dual_infeasibility ( ENormType  NormType)
virtual

Dual infeasibility in a given norm (at current iterate)

virtual Number Ipopt::IpoptCalculatedQuantities::trial_dual_infeasibility ( ENormType  NormType)
virtual

Dual infeasibility in a given norm (at trial iterate)

virtual Number Ipopt::IpoptCalculatedQuantities::unscaled_curr_dual_infeasibility ( ENormType  NormType)
virtual

Unscaled dual infeasibility in a given norm (at current iterate)

virtual Number Ipopt::IpoptCalculatedQuantities::curr_complementarity ( Number  mu,
ENormType  NormType 
)
virtual

Complementarity (for all complementarity conditions together) in a given norm (at current iterate)

virtual Number Ipopt::IpoptCalculatedQuantities::trial_complementarity ( Number  mu,
ENormType  NormType 
)
virtual

Complementarity (for all complementarity conditions together) in a given norm (at trial iterate)

virtual Number Ipopt::IpoptCalculatedQuantities::unscaled_curr_complementarity ( Number  mu,
ENormType  NormType 
)
virtual

Complementarity (for all complementarity conditions together) in a given norm (at current iterate) without NLP scaling.

Number Ipopt::IpoptCalculatedQuantities::CalcCentralityMeasure ( const Vector compl_x_L,
const Vector compl_x_U,
const Vector compl_s_L,
const Vector compl_s_U 
)

Centrality measure (in spirit of the -infinity-neighborhood.

virtual Number Ipopt::IpoptCalculatedQuantities::curr_centrality_measure ( )
virtual

Centrality measure at current point.

virtual Number Ipopt::IpoptCalculatedQuantities::curr_nlp_error ( )
virtual

Total optimality error for the original NLP at the current iterate, using scaling factors based on multipliers.

Note that here the constraint violation is measured without slacks (nlp_constraint_violation)

virtual Number Ipopt::IpoptCalculatedQuantities::unscaled_curr_nlp_error ( )
virtual

Total optimality error for the original NLP at the current iterate, but using no scaling based on multipliers, and no scaling for the NLP.

Note that here the constraint violation is measured without slacks (nlp_constraint_violation)

virtual Number Ipopt::IpoptCalculatedQuantities::curr_barrier_error ( )
virtual

Total optimality error for the barrier problem at the current iterate, using scaling factors based on multipliers.

virtual Number Ipopt::IpoptCalculatedQuantities::curr_primal_dual_system_error ( Number  mu)
virtual

Norm of the primal-dual system for a given mu (at current iterate).

The norm is defined as the sum of the 1-norms of dual infeasibiliy, primal infeasibility, and complementarity, all divided by the number of elements of the vectors of which the norm is taken.

virtual Number Ipopt::IpoptCalculatedQuantities::trial_primal_dual_system_error ( Number  mu)
virtual

Norm of the primal-dual system for a given mu (at trial iterate).

The norm is defined as the sum of the 1-norms of dual infeasibiliy, primal infeasibility, and complementarity, all divided by the number of elements of the vectors of which the norm is taken.

Number Ipopt::IpoptCalculatedQuantities::primal_frac_to_the_bound ( Number  tau,
const Vector delta_x,
const Vector delta_s 
)

Fraction to the boundary from (current) primal variables x and s for a given step.

Number Ipopt::IpoptCalculatedQuantities::curr_primal_frac_to_the_bound ( Number  tau)

Fraction to the boundary from (current) primal variables x and s for internal (current) step.

Number Ipopt::IpoptCalculatedQuantities::dual_frac_to_the_bound ( Number  tau,
const Vector delta_z_L,
const Vector delta_z_U,
const Vector delta_v_L,
const Vector delta_v_U 
)

Fraction to the boundary from (current) dual variables z and v for a given step.

Number Ipopt::IpoptCalculatedQuantities::uncached_dual_frac_to_the_bound ( Number  tau,
const Vector delta_z_L,
const Vector delta_z_U,
const Vector delta_v_L,
const Vector delta_v_U 
)

Fraction to the boundary from (current) dual variables z and v for a given step, without caching.

Number Ipopt::IpoptCalculatedQuantities::curr_dual_frac_to_the_bound ( Number  tau)

Fraction to the boundary from (current) dual variables z and v for internal (current) step.

Number Ipopt::IpoptCalculatedQuantities::uncached_slack_frac_to_the_bound ( Number  tau,
const Vector delta_x_L,
const Vector delta_x_U,
const Vector delta_s_L,
const Vector delta_s_U 
)

Fraction to the boundary from (current) slacks for a given step in the slacks.

Usually, one will use the primal_frac_to_the_bound method to compute the primal fraction to the boundary step size, but if it is cheaper to provide the steps in the slacks directly (e.g. when the primal step sizes are only temporary), the this method is more efficient. This method does not cache computations.

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_sigma_x ( )
SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::curr_sigma_s ( )
Number Ipopt::IpoptCalculatedQuantities::curr_avrg_compl ( )

average of current values of the complementarities

Number Ipopt::IpoptCalculatedQuantities::trial_avrg_compl ( )

average of trial values of the complementarities

Number Ipopt::IpoptCalculatedQuantities::curr_gradBarrTDelta ( )

inner_product of current barrier obj.

fn. gradient with current search direction

Number Ipopt::IpoptCalculatedQuantities::CalcNormOfType ( ENormType  NormType,
std::vector< SmartPtr< const Vector > >  vecs 
)

Compute the norm of a specific type of a set of vectors (uncached)

Number Ipopt::IpoptCalculatedQuantities::CalcNormOfType ( ENormType  NormType,
const Vector vec1,
const Vector vec2 
)

Compute the norm of a specific type of two vectors (uncached)

ENormType Ipopt::IpoptCalculatedQuantities::constr_viol_normtype ( ) const
inline

Norm type used for calculating constraint violation.

Definition at line 437 of file IpIpoptCalculatedQuantities.hpp.

bool Ipopt::IpoptCalculatedQuantities::IsSquareProblem ( ) const

Method returning true if this is a square problem.

SmartPtr<IpoptNLP>& Ipopt::IpoptCalculatedQuantities::GetIpoptNLP ( )
inline

Method returning the IpoptNLP object.

This should only be used with care!

Definition at line 447 of file IpIpoptCalculatedQuantities.hpp.

IpoptAdditionalCq& Ipopt::IpoptCalculatedQuantities::AdditionalCq ( )
inline

Definition at line 452 of file IpIpoptCalculatedQuantities.hpp.

static void Ipopt::IpoptCalculatedQuantities::RegisterOptions ( SmartPtr< RegisteredOptions roptions)
static

Methods for IpoptType.

Called by IpoptType to register the options

void Ipopt::IpoptCalculatedQuantities::operator= ( const IpoptCalculatedQuantities )
private

Overloaded Equals Operator.

Vector& Ipopt::IpoptCalculatedQuantities::Tmp_x ( )
private

Accessor methods for the temporary vectors.

Vector& Ipopt::IpoptCalculatedQuantities::Tmp_s ( )
private
Vector& Ipopt::IpoptCalculatedQuantities::Tmp_c ( )
private
Vector& Ipopt::IpoptCalculatedQuantities::Tmp_d ( )
private
Vector& Ipopt::IpoptCalculatedQuantities::Tmp_x_L ( )
private
Vector& Ipopt::IpoptCalculatedQuantities::Tmp_x_U ( )
private
Vector& Ipopt::IpoptCalculatedQuantities::Tmp_s_L ( )
private
Vector& Ipopt::IpoptCalculatedQuantities::Tmp_s_U ( )
private
SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::CalcSlack_L ( const Matrix P,
const Vector x,
const Vector x_bound 
)
private

Compute new vector containing the slack to a lower bound (uncached)

SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::CalcSlack_U ( const Matrix P,
const Vector x,
const Vector x_bound 
)
private

Compute new vector containing the slack to a upper bound (uncached)

Number Ipopt::IpoptCalculatedQuantities::CalcBarrierTerm ( Number  mu,
const Vector slack_x_L,
const Vector slack_x_U,
const Vector slack_s_L,
const Vector slack_s_U 
)
private

Compute barrier term at given point (uncached)

SmartPtr<const Vector> Ipopt::IpoptCalculatedQuantities::CalcCompl ( const Vector slack,
const Vector mult 
)
private

Compute complementarity for slack / multiplier pair.

Number Ipopt::IpoptCalculatedQuantities::CalcFracToBound ( const Vector slack_L,
Vector tmp_L,
const Matrix P_L,
const Vector slack_U,
Vector tmp_U,
const Matrix P_U,
const Vector delta,
Number  tau 
)
private

Compute fraction to the boundary parameter for lower and upper bounds.

void Ipopt::IpoptCalculatedQuantities::ComputeOptimalityErrorScaling ( const Vector y_c,
const Vector y_d,
const Vector z_L,
const Vector z_U,
const Vector v_L,
const Vector v_U,
Number  s_max,
Number s_d,
Number s_c 
)
private

Compute the scaling factors for the optimality error.

Index Ipopt::IpoptCalculatedQuantities::CalculateSafeSlack ( SmartPtr< Vector > &  slack,
const SmartPtr< const Vector > &  bound,
const SmartPtr< const Vector > &  curr_point,
const SmartPtr< const Vector > &  multiplier 
)
private

Check if slacks are becoming too small.

If slacks are becoming too small, they are change. The return value is the number of corrected slacks.

void Ipopt::IpoptCalculatedQuantities::ComputeDampingIndicators ( SmartPtr< const Vector > &  dampind_x_L,
SmartPtr< const Vector > &  dampind_x_U,
SmartPtr< const Vector > &  dampind_s_L,
SmartPtr< const Vector > &  dampind_s_U 
)
private

Computes the indicator vectors that can be used to filter out those entries in the slack_...

variables, that correspond to variables with only lower and upper bounds. This is required for the linear damping term in the barrier objective function to handle unbounded solution sets.

bool Ipopt::IpoptCalculatedQuantities::in_restoration_phase ( )
private

Check if we are in the restoration phase.

Returns true, if the ip_nlp is of the type RestoIpoptNLP. ToDo: We probably want to handle this more elegant and don't have an explicit dependency here. Now I added this because otherwise the caching doesn't work properly since the restoration phase objective function depends on the current barrier parameter.

Member Data Documentation

SmartPtr<IpoptNLP> Ipopt::IpoptCalculatedQuantities::ip_nlp_
private

Ipopt NLP object.

Definition at line 486 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<IpoptData> Ipopt::IpoptCalculatedQuantities::ip_data_
private

Ipopt Data object.

Definition at line 488 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<IpoptAdditionalCq> Ipopt::IpoptCalculatedQuantities::add_cq_
private

Chen-Goldfarb specific calculated quantities.

Definition at line 490 of file IpIpoptCalculatedQuantities.hpp.

Number Ipopt::IpoptCalculatedQuantities::s_max_
private

Parameter in formula for computing overall primal-dual optimality error.

Definition at line 499 of file IpIpoptCalculatedQuantities.hpp.

Number Ipopt::IpoptCalculatedQuantities::kappa_d_
private

Weighting factor for the linear damping term added to the barrier objective funciton.

Definition at line 502 of file IpIpoptCalculatedQuantities.hpp.

Number Ipopt::IpoptCalculatedQuantities::slack_move_
private

fractional movement allowed in bounds

Definition at line 504 of file IpIpoptCalculatedQuantities.hpp.

ENormType Ipopt::IpoptCalculatedQuantities::constr_viol_normtype_
private

Norm type to be used when calculating the constraint violation.

Definition at line 506 of file IpIpoptCalculatedQuantities.hpp.

bool Ipopt::IpoptCalculatedQuantities::warm_start_same_structure_
private

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

Definition at line 509 of file IpIpoptCalculatedQuantities.hpp.

Number Ipopt::IpoptCalculatedQuantities::mu_target_
private

Desired value of the barrier parameter.

Definition at line 511 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<Vector> > Ipopt::IpoptCalculatedQuantities::curr_slack_x_L_cache_
private

Definition at line 516 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<Vector> > Ipopt::IpoptCalculatedQuantities::curr_slack_x_U_cache_
private

Definition at line 517 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<Vector> > Ipopt::IpoptCalculatedQuantities::curr_slack_s_L_cache_
private

Definition at line 518 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<Vector> > Ipopt::IpoptCalculatedQuantities::curr_slack_s_U_cache_
private

Definition at line 519 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<Vector> > Ipopt::IpoptCalculatedQuantities::trial_slack_x_L_cache_
private

Definition at line 520 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<Vector> > Ipopt::IpoptCalculatedQuantities::trial_slack_x_U_cache_
private

Definition at line 521 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<Vector> > Ipopt::IpoptCalculatedQuantities::trial_slack_s_L_cache_
private

Definition at line 522 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<Vector> > Ipopt::IpoptCalculatedQuantities::trial_slack_s_U_cache_
private

Definition at line 523 of file IpIpoptCalculatedQuantities.hpp.

Index Ipopt::IpoptCalculatedQuantities::num_adjusted_slack_x_L_
private

Definition at line 524 of file IpIpoptCalculatedQuantities.hpp.

Index Ipopt::IpoptCalculatedQuantities::num_adjusted_slack_x_U_
private

Definition at line 525 of file IpIpoptCalculatedQuantities.hpp.

Index Ipopt::IpoptCalculatedQuantities::num_adjusted_slack_s_L_
private

Definition at line 526 of file IpIpoptCalculatedQuantities.hpp.

Index Ipopt::IpoptCalculatedQuantities::num_adjusted_slack_s_U_
private

Definition at line 527 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::curr_f_cache_
private

Definition at line 532 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::trial_f_cache_
private

Definition at line 533 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_grad_f_cache_
private

Definition at line 534 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::trial_grad_f_cache_
private

Definition at line 535 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::curr_barrier_obj_cache_
private

Definition at line 540 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::trial_barrier_obj_cache_
private

Definition at line 541 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_grad_barrier_obj_x_cache_
private

Definition at line 542 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_grad_barrier_obj_s_cache_
private

Definition at line 543 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::grad_kappa_times_damping_x_cache_
private

Definition at line 544 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::grad_kappa_times_damping_s_cache_
private

Definition at line 545 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_c_cache_
private

Definition at line 550 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::trial_c_cache_
private

Definition at line 551 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_d_cache_
private

Definition at line 552 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::trial_d_cache_
private

Definition at line 553 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_d_minus_s_cache_
private

Definition at line 554 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::trial_d_minus_s_cache_
private

Definition at line 555 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Matrix> > Ipopt::IpoptCalculatedQuantities::curr_jac_c_cache_
private

Definition at line 556 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Matrix> > Ipopt::IpoptCalculatedQuantities::trial_jac_c_cache_
private

Definition at line 557 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Matrix> > Ipopt::IpoptCalculatedQuantities::curr_jac_d_cache_
private

Definition at line 558 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Matrix> > Ipopt::IpoptCalculatedQuantities::trial_jac_d_cache_
private

Definition at line 559 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_jac_cT_times_vec_cache_
private

Definition at line 560 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::trial_jac_cT_times_vec_cache_
private

Definition at line 561 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_jac_dT_times_vec_cache_
private

Definition at line 562 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::trial_jac_dT_times_vec_cache_
private

Definition at line 563 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_jac_c_times_vec_cache_
private

Definition at line 564 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_jac_d_times_vec_cache_
private

Definition at line 565 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::curr_constraint_violation_cache_
private

Definition at line 566 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::trial_constraint_violation_cache_
private

Definition at line 567 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::curr_nlp_constraint_violation_cache_
private

Definition at line 568 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::unscaled_curr_nlp_constraint_violation_cache_
private

Definition at line 569 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::unscaled_trial_nlp_constraint_violation_cache_
private

Definition at line 570 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const SymMatrix> > Ipopt::IpoptCalculatedQuantities::curr_exact_hessian_cache_
private

Cache for the exact Hessian.

Definition at line 574 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_grad_lag_x_cache_
private

Definition at line 578 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::trial_grad_lag_x_cache_
private

Definition at line 579 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_grad_lag_s_cache_
private

Definition at line 580 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::trial_grad_lag_s_cache_
private

Definition at line 581 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_grad_lag_with_damping_x_cache_
private

Definition at line 582 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_grad_lag_with_damping_s_cache_
private

Definition at line 583 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_compl_x_L_cache_
private

Definition at line 584 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_compl_x_U_cache_
private

Definition at line 585 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_compl_s_L_cache_
private

Definition at line 586 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_compl_s_U_cache_
private

Definition at line 587 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::trial_compl_x_L_cache_
private

Definition at line 588 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::trial_compl_x_U_cache_
private

Definition at line 589 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::trial_compl_s_L_cache_
private

Definition at line 590 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::trial_compl_s_U_cache_
private

Definition at line 591 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_x_L_cache_
private

Definition at line 592 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_x_U_cache_
private

Definition at line 593 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_s_L_cache_
private

Definition at line 594 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_s_U_cache_
private

Definition at line 595 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::curr_primal_infeasibility_cache_
private

Definition at line 596 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::trial_primal_infeasibility_cache_
private

Definition at line 597 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::curr_dual_infeasibility_cache_
private

Definition at line 598 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::trial_dual_infeasibility_cache_
private

Definition at line 599 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::unscaled_curr_dual_infeasibility_cache_
private

Definition at line 600 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::curr_complementarity_cache_
private

Definition at line 601 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::trial_complementarity_cache_
private

Definition at line 602 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::curr_centrality_measure_cache_
private

Definition at line 603 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::curr_nlp_error_cache_
private

Definition at line 604 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::unscaled_curr_nlp_error_cache_
private

Definition at line 605 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::curr_barrier_error_cache_
private

Definition at line 606 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::curr_primal_dual_system_error_cache_
private

Definition at line 607 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::trial_primal_dual_system_error_cache_
private

Definition at line 608 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::primal_frac_to_the_bound_cache_
private

Definition at line 613 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::dual_frac_to_the_bound_cache_
private

Definition at line 614 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_sigma_x_cache_
private

Definition at line 619 of file IpIpoptCalculatedQuantities.hpp.

CachedResults< SmartPtr<const Vector> > Ipopt::IpoptCalculatedQuantities::curr_sigma_s_cache_
private

Definition at line 620 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::curr_avrg_compl_cache_
private

Cache for average of current complementarity.

Definition at line 624 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::trial_avrg_compl_cache_
private

Cache for average of trial complementarity.

Definition at line 626 of file IpIpoptCalculatedQuantities.hpp.

CachedResults<Number> Ipopt::IpoptCalculatedQuantities::curr_gradBarrTDelta_cache_
private

Cache for grad barrier obj.

fn inner product with step

Definition at line 629 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::dampind_x_L_
private

Indicator vector for selecting the elements in x that have only lower bounds.

Definition at line 636 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::dampind_x_U_
private

Indicator vector for selecting the elements in x that have only upper bounds.

Definition at line 639 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::dampind_s_L_
private

Indicator vector for selecting the elements in s that have only lower bounds.

Definition at line 642 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::dampind_s_U_
private

Indicator vector for selecting the elements in s that have only upper bounds.

Definition at line 645 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::tmp_x_
private

Definition at line 652 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::tmp_s_
private

Definition at line 653 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::tmp_c_
private

Definition at line 654 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::tmp_d_
private

Definition at line 655 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::tmp_x_L_
private

Definition at line 656 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::tmp_x_U_
private

Definition at line 657 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::tmp_s_L_
private

Definition at line 658 of file IpIpoptCalculatedQuantities.hpp.

SmartPtr<Vector> Ipopt::IpoptCalculatedQuantities::tmp_s_U_
private

Definition at line 659 of file IpIpoptCalculatedQuantities.hpp.

bool Ipopt::IpoptCalculatedQuantities::initialize_called_
private

flag indicating if Initialize method has been called (for debugging)

Definition at line 674 of file IpIpoptCalculatedQuantities.hpp.


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