AlgorithmStrategyObject Class Reference

#include <IpAlgStrategy.hpp>

Inheritance diagram for AlgorithmStrategyObject:

ReferencedObject AugSystemSolver BacktrackingLSAcceptor ConvergenceCheck EqMultiplierCalculator HessianUpdater IpoptAlgorithm IterateInitializer IterationOutput LineSearch MuOracle MuUpdate PDPerturbationHandler PDSystemSolver RestorationPhase SparseSymLinearSolverInterface SymLinearSolver TSymScalingMethod

List of all members.


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.

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 JournalistJnlst () const
IpoptNLPIpNLP () const
IpoptDataIpData () const
IpoptCalculatedQuantitiesIpCq () const


Constructor & Destructor Documentation

AlgorithmStrategyObject (  )  [inline]

Default Constructor.

virtual ~AlgorithmStrategyObject (  )  [inline, virtual]

Default Destructor.


Member Function Documentation

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

References AlgorithmStrategyObject::InitializeImpl().

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

const Journalist& Jnlst (  )  const [inline, protected]

References DBG_ASSERT.

Referenced by BacktrackingLineSearch::ActivateFallbackMechanism(), QualityFunctionMuOracle::CalculateMu(), ProbingMuOracle::CalculateMu(), LoqoMuOracle::CalculateMu(), FilterLSAcceptor::CheckAcceptabilityOfTrialPoint(), RestoFilterConvergenceCheck::CheckConvergence(), BacktrackingLineSearch::FindAcceptableTrialPoint(), TSymLinearSolver::IncreaseQuality(), TSymLinearSolver::InitializeImpl(), StdAugSystemSolver::InitializeImpl(), MinC_1NrmRestorationPhase::InitializeImpl(), RestoIterationOutput::InitializeImpl(), RestoIterateInitializer::InitializeImpl(), PDFullSpaceSolver::InitializeImpl(), LowRankAugSystemSolver::InitializeImpl(), LeastSquareMultipliers::InitializeImpl(), IpoptAlgorithm::InitializeImpl(), DefaultIterateInitializer::InitializeImpl(), BacktrackingLineSearch::InitializeImpl(), AugRestoSystemSolver::InitializeImpl(), AdaptiveMuUpdate::InitializeImpl(), FilterLSAcceptor::InitThisLineSearch(), FilterLSAcceptor::IsAcceptableToCurrentIterate(), StdAugSystemSolver::MultiSolve(), IpoptAlgorithm::Optimize(), RestoRestorationPhase::PerformRestoration(), MinC_1NrmRestorationPhase::PerformRestoration(), PDPerturbationHandler::PerturbForSingularity(), WarmStartIterateInitializer::SetInitialIterates(), RestoIterateInitializer::SetInitialIterates(), DefaultIterateInitializer::SetInitialIterates(), PDFullSpaceSolver::Solve(), LowRankAugSystemSolver::Solve(), FilterLSAcceptor::TryCorrector(), FilterLSAcceptor::TrySecondOrderCorrection(), MonotoneMuUpdate::UpdateBarrierParameter(), AdaptiveMuUpdate::UpdateBarrierParameter(), LimMemQuasiNewtonUpdater::UpdateHessian(), RestoIterationOutput::WriteOutput(), and OrigIterationOutput::WriteOutput().

IpoptNLP& IpNLP (  )  const [inline, protected]

IpoptData& IpData (  )  const [inline, protected]

References DBG_ASSERT.

