Ipopt 3.12.10

- Main Page
- Classes
- Files

- File List
- File Members

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
12 #include "IpIterativeSolverTerminationTester.hpp"
13
14 namespace Ipopt
15 {
16
20 class InexactNormalTerminationTester: public IterativeSolverTerminationTester
21 {
22 public:
27 InexactNormalTerminationTester();
28
30 virtual ~InexactNormalTerminationTester();
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:
86 InexactNormalTerminationTester& operator=(const InexactNormalTerminationTester&);
88
92 Number inexact_normal_tol_;
94 Index inexact_normal_max_iter_;
96 bool requires_scaling_;
98
101 Number c_Avc_norm_cauchy_;
102
104 Index last_iter_;
105 };
106
107 } // namespace Ipopt
108
109 #endif
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::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::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::~InexactNormalTerminationTester
virtual ~InexactNormalTerminationTester()
Default destructor.
Ipopt::InexactNormalTerminationTester::RegisterOptions
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptType.
Ipopt::InexactNormalTerminationTester
This class implements the termination tests for the primal-dual system.
Definition: IpInexactNormalTerminationTester.hpp:20
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:17
Ipopt::InexactNormalTerminationTester::last_iter_
Index last_iter_
Last iterative solver iteration counter.
Definition: IpInexactNormalTerminationTester.hpp:104
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 ...
Ipopt::InexactNormalTerminationTester::requires_scaling_
bool requires_scaling_
Is set to true if the linear system is scaled via slacks.
Definition: IpInexactNormalTerminationTester.hpp:96
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::InexactNormalTerminationTester::InitializeSolve
virtual bool InitializeSolve()
Method for initializing for the next iterative solve.
Ipopt::OptionsList
This class stores a list of user set options.
Definition: IpOptionsList.hpp:32
Ipopt::InexactNormalTerminationTester::GetSolverIterations
virtual Index GetSolverIterations() const
Return the number of iterative solver iteration from the most recent solve.
Definition: IpInexactNormalTerminationTester.hpp:63
Ipopt::InexactNormalTerminationTester::inexact_normal_max_iter_
Index inexact_normal_max_iter_
Maximal number of iterative solve iterations.
Definition: IpInexactNormalTerminationTester.hpp:94
Ipopt::Index
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:19
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...
Ipopt::InexactNormalTerminationTester::inexact_normal_tol_
Number inexact_normal_tol_
Desired reduction of residual.
Definition: IpInexactNormalTerminationTester.hpp:92
IpIterativeSolverTerminationTester.hpp
Ipopt::InexactNormalTerminationTester::InexactNormalTerminationTester
InexactNormalTerminationTester()
Default constructor.
Ipopt::InexactNormalTerminationTester::operator=
InexactNormalTerminationTester & operator=(const InexactNormalTerminationTester &)
Overloaded Equals Operator.
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::IterativeSolverTerminationTester::ETerminationTest
ETerminationTest
Enum to report result of termination test.
Definition: IpIterativeSolverTerminationTester.hpp:25