go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::CMAEvolutionStrategyOptimizer Class Reference

#include <itkCMAEvolutionStrategyOptimizer.h>

Inheritance diagram for itk::CMAEvolutionStrategyOptimizer:
Inheritance graph
[legend]
Collaboration diagram for itk::CMAEvolutionStrategyOptimizer:
Collaboration graph
[legend]

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::CostFunctionType 
CostFunctionType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::MeasureType MeasureType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef
Superclass::ScaledCostFunctionType 
ScaledCostFunctionType
 
typedef Superclass::ScalesType ScalesType
 
typedef
CMAEvolutionStrategyOptimizer 
Self
 
enum  StopConditionType {
  MetricError, MaximumNumberOfIterations, PositionToleranceMin, PositionToleranceMax,
  ValueTolerance, ZeroStepLength, Unknown
}
 
typedef
ScaledSingleValuedNonLinearOptimizer 
Superclass
 
- Public Types inherited from itk::ScaledSingleValuedNonLinearOptimizer
typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::CostFunctionType 
CostFunctionType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::MeasureType MeasureType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef
ScaledCostFunctionType::Pointer 
ScaledCostFunctionPointer
 
typedef
ScaledSingleValuedCostFunction 
ScaledCostFunctionType
 
typedef
NonLinearOptimizer::ScalesType 
ScalesType
 
typedef
ScaledSingleValuedNonLinearOptimizer 
Self
 
typedef
SingleValuedNonLinearOptimizer 
Superclass
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual unsigned long GetCurrentIteration () const
 
virtual double GetCurrentMaximumD () const
 
virtual double GetCurrentMinimumD () const
 
virtual const ParametersTypeGetCurrentScaledStep ()
 
virtual double GetCurrentSigma () const
 
virtual double GetCurrentStepLength (void) const
 
virtual MeasureType GetCurrentValue () const
 
virtual double GetInitialSigma () const
 
virtual double GetMaximumDeviation () const
 
virtual unsigned long GetMaximumNumberOfIterations () const
 
virtual double GetMinimumDeviation () const
 
virtual unsigned int GetNumberOfParents () const
 
virtual unsigned int GetPopulationSize () const
 
virtual double GetPositionToleranceMax () const
 
virtual double GetPositionToleranceMin () const
 
virtual const char * GetRecombinationWeightsPreset () const
 
virtual double GetSigmaDecayA () const
 
virtual double GetSigmaDecayAlpha () const
 
virtual const StopConditionTypeGetStopCondition ()
 
virtual unsigned int GetUpdateBDPeriod () const
 
virtual bool GetUseCovarianceMatrixAdaptation () const
 
virtual bool GetUseDecayingSigma () const
 
virtual double GetValueTolerance () const
 
virtual void ResumeOptimization (void)
 
virtual void SetInitialSigma (double _arg)
 
virtual void SetMaximumDeviation (double _arg)
 
virtual void SetMaximumNumberOfIterations (unsigned long _arg)
 
virtual void SetMinimumDeviation (double _arg)
 
virtual void SetNumberOfParents (unsigned int _arg)
 
virtual void SetPopulationSize (unsigned int _arg)
 
virtual void SetPositionToleranceMax (double _arg)
 
virtual void SetPositionToleranceMin (double _arg)
 
virtual void SetRecombinationWeightsPreset (const char *_arg)
 
virtual void SetSigmaDecayA (double _arg)
 
virtual void SetSigmaDecayAlpha (double _arg)
 
virtual void SetUpdateBDPeriod (unsigned int _arg)
 
virtual void SetUseCovarianceMatrixAdaptation (bool _arg)
 
virtual void SetUseDecayingSigma (bool _arg)
 
virtual void SetValueTolerance (double _arg)
 
virtual void StartOptimization (void)
 
virtual void StopOptimization (void)
 
- Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
virtual const ParametersTypeGetCurrentPosition (void) const
 
virtual bool GetMaximize () const
 
virtual const
ScaledCostFunctionType
GetScaledCostFunction ()
 
