shark::AbstractMultiObjectiveOptimizer< SearchSpace > Class Template Referenceabstract

base class for abstract multi-objective optimizers for arbitrary search spaces. More...

#include <shark/Algorithms/AbstractMultiObjectiveOptimizer.h>

+ Inheritance diagram for shark::AbstractMultiObjectiveOptimizer< SearchSpace >:
+ Collaboration diagram for shark::AbstractMultiObjectiveOptimizer< SearchSpace >:

Public Types

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

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...
 
virtual void configure (const PropertyTree &node)
 Configures the component given a property tree. More...
 
- Public Member Functions inherited from shark::INameable
virtual ~INameable ()
 
virtual std::string name () const
 returns the name of the object More...
 
- 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 ()
 

Protected Attributes

SolutionSetType m_best
 The current Pareto-set/-front. More...
 
- Protected Attributes inherited from shark::AbstractOptimizer< SearchSpace, shark::RealVector, std::vector< ResultSet< SearchSpace::PointType, shark::RealVector > > >
Features m_features
 

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

Detailed Description

template<typename SearchSpace>
class shark::AbstractMultiObjectiveOptimizer< SearchSpace >

base class for abstract multi-objective optimizers for arbitrary search spaces.

Models an abstract multi-objective optimizer for arbitrary search spaces. The objective space is assumed to be \( \mathbb{R}^m\).

Template Parameters
SearchSpaceThe search space of the optimizer.

Definition at line 53 of file AbstractMultiObjectiveOptimizer.h.

Member Typedef Documentation

template<typename SearchSpace >
typedef super::ObjectiveFunctionType shark::AbstractMultiObjectiveOptimizer< SearchSpace >::ObjectiveFunctionType

Definition at line 70 of file AbstractMultiObjectiveOptimizer.h.

template<typename SearchSpace >
typedef super::ResultType shark::AbstractMultiObjectiveOptimizer< SearchSpace >::ResultType

Definition at line 69 of file AbstractMultiObjectiveOptimizer.h.

template<typename SearchSpace >
typedef super::SearchPointType shark::AbstractMultiObjectiveOptimizer< SearchSpace >::SearchPointType

Definition at line 67 of file AbstractMultiObjectiveOptimizer.h.

template<typename SearchSpace >
typedef super::SearchSpaceType shark::AbstractMultiObjectiveOptimizer< SearchSpace >::SearchSpaceType

Definition at line 66 of file AbstractMultiObjectiveOptimizer.h.

template<typename SearchSpace >
typedef super::SolutionSetType shark::AbstractMultiObjectiveOptimizer< SearchSpace >::SolutionSetType

Definition at line 68 of file AbstractMultiObjectiveOptimizer.h.

Constructor & Destructor Documentation

template<typename SearchSpace >
virtual shark::AbstractMultiObjectiveOptimizer< SearchSpace >::~AbstractMultiObjectiveOptimizer ( )
inlinevirtual

Virtual empty d'tor.

Definition at line 75 of file AbstractMultiObjectiveOptimizer.h.

Member Function Documentation

template<typename SearchSpace >
virtual void shark::AbstractMultiObjectiveOptimizer< SearchSpace >::init ( const ObjectiveFunctionType function)
inlinevirtual

Initializes the optimizer for the supplied objective function.

Tries to sample an initial starting point. If the function does not implement this feature, an exception is thrown. Otherwise, the call is dispatched to the pure-virtual function.

Parameters
functionThe function to be initialized for.
Exceptions
shark::Exceptionif the function does not feature the proposal of starting points.

Implements shark::AbstractOptimizer< SearchSpace, shark::RealVector, std::vector< ResultSet< SearchSpace::PointType, shark::RealVector > > >.

Definition at line 87 of file AbstractMultiObjectiveOptimizer.h.

References shark::AbstractObjectiveFunction< SearchSpaceType, ResultT >::CAN_PROPOSE_STARTING_POINT, and shark::AbstractOptimizer< SearchSpace, shark::RealVector, std::vector< ResultSet< SearchSpace::PointType, shark::RealVector > > >::features().

template<typename SearchSpace >
virtual void shark::AbstractMultiObjectiveOptimizer< SearchSpace >::init ( ObjectiveFunctionType const &  function,
SearchPointType const &  startingPoint 
)
pure virtual

Optimizer-specific init-function. Needs to be implemented by subclasses.

Parameters
[in]functionThe function to initialize the optimizer for.
[in]startingPointAn initial point sampled from the function.
template<typename SearchSpace >
virtual const SolutionSetType& shark::AbstractMultiObjectiveOptimizer< SearchSpace >::solution ( ) const
inlinevirtual

Accesses the current approximation of the Pareto-set and -front, respectively.

Returns
The current set of candidate solutions.

Implements shark::AbstractOptimizer< SearchSpace, shark::RealVector, std::vector< ResultSet< SearchSpace::PointType, shark::RealVector > > >.

Definition at line 106 of file AbstractMultiObjectiveOptimizer.h.

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

Member Data Documentation


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