Ipopt
trunk
|
Implementation of the search direction calculator that computes the Chen-Goldfarb step for the current barrier and penalty parameter. More...
#include <IpCGSearchDirCalc.hpp>
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_ |
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.
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.
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.
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.
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.
Maximal value for initial penalty parameter.
Definition at line 96 of file IpCGSearchDirCalc.hpp.
Maximal value for penalty parameters.
Definition at line 98 of file IpCGSearchDirCalc.hpp.
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.
parameters used to check if the fast direction can be used as the line search direction
Definition at line 111 of file IpCGSearchDirCalc.hpp.
Definition at line 112 of file IpCGSearchDirCalc.hpp.
Definition at line 113 of file IpCGSearchDirCalc.hpp.
Definition at line 114 of file IpCGSearchDirCalc.hpp.
Definition at line 115 of file IpCGSearchDirCalc.hpp.
Definition at line 116 of file IpCGSearchDirCalc.hpp.
Flag indicating whether the fast Chen-Goldfarb direction should never be used.
Definition at line 120 of file IpCGSearchDirCalc.hpp.
Counter for how many times the pen para is updated nonmonotonically.
Definition at line 123 of file IpCGSearchDirCalc.hpp.
Definition at line 128 of file IpCGSearchDirCalc.hpp.