virtual const ParametersTypeGetScaledCurrentPosition ()
 
bool GetUseScales (void) const
 
virtual void InitializeScales (void)
 
virtual void MaximizeOff ()
 
virtual void MaximizeOn ()
 
virtual void SetCostFunction (CostFunctionType *costFunction)
 
virtual void SetMaximize (bool _arg)
 
virtual void SetUseScales (bool arg)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
static Pointer New ()
 

Protected Types

typedef Array2D< doubleCovarianceMatrixType
 
typedef vnl_diag_matrix< doubleEigenValueMatrixType
 
typedef std::vector
< MeasureIndexPairType
MeasureContainerType
 
typedef std::deque< MeasureTypeMeasureHistoryType
 
typedef std::pair< MeasureType,
unsigned int
MeasureIndexPairType
 
typedef std::vector
< ParametersType
ParameterContainerType
 
typedef
itk::Statistics::MersenneTwisterRandomVariateGenerator 
RandomGeneratorType
 
typedef Array< doubleRecombinationWeightsType
 

Protected Member Functions

virtual void AdvanceOneStep (void)
 
 CMAEvolutionStrategyOptimizer ()
 
virtual void FixNumericalErrors (void)
 
virtual void GenerateOffspring (void)
 
virtual void InitializeBCD (void)
 
virtual void InitializeConstants (void)
 
virtual void InitializeProgressVariables (void)
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void SortCostFunctionValues (void)
 
virtual bool TestConvergence (bool firstCheck)
 
virtual void UpdateBD (void)
 
virtual void UpdateC (void)
 
virtual void UpdateConjugateEvolutionPath (void)
 
virtual void UpdateEvolutionPath (void)
 
virtual void UpdateHeaviside (void)
 
virtual void UpdateSigma (void)
 
virtual ~CMAEvolutionStrategyOptimizer ()
 
- Protected Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer
virtual void GetScaledDerivative (const ParametersType &parameters, DerivativeType &derivative) const
 
virtual MeasureType GetScaledValue (const ParametersType &parameters) const
 
virtual void GetScaledValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
 
void PrintSelf (std::ostream &os, Indent indent) const
 
 ScaledSingleValuedNonLinearOptimizer ()
 
virtual void SetCurrentPosition (const ParametersType &param)
 
virtual void SetScaledCurrentPosition (const ParametersType &parameters)
 
virtual ~ScaledSingleValuedNonLinearOptimizer ()
 

Protected Attributes

CovarianceMatrixType m_B
 
CovarianceMatrixType m_C
 
ParametersType m_ConjugateEvolutionPath
 
double m_ConjugateEvolutionPathConstant
 
MeasureContainerType m_CostFunctionValues
 
double m_CovarianceMatrixAdaptationConstant
 
double m_CovarianceMatrixAdaptationWeight
 
unsigned long m_CurrentIteration
 
double m_CurrentMaximumD
 
double m_CurrentMinimumD
 
ParametersType m_CurrentNormalizedStep
 
ParametersType m_CurrentScaledStep
 
double m_CurrentSigma
 
MeasureType m_CurrentValue
 
EigenValueMatrixType m_D
 
double m_EffectiveMu
 
ParametersType m_EvolutionPath
 
double m_EvolutionPathConstant
 
double m_ExpectationNormNormalDistribution
 
bool m_Heaviside
 
unsigned long m_HistoryLength
 
MeasureHistoryType m_MeasureHistory
 
ParameterContainerType m_NormalizedSearchDirs
 
unsigned int m_NumberOfParents
 
unsigned int m_PopulationSize
 
RandomGeneratorType::Pointer m_RandomGenerator
 
RecombinationWeightsType m_RecombinationWeights
 
ParameterContainerType m_SearchDirs
 
double m_SigmaDampingConstant
 
bool m_Stop
 
StopConditionType m_StopCondition
 
unsigned int m_UpdateBDPeriod
 
bool m_UseCovarianceMatrixAdaptation
 
- Protected Attributes inherited from itk::ScaledSingleValuedNonLinearOptimizer
ScaledCostFunctionPointer m_ScaledCostFunction
 
