7#ifndef __IPITERATIVESOLVERTERMINATIONTESTER_HPP__
8#define __IPITERATIVESOLVERTERMINATIONTESTER_HPP__
52 const std::string& prefix
This is the base class for all algorithm strategy objects.
IpoptData & IpData() const
IpoptCalculatedQuantities & IpCq() const
const Journalist & Jnlst() const
Class for all Chen-Goldfarb penalty method specific calculated quantities.
Class to organize all the additional data required by the Chen-Goldfarb penalty function algorithm.
IpoptAdditionalCq & AdditionalCq()
IpoptAdditionalData & AdditionalData()
Get access to additional data object.
This base class is for the termination tests for the iterative linear solver in the inexact version o...
virtual Index GetSolverIterations() const =0
Return the number of iterative solver iteration from the most recent solve.
virtual bool InitializeSolve()=0
Method for initializing for the next iterative solve.
IterativeSolverTerminationTester()
Default constructor.
ETerminationTest
Enum to report result of termination test.
@ OTHER_SATISFIED
Some other termination criterion satisfied.
@ MODIFY_HESSIAN
Hessian matrix should be modified.
@ TEST_1_SATISFIED
Termination Test 1 is satisfied.
@ TEST_3_SATISFIED
Termination Test 3 is satisfied.
@ CONTINUE
The current solution is not yet good enough.
@ TEST_2_SATISFIED
Termination Test 2 is satisfied.
virtual void Clear()=0
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)=0
This method checks if the current solution of the iterative linear solver is good enough (by returnin...
InexactData & InexData()
Method to easily access Inexact data.
IterativeSolverTerminationTester & operator=(const IterativeSolverTerminationTester &)
Overloaded Assignment Operator.
const Journalist & GetJnlst() const
An easy way to get the journalist if accessed from the outside.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)=0
Implementation of the initialization method that has to be overloaded by for each derived class.
void GetVectors(Index ndim, const Number *array, SmartPtr< const Vector > &comp_x, SmartPtr< const Vector > &comp_s, SmartPtr< const Vector > &comp_c, SmartPtr< const Vector > &comp_d)
Method for copying a long augmented system array into Vectors in Ipopt notation.
virtual ~IterativeSolverTerminationTester()
Destructor.
InexactCq & InexCq()
Method to easily access Inexact calculated quantities.
Class responsible for all message output.
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.
ipnumber Number
Type of all numbers.