Ipopt Documentation  
 
Loading...
Searching...
No Matches
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// Authors: Andreas Waechter IBM 2008-09-19
6
7#ifndef __IPINEXACTNORMALTERMINATIONTESTER_HPP__
8#define __IPINEXACTNORMALTERMINATIONTESTER_HPP__
9
11
12namespace Ipopt
13{
14
19{
20public:
23
25
29
30 virtual bool InitializeImpl(
31 const OptionsList& options,
32 const std::string& prefix
33 );
34
35 static void RegisterOptions(
37 );
38
43 virtual bool InitializeSolve();
44
55 Index ndim,
56 const Number* sol,
57 const Number* resid,
58 Index iter,
59 Number norm2_rhs
60 );
61
65 virtual void Clear();
66
70 virtual Index GetSolverIterations() const
71 {
72 return last_iter_;
73 }
74
81 Number c_Avc_norm_cauchy
82 )
83 {
84 c_Avc_norm_cauchy_ = c_Avc_norm_cauchy;
85 }
86
87private:
98
101 );
103
106
113
120
123};
124
125} // namespace Ipopt
126
127#endif
This class implements the termination tests for the primal-dual system.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
virtual Index GetSolverIterations() const
Return the number of iterative solver iteration from the most recent solve.
virtual ~InexactNormalTerminationTester()
Destructor.
InexactNormalTerminationTester()
Default Constructor.
bool requires_scaling_
Is set to true if the linear system is scaled via slacks.
virtual void Clear()
This method can be called after the Solve is over and we can delete anything that has been allocated ...
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...
virtual bool InitializeSolve()
Method for initializing for the next iterative solve.
Index last_iter_
Last iterative solver iteration counter.
Number inexact_normal_tol_
Desired reduction of residual.
Number c_Avc_norm_cauchy_
Value of normal problem objective function achived by the Cauchy step.
InexactNormalTerminationTester & operator=(const InexactNormalTerminationTester &)
Overloaded Assignment Operator.
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.
Index inexact_normal_max_iter_
Maximal number of iterative solve iterations.
void Set_c_Avc_norm_cauchy(Number c_Avc_norm_cauchy)
Method for setting the normal problem objective function value at the Cauchy step.
This base class is for the termination tests for the iterative linear solver in the inexact version o...
ETerminationTest
Enum to report result of termination test.
This class stores a list of user set options.
Template class for Smart Pointers.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipindex Index
Type of all indices of vectors, matrices etc.
Definition IpTypes.hpp:20
ipnumber Number
Type of all numbers.
Definition IpTypes.hpp:17