ParametersType m_ScaledCurrentPosition
 

Private Member Functions

 CMAEvolutionStrategyOptimizer (const Self &)
 
void operator= (const Self &)
 

Private Attributes

double m_InitialSigma
 
double m_MaximumDeviation
 
unsigned long m_MaximumNumberOfIterations
 
double m_MinimumDeviation
 
double m_PositionToleranceMax
 
double m_PositionToleranceMin
 
std::string m_RecombinationWeightsPreset
 
double m_SigmaDecayA
 
double m_SigmaDecayAlpha
 
bool m_UseDecayingSigma
 
double m_ValueTolerance
 

Detailed Description

A Covariance Matrix Adaptation Evolution Strategy Optimizer.

Based on the work by Hansen:

Definition at line 47 of file itkCMAEvolutionStrategyOptimizer.h.

Member Typedef Documentation

Definition at line 55 of file itkCMAEvolutionStrategyOptimizer.h.

typedef Superclass::CostFunctionType itk::CMAEvolutionStrategyOptimizer::CostFunctionType

Definition at line 63 of file itkCMAEvolutionStrategyOptimizer.h.

Definition at line 221 of file itkCMAEvolutionStrategyOptimizer.h.

typedef Superclass::DerivativeType itk::CMAEvolutionStrategyOptimizer::DerivativeType

Definition at line 62 of file itkCMAEvolutionStrategyOptimizer.h.

Definition at line 220 of file itkCMAEvolutionStrategyOptimizer.h.

Definition at line 227 of file itkCMAEvolutionStrategyOptimizer.h.

Definition at line 223 of file itkCMAEvolutionStrategyOptimizer.h.

Definition at line 226 of file itkCMAEvolutionStrategyOptimizer.h.

Definition at line 65 of file itkCMAEvolutionStrategyOptimizer.h.

Definition at line 222 of file itkCMAEvolutionStrategyOptimizer.h.

Definition at line 59 of file itkCMAEvolutionStrategyOptimizer.h.

Definition at line 54 of file itkCMAEvolutionStrategyOptimizer.h.

typedef itk::Statistics::MersenneTwisterRandomVariateGenerator itk::CMAEvolutionStrategyOptimizer::RandomGeneratorType
protected

Definition at line 229 of file itkCMAEvolutionStrategyOptimizer.h.

Definition at line 215 of file itkCMAEvolutionStrategyOptimizer.h.

typedef Superclass::ScaledCostFunctionType itk::CMAEvolutionStrategyOptimizer::ScaledCostFunctionType

Definition at line 64 of file itkCMAEvolutionStrategyOptimizer.h.

typedef Superclass::ScalesType itk::CMAEvolutionStrategyOptimizer::ScalesType

Definition at line 66 of file itkCMAEvolutionStrategyOptimizer.h.

Definition at line 52 of file itkCMAEvolutionStrategyOptimizer.h.

Definition at line 53 of file itkCMAEvolutionStrategyOptimizer.h.

Member Enumeration Documentation

Enumerator
MetricError 
MaximumNumberOfIterations 
PositionToleranceMin 
PositionToleranceMax 
ValueTolerance 
ZeroStepLength 
Unknown 

Definition at line 68 of file itkCMAEvolutionStrategyOptimizer.h.

Constructor & Destructor Documentation

itk::CMAEvolutionStrategyOptimizer::CMAEvolutionStrategyOptimizer ( )
protected

Constructor

virtual itk::CMAEvolutionStrategyOptimizer::~CMAEvolutionStrategyOptimizer ( )
inlineprotectedvirtual

Destructor

Definition at line 314 of file itkCMAEvolutionStrategyOptimizer.h.

itk::CMAEvolutionStrategyOptimizer::CMAEvolutionStrategyOptimizer ( const Self )
private

Member Function Documentation

virtual void itk::CMAEvolutionStrategyOptimizer::AdvanceOneStep ( void  )
protectedvirtual

Compute the m_CurrentPosition = m(g+1), m_CurrentValue, and m_CurrentScaledStep

virtual void itk::CMAEvolutionStrategyOptimizer::FixNumericalErrors ( void  )
protectedvirtual

Some checks, to be sure no numerical errors occur

  • Adjust too low/high deviation that otherwise would violate m_MinimumDeviation or m_MaximumDeviation.
  • Adjust too low deviations that otherwise would cause numerical problems (because of finite precision of the datatypes).
  • Check if "main axis standard deviation sigma*D(i,i) has effect" (?) (just another check whether the steps are not too small)
  • Adjust step size in case of equal function values (flat fitness)
  • Adjust step size in case of equal best function values over history
virtual void itk::CMAEvolutionStrategyOptimizer::GenerateOffspring ( void  )
protectedvirtual

GenerateOffspring: Fill m_SearchDirs, m_NormalizedSearchDirs, and m_CostFunctionValues

virtual const char* itk::CMAEvolutionStrategyOptimizer::GetClassName ( ) const
virtual
virtual unsigned long itk::CMAEvolutionStrategyOptimizer::GetCurrentIteration ( ) const
virtual

Get the current iteration number:

virtual double itk::CMAEvolutionStrategyOptimizer::GetCurrentMaximumD ( ) const
virtual

The current maximum square root eigen value

virtual double itk::CMAEvolutionStrategyOptimizer::GetCurrentMinimumD ( ) const
virtual

The current minimum square root eigen value

virtual const ParametersType& itk::CMAEvolutionStrategyOptimizer::GetCurrentScaledStep ( )
virtual

Get the last step taken ( scaledPos_{k+1} - scaledPos_{k} ) If you want the step taken in the space of unscaled parameters, simply use: CMAESOptimizer->GetScaledCostFunction()->ConvertScaledToUnscaledParameters( ... ) To obtain the magnitude of the step, use ->GetCurretScaledStep().magnitude().

virtual double itk::CMAEvolutionStrategyOptimizer::GetCurrentSigma ( ) const
virtual

The current value of sigma

virtual double itk::CMAEvolutionStrategyOptimizer::GetCurrentStepLength ( void  ) const
inlinevirtual

This function is just for convenience, since many optimizers have such a function. It return the current sigma times the current maximumD.

Definition at line 101 of file itkCMAEvolutionStrategyOptimizer.h.

virtual MeasureType itk::CMAEvolutionStrategyOptimizer::GetCurrentValue ( ) const
virtual

Get the metric value at the current position

virtual double itk::CMAEvolutionStrategyOptimizer::GetInitialSigma ( ) const
virtual
virtual double itk::CMAEvolutionStrategyOptimizer::GetMaximumDeviation ( ) const
virtual
virtual unsigned long itk::CMAEvolutionStrategyOptimizer::GetMaximumNumberOfIterations ( ) const
virtual

Setting: convergence condition: the maximum number of iterations. Default: 100

virtual double itk::CMAEvolutionStrategyOptimizer::GetMinimumDeviation ( ) const
virtual
virtual unsigned int itk::CMAEvolutionStrategyOptimizer::GetNumberOfParents ( ) const
virtual
virtual unsigned int itk::CMAEvolutionStrategyOptimizer::GetPopulationSize ( ) const
virtual
virtual double itk::CMAEvolutionStrategyOptimizer::GetPositionToleranceMax ( ) const
virtual
virtual double itk::CMAEvolutionStrategyOptimizer::GetPositionToleranceMin ( ) const
virtual
virtual const char* itk::CMAEvolutionStrategyOptimizer::GetRecombinationWeightsPreset ( ) const
virtual
virtual double itk::CMAEvolutionStrategyOptimizer::GetSigmaDecayA ( ) const
virtual
virtual double itk::CMAEvolutionStrategyOptimizer::GetSigmaDecayAlpha ( ) const
virtual
virtual const StopConditionType& itk::CMAEvolutionStrategyOptimizer::GetStopCondition ( )
virtual

Get the stop condition of the last run

virtual unsigned int itk::CMAEvolutionStrategyOptimizer::GetUpdateBDPeriod ( ) const
virtual
virtual bool itk::CMAEvolutionStrategyOptimizer::GetUseCovarianceMatrixAdaptation ( ) const
virtual
virtual bool itk::CMAEvolutionStrategyOptimizer::GetUseDecayingSigma ( ) const
virtual
virtual double itk::CMAEvolutionStrategyOptimizer::GetValueTolerance ( ) const
virtual
virtual void itk::CMAEvolutionStrategyOptimizer::InitializeBCD ( void  )
protectedvirtual

Initialize the covariance matrix and its eigen decomposition

virtual void itk::CMAEvolutionStrategyOptimizer::InitializeConstants ( void  )
protectedvirtual

Compute the following constant variables:

  • m_PopulationSize (if not provided by the user)
  • m_NumberOfParents (if not provided by the user)
  • m_RecombinationWeights
  • m_EffectiveMu
  • m_ConjugateEvolutionPathConstant
  • m_SigmaDampingConstant
  • m_CovarianceMatrixAdaptationWeight
  • m_CovarianceMatrixAdaptationConstant
  • m_UpdateBDPeriod;
  • m_UseCovarianceMatrixAdaptation;
  • m_EvolutionPathConstant
  • m_ExpectationNormNormalDistribution
  • m_HistoryLength
virtual void itk::CMAEvolutionStrategyOptimizer::InitializeProgressVariables ( void  )
protectedvirtual

Initialize the following 'progress' variables:

  • m_CurrentSigma
  • m_Heaviside
  • m_SearchDirs
  • m_NormalizedSearchDirs
  • m_CostFunctionValues
  • m_CurrentScaledStep
  • m_CurrentNormalizedStep
  • m_EvolutionPath
  • m_ConjugateEvolutionPath
  • m_MeasureHistory
  • m_CurrentMaximumD, m_CurrentMinimumD

Reimplemented in elastix::CMAEvolutionStrategy< TElastix >.

static Pointer itk::CMAEvolutionStrategyOptimizer::New ( )
static
void itk::CMAEvolutionStrategyOptimizer::operator= ( const Self )
private
void itk::CMAEvolutionStrategyOptimizer::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected

PrintSelf

virtual void itk::CMAEvolutionStrategyOptimizer::ResumeOptimization ( void  )
virtual
virtual void itk::CMAEvolutionStrategyOptimizer::SetInitialSigma ( double  _arg)
virtual

Setting: the initial standard deviation used to generate offspring Recommended value: 1/3 * the expected range of the parameters Default: 1.0;

virtual void itk::CMAEvolutionStrategyOptimizer::SetMaximumDeviation ( double  _arg)
virtual

Setting: the maximum deviation. It is ensured that: max_i( sigma*sqrt(C[i,i]) ) < MaximumDeviation Default: +infinity

virtual void itk::CMAEvolutionStrategyOptimizer::SetMaximumNumberOfIterations ( unsigned long  _arg)
virtual
virtual void itk::CMAEvolutionStrategyOptimizer::SetMinimumDeviation ( double  _arg)
virtual

Setting: the minimum deviation. It is ensured that: min_i( sigma*sqrt(C[i,i]) ) > MinimumDeviation Default: 0.0

virtual void itk::CMAEvolutionStrategyOptimizer::SetNumberOfParents ( unsigned int  _arg)
virtual

Setting: the number of parents (points for recombination, $\mu$) if set to 0, a default value is chosen: floor( populationSize / 2 ), which can be inspected after having started the optimisation. Default: 0

virtual void itk::CMAEvolutionStrategyOptimizer::SetPopulationSize ( unsigned int  _arg)
virtual

Setting: the population size ( $\lambda$); if set to 0, a default value is chosen: 4 + floor( 3 ln(NumberOfParameters) ), which can be inspected after having started the optimisation. Default: 0

virtual void itk::CMAEvolutionStrategyOptimizer::SetPositionToleranceMax ( double  _arg)
virtual

Setting: convergence condition: the maximum step size. 'convergence' is declared if: if ( sigma * sqrt(C[i,i]) > PositionToleranceMax*sigma0 for any i ) Default: 1e8

virtual void itk::CMAEvolutionStrategyOptimizer::SetPositionToleranceMin ( double  _arg)
virtual

Setting: convergence condition: the minimum step size. convergence is declared if: if ( sigma * max( abs(p_c[i]), sqrt(C[i,i]) ) < PositionToleranceMin*sigma0 for all i ) where p_c is the evolution path Default: 1e-12

virtual void itk::CMAEvolutionStrategyOptimizer::SetRecombinationWeightsPreset ( const char *  _arg)
virtual

Setting: how the recombination weights are chosen: "equal", "linear" or "superlinear" are supported equal: weights = ones(mu,1); linear: weights = mu+1-(1:mu)'; superlinear: weights = log(mu+1)-log(1:mu)'; Default: "superlinear"

virtual void itk::CMAEvolutionStrategyOptimizer::SetSigmaDecayA ( double  _arg)
virtual

Setting: the A parameter for the decaying sigma sequence. Default: 50

virtual void itk::CMAEvolutionStrategyOptimizer::SetSigmaDecayAlpha ( double  _arg)
virtual

Setting: the alpha parameter for the decaying sigma sequence. Default: 0.602

virtual void itk::CMAEvolutionStrategyOptimizer::SetUpdateBDPeriod ( unsigned int  _arg)
virtual

Setting: the number of iterations after which B and D are updated. If 0: a default value is computed: floor( 1.0 / c_cov / Nd / 10.0 ) This value can be inspected after calling StartOptimization

virtual void itk::CMAEvolutionStrategyOptimizer::SetUseCovarianceMatrixAdaptation ( bool  _arg)
virtual

Setting: whether the covariance matrix adaptation scheme should be used. Default: true. If false: CovMatrix = Identity. This parameter may be changed by the optimiser, if it sees that the adaptation rate is nearly 0 (UpdateBDPeriod >= MaxNrOfIterations). This can be inspected calling StartOptimization()

virtual void itk::CMAEvolutionStrategyOptimizer::SetUseDecayingSigma ( bool  _arg)
virtual

Setting: Use a sigma that decays according to a predefined function, instead of the adaptive scheme proposed by Hansen et al. if true: currentsigma(k+1) = currentsigma(k) * (A+k)^alpha / (A+k+1)^alpha where: k = the current iteration A, alpha = user-specified parameters (see below)

Default: false

virtual void itk::CMAEvolutionStrategyOptimizer::SetValueTolerance ( double  _arg)
virtual

Setting: convergence condition: the minimum change of the cost function value over time. convergence is declared if: the range of the best cost function value measured over a period of M iterations was not greater than the valueTolerance, where: M = m_HistoryLength = min( maxnrofit, 10+ceil(3*10*N/lambda) ). Default: 1e-12

virtual void itk::CMAEvolutionStrategyOptimizer::SortCostFunctionValues ( void  )
protectedvirtual

Sort the m_CostFunctionValues vector and update m_MeasureHistory

virtual void itk::CMAEvolutionStrategyOptimizer::StartOptimization ( void  )
virtual
virtual void itk::CMAEvolutionStrategyOptimizer::StopOptimization ( void  )
virtual
virtual bool itk::CMAEvolutionStrategyOptimizer::TestConvergence ( bool  firstCheck)
protectedvirtual

Check if convergence has occured:

  • Check if the maximum number of iterations will not be exceeded in the following iteration
  • Check if the step was not too large: if ( sigma * sqrt(C[i,i]) > PositionToleranceMax*sigma0 for any i )
  • Check for zero steplength (should never happen): if ( sigma * D[i] <= 0 for all i )
  • if firstCheck==true -> quit function
  • Check if the step was not too small: if ( sigma * max( abs(p_c[i]), sqrt(C[i,i]) ) < PositionToleranceMin*sigma0 for all i )
  • Check if the value tolerance is satisfied.
virtual void itk::CMAEvolutionStrategyOptimizer::UpdateBD ( void  )
protectedvirtual

