bpp-core3  3.0.0
bpp::MetaOptimizerInfos Class Reference

Provide a list of optimizer and corresponding options to be used with the MetaOptimizer class. More...

#include <Bpp/Numeric/Function/MetaOptimizer.h>

+ Inheritance diagram for bpp::MetaOptimizerInfos:
+ Collaboration diagram for bpp::MetaOptimizerInfos:

Public Member Functions

 MetaOptimizerInfos ()
 
 MetaOptimizerInfos (const MetaOptimizerInfos &infos)
 
MetaOptimizerInfosoperator= (const MetaOptimizerInfos &infos)
 
virtual ~MetaOptimizerInfos ()
 
MetaOptimizerInfosclone () const
 Create a copy of this object and send a pointer to it. More...
 
virtual void addOptimizer (const std::string &name, Optimizer *optimizer, const std::vector< std::string > &params, unsigned short derivatives=0, const std::string &type=IT_TYPE_STEP)
 Add a new optimizer to the set. More...
 
virtual const std::string & getName (size_t i) const
 
virtual OptimizergetOptimizer (size_t i)
 
virtual const OptimizergetOptimizer (size_t i) const
 
virtual std::vector< std::string > & getParameterNames (size_t i)
 
virtual const std::vector< std::string > & getParameterNames (size_t i) const
 
virtual std::string & getIterationType (size_t i)
 
virtual const std::string & getIterationType (size_t i) const
 
virtual bool requiresFirstOrderDerivatives (size_t i) const
 
virtual bool requiresSecondOrderDerivatives (size_t i) const
 
virtual size_t getNumberOfOptimizers () const
 

Static Public Attributes

static std::string IT_TYPE_STEP = "step"
 
static std::string IT_TYPE_FULL = "full"
 

Private Attributes

std::vector< std::string > names_
 
std::vector< Optimizer * > optimizers_
 
std::vector< std::vector< std::string > > parameterNames_
 
std::vector< unsigned short > derivatives_
 
std::vector< std::string > itTypes_
 

Detailed Description

Provide a list of optimizer and corresponding options to be used with the MetaOptimizer class.

Definition at line 55 of file MetaOptimizer.h.

Constructor & Destructor Documentation

◆ MetaOptimizerInfos() [1/2]

bpp::MetaOptimizerInfos::MetaOptimizerInfos ( )
inline

Definition at line 70 of file MetaOptimizer.h.

Referenced by clone().

◆ MetaOptimizerInfos() [2/2]

bpp::MetaOptimizerInfos::MetaOptimizerInfos ( const MetaOptimizerInfos infos)
inline

Definition at line 71 of file MetaOptimizer.h.

References optimizers_.

◆ ~MetaOptimizerInfos()

virtual bpp::MetaOptimizerInfos::~MetaOptimizerInfos ( )
inlinevirtual

Definition at line 98 of file MetaOptimizer.h.

References optimizers_.

Member Function Documentation

◆ addOptimizer()

virtual void bpp::MetaOptimizerInfos::addOptimizer ( const std::string &  name,
Optimizer optimizer,
const std::vector< std::string > &  params,
unsigned short  derivatives = 0,
const std::string &  type = IT_TYPE_STEP 
)
inlinevirtual

Add a new optimizer to the set.

Parameters
namethe name of the optimizer. It is used for display only.
optimizerA pointer toward the optimizer to add. The set will own the underlying object, which will be destroyed together with the set.
paramsA list of parameter names to optimize with this optimizer.
derivatives0, 1 or 2: does this parameter use no, first order or second order derivatives?
typeFor each optimization step, shall we perform a full optimization with this optimizer or only one step?

Definition at line 119 of file MetaOptimizer.h.

References derivatives_, itTypes_, names_, optimizers_, and parameterNames_.

◆ clone()

MetaOptimizerInfos* bpp::MetaOptimizerInfos::clone ( ) const
inlinevirtual

Create a copy of this object and send a pointer to it.

Returns
A pointer toward the copy object.

Implements bpp::Clonable.

Definition at line 107 of file MetaOptimizer.h.

References MetaOptimizerInfos().

Referenced by bpp::MetaOptimizer::operator=().

◆ getIterationType() [1/2]

virtual std::string& bpp::MetaOptimizerInfos::getIterationType ( size_t  i)
inlinevirtual
Returns
The type of iteration to perform for the ith optimizer in the set.

Definition at line 154 of file MetaOptimizer.h.

References itTypes_.

Referenced by bpp::MetaOptimizer::doStep().

◆ getIterationType() [2/2]

virtual const std::string& bpp::MetaOptimizerInfos::getIterationType ( size_t  i) const
inlinevirtual
Returns
The type of iteration to perform for the ith optimizer in the set.

