MoochoPack : Framework for Large-Scale Optimization Algorithms  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | List of all members
MoochoPack::NLPAlgoConfig Class Referenceabstract

Interface for objects responsible for configuring an rSQP algorithm. More...

#include <MoochoPack_NLPAlgoConfig.hpp>

Inheritance diagram for MoochoPack::NLPAlgoConfig:
Inheritance graph
[legend]

Classes

class  InvalidNLPType
 Thrown if NLP type is incompatible with this config. More...
 

Public types

typedef Teuchos::RCP< const
OptionsFromStreamPack::OptionsFromStream
options_ptr_t
 

Constructors/destructors

virtual ~NLPAlgoConfig ()
 

Set options

virtual void set_options (const options_ptr_t &options)=0
 Set the OptionsFromStreamPack::OptionsFromStream to extract the options for the configuration from. More...
 
virtual const options_ptr_tget_options () const =0
 Get the OptionsFromStream object being used to extract the options from. More...
 

Algorithm configuration and initialization

virtual void config_algo_cntr (NLPAlgoContainer *algo_cntr, std::ostream *trase_out=0)=0
 Configure the rSQP algorithm container with an rSQP algorithm object. More...
 
virtual void init_algo (NLPAlgoInterface *algo)=0
 Initialize the rSQP algorithm object for the start of SQP iterations. More...
 

Detailed Description

Interface for objects responsible for configuring an rSQP algorithm.

Objects of this type configure a NLPAlgoContainer object with an rSQP algorithm object, configuring the algo with step, state etc. objects and initailizing the algorithm before the interations start.

Definition at line 62 of file MoochoPack_NLPAlgoConfig.hpp.

Member Typedef Documentation

Definition at line 73 of file MoochoPack_NLPAlgoConfig.hpp.

Constructor & Destructor Documentation

virtual MoochoPack::NLPAlgoConfig::~NLPAlgoConfig ( )
inlinevirtual

Definition at line 81 of file MoochoPack_NLPAlgoConfig.hpp.

Member Function Documentation

virtual void MoochoPack::NLPAlgoConfig::set_options ( const options_ptr_t options)
pure virtual

Set the OptionsFromStreamPack::OptionsFromStream to extract the options for the configuration from.

Parameters
options[in] Smart pointer to an OptionsFromStream object that the solver will extract options from. If options.get() != NULL then this object must not be destroyed until this->set_options(other_options) is called where other_options.get() != options.get() or this is destoryed. If options.get() == NULL then a default set of options will be used.

Postconditions:

It is allowed for options in the underlying *options object to be modified without recalling this->set_options() again.

Implemented in MoochoPack::NLPAlgoConfigMamaJama, and MoochoPack::NLPAlgoConfigIP.

virtual const options_ptr_t& MoochoPack::NLPAlgoConfig::get_options ( ) const
pure virtual

Get the OptionsFromStream object being used to extract the options from.

Implemented in MoochoPack::NLPAlgoConfigMamaJama, and MoochoPack::NLPAlgoConfigIP.

virtual void MoochoPack::NLPAlgoConfig::config_algo_cntr ( NLPAlgoContainer algo_cntr,
std::ostream *  trase_out = 0 
)
pure virtual

Configure the rSQP algorithm container with an rSQP algorithm object.

Parameters
algo_cntr[in/out] On input, algo_cntr may or may not already have a configured algorithm. The options set from the interface NLPSolverClientInterface may be used determine how the algorithm is to be configured. On output, algo_cntr will have a configured algorithm (ready to call algo_cntr->algo().interface_print_algorithm(...)).
trase_out[in/out] If trase_out != NULL on input, then *trase_out will recieve a discription about the logic of how the algorithm is configured.

Preconditions:

  • algo_cntr != NULL (throw ???)
  • algo_cntr->get_nlp().get() != NULL (throw ???)
  • algo_cntr->get_track().get() != NULL (throw ???)

Postconditions:

  • algo_cntr->get_algo().get() != NULL (throw ???)

Note that if the type of NLP return by algo_cntr->nlp() is not supported by this configuration object, then a InvalidNLPType exception will be thrown.

Implemented in MoochoPack::NLPAlgoConfigMamaJama, and MoochoPack::NLPAlgoConfigIP.

virtual void MoochoPack::NLPAlgoConfig::init_algo ( NLPAlgoInterface algo)
pure virtual

Initialize the rSQP algorithm object for the start of SQP iterations.

Parameters
algo_cntr[in/out] On input, algo_cntr must already have a configured algorithm. On output, algo_cntr will be ready to solve the NLP (i.e. ready to call algo_cntr->algo().dispatch(...)).

Preconditions:

  • algo_cntr != NULL (throw ???)
  • algo_cntr->get_nlp().get() != NULL (throw ???)
  • algo_cntr->get_track().get() != NULL (throw ???)
  • algo_cntr->get_algo().get() != NULL (throw ???)

Postconditions:

  • algo_cntr ready to solve the NLP.

Implemented in MoochoPack::NLPAlgoConfigMamaJama, and MoochoPack::NLPAlgoConfigIP.


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