# Ipopt::InexactNormalTerminationTester Class Reference

This class implements the termination tests for the primal-dual system. More...

`#include <IpInexactNormalTerminationTester.hpp>`

Inheritance diagram for Ipopt::InexactNormalTerminationTester:
[legend]

List of all members.

## Public Member Functions
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.
virtual bool | InitializeSolve ()
| Method for initializing for the next iterative solve.
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 the corresponding satisfied termination test), or if the Hessian should be modified.
virtual void | Clear ()
| This method can be called after the Solve is over and we can delete anything that has been allocated to free memory.
virtual Index | GetSolverIterations () const
| Return the number of iterative solver iteration from the most recent solve.
void | Set_c_Avc_norm_cauchy (Number c_Avc_norm_cauchy)
| Method for setting the normal problem objective function value at the Cauchy step.
/Destructor
| InexactNormalTerminationTester ()
| Default constructor.
virtual | ~InexactNormalTerminationTester ()
| Default destructor.
## Static Public Member Functions
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions)
| Methods for IpoptType.
## Private Member Functions
Default Compiler Generated Methods
(Hidden to avoid implicit creation/calling). These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called.
InexactNormalTerminationTester & | operator= (const InexactNormalTerminationTester &)
| Overloaded Equals Operator.
## Private Attributes
Number | c_Avc_norm_cauchy_
| Value of normal problem objective function achived by the Cauchy step.
Index | last_iter_
| Last iterative solver iteration counter.
Algorithmic options
Number | inexact_normal_tol_
| Desired reduction of residual.
Index | inexact_normal_max_iter_
| Maximal number of iterative solve iterations.
bool | requires_scaling_
| Is set to true if the linear system is scaled via slacks.

## Detailed Description

This class implements the termination tests for the primal-dual system.

Definition at line 20 of file IpInexactNormalTerminationTester.hpp.

## Constructor & Destructor Documentation

Ipopt::InexactNormalTerminationTester::InexactNormalTerminationTester | ( |  | ) |

Default constructor.

virtual Ipopt::InexactNormalTerminationTester::~InexactNormalTerminationTester | ( |  | ) | `[virtual]`

Default destructor.

## Member Function Documentation

virtual bool Ipopt::InexactNormalTerminationTester::InitializeImpl | ( | const OptionsList & | options,
|  | const std::string & | prefix |
| ) |  |  | `[virtual]`

Implementation of the initialization method that has to be overloaded by for each derived class.

Implements Ipopt::IterativeSolverTerminationTester.

static void Ipopt::InexactNormalTerminationTester::RegisterOptions | ( | SmartPtr< RegisteredOptions > | roptions | ) | `[static]`

Methods for IpoptType.

virtual bool Ipopt::InexactNormalTerminationTester::InitializeSolve | ( |  | ) | `[virtual]`

Method for initializing for the next iterative solve.

This must be call before the test methods are called.

Implements Ipopt::IterativeSolverTerminationTester.

virtual ETerminationTest Ipopt::InexactNormalTerminationTester::TestTermination | ( | Index | ndim,
|  | const Number * | sol,
|  | const Number * | resid,
|  | Index | iter,
|  | Number | norm2_rhs |
| ) |  |  | `[virtual]`

This method checks if the current soltion of the iterative linear solver is good enough (by returning the corresponding satisfied termination test), or if the Hessian should be modified.

The input is the dimension of the augmented system, the current solution vector of the augmented system, the current residual vector.

Implements Ipopt::IterativeSolverTerminationTester.

virtual void Ipopt::InexactNormalTerminationTester::Clear | ( |  | ) | `[virtual]`

This method can be called after the Solve is over and we can delete anything that has been allocated to free memory.

Implements Ipopt::IterativeSolverTerminationTester.

virtual Index Ipopt::InexactNormalTerminationTester::GetSolverIterations | ( |  | ) | const`[inline, virtual]`

Return the number of iterative solver iteration from the most recent solve.

Implements Ipopt::IterativeSolverTerminationTester.

Definition at line 63 of file IpInexactNormalTerminationTester.hpp.

void Ipopt::InexactNormalTerminationTester::Set_c_Avc_norm_cauchy | ( | Number | c_Avc_norm_cauchy | ) | `[inline]`

Method for setting the normal problem objective function value at the Cauchy step.

This must be called by the Dogleg object.

Definition at line 71 of file IpInexactNormalTerminationTester.hpp.

InexactNormalTerminationTester& Ipopt::InexactNormalTerminationTester::operator= | ( | const InexactNormalTerminationTester & |  | ) | `[private]`

Overloaded Equals Operator.

Reimplemented from Ipopt::IterativeSolverTerminationTester.

## Member Data Documentation

Number Ipopt::InexactNormalTerminationTester::inexact_normal_tol_`[private]`

Desired reduction of residual.

Definition at line 92 of file IpInexactNormalTerminationTester.hpp.

Index Ipopt::InexactNormalTerminationTester::inexact_normal_max_iter_`[private]`

Maximal number of iterative solve iterations.

Definition at line 94 of file IpInexactNormalTerminationTester.hpp.

bool Ipopt::InexactNormalTerminationTester::requires_scaling_`[private]`

Is set to true if the linear system is scaled via slacks.

Definition at line 96 of file IpInexactNormalTerminationTester.hpp.

Number Ipopt::InexactNormalTerminationTester::c_Avc_norm_cauchy_`[private]`

Value of normal problem objective function achived by the Cauchy step.

This must be set by the Dogleg step object.

Definition at line 101 of file IpInexactNormalTerminationTester.hpp.

Index Ipopt::InexactNormalTerminationTester::last_iter_`[private]`

Last iterative solver iteration counter.

Definition at line 104 of file IpInexactNormalTerminationTester.hpp.

The documentation for this class was generated from the following file:

- src/Algorithm/Inexact/IpInexactNormalTerminationTester.hpp

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines