shark::TypeErasedMultiObjectiveOptimizer< SearchSpace, Optimizer > Class Template Reference

Type erasure to integrate Optimizer adhering to the concept of a multi-objective optimizer with the inheritance hierarchy of AbstractOptimizer. More...

#include <shark/Algorithms/AbstractMultiObjectiveOptimizer.h>

+ Inheritance diagram for shark::TypeErasedMultiObjectiveOptimizer< SearchSpace, Optimizer >:
+ Collaboration diagram for shark::TypeErasedMultiObjectiveOptimizer< SearchSpace, Optimizer >:

Public Types

typedef
AbstractMultiObjectiveOptimizer
< SearchSpace > 
super
 
typedef Optimizer OptimizerBase
 
typedef
OptimizerBase::SolutionSetType 
SolutionSetType
 
- Public Types inherited from shark::AbstractMultiObjectiveOptimizer< SearchSpace >
typedef super::SearchSpaceType SearchSpaceType
 
typedef super::SearchPointType SearchPointType
 
typedef super::SolutionSetType SolutionSetType
 
typedef super::ResultType ResultType
 
typedef
super::ObjectiveFunctionType 
ObjectiveFunctionType
 
- Public Types inherited from shark::AbstractOptimizer< SearchSpace, shark::RealVector, std::vector< ResultSet< SearchSpace::PointType, shark::RealVector > > >
enum  Feature
 Models features that the optimizer requires from the objective function. More...
 
typedef SearchSpace SearchSpaceType
 
typedef SearchSpaceType::PointType SearchPointType
 
typedef shark::RealVector ResultType
 
typedef std::vector< ResultSet
< SearchSpace::PointType,
shark::RealVector > > 
SolutionSetType
 
typedef
AbstractObjectiveFunction
< SearchSpaceType, ResultType
ObjectiveFunctionType
 
typedef TypedFlags< FeatureFeatures
 
typedef
TypedFeatureNotAvailableException
< Feature
FeatureNotAvailableException
 

Public Member Functions

 TypeErasedMultiObjectiveOptimizer ()
 Default c'tor, initializes the name of the optimizer. More...
 
std::string name () const
 From INameable: return the class name. More...
 
void configure (const PropertyTree &node)
 Configures the optimizer with the supplied property tree. More...
 
void init (const typename super::ObjectiveFunctionType &function, const typename super::SearchPointType &startingPoint)
 Optimizer-specific init-function. Dispatched to the optimizer provided as template argument to this class. More...
 
void step (const typename super::ObjectiveFunctionType &function)
 Optimizer-specific init-function. Dispatched to the optimizer provided as template argument to this class. More...
 
- Public Member Functions inherited from shark::AbstractMultiObjectiveOptimizer< SearchSpace >
virtual ~AbstractMultiObjectiveOptimizer ()
 Virtual empty d'tor. More...
 
virtual void init (const ObjectiveFunctionType &function)
 Initializes the optimizer for the supplied objective function. More...
 
virtual void init (ObjectiveFunctionType const &function, SearchPointType const &startingPoint)=0
 Optimizer-specific init-function. Needs to be implemented by subclasses. More...
 
virtual const SolutionSetTypesolution () const
 Accesses the current approximation of the Pareto-set and -front, respectively. More...
 
- Public Member Functions inherited from shark::AbstractOptimizer< SearchSpace, shark::RealVector, std::vector< ResultSet< SearchSpace::PointType, shark::RealVector > > >
const Featuresfeatures () const
 
virtual void updateFeatures ()
 
bool requiresValue () const
 
bool requiresFirstDerivative () const
 
bool requiresSecondDerivative () const
 
bool canSolveConstrained () const
 
bool requiresClosestFeasible () const
 
virtual ~AbstractOptimizer ()
 Empty virtual d'tor. More...
 
virtual void step (ObjectiveFunctionType const &function)=0
 Carry out one step of the optimizer for the supplied objective function. More...
 
- Public Member Functions inherited from shark::IConfigurable
virtual ~IConfigurable ()
 Virtual d'tor. More...
 
- Public Member Functions inherited from shark::INameable
virtual ~INameable ()
 
- Public Member Functions inherited from shark::ISerializable
virtual ~ISerializable ()
 Virtual d'tor. More...
 
virtual void read (InArchive &archive)
 Read the component from the supplied archive. More...
 
virtual void write (OutArchive &archive) const
 Write the component to the supplied archive. More...
 
