Ipopt 3.12.10

- Main Page
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
Ipopt::DefaultIterateInitializer Class Reference

Class implementing the default initialization procedure (based on user options) for the iterates. More...

`#include <IpDefaultIterateInitializer.hpp>`

Inheritance diagram for Ipopt::DefaultIterateInitializer:
[legend]

## Public Types
Enums of option values
enum | BoundMultInitMethod { B_CONSTANT =0, B_MU_BASED }

## Public Member Functions
virtual bool | InitializeImpl (const OptionsList &options, const std::string &prefix)
| overloaded from AlgorithmStrategyObject More...
virtual bool | SetInitialIterates ()
| Compute the initial iterates and set the into the curr field of the ip_data object. More...
Constructors/Destructors
| DefaultIterateInitializer (const SmartPtr< EqMultiplierCalculator > &eq_mult_calculator, const SmartPtr< IterateInitializer > &warm_start_initializer, const SmartPtr< AugSystemSolver > aug_system_solver=NULL)
| Constructor. More...
virtual | ~DefaultIterateInitializer ()
| Default destructor. More...
Public Member Functions inherited from Ipopt::IterateInitializer
| IterateInitializer ()
| Default Constructor. More...
virtual | ~IterateInitializer ()
| Default destructor. More...
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. More...
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. More...
| AlgorithmStrategyObject ()
| Default Constructor. More...
virtual | ~AlgorithmStrategyObject ()
| Default Destructor. More...
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 | push_variables (const Journalist &jnlst, Number bound_push, Number bound_frac, std::string name, const Vector &orig_x, SmartPtr< const Vector > &new_x, const Vector &x_L, const Vector &x_U, const Matrix &Px_L, const Matrix &Px_U)
| Auxilliary function for moving the initial point. More...
static void | least_square_mults (const Journalist &jnlst, IpoptNLP &ip_nlp, IpoptData &ip_data, IpoptCalculatedQuantities &ip_cq, const SmartPtr< EqMultiplierCalculator > &eq_mult_calculator, Number constr_mult_init_max)
| Auxilliary function for computing least_square multipliers. More...
static void | RegisterOptions (SmartPtr< RegisteredOptions > reg_options)
| Methods for IpoptType. More...

## Private Member Functions
bool | CalculateLeastSquarePrimals (Vector &x_ls, Vector &s_ls)
| Auxilliary method for computing least square primal variables. More...
bool | CalculateLeastSquareDuals (Vector &zL_new, Vector &zU_new, Vector &vL_new, Vector &vU_new, Vector &yc_new, Vector &yd_new)
| Auxilliary method for computing least square dual variables. More...
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.
| DefaultIterateInitializer ()
| Default Constructor. More...
| DefaultIterateInitializer (const DefaultIterateInitializer &)
| Copy Constructor. More...
void | operator= (const DefaultIterateInitializer &)
| Overloaded Equals Operator. More...

## Private Attributes
SmartPtr< EqMultiplierCalculator > | eq_mult_calculator_
| object to be used for the initialization of the equality constraint multipliers. More...
SmartPtr< IterateInitializer > | warm_start_initializer_
| object to be used for a warm start initialization More...
SmartPtr< AugSystemSolver > | aug_system_solver_
| Object for solving the augmented system. More...
Algorithmic Parameters
Number | bound_push_
| Absolute parameter for bumping x0. More...
Number | bound_frac_
| Relative parameter for bumping x0. More...
Number | slack_bound_push_
| Absolute parameter for bumping s0. More...
Number | slack_bound_frac_
| Relative parameter for bumping s0. More...
Number | constr_mult_init_max_
| If max-norm of the initial equality constraint multiplier estimate is larger than this, the initial y_* variables are set to zero. More...
Number | bound_mult_init_val_
| Initial value for all bound mulitpliers. More...
bool | warm_start_init_point_
| Flag indicating whether warm_start_initializer should be used instead of the default initialization. More...
bool | least_square_init_primal_
| Flag indicating whether the primal variables should be initialized as least square fit for the linearized constraints. More...
bool | least_square_init_duals_
| Flag indicating whether all dual variables should be initialized as least square fit for the linearized dual infeasibility. More...
BoundMultInitMethod | bound_mult_init_method_
| Flag indicating how bound multipliers are initialized. More...
Number | mu_init_
| Initial value of barrier parameter. More...

