15 #ifndef __itkCMAEvolutionStrategyOptimizer_h
16 #define __itkCMAEvolutionStrategyOptimizer_h
24 #include "itkArray2D.h"
25 #include "itkMersenneTwisterRandomVariateGenerator.h"
26 #include "vnl/vnl_diag_matrix.h"
83 itkGetConstMacro( CurrentIteration,
unsigned long );
92 itkGetConstMacro( CurrentSigma,
double );
95 itkGetConstMacro( CurrentMinimumD,
double );
98 itkGetConstMacro( CurrentMaximumD,
double );
121 itkSetMacro( PopulationSize,
unsigned int );
122 itkGetConstMacro( PopulationSize,
unsigned int );
128 itkSetMacro( NumberOfParents,
unsigned int );
129 itkGetConstMacro( NumberOfParents,
unsigned int );
135 itkGetConstMacro( InitialSigma,
double );
141 itkGetConstMacro( MaximumDeviation,
double );
147 itkGetConstMacro( MinimumDeviation,
double );
158 itkSetMacro( UseDecayingSigma,
bool );
159 itkGetConstMacro( UseDecayingSigma,
bool );
164 itkGetConstMacro( SigmaDecayA,
double );
168 itkSetClampMacro( SigmaDecayAlpha,
double, 0.0, 1.0 );
169 itkGetConstMacro( SigmaDecayAlpha,
double );
176 itkSetMacro( UseCovarianceMatrixAdaptation,
bool );
177 itkGetConstMacro( UseCovarianceMatrixAdaptation,
bool );
185 itkSetStringMacro( RecombinationWeightsPreset );
186 itkGetStringMacro( RecombinationWeightsPreset );
191 itkSetMacro( UpdateBDPeriod,
unsigned int );
192 itkGetConstMacro( UpdateBDPeriod,
unsigned int );
318 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)
virtual void GenerateOffspring(void)
bool m_UseCovarianceMatrixAdaptation
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
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
vnl_diag_matrix< double > EigenValueMatrixType
virtual void FixNumericalErrors(void)
ParameterContainerType m_SearchDirs
Superclass::DerivativeType DerivativeType
std::string m_RecombinationWeightsPreset
double m_ExpectationNormNormalDistribution
Array< double > RecombinationWeightsType
Superclass::CostFunctionType CostFunctionType
double m_SigmaDampingConstant
SmartPointer< Self > Pointer
unsigned long m_CurrentIteration
virtual void UpdateConjugateEvolutionPath(void)
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
unsigned int m_PopulationSize
Superclass::CostFunctionType CostFunctionType
ParametersType m_CurrentNormalizedStep
std::vector< MeasureIndexPairType > MeasureContainerType
ScaledSingleValuedNonLinearOptimizer Superclass
Superclass::ScaledCostFunctionType ScaledCostFunctionType
Array2D< double > CovarianceMatrixType
SmartPointer< const Self > ConstPointer
CMAEvolutionStrategyOptimizer Self
StopConditionType m_StopCondition
virtual void UpdateHeaviside(void)
ParametersType m_CurrentScaledStep
virtual void AdvanceOneStep(void)