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 | Private Attributes | List of all members
Ipopt::AdaptiveMuUpdate Class Reference

Non-monotone mu update. More...

`#include <IpAdaptiveMuUpdate.hpp>`

Inheritance diagram for Ipopt::AdaptiveMuUpdate:
[legend]

## Public Member Functions
virtual bool | InitializeImpl (const OptionsList &options, const std::string &prefix)
| Initialize method - overloaded from AlgorithmStrategyObject. More...
virtual bool | UpdateBarrierParameter ()
| Method for determining the barrier parameter for the next iteration. More...
Constructors/Destructors
| AdaptiveMuUpdate (const SmartPtr< LineSearch > &linesearch, const SmartPtr< MuOracle > &free_mu_oracle, const SmartPtr< MuOracle > &fix_mu_oracle=NULL)
| Constructor. More...
virtual | ~AdaptiveMuUpdate ()
| Default destructor. More...
Public Member Functions inherited from Ipopt::MuUpdate
| MuUpdate ()
| Default Constructor. More...
virtual | ~MuUpdate ()
| 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 | RegisterOptions (SmartPtr< RegisteredOptions > roptions)
| Methods for IpoptType. More...

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

## Private Attributes
Number | init_dual_inf_
| Dual infeasibility at initial point. More...
Number | init_primal_inf_
| Primal infeasibility at initial point. More...
bool | no_bounds_
| Flag indicating whether the problem has any inequality constraints. More...
bool | check_if_no_bounds_
| Flag indicating whether no_bounds_ has been initialized. More...
Strategy objects
SmartPtr< LineSearch > | linesearch_
| Line search object of the Ipopt algorithm. More...
SmartPtr< MuOracle > | free_mu_oracle_
| Pointer to strategy object that is to be used for computing a suggested value of the barrier parameter in the free mu mode. More...
SmartPtr< MuOracle > | fix_mu_oracle_
| Pointer to strategy object that is to be used for computing a suggested value for the fixed mu mode. More...
Most recent accepted point in free mode, from which
fixed mode should be started.
SmartPtr< const IteratesVector > | accepted_point_

## Algorithmic parameters
enum | AdaptiveMuGlobalizationEnum { KKT_ERROR =0, FILTER_OBJ_CONSTR, NEVER_MONOTONE_MODE }
| enumeration for adaptive globalization More...
Number | mu_max_fact_
Number | mu_max_
Number | mu_min_
Number | mu_target_
bool | mu_min_default_
Number | tau_min_
Number | adaptive_mu_safeguard_factor_
Number | adaptive_mu_monotone_init_factor_
Number | barrier_tol_factor_
Number | mu_linear_decrease_factor_
Number | mu_superlinear_decrease_power_
QualityFunctionMuOracle::NormEnum | adaptive_mu_kkt_norm_
QualityFunctionMuOracle::CentralityEnum | adaptive_mu_kkt_centrality_
QualityFunctionMuOracle::BalancingTermEnum | adaptive_mu_kkt_balancing_term_
AdaptiveMuGlobalizationEnum | adaptive_mu_globalization_
| Flag indicating which globalization strategy should be used. More...
Number | filter_max_margin_
| Maximal margin in filter. More...
Number | filter_margin_fact_
| Factor for filter margin. More...
Number | compl_inf_tol_
| Unscaled tolerance for complementarity. More...

## Methods and data defining the outer globalization
strategy (might be a strategy object later).
Index | num_refs_max_
| Maximal number of reference values (algorithmic parameter) More...
std::list< Number > | refs_vals_
| Values of the currently stored reference values (norm of pd equations) More...
Number | refs_red_fact_
| Factor requested to reduce the reference values. More...
Filter | filter_
| Alternatively, we might also want to use a filter. More...
bool | restore_accepted_iterate_
| Flag indicating whether the most recent accepted step should be restored, when switching to the fixed mode. More...
void | InitializeFixedMuGlobalization ()
bool | CheckSufficientProgress ()
| Check whether the point in the "current" fields offers sufficient reduction in order to remain in or switch to the free mu mode. More...
void | RememberCurrentPointAsAccepted ()
| Include the current point in internal memory to as accepted point. More...
Number | NewFixedMu ()
| Compute the value of the fixed mu that should be used in a new fixed mu phase. More...
Number | Compute_tau_monotone (Number mu)
| Compute value for the fraction-to-the-boundary parameter given mu in the monotone phase. More...
Number | quality_function_pd_system ()
| Method for computing the norm of the primal dual system at the current point. More...
Number | lower_mu_safeguard ()
| Method for computing a lower safeguard bound for the barrier parameter. More...
Number | max_ref_val ()
| Computer the currently largest reference value. More...
Number | min_ref_val ()
| Computer the currently smallest reference value. 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