Definition at line 158 of file MetaOptimizer.h.

References itTypes_.

◆ getName()

virtual const std::string& bpp::MetaOptimizerInfos::getName ( size_t  i) const
inlinevirtual
Returns
The display name of the ith optimizer in the set.

Definition at line 131 of file MetaOptimizer.h.

References names_.

Referenced by bpp::MetaOptimizer::doStep().

◆ getNumberOfOptimizers()

virtual size_t bpp::MetaOptimizerInfos::getNumberOfOptimizers ( ) const
inlinevirtual
Returns
The number of optimizers in the set.

Definition at line 172 of file MetaOptimizer.h.

References optimizers_.

Referenced by bpp::MetaOptimizer::doInit(), bpp::MetaOptimizer::doStep(), and bpp::MetaOptimizer::setFunction().

◆ getOptimizer() [1/2]

virtual Optimizer* bpp::MetaOptimizerInfos::getOptimizer ( size_t  i)
inlinevirtual
Returns
The ith optimizer in the set.

Definition at line 136 of file MetaOptimizer.h.

References optimizers_.

Referenced by bpp::MetaOptimizer::doInit(), bpp::MetaOptimizer::doStep(), and bpp::MetaOptimizer::setFunction().

◆ getOptimizer() [2/2]

virtual const Optimizer* bpp::MetaOptimizerInfos::getOptimizer ( size_t  i) const
inlinevirtual
Returns
The ith optimizer in the set.

Definition at line 140 of file MetaOptimizer.h.

References optimizers_.

◆ getParameterNames() [1/2]

virtual std::vector<std::string>& bpp::MetaOptimizerInfos::getParameterNames ( size_t  i)
inlinevirtual
Returns
The parameter names associated to the ith optimizer in the set.

Definition at line 145 of file MetaOptimizer.h.

References parameterNames_.

Referenced by bpp::MetaOptimizer::doInit().

◆ getParameterNames() [2/2]

virtual const std::vector<std::string>& bpp::MetaOptimizerInfos::getParameterNames ( size_t  i) const
inlinevirtual
Returns
The parameter names associated to the ith optimizer in the set.

Definition at line 149 of file MetaOptimizer.h.

References parameterNames_.

◆ operator=()

MetaOptimizerInfos& bpp::MetaOptimizerInfos::operator= ( const MetaOptimizerInfos infos)
inline

Definition at line 84 of file MetaOptimizer.h.

References derivatives_, itTypes_, names_, optimizers_, and parameterNames_.

◆ requiresFirstOrderDerivatives()

virtual bool bpp::MetaOptimizerInfos::requiresFirstOrderDerivatives ( size_t  i) const
inlinevirtual
Returns
True if the ith optimizer in the set requires first order derivatives.

Definition at line 163 of file MetaOptimizer.h.

References derivatives_.

Referenced by bpp::MetaOptimizer::doStep().

◆ requiresSecondOrderDerivatives()

virtual bool bpp::MetaOptimizerInfos::requiresSecondOrderDerivatives ( size_t  i) const
inlinevirtual
Returns
True if the ith optimizer in the set requires second order derivatives.

Definition at line 167 of file MetaOptimizer.h.

References derivatives_.

Referenced by bpp::MetaOptimizer::doStep().

Member Data Documentation

◆ derivatives_

std::vector<unsigned short> bpp::MetaOptimizerInfos::derivatives_
private

◆ IT_TYPE_FULL

string MetaOptimizerInfos::IT_TYPE_FULL = "full"
static

Definition at line 60 of file MetaOptimizer.h.

Referenced by bpp::MetaOptimizer::doStep().

◆ IT_TYPE_STEP

string MetaOptimizerInfos::IT_TYPE_STEP = "step"
static

Definition at line 59 of file MetaOptimizer.h.

Referenced by bpp::MetaOptimizer::doStep().

◆ itTypes_

std::vector<std::string> bpp::MetaOptimizerInfos::itTypes_
private

Definition at line 67 of file MetaOptimizer.h.

Referenced by addOptimizer(), getIterationType(), and operator=().

◆ names_

std::vector<std::string> bpp::MetaOptimizerInfos::names_
private

Definition at line 63 of file MetaOptimizer.h.

Referenced by addOptimizer(), getName(), and operator=().

◆ optimizers_

std::vector<Optimizer*> bpp::MetaOptimizerInfos::optimizers_
private

◆ parameterNames_

std::vector< std::vector<std::string> > bpp::MetaOptimizerInfos::parameterNames_
private

Definition at line 65 of file MetaOptimizer.h.

Referenced by addOptimizer(), getParameterNames(), and operator=().


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