Ipopt  3.12.13
IpInexactNormalTerminationTester.hpp
Go to the documentation of this file.
1 // Copyright (C) 2008 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // $Id$
6 //
7 // Authors: Andreas Waechter IBM 2008-09-19
8 
9 #ifndef __IPINEXACTNORMALTERMINATIONTESTER_HPP__
10 #define __IPINEXACTNORMALTERMINATIONTESTER_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 
60 
63  virtual Index GetSolverIterations() const
64  {
65  return last_iter_;
66  }
67 
71  void Set_c_Avc_norm_cauchy(Number c_Avc_norm_cauchy)
72  {
73  c_Avc_norm_cauchy_ = c_Avc_norm_cauchy;
74  }
75 
76  private:
88 
98 
102 
105  };
106 
107 } // namespace Ipopt
108 
109 #endif
Ipopt::InexactNormalTerminationTester::c_Avc_norm_cauchy_
Number c_Avc_norm_cauchy_
Value of normal problem objective function achived by the Cauchy step.
Definition: IpInexactNormalTerminationTester.hpp:101
Ipopt
Definition: matlabjournal.hpp:14
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Ipopt::InexactNormalTerminationTester::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.
IpIterativeSolverTerminationTester.hpp
Ipopt::InexactNormalTerminationTester
This class implements the termination tests for the primal-dual system.
Definition: IpInexactNormalTerminationTester.hpp:20
Ipopt::InexactNormalTerminationTester::InitializeSolve
virtual bool InitializeSolve()
Method for initializing for the next iterative solve.
Ipopt::Index
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
Ipopt::InexactNormalTerminationTester::GetSolverIterations
virtual Index GetSolverIterations() const
Return the number of iterative solver iteration from the most recent solve.
Definition: IpInexactNormalTerminationTester.hpp:63
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::InexactNormalTerminationTester::Set_c_Avc_norm_cauchy
void Set_c_Avc_norm_cauchy(Number c_Avc_norm_cauchy)
Method for setting the normal problem objective function value at the Cauchy step.
Definition: IpInexactNormalTerminationTester.hpp:71
Ipopt::InexactNormalTerminationTester::InexactNormalTerminationTester
InexactNormalTerminationTester()
Default constructor.
Ipopt::InexactNormalTerminationTester::~InexactNormalTerminationTester
virtual ~InexactNormalTerminationTester()
Default destructor.
Ipopt::InexactNormalTerminationTester::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::InexactNormalTerminationTester::inexact_normal_max_iter_
Index inexact_normal_max_iter_
Maximal number of iterative solve iterations.
Definition: IpInexactNormalTerminationTester.hpp:94
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::InexactNormalTerminationTester::RegisterOptions
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
Ipopt::InexactNormalTerminationTester::last_iter_
Index last_iter_
Last iterative solver iteration counter.
Definition: IpInexactNormalTerminationTester.hpp:104
Ipopt::IterativeSolverTerminationTester::ETerminationTest
ETerminationTest
Enum to report result of termination test.
Definition: IpIterativeSolverTerminationTester.hpp:25
Ipopt::InexactNormalTerminationTester::operator=
InexactNormalTerminationTester & operator=(const InexactNormalTerminationTester &)
Overloaded Equals Operator.
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::InexactNormalTerminationTester::inexact_normal_tol_
Number inexact_normal_tol_
Desired reduction of residual.
Definition: IpInexactNormalTerminationTester.hpp:92
Ipopt::InexactNormalTerminationTester::requires_scaling_
bool requires_scaling_
Is set to true if the linear system is scaled via slacks.
Definition: IpInexactNormalTerminationTester.hpp:96
Ipopt::InexactNormalTerminationTester::Clear
virtual void Clear()
This method can be called after the Solve is over and we can delete anything that has been allocated ...