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

Mutation component of an ES. More...

#include <freESCMAMutation.h>

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

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

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

List of all members.

Public Types

typedef CMAMutation
< TIndividual > 
Self
typedef MutationBase
< TIndividual > 
Superclass
typedef
itk::SmartPointer
< Self
Pointer
typedef
itk::SmartPointer
< const Self
ConstPointer
typedef
Superclass::IndividualType 
IndividualType
typedef
IndividualType::Pointer 
IndividualPointer
typedef
Superclass::PopulationType 
PopulationType
typedef
PopulationType::Pointer 
PopulationPointer
typedef vnl_matrix
< double > 
MatrixType
typedef vnl_vector
< double > 
VectorType
typedef
ParentSelectorBase
< TIndividual > 
SearchPointSelectorType
typedef
SearchPointSelectorType::Pointer 
SearchPointSelectorPointer
typedef
RecombinatorBase
< TIndividual > 
CentroidCombinatorType
typedef
CentroidCombinatorType::Pointer 
CentroidCombinatorPointer
typedef
itk::Statistics::NormalVariateGenerator 
VariateGeneratorType

Public Member Functions

virtual
::itk::LightObject::Pointer 
CreateAnother (void) const
virtual const char * GetNameOfClass () const
void RegisterStrategicPopulationParameters (PopulationType &population) const
void MutateStrategicPopulationParameters (PopulationType &population) const
double MutateValue (const double &value)
void InitializeControlValues_Mean (const long &lN)
void InitializeControlValues_Hansen (const long &lMu, const long &lN)
virtual void SetSigma (const double _arg)
virtual double GetSigma ()
virtual long GetMu ()
virtual void SetMu_eff (const double _arg)
virtual double GetMu_eff ()
virtual void SetMu_cov (const double _arg)
virtual double GetMu_cov ()
virtual void SetC_c (const double _arg)
virtual double GetC_c ()
virtual void SetC_cov (const double _arg)
virtual double GetC_cov ()
virtual void SetC_sigma (const double _arg)
virtual double GetC_sigma ()
virtual void SetD_sigma (const double _arg)
virtual double GetD_sigma ()
virtual const
MatrixType
GetCurMatrix () const
virtual const
VectorType
GetCurCentroid () const
virtual const
VectorType
GetCurMatrixPath () const
virtual const
VectorType
GetCurStepPath () const
virtual const double & GetCurStepLength () const
virtual void SetCentroidCombinator (CentroidCombinatorType *pCentroidCombinator)
virtual const
CentroidCombinatorType
GetCentroidCombinator () const
virtual
CentroidCombinatorType
GetCentroidCombinator ()
virtual void SetSearchPointSelector (SearchPointSelectorType *pSearchPointSelector)
virtual const
SearchPointSelectorType
GetSearchPointSelector () const
virtual
SearchPointSelectorType
GetSearchPointSelector ()
VariateGeneratorTypeGetRandomGenerator ()

Static Public Member Functions

static Pointer New (void)

Protected Types

typedef
PopulationType::StrategicParametersType 
PopulationStrategicParametersType

Protected Member Functions

 CMAMutation ()
void MutateObjectivParameters (IndividualType *pIndividual, PopulationType *pPopulation) const
void ConvertStrategicPopulationParametersToMember (PopulationStrategicParametersType &parameters) const
void ConvertMemberToStrategicPopulationParameters (PopulationStrategicParametersType &parameters) const
VectorType ComputeCentroid (PopulationType &rPopulation) const
VectorType ComputeMatrixPath (const VectorType &curMatrixPath, double curStepLength, const VectorType &curCentroid, const VectorType &nextCentroid) const
MatrixType ComputeMatrix (const MatrixType &curMatrix, const VectorType &nextMatrixPath, double curStepLength, const VectorType &curCentroid, const PopulationType &population) const
VectorType ComputeStepPath (const VectorType &curStepPath, const MatrixType &curMatrix, double curStepLength, const VectorType &curCentroid, const VectorType &nextCentroid) const
double ComputeStepLength (double curStepLength, const VectorType &nextStepPath) const
VectorType GetRandomVector (unsigned long lSize) const
VectorType ConvertObjectivParameterToVector (const IndividualType *pIndividual) const