Update the eigen decomposition and m_CurrentMaximumD/m_CurrentMinimumD

virtual void itk::CMAEvolutionStrategyOptimizer::UpdateC ( void  )
protectedvirtual

Update the covariance matrix C

virtual void itk::CMAEvolutionStrategyOptimizer::UpdateConjugateEvolutionPath ( void  )
protectedvirtual

Update m_ConjugateEvolutionPath

virtual void itk::CMAEvolutionStrategyOptimizer::UpdateEvolutionPath ( void  )
protectedvirtual

Update m_EvolutionPath

virtual void itk::CMAEvolutionStrategyOptimizer::UpdateHeaviside ( void  )
protectedvirtual

Update m_Heaviside

virtual void itk::CMAEvolutionStrategyOptimizer::UpdateSigma ( void  )
protectedvirtual

Update the Sigma either by adaptation or using the predefined function

Field Documentation

CovarianceMatrixType itk::CMAEvolutionStrategyOptimizer::m_B
protected

B: eigen vector matrix

Definition at line 306 of file itkCMAEvolutionStrategyOptimizer.h.

CovarianceMatrixType itk::CMAEvolutionStrategyOptimizer::m_C
protected

C: covariance matrix

Definition at line 304 of file itkCMAEvolutionStrategyOptimizer.h.

ParametersType itk::CMAEvolutionStrategyOptimizer::m_ConjugateEvolutionPath
protected

$p_\sigma$

Definition at line 298 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_ConjugateEvolutionPathConstant
protected

$c_{\sigma}$

Definition at line 258 of file itkCMAEvolutionStrategyOptimizer.h.

MeasureContainerType itk::CMAEvolutionStrategyOptimizer::m_CostFunctionValues
protected

cost function values for each $x_i = m + d_i$

Definition at line 290 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_CovarianceMatrixAdaptationConstant
protected

$c_{cov}$

Definition at line 262 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_CovarianceMatrixAdaptationWeight
protected

$\mu_{cov} = \mu_{eff}$

Definition at line 266 of file itkCMAEvolutionStrategyOptimizer.h.

unsigned long itk::CMAEvolutionStrategyOptimizer::m_CurrentIteration
protected

The current iteration number

Definition at line 238 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_CurrentMaximumD
protected

The current maximum square root eigen value:

Definition at line 280 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_CurrentMinimumD
protected

The current minimum square root eigen value:

Definition at line 278 of file itkCMAEvolutionStrategyOptimizer.h.

ParametersType itk::CMAEvolutionStrategyOptimizer::m_CurrentNormalizedStep
protected

$1/\sigma * D^{-1} * B' * m_CurrentScaledStep, needed for p_{\sigma}$

Definition at line 294 of file itkCMAEvolutionStrategyOptimizer.h.

ParametersType itk::CMAEvolutionStrategyOptimizer::m_CurrentScaledStep
protected

$m(g+1) - m(g)$

Definition at line 292 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_CurrentSigma
protected

The current value of Sigma

Definition at line 275 of file itkCMAEvolutionStrategyOptimizer.h.

MeasureType itk::CMAEvolutionStrategyOptimizer::m_CurrentValue
protected

The value of the cost function at the current position

Definition at line 235 of file itkCMAEvolutionStrategyOptimizer.h.

EigenValueMatrixType itk::CMAEvolutionStrategyOptimizer::m_D
protected

D: sqrt(eigen values)

Definition at line 308 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_EffectiveMu
protected

Some other constants, without set/get methods These settings have default values. $\mu_{eff}$

Definition at line 256 of file itkCMAEvolutionStrategyOptimizer.h.

ParametersType itk::CMAEvolutionStrategyOptimizer::m_EvolutionPath
protected

$p_c$

Definition at line 296 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_EvolutionPathConstant
protected

$c_c$

Definition at line 264 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_ExpectationNormNormalDistribution
protected