Non-monotone mu update.

Definition at line 23 of file IpAdaptiveMuUpdate.hpp.

## Member Enumeration Documentation

enum Ipopt::AdaptiveMuUpdate::AdaptiveMuGlobalizationEnum
| private

enumeration for adaptive globalization

Enumerator
KKT_ERROR |
FILTER_OBJ_CONSTR |
NEVER_MONOTONE_MODE |

Definition at line 89 of file IpAdaptiveMuUpdate.hpp.

## Constructor & Destructor Documentation

Ipopt::AdaptiveMuUpdate::AdaptiveMuUpdate | ( | const SmartPtr< LineSearch > & | linesearch,
|  | const SmartPtr< MuOracle > & | free_mu_oracle,
|  | const SmartPtr< MuOracle > & | fix_mu_oracle = `NULL`
| ) |  |

Constructor.

virtual Ipopt::AdaptiveMuUpdate::~AdaptiveMuUpdate | ( |  | ) |
| virtual

Default destructor.

Ipopt::AdaptiveMuUpdate::AdaptiveMuUpdate | ( |  | ) |
| private

Default Constructor.

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

Copy Constructor.

## Member Function Documentation

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

Initialize method - overloaded from AlgorithmStrategyObject.

Implements Ipopt::MuUpdate.

virtual bool Ipopt::AdaptiveMuUpdate::UpdateBarrierParameter | ( |  | ) |
| virtual

Method for determining the barrier parameter for the next iteration.

When the optimality error for the current barrier parameter is less than a tolerance, the barrier parameter is reduced, and the Reset method of the LineSearch object linesearch is called.

Implements Ipopt::MuUpdate.

static void Ipopt::AdaptiveMuUpdate::RegisterOptions | ( | SmartPtr< RegisteredOptions > | roptions | ) |
| static

Methods for IpoptType.

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

Overloaded Equals Operator.

void Ipopt::AdaptiveMuUpdate::InitializeFixedMuGlobalization | ( |  | ) |
| private

bool Ipopt::AdaptiveMuUpdate::CheckSufficientProgress | ( |  | ) |
| private

Check whether the point in the "current" fields offers sufficient reduction in order to remain in or switch to the free mu mode.

void Ipopt::AdaptiveMuUpdate::RememberCurrentPointAsAccepted | ( |  | ) |
| private

Include the current point in internal memory to as accepted point.

Number Ipopt::AdaptiveMuUpdate::NewFixedMu | ( |  | ) |
| private

Compute the value of the fixed mu that should be used in a new fixed mu phase.

This method is called at the beginning of a new fixed mu phase.

Number Ipopt::AdaptiveMuUpdate::Compute_tau_monotone | ( | Number | mu | ) |
| private

Compute value for the fraction-to-the-boundary parameter given mu in the monotone phase.

Number Ipopt::AdaptiveMuUpdate::quality_function_pd_system | ( |  | ) |
| private

Method for computing the norm of the primal dual system at the current point.

For consistency, this is computed in the same way as the quality function is computed. This is the quantities used in the nonmonontone KKT reduction globalization.

Number Ipopt::AdaptiveMuUpdate::lower_mu_safeguard | ( |  | ) |
| private

Method for computing a lower safeguard bound for the barrier parameter.

For now, this is related to primal and dual infeasibility.

Number Ipopt::AdaptiveMuUpdate::max_ref_val | ( |  | ) |
| private

Computer the currently largest reference value.

Number Ipopt::AdaptiveMuUpdate::min_ref_val | ( |  | ) |
| private

Computer the currently smallest reference value.

## Member Data Documentation

Number Ipopt::AdaptiveMuUpdate::mu_max_fact_
| private

Definition at line 74 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::mu_max_
| private

Definition at line 75 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::mu_min_
| private

Definition at line 76 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::mu_target_
| private

Definition at line 77 of file IpAdaptiveMuUpdate.hpp.

bool Ipopt::AdaptiveMuUpdate::mu_min_default_
| private

Definition at line 78 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::tau_min_
| private

Definition at line 79 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::adaptive_mu_safeguard_factor_
| private

