# 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:
[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
| CGSearchDirCalculator (const SmartPtr< PDSystemSolver > &pd_solver)
| Constructor.
virtual | ~CGSearchDirCalculator ()
| Default destructor.
## Static Public Member Functions
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions)
| Methods for IpoptType.
## Private Member Functions
CGPenaltyData & | CGPenData ()
| Method to easily access CGPenalty data.
CGPenaltyCq & | CGPenCq ()
| 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 &)
| Overloaded Equals 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 para is updated nonmonotonically.
Strategy objects
SmartPtr< PDSystemSolver > | pd_solver_

## Detailed Description

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

Definition at line 25 of file IpCGSearchDirCalc.hpp.

## Constructor & Destructor Documentation

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

Constructor.

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

Default destructor.

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

Default Constructor.

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

Copy Constructor.

## Member Function Documentation

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

overloaded from AlgorithmStrategyObject

Implements Ipopt::SearchDirectionCalculator.

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

Method for computing the search direction.

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

Implements Ipopt::SearchDirectionCalculator.

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

Methods for IpoptType.

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

Overloaded Equals Operator.

Reimplemented from Ipopt::SearchDirectionCalculator.

CGPenaltyData& Ipopt::CGSearchDirCalculator::CGPenData | ( |  | ) | `[inline, private]`

Method to easily access CGPenalty data.

Definition at line 71 of file IpCGSearchDirCalc.hpp.

CGPenaltyCq& Ipopt::CGSearchDirCalculator::CGPenCq | ( |  | ) | `[inline, private]`

Method to easily access CGPenalty calculated quantities.

Definition at line 80 of file IpCGSearchDirCalc.hpp.

## Member Data Documentation

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 94 of file IpCGSearchDirCalc.hpp.

Number Ipopt::CGSearchDirCalculator::penalty_init_max_`[private]`

Maximal value for initial penalty parameter.

Definition at line 96 of file IpCGSearchDirCalc.hpp.

Number Ipopt::CGSearchDirCalculator::penalty_max_`[private]`

Maximal value for penalty parameters.

Definition at line 98 of file IpCGSearchDirCalc.hpp.

Number Ipopt::CGSearchDirCalculator::pen_des_fact_`[private]`

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

Definition at line 104 of file IpCGSearchDirCalc.hpp.

bool Ipopt::CGSearchDirCalculator::penalty_backward_`[private]`

Algorithm type.

Definition at line 107 of file IpCGSearchDirCalc.hpp.

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 111 of file IpCGSearchDirCalc.hpp.

Number Ipopt::CGSearchDirCalculator::kappa_y_dis_`[private]`

Definition at line 112 of file IpCGSearchDirCalc.hpp.

Number Ipopt::CGSearchDirCalculator::vartheta_`[private]`

Definition at line 113 of file IpCGSearchDirCalc.hpp.

Number Ipopt::CGSearchDirCalculator::delta_y_max_`[private]`

Definition at line 114 of file IpCGSearchDirCalc.hpp.

Number Ipopt::CGSearchDirCalculator::fast_des_fact_`[private]`

Definition at line 115 of file IpCGSearchDirCalc.hpp.

Number Ipopt::CGSearchDirCalculator::pen_init_fac_`[private]`

Definition at line 116 of file IpCGSearchDirCalc.hpp.

bool Ipopt::CGSearchDirCalculator::never_use_fact_cgpen_direction_`[private]`

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

Definition at line 120 of file IpCGSearchDirCalc.hpp.

Index Ipopt::CGSearchDirCalculator::nonmonotone_pen_update_counter_`[private]`

Counter for how many times the pen para is updated nonmonotonically.

Definition at line 123 of file IpCGSearchDirCalc.hpp.

SmartPtr<PDSystemSolver> Ipopt::CGSearchDirCalculator::pd_solver_`[private]`

Definition at line 128 of file IpCGSearchDirCalc.hpp.

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

- src/contrib/CGPenalty/IpCGSearchDirCalc.hpp

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines