# Ipopt::InexactSearchDirCalculator Class Reference

Implementation of the search direction calculator that computes the search direction using iterative linear solvers. More...

`#include <IpInexactSearchDirCalc.hpp>`

Inheritance diagram for Ipopt::InexactSearchDirCalculator:
[legend]

List of all members.

## Public Member Functions
virtual bool | InitializeImpl (const OptionsList &options, const std::string &prefix)
| overloaded from AlgorithmStrategyObject
virtual bool | ComputeSearchDirection ()
| Method for computing the search direction.
Constructors/Destructors
| InexactSearchDirCalculator (SmartPtr< InexactNormalStepCalculator > normal_step_calculator, SmartPtr< InexactPDSolver > inexact_pd_solver)
| Constructor.
virtual | ~InexactSearchDirCalculator ()
| Default destructor.
## Static Public Member Functions
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions)
| Methods for IpoptType.
## Private Types
enum | DecompositionTypeEnum { ALWAYS = 0, ADAPTIVE, SWITCH_ONCE }
| enumeration for decomposition options More...
## Private Member Functions
InexactData & | InexData ()
| Method to easily access Inexact data.
InexactCq & | InexCq ()
| Method to easily access Inexact calculated quantities.
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.
| InexactSearchDirCalculator ()
| Default Constructor.
| InexactSearchDirCalculator (const InexactSearchDirCalculator &)
| Copy Constructor.
void | operator= (const InexactSearchDirCalculator &)
| Overloaded Equals Operator.
## Private Attributes
DecompositionTypeEnum | decomposition_type_
| Type of decomposition.
Algorithmic options
Number | local_inf_Ac_tol_
| termination tolerance for local infeasibility
Strategy objects
SmartPtr < InexactNormalStepCalculator > | normal_step_calculator_
SmartPtr< InexactPDSolver > | inexact_pd_solver_

## Detailed Description

Implementation of the search direction calculator that computes the search direction using iterative linear solvers.

Those steps do not necessarily satisfy the linearized KKT conditions with high accuracy.

Definition at line 24 of file IpInexactSearchDirCalc.hpp.

## Member Enumeration Documentation

enum Ipopt::InexactSearchDirCalculator::DecompositionTypeEnum`[private]`

enumeration for decomposition options

Enumerator:

  ALWAYS |
  ADAPTIVE |
  SWITCH_ONCE |

Definition at line 102 of file IpInexactSearchDirCalc.hpp.

## Constructor & Destructor Documentation

Ipopt::InexactSearchDirCalculator::InexactSearchDirCalculator | ( | SmartPtr< InexactNormalStepCalculator > | normal_step_calculator,
|  | SmartPtr< InexactPDSolver > | inexact_pd_solver |
| ) |  |  |

Constructor.

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

Default destructor.

Ipopt::InexactSearchDirCalculator::InexactSearchDirCalculator | ( |  | ) | `[private]`

Default Constructor.

Ipopt::InexactSearchDirCalculator::InexactSearchDirCalculator | ( | const InexactSearchDirCalculator & |  | ) | `[private]`

Copy Constructor.

## Member Function Documentation

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

overloaded from AlgorithmStrategyObject

Implements Ipopt::SearchDirectionCalculator.

virtual bool Ipopt::InexactSearchDirCalculator::ComputeSearchDirection | ( |  | ) | `[virtual]`

Method for computing the search direction.

In this version, we compute a normal and a tangential component, which are stored in the InexactData object. The overall step is still stored in the IpoptData object.

Implements Ipopt::SearchDirectionCalculator.

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

Methods for IpoptType.

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

Overloaded Equals Operator.

Reimplemented from Ipopt::SearchDirectionCalculator.

InexactData& Ipopt::InexactSearchDirCalculator::InexData | ( |  | ) | `[inline, private]`

Method to easily access Inexact data.

Definition at line 72 of file IpInexactSearchDirCalc.hpp.

InexactCq& Ipopt::InexactSearchDirCalculator::InexCq | ( |  | ) | `[inline, private]`

Method to easily access Inexact calculated quantities.

Definition at line 81 of file IpInexactSearchDirCalc.hpp.

## Member Data Documentation

Number Ipopt::InexactSearchDirCalculator::local_inf_Ac_tol_`[private]`

termination tolerance for local infeasibility

Definition at line 92 of file IpInexactSearchDirCalc.hpp.

SmartPtr<InexactNormalStepCalculator> Ipopt::InexactSearchDirCalculator::normal_step_calculator_`[private]`

Definition at line 97 of file IpInexactSearchDirCalc.hpp.

SmartPtr<InexactPDSolver> Ipopt::InexactSearchDirCalculator::inexact_pd_solver_`[private]`

Definition at line 98 of file IpInexactSearchDirCalc.hpp.

DecompositionTypeEnum Ipopt::InexactSearchDirCalculator::decomposition_type_`[private]`

Type of decomposition.

Definition at line 109 of file IpInexactSearchDirCalc.hpp.

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

- src/Algorithm/Inexact/IpInexactSearchDirCalc.hpp

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines