shark::AbstractSingleObjectiveOptimizer< PointType > Class Template Referenceabstract

Base class for all single objective optimizer. More...

#include <shark/Algorithms/AbstractSingleObjectiveOptimizer.h>

+ Inheritance diagram for shark::AbstractSingleObjectiveOptimizer< PointType >:

Public Types

typedef base_type::SearchPointType SearchPointType
 
typedef base_type::SolutionType SolutionType
 
typedef base_type::ResultType ResultType
 
typedef base_type::ObjectiveFunctionType ObjectiveFunctionType
 
- Public Types inherited from shark::AbstractOptimizer< PointType, double, SingleObjectiveResultSet< PointType > >
enum  Feature
 Models features that the optimizer requires from the objective function. More...
 
typedef PointType SearchPointType
 
typedef double ResultType
 
typedef SingleObjectiveResultSet< PointType > SolutionType
 
typedef AbstractObjectiveFunction< PointType, ResultTypeObjectiveFunctionType
 
typedef TypedFlags< FeatureFeatures
 
typedef TypedFeatureNotAvailableException< FeatureFeatureNotAvailableException
 

Public Member Functions

virtual void init (ObjectiveFunctionType &function)
 
virtual void init (ObjectiveFunctionType &function, SearchPointType const &startingPoint)=0
 initializes the optimizer using a predefined starting point More...
 
virtual const SolutionTypesolution () const
 returns the current solution of the optimizer More...
 
- Public Member Functions inherited from shark::AbstractOptimizer< PointType, double, SingleObjectiveResultSet< PointType > >
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::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

SolutionType m_best
 current solution of the optimizer More...
 
- Protected Attributes inherited from shark::AbstractOptimizer< PointType, double, SingleObjectiveResultSet< PointType > >
Features m_features
 

Additional Inherited Members

- Protected Member Functions inherited from shark::AbstractOptimizer< PointType, double, SingleObjectiveResultSet< PointType > >
void checkFeatures (ObjectiveFunctionType const &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<class PointType>
class shark::AbstractSingleObjectiveOptimizer< PointType >

Base class for all single objective optimizer.

This class is a spezialization of the AbstractOptimizer itnerface for the class of single objective optimizers. A single objective optimizer is an optimizer which can only optimize functions with a single objective. This is the default case for most optimisation problems. the class requires the ObjectiveFunction to provide a feasible starting point. If this is not possible, a second version of init is provided where the starting point can be explicitely defined. The Return type of an SingleObjectiveOptimizer is the SingleObjectiveResultSet which is a struct returning the best value of the function and together with it's point.

Definition at line 49 of file AbstractSingleObjectiveOptimizer.h.

Member Typedef Documentation

§ ObjectiveFunctionType

§ ResultType

template<class PointType>
typedef base_type::ResultType shark::AbstractSingleObjectiveOptimizer< PointType >::ResultType

Definition at line 55 of file AbstractSingleObjectiveOptimizer.h.

§ SearchPointType

Definition at line 53 of file AbstractSingleObjectiveOptimizer.h.

§ SolutionType

template<class PointType>
typedef base_type::SolutionType shark::AbstractSingleObjectiveOptimizer< PointType >::SolutionType

Definition at line 54 of file AbstractSingleObjectiveOptimizer.h.

Member Function Documentation

§ init() [1/2]

template<class PointType>
virtual void shark::AbstractSingleObjectiveOptimizer< PointType >::init ( ObjectiveFunctionType function)
inlinevirtual

initializes the optimizer. The objectivefunction is required to provide a starting point, so CAN_PROPOSE_STARTING_POINT must be set. If this is not the case, an exception is thrown

Implements shark::AbstractOptimizer< PointType, double, SingleObjectiveResultSet< PointType > >.

Reimplemented in shark::CrossEntropyMethod.

Definition at line 60 of file AbstractSingleObjectiveOptimizer.h.

Referenced by shark::AbstractSingleObjectiveOptimizer< RealVector >::init(), and shark::OptimizationTrainer< Model, LabelTypeT >::train().

§ init() [2/2]

§ solution()

template<class PointType>
virtual const SolutionType& shark::AbstractSingleObjectiveOptimizer< PointType >::solution ( ) const
inlinevirtual

Member Data Documentation

§ m_best

template<class PointType>
SolutionType shark::AbstractSingleObjectiveOptimizer< PointType >::m_best
protected

current solution of the optimizer

Definition at line 74 of file AbstractSingleObjectiveOptimizer.h.

Referenced by shark::AbstractSingleObjectiveOptimizer< RealVector >::solution().


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