Ipopt Documentation  
 
Loading...
Searching...
No Matches
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:

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 ComputeSearchDirection ()
 Method for computing the search direction.
 
Constructors/Destructors
 InexactSearchDirCalculator (SmartPtr< InexactNormalStepCalculator > normal_step_calculator, SmartPtr< InexactPDSolver > inexact_pd_solver)
 Constructor.
 
virtual ~InexactSearchDirCalculator ()
 Destructor.
 
- Public Member Functions inherited from Ipopt::SearchDirectionCalculator
 SearchDirectionCalculator ()
 Constructor.
 
virtual ~SearchDirectionCalculator ()
 Destructor.
 
- Public Member Functions inherited from Ipopt::AlgorithmStrategyObject
bool Initialize (const Journalist &jnlst, IpoptNLP &ip_nlp, IpoptData &ip_data, IpoptCalculatedQuantities &ip_cq, const OptionsList &options, const std::string &prefix)
 This method is called every time the algorithm starts again - it is used to reset any internal state.
 
bool ReducedInitialize (const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
 Reduced version of the Initialize method, which does not require special Ipopt information.
 
 AlgorithmStrategyObject ()
 Default Constructor.
 
virtual ~AlgorithmStrategyObject ()
 Destructor.
 
- Public Member Functions inherited from Ipopt::ReferencedObject
 ReferencedObject ()
 
virtual ~ReferencedObject ()
 
Index ReferenceCount () const
 
void AddRef (const Referencer *referencer) const
 
void ReleaseRef (const Referencer *referencer) const
 

Static Public Member Functions

static void RegisterOptions (SmartPtr< RegisteredOptions > roptions)
 

Private Types

enum  DecompositionTypeEnum { ALWAYS = 0 , ADAPTIVE , SWITCH_ONCE }
 enumeration for decomposition options More...
 

Private Member Functions

InexactDataInexData ()
 Method to easily access Inexact data.
 
InexactCqInexCq ()
 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 Assignment Operator.
 

Private Attributes

DecompositionTypeEnum decomposition_type_
 Type of decomposition.
 
Algorithmic options
Number local_inf_Ac_tol_
 termination tolerance for local infeasibility
 
Strategy objects
SmartPtr< InexactNormalStepCalculatornormal_step_calculator_
 
SmartPtr< InexactPDSolverinexact_pd_solver_
 

Additional Inherited Members

- Protected Member Functions inherited from Ipopt::AlgorithmStrategyObject
const JournalistJnlst () const
 
IpoptNLPIpNLP () const
 
IpoptDataIpData () const
 
IpoptCalculatedQuantitiesIpCq () const
 
bool HaveIpData () const
 

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 23 of file IpInexactSearchDirCalc.hpp.

Member Enumeration Documentation

◆ DecompositionTypeEnum

enumeration for decomposition options

Enumerator
ALWAYS 
ADAPTIVE 
SWITCH_ONCE 

Definition at line 110 of file IpInexactSearchDirCalc.hpp.

Constructor & Destructor Documentation

◆ InexactSearchDirCalculator() [1/3]

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

Constructor.

◆ ~InexactSearchDirCalculator()

virtual Ipopt::InexactSearchDirCalculator::~InexactSearchDirCalculator ( )
virtual

Destructor.

◆ InexactSearchDirCalculator() [2/3]

Ipopt::InexactSearchDirCalculator::InexactSearchDirCalculator ( )
private

Default Constructor.

◆ InexactSearchDirCalculator() [3/3]

Ipopt::InexactSearchDirCalculator::InexactSearchDirCalculator ( const InexactSearchDirCalculator )
private

Copy Constructor.

Member Function Documentation

◆ InitializeImpl()

virtual bool Ipopt::InexactSearchDirCalculator::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::SearchDirectionCalculator.

◆ ComputeSearchDirection()

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.

◆ RegisterOptions()

static void Ipopt::InexactSearchDirCalculator::RegisterOptions ( SmartPtr< RegisteredOptions roptions)
static

◆ operator=()

void Ipopt::InexactSearchDirCalculator::operator= ( const InexactSearchDirCalculator )
private

Overloaded Assignment Operator.

◆ InexData()

InexactData & Ipopt::InexactSearchDirCalculator::InexData ( )
inlineprivate

Method to easily access Inexact data.

Definition at line 82 of file IpInexactSearchDirCalc.hpp.

◆ InexCq()

InexactCq & Ipopt::InexactSearchDirCalculator::InexCq ( )
inlineprivate

Method to easily access Inexact calculated quantities.

Definition at line 90 of file IpInexactSearchDirCalc.hpp.

Member Data Documentation

◆ local_inf_Ac_tol_

Number Ipopt::InexactSearchDirCalculator::local_inf_Ac_tol_
private

termination tolerance for local infeasibility

Definition at line 100 of file IpInexactSearchDirCalc.hpp.

◆ normal_step_calculator_

SmartPtr<InexactNormalStepCalculator> Ipopt::InexactSearchDirCalculator::normal_step_calculator_
private

Definition at line 105 of file IpInexactSearchDirCalc.hpp.

◆ inexact_pd_solver_

SmartPtr<InexactPDSolver> Ipopt::InexactSearchDirCalculator::inexact_pd_solver_
private

Definition at line 106 of file IpInexactSearchDirCalc.hpp.

◆ decomposition_type_

DecompositionTypeEnum Ipopt::InexactSearchDirCalculator::decomposition_type_
private

Type of decomposition.

Definition at line 118 of file IpInexactSearchDirCalc.hpp.


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