void load (InArchive &archive, unsigned int version)
 Versioned loading of components, calls read(...). More...
 
void save (OutArchive &archive, unsigned int version) const
 Versioned storing of components, calls write(...). More...
 
 BOOST_SERIALIZATION_SPLIT_MEMBER ()
 

Additional Inherited Members

- Protected Member Functions inherited from shark::AbstractOptimizer< SearchSpace, shark::RealVector, std::vector< ResultSet< SearchSpace::PointType, shark::RealVector > > >
void checkFeatures (const ObjectiveFunctionType &objectiveFunction)
 Convenience function that checks whether the features of the supplied objective function match with the required features of the optimizer. More...
 
- Protected Attributes inherited from shark::AbstractMultiObjectiveOptimizer< SearchSpace >
SolutionSetType m_best
 The current Pareto-set/-front. More...
 

Detailed Description

template<typename SearchSpace, typename Optimizer>
class shark::TypeErasedMultiObjectiveOptimizer< SearchSpace, Optimizer >

Type erasure to integrate Optimizer adhering to the concept of a multi-objective optimizer with the inheritance hierarchy of AbstractOptimizer.

Template Parameters
SearchSpaceThe search space.
OptimizerThe optimizer adhering to the concept of a multi-objective optimizer.

Definition at line 134 of file AbstractMultiObjectiveOptimizer.h.

Member Typedef Documentation

template<typename SearchSpace , typename Optimizer >
typedef Optimizer shark::TypeErasedMultiObjectiveOptimizer< SearchSpace, Optimizer >::OptimizerBase

Definition at line 140 of file AbstractMultiObjectiveOptimizer.h.

template<typename SearchSpace , typename Optimizer >
typedef OptimizerBase::SolutionSetType shark::TypeErasedMultiObjectiveOptimizer< SearchSpace, Optimizer >::SolutionSetType

Definition at line 141 of file AbstractMultiObjectiveOptimizer.h.

template<typename SearchSpace , typename Optimizer >
typedef AbstractMultiObjectiveOptimizer<SearchSpace> shark::TypeErasedMultiObjectiveOptimizer< SearchSpace, Optimizer >::super

Definition at line 139 of file AbstractMultiObjectiveOptimizer.h.

Constructor & Destructor Documentation

template<typename SearchSpace , typename Optimizer >
shark::TypeErasedMultiObjectiveOptimizer< SearchSpace, Optimizer >::TypeErasedMultiObjectiveOptimizer ( )
inline

Default c'tor, initializes the name of the optimizer.

Definition at line 144 of file AbstractMultiObjectiveOptimizer.h.

Member Function Documentation

template<typename SearchSpace , typename Optimizer >
void shark::TypeErasedMultiObjectiveOptimizer< SearchSpace, Optimizer >::configure ( const PropertyTree node)
inlinevirtual

Configures the optimizer with the supplied property tree.

Parameters
[in]nodeThe root of the property tree.

Reimplemented from shark::IConfigurable.

Definition at line 155 of file AbstractMultiObjectiveOptimizer.h.

template<typename SearchSpace , typename Optimizer >
void shark::TypeErasedMultiObjectiveOptimizer< SearchSpace, Optimizer >::init ( const typename super::ObjectiveFunctionType function,
const typename super::SearchPointType startingPoint 
)
inline

Optimizer-specific init-function. Dispatched to the optimizer provided as template argument to this class.

Parameters
[in]functionThe function to initialize the optimizer for.
[in]startingPointAn initial point sampled from the function.

Definition at line 162 of file AbstractMultiObjectiveOptimizer.h.

References shark::init().

template<typename SearchSpace , typename Optimizer >
std::string shark::TypeErasedMultiObjectiveOptimizer< SearchSpace, Optimizer >::name ( ) const
inlinevirtual

From INameable: return the class name.

Reimplemented from shark::INameable.

Definition at line 148 of file AbstractMultiObjectiveOptimizer.h.

template<typename SearchSpace , typename Optimizer >
void shark::TypeErasedMultiObjectiveOptimizer< SearchSpace, Optimizer >::step ( const typename super::ObjectiveFunctionType function)
inline

Optimizer-specific init-function. Dispatched to the optimizer provided as template argument to this class.

Parameters
[in]functionThe function to initialize the optimizer for.

Definition at line 168 of file AbstractMultiObjectiveOptimizer.h.

References shark::AbstractMultiObjectiveOptimizer< SearchSpace >::m_best.


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