## Additional Inherited Members
Protected Member Functions inherited from Ipopt::AlgorithmStrategyObject
const Journalist & | Jnlst () const
IpoptNLP & | IpNLP () const
IpoptData & | IpData () const
IpoptCalculatedQuantities & | IpCq () const
bool | HaveIpData () const

## Detailed Description

Class implementing the default initialization procedure (based on user options) for the iterates.

It is used at the very beginning of the optimization for determine the starting point for all variables.

Definition at line 24 of file IpDefaultIterateInitializer.hpp.

## Member Enumeration Documentation

enum Ipopt::DefaultIterateInitializer::BoundMultInitMethod

Enumerator
B_CONSTANT |
B_MU_BASED |

Definition at line 88 of file IpDefaultIterateInitializer.hpp.

## Constructor & Destructor Documentation

Ipopt::DefaultIterateInitializer::DefaultIterateInitializer | ( | const SmartPtr< EqMultiplierCalculator > & | eq_mult_calculator,
|  | const SmartPtr< IterateInitializer > & | warm_start_initializer,
|  | const SmartPtr< AugSystemSolver > | aug_system_solver = `NULL`
| ) |  |

Constructor.

If eq_mult_calculator is not NULL, it will be used to compute the initial values for equality constraint multipliers. If warm_start_initializer is not NULL, it will be used to compute the initial values if the option warm_start_init_point is chosen.

virtual Ipopt::DefaultIterateInitializer::~DefaultIterateInitializer | ( |  | ) |
| inline virtual

Default destructor.

Definition at line 40 of file IpDefaultIterateInitializer.hpp.

Ipopt::DefaultIterateInitializer::DefaultIterateInitializer | ( |  | ) |
| private

Default Constructor.

Ipopt::DefaultIterateInitializer::DefaultIterateInitializer | ( | const DefaultIterateInitializer & |  | ) |
| private

Copy Constructor.

## Member Function Documentation

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

overloaded from AlgorithmStrategyObject

Implements Ipopt::IterateInitializer.

virtual bool Ipopt::DefaultIterateInitializer::SetInitialIterates | ( |  | ) |
| virtual

Compute the initial iterates and set the into the curr field of the ip_data object.

Implements Ipopt::IterateInitializer.

static void Ipopt::DefaultIterateInitializer::push_variables | ( | const Journalist & | jnlst,
|  | Number | bound_push,
|  | Number | bound_frac,
|  | std::string | name,
|  | const Vector & | orig_x,
|  | SmartPtr< const Vector > & | new_x,
|  | const Vector & | x_L,
|  | const Vector & | x_U,
|  | const Matrix & | Px_L,
|  | const Matrix & | Px_U
| ) |  |
| static

Auxilliary function for moving the initial point.

This is declared static so that it can also be used from WarmStartIterateInitializer.

static void Ipopt::DefaultIterateInitializer::least_square_mults | ( | const Journalist & | jnlst,
|  | IpoptNLP & | ip_nlp,
|  | IpoptData & | ip_data,
|  | IpoptCalculatedQuantities & | ip_cq,
|  | const SmartPtr< EqMultiplierCalculator > & | eq_mult_calculator,
|  | Number | constr_mult_init_max
| ) |  |
| static

Auxilliary function for computing least_square multipliers.

The multipliers are computed based on the values in the trial fields (current is overwritten). On return, the multipliers are in the trial fields as well. The value of constr_mult_init_max determines if the computed least square estimate should be used, or if the initial multipliers are set to zero.

static void Ipopt::DefaultIterateInitializer::RegisterOptions | ( | SmartPtr< RegisteredOptions > | reg_options | ) |
| static

