FREE::ES::MutationBase< TIndividual > Class Template Reference
[Evolutionary strategies]

The abstract basis for mutators of an ES. More...

#include <freESMutationBase.h>

Inheritance diagram for FREE::ES::MutationBase< TIndividual >:

Inheritance graph
FREE::ES::AdaptiveCovarianceMutation\< TIndividual \>FREE::ES::AdaptiveNormalMutation\< TIndividual \>FREE::ES::AsymmetricMutation\< TIndividual \>FREE::ES::CMAMutation\< TIndividual \>FREE::ES::ComponentBase\< TIndividual \>FREE::ES::AdaptiveScaleMutation\< TIndividual \>
[legend]
Collaboration diagram for FREE::ES::MutationBase< TIndividual >:

Collaboration graph
FREE::ES::ComponentBase\< TIndividual \>
[legend]

List of all members.

Public Types

typedef MutationBase
< TIndividual > 
Self
typedef
ComponentBase
< TIndividual > 
Superclass
typedef
itk::SmartPointer
< Self
Pointer
typedef
itk::SmartPointer
< const Self
ConstPointer
typedef
Superclass::IndividualType 
IndividualType
typedef
IndividualType::Pointer 
IndividualPointer
typedef Population
< IndividualType
PopulationType
typedef itk::Array
< double > 
ScalesType

Public Member Functions

virtual const char * GetNameOfClass () const
void Mutate (IndividualType *pIndividual, PopulationType *pPopulation) const
virtual double MutateValue (const double &value)=0
virtual double GetMutateValueScale ()
virtual void SetMutateValueScale (const double _arg)
void SetGeneralObjectiveScales (const ScalesType &scales)
virtual const
ScalesType
GetGeneralObjectiveScales () const

Protected Member Functions

 MutationBase ()
virtual ~MutationBase ()
virtual void MutateObjectivParameters (IndividualType *pIndividual, PopulationType *pPopulation) const =0

Protected Attributes

ScalesType m_GeneralObjectiveScales
bool m_ScalesInitialized
double m_MutateValueScale

Private Member Functions

 MutationBase (Self const &)


Detailed Description

template<class TIndividual>
class FREE::ES::MutationBase< TIndividual >

The abstract basis for mutators of an ES.

Definition at line 42 of file freESMutationBase.h.


Member Typedef Documentation

template<class TIndividual>
typedef MutationBase<TIndividual> FREE::ES::MutationBase< TIndividual >::Self

Standard "Self" typedef.

Reimplemented from FREE::ES::ComponentBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveCovarianceMutation< TIndividual >, FREE::ES::AdaptiveNormalMutation< TIndividual >, FREE::ES::AdaptiveScaleMutation< TIndividual >, FREE::ES::AsymmetricMutation< TIndividual >, and FREE::ES::CMAMutation< TIndividual >.

Definition at line 47 of file freESMutationBase.h.

template<class TIndividual>
typedef ComponentBase<TIndividual> FREE::ES::MutationBase< TIndividual >::Superclass

Reimplemented from FREE::ES::ComponentBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveCovarianceMutation< TIndividual >, FREE::ES::AdaptiveNormalMutation< TIndividual >, FREE::ES::AdaptiveScaleMutation< TIndividual >, FREE::ES::AsymmetricMutation< TIndividual >, and FREE::ES::CMAMutation< TIndividual >.

Definition at line 48 of file freESMutationBase.h.

template<class TIndividual>
typedef itk::SmartPointer<Self> FREE::ES::MutationBase< TIndividual >::Pointer

Reimplemented from FREE::ES::ComponentBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveCovarianceMutation< TIndividual >, FREE::ES::AdaptiveNormalMutation< TIndividual >, FREE::ES::AdaptiveScaleMutation< TIndividual >, FREE::ES::AsymmetricMutation< TIndividual >, and FREE::ES::CMAMutation< TIndividual >.

Definition at line 49 of file freESMutationBase.h.

template<class TIndividual>
typedef itk::SmartPointer<const Self> FREE::ES::MutationBase< TIndividual >::ConstPointer

Reimplemented from FREE::ES::ComponentBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveCovarianceMutation< TIndividual >, FREE::ES::AdaptiveNormalMutation< TIndividual >, FREE::ES::AdaptiveScaleMutation< TIndividual >, FREE::ES::AsymmetricMutation< TIndividual >, and FREE::ES::CMAMutation< TIndividual >.

Definition at line 50 of file freESMutationBase.h.

template<class TIndividual>
typedef Superclass::IndividualType FREE::ES::MutationBase< TIndividual >::IndividualType

Reimplemented from FREE::ES::ComponentBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveNormalMutation< TIndividual >, FREE::ES::AdaptiveScaleMutation< TIndividual >, FREE::ES::AsymmetricMutation< TIndividual >, and FREE::ES::CMAMutation< TIndividual >.

Definition at line 56 of file freESMutationBase.h.

template<class TIndividual>
typedef IndividualType::Pointer FREE::ES::MutationBase< TIndividual >::IndividualPointer

Reimplemented in FREE::ES::AdaptiveNormalMutation< TIndividual >, FREE::ES::AdaptiveScaleMutation< TIndividual >, FREE::ES::AsymmetricMutation< TIndividual >, and FREE::ES::CMAMutation< TIndividual >.