$chiN = E( \|N(0,I)\|$

Definition at line 268 of file itkCMAEvolutionStrategyOptimizer.h.

bool itk::CMAEvolutionStrategyOptimizer::m_Heaviside
protected

$h_{\sigma}$

Definition at line 283 of file itkCMAEvolutionStrategyOptimizer.h.

unsigned long itk::CMAEvolutionStrategyOptimizer::m_HistoryLength
protected

Length of the MeasureHistory deque

Definition at line 272 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_InitialSigma
private

Definition at line 410 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_MaximumDeviation
private

Definition at line 414 of file itkCMAEvolutionStrategyOptimizer.h.

unsigned long itk::CMAEvolutionStrategyOptimizer::m_MaximumNumberOfIterations
private

Settings that are only inspected/changed by the associated get/set member functions.

Definition at line 408 of file itkCMAEvolutionStrategyOptimizer.h.

MeasureHistoryType itk::CMAEvolutionStrategyOptimizer::m_MeasureHistory
protected

History of best measure values

Definition at line 301 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_MinimumDeviation
private

Definition at line 415 of file itkCMAEvolutionStrategyOptimizer.h.

ParameterContainerType itk::CMAEvolutionStrategyOptimizer::m_NormalizedSearchDirs
protected

realisations of $N(0,I)$

Definition at line 288 of file itkCMAEvolutionStrategyOptimizer.h.

unsigned int itk::CMAEvolutionStrategyOptimizer::m_NumberOfParents
protected

Definition at line 249 of file itkCMAEvolutionStrategyOptimizer.h.

unsigned int itk::CMAEvolutionStrategyOptimizer::m_PopulationSize
protected

Definition at line 248 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_PositionToleranceMax
private

Definition at line 416 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_PositionToleranceMin
private

Definition at line 417 of file itkCMAEvolutionStrategyOptimizer.h.

RandomGeneratorType::Pointer itk::CMAEvolutionStrategyOptimizer::m_RandomGenerator
protected

The random number generator used to generate the offspring.

Definition at line 232 of file itkCMAEvolutionStrategyOptimizer.h.

RecombinationWeightsType itk::CMAEvolutionStrategyOptimizer::m_RecombinationWeights
protected

array of $w_i$

Definition at line 270 of file itkCMAEvolutionStrategyOptimizer.h.

std::string itk::CMAEvolutionStrategyOptimizer::m_RecombinationWeightsPreset
private

Definition at line 413 of file itkCMAEvolutionStrategyOptimizer.h.

ParameterContainerType itk::CMAEvolutionStrategyOptimizer::m_SearchDirs
protected

$d_i = x_i - m$

Definition at line 286 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_SigmaDampingConstant
protected

$d_{\sigma}$

Definition at line 260 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_SigmaDecayA
private

Definition at line 411 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_SigmaDecayAlpha
private

Definition at line 412 of file itkCMAEvolutionStrategyOptimizer.h.

bool itk::CMAEvolutionStrategyOptimizer::m_Stop
protected

Boolean that indicates whether the optimizer should stop

Definition at line 244 of file itkCMAEvolutionStrategyOptimizer.h.

StopConditionType itk::CMAEvolutionStrategyOptimizer::m_StopCondition
protected

The stop condition

Definition at line 241 of file itkCMAEvolutionStrategyOptimizer.h.

unsigned int itk::CMAEvolutionStrategyOptimizer::m_UpdateBDPeriod
protected

Definition at line 250 of file itkCMAEvolutionStrategyOptimizer.h.

bool itk::CMAEvolutionStrategyOptimizer::m_UseCovarianceMatrixAdaptation
protected

Settings that may be changed by the optimizer:

Definition at line 247 of file itkCMAEvolutionStrategyOptimizer.h.

bool itk::CMAEvolutionStrategyOptimizer::m_UseDecayingSigma
private

Definition at line 409 of file itkCMAEvolutionStrategyOptimizer.h.

double itk::CMAEvolutionStrategyOptimizer::m_ValueTolerance
private

Definition at line 418 of file itkCMAEvolutionStrategyOptimizer.h.



Generated on 27-06-2013 for elastix by doxygen 1.8.3.1 elastix logo