Ipopt Documentation  
IpIpoptCalculatedQuantities.hpp
Go to the documentation of this file.
1// Copyright (C) 2004, 2011 International Business Machines and others.
2// All Rights Reserved.
3// This code is published under the Eclipse Public License.
4//
5// Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
6
7#ifndef __IPIPOPTCALCULATEDQUANTITIES_HPP__
8#define __IPIPOPTCALCULATEDQUANTITIES_HPP__
9
10#include "IpSmartPtr.hpp"
11#include "IpCachedResults.hpp"
12
13#include <string>
14
15namespace Ipopt
16{
17class IpoptNLP;
18class IpoptData;
19class Vector;
20class Matrix;
21class SymMatrix;
22class Journalist;
23class OptionsList;
24class RegisteredOptions;
25
28{
29 NORM_1 = 0,
32};
33
42{
43public:
46
48 { }
49
52 { }
54
60 virtual bool Initialize(
61 const Journalist& jnlst,
62 const OptionsList& options,
63 const std::string& prefix
64 ) = 0;
65
66private:
77
79 const IpoptAdditionalCq&);
80
83 const IpoptAdditionalCq&);
85};
86
89{
90public:
91
94
96 const SmartPtr<IpoptNLP>& ip_nlp,
97 const SmartPtr<IpoptData>& ip_data
98 );
102
110 )
111 {
112 // cppcheck-suppress assertWithSideEffect
113 DBG_ASSERT(!HaveAddCq());
114 add_cq_ = add_cq;
115 }
116
121 {
122 return IsValid(add_cq_);
123 }
124
131 const Journalist& jnlst,
132 const OptionsList& options,
133 const std::string& prefix
134 );
135
138
159
162
163 virtual Number curr_f();
167 virtual Number trial_f();
175
178
186
195
201
204
234 const Vector& vec
235 );
240 const Vector& vec
241 );
246 const Vector& vec
247 );
252 const Vector& vec
253 );
274 const Vector& vec
275 );
280 const Vector& vec
281 );
306 ENormType NormType
307 );
314 ENormType NormType
315 );
322 ENormType NormType
323 );
325
329
337 const Vector& x
338 );
346 const Vector& x
347 );
368 ENormType NormType
369 );
370
378 const Vector& x
379 );
387 const Vector& x
388 );
409 ENormType NormType
410 );
412
415
418
421
461
464 ENormType NormType
465 );
468 ENormType NormType
469 );
470
473 ENormType NormType
474 );
477 ENormType NormType
478 );
481 ENormType NormType
482 );
483
488 Number mu,
489 ENormType NormType
490 );
495 Number mu,
496 ENormType NormType
497 );
502 Number mu,
503 ENormType NormType
504 );
505
508 const Vector& compl_x_L,
509 const Vector& compl_x_U,
510 const Vector& compl_s_L,
511 const Vector& compl_s_U
512 );
515
531
536
545 Number mu
546 );
555 Number mu
556 );
558
561
565 Number tau,
566 const Vector& delta_x,
567 const Vector& delta_s
568 );
573 Number tau
574 );
579 Number tau,
580 const Vector& delta_z_L,
581 const Vector& delta_z_U,
582 const Vector& delta_v_L,
583 const Vector& delta_v_U
584 );
589 Number tau,
590 const Vector& delta_z_L,
591 const Vector& delta_z_U,
592 const Vector& delta_v_L,
593 const Vector& delta_v_U
594 );
599 Number tau
600 );
612 Number tau,
613 const Vector& delta_x_L,
614 const Vector& delta_x_U,
615 const Vector& delta_s_L,
616 const Vector& delta_s_U
617 );
619
625
630
635
637 Number
639 ENormType NormType,
640 std::vector<SmartPtr<const Vector> > vecs
641 );
642
644 Number
646 ENormType NormType,
647 const Vector& vec1,
648 const Vector& vec2
649 );
650
653 {
654 return constr_viol_normtype_;
655 }
656
658 bool IsSquareProblem() const;
659
665 {
666 return ip_nlp_;
667 }
668
670 {
671 DBG_ASSERT(IsValid(add_cq_));
672 return *add_cq_;
673 }
674
676 static void RegisterOptions(
678 );
679
680private:
691
693
697 );
698
702 );
704
707
714
721
740
756
764
774
799
802
837
846
852
858
863
866
870
887
902
913
918
921
925 const Matrix& P,
926 const Vector& x,
927 const Vector& x_bound
928 );
933 const Matrix& P,
934 const Vector& x,
935 const Vector& x_bound
936 );
941 Number mu,
942 const Vector& slack_x_L,
943 const Vector& slack_x_U,
944 const Vector& slack_s_L,
945 const Vector& slack_s_U
946 );
947
950 const Vector& slack,
951 const Vector& mult
952 );
953
956 const Vector& slack_L,
957 Vector& tmp_L,
958 const Matrix& P_L,
959 const Vector& slack_U,
960 Vector& tmp_U,
961 const Matrix& P_U,
962 const Vector& delta,
963 Number tau
964 );
965
968 const Vector& y_c,
969 const Vector& y_d,
970 const Vector& z_L,
971 const Vector& z_U,
972 const Vector& v_L,
973 const Vector& v_U,
974 Number s_max,
975 Number& s_d,
976 Number& s_c
977 );
978
986 SmartPtr<Vector>& slack,
987 const SmartPtr<const Vector>& bound,
988 const SmartPtr<const Vector>& curr_point,
989 const SmartPtr<const Vector>& multiplier
990 );
991
1000 SmartPtr<const Vector>& dampind_x_L,
1001 SmartPtr<const Vector>& dampind_x_U,
1002 SmartPtr<const Vector>& dampind_s_L,
1003 SmartPtr<const Vector>& dampind_s_U
1004 );
1005
1007};
1008
1009} // namespace Ipopt
1010
1011#endif
#define DBG_ASSERT(test)
Definition: IpDebug.hpp:27
Templated class for Cached Results.
Base class for additional calculated quantities that is special to a particular type of algorithm,...
void operator=(const IpoptAdditionalCq &)
Default Assignment Operator.
virtual bool Initialize(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)=0
This method is called to initialize the global algorithmic parameters.
IpoptAdditionalCq(const IpoptAdditionalCq &)
Copy Constructor.
Class for all IPOPT specific calculated quantities.
SmartPtr< const Vector > trial_grad_lag_s()
s-part of gradient of Lagrangian function (at trial point)
CachedResults< SmartPtr< const Matrix > > trial_jac_d_cache_
CachedResults< Number > curr_constraint_violation_cache_
SmartPtr< const Vector > curr_grad_f()
Gradient of objective function (at current point)
SmartPtr< IpoptData > ip_data_
Ipopt Data object.
CachedResults< SmartPtr< const Vector > > curr_relaxed_compl_s_U_cache_
CachedResults< SmartPtr< const Vector > > curr_jac_dT_times_vec_cache_
Number curr_primal_frac_to_the_bound(Number tau)
Fraction to the boundary from (current) primal variables x and s for internal (current) step.
CachedResults< SmartPtr< const Vector > > trial_c_cache_
virtual Number curr_nlp_constraint_violation(ENormType NormType)
Real constraint violation in a given norm (at current iterate).
virtual Number unscaled_curr_nlp_constraint_violation(ENormType NormType)
Unscaled real constraint violation in a given norm (at current iterate).
SmartPtr< const Vector > curr_relaxed_compl_x_L()
Relaxed complementarity for x_L (for current iterate and current mu)
SmartPtr< const Vector > curr_jac_cT_times_curr_y_c()
Product of Jacobian (evaluated at current point) of C transpose with current y_c.
SmartPtr< Vector > CalcSlack_U(const Matrix &P, const Vector &x, const Vector &x_bound)
Compute new vector containing the slack to a upper bound (uncached)
IpoptCalculatedQuantities()
Default Constructor.
ENormType constr_viol_normtype_
Norm type to be used when calculating the constraint violation.
SmartPtr< const Matrix > trial_jac_d()
Jacobian of d (at trial point)
CachedResults< SmartPtr< Vector > > curr_slack_s_L_cache_
CachedResults< SmartPtr< const Vector > > curr_sigma_x_cache_
virtual Number curr_centrality_measure()
Centrality measure at current point.
CachedResults< SmartPtr< const Vector > > curr_compl_s_U_cache_
SmartPtr< const Matrix > curr_jac_c()
Jacobian of c (at current point)
SmartPtr< const Vector > curr_compl_x_L()
Complementarity for x_L (for current iterate)
bool Initialize(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
This method must be called to initialize the global algorithmic parameters.
SmartPtr< const Vector > trial_d_minus_s()
d(x) - s (at trial point)
CachedResults< SmartPtr< const Vector > > trial_grad_lag_s_cache_
virtual Number unscaled_curr_dual_infeasibility(ENormType NormType)
Unscaled dual infeasibility in a given norm (at current iterate)
SmartPtr< const Vector > curr_compl_s_U()
Complementarity for s_U (for current iterate)
CachedResults< SmartPtr< const Vector > > trial_compl_x_L_cache_
bool IsSquareProblem() const
Method returning true if this is a square problem.
CachedResults< Number > unscaled_trial_nlp_constraint_violation_cache_
SmartPtr< const Vector > curr_relaxed_compl_s_L()
Relaxed complementarity for s_L (for current iterate and current mu)
CachedResults< SmartPtr< const Vector > > curr_grad_lag_with_damping_x_cache_
SmartPtr< const Vector > unscaled_curr_c()
unscaled c(x) (at current point)
Number curr_dual_frac_to_the_bound(Number tau)
Fraction to the boundary from (current) dual variables z and v for internal (current) step.
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.
CachedResults< SmartPtr< const Vector > > curr_d_minus_s_cache_
CachedResults< Number > unscaled_curr_orig_bounds_viol_cache_
SmartPtr< const Vector > curr_jac_cT_times_vec(const Vector &vec)
Product of Jacobian (evaluated at current point) of C transpose with general vector.
SmartPtr< const Vector > curr_jac_c_times_vec(const Vector &vec)
Product of Jacobian (evaluated at current point) of C with general vector.
SmartPtr< const Vector > curr_orig_x_U_violation()
Violation of scaled original variable upper bounds x_U.
Number CalcNormOfType(ENormType NormType, const Vector &vec1, const Vector &vec2)
Compute the norm of a specific type of two vectors (uncached)
virtual Number trial_constraint_violation()
Constraint Violation (at trial point).
CachedResults< SmartPtr< const SymMatrix > > curr_exact_hessian_cache_
Cache for the exact Hessian.
bool warm_start_same_structure_
Flag indicating whether the TNLP with identical structure has already been solved before.
SmartPtr< const Vector > trial_jac_dT_times_trial_y_d()
Product of Jacobian (evaluated at trial point) of D transpose with trial y_d.
CachedResults< std::pair< SmartPtr< Vector >, SmartPtr< Vector > > > unscaled_curr_orig_x_LU_viol_cache_
CachedResults< SmartPtr< const Vector > > trial_compl_x_U_cache_
CachedResults< SmartPtr< const Vector > > curr_grad_barrier_obj_x_cache_
CachedResults< Number > curr_primal_dual_system_error_cache_
CachedResults< SmartPtr< Vector > > trial_slack_s_U_cache_
bool initialize_called_
flag indicating if Initialize method has been called (for debugging)
SmartPtr< const Matrix > trial_jac_c()
Jacobian of c (at trial point)
CachedResults< Number > curr_centrality_measure_cache_
CachedResults< Number > curr_gradBarrTDelta_cache_
Cache for grad barrier obj.
IpoptCalculatedQuantities(const IpoptCalculatedQuantities &)
Copy Constructor.
CachedResults< Number > curr_dual_infeasibility_cache_
CachedResults< Number > unscaled_curr_nlp_error_cache_
virtual Number curr_primal_infeasibility(ENormType NormType)
Primal infeasibility in a given norm (at current iterate).
SmartPtr< Vector > dampind_s_L_
Indicator vector for selecting the elements in s that have only lower bounds.
SmartPtr< Vector > CalcSlack_L(const Matrix &P, const Vector &x, const Vector &x_bound)
Compute new vector containing the slack to a lower bound (uncached)
CachedResults< SmartPtr< const Vector > > trial_jac_dT_times_vec_cache_
SmartPtr< const Vector > trial_grad_f()
Gradient of objective function (at trial point)
SmartPtr< const Vector > trial_slack_x_U()
Slacks for x_U (at trial point)
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.
CachedResults< SmartPtr< const Vector > > trial_jac_cT_times_vec_cache_
virtual Number curr_constraint_violation()
Constraint Violation (at current iterate).
virtual Number trial_complementarity(Number mu, ENormType NormType)
Complementarity (for all complementarity conditions together) in a given norm (at trial iterate)
SmartPtr< const Vector > unscaled_curr_d()
unscaled d(x) (at current point)
virtual Number trial_f()
Value of objective function (at trial point)
SmartPtr< const Vector > curr_compl_s_L()
Complementarity for s_L (for current iterate)
CachedResults< Number > primal_frac_to_the_bound_cache_
virtual Number unscaled_trial_f()
Unscaled value of the objective function (at the trial point)
SmartPtr< Vector > dampind_x_U_
Indicator vector for selecting the elements in x that have only upper bounds.
SmartPtr< const Vector > grad_kappa_times_damping_x()
Gradient of the damping term with respect to x (times kappa_d)
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_....
SmartPtr< Vector > dampind_s_U_
Indicator vector for selecting the elements in s that have only upper bounds.
SmartPtr< const Vector > curr_sigma_x()
CachedResults< SmartPtr< const Vector > > curr_grad_f_cache_
CachedResults< SmartPtr< const Vector > > curr_relaxed_compl_x_U_cache_
SmartPtr< const Vector > curr_slack_s_U()
Slacks for s_U (at current iterate)
SmartPtr< const Vector > trial_compl_x_U()
Complementarity for x_U (for trial iterate)
SmartPtr< const Vector > unscaled_curr_orig_x_L_violation()
Violation of original variable lower bounds x_L.
CachedResults< Number > curr_avrg_compl_cache_
Cache for average of current complementarity.
CachedResults< SmartPtr< Vector > > trial_slack_x_L_cache_
virtual Number curr_barrier_error()
Total optimality error for the barrier problem at the current iterate, using scaling factors based on...
virtual Number unscaled_curr_nlp_error()
Total optimality error for the original NLP at the current iterate, but using no scaling based on mul...
Number kappa_d_
Weighting factor for the linear damping term added to the barrier objective function.
virtual Number trial_primal_infeasibility(ENormType NormType)
Primal infeasibility in a given norm (at trial point)
CachedResults< SmartPtr< const Vector > > trial_d_minus_s_cache_
SmartPtr< const Vector > CalcCompl(const Vector &slack, const Vector &mult)
Compute complementarity for slack / multiplier pair.
SmartPtr< const Vector > curr_d()
d(x) (at current point)
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.
SmartPtr< const Vector > unscaled_curr_orig_x_U_violation()
Violation of original variable upper bounds x_U.
CachedResults< SmartPtr< const Matrix > > curr_jac_d_cache_
CachedResults< Number > trial_primal_dual_system_error_cache_
CachedResults< SmartPtr< const Vector > > curr_sigma_s_cache_
CachedResults< Number > unscaled_curr_dual_infeasibility_cache_
SmartPtr< const Vector > curr_sigma_s()
void SetAddCq(SmartPtr< IpoptAdditionalCq > add_cq)
Method for setting pointer for additional calculated quantities.
CachedResults< Number > trial_avrg_compl_cache_
Cache for average of trial complementarity.
SmartPtr< const Vector > grad_kappa_times_damping_s()
Gradient of the damping term with respect to s (times kappa_d)
Number s_max_
Parameter in formula for computing overall primal-dual optimality error.
SmartPtr< const Vector > curr_compl_x_U()
Complementarity for x_U (for current iterate)
void operator=(const IpoptCalculatedQuantities &)
Default Assignment Operator.
Vector & Tmp_x()
Accessor methods for the temporary vectors.
Number curr_gradBarrTDelta()
inner_product of current barrier obj.
Number trial_avrg_compl()
average of trial values of the complementarities
virtual Number curr_f()
Value of objective function (at current point)
virtual Number trial_primal_dual_system_error(Number mu)
Norm of the primal-dual system for a given mu (at trial iterate).
CachedResults< Number > trial_primal_infeasibility_cache_
virtual Number trial_barrier_obj()
Barrier Objective Function Value (at trial point with current mu)
CachedResults< SmartPtr< Vector > > curr_slack_x_U_cache_
CachedResults< Number > trial_dual_infeasibility_cache_
SmartPtr< const Vector > curr_jac_dT_times_curr_y_d()
Product of Jacobian (evaluated at current point) of D transpose with current y_d.
SmartPtr< const Vector > trial_slack_x_L()
Slacks for x_L (at trial point)
CachedResults< SmartPtr< const Vector > > trial_grad_f_cache_
SmartPtr< const Vector > curr_slack_x_L()
Slacks for x_L (at current iterate)
SmartPtr< const Vector > curr_slack_s_L()
Slacks for s_L (at current iterate)
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.
Number CalcNormOfType(ENormType NormType, std::vector< SmartPtr< const Vector > > vecs)
Compute the norm of a specific type of a set of vectors (uncached)
CachedResults< Number > curr_nlp_constraint_violation_cache_
CachedResults< SmartPtr< Vector > > trial_slack_s_L_cache_
virtual Number curr_barrier_obj()
Barrier Objective Function Value (at current iterate with current mu)
SmartPtr< const Vector > trial_grad_lag_x()
x-part of gradient of Lagrangian function (at trial point)
SmartPtr< Vector > unscaled_orig_x_U_violation(const Vector &x)
Violation of original variable upper bounds x_U.
SmartPtr< const Vector > trial_jac_cT_times_trial_y_c()
Product of Jacobian (evaluated at trial point) of C transpose with trial y_c.
SmartPtr< const Vector > curr_c()
c(x) (at current point)
SmartPtr< Vector > dampind_x_L_
Indicator vector for selecting the elements in x that have only lower bounds.
SmartPtr< const Vector > trial_d()
d(x) (at trial point)
SmartPtr< Vector > unscaled_orig_x_L_violation(const Vector &x)
Violation of original variable lower bounds x_L.
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)
CachedResults< SmartPtr< const Vector > > curr_jac_d_times_vec_cache_
CachedResults< SmartPtr< const Vector > > curr_compl_s_L_cache_
Number slack_move_
fractional movement allowed in bounds
SmartPtr< const Vector > curr_orig_x_L_violation()
Violation of scaled original variable lower bounds x_L.
virtual Number curr_primal_dual_system_error(Number mu)
Norm of the primal-dual system for a given mu (at current iterate).
SmartPtr< const Vector > trial_c()
c(x) (at trial point)
IpoptCalculatedQuantities(const SmartPtr< IpoptNLP > &ip_nlp, const SmartPtr< IpoptData > &ip_data)
Constructor.
SmartPtr< Vector > orig_x_L_violation(const Vector &x)
Violation of scaled original variable lower bounds x_L.
CachedResults< Number > curr_primal_infeasibility_cache_
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.
Number mu_target_
Desired value of the barrier parameter.
CachedResults< SmartPtr< const Vector > > curr_grad_lag_s_cache_
CachedResults< SmartPtr< const Vector > > trial_compl_s_L_cache_
virtual Number curr_orig_bounds_violation(ENormType NormType)
Violation of scaled original variable bounds.
SmartPtr< const Vector > curr_grad_barrier_obj_s()
Gradient of barrier objective function with respect to s (at current point with current mu)
CachedResults< SmartPtr< const Matrix > > curr_jac_c_cache_
virtual Number curr_nlp_error()
Total optimality error for the original NLP at the current iterate, using scaling factors based on mu...
SmartPtr< const Vector > curr_slack_x_U()
Slacks for x_U (at current iterate)
SmartPtr< Vector > orig_x_U_violation(const Vector &x)
Violation of scaled original variable upper bounds x_U.
SmartPtr< const Vector > curr_grad_barrier_obj_x()
Gradient of barrier objective function with respect to x (at current point with current mu)
Index AdjustedTrialSlacks()
Indicating whether or not we "fudged" the slacks.
CachedResults< SmartPtr< const Vector > > trial_d_cache_
CachedResults< SmartPtr< Vector > > trial_slack_x_U_cache_
CachedResults< SmartPtr< const Vector > > curr_d_cache_
SmartPtr< const Vector > curr_relaxed_compl_s_U()
Relaxed complementarity for s_U (for current iterate and current mu)
SmartPtr< const Vector > trial_jac_cT_times_vec(const Vector &vec)
Product of Jacobian (evaluated at trial point) of C transpose with general vector.
ENormType constr_viol_normtype() const
Norm type used for calculating constraint violation.
CachedResults< SmartPtr< const Vector > > curr_c_cache_
SmartPtr< const Vector > trial_jac_dT_times_vec(const Vector &vec)
Product of Jacobian (evaluated at trial point) of D transpose with general vector.
SmartPtr< IpoptNLP > & GetIpoptNLP()
Method returning the IpoptNLP object.
bool HaveAddCq()
Method detecting if additional object for calculated quantities has already been set.
virtual Number unscaled_curr_complementarity(Number mu, ENormType NormType)
Complementarity (for all complementarity conditions together) in a given norm (at current iterate) wi...
SmartPtr< const Vector > curr_jac_dT_times_vec(const Vector &vec)
Product of Jacobian (evaluated at current point) of D transpose with general vector.
virtual Number unscaled_trial_nlp_constraint_violation(ENormType NormType)
Unscaled real constraint violation in a given norm (at trial iterate).
CachedResults< SmartPtr< const Vector > > trial_grad_lag_x_cache_
SmartPtr< IpoptAdditionalCq > add_cq_
Chen-Goldfarb specific calculated quantities.
SmartPtr< const Matrix > curr_jac_d()
Jacobian of d (at current point)
SmartPtr< const Vector > curr_relaxed_compl_x_U()
Relaxed complementarity for x_U (for current iterate and current mu)
CachedResults< Number > trial_constraint_violation_cache_
SmartPtr< IpoptNLP > ip_nlp_
Ipopt NLP object.
CachedResults< SmartPtr< const Vector > > trial_compl_s_U_cache_
CachedResults< SmartPtr< const Vector > > curr_relaxed_compl_x_L_cache_
CachedResults< SmartPtr< const Vector > > grad_kappa_times_damping_x_cache_
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.
SmartPtr< const Vector > curr_jac_d_times_vec(const Vector &vec)
Product of Jacobian (evaluated at current point) of D with general vector.
virtual ~IpoptCalculatedQuantities()
Destructor.
SmartPtr< const SymMatrix > curr_exact_hessian()
exact Hessian at current iterate (uncached)
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.
CachedResults< SmartPtr< const Vector > > curr_jac_cT_times_vec_cache_
CachedResults< SmartPtr< const Vector > > curr_compl_x_L_cache_
SmartPtr< const Vector > curr_grad_lag_with_damping_x()
x-part of gradient of Lagrangian function (at current point) including linear damping term
SmartPtr< const Vector > curr_d_minus_s()
d(x) - s (at current point)
SmartPtr< const Vector > curr_grad_lag_x()
x-part of gradient of Lagrangian function (at current point)
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.
CachedResults< SmartPtr< Vector > > curr_orig_x_U_viol_cache_
SmartPtr< const Vector > trial_compl_s_U()
Complementarity for s_U (for trial iterate)
CachedResults< SmartPtr< const Vector > > curr_grad_lag_x_cache_
virtual Number unscaled_curr_f()
Unscaled value of the objective function (at the current point)
SmartPtr< const Vector > trial_compl_x_L()
Complementarity for x_L (for trial iterate)
virtual Number curr_dual_infeasibility(ENormType NormType)
Dual infeasibility in a given norm (at current iterate)
CachedResults< SmartPtr< const Vector > > grad_kappa_times_damping_s_cache_
CachedResults< SmartPtr< Vector > > curr_orig_x_L_viol_cache_
virtual Number trial_dual_infeasibility(ENormType NormType)
Dual infeasibility in a given norm (at trial iterate)
CachedResults< SmartPtr< Vector > > curr_slack_x_L_cache_
SmartPtr< const Vector > trial_compl_s_L()
Complementarity for s_L (for trial iterate)
Number curr_avrg_compl()
average of current values of the complementarities
CachedResults< Number > unscaled_curr_nlp_constraint_violation_cache_
CachedResults< SmartPtr< const Vector > > curr_grad_barrier_obj_s_cache_
virtual Number curr_complementarity(Number mu, ENormType NormType)
Complementarity (for all complementarity conditions together) in a given norm (at current iterate)
SmartPtr< const Vector > unscaled_trial_c()
unscaled c(x) (at trial point)
SmartPtr< const Vector > curr_grad_lag_s()
s-part of gradient of Lagrangian function (at current point)
CachedResults< SmartPtr< const Vector > > curr_compl_x_U_cache_
CachedResults< SmartPtr< const Vector > > curr_relaxed_compl_s_L_cache_
CachedResults< SmartPtr< Vector > > curr_slack_s_U_cache_
virtual Number unscaled_curr_orig_bounds_violation(ENormType NormType)
Violation of (unscaled) original variable bounds.
CachedResults< SmartPtr< const Vector > > curr_grad_lag_with_damping_s_cache_
CachedResults< SmartPtr< const Matrix > > trial_jac_c_cache_
CachedResults< SmartPtr< const Vector > > curr_jac_c_times_vec_cache_
SmartPtr< const Vector > trial_slack_s_U()
Slacks for s_U (at trial point)
SmartPtr< const Vector > trial_slack_s_L()
Slacks for s_L (at trial point)
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Called by IpoptType to register the options.
SmartPtr< const Vector > curr_grad_lag_with_damping_s()
s-part of gradient of Lagrangian function (at current point) including linear damping term
void ResetAdjustedTrialSlacks()
Reset the flags for "fudged" slacks.
Class responsible for all message output.
Matrix Base Class.
Definition: IpMatrix.hpp:28
This class stores a list of user set options.
Storing the reference count of all the smart pointers that currently reference it.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:165
Vector Base Class.
Definition: IpVector.hpp:48
#define IPOPTLIB_EXPORT
Definition: config.h:94
This file contains a base class for all exceptions and a set of macros to help with exceptions.
bool IsValid(const SmartPtr< U > &smart_ptr)
Definition: IpSmartPtr.hpp:672
ipindex Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:20
ipnumber Number
Type of all numbers.
Definition: IpTypes.hpp:17