Ipopt Documentation  
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 // Authors: Andreas Waechter IBM 2008-09-19
6 
7 #ifndef __IPINEXACTPDTERMINATIONTESTER_HPP__
8 #define __IPINEXACTPDTERMINATIONTESTER_HPP__
9 
11 
12 namespace Ipopt
13 {
14 
19 {
20 public:
26 
30 
31  virtual bool InitializeImpl(
32  const OptionsList& options,
33  const std::string& prefix
34  );
35 
36  static void RegisterOptions(
38  );
39 
44  virtual bool InitializeSolve();
45 
56  Index ndim,
57  const Number* sol,
58  const Number* resid,
59  Index iter,
60  Number norm2_rhs
61  );
62 
66  virtual void Clear();
67 
71  virtual Index GetSolverIterations() const
72  {
73  return last_iter_;
74  }
75 
76 private:
90  );
92 
125 
146  SmartPtr<const Vector> curr_Wv_s_; // in original space
147  bool try_tt2_;
149 
155 
158 };
159 
160 } // namespace Ipopt
161 
162 #endif
Ipopt::InexactPDTerminationTester::inexact_desired_pd_residual_
Number inexact_desired_pd_residual_
Desired reduction of residual.
Definition: IpInexactPDTerminationTester.hpp:119
Ipopt::InexactPDTerminationTester::try_tt2_
bool try_tt2_
Definition: IpInexactPDTerminationTester.hpp:147
Ipopt::InexactPDTerminationTester::curr_Av_d_
SmartPtr< const Vector > curr_Av_d_
Definition: IpInexactPDTerminationTester.hpp:131
Ipopt::InexactPDTerminationTester::curr_tt2_norm_
Number curr_tt2_norm_
Definition: IpInexactPDTerminationTester.hpp:144
Ipopt::InexactPDTerminationTester
This class implements the termination tests for the primal-dual system.
Definition: IpInexactPDTerminationTester.hpp:19
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 solution of the iterative linear solver is good enough (by returnin...
Ipopt::InexactPDTerminationTester::c_norm_
Number c_norm_
Definition: IpInexactPDTerminationTester.hpp:132
Ipopt::InexactPDTerminationTester::last_Av_norm_
Number last_Av_norm_
Definition: IpInexactPDTerminationTester.hpp:152
Ipopt::InexactPDTerminationTester::c_plus_Av_norm_
Number c_plus_Av_norm_
Definition: IpInexactPDTerminationTester.hpp:133
Ipopt::InexactPDTerminationTester::tt_eps3_
Number tt_eps3_
eps_3 constant in termination test 3
Definition: IpInexactPDTerminationTester.hpp:112
Ipopt::InexactPDTerminationTester::operator=
InexactPDTerminationTester & operator=(const InexactPDTerminationTester &)
Overloaded Assignment Operator.
Ipopt
This file contains a base class for all exceptions and a set of macros to help with exceptions.
Definition: IpInexactAlgBuilder.hpp:14
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:15
Ipopt::InexactPDTerminationTester::curr_nabla_phi_plus_ATy_s_
SmartPtr< Vector > curr_nabla_phi_plus_ATy_s_
Definition: IpInexactPDTerminationTester.hpp:141
Ipopt::InexactPDTerminationTester::curr_grad_barrier_obj_s_
SmartPtr< const Vector > curr_grad_barrier_obj_s_
Definition: IpInexactPDTerminationTester.hpp:136
Ipopt::InexactPDTerminationTester::curr_Wv_s_
SmartPtr< const Vector > curr_Wv_s_
Definition: IpInexactPDTerminationTester.hpp:146
IpIterativeSolverTerminationTester.hpp
Ipopt::InexactPDTerminationTester::curr_Av_norm_
Number curr_Av_norm_
Definition: IpInexactPDTerminationTester.hpp:142
Ipopt::InexactPDTerminationTester::curr_tt1_norm_
Number curr_tt1_norm_
Definition: IpInexactPDTerminationTester.hpp:143
Ipopt::InexactPDTerminationTester::RegisterOptions
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Ipopt::InexactPDTerminationTester::tcc_psi_
Number tcc_psi_
Psi factor in the tangential component condition.
Definition: IpInexactPDTerminationTester.hpp:96
Ipopt::InexactPDTerminationTester::curr_Av_c_
SmartPtr< const Vector > curr_Av_c_
Definition: IpInexactPDTerminationTester.hpp:130
Ipopt::InexactPDTerminationTester::curr_grad_barrier_obj_x_
SmartPtr< const Vector > curr_grad_barrier_obj_x_
Definition: IpInexactPDTerminationTester.hpp:135
Ipopt::Index
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:17
Ipopt::InexactPDTerminationTester::tcc_zeta_
Number tcc_zeta_
zeta factor in the tangential component condition
Definition: IpInexactPDTerminationTester.hpp:104
Ipopt::InexactPDTerminationTester::inexact_desired_pd_residual_iter_
Index inexact_desired_pd_residual_iter_
Number of iterations allowed for desired pd residual.
Definition: IpInexactPDTerminationTester.hpp:121
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::InexactPDTerminationTester::tt_eps2_
Number tt_eps2_
eps_2 constant in termination test 2
Definition: IpInexactPDTerminationTester.hpp:110
Ipopt::InexactPDTerminationTester::curr_Wv_x_
SmartPtr< const Vector > curr_Wv_x_
Definition: IpInexactPDTerminationTester.hpp:145
Ipopt::InexactPDTerminationTester::requires_scaling_
bool requires_scaling_
Is set to true if the linear system is scaled via slacks.
Definition: IpInexactPDTerminationTester.hpp:123
Ipopt::InexactPDTerminationTester::curr_nabla_phi_plus_ATy_x_
SmartPtr< Vector > curr_nabla_phi_plus_ATy_x_
Definition: IpInexactPDTerminationTester.hpp:140
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:106
Ipopt::InexactPDTerminationTester::curr_jac_c_
SmartPtr< const Matrix > curr_jac_c_
Definition: IpInexactPDTerminationTester.hpp:137
Ipopt::IterativeSolverTerminationTester
This base class is for the termination tests for the iterative linear solver in the inexact version o...
Definition: IpIterativeSolverTerminationTester.hpp:20
Ipopt::InexactPDTerminationTester::v_norm_scaled_
Number v_norm_scaled_
Definition: IpInexactPDTerminationTester.hpp:134
Ipopt::InexactPDTerminationTester::tcc_theta_
Number tcc_theta_
theta factor in the tangential component condition
Definition: IpInexactPDTerminationTester.hpp:98
Ipopt::IterativeSolverTerminationTester::ETerminationTest
ETerminationTest
Enum to report result of termination test.
Definition: IpIterativeSolverTerminationTester.hpp:24
Ipopt::InexactPDTerminationTester::~InexactPDTerminationTester
virtual ~InexactPDTerminationTester()
Destructor.
Ipopt::InexactPDTerminationTester::last_tt1_norm_
Number last_tt1_norm_
Definition: IpInexactPDTerminationTester.hpp:153
Ipopt::InexactPDTerminationTester::InexactPDTerminationTester
InexactPDTerminationTester()
Default constructor.
Ipopt::InexactPDTerminationTester::rho_
Number rho_
rho constant from penalty parameter update.
Definition: IpInexactPDTerminationTester.hpp:117
Ipopt::InexactPDTerminationTester::curr_scaling_slacks_
SmartPtr< const Vector > curr_scaling_slacks_
Definition: IpInexactPDTerminationTester.hpp:139
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:71
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:33
Ipopt::InexactPDTerminationTester::last_iter_
Index last_iter_
Last iterative solver iteration counter.
Definition: IpInexactPDTerminationTester.hpp:157
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:102
Ipopt::InexactPDTerminationTester::curr_jac_d_
SmartPtr< const Matrix > curr_jac_d_
Definition: IpInexactPDTerminationTester.hpp:138
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:108