Ipopt  3.12.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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: IpInexactNormalTerminationTester.hpp 1861 2010-12-21 21:34:47Z andreasw $
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
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...
Number c_Avc_norm_cauchy_
Value of normal problem objective function achived by the Cauchy step.
This base class is for the termination tests for the iterative linear solver in the inexact version o...
virtual ~InexactNormalTerminationTester()
Default destructor.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
This class implements the termination tests for the primal-dual system.
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Index last_iter_
Last iterative solver iteration counter.
virtual void Clear()
This method can be called after the Solve is over and we can delete anything that has been allocated ...
bool requires_scaling_
Is set to true if the linear system is scaled via slacks.
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
virtual bool InitializeSolve()
Method for initializing for the next iterative solve.
This class stores a list of user set options.
virtual Index GetSolverIterations() const
Return the number of iterative solver iteration from the most recent solve.
Index inexact_normal_max_iter_
Maximal number of iterative solve iterations.
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
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...
Number inexact_normal_tol_
Desired reduction of residual.
InexactNormalTerminationTester()
Default constructor.
InexactNormalTerminationTester & operator=(const InexactNormalTerminationTester &)
Overloaded Equals Operator.
void Set_c_Avc_norm_cauchy(Number c_Avc_norm_cauchy)
Method for setting the normal problem objective function value at the Cauchy step.
ETerminationTest
Enum to report result of termination test.