16 #ifndef __itkCMAEvolutionStrategyOptimizer_h
17 #define __itkCMAEvolutionStrategyOptimizer_h
25 #include "itkArray2D.h"
26 #include "itkMersenneTwisterRandomVariateGenerator.h"
27 #include "vnl/vnl_diag_matrix.h"
82 itkGetConstMacro(CurrentIteration,
unsigned long);
91 itkGetConstMacro(CurrentSigma,
double);
94 itkGetConstMacro(CurrentMinimumD,
double);
97 itkGetConstMacro(CurrentMaximumD,
double);
120 itkSetMacro( PopulationSize,
unsigned int );
121 itkGetConstMacro( PopulationSize,
unsigned int );
127 itkSetMacro( NumberOfParents,
unsigned int );
128 itkGetConstMacro( NumberOfParents,
unsigned int );
134 itkGetConstMacro( InitialSigma,
double );
140 itkGetConstMacro( MaximumDeviation,
double );
146 itkGetConstMacro( MinimumDeviation,
double );
157 itkSetMacro(UseDecayingSigma,
bool);
158 itkGetConstMacro( UseDecayingSigma,
bool );
163 itkGetConstMacro( SigmaDecayA,
double );
167 itkSetClampMacro( SigmaDecayAlpha,
double, 0.0, 1.0 );
168 itkGetConstMacro( SigmaDecayAlpha,
double );
175 itkSetMacro( UseCovarianceMatrixAdaptation,
bool );
176 itkGetConstMacro( UseCovarianceMatrixAdaptation,
bool );
184 itkSetStringMacro( RecombinationWeightsPreset );
185 itkGetStringMacro( RecombinationWeightsPreset );
190 itkSetMacro(UpdateBDPeriod,
unsigned int);
191 itkGetConstMacro(UpdateBDPeriod,
unsigned int);
317 void PrintSelf(std::ostream& os, Indent indent)
const;
426 #endif //#ifndef __itkCMAEvolutionStrategyOptimizer_h
double m_MinimumDeviation
Superclass::ScalesType ScalesType
virtual void UpdateSigma(void)
virtual void StopOptimization(void)
Superclass::ParametersType ParametersType
virtual double GetCurrentSigma() const
virtual ~CMAEvolutionStrategyOptimizer()
RandomGeneratorType::Pointer m_RandomGenerator
CMAEvolutionStrategyOptimizer()
virtual double GetCurrentStepLength(void) const
virtual bool TestConvergence(bool firstCheck)
MeasureContainerType m_CostFunctionValues
unsigned int m_UpdateBDPeriod
virtual void StartOptimization(void)
Array< double > RecombinationWeightsType
virtual void GenerateOffspring(void)
bool m_UseCovarianceMatrixAdaptation
std::vector< MeasureIndexPairType > MeasureContainerType
void PrintSelf(std::ostream &os, Indent indent) const
ParametersType m_ConjugateEvolutionPath
virtual void UpdateEvolutionPath(void)
double m_EvolutionPathConstant
RecombinationWeightsType m_RecombinationWeights
virtual void InitializeProgressVariables(void)
std::deque< MeasureType > MeasureHistoryType
double m_PositionToleranceMax
Superclass::MeasureType MeasureType
double m_CovarianceMatrixAdaptationConstant
Array2D< double > CovarianceMatrixType
void operator=(const Self &)
Superclass::ParametersType ParametersType
Superclass::DerivativeType DerivativeType
itk::Statistics::MersenneTwisterRandomVariateGenerator RandomGeneratorType
unsigned int m_NumberOfParents
virtual void InitializeConstants(void)
virtual double GetCurrentMaximumD() const
virtual void FixNumericalErrors(void)
ParameterContainerType m_SearchDirs
Superclass::DerivativeType DerivativeType
std::string m_RecombinationWeightsPreset
double m_ExpectationNormNormalDistribution
Superclass::CostFunctionType CostFunctionType
double m_SigmaDampingConstant
SmartPointer< Self > Pointer
unsigned long m_CurrentIteration
virtual void UpdateConjugateEvolutionPath(void)
SmartPointer< const Self > ConstPointer
ScaledSingleValuedCostFunction ScaledCostFunctionType
NonLinearOptimizer::ScalesType ScalesType
std::vector< ParametersType > ParameterContainerType
virtual void InitializeBCD(void)
virtual void UpdateC(void)
ParameterContainerType m_NormalizedSearchDirs
ParametersType m_EvolutionPath
Superclass::MeasureType MeasureType
unsigned long m_HistoryLength
std::pair< MeasureType, unsigned int > MeasureIndexPairType
double m_CovarianceMatrixAdaptationWeight
MeasureType m_CurrentValue
double m_ConjugateEvolutionPathConstant
virtual void ResumeOptimization(void)
A Covariance Matrix Adaptation Evolution Strategy Optimizer.
double m_PositionToleranceMin
virtual void SortCostFunctionValues(void)
virtual void UpdateBD(void)
MeasureHistoryType m_MeasureHistory
double m_MaximumDeviation
unsigned long m_MaximumNumberOfIterations
vnl_diag_matrix< double > EigenValueMatrixType
unsigned int m_PopulationSize
Superclass::CostFunctionType CostFunctionType
ParametersType m_CurrentNormalizedStep
ScaledSingleValuedNonLinearOptimizer Superclass
Superclass::ScaledCostFunctionType ScaledCostFunctionType
CMAEvolutionStrategyOptimizer Self
StopConditionType m_StopCondition
virtual void UpdateHeaviside(void)
ParametersType m_CurrentScaledStep
virtual void AdvanceOneStep(void)