Ipopt 3.12.10

- Main Page
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 // $Id: IpIpoptCalculatedQuantities.hpp 2020 2011-06-16 20:46:16Z andreasw $
6 //
7 // Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
8
9 #ifndef __IPIPOPTCALCULATEDQUANTITIES_HPP__
10 #define __IPIPOPTCALCULATEDQUANTITIES_HPP__
11
12 #include "IpSmartPtr.hpp"
13 #include "IpCachedResults.hpp"
14
15 #include <string>
16
17 namespace Ipopt
18 {
19 class IpoptNLP;
20 class IpoptData;
21 class Vector;
22 class Matrix;
23 class SymMatrix;
24 class Journalist;
25 class OptionsList;
26 class RegisteredOptions;
27
29 enum ENormType {
30 NORM_1=0,
31 NORM_2,
32 NORM_MAX
33 };
34
40 class IpoptAdditionalCq : public ReferencedObject
41 {
42 public:
46 IpoptAdditionalCq()
47 {}
48
50 virtual ~IpoptAdditionalCq()
51 {}
53
57 virtual bool Initialize(const Journalist& jnlst,
58 const OptionsList& options,
59 const std::string& prefix) = 0;
60
61 private:
71 IpoptAdditionalCq(const IpoptAdditionalCq&);
72
74 void operator=(const IpoptAdditionalCq&);
76 };
77
81 class IpoptCalculatedQuantities : public ReferencedObject
82 {
83 public:
84
88 IpoptCalculatedQuantities(const SmartPtr<IpoptNLP>& ip_nlp,
89 const SmartPtr<IpoptData>& ip_data);
91 virtual ~IpoptCalculatedQuantities();
93
96 void SetAddCq(SmartPtr<IpoptAdditionalCq> add_cq)
97 {
98 DBG_ASSERT(!HaveAddCq());
99 add_cq_ = add_cq;
100 }
101
104 bool HaveAddCq()
105 {
106 return IsValid(add_cq_);
107 }
108
112 bool Initialize(const Journalist& jnlst,
113 const OptionsList& options,
114 const std::string& prefix);
115
119 SmartPtr<const Vector> curr_slack_x_L();
121 SmartPtr<const Vector> curr_slack_x_U();
123 SmartPtr<const Vector> curr_slack_s_L();
125 SmartPtr<const Vector> curr_slack_s_U();
127 SmartPtr<const Vector> trial_slack_x_L();
129 SmartPtr<const Vector> trial_slack_x_U();
131 SmartPtr<const Vector> trial_slack_s_L();
133 SmartPtr<const Vector> trial_slack_s_U();
135 Index AdjustedTrialSlacks();
137 void ResetAdjustedTrialSlacks();
139
143 virtual Number curr_f();
145 virtual Number unscaled_curr_f();
147 virtual Number trial_f();
149 virtual Number unscaled_trial_f();
151 SmartPtr<const Vector> curr_grad_f();
153 SmartPtr<const Vector> trial_grad_f();
155
161 virtual Number curr_barrier_obj();
165 virtual Number trial_barrier_obj();
166
169 SmartPtr<const Vector> curr_grad_barrier_obj_x();
172 SmartPtr<const Vector> curr_grad_barrier_obj_s();
173
176 SmartPtr<const Vector> grad_kappa_times_damping_x();
179 SmartPtr<const Vector> grad_kappa_times_damping_s();
181
185 SmartPtr<const Vector> curr_c();
187 SmartPtr<const Vector> unscaled_curr_c();
189 SmartPtr<const Vector> trial_c();
191 SmartPtr<const Vector> unscaled_trial_c();
193 SmartPtr<const Vector> curr_d();
195 SmartPtr<const Vector> unscaled_curr_d();
197 SmartPtr<const Vector> trial_d();
199 SmartPtr<const Vector> curr_d_minus_s();
201 SmartPtr<const Vector> trial_d_minus_s();
203 SmartPtr<const Matrix> curr_jac_c();
205 SmartPtr<const Matrix> trial_jac_c();
207 SmartPtr<const Matrix> curr_jac_d();
209 SmartPtr<const Matrix> trial_jac_d();
212 SmartPtr<const Vector> curr_jac_cT_times_vec(const Vector& vec);
215 SmartPtr<const Vector> trial_jac_cT_times_vec(const Vector& vec);
218 SmartPtr<const Vector> curr_jac_dT_times_vec(const Vector& vec);
221 SmartPtr<const Vector> trial_jac_dT_times_vec(const Vector& vec);
224 SmartPtr<const Vector> curr_jac_cT_times_curr_y_c();
227 SmartPtr<const Vector> trial_jac_cT_times_trial_y_c();
230 SmartPtr<const Vector> curr_jac_dT_times_curr_y_d();
233 SmartPtr<const Vector> trial_jac_dT_times_trial_y_d();
236 SmartPtr<const Vector> curr_jac_c_times_vec(const Vector& vec);
239 SmartPtr<const Vector> curr_jac_d_times_vec(const Vector& vec);
243 virtual Number curr_constraint_violation();
247 virtual Number trial_constraint_violation();
251 virtual Number curr_nlp_constraint_violation(ENormType NormType);
255 virtual Number unscaled_curr_nlp_constraint_violation(ENormType NormType);
259 virtual Number unscaled_trial_nlp_constraint_violation(ENormType NormType);
261
265 SmartPtr<const SymMatrix> curr_exact_hessian();
267
271 SmartPtr<const Vector> curr_grad_lag_x();
273 SmartPtr<const Vector> trial_grad_lag_x();
275 SmartPtr<const Vector> curr_grad_lag_s();
277 SmartPtr<const Vector> trial_grad_lag_s();
280 SmartPtr<const Vector> curr_grad_lag_with_damping_x();
283 SmartPtr<const Vector> curr_grad_lag_with_damping_s();
285 SmartPtr<const Vector> curr_compl_x_L();
287 SmartPtr<const Vector> curr_compl_x_U();
289 SmartPtr<const Vector> curr_compl_s_L();
291 SmartPtr<const Vector> curr_compl_s_U();
293 SmartPtr<const Vector> trial_compl_x_L();
295 SmartPtr<const Vector> trial_compl_x_U();
297 SmartPtr<const Vector> trial_compl_s_L();
299 SmartPtr<const Vector> trial_compl_s_U();
301 SmartPtr<const Vector> curr_relaxed_compl_x_L();
303 SmartPtr<const Vector> curr_relaxed_compl_x_U();
305 SmartPtr<const Vector> curr_relaxed_compl_s_L();
307 SmartPtr<const Vector> curr_relaxed_compl_s_U();
308
310 virtual Number curr_primal_infeasibility(ENormType NormType);
312 virtual Number trial_primal_infeasibility(ENormType NormType);
313
315 virtual Number curr_dual_infeasibility(ENormType NormType);
317 virtual Number trial_dual_infeasibility(ENormType NormType);
319 virtual Number unscaled_curr_dual_infeasibility(ENormType NormType);
320
323 virtual Number curr_complementarity(Number mu, ENormType NormType);
326 virtual Number trial_complementarity(Number mu, ENormType NormType);
329 virtual Number unscaled_curr_complementarity(Number mu, ENormType NormType);
330
332 Number CalcCentralityMeasure(const Vector& compl_x_L,
333 const Vector& compl_x_U,
334 const Vector& compl_s_L,
335 const Vector& compl_s_U);
337 virtual Number curr_centrality_measure();
338
343 virtual Number curr_nlp_error();
348 virtual Number unscaled_curr_nlp_error();
349
352 virtual Number curr_barrier_error();
353
360 virtual Number curr_primal_dual_system_error(Number mu);
367 virtual Number trial_primal_dual_system_error(Number mu);
369
374 Number primal_frac_to_the_bound(Number tau,
375 const Vector& delta_x,
376 const Vector& delta_s);
379 Number curr_primal_frac_to_the_bound(Number tau);
382 Number dual_frac_to_the_bound(Number tau,
383 const Vector& delta_z_L,
384 const Vector& delta_z_U,
385 const Vector& delta_v_L,
386 const Vector& delta_v_U);
389 Number uncached_dual_frac_to_the_bound(Number tau,
390 const Vector& delta_z_L,
391 const Vector& delta_z_U,
392 const Vector& delta_v_L,
393 const Vector& delta_v_U);
396 Number curr_dual_frac_to_the_bound(Number tau);
404 Number uncached_slack_frac_to_the_bound(Number tau,
405 const Vector& delta_x_L,
406 const Vector& delta_x_U,
407 const Vector& delta_s_L,
408 const Vector& delta_s_U);
410
413 SmartPtr<const Vector> curr_sigma_x();
414 SmartPtr<const Vector> curr_sigma_s();
416
418 Number curr_avrg_compl();
420 Number trial_avrg_compl();
421
424 Number curr_gradBarrTDelta();
425
427 Number
428 CalcNormOfType(ENormType NormType,
429 std::vector<SmartPtr<const Vector> > vecs);
430
432 Number
433 CalcNormOfType(ENormType NormType,
434 const Vector& vec1, const Vector& vec2);
435
437 ENormType constr_viol_normtype() const
438 {
439 return constr_viol_normtype_;
440 }
441
443 bool IsSquareProblem() const;
444
447 SmartPtr<IpoptNLP>& GetIpoptNLP()
448 {
449 return ip_nlp_;
450 }
451
452 IpoptAdditionalCq& AdditionalCq()
453 {
454 DBG_ASSERT(IsValid(add_cq_));
455 return *add_cq_;
456 }
457
461 static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
463
464 private:
474 IpoptCalculatedQuantities();
475
477 IpoptCalculatedQuantities(const IpoptCalculatedQuantities&);
478
480 void operator=(const IpoptCalculatedQuantities&);
482
486 SmartPtr<IpoptNLP> ip_nlp_;
488 SmartPtr<IpoptData> ip_data_;
490 SmartPtr<IpoptAdditionalCq> add_cq_;
492
499 Number s_max_;
502 Number kappa_d_;
504 Number slack_move_;
506 ENormType constr_viol_normtype_;
509 bool warm_start_same_structure_;
511 Number mu_target_;
513
516 CachedResults< SmartPtr<Vector> > curr_slack_x_L_cache_;
517 CachedResults< SmartPtr<Vector> > curr_slack_x_U_cache_;
518 CachedResults< SmartPtr<Vector> > curr_slack_s_L_cache_;
519 CachedResults< SmartPtr<Vector> > curr_slack_s_U_cache_;
520 CachedResults< SmartPtr<Vector> > trial_slack_x_L_cache_;
521 CachedResults< SmartPtr<Vector> > trial_slack_x_U_cache_;
522 CachedResults< SmartPtr<Vector> > trial_slack_s_L_cache_;
523 CachedResults< SmartPtr<Vector> > trial_slack_s_U_cache_;
524 Index num_adjusted_slack_x_L_;
525 Index num_adjusted_slack_x_U_;
526 Index num_adjusted_slack_s_L_;
527 Index num_adjusted_slack_s_U_;
529
532 CachedResults<Number> curr_f_cache_;
533 CachedResults<Number> trial_f_cache_;
534 CachedResults< SmartPtr<const Vector> > curr_grad_f_cache_;
535 CachedResults< SmartPtr<const Vector> > trial_grad_f_cache_;
537
540 CachedResults<Number> curr_barrier_obj_cache_;
541 CachedResults<Number> trial_barrier_obj_cache_;
542 CachedResults< SmartPtr<const Vector> > curr_grad_barrier_obj_x_cache_;
543 CachedResults< SmartPtr<const Vector> > curr_grad_barrier_obj_s_cache_;
544 CachedResults< SmartPtr<const Vector> > grad_kappa_times_damping_x_cache_;
545 CachedResults< SmartPtr<const Vector> > grad_kappa_times_damping_s_cache_;
547
550 CachedResults< SmartPtr<const Vector> > curr_c_cache_;
551 CachedResults< SmartPtr<const Vector> > trial_c_cache_;
552 CachedResults< SmartPtr<const Vector> > curr_d_cache_;
553 CachedResults< SmartPtr<const Vector> > trial_d_cache_;
554 CachedResults< SmartPtr<const Vector> > curr_d_minus_s_cache_;
555 CachedResults< SmartPtr<const Vector> > trial_d_minus_s_cache_;
556 CachedResults< SmartPtr<const Matrix> > curr_jac_c_cache_;
557 CachedResults< SmartPtr<const Matrix> > trial_jac_c_cache_;
558 CachedResults< SmartPtr<const Matrix> > curr_jac_d_cache_;
559 CachedResults< SmartPtr<const Matrix> > trial_jac_d_cache_;
560 CachedResults< SmartPtr<const Vector> > curr_jac_cT_times_vec_cache_;
561 CachedResults< SmartPtr<const Vector> > trial_jac_cT_times_vec_cache_;
562 CachedResults< SmartPtr<const Vector> > curr_jac_dT_times_vec_cache_;
563 CachedResults< SmartPtr<const Vector> > trial_jac_dT_times_vec_cache_;
564 CachedResults< SmartPtr<const Vector> > curr_jac_c_times_vec_cache_;
565 CachedResults< SmartPtr<const Vector> > curr_jac_d_times_vec_cache_;
566 CachedResults<Number> curr_constraint_violation_cache_;
567 CachedResults<Number> trial_constraint_violation_cache_;
568 CachedResults<Number> curr_nlp_constraint_violation_cache_;
569 CachedResults<Number> unscaled_curr_nlp_constraint_violation_cache_;
570 CachedResults<Number> unscaled_trial_nlp_constraint_violation_cache_;
572
574 CachedResults< SmartPtr<const SymMatrix> > curr_exact_hessian_cache_;
575
578 CachedResults< SmartPtr<const Vector> > curr_grad_lag_x_cache_;
579 CachedResults< SmartPtr<const Vector> > trial_grad_lag_x_cache_;
580 CachedResults< SmartPtr<const Vector> > curr_grad_lag_s_cache_;
581 CachedResults< SmartPtr<const Vector> > trial_grad_lag_s_cache_;
582 CachedResults< SmartPtr<const Vector> > curr_grad_lag_with_damping_x_cache_;
583 CachedResults< SmartPtr<const Vector> > curr_grad_lag_with_damping_s_cache_;
584 CachedResults< SmartPtr<const Vector> > curr_compl_x_L_cache_;
585 CachedResults< SmartPtr<const Vector> > curr_compl_x_U_cache_;
586 CachedResults< SmartPtr<const Vector> > curr_compl_s_L_cache_;
587 CachedResults< SmartPtr<const Vector> > curr_compl_s_U_cache_;
588 CachedResults< SmartPtr<const Vector> > trial_compl_x_L_cache_;
589 CachedResults< SmartPtr<const Vector> > trial_compl_x_U_cache_;
590 CachedResults< SmartPtr<const Vector> > trial_compl_s_L_cache_;
591 CachedResults< SmartPtr<const Vector> > trial_compl_s_U_cache_;
592 CachedResults< SmartPtr<const Vector> > curr_relaxed_compl_x_L_cache_;
593 CachedResults< SmartPtr<const Vector> > curr_relaxed_compl_x_U_cache_;
594 CachedResults< SmartPtr<const Vector> > curr_relaxed_compl_s_L_cache_;
595 CachedResults< SmartPtr<const Vector> > curr_relaxed_compl_s_U_cache_;
596 CachedResults<Number> curr_primal_infeasibility_cache_;
597 CachedResults<Number> trial_primal_infeasibility_cache_;
598 CachedResults<Number> curr_dual_infeasibility_cache_;
599 CachedResults<Number> trial_dual_infeasibility_cache_;
600 CachedResults<Number> unscaled_curr_dual_infeasibility_cache_;
601 CachedResults<Number> curr_complementarity_cache_;
602 CachedResults<Number> trial_complementarity_cache_;
603 CachedResults<Number> curr_centrality_measure_cache_;
604 CachedResults<Number> curr_nlp_error_cache_;
605 CachedResults<Number> unscaled_curr_nlp_error_cache_;
606 CachedResults<Number> curr_barrier_error_cache_;
607 CachedResults<Number> curr_primal_dual_system_error_cache_;
608 CachedResults<Number> trial_primal_dual_system_error_cache_;
610
613 CachedResults<Number> primal_frac_to_the_bound_cache_;
614 CachedResults<Number> dual_frac_to_the_bound_cache_;
616
619 CachedResults< SmartPtr<const Vector> > curr_sigma_x_cache_;
620 CachedResults< SmartPtr<const Vector> > curr_sigma_s_cache_;
622
624 CachedResults<Number> curr_avrg_compl_cache_;
626 CachedResults<Number> trial_avrg_compl_cache_;
627
629 CachedResults<Number> curr_gradBarrTDelta_cache_;
630
636 SmartPtr<Vector> dampind_x_L_;
639 SmartPtr<Vector> dampind_x_U_;
642 SmartPtr<Vector> dampind_s_L_;
645 SmartPtr<Vector> dampind_s_U_;
647
652 SmartPtr<Vector> tmp_x_;
653 SmartPtr<Vector> tmp_s_;
654 SmartPtr<Vector> tmp_c_;
655 SmartPtr<Vector> tmp_d_;
656 SmartPtr<Vector> tmp_x_L_;
657 SmartPtr<Vector> tmp_x_U_;
658 SmartPtr<Vector> tmp_s_L_;
659 SmartPtr<Vector> tmp_s_U_;
660
662 Vector& Tmp_x();
663 Vector& Tmp_s();
664 Vector& Tmp_c();
665 Vector& Tmp_d();
666 Vector& Tmp_x_L();
667 Vector& Tmp_x_U();
668 Vector& Tmp_s_L();
669 Vector& Tmp_s_U();
671
674 bool initialize_called_;
675
681 SmartPtr<Vector> CalcSlack_L(const Matrix& P,
682 const Vector& x,
683 const Vector& x_bound);
687 SmartPtr<Vector> CalcSlack_U(const Matrix& P,
688 const Vector& x,
689 const Vector& x_bound);
693 Number CalcBarrierTerm(Number mu,
694 const Vector& slack_x_L,
695 const Vector& slack_x_U,
696 const Vector& slack_s_L,
697 const Vector& slack_s_U);
698
700 SmartPtr<const Vector> CalcCompl(const Vector& slack,
701 const Vector& mult);
702
704 Number CalcFracToBound(const Vector& slack_L,
705 Vector& tmp_L,
706 const Matrix& P_L,
707 const Vector& slack_U,
708 Vector& tmp_U,
709 const Matrix& P_U,
710 const Vector& delta,
711 Number tau);
712
714 void ComputeOptimalityErrorScaling(const Vector& y_c, const Vector& y_d,
715 const Vector& z_L, const Vector& z_U,
716 const Vector& v_L, const Vector& v_U,
717 Number s_max,
718 Number& s_d, Number& s_c);
719
723 Index CalculateSafeSlack(SmartPtr<Vector>& slack,
724 const SmartPtr<const Vector>& bound,
725 const SmartPtr<const Vector>& curr_point,
726 const SmartPtr<const Vector>& multiplier);
727
733 void ComputeDampingIndicators(SmartPtr<const Vector>& dampind_x_L,
734 SmartPtr<const Vector>& dampind_x_U,
735 SmartPtr<const Vector>& dampind_s_L,
736 SmartPtr<const Vector>& dampind_s_U);
737
744 bool in_restoration_phase();
745
747 };
748
749 } // namespace Ipopt
750
751 #endif
Ipopt::IpoptCalculatedQuantities::curr_nlp_error_cache_
CachedResults< Number > curr_nlp_error_cache_
Definition: IpIpoptCalculatedQuantities.hpp:604
Ipopt::IpoptCalculatedQuantities::dampind_s_U_
SmartPtr< Vector > dampind_s_U_
Indicator vector for selecting the elements in s that have only upper bounds.
Definition: IpIpoptCalculatedQuantities.hpp:645
Ipopt::IpoptCalculatedQuantities::dampind_s_L_
SmartPtr< Vector > dampind_s_L_
Indicator vector for selecting the elements in s that have only lower bounds.
Definition: IpIpoptCalculatedQuantities.hpp:642
Ipopt::IpoptCalculatedQuantities::trial_primal_dual_system_error
virtual Number trial_primal_dual_system_error(Number mu)
Norm of the primal-dual system for a given mu (at trial iterate).
Ipopt::IsValid
bool IsValid(const SmartPtr< U > &smart_ptr)
Definition: IpSmartPtr.hpp:579
Ipopt::IpoptCalculatedQuantities::trial_avrg_compl_cache_
CachedResults< Number > trial_avrg_compl_cache_
Cache for average of trial complementarity.
Definition: IpIpoptCalculatedQuantities.hpp:626
Ipopt::IpoptCalculatedQuantities::curr_constraint_violation_cache_
CachedResults< Number > curr_constraint_violation_cache_
Definition: IpIpoptCalculatedQuantities.hpp:566
x
Number * x
Input: Starting point Output: Optimal solution.
Definition: IpStdCInterface.h:238
Ipopt::IpoptCalculatedQuantities::tmp_s_U_
SmartPtr< Vector > tmp_s_U_
Definition: IpIpoptCalculatedQuantities.hpp:659
Ipopt::IpoptCalculatedQuantities::curr_slack_x_L
SmartPtr< const Vector > curr_slack_x_L()
Slacks for x_L (at current iterate)
Ipopt::IpoptCalculatedQuantities::dampind_x_U_
SmartPtr< Vector > dampind_x_U_
Indicator vector for selecting the elements in x that have only upper bounds.
Definition: IpIpoptCalculatedQuantities.hpp:639
Ipopt::IpoptCalculatedQuantities::curr_jac_d_times_vec
SmartPtr< const Vector > curr_jac_d_times_vec(const Vector &vec)
Product of Jacobian (evaluated at current point) of D with general vector.
Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_x_L_cache_
CachedResults< SmartPtr< const Vector > > curr_relaxed_compl_x_L_cache_
Definition: IpIpoptCalculatedQuantities.hpp:592
Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_x_U
SmartPtr< const Vector > curr_relaxed_compl_x_U()
Relaxed complementarity for x_U (for current iterate and current mu)
Ipopt::IpoptCalculatedQuantities::curr_d_minus_s_cache_
CachedResults< SmartPtr< const Vector > > curr_d_minus_s_cache_
Definition: IpIpoptCalculatedQuantities.hpp:554
Ipopt::IpoptCalculatedQuantities::num_adjusted_slack_s_L_
Index num_adjusted_slack_s_L_
Definition: IpIpoptCalculatedQuantities.hpp:526
Ipopt::IpoptCalculatedQuantities::curr_sigma_s
SmartPtr< const Vector > curr_sigma_s()
Ipopt::IpoptCalculatedQuantities
Class for all IPOPT specific calculated quantities.
Definition: IpIpoptCalculatedQuantities.hpp:81
Ipopt::IpoptCalculatedQuantities::trial_jac_cT_times_vec
SmartPtr< const Vector > trial_jac_cT_times_vec(const Vector &vec)
Product of Jacobian (evaluated at trial point) of C transpose with general vector.
Ipopt::IpoptCalculatedQuantities::CalcNormOfType
Number CalcNormOfType(ENormType NormType, std::vector< SmartPtr< const Vector > > vecs)
Compute the norm of a specific type of a set of vectors (uncached)
Ipopt::IpoptCalculatedQuantities::trial_f_cache_
CachedResults< Number > trial_f_cache_
Definition: IpIpoptCalculatedQuantities.hpp:533
Ipopt::IpoptCalculatedQuantities::curr_compl_s_L
SmartPtr< const Vector > curr_compl_s_L()
Complementarity for s_L (for current iterate)
Ipopt::IpoptCalculatedQuantities::grad_kappa_times_damping_x
SmartPtr< const Vector > grad_kappa_times_damping_x()
Gradient of the damping term with respect to x (times kappa_d)
Ipopt::IpoptCalculatedQuantities::trial_constraint_violation_cache_
CachedResults< Number > trial_constraint_violation_cache_
Definition: IpIpoptCalculatedQuantities.hpp:567
Ipopt::IpoptAdditionalCq::~IpoptAdditionalCq
virtual ~IpoptAdditionalCq()
Default destructor.
Definition: IpIpoptCalculatedQuantities.hpp:50
Ipopt::IpoptCalculatedQuantities::dual_frac_to_the_bound_cache_
CachedResults< Number > dual_frac_to_the_bound_cache_
Definition: IpIpoptCalculatedQuantities.hpp:614
Ipopt::IpoptCalculatedQuantities::trial_grad_lag_s
SmartPtr< const Vector > trial_grad_lag_s()
s-part of gradient of Lagrangian function (at trial point)
Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_s_U
SmartPtr< const Vector > curr_relaxed_compl_s_U()
Relaxed complementarity for s_U (for current iterate and current mu)
Ipopt::IpoptCalculatedQuantities::curr_centrality_measure_cache_
CachedResults< Number > curr_centrality_measure_cache_
Definition: IpIpoptCalculatedQuantities.hpp:603
Ipopt::IpoptCalculatedQuantities::unscaled_curr_nlp_error
virtual Number unscaled_curr_nlp_error()
Total optimality error for the original NLP at the current iterate, but using no scaling based on mul...
Ipopt::IpoptCalculatedQuantities::curr_jac_cT_times_vec
SmartPtr< const Vector > curr_jac_cT_times_vec(const Vector &vec)
Product of Jacobian (evaluated at current point) of C transpose with general vector.
Ipopt::IpoptCalculatedQuantities::unscaled_curr_c
SmartPtr< const Vector > unscaled_curr_c()
unscaled c(x) (at current point)
Ipopt::IpoptCalculatedQuantities::curr_centrality_measure
virtual Number curr_centrality_measure()
Centrality measure at current point.
Ipopt::IpoptCalculatedQuantities::curr_dual_infeasibility
virtual Number curr_dual_infeasibility(ENormType NormType)
Dual infeasibility in a given norm (at current iterate)
Ipopt::IpoptCalculatedQuantities::CalculateSafeSlack
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.
Ipopt::IpoptCalculatedQuantities::curr_d_minus_s
SmartPtr< const Vector > curr_d_minus_s()
d(x) - s (at current point)
Ipopt::IpoptCalculatedQuantities::curr_jac_d
SmartPtr< const Matrix > curr_jac_d()
Jacobian of d (at current point)
Ipopt::IpoptCalculatedQuantities::IsSquareProblem
bool IsSquareProblem() const
Method returning true if this is a square problem.
Ipopt::IpoptCalculatedQuantities::curr_dual_frac_to_the_bound
Number curr_dual_frac_to_the_bound(Number tau)
Fraction to the boundary from (current) dual variables z and v for internal (current) step...
Ipopt::IpoptCalculatedQuantities::curr_compl_x_L
SmartPtr< const Vector > curr_compl_x_L()
Complementarity for x_L (for current iterate)
Ipopt::IpoptCalculatedQuantities::curr_slack_s_L_cache_
CachedResults< SmartPtr< Vector > > curr_slack_s_L_cache_
Definition: IpIpoptCalculatedQuantities.hpp:518
Ipopt::IpoptCalculatedQuantities::trial_jac_dT_times_trial_y_d
SmartPtr< const Vector > trial_jac_dT_times_trial_y_d()
Product of Jacobian (evaluated at trial point) of D transpose with trial y_d.
Ipopt::IpoptCalculatedQuantities::curr_slack_s_L
SmartPtr< const Vector > curr_slack_s_L()
Slacks for s_L (at current iterate)
Ipopt::IpoptCalculatedQuantities::curr_f
virtual Number curr_f()
Value of objective function (at current point)
Ipopt::IpoptCalculatedQuantities::Tmp_x_U
Vector & Tmp_x_U()
Ipopt::IpoptCalculatedQuantities::trial_complementarity
virtual Number trial_complementarity(Number mu, ENormType NormType)
Complementarity (for all complementarity conditions together) in a given norm (at trial iterate) ...
Ipopt::IpoptCalculatedQuantities::tmp_c_
SmartPtr< Vector > tmp_c_
Definition: IpIpoptCalculatedQuantities.hpp:654
Ipopt::IpoptCalculatedQuantities::curr_jac_c_times_vec
SmartPtr< const Vector > curr_jac_c_times_vec(const Vector &vec)
Product of Jacobian (evaluated at current point) of C with general vector.
Ipopt::IpoptCalculatedQuantities::ip_nlp_
SmartPtr< IpoptNLP > ip_nlp_
Ipopt NLP object.
Definition: IpIpoptCalculatedQuantities.hpp:486
Ipopt::IpoptCalculatedQuantities::curr_compl_x_U
SmartPtr< const Vector > curr_compl_x_U()
Complementarity for x_U (for current iterate)
Ipopt::IpoptCalculatedQuantities::CalcCompl
SmartPtr< const Vector > CalcCompl(const Vector &slack, const Vector &mult)
Compute complementarity for slack / multiplier pair.
Ipopt::IpoptCalculatedQuantities::trial_slack_x_L_cache_
CachedResults< SmartPtr< Vector > > trial_slack_x_L_cache_
Definition: IpIpoptCalculatedQuantities.hpp:520
Ipopt::IpoptCalculatedQuantities::CalcCentralityMeasure
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.
Ipopt::IpoptCalculatedQuantities::grad_kappa_times_damping_x_cache_
CachedResults< SmartPtr< const Vector > > grad_kappa_times_damping_x_cache_
Definition: IpIpoptCalculatedQuantities.hpp:544
Ipopt::IpoptCalculatedQuantities::trial_jac_d_cache_
CachedResults< SmartPtr< const Matrix > > trial_jac_d_cache_
Definition: IpIpoptCalculatedQuantities.hpp:559
Ipopt::IpoptCalculatedQuantities::trial_constraint_violation
virtual Number trial_constraint_violation()
Constraint Violation (at trial point).
Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_x_L
SmartPtr< const Vector > curr_relaxed_compl_x_L()
Relaxed complementarity for x_L (for current iterate and current mu)
Ipopt::IpoptCalculatedQuantities::unscaled_curr_nlp_error_cache_
CachedResults< Number > unscaled_curr_nlp_error_cache_
Definition: IpIpoptCalculatedQuantities.hpp:605
Ipopt::IpoptCalculatedQuantities::curr_compl_x_L_cache_
CachedResults< SmartPtr< const Vector > > curr_compl_x_L_cache_
Definition: IpIpoptCalculatedQuantities.hpp:584
Ipopt::IpoptCalculatedQuantities::num_adjusted_slack_s_U_
Index num_adjusted_slack_s_U_
Definition: IpIpoptCalculatedQuantities.hpp:527
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Ipopt::IpoptCalculatedQuantities::trial_jac_dT_times_vec_cache_
CachedResults< SmartPtr< const Vector > > trial_jac_dT_times_vec_cache_
Definition: IpIpoptCalculatedQuantities.hpp:563
Ipopt::IpoptCalculatedQuantities::dampind_x_L_
SmartPtr< Vector > dampind_x_L_
Indicator vector for selecting the elements in x that have only lower bounds.
Definition: IpIpoptCalculatedQuantities.hpp:636
Ipopt::Vector
Vector Base Class.
Definition: IpVector.hpp:47
Ipopt::IpoptCalculatedQuantities::trial_primal_infeasibility_cache_
CachedResults< Number > trial_primal_infeasibility_cache_
Definition: IpIpoptCalculatedQuantities.hpp:597
Ipopt::IpoptCalculatedQuantities::trial_c_cache_
CachedResults< SmartPtr< const Vector > > trial_c_cache_
Definition: IpIpoptCalculatedQuantities.hpp:551
Ipopt::IpoptCalculatedQuantities::Tmp_x_L
Vector & Tmp_x_L()
Ipopt::IpoptCalculatedQuantities::curr_grad_lag_with_damping_s
SmartPtr< const Vector > curr_grad_lag_with_damping_s()
s-part of gradient of Lagrangian function (at current point) including linear damping term ...
Ipopt::IpoptCalculatedQuantities::trial_compl_s_L
SmartPtr< const Vector > trial_compl_s_L()
Complementarity for s_L (for trial iterate)
Ipopt::IpoptCalculatedQuantities::trial_compl_s_U
SmartPtr< const Vector > trial_compl_s_U()
Complementarity for s_U (for trial iterate)
Ipopt::IpoptCalculatedQuantities::unscaled_curr_dual_infeasibility
virtual Number unscaled_curr_dual_infeasibility(ENormType NormType)
Unscaled dual infeasibility in a given norm (at current iterate)
Ipopt::IpoptCalculatedQuantities::curr_primal_infeasibility
virtual Number curr_primal_infeasibility(ENormType NormType)
Primal infeasibility in a given norm (at current iterate).
Ipopt::IpoptCalculatedQuantities::curr_exact_hessian_cache_
CachedResults< SmartPtr< const SymMatrix > > curr_exact_hessian_cache_
Cache for the exact Hessian.
Definition: IpIpoptCalculatedQuantities.hpp:574
Ipopt::IpoptCalculatedQuantities::trial_slack_s_U_cache_
CachedResults< SmartPtr< Vector > > trial_slack_s_U_cache_
Definition: IpIpoptCalculatedQuantities.hpp:523
IpCachedResults.hpp
Ipopt::IpoptCalculatedQuantities::trial_d_cache_
CachedResults< SmartPtr< const Vector > > trial_d_cache_
Definition: IpIpoptCalculatedQuantities.hpp:553
Ipopt::IpoptCalculatedQuantities::s_max_
Number s_max_
Parameter in formula for computing overall primal-dual optimality error.
Definition: IpIpoptCalculatedQuantities.hpp:499
Ipopt::IpoptCalculatedQuantities::curr_primal_dual_system_error_cache_
CachedResults< Number > curr_primal_dual_system_error_cache_
Definition: IpIpoptCalculatedQuantities.hpp:607
Ipopt::IpoptCalculatedQuantities::curr_complementarity_cache_
CachedResults< Number > curr_complementarity_cache_
Definition: IpIpoptCalculatedQuantities.hpp:601
Ipopt::IpoptCalculatedQuantities::curr_grad_lag_with_damping_s_cache_
CachedResults< SmartPtr< const Vector > > curr_grad_lag_with_damping_s_cache_
Definition: IpIpoptCalculatedQuantities.hpp:583
Ipopt::IpoptCalculatedQuantities::CalcFracToBound
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.
Ipopt::IpoptCalculatedQuantities::curr_sigma_x_cache_
CachedResults< SmartPtr< const Vector > > curr_sigma_x_cache_
Definition: IpIpoptCalculatedQuantities.hpp:619
Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_s_U_cache_
CachedResults< SmartPtr< const Vector > > curr_relaxed_compl_s_U_cache_
Definition: IpIpoptCalculatedQuantities.hpp:595
Ipopt::IpoptCalculatedQuantities::curr_nlp_error
virtual Number curr_nlp_error()
Total optimality error for the original NLP at the current iterate, using scaling factors based on mu...
Ipopt::IpoptCalculatedQuantities::unscaled_trial_c
SmartPtr< const Vector > unscaled_trial_c()
unscaled c(x) (at trial point)
Ipopt::IpoptCalculatedQuantities::trial_compl_x_L
SmartPtr< const Vector > trial_compl_x_L()
Complementarity for x_L (for trial iterate)
Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_x_U_cache_
CachedResults< SmartPtr< const Vector > > curr_relaxed_compl_x_U_cache_
Definition: IpIpoptCalculatedQuantities.hpp:593
Ipopt::IpoptCalculatedQuantities::mu_target_
Number mu_target_
Desired value of the barrier parameter.
Definition: IpIpoptCalculatedQuantities.hpp:511
Ipopt::IpoptCalculatedQuantities::trial_barrier_obj
virtual Number trial_barrier_obj()
Barrier Objective Function Value (at trial point with current mu)
Ipopt::IpoptCalculatedQuantities::unscaled_trial_nlp_constraint_violation_cache_
CachedResults< Number > unscaled_trial_nlp_constraint_violation_cache_
Definition: IpIpoptCalculatedQuantities.hpp:570
Ipopt::IpoptCalculatedQuantities::trial_jac_c_cache_
CachedResults< SmartPtr< const Matrix > > trial_jac_c_cache_
Definition: IpIpoptCalculatedQuantities.hpp:557
Ipopt::IpoptCalculatedQuantities::AdditionalCq
IpoptAdditionalCq & AdditionalCq()
Definition: IpIpoptCalculatedQuantities.hpp:452
Ipopt::IpoptCalculatedQuantities::curr_jac_c_times_vec_cache_
CachedResults< SmartPtr< const Vector > > curr_jac_c_times_vec_cache_
Definition: IpIpoptCalculatedQuantities.hpp:564
Ipopt::IpoptCalculatedQuantities::curr_compl_s_U_cache_
CachedResults< SmartPtr< const Vector > > curr_compl_s_U_cache_
Definition: IpIpoptCalculatedQuantities.hpp:587
Ipopt::IpoptCalculatedQuantities::curr_barrier_obj_cache_
CachedResults< Number > curr_barrier_obj_cache_
Definition: IpIpoptCalculatedQuantities.hpp:540
Ipopt::NORM_1
Definition: IpIpoptCalculatedQuantities.hpp:30
Ipopt::IpoptCalculatedQuantities::curr_jac_dT_times_vec_cache_
CachedResults< SmartPtr< const Vector > > curr_jac_dT_times_vec_cache_
Definition: IpIpoptCalculatedQuantities.hpp:562
Ipopt::IpoptCalculatedQuantities::curr_slack_x_U_cache_
CachedResults< SmartPtr< Vector > > curr_slack_x_U_cache_
Definition: IpIpoptCalculatedQuantities.hpp:517
Ipopt::IpoptCalculatedQuantities::CalcBarrierTerm
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)
Ipopt::IpoptCalculatedQuantities::curr_grad_barrier_obj_s_cache_
CachedResults< SmartPtr< const Vector > > curr_grad_barrier_obj_s_cache_
Definition: IpIpoptCalculatedQuantities.hpp:543
Ipopt::IpoptCalculatedQuantities::unscaled_curr_complementarity
virtual Number unscaled_curr_complementarity(Number mu, ENormType NormType)
Complementarity (for all complementarity conditions together) in a given norm (at current iterate) wi...
Ipopt::IpoptCalculatedQuantities::curr_sigma_x
SmartPtr< const Vector > curr_sigma_x()
Ipopt::IpoptCalculatedQuantities::in_restoration_phase
bool in_restoration_phase()
Check if we are in the restoration phase.
Ipopt::IpoptCalculatedQuantities::grad_kappa_times_damping_s_cache_
CachedResults< SmartPtr< const Vector > > grad_kappa_times_damping_s_cache_
Definition: IpIpoptCalculatedQuantities.hpp:545
Ipopt::IpoptCalculatedQuantities::trial_grad_f_cache_
CachedResults< SmartPtr< const Vector > > trial_grad_f_cache_
Definition: IpIpoptCalculatedQuantities.hpp:535
Ipopt::IpoptCalculatedQuantities::trial_barrier_obj_cache_
CachedResults< Number > trial_barrier_obj_cache_
Definition: IpIpoptCalculatedQuantities.hpp:541
Ipopt::IpoptCalculatedQuantities::CalcSlack_L
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)
Ipopt::IpoptCalculatedQuantities::trial_d
SmartPtr< const Vector > trial_d()
d(x) (at trial point)
Ipopt::IpoptCalculatedQuantities::curr_barrier_error
virtual Number curr_barrier_error()
Total optimality error for the barrier problem at the current iterate, using scaling factors based on...
Ipopt::IpoptCalculatedQuantities::trial_slack_x_L
SmartPtr< const Vector > trial_slack_x_L()
Slacks for x_L (at trial point)
Ipopt::IpoptCalculatedQuantities::trial_slack_s_L_cache_
CachedResults< SmartPtr< Vector > > trial_slack_s_L_cache_
Definition: IpIpoptCalculatedQuantities.hpp:522
Ipopt::IpoptCalculatedQuantities::trial_slack_s_L
SmartPtr< const Vector > trial_slack_s_L()
Slacks for s_L (at trial point)
Ipopt::IpoptCalculatedQuantities::curr_gradBarrTDelta_cache_
CachedResults< Number > curr_gradBarrTDelta_cache_
Cache for grad barrier obj.
Definition: IpIpoptCalculatedQuantities.hpp:629
Ipopt::IpoptCalculatedQuantities::trial_grad_lag_x
SmartPtr< const Vector > trial_grad_lag_x()
x-part of gradient of Lagrangian function (at trial point)
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::IpoptCalculatedQuantities::trial_d_minus_s_cache_
CachedResults< SmartPtr< const Vector > > trial_d_minus_s_cache_
Definition: IpIpoptCalculatedQuantities.hpp:555
Ipopt::ENormType
ENormType
Norm types.
Definition: IpIpoptCalculatedQuantities.hpp:29
Ipopt::IpoptCalculatedQuantities::trial_jac_c
SmartPtr< const Matrix > trial_jac_c()
Jacobian of c (at trial point)
Ipopt::ReferencedObject
ReferencedObject class.
Definition: IpReferenced.hpp:174
Ipopt::IpoptCalculatedQuantities::curr_f_cache_
CachedResults< Number > curr_f_cache_
Definition: IpIpoptCalculatedQuantities.hpp:532
Ipopt::IpoptCalculatedQuantities::trial_c
SmartPtr< const Vector > trial_c()
c(x) (at trial point)
Ipopt::NORM_2
Definition: IpIpoptCalculatedQuantities.hpp:31
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::IpoptCalculatedQuantities::ResetAdjustedTrialSlacks
void ResetAdjustedTrialSlacks()
Reset the flags for &quot;fudged&quot; slacks.
Ipopt::IpoptCalculatedQuantities::add_cq_
SmartPtr< IpoptAdditionalCq > add_cq_
Chen-Goldfarb specific calculated quantities.
Definition: IpIpoptCalculatedQuantities.hpp:490
Ipopt::IpoptCalculatedQuantities::trial_compl_x_U
SmartPtr< const Vector > trial_compl_x_U()
Complementarity for x_U (for trial iterate)
Ipopt::IpoptCalculatedQuantities::trial_compl_s_U_cache_
CachedResults< SmartPtr< const Vector > > trial_compl_s_U_cache_
Definition: IpIpoptCalculatedQuantities.hpp:591
Ipopt::IpoptCalculatedQuantities::curr_slack_x_L_cache_
CachedResults< SmartPtr< Vector > > curr_slack_x_L_cache_
Definition: IpIpoptCalculatedQuantities.hpp:516
Ipopt::IpoptAdditionalCq::IpoptAdditionalCq
IpoptAdditionalCq()
Default Constructor.
Definition: IpIpoptCalculatedQuantities.hpp:46
Ipopt::IpoptCalculatedQuantities::curr_grad_f_cache_
CachedResults< SmartPtr< const Vector > > curr_grad_f_cache_
Definition: IpIpoptCalculatedQuantities.hpp:534
Ipopt::IpoptCalculatedQuantities::kappa_d_
Number kappa_d_
Weighting factor for the linear damping term added to the barrier objective funciton.
Definition: IpIpoptCalculatedQuantities.hpp:502
Ipopt::IpoptCalculatedQuantities::curr_complementarity
virtual Number curr_complementarity(Number mu, ENormType NormType)
Complementarity (for all complementarity conditions together) in a given norm (at current iterate) ...
Ipopt::IpoptCalculatedQuantities::primal_frac_to_the_bound_cache_
CachedResults< Number > primal_frac_to_the_bound_cache_
Definition: IpIpoptCalculatedQuantities.hpp:613
Ipopt::IpoptCalculatedQuantities::trial_compl_x_U_cache_
CachedResults< SmartPtr< const Vector > > trial_compl_x_U_cache_
Definition: IpIpoptCalculatedQuantities.hpp:589
Ipopt::IpoptCalculatedQuantities::tmp_x_L_
SmartPtr< Vector > tmp_x_L_
Definition: IpIpoptCalculatedQuantities.hpp:656
Ipopt::IpoptCalculatedQuantities::curr_d_cache_
CachedResults< SmartPtr< const Vector > > curr_d_cache_
Definition: IpIpoptCalculatedQuantities.hpp:552
Ipopt::IpoptCalculatedQuantities::GetIpoptNLP
SmartPtr< IpoptNLP > & GetIpoptNLP()
Method returning the IpoptNLP object.
Definition: IpIpoptCalculatedQuantities.hpp:447
Ipopt::IpoptCalculatedQuantities::Tmp_s_U
Vector & Tmp_s_U()
Ipopt::IpoptCalculatedQuantities::tmp_x_U_
SmartPtr< Vector > tmp_x_U_
Definition: IpIpoptCalculatedQuantities.hpp:657
Ipopt::IpoptCalculatedQuantities::slack_move_
Number slack_move_
fractional movement allowed in bounds
Definition: IpIpoptCalculatedQuantities.hpp:504
Ipopt::IpoptCalculatedQuantities::operator=
void operator=(const IpoptCalculatedQuantities &)
Overloaded Equals Operator.
Ipopt::IpoptCalculatedQuantities::unscaled_curr_dual_infeasibility_cache_
CachedResults< Number > unscaled_curr_dual_infeasibility_cache_
Definition: IpIpoptCalculatedQuantities.hpp:600
Ipopt::IpoptCalculatedQuantities::trial_compl_s_L_cache_
CachedResults< SmartPtr< const Vector > > trial_compl_s_L_cache_
Definition: IpIpoptCalculatedQuantities.hpp:590
Ipopt::IpoptCalculatedQuantities::curr_jac_cT_times_curr_y_c
SmartPtr< const Vector > curr_jac_cT_times_curr_y_c()
Product of Jacobian (evaluated at current point) of C transpose with current y_c. ...
Ipopt::Matrix
Matrix Base Class.
Definition: IpMatrix.hpp:27
Ipopt::CachedResults
Cache Priority Enum.
Definition: IpCachedResults.hpp:70
Ipopt::IpoptCalculatedQuantities::grad_kappa_times_damping_s
SmartPtr< const Vector > grad_kappa_times_damping_s()
Gradient of the damping term with respect to s (times kappa_d)
Ipopt::IpoptCalculatedQuantities::curr_barrier_error_cache_
CachedResults< Number > curr_barrier_error_cache_
Definition: IpIpoptCalculatedQuantities.hpp:606
Ipopt::IpoptCalculatedQuantities::curr_grad_lag_s
SmartPtr< const Vector > curr_grad_lag_s()
s-part of gradient of Lagrangian function (at current point)
Ipopt::IpoptCalculatedQuantities::curr_slack_x_U
SmartPtr< const Vector > curr_slack_x_U()
Slacks for x_U (at current iterate)
Ipopt::IpoptCalculatedQuantities::Tmp_d
Vector & Tmp_d()
Ipopt::IpoptCalculatedQuantities::unscaled_curr_f
virtual Number unscaled_curr_f()
Unscaled value of the objective function (at the current point)
Ipopt::IpoptCalculatedQuantities::curr_jac_d_cache_
CachedResults< SmartPtr< const Matrix > > curr_jac_d_cache_
Definition: IpIpoptCalculatedQuantities.hpp:558
Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_s_L
SmartPtr< const Vector > curr_relaxed_compl_s_L()
Relaxed complementarity for s_L (for current iterate and current mu)
Ipopt::IpoptCalculatedQuantities::uncached_dual_frac_to_the_bound
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...
Ipopt::IpoptCalculatedQuantities::trial_f
virtual Number trial_f()
Value of objective function (at trial point)
Ipopt::IpoptCalculatedQuantities::curr_jac_dT_times_vec
SmartPtr< const Vector > curr_jac_dT_times_vec(const Vector &vec)
Product of Jacobian (evaluated at current point) of D transpose with general vector.
Ipopt::IpoptCalculatedQuantities::uncached_slack_frac_to_the_bound
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.
Ipopt::IpoptCalculatedQuantities::curr_slack_s_U
SmartPtr< const Vector > curr_slack_s_U()
Slacks for s_U (at current iterate)
Ipopt::IpoptCalculatedQuantities::curr_c
SmartPtr< const Vector > curr_c()
c(x) (at current point)
Ipopt::IpoptCalculatedQuantities::unscaled_curr_nlp_constraint_violation
virtual Number unscaled_curr_nlp_constraint_violation(ENormType NormType)
Unscaled real constraint violation in a given norm (at current iterate).
Ipopt::IpoptCalculatedQuantities::curr_dual_infeasibility_cache_
CachedResults< Number > curr_dual_infeasibility_cache_
Definition: IpIpoptCalculatedQuantities.hpp:598
Ipopt::IpoptCalculatedQuantities::curr_jac_c
SmartPtr< const Matrix > curr_jac_c()
Jacobian of c (at current point)
Ipopt::IpoptCalculatedQuantities::trial_primal_infeasibility
virtual Number trial_primal_infeasibility(ENormType NormType)
Primal infeasibility in a given norm (at trial point)
Ipopt::IpoptCalculatedQuantities::curr_compl_s_L_cache_
CachedResults< SmartPtr< const Vector > > curr_compl_s_L_cache_
Definition: IpIpoptCalculatedQuantities.hpp:586
Ipopt::IpoptCalculatedQuantities::curr_grad_barrier_obj_x
SmartPtr< const Vector > curr_grad_barrier_obj_x()
Gradient of barrier objective function with respect to x (at current point with current mu) ...
Ipopt::IpoptCalculatedQuantities::curr_gradBarrTDelta
Number curr_gradBarrTDelta()
inner_product of current barrier obj.
Ipopt::IpoptCalculatedQuantities::trial_slack_x_U
SmartPtr< const Vector > trial_slack_x_U()
Slacks for x_U (at trial point)
Ipopt::IpoptCalculatedQuantities::curr_slack_s_U_cache_
CachedResults< SmartPtr< Vector > > curr_slack_s_U_cache_
Definition: IpIpoptCalculatedQuantities.hpp:519
Ipopt::IpoptCalculatedQuantities::ComputeDampingIndicators
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_...
Ipopt::IpoptCalculatedQuantities::trial_primal_dual_system_error_cache_
CachedResults< Number > trial_primal_dual_system_error_cache_
Definition: IpIpoptCalculatedQuantities.hpp:608
Ipopt::Index
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
Ipopt::IpoptCalculatedQuantities::trial_jac_dT_times_vec
SmartPtr< const Vector > trial_jac_dT_times_vec(const Vector &vec)
Product of Jacobian (evaluated at trial point) of D transpose with general vector.
Ipopt::IpoptCalculatedQuantities::num_adjusted_slack_x_U_
Index num_adjusted_slack_x_U_
Definition: IpIpoptCalculatedQuantities.hpp:525
Ipopt::IpoptCalculatedQuantities::trial_jac_cT_times_trial_y_c
SmartPtr< const Vector > trial_jac_cT_times_trial_y_c()
Product of Jacobian (evaluated at trial point) of C transpose with trial y_c.
Ipopt::IpoptCalculatedQuantities::trial_jac_d
SmartPtr< const Matrix > trial_jac_d()
Jacobian of d (at trial point)
DBG_ASSERT
#define DBG_ASSERT(test)
Definition: IpDebug.hpp:38
Ipopt::IpoptCalculatedQuantities::curr_compl_x_U_cache_
CachedResults< SmartPtr< const Vector > > curr_compl_x_U_cache_
Definition: IpIpoptCalculatedQuantities.hpp:585
Ipopt::IpoptCalculatedQuantities::curr_primal_frac_to_the_bound
Number curr_primal_frac_to_the_bound(Number tau)
Fraction to the boundary from (current) primal variables x and s for internal (current) step...
Ipopt::IpoptCalculatedQuantities::curr_compl_s_U
SmartPtr< const Vector > curr_compl_s_U()
Complementarity for s_U (for current iterate)
Ipopt::IpoptAdditionalCq::Initialize
virtual bool Initialize(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)=0
This method is called to initialize the global algorithmic parameters.
Ipopt::IpoptCalculatedQuantities::tmp_d_
SmartPtr< Vector > tmp_d_
Definition: IpIpoptCalculatedQuantities.hpp:655
Ipopt::IpoptCalculatedQuantities::tmp_x_
SmartPtr< Vector > tmp_x_
Definition: IpIpoptCalculatedQuantities.hpp:652
Ipopt::IpoptCalculatedQuantities::curr_avrg_compl
Number curr_avrg_compl()
average of current values of the complementarities
Ipopt::IpoptCalculatedQuantities::unscaled_curr_d
SmartPtr< const Vector > unscaled_curr_d()
unscaled d(x) (at current point)
Ipopt::IpoptCalculatedQuantities::Tmp_s_L
Vector & Tmp_s_L()
Ipopt::IpoptCalculatedQuantities::trial_avrg_compl
Number trial_avrg_compl()
average of trial values of the complementarities
Ipopt::IpoptCalculatedQuantities::CalcSlack_U
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)
Ipopt::IpoptCalculatedQuantities::primal_frac_to_the_bound
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.
Ipopt::IpoptCalculatedQuantities::trial_dual_infeasibility
virtual Number trial_dual_infeasibility(ENormType NormType)
Dual infeasibility in a given norm (at trial iterate)
Ipopt::IpoptCalculatedQuantities::curr_sigma_s_cache_
CachedResults< SmartPtr< const Vector > > curr_sigma_s_cache_
Definition: IpIpoptCalculatedQuantities.hpp:620
Ipopt::IpoptCalculatedQuantities::unscaled_trial_f
virtual Number unscaled_trial_f()
Unscaled value of the objective function (at the trial point)
Ipopt::IpoptCalculatedQuantities::trial_grad_lag_x_cache_
CachedResults< SmartPtr< const Vector > > trial_grad_lag_x_cache_
Definition: IpIpoptCalculatedQuantities.hpp:579
Ipopt::IpoptCalculatedQuantities::curr_jac_cT_times_vec_cache_
CachedResults< SmartPtr< const Vector > > curr_jac_cT_times_vec_cache_
Definition: IpIpoptCalculatedQuantities.hpp:560
Ipopt::IpoptCalculatedQuantities::Tmp_c
Vector & Tmp_c()
Ipopt::IpoptCalculatedQuantities::curr_primal_infeasibility_cache_
CachedResults< Number > curr_primal_infeasibility_cache_
Definition: IpIpoptCalculatedQuantities.hpp:596
Ipopt::IpoptCalculatedQuantities::SetAddCq
void SetAddCq(SmartPtr< IpoptAdditionalCq > add_cq)
Method for setting pointer for additional calculated quantities.
Definition: IpIpoptCalculatedQuantities.hpp:96
Ipopt::IpoptCalculatedQuantities::curr_d
SmartPtr< const Vector > curr_d()
d(x) (at current point)
Ipopt::IpoptCalculatedQuantities::curr_c_cache_
CachedResults< SmartPtr< const Vector > > curr_c_cache_
Definition: IpIpoptCalculatedQuantities.hpp:550
Ipopt::IpoptCalculatedQuantities::curr_relaxed_compl_s_L_cache_
CachedResults< SmartPtr< const Vector > > curr_relaxed_compl_s_L_cache_
Definition: IpIpoptCalculatedQuantities.hpp:594
Ipopt::IpoptCalculatedQuantities::initialize_called_
bool initialize_called_
flag indicating if Initialize method has been called (for debugging)
Definition: IpIpoptCalculatedQuantities.hpp:674
Ipopt::IpoptCalculatedQuantities::curr_jac_c_cache_
CachedResults< SmartPtr< const Matrix > > curr_jac_c_cache_
Definition: IpIpoptCalculatedQuantities.hpp:556
Ipopt::IpoptCalculatedQuantities::trial_slack_x_U_cache_
CachedResults< SmartPtr< Vector > > trial_slack_x_U_cache_
Definition: IpIpoptCalculatedQuantities.hpp:521
Ipopt::IpoptCalculatedQuantities::unscaled_trial_nlp_constraint_violation
virtual Number unscaled_trial_nlp_constraint_violation(ENormType NormType)
Unscaled real constraint violation in a given norm (at trial iterate).
Ipopt::IpoptCalculatedQuantities::trial_dual_infeasibility_cache_
CachedResults< Number > trial_dual_infeasibility_cache_
Definition: IpIpoptCalculatedQuantities.hpp:599
Ipopt::Journalist
Class responsible for all message output.
Definition: IpJournalist.hpp:134
Ipopt::IpoptCalculatedQuantities::tmp_s_
SmartPtr< Vector > tmp_s_
Definition: IpIpoptCalculatedQuantities.hpp:653
Ipopt::IpoptCalculatedQuantities::curr_avrg_compl_cache_
CachedResults< Number > curr_avrg_compl_cache_
Cache for average of current complementarity.
Definition: IpIpoptCalculatedQuantities.hpp:624
Ipopt::IpoptCalculatedQuantities::curr_grad_barrier_obj_x_cache_
CachedResults< SmartPtr< const Vector > > curr_grad_barrier_obj_x_cache_
Definition: IpIpoptCalculatedQuantities.hpp:542
Ipopt::IpoptCalculatedQuantities::curr_barrier_obj
virtual Number curr_barrier_obj()
Barrier Objective Function Value (at current iterate with current mu)
Ipopt::IpoptCalculatedQuantities::curr_nlp_constraint_violation_cache_
CachedResults< Number > curr_nlp_constraint_violation_cache_
Definition: IpIpoptCalculatedQuantities.hpp:568
Ipopt::IpoptCalculatedQuantities::warm_start_same_structure_
bool warm_start_same_structure_
Flag indicating whether the TNLP with identical structure has already been solved before...
Definition: IpIpoptCalculatedQuantities.hpp:509
Ipopt::IpoptCalculatedQuantities::AdjustedTrialSlacks
Index AdjustedTrialSlacks()
Indicating whether or not we &quot;fudged&quot; the slacks.
Ipopt::IpoptCalculatedQuantities::curr_jac_dT_times_curr_y_d
SmartPtr< const Vector > curr_jac_dT_times_curr_y_d()
Product of Jacobian (evaluated at current point) of D transpose with current y_d. ...
Ipopt::IpoptCalculatedQuantities::constr_viol_normtype
ENormType constr_viol_normtype() const
Norm type used for calculating constraint violation.
Definition: IpIpoptCalculatedQuantities.hpp:437
Ipopt::IpoptCalculatedQuantities::num_adjusted_slack_x_L_
Index num_adjusted_slack_x_L_
Definition: IpIpoptCalculatedQuantities.hpp:524
Ipopt::IpoptCalculatedQuantities::curr_exact_hessian
SmartPtr< const SymMatrix > curr_exact_hessian()
exact Hessian at current iterate (uncached)
Ipopt::IpoptCalculatedQuantities::curr_grad_f
SmartPtr< const Vector > curr_grad_f()
Gradient of objective function (at current point)
Ipopt::IpoptCalculatedQuantities::curr_grad_lag_x_cache_
CachedResults< SmartPtr< const Vector > > curr_grad_lag_x_cache_
Definition: IpIpoptCalculatedQuantities.hpp:578
Ipopt::IpoptCalculatedQuantities::Tmp_s
Vector & Tmp_s()
Ipopt::IpoptAdditionalCq::operator=
void operator=(const IpoptAdditionalCq &)
Overloaded Equals Operator.
Ipopt::IpoptCalculatedQuantities::curr_grad_lag_x
SmartPtr< const Vector > curr_grad_lag_x()
x-part of gradient of Lagrangian function (at current point)
Ipopt::IpoptCalculatedQuantities::ip_data_
SmartPtr< IpoptData > ip_data_
Ipopt Data object.
Definition: IpIpoptCalculatedQuantities.hpp:488
Ipopt::IpoptCalculatedQuantities::Initialize
bool Initialize(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
This method must be called to initialize the global algorithmic parameters.
Ipopt::NORM_MAX
Definition: IpIpoptCalculatedQuantities.hpp:32
Ipopt::IpoptCalculatedQuantities::~IpoptCalculatedQuantities
virtual ~IpoptCalculatedQuantities()
Default destructor.
Ipopt::IpoptCalculatedQuantities::IpoptCalculatedQuantities
IpoptCalculatedQuantities()
Default Constructor.
Ipopt::IpoptCalculatedQuantities::curr_constraint_violation
virtual Number curr_constraint_violation()
Constraint Violation (at current iterate).
Ipopt::IpoptCalculatedQuantities::trial_compl_x_L_cache_
CachedResults< SmartPtr< const Vector > > trial_compl_x_L_cache_
Definition: IpIpoptCalculatedQuantities.hpp:588
Ipopt::IpoptCalculatedQuantities::curr_grad_lag_with_damping_x
SmartPtr< const Vector > curr_grad_lag_with_damping_x()
x-part of gradient of Lagrangian function (at current point) including linear damping term ...
Ipopt::IpoptCalculatedQuantities::ComputeOptimalityErrorScaling
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.
Ipopt::IpoptAdditionalCq
Base class for additional calculated quantities that is special to a particular type of algorithm...
Definition: IpIpoptCalculatedQuantities.hpp:40
Ipopt::IpoptCalculatedQuantities::curr_jac_d_times_vec_cache_
CachedResults< SmartPtr< const Vector > > curr_jac_d_times_vec_cache_
Definition: IpIpoptCalculatedQuantities.hpp:565
Ipopt::IpoptCalculatedQuantities::trial_d_minus_s
SmartPtr< const Vector > trial_d_minus_s()
d(x) - s (at trial point)
Ipopt::IpoptCalculatedQuantities::trial_grad_f
SmartPtr< const Vector > trial_grad_f()
Gradient of objective function (at trial point)
Ipopt::IpoptCalculatedQuantities::trial_slack_s_U
SmartPtr< const Vector > trial_slack_s_U()
Slacks for s_U (at trial point)
Ipopt::IpoptCalculatedQuantities::tmp_s_L_
SmartPtr< Vector > tmp_s_L_
Definition: IpIpoptCalculatedQuantities.hpp:658
Ipopt::IpoptCalculatedQuantities::curr_primal_dual_system_error
virtual Number curr_primal_dual_system_error(Number mu)
Norm of the primal-dual system for a given mu (at current iterate).
IpSmartPtr.hpp
Ipopt::IpoptCalculatedQuantities::curr_grad_lag_s_cache_
CachedResults< SmartPtr< const Vector > > curr_grad_lag_s_cache_
Definition: IpIpoptCalculatedQuantities.hpp:580
Ipopt::IpoptCalculatedQuantities::constr_viol_normtype_
ENormType constr_viol_normtype_
Norm type to be used when calculating the constraint violation.
Definition: IpIpoptCalculatedQuantities.hpp:506
Ipopt::IpoptCalculatedQuantities::curr_grad_lag_with_damping_x_cache_
CachedResults< SmartPtr< const Vector > > curr_grad_lag_with_damping_x_cache_
Definition: IpIpoptCalculatedQuantities.hpp:582
Ipopt::IpoptCalculatedQuantities::trial_jac_cT_times_vec_cache_
CachedResults< SmartPtr< const Vector > > trial_jac_cT_times_vec_cache_
Definition: IpIpoptCalculatedQuantities.hpp:561
Ipopt::IpoptCalculatedQuantities::curr_grad_barrier_obj_s
SmartPtr< const Vector > curr_grad_barrier_obj_s()
Gradient of barrier objective function with respect to s (at current point with current mu) ...
Ipopt::IpoptCalculatedQuantities::dual_frac_to_the_bound
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.
Ipopt::IpoptCalculatedQuantities::unscaled_curr_nlp_constraint_violation_cache_
CachedResults< Number > unscaled_curr_nlp_constraint_violation_cache_
Definition: IpIpoptCalculatedQuantities.hpp:569
Ipopt::IpoptCalculatedQuantities::trial_grad_lag_s_cache_
CachedResults< SmartPtr< const Vector > > trial_grad_lag_s_cache_
Definition: IpIpoptCalculatedQuantities.hpp:581
Ipopt::IpoptCalculatedQuantities::HaveAddCq
bool HaveAddCq()
Method detecting if additional object for calculated quantities has already been set.
Definition: IpIpoptCalculatedQuantities.hpp:104
Ipopt::IpoptCalculatedQuantities::trial_complementarity_cache_
CachedResults< Number > trial_complementarity_cache_
Definition: IpIpoptCalculatedQuantities.hpp:602
Ipopt::IpoptCalculatedQuantities::curr_nlp_constraint_violation
virtual Number curr_nlp_constraint_violation(ENormType NormType)
Real constraint violation in a given norm (at current iterate).
Ipopt::IpoptCalculatedQuantities::Tmp_x
Vector & Tmp_x()
Accessor methods for the temporary vectors.
Ipopt::IpoptCalculatedQuantities::RegisterOptions
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.