Referenced by BacktrackingLineSearch::ActivateFallbackMechanism(), QualityFunctionMuOracle::CalculateMu(), ProbingMuOracle::CalculateMu(), LoqoMuOracle::CalculateMu(), LeastSquareMultipliers::CalculateMultipliers(), FilterLSAcceptor::CheckAcceptabilityOfTrialPoint(), RestoFilterConvergenceCheck::CheckConvergence(), OptimalityErrorConvergenceCheck::CheckConvergence(), PDPerturbationHandler::ConsiderNewSystem(), OptimalityErrorConvergenceCheck::CurrentIsAcceptable(), BacktrackingLineSearch::FindAcceptableTrialPoint(), TSymLinearSolver::IncreaseQuality(), TSymLinearSolver::InitializeImpl(), StdAugSystemSolver::InitializeImpl(), MinC_1NrmRestorationPhase::InitializeImpl(), RestoIterationOutput::InitializeImpl(), RestoIterateInitializer::InitializeImpl(), PDFullSpaceSolver::InitializeImpl(), MonotoneMuUpdate::InitializeImpl(), LowRankAugSystemSolver::InitializeImpl(), LeastSquareMultipliers::InitializeImpl(), IpoptAlgorithm::InitializeImpl(), DefaultIterateInitializer::InitializeImpl(), BacktrackingLineSearch::InitializeImpl(), AugRestoSystemSolver::InitializeImpl(), AdaptiveMuUpdate::InitializeImpl(), TSymLinearSolver::MultiSolve(), IpoptAlgorithm::Optimize(), RestoRestorationPhase::PerformRestoration(), MinC_1NrmRestorationPhase::PerformRestoration(), PDPerturbationHandler::PerturbForSingularity(), WarmStartIterateInitializer::SetInitialIterates(), RestoIterateInitializer::SetInitialIterates(), DefaultIterateInitializer::SetInitialIterates(), PDFullSpaceSolver::Solve(), FilterLSAcceptor::TryCorrector(), FilterLSAcceptor::TrySecondOrderCorrection(), MonotoneMuUpdate::UpdateBarrierParameter(), AdaptiveMuUpdate::UpdateBarrierParameter(), LimMemQuasiNewtonUpdater::UpdateHessian(), ExactHessianUpdater::UpdateHessian(), RestoIterationOutput::WriteOutput(), and OrigIterationOutput::WriteOutput().

IpoptCalculatedQuantities& IpCq (  )  const [inline, protected]

References DBG_ASSERT.

Referenced by FilterLSAcceptor::CalculateAlphaMin(), QualityFunctionMuOracle::CalculateMu(), ProbingMuOracle::CalculateMu(), LoqoMuOracle::CalculateMu(), LeastSquareMultipliers::CalculateMultipliers(), FilterLSAcceptor::CheckAcceptabilityOfTrialPoint(), RestoFilterConvergenceCheck::CheckConvergence(), OptimalityErrorConvergenceCheck::CheckConvergence(), OptimalityErrorConvergenceCheck::CurrentIsAcceptable(), BacktrackingLineSearch::FindAcceptableTrialPoint(), TSymLinearSolver::InitializeImpl(), StdAugSystemSolver::InitializeImpl(), MinC_1NrmRestorationPhase::InitializeImpl(), RestoIterationOutput::InitializeImpl(), RestoIterateInitializer::InitializeImpl(), PDFullSpaceSolver::InitializeImpl(), LowRankAugSystemSolver::InitializeImpl(), LeastSquareMultipliers::InitializeImpl(), IpoptAlgorithm::InitializeImpl(), DefaultIterateInitializer::InitializeImpl(), BacktrackingLineSearch::InitializeImpl(), AugRestoSystemSolver::InitializeImpl(), AdaptiveMuUpdate::InitializeImpl(), FilterLSAcceptor::InitThisLineSearch(), RestoRestorationPhase::PerformRestoration(), MinC_1NrmRestorationPhase::PerformRestoration(), WarmStartIterateInitializer::SetInitialIterates(), RestoIterateInitializer::SetInitialIterates(), DefaultIterateInitializer::SetInitialIterates(), PDFullSpaceSolver::Solve(), FilterLSAcceptor::StartWatchDog(), FilterLSAcceptor::TryCorrector(), FilterLSAcceptor::TrySecondOrderCorrection(), MonotoneMuUpdate::UpdateBarrierParameter(), AdaptiveMuUpdate::UpdateBarrierParameter(), LimMemQuasiNewtonUpdater::UpdateHessian(), ExactHessianUpdater::UpdateHessian(), RestoIterationOutput::WriteOutput(), and OrigIterationOutput::WriteOutput().


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

Generated on Fri Sep 26 07:44:25 2008 for SimTKcore by  doxygen 1.5.6