Definition at line 59 of file freESMutationBase.h.

template<class TIndividual>
typedef Population<IndividualType> FREE::ES::MutationBase< TIndividual >::PopulationType

Reimplemented from FREE::ES::ComponentBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveNormalMutation< TIndividual >, FREE::ES::AdaptiveScaleMutation< TIndividual >, FREE::ES::AsymmetricMutation< TIndividual >, and FREE::ES::CMAMutation< TIndividual >.

Definition at line 60 of file freESMutationBase.h.

template<class TIndividual>
typedef itk::Array<double> FREE::ES::MutationBase< TIndividual >::ScalesType

general scaling of the objective parameters set via optimizer. Usage will depend on concrete implementation

Definition at line 65 of file freESMutationBase.h.


Constructor & Destructor Documentation

template<class TIndividual>
FREE::ES::MutationBase< TIndividual >::MutationBase (  )  [inline, protected]

Definition at line 34 of file freESMutationBase.txx.

template<class TIndividual>
FREE::ES::MutationBase< TIndividual >::~MutationBase (  )  [inline, protected, virtual]

Definition at line 42 of file freESMutationBase.txx.

template<class TIndividual>
FREE::ES::MutationBase< TIndividual >::MutationBase ( Self const &   )  [private]


Member Function Documentation

template<class TIndividual>
virtual const char* FREE::ES::MutationBase< TIndividual >::GetNameOfClass (  )  const [inline, virtual]

Method for creation through the object factory. Run-time type information (and related methods).

Reimplemented from FREE::ES::ComponentBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveCovarianceMutation< TIndividual >, FREE::ES::AdaptiveNormalMutation< TIndividual >, FREE::ES::AdaptiveScaleMutation< TIndividual >, FREE::ES::AsymmetricMutation< TIndividual >, and FREE::ES::CMAMutation< TIndividual >.

Definition at line 56 of file freESMutationBase.h.

template<class TIndividual>
void FREE::ES::MutationBase< TIndividual >::Mutate ( IndividualType pIndividual,
PopulationType pPopulation 
) const [inline]

Mutates the objective parameters of the passed individual. The mutation of the strategic parameters is done by calling MutateStrategicParameters() for every component by the optimization strategy.

Definition at line 49 of file freESMutationBase.txx.

References throwExceptionMacro.

template<class TIndividual>
virtual double FREE::ES::MutationBase< TIndividual >::MutateValue ( const double &  value  )  [pure virtual]

Mutates the passed value, any mutation parameters (if existant) must be set, befor calling this function

Parameters:
value Value that should be mutated.
Returns:
The mutated value

Implemented in FREE::ES::AdaptiveCovarianceMutation< TIndividual >, FREE::ES::AdaptiveNormalMutation< TIndividual >, FREE::ES::AdaptiveScaleMutation< TIndividual >, FREE::ES::AsymmetricMutation< TIndividual >, and FREE::ES::CMAMutation< TIndividual >.

template<class TIndividual>
virtual double FREE::ES::MutationBase< TIndividual >::GetMutateValueScale (  )  [inline, virtual]

Definition at line 76 of file freESMutationBase.h.

template<class TIndividual>
virtual void FREE::ES::MutationBase< TIndividual >::SetMutateValueScale ( const double  _arg  )  [inline, virtual]

Definition at line 77 of file freESMutationBase.h.

template<class TIndividual>
void FREE::ES::MutationBase< TIndividual >::SetGeneralObjectiveScales ( const ScalesType scales  )  [inline]

Set current parameters scaling.

Definition at line 64 of file freESMutationBase.txx.

template<class TIndividual>
virtual const ScalesType& FREE::ES::MutationBase< TIndividual >::GetGeneralObjectiveScales (  )  const [inline, virtual]

Get current parameters scaling.

Definition at line 82 of file freESMutationBase.h.

template<class TIndividual>
virtual void FREE::ES::MutationBase< TIndividual >::MutateObjectivParameters ( IndividualType pIndividual,
PopulationType pPopulation 
) const [protected, pure virtual]

Called by Mutate() to mutate the objective values of an individual

Implemented in FREE::ES::AdaptiveNormalMutation< TIndividual >, FREE::ES::AdaptiveScaleMutation< TIndividual >, FREE::ES::AsymmetricMutation< TIndividual >, and FREE::ES::CMAMutation< TIndividual >.


Member Data Documentation

template<class TIndividual>
ScalesType FREE::ES::MutationBase< TIndividual >::m_GeneralObjectiveScales [protected]

Definition at line 88 of file freESMutationBase.h.

Referenced by FREE::ES::CMAMutation< TIndividual >::ComputeMatrix(), FREE::ES::CMAMutation< TIndividual >::ComputeMatrixPath(), and FREE::ES::CMAMutation< TIndividual >::ComputeStepPath().

template<class TIndividual>
bool FREE::ES::MutationBase< TIndividual >::m_ScalesInitialized [protected]

Definition at line 89 of file freESMutationBase.h.

template<class TIndividual>
double FREE::ES::MutationBase< TIndividual >::m_MutateValueScale [protected]

The scale that should be used when calling MutateValue()

Definition at line 95 of file freESMutationBase.h.


The documentation for this class was generated from the following files:
Generated at Sat Oct 13 18:29:49 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000