Ipopt  3.11.9
IpInexactPDTerminationTester.hpp
Go to the documentation of this file.
1 // Copyright (C) 2008, 2011 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // $Id: IpInexactPDTerminationTester.hpp 2442 2013-11-26 11:32:00Z stefan $
6 //
7 // Authors: Andreas Waechter IBM 2008-09-19
8 
9 #ifndef __IPINEXACTPDTERMINATIONTESTER_HPP__
10 #define __IPINEXACTPDTERMINATIONTESTER_HPP__
11 
13 
14 namespace Ipopt
15 {
16 
21  {
22  public:
28 
32 
33  /* overloaded from AlgorithmStrategyObject */
34  virtual bool InitializeImpl(const OptionsList& options,
35  const std::string& prefix);
36 
39  static void RegisterOptions(SmartPtr<RegisteredOptions> roptions);
41 
44  virtual bool InitializeSolve();
45 
52  virtual ETerminationTest TestTermination(Index ndim, const Number* sol,
53  const Number* resid, Index iter,
54  Number norm2_rhs);
55 
58  virtual void Clear();
59 
62  virtual Index GetSolverIterations() const
63  {
64  return last_iter_;
65  }
66 
67  private:
79 
109 
129  SmartPtr<const Vector> curr_Wv_s_; // in original space
130  bool try_tt2_;
132 
139 
142  };
143 
144 } // namespace Ipopt
145 
146 #endif
Ipopt::InexactPDTerminationTester::inexact_desired_pd_residual_
Number inexact_desired_pd_residual_
Desired reduction of residual.
Definition: IpInexactPDTerminationTester.hpp:103
Ipopt::InexactPDTerminationTester::try_tt2_
bool try_tt2_
Definition: IpInexactPDTerminationTester.hpp:130
Ipopt::InexactPDTerminationTester::curr_Av_d_
SmartPtr< const Vector > curr_Av_d_
Definition: IpInexactPDTerminationTester.hpp:114
Ipopt::InexactPDTerminationTester::curr_tt2_norm_
Number curr_tt2_norm_
Definition: IpInexactPDTerminationTester.hpp:127
Ipopt::InexactPDTerminationTester
This class implements the termination tests for the primal-dual system.
Definition: IpInexactPDTerminationTester.hpp:20
Ipopt::InexactPDTerminationTester::TestTermination
virtual ETerminationTest TestTermination(Index ndim, const Number *sol, const Number *resid, Index iter, Number norm2_rhs)
This method checks if the current soltion of the iterative linear solver is good enough (by returning...
Ipopt::InexactPDTerminationTester::c_norm_
Number c_norm_
Definition: IpInexactPDTerminationTester.hpp:115
Ipopt::InexactPDTerminationTester::last_Av_norm_
Number last_Av_norm_
Definition: IpInexactPDTerminationTester.hpp:136
Ipopt::InexactPDTerminationTester::c_plus_Av_norm_
Number c_plus_Av_norm_
Definition: IpInexactPDTerminationTester.hpp:116
Ipopt::InexactPDTerminationTester::tt_eps3_
Number tt_eps3_
eps_3 constant in termination test 3
Definition: IpInexactPDTerminationTester.hpp:98
Ipopt::InexactPDTerminationTester::operator=
InexactPDTerminationTester & operator=(const InexactPDTerminationTester &)
Overloaded Equals Operator.
Ipopt
Definition: matlabjournal.hpp:14
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Ipopt::InexactPDTerminationTester::curr_nabla_phi_plus_ATy_s_
SmartPtr< Vector > curr_nabla_phi_plus_ATy_s_
Definition: IpInexactPDTerminationTester.hpp:124
Ipopt::InexactPDTerminationTester::curr_grad_barrier_obj_s_
SmartPtr< const Vector > curr_grad_barrier_obj_s_
Definition: IpInexactPDTerminationTester.hpp:119
Ipopt::InexactPDTerminationTester::curr_Wv_s_
SmartPtr< const Vector > curr_Wv_s_
Definition: IpInexactPDTerminationTester.hpp:129
IpIterativeSolverTerminationTester.hpp
Ipopt::InexactPDTerminationTester::curr_Av_norm_
Number curr_Av_norm_
Definition: IpInexactPDTerminationTester.hpp:125
Ipopt::InexactPDTerminationTester::curr_tt1_norm_
Number curr_tt1_norm_
Definition: IpInexactPDTerminationTester.hpp:126
Ipopt::InexactPDTerminationTester::RegisterOptions
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
Ipopt::InexactPDTerminationTester::tcc_psi_
Number tcc_psi_
Psi factor in the tangential component condition.
Definition: IpInexactPDTerminationTester.hpp:83
Ipopt::InexactPDTerminationTester::curr_Av_c_
SmartPtr< const Vector > curr_Av_c_
Definition: IpInexactPDTerminationTester.hpp:113
Ipopt::InexactPDTerminationTester::curr_grad_barrier_obj_x_
SmartPtr< const Vector > curr_grad_barrier_obj_x_
Definition: IpInexactPDTerminationTester.hpp:118
Ipopt::Index
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
Ipopt::InexactPDTerminationTester::tcc_zeta_
Number tcc_zeta_
zeta factor in the tangential component condition
Definition: IpInexactPDTerminationTester.hpp:90
Ipopt::InexactPDTerminationTester::inexact_desired_pd_residual_iter_
Index inexact_desired_pd_residual_iter_
Number of iterations allowed for desired pd residual.
Definition: IpInexactPDTerminationTester.hpp:105
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:182
Ipopt::InexactPDTerminationTester::tt_eps2_
Number tt_eps2_
eps_2 constant in termination test 2
Definition: IpInexactPDTerminationTester.hpp:96
Ipopt::InexactPDTerminationTester::curr_Wv_x_
SmartPtr< const Vector > curr_Wv_x_
Definition: IpInexactPDTerminationTester.hpp:128
Ipopt::InexactPDTerminationTester::requires_scaling_
bool requires_scaling_
Is set to true if the linear system is scaled via slacks.
Definition: IpInexactPDTerminationTester.hpp:107
Ipopt::InexactPDTerminationTester::curr_nabla_phi_plus_ATy_x_
SmartPtr< Vector > curr_nabla_phi_plus_ATy_x_
Definition: IpInexactPDTerminationTester.hpp:123
Ipopt::InexactPDTerminationTester::InitializeSolve
virtual bool InitializeSolve()
Method for initializing for the next iterative solve.
Ipopt::InexactPDTerminationTester::tt_kappa1_
Number tt_kappa1_
kappa_1 factor in termination test 1
Definition: IpInexactPDTerminationTester.hpp:92
Ipopt::InexactPDTerminationTester::curr_jac_c_
SmartPtr< const Matrix > curr_jac_c_
Definition: IpInexactPDTerminationTester.hpp:120
Ipopt::IterativeSolverTerminationTester
This base class is for the termination tests for the iterative linear solver in the inexact version o...
Definition: IpIterativeSolverTerminationTester.hpp:21
Ipopt::InexactPDTerminationTester::v_norm_scaled_
Number v_norm_scaled_
Definition: IpInexactPDTerminationTester.hpp:117
Ipopt::InexactPDTerminationTester::tcc_theta_
Number tcc_theta_
theta factor in the tangential component condition
Definition: IpInexactPDTerminationTester.hpp:85
Ipopt::IterativeSolverTerminationTester::ETerminationTest
ETerminationTest
Enum to report result of termination test.
Definition: IpIterativeSolverTerminationTester.hpp:25
Ipopt::InexactPDTerminationTester::~InexactPDTerminationTester
virtual ~InexactPDTerminationTester()
Default destructor.
Ipopt::InexactPDTerminationTester::last_tt1_norm_
Number last_tt1_norm_
Definition: IpInexactPDTerminationTester.hpp:137
Ipopt::InexactPDTerminationTester::InexactPDTerminationTester
InexactPDTerminationTester()
Default constructor.
Ipopt::InexactPDTerminationTester::rho_
Number rho_
rho constant from penalty parameter update.
Definition: IpInexactPDTerminationTester.hpp:101
Ipopt::InexactPDTerminationTester::curr_scaling_slacks_
SmartPtr< const Vector > curr_scaling_slacks_
Definition: IpInexactPDTerminationTester.hpp:122
Ipopt::InexactPDTerminationTester::InitializeImpl
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Implementation of the initialization method that has to be overloaded by for each derived class.
Ipopt::InexactPDTerminationTester::GetSolverIterations
virtual Index GetSolverIterations() const
Return the number of iterative solver iteration from the most recent solve.
Definition: IpInexactPDTerminationTester.hpp:62
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::InexactPDTerminationTester::last_iter_
Index last_iter_
Last iterative solver iteration counter.
Definition: IpInexactPDTerminationTester.hpp:141
Ipopt::InexactPDTerminationTester::tcc_theta_mu_exponent_
Number tcc_theta_mu_exponent_
mu exponent when multiplied to theta in the tangential component condition
Definition: IpInexactPDTerminationTester.hpp:88
Ipopt::InexactPDTerminationTester::curr_jac_d_
SmartPtr< const Matrix > curr_jac_d_
Definition: IpInexactPDTerminationTester.hpp:121
Ipopt::InexactPDTerminationTester::Clear
virtual void Clear()
This method can be called after the Solve is over and we can delete anything that has been allocated ...
Ipopt::InexactPDTerminationTester::tt_kappa2_
Number tt_kappa2_
kappa_2 factor in termination test 2
Definition: IpInexactPDTerminationTester.hpp:94