Definition at line 80 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::adaptive_mu_monotone_init_factor_
| private

Definition at line 81 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::barrier_tol_factor_
| private

Definition at line 82 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::mu_linear_decrease_factor_
| private

Definition at line 83 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::mu_superlinear_decrease_power_
| private

Definition at line 84 of file IpAdaptiveMuUpdate.hpp.

QualityFunctionMuOracle::NormEnum Ipopt::AdaptiveMuUpdate::adaptive_mu_kkt_norm_
| private

Definition at line 85 of file IpAdaptiveMuUpdate.hpp.

QualityFunctionMuOracle::CentralityEnum Ipopt::AdaptiveMuUpdate::adaptive_mu_kkt_centrality_
| private

Definition at line 86 of file IpAdaptiveMuUpdate.hpp.

QualityFunctionMuOracle::BalancingTermEnum Ipopt::AdaptiveMuUpdate::adaptive_mu_kkt_balancing_term_
| private

Definition at line 87 of file IpAdaptiveMuUpdate.hpp.

AdaptiveMuGlobalizationEnum Ipopt::AdaptiveMuUpdate::adaptive_mu_globalization_
| private

Flag indicating which globalization strategy should be used.

Definition at line 96 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::filter_max_margin_
| private

Maximal margin in filter.

Definition at line 98 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::filter_margin_fact_
| private

Factor for filter margin.

Definition at line 100 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::compl_inf_tol_
| private

Unscaled tolerance for complementarity.

Definition at line 102 of file IpAdaptiveMuUpdate.hpp.

SmartPtr<LineSearch> Ipopt::AdaptiveMuUpdate::linesearch_
| private

Line search object of the Ipopt algorithm.

Definition at line 108 of file IpAdaptiveMuUpdate.hpp.

SmartPtr<MuOracle> Ipopt::AdaptiveMuUpdate::free_mu_oracle_
| private

Pointer to strategy object that is to be used for computing a suggested value of the barrier parameter in the free mu mode.

Definition at line 112 of file IpAdaptiveMuUpdate.hpp.

SmartPtr<MuOracle> Ipopt::AdaptiveMuUpdate::fix_mu_oracle_
| private

Pointer to strategy object that is to be used for computing a suggested value for the fixed mu mode.

If NULL, the current average complementarity is used.

Definition at line 117 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::init_dual_inf_
| private

Dual infeasibility at initial point.

A negative value means that this quantity has not yet been initialized.

Definition at line 122 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::init_primal_inf_
| private

Primal infeasibility at initial point.

A negative value means that this quantity has not yet been initialized.

Definition at line 125 of file IpAdaptiveMuUpdate.hpp.

Index Ipopt::AdaptiveMuUpdate::num_refs_max_
| private

Maximal number of reference values (algorithmic parameter)

Definition at line 165 of file IpAdaptiveMuUpdate.hpp.

std::list<Number> Ipopt::AdaptiveMuUpdate::refs_vals_
| private

Values of the currently stored reference values (norm of pd equations)

Definition at line 168 of file IpAdaptiveMuUpdate.hpp.

Number Ipopt::AdaptiveMuUpdate::refs_red_fact_
| private

Factor requested to reduce the reference values.

Definition at line 170 of file IpAdaptiveMuUpdate.hpp.

Filter Ipopt::AdaptiveMuUpdate::filter_
| private

Alternatively, we might also want to use a filter.

Definition at line 173 of file IpAdaptiveMuUpdate.hpp.

bool Ipopt::AdaptiveMuUpdate::restore_accepted_iterate_
| private

Flag indicating whether the most recent accepted step should be restored, when switching to the fixed mode.

Definition at line 176 of file IpAdaptiveMuUpdate.hpp.

bool Ipopt::AdaptiveMuUpdate::no_bounds_
| private

Flag indicating whether the problem has any inequality constraints.

Definition at line 180 of file IpAdaptiveMuUpdate.hpp.

bool Ipopt::AdaptiveMuUpdate::check_if_no_bounds_
| private

Flag indicating whether no_bounds_ has been initialized.

Definition at line 182 of file IpAdaptiveMuUpdate.hpp.

SmartPtr<const IteratesVector> Ipopt::AdaptiveMuUpdate::accepted_point_
| private

Definition at line 188 of file IpAdaptiveMuUpdate.hpp.

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

- src/Algorithm/IpAdaptiveMuUpdate.hpp