Ipopt Documentation  
 
Loading...
Searching...
No Matches
Ipopt::CGSearchDirCalculator Class Reference

Implementation of the search direction calculator that computes the Chen-Goldfarb step for the current barrier and penalty parameter. More...

#include <IpCGSearchDirCalc.hpp>

+ Inheritance diagram for Ipopt::CGSearchDirCalculator:

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
 CGSearchDirCalculator (const SmartPtr< PDSystemSolver > &pd_solver)
 Constructor.
 
virtual ~CGSearchDirCalculator ()
 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)
 Methods for IpoptType.
 

Private Member Functions

CGPenaltyDataCGPenData ()
 Method to easily access CGPenalty data.
 
CGPenaltyCqCGPenCq ()
 Method to easily access CGPenalty 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.

 CGSearchDirCalculator ()
 Default Constructor.
 
 CGSearchDirCalculator (const CGSearchDirCalculator &)
 Copy Constructor.
 
void operator= (const CGSearchDirCalculator &)
 Default Assignment Operator.
 

Private Attributes

Algorithmic parameters
Number penalty_init_min_
 safeguard factor for bound multipliers.
 
Number penalty_init_max_
 Maximal value for initial penalty parameter.
 
Number penalty_max_
 Maximal value for penalty parameters.
 
Number pen_des_fact_
 parameters used in computation of line search penalty parameter and KKT perturbation parameters
 
bool penalty_backward_
 Algorithm type.
 
Number kappa_x_dis_
 parameters used to check if the fast direction can be used as the line search direction
 
Number kappa_y_dis_
 
Number vartheta_
 
Number delta_y_max_
 
Number fast_des_fact_
 
Number pen_init_fac_
 
bool never_use_fact_cgpen_direction_
 Flag indicating whether the fast Chen-Goldfarb direction should never be used.
 
Index nonmonotone_pen_update_counter_
 Counter for how many times the pen parameter is updated non-monotonically.
 
Strategy objects
SmartPtr< PDSystemSolverpd_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 Chen-Goldfarb step for the current barrier and penalty parameter.

Definition at line 23 of file IpCGSearchDirCalc.hpp.

Constructor & Destructor Documentation

◆ CGSearchDirCalculator() [1/3]

Ipopt::CGSearchDirCalculator::CGSearchDirCalculator ( const SmartPtr< PDSystemSolver > &  pd_solver)

Constructor.

◆ ~CGSearchDirCalculator()

virtual Ipopt::CGSearchDirCalculator::~CGSearchDirCalculator ( )
virtual

Destructor.

◆ CGSearchDirCalculator() [2/3]

Ipopt::CGSearchDirCalculator::CGSearchDirCalculator ( )
private

Default Constructor.

◆ CGSearchDirCalculator() [3/3]

Ipopt::CGSearchDirCalculator::CGSearchDirCalculator ( const CGSearchDirCalculator )
private

Copy Constructor.

Member Function Documentation

◆ InitializeImpl()

virtual bool Ipopt::CGSearchDirCalculator::InitializeImpl ( const OptionsList options,
const std::string &  prefix 
)
virtual

◆ ComputeSearchDirection()

virtual bool Ipopt::CGSearchDirCalculator::ComputeSearchDirection ( )
virtual

Method for computing the search direction.

If the penalty parameter has not yet been initialized, it is initialized now. The computed direction is stored in IpData().delta().

Implements Ipopt::SearchDirectionCalculator.

◆ RegisterOptions()

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

Methods for IpoptType.

◆ operator=()

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

Default Assignment Operator.

◆ CGPenData()

CGPenaltyData & Ipopt::CGSearchDirCalculator::CGPenData ( )
inlineprivate

Method to easily access CGPenalty data.

Definition at line 84 of file IpCGSearchDirCalc.hpp.

◆ CGPenCq()

CGPenaltyCq & Ipopt::CGSearchDirCalculator::CGPenCq ( )
inlineprivate

Method to easily access CGPenalty calculated quantities.

Definition at line 92 of file IpCGSearchDirCalc.hpp.

Member Data Documentation

◆ penalty_init_min_

Number Ipopt::CGSearchDirCalculator::penalty_init_min_
private

safeguard factor for bound multipliers.

If value >= 1, then the dual variables will never deviate from the primal estimate by more than the factors kappa_sigma and 1./kappa_sigma.

Definition at line 107 of file IpCGSearchDirCalc.hpp.

◆ penalty_init_max_

Number Ipopt::CGSearchDirCalculator::penalty_init_max_
private

Maximal value for initial penalty parameter.

Definition at line 109 of file IpCGSearchDirCalc.hpp.

◆ penalty_max_

Number Ipopt::CGSearchDirCalculator::penalty_max_
private

Maximal value for penalty parameters.

Definition at line 111 of file IpCGSearchDirCalc.hpp.

◆ pen_des_fact_

Number Ipopt::CGSearchDirCalculator::pen_des_fact_
private

parameters used in computation of line search penalty parameter and KKT perturbation parameters

Definition at line 116 of file IpCGSearchDirCalc.hpp.

◆ penalty_backward_

bool Ipopt::CGSearchDirCalculator::penalty_backward_
private

Algorithm type.

Definition at line 119 of file IpCGSearchDirCalc.hpp.

◆ kappa_x_dis_

Number Ipopt::CGSearchDirCalculator::kappa_x_dis_
private

parameters used to check if the fast direction can be used as the line search direction

Definition at line 124 of file IpCGSearchDirCalc.hpp.

◆ kappa_y_dis_

Number Ipopt::CGSearchDirCalculator::kappa_y_dis_
private

Definition at line 125 of file IpCGSearchDirCalc.hpp.

◆ vartheta_

Number Ipopt::CGSearchDirCalculator::vartheta_
private

Definition at line 126 of file IpCGSearchDirCalc.hpp.

◆ delta_y_max_

Number Ipopt::CGSearchDirCalculator::delta_y_max_
private

Definition at line 127 of file IpCGSearchDirCalc.hpp.

◆ fast_des_fact_

Number Ipopt::CGSearchDirCalculator::fast_des_fact_
private

Definition at line 128 of file IpCGSearchDirCalc.hpp.

◆ pen_init_fac_

Number Ipopt::CGSearchDirCalculator::pen_init_fac_
private

Definition at line 129 of file IpCGSearchDirCalc.hpp.

◆ never_use_fact_cgpen_direction_

bool Ipopt::CGSearchDirCalculator::never_use_fact_cgpen_direction_
private

Flag indicating whether the fast Chen-Goldfarb direction should never be used.

Definition at line 134 of file IpCGSearchDirCalc.hpp.

◆ nonmonotone_pen_update_counter_

Index Ipopt::CGSearchDirCalculator::nonmonotone_pen_update_counter_
private

Counter for how many times the pen parameter is updated non-monotonically.

Definition at line 137 of file IpCGSearchDirCalc.hpp.

◆ pd_solver_

SmartPtr<PDSystemSolver> Ipopt::CGSearchDirCalculator::pd_solver_
private

Definition at line 142 of file IpCGSearchDirCalc.hpp.


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