Protected Attributes

double m_Sigma
double m_Mu_cov
double m_Mu_eff
double m_C_c
double m_C_cov
double m_C_sigma
double m_D_sigma

Private Member Functions

 CMAMutation (Self const &)

Private Attributes

long m_Mu
MatrixType m_CurMatrix
VectorType m_CurCentroid
VectorType m_CurMatrixPath
VectorType m_CurStepPath
double m_CurStepLength
unsigned long m_ObjectiveCount
SearchPointSelectorPointer m_SearchPointSelector
CentroidCombinatorPointer m_CentroidCombinator
VariateGeneratorType::Pointer m_RandomGenerator


Detailed Description

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

Mutation component of an ES.

Mutates the objective values by using a global covariance matrix. The covariance matrix is adapted by using the centroid of a selection of the actual population and comparing it with the centroid of the last generation. The step size will be adapted by evaluating the evaluation path. For more information see references: [1] Hildebrand, L.: Asymmetrische Evolutionsstrategien, In Fachbereich Informatik. 2002, Universität Dortmund: Dortmund, Germany. p. 300. [2] Hansen, N.: The CMA Evolution Strategy: A Comparing Review. In J.A. Lozano, P. Larrañga, I. Inza and E. Bengoetxea (Eds.). Towards a new evolutionary computation. Advances in estimation of distribution algorithms. pp. 75-102, Springer

Definition at line 61 of file freESCMAMutation.h.


Member Typedef Documentation

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

Standard "Self" typedef.

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

Definition at line 66 of file freESCMAMutation.h.

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

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

Definition at line 67 of file freESCMAMutation.h.

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

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

Definition at line 68 of file freESCMAMutation.h.

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

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

Definition at line 69 of file freESCMAMutation.h.

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

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

Definition at line 75 of file freESCMAMutation.h.

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

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

Definition at line 78 of file freESCMAMutation.h.

template<class TIndividual>
typedef Superclass::PopulationType FREE::ES::CMAMutation< TIndividual >::PopulationType

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

Definition at line 79 of file freESCMAMutation.h.

template<class TIndividual>
typedef PopulationType::Pointer FREE::ES::CMAMutation< TIndividual >::PopulationPointer

Definition at line 80 of file freESCMAMutation.h.

template<class TIndividual>
typedef vnl_matrix<double> FREE::ES::CMAMutation< TIndividual >::MatrixType

Definition at line 82 of file freESCMAMutation.h.

template<class TIndividual>
typedef vnl_vector<double> FREE::ES::CMAMutation< TIndividual >::VectorType

Definition at line 83 of file freESCMAMutation.h.

template<class TIndividual>
typedef ParentSelectorBase<TIndividual> FREE::ES::CMAMutation< TIndividual >::SearchPointSelectorType

random variate generator type.

Definition at line 144 of file freESCMAMutation.h.

template<class TIndividual>
typedef SearchPointSelectorType::Pointer FREE::ES::CMAMutation< TIndividual >::SearchPointSelectorPointer

Definition at line 148 of file freESCMAMutation.h.

template<class TIndividual>
typedef RecombinatorBase<TIndividual> FREE::ES::CMAMutation< TIndividual >::CentroidCombinatorType

Definition at line 149 of file freESCMAMutation.h.

template<class TIndividual>
typedef CentroidCombinatorType::Pointer FREE::ES::CMAMutation< TIndividual >::CentroidCombinatorPointer

Definition at line 150 of file freESCMAMutation.h.

template<class TIndividual>
typedef itk::Statistics::NormalVariateGenerator FREE::ES::CMAMutation< TIndividual >::VariateGeneratorType

random variate generator type.

Definition at line 158 of file freESCMAMutation.h.

template<class TIndividual>
typedef PopulationType::StrategicParametersType FREE::ES::CMAMutation< TIndividual >::PopulationStrategicParametersType [protected]

Definition at line 194 of file freESCMAMutation.h.


Constructor & Destructor Documentation

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

Definition at line 37 of file freESCMAMutation.txx.

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


Member Function Documentation

template<class TIndividual>
static Pointer FREE::ES::CMAMutation< TIndividual >::New ( void   )  [inline, static]

Method for creation through the object factory.

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

Definition at line 72 of file freESCMAMutation.h.

