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:

Inheritance graph
[legend]
Collaboration diagram for Ipopt::DefaultIterateInitializer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual bool InitializeImpl (const OptionsList &options, const std::string &prefix)
 overloaded from AlgorithmStrategyObject
virtual bool SetInitialIterates ()
 Compute the initial iterates and set the into the curr field of the ip_data object.
Constructors/Destructors
 DefaultIterateInitializer (const SmartPtr< EqMultiplierCalculator > &eq_mult_calculator, const SmartPtr< IterateInitializer > &warm_start_initializer)
 Constructor.
virtual ~DefaultIterateInitializer ()
 Default destructor.

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.
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.
static void RegisterOptions (SmartPtr< RegisteredOptions > reg_options)
 Methods for IpoptType.

Private Member Functions

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.
 DefaultIterateInitializer (const DefaultIterateInitializer &)
 Copy Constructor.
void operator= (const DefaultIterateInitializer &)
 Overloaded Equals Operator.

Private Attributes

SmartPtr< EqMultiplierCalculatoreq_mult_calculator_
 object to be used for the initialization of the equality constraint multipliers.
SmartPtr< IterateInitializerwarm_start_initializer_
 object to be used for a warm start initialization
Algorithmic Parameters
Number bound_push_
 Parameters for bumping x0.
Number bound_frac_
 Parameters for bumping x0.
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.
Number bound_mult_init_val_
 Initial value for all bound mulitpliers.
bool warm_start_init_point_
 Flag indicating whether warm_start_initializer should be used instead of the default initialization.

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


Constructor & Destructor Documentation

Ipopt::DefaultIterateInitializer::DefaultIterateInitializer ( const SmartPtr< EqMultiplierCalculator > &  eq_mult_calculator,
const SmartPtr< IterateInitializer > &  warm_start_initializer 
)

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 38 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.


Member Data Documentation

Number Ipopt::DefaultIterateInitializer::bound_push_ [private]

Parameters for bumping x0.

Definition at line 106 of file IpDefaultIterateInitializer.hpp.

Number Ipopt::DefaultIterateInitializer::bound_frac_ [private]

Parameters for bumping x0.

Definition at line 108 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 113 of file IpDefaultIterateInitializer.hpp.

Number Ipopt::DefaultIterateInitializer::bound_mult_init_val_ [private]

Initial value for all bound mulitpliers.

Definition at line 115 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 118 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 123 of file IpDefaultIterateInitializer.hpp.

SmartPtr<IterateInitializer> Ipopt::DefaultIterateInitializer::warm_start_initializer_ [private]

object to be used for a warm start initialization

Definition at line 126 of file IpDefaultIterateInitializer.hpp.


The documentation for this class was generated from the following file:
Generated on Thu May 15 22:24:39 2008 by  doxygen 1.4.7