Methods for IpoptType.

void Ipopt::DefaultIterateInitializer::operator= | ( | const DefaultIterateInitializer & |  | ) |
| private

Overloaded Equals Operator.

bool Ipopt::DefaultIterateInitializer::CalculateLeastSquarePrimals | ( | Vector & | x_ls,
|  | Vector & | s_ls
| ) |  |
| private

Auxilliary method for computing least square primal variables.

bool Ipopt::DefaultIterateInitializer::CalculateLeastSquareDuals | ( | Vector & | zL_new,
|  | Vector & | zU_new,
|  | Vector & | vL_new,
|  | Vector & | vU_new,
|  | Vector & | yc_new,
|  | Vector & | yd_new
| ) |  |
| private

Auxilliary method for computing least square dual variables.

## Member Data Documentation

Number Ipopt::DefaultIterateInitializer::bound_push_
| private

Absolute parameter for bumping x0.

Definition at line 116 of file IpDefaultIterateInitializer.hpp.

Number Ipopt::DefaultIterateInitializer::bound_frac_
| private

Relative parameter for bumping x0.

Definition at line 118 of file IpDefaultIterateInitializer.hpp.

Number Ipopt::DefaultIterateInitializer::slack_bound_push_
| private

Absolute parameter for bumping s0.

Definition at line 120 of file IpDefaultIterateInitializer.hpp.

Number Ipopt::DefaultIterateInitializer::slack_bound_frac_
| private

Relative parameter for bumping s0.

Definition at line 122 of file IpDefaultIterateInitializer.hpp.

Number Ipopt::DefaultIterateInitializer::constr_mult_init_max_
| private

If max-norm of the initial equality constraint multiplier estimate is larger than this, the initial y_* variables are set to zero.

Definition at line 127 of file IpDefaultIterateInitializer.hpp.

Number Ipopt::DefaultIterateInitializer::bound_mult_init_val_
| private

Initial value for all bound mulitpliers.

Definition at line 129 of file IpDefaultIterateInitializer.hpp.

bool Ipopt::DefaultIterateInitializer::warm_start_init_point_
| private

Flag indicating whether warm_start_initializer should be used instead of the default initialization.

Definition at line 132 of file IpDefaultIterateInitializer.hpp.

bool Ipopt::DefaultIterateInitializer::least_square_init_primal_
| private

Flag indicating whether the primal variables should be initialized as least square fit for the linearized constraints.

Definition at line 136 of file IpDefaultIterateInitializer.hpp.

bool Ipopt::DefaultIterateInitializer::least_square_init_duals_
| private

Flag indicating whether all dual variables should be initialized as least square fit for the linearized dual infeasibility.

Definition at line 140 of file IpDefaultIterateInitializer.hpp.

BoundMultInitMethod Ipopt::DefaultIterateInitializer::bound_mult_init_method_
| private

Flag indicating how bound multipliers are initialized.

Definition at line 142 of file IpDefaultIterateInitializer.hpp.

Number Ipopt::DefaultIterateInitializer::mu_init_
| private

Initial value of barrier parameter.

Definition at line 144 of file IpDefaultIterateInitializer.hpp.

SmartPtr<EqMultiplierCalculator> Ipopt::DefaultIterateInitializer::eq_mult_calculator_
| private

object to be used for the initialization of the equality constraint multipliers.

Definition at line 149 of file IpDefaultIterateInitializer.hpp.

SmartPtr<IterateInitializer> Ipopt::DefaultIterateInitializer::warm_start_initializer_
| private

object to be used for a warm start initialization

Definition at line 152 of file IpDefaultIterateInitializer.hpp.

SmartPtr<AugSystemSolver> Ipopt::DefaultIterateInitializer::aug_system_solver_
| private

Object for solving the augmented system.

This is only required if we use the least square initialization of primal and all dual varibles.

Definition at line 157 of file IpDefaultIterateInitializer.hpp.

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

- src/Algorithm/IpDefaultIterateInitializer.hpp