template<class TIndividual>
virtual ::itk::LightObject::Pointer FREE::ES::CMAMutation< TIndividual >::CreateAnother ( void   )  const [inline, virtual]

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

Definition at line 72 of file freESCMAMutation.h.

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

Run-time type information (and related methods).

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

Definition at line 75 of file freESCMAMutation.h.

template<class TIndividual>
void FREE::ES::CMAMutation< TIndividual >::RegisterStrategicPopulationParameters ( PopulationType population  )  const [inline, virtual]

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

Definition at line 133 of file freESCMAMutation.txx.

References FREE::ES::Population< TIndividual >::StrategicParameters().

Here is the call graph for this function:

FREE::ES::Population::StrategicParameters

template<class TIndividual>
void FREE::ES::CMAMutation< TIndividual >::MutateStrategicPopulationParameters ( PopulationType population  )  const [inline, virtual]

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

Definition at line 156 of file freESCMAMutation.txx.

References FREE::ES::Population< TIndividual >::StrategicParameters().

Here is the call graph for this function:

FREE::ES::Population::StrategicParameters

template<class TIndividual>
double FREE::ES::CMAMutation< TIndividual >::MutateValue ( const double &  value  )  [inline, 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

Implements FREE::ES::MutationBase< TIndividual >.

Definition at line 184 of file freESCMAMutation.txx.

template<class TIndividual>
void FREE::ES::CMAMutation< TIndividual >::InitializeControlValues_Mean ( const long &  lN  )  [inline]

Initialize the control values Mu_cov, C_c, C_cov and C_sigma with default values posted in the work of Hansen (see reference).
Default values:
Mu_cov = 1/Mu_eff C_c = 1/dN C_sigma = 1/dN C_cov = min(Mu_eff, dN²) /n² D_sigma = 1

Parameters:
lN Number of objective parameters

Definition at line 62 of file freESCMAMutation.txx.

Referenced by FREE::ESCMAMutationController::ActualizeMainComponent().

template<class TIndividual>
void FREE::ES::CMAMutation< TIndividual >::InitializeControlValues_Hansen ( const long &  lMu,
const long &  lN 
) [inline]

Initialize the control values for a recombination that has heterogenous weights for the centroid computation. Default values posted in the work of Hansen (see reference).
Default values:
Mu_eff = 1/ Sum<1,lMu>(w_i*w_i) Mu_cov = 1/Mu_eff C_c = 4/lN+4 C_sigma = (Mu_eff+2)/(lN+Mu_eff+3) C_cov = 2/(Mu_cov*(n+sqrt(2))^2) + (1-(1/Mu_cov))*min(1,(2*Mu_eff -1)/ ((lN+2)^2 + Mu_eff) D_sigma = 1+2*max(0,sqrt((Mu_eff-1)/(lN+1))-1)+C_sigma

Parameters:
lMu Number of parents used for centroid calculation
lN Number of objective parameters

Definition at line 75 of file freESCMAMutation.txx.

Referenced by FREE::ESCMAMutationController::ActualizeMainComponent().

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

Definition at line 117 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::ActualizeMainComponent().

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

Definition at line 118 of file freESCMAMutation.h.

template<class TIndividual>
virtual long FREE::ES::CMAMutation< TIndividual >::GetMu (  )  [inline, virtual]

Definition at line 120 of file freESCMAMutation.h.

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

Definition at line 122 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::ActualizeMainComponent().

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

Definition at line 123 of file freESCMAMutation.h.

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

Definition at line 125 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::ActualizeMainComponent().

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

Definition at line 126 of file freESCMAMutation.h.

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

Definition at line 128 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::ActualizeMainComponent().

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

Definition at line 129 of file freESCMAMutation.h.

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

Definition at line 131 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::ActualizeMainComponent().

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

Definition at line 132 of file freESCMAMutation.h.

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

Definition at line 134 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::ActualizeMainComponent().

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

Definition at line 135 of file freESCMAMutation.h.

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

Definition at line 137 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::ActualizeMainComponent().

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

Definition at line 138 of file freESCMAMutation.h.

template<class TIndividual>
virtual const MatrixType& FREE::ES::CMAMutation< TIndividual >::GetCurMatrix (  )  const [inline, virtual]

Definition at line 140 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::SetStatisticEntryMainComponent().

template<class TIndividual>
virtual const VectorType& FREE::ES::CMAMutation< TIndividual >::GetCurCentroid (  )  const [inline, virtual]

Definition at line 141 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::SetStatisticEntryMainComponent().

template<class TIndividual>
virtual const VectorType& FREE::ES::CMAMutation< TIndividual >::GetCurMatrixPath (  )  const [inline, virtual]

Definition at line 142 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::SetStatisticEntryMainComponent().

template<class TIndividual>
virtual const VectorType& FREE::ES::CMAMutation< TIndividual >::GetCurStepPath (  )  const [inline, virtual]

Definition at line 143 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::SetStatisticEntryMainComponent().

template<class TIndividual>
virtual const double& FREE::ES::CMAMutation< TIndividual >::GetCurStepLength (  )  const [inline, virtual]

Definition at line 144 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::SetStatisticEntryMainComponent().

template<class TIndividual>
void FREE::ES::CMAMutation< TIndividual >::SetCentroidCombinator ( CentroidCombinatorType pCentroidCombinator  )  [inline, virtual]

Definition at line 121 of file freESCMAMutation.txx.

Referenced by FREE::ESCMAMutationController::SetSubComponentCasted().

template<class TIndividual>
virtual const CentroidCombinatorType* FREE::ES::CMAMutation< TIndividual >::GetCentroidCombinator (  )  const [inline, virtual]

Definition at line 153 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::GetSubComponentCasted().

template<class TIndividual>
virtual CentroidCombinatorType* FREE::ES::CMAMutation< TIndividual >::GetCentroidCombinator (  )  [inline, virtual]

Definition at line 154 of file freESCMAMutation.h.

template<class TIndividual>
void FREE::ES::CMAMutation< TIndividual >::SetSearchPointSelector ( SearchPointSelectorType pSearchPointSelector  )  [inline, virtual]

Definition at line 109 of file freESCMAMutation.txx.

Referenced by FREE::ESCMAMutationController::SetSubComponentCasted().

template<class TIndividual>
virtual const SearchPointSelectorType* FREE::ES::CMAMutation< TIndividual >::GetSearchPointSelector (  )  const [inline, virtual]

Definition at line 157 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::GetSubComponentCasted().

template<class TIndividual>
virtual SearchPointSelectorType* FREE::ES::CMAMutation< TIndividual >::GetSearchPointSelector (  )  [inline, virtual]

Definition at line 158 of file freESCMAMutation.h.

template<class TIndividual>
VariateGeneratorType& FREE::ES::CMAMutation< TIndividual >::GetRandomGenerator (  )  [inline]

Definition at line 162 of file freESCMAMutation.h.

Referenced by FREE::ESCMAMutationController::ActualizeMainComponent().

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

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

Implements FREE::ES::MutationBase< TIndividual >.

Definition at line 193 of file freESCMAMutation.txx.

References FREE::ES::Population< TIndividual >::StrategicParameters().

Here is the call graph for this function:

FREE::ES::Population::StrategicParameters

template<class TIndividual>
void FREE::ES::CMAMutation< TIndividual >::ConvertStrategicPopulationParametersToMember ( PopulationStrategicParametersType parameters  )  const [inline, protected]

Definition at line 234 of file freESCMAMutation.txx.

References throwExceptionMacro.

template<class TIndividual>
void FREE::ES::CMAMutation< TIndividual >::ConvertMemberToStrategicPopulationParameters ( PopulationStrategicParametersType parameters  )  const [inline, protected]

Definition at line 281 of file freESCMAMutation.txx.

template<class TIndividual>
CMAMutation< TIndividual >::VectorType FREE::ES::CMAMutation< TIndividual >::ComputeCentroid ( PopulationType rPopulation  )  const [inline, protected]

Definition at line 337 of file freESCMAMutation.txx.

References FREE::ES::CMAMutation< TIndividual >::ConvertObjectivParameterToVector(), FREE::ES::CMAMutation< TIndividual >::m_CentroidCombinator, FREE::ES::CMAMutation< TIndividual >::m_Mu, and FREE::ES::CMAMutation< TIndividual >::m_SearchPointSelector.

Here is the call graph for this function:

FREE::ES::CMAMutation::ConvertObjectivParameterToVector

template<class TIndividual>
CMAMutation< TIndividual >::VectorType FREE::ES::CMAMutation< TIndividual >::ComputeMatrixPath ( const VectorType curMatrixPath,
double  curStepLength,
const VectorType curCentroid,
const VectorType nextCentroid 
) const [inline, protected]

Definition at line 357 of file freESCMAMutation.txx.

References FREE::ES::CMAMutation< TIndividual >::m_C_c, FREE::ES::MutationBase< TIndividual >::m_GeneralObjectiveScales, and FREE::ES::CMAMutation< TIndividual >::m_Mu_eff.

template<class TIndividual>
CMAMutation< TIndividual >::MatrixType FREE::ES::CMAMutation< TIndividual >::ComputeMatrix ( const MatrixType curMatrix,
const VectorType nextMatrixPath,
double  curStepLength,
const VectorType curCentroid,
const PopulationType population 
) const [inline, protected]

Definition at line 383 of file freESCMAMutation.txx.

References FREE::ES::CMAMutation< TIndividual >::ConvertObjectivParameterToVector(), FREE::ES::Population< TIndividual >::GetGenerationID(), FREE::ES::CMAMutation< TIndividual >::m_C_cov, FREE::ES::MutationBase< TIndividual >::m_GeneralObjectiveScales, FREE::ES::CMAMutation< TIndividual >::m_Mu_cov, and FREE::ES::CMAMutation< TIndividual >::m_ObjectiveCount.

Here is the call graph for this function:

FREE::ES::CMAMutation::ConvertObjectivParameterToVectorFREE::ES::Population::GetGenerationID

template<class TIndividual>
CMAMutation< TIndividual >::VectorType FREE::ES::CMAMutation< TIndividual >::ComputeStepPath ( const VectorType curStepPath,
const MatrixType curMatrix,
double  curStepLength,
const VectorType curCentroid,
const VectorType nextCentroid 
) const [inline, protected]

Definition at line 434 of file freESCMAMutation.txx.

References FREE::ES::CMAMutation< TIndividual >::m_C_sigma, FREE::ES::MutationBase< TIndividual >::m_GeneralObjectiveScales, and FREE::ES::CMAMutation< TIndividual >::m_Mu_eff.

template<class TIndividual>
double FREE::ES::CMAMutation< TIndividual >::ComputeStepLength ( double  curStepLength,
const VectorType nextStepPath 
) const [inline, protected]

Definition at line 468 of file freESCMAMutation.txx.

References FREE::ES::CMAMutation< TIndividual >::m_C_sigma, FREE::ES::CMAMutation< TIndividual >::m_D_sigma, and FREE::ES::CMAMutation< TIndividual >::m_ObjectiveCount.

template<class TIndividual>
CMAMutation< TIndividual >::VectorType FREE::ES::CMAMutation< TIndividual >::GetRandomVector ( unsigned long  lSize  )  const [inline, protected]

Definition at line 498 of file freESCMAMutation.txx.

References FREE::ES::CMAMutation< TIndividual >::m_RandomGenerator.

template<class TIndividual>
CMAMutation< TIndividual >::VectorType FREE::ES::CMAMutation< TIndividual >::ConvertObjectivParameterToVector ( const IndividualType pIndividual  )  const [inline, protected]

Definition at line 482 of file freESCMAMutation.txx.

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


Member Data Documentation

template<class TIndividual>
double FREE::ES::CMAMutation< TIndividual >::m_Sigma [protected]

Starting step length/variance for value mutation

Definition at line 168 of file freESCMAMutation.h.

template<class TIndividual>
double FREE::ES::CMAMutation< TIndividual >::m_Mu_cov [protected]

Weight for the combination of rank-one update and rank-mu update for computation of the covariance matrix. 0: only use rank-mu update 1: only use rank-one update

Definition at line 174 of file freESCMAMutation.h.

Referenced by FREE::ES::CMAMutation< TIndividual >::ComputeMatrix().

template<class TIndividual>
double FREE::ES::CMAMutation< TIndividual >::m_Mu_eff [protected]

The variance effective selection mass. If the centroid is computed by calculating the mean, Mu_eff equals Mu.

Definition at line 178 of file freESCMAMutation.h.

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

template<class TIndividual>
double FREE::ES::CMAMutation< TIndividual >::m_C_c [protected]

Learing rate for cumulation for the rank-one update of the covariance matrix.

Definition at line 181 of file freESCMAMutation.h.

Referenced by FREE::ES::CMAMutation< TIndividual >::ComputeMatrixPath().

template<class TIndividual>
double FREE::ES::CMAMutation< TIndividual >::m_C_cov [protected]

Learing rate for the covariance matrix update.

Definition at line 184 of file freESCMAMutation.h.

Referenced by FREE::ES::CMAMutation< TIndividual >::ComputeMatrix().

template<class TIndividual>
double FREE::ES::CMAMutation< TIndividual >::m_C_sigma [protected]

Learning rate for the cumulation for the step size control.

Definition at line 187 of file freESCMAMutation.h.

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

template<class TIndividual>
double FREE::ES::CMAMutation< TIndividual >::m_D_sigma [protected]

Damping factor for the computation of the step size.

Definition at line 190 of file freESCMAMutation.h.

Referenced by FREE::ES::CMAMutation< TIndividual >::ComputeStepLength().

template<class TIndividual>
long FREE::ES::CMAMutation< TIndividual >::m_Mu [mutable, private]

Number of individuals that are selected for the last centroid computation. This value will be determined by the return of the search point selector.

Definition at line 222 of file freESCMAMutation.h.

Referenced by FREE::ES::CMAMutation< TIndividual >::ComputeCentroid().

template<class TIndividual>
MatrixType FREE::ES::CMAMutation< TIndividual >::m_CurMatrix [mutable, private]

Current covariance matrix of the generation. Will be set and actualized by MutateStrategicPopulationParameters().

Definition at line 226 of file freESCMAMutation.h.

template<class TIndividual>
VectorType FREE::ES::CMAMutation< TIndividual >::m_CurCentroid [mutable, private]

Current Centroid; will be set and actualized by MutateStrategicPopulationParameters().

Definition at line 228 of file freESCMAMutation.h.

template<class TIndividual>
VectorType FREE::ES::CMAMutation< TIndividual >::m_CurMatrixPath [mutable, private]

Current evolution path used for covariance adaptation; will be set and actualized by MutateStrategicPopulationParameters().

Definition at line 231 of file freESCMAMutation.h.

template<class TIndividual>
VectorType FREE::ES::CMAMutation< TIndividual >::m_CurStepPath [mutable, private]

Current evolution path used for step size adaptation; will be set and actualized by MutateStrategicPopulationParameters().

Definition at line 234 of file freESCMAMutation.h.

template<class TIndividual>
double FREE::ES::CMAMutation< TIndividual >::m_CurStepLength [mutable, private]

Current variance/step length used for objective value mutation; evolution path; will be set and actualized by MutateStrategicPopulationParameters().

Definition at line 238 of file freESCMAMutation.h.

template<class TIndividual>
unsigned long FREE::ES::CMAMutation< TIndividual >::m_ObjectiveCount [mutable, private]

Number of objective values an individual possesses. Determines the size of the covariance matrix, current centroid, current path, last centroid and last evolution path. The number will be determined by the function RegisterStrategicPopulation parameters, by evaluating one of the initial individuals in the population.

Definition at line 244 of file freESCMAMutation.h.

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

template<class TIndividual>
SearchPointSelectorPointer FREE::ES::CMAMutation< TIndividual >::m_SearchPointSelector [private]

Definition at line 246 of file freESCMAMutation.h.

Referenced by FREE::ES::CMAMutation< TIndividual >::ComputeCentroid().

template<class TIndividual>
CentroidCombinatorPointer FREE::ES::CMAMutation< TIndividual >::m_CentroidCombinator [private]

Definition at line 247 of file freESCMAMutation.h.

Referenced by FREE::ES::CMAMutation< TIndividual >::ComputeCentroid().

template<class TIndividual>
VariateGeneratorType::Pointer FREE::ES::CMAMutation< TIndividual >::m_RandomGenerator [private]

Definition at line 250 of file freESCMAMutation.h.

Referenced by FREE::ES::CMAMutation< TIndividual >::GetRandomVector().


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