- Main Page
- Namespaces
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# Ipopt::AlgorithmStrategyObject Class Reference

This is the base class for all algorithm strategy objects. More...

`#include <IpAlgStrategy.hpp>`

Inheritance diagram for Ipopt::AlgorithmStrategyObject:

[legend]
Collaboration diagram for Ipopt::AlgorithmStrategyObject:

[legend]
List of all members.

## Public Member Functions
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.
Constructors/Destructors
| AlgorithmStrategyObject ()
| Default Constructor.
virtual | ~AlgorithmStrategyObject ()
| Default Destructor.
## Protected Member Functions
virtual bool | InitializeImpl (const OptionsList &options, const std::string &prefix)=0
| Implementation of the initialization method that has to be overloaded by for each derived class.
Accessor methods for the problem defining objects.
Those should be used by the derived classes.
const Journalist & | Jnlst () const
IpoptNLP & | IpNLP () const
IpoptData & | IpData () const
IpoptCalculatedQuantities & | IpCq () const
## 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.
| AlgorithmStrategyObject (const AlgorithmStrategyObject &)
| Copy Constructor.
void | operator= (const AlgorithmStrategyObject &)
| Overloaded Equals Operator.
## Private Attributes
bool | initialize_called_
| flag indicating if Initialize method has been called (for debugging)
Pointers to objects defining a particular optimization
problem
SmartPtr< const Journalist > | jnlst_
SmartPtr< IpoptNLP > | ip_nlp_
SmartPtr< IpoptData > | ip_data_
SmartPtr< IpoptCalculatedQuantities > | ip_cq_

## Detailed Description

This is the base class for all algorithm strategy objects.

The AlgorithmStrategyObject base class implements a common interface for all algorithm strategy objects. A strategy object is a component of the algorithm for which different alternatives or implementations exists. It allows to compose the algorithm before execution for a particular configuration, without the need to call alternatives based on enums. For example, the LineSearch object is a strategy object, since different line search options might be used for different runs.

This interface is used for things that are done to all strategy objects, like initialization and setting options.

Definition at line 33 of file IpAlgStrategy.hpp.

## Constructor & Destructor Documentation

Ipopt::AlgorithmStrategyObject::AlgorithmStrategyObject | ( |  | ) | `[inline]`

Default Constructor.

Definition at line 39 of file IpAlgStrategy.hpp.

virtual Ipopt::AlgorithmStrategyObject::~AlgorithmStrategyObject | ( |  | ) | `[inline, virtual]`

Default Destructor.

Definition at line 45 of file IpAlgStrategy.hpp.

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

Copy Constructor.

## Member Function Documentation

bool Ipopt::AlgorithmStrategyObject::Initialize | ( | const Journalist & | jnlst,
|  | IpoptNLP & | ip_nlp,
|  | IpoptData & | ip_data,
|  | IpoptCalculatedQuantities & | ip_cq,
|  | const OptionsList & | options,
|  | const std::string & | prefix |
| ) |  |  | `[inline]`

This method is called every time the algorithm starts again - it is used to reset any internal state.

The pointers to the Journalist, as well as to the IpoptNLP, IpoptData, and IpoptCalculatedQuantities objects should be stored in the instanciation of this base class. This method is also used to get all required user options from the OptionsList. Here, if prefix is given, each tag (identifying the options) is first looked for with the prefix in front, and if not found, without the prefix. Note: you should not cue off of the iteration count to indicate the "start" of an algorithm!

Do not overload this method, since it does some general initialization that is common for all strategy objects. Overload the protected InitializeImpl method instead.

Definition at line 64 of file IpAlgStrategy.hpp.

References initialize_called_, InitializeImpl(), ip_cq_, ip_data_, ip_nlp_, and jnlst_.

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

Implementation of the initialization method that has to be overloaded by for each derived class.

Implemented in Ipopt::AdaptiveMuUpdate, Ipopt::AugRestoSystemSolver, Ipopt::AugSystemSolver, Ipopt::BacktrackingLineSearch, Ipopt::BacktrackingLSAcceptor, Ipopt::ConvergenceCheck, Ipopt::DefaultIterateInitializer, Ipopt::EqMultiplierCalculator, Ipopt::ExactHessianUpdater, Ipopt::FilterLSAcceptor, Ipopt::HessianUpdater, Ipopt::IpoptAlgorithm, Ipopt::IterateInitializer, Ipopt::IterationOutput, Ipopt::LeastSquareMultipliers, Ipopt::LimMemQuasiNewtonUpdater, Ipopt::LoqoMuOracle, Ipopt::LowRankAugSystemSolver, Ipopt::MonotoneMuUpdate, Ipopt::MuOracle, Ipopt::MuUpdate, Ipopt::OptimalityErrorConvergenceCheck, Ipopt::OrigIterationOutput, Ipopt::PDFullSpaceSolver, Ipopt::PDPerturbationHandler, Ipopt::PDSystemSolver, Ipopt::ProbingMuOracle, Ipopt::QualityFunctionMuOracle, Ipopt::RestoFilterConvergenceCheck, Ipopt::RestoIterateInitializer, Ipopt::RestoIterationOutput, Ipopt::MinC_1NrmRestorationPhase, Ipopt::RestorationPhase, Ipopt::RestoRestorationPhase, Ipopt::StdAugSystemSolver, Ipopt::WarmStartIterateInitializer, Ipopt::Ma27TSolverInterface, Ipopt::Ma57TSolverInterface, Ipopt::Mc19TSymScalingMethod, Ipopt::MumpsSolverInterface, Ipopt::PardisoSolverInterface, Ipopt::SparseSymLinearSolverInterface, Ipopt::SymLinearSolver, Ipopt::TAUCSSolverInterface, Ipopt::TSymLinearSolver, Ipopt::TSymScalingMethod, and Ipopt::WsmpSolverInterface.

Referenced by Initialize().

const Journalist& Ipopt::AlgorithmStrategyObject::Jnlst | ( |  | ) | const`[inline, protected]`

Definition at line 95 of file IpAlgStrategy.hpp.

References DBG_ASSERT, initialize_called_, and jnlst_.

IpoptNLP& Ipopt::AlgorithmStrategyObject::IpNLP | ( |  | ) | const`[inline, protected]`

Definition at line 100 of file IpAlgStrategy.hpp.

References DBG_ASSERT, initialize_called_, and ip_nlp_.

IpoptData& Ipopt::AlgorithmStrategyObject::IpData | ( |  | ) | const`[inline, protected]`

Definition at line 105 of file IpAlgStrategy.hpp.

References DBG_ASSERT, initialize_called_, and ip_data_.

IpoptCalculatedQuantities& Ipopt::AlgorithmStrategyObject::IpCq | ( |  | ) | const`[inline, protected]`

Definition at line 110 of file IpAlgStrategy.hpp.

References DBG_ASSERT, initialize_called_, and ip_cq_.

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

Overloaded Equals Operator.

## Member Data Documentation

SmartPtr<const Journalist> Ipopt::AlgorithmStrategyObject::jnlst_`[private]`

Definition at line 140 of file IpAlgStrategy.hpp.

Referenced by Initialize(), and Jnlst().

SmartPtr<IpoptNLP> Ipopt::AlgorithmStrategyObject::ip_nlp_`[private]`

Definition at line 141 of file IpAlgStrategy.hpp.

Referenced by Initialize(), and IpNLP().

SmartPtr<IpoptData> Ipopt::AlgorithmStrategyObject::ip_data_`[private]`

Definition at line 142 of file IpAlgStrategy.hpp.

Referenced by Initialize(), and IpData().

SmartPtr<IpoptCalculatedQuantities> Ipopt::AlgorithmStrategyObject::ip_cq_`[private]`

Definition at line 143 of file IpAlgStrategy.hpp.

Referenced by Initialize(), and IpCq().

bool Ipopt::AlgorithmStrategyObject::initialize_called_`[private]`

flag indicating if Initialize method has been called (for debugging)

Definition at line 148 of file IpAlgStrategy.hpp.

Referenced by Initialize(), IpCq(), IpData(), IpNLP(), and Jnlst().

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

- /home/coin/SVN-release/Ipopt-3.2.1/Ipopt/src/Algorithm/IpAlgStrategy.hpp