19 #ifndef __itkCMAEvolutionStrategyOptimizer_h 20 #define __itkCMAEvolutionStrategyOptimizer_h 28 #include "itkArray2D.h" 29 #include "itkMersenneTwisterRandomVariateGenerator.h" 30 #include "vnl/vnl_diag_matrix.h" 87 itkGetConstMacro( CurrentIteration,
unsigned long );
90 itkGetConstMacro( CurrentValue, MeasureType );
93 itkGetConstReferenceMacro( StopCondition, StopConditionType );
96 itkGetConstMacro( CurrentSigma,
double );
99 itkGetConstMacro( CurrentMinimumD,
double );
102 itkGetConstMacro( CurrentMaximumD,
double );
114 itkGetConstReferenceMacro( CurrentScaledStep, ParametersType );
125 itkSetMacro( PopulationSize,
unsigned int );
126 itkGetConstMacro( PopulationSize,
unsigned int );
132 itkSetMacro( NumberOfParents,
unsigned int );
133 itkGetConstMacro( NumberOfParents,
unsigned int );
139 itkGetConstMacro( InitialSigma,
double );
145 itkGetConstMacro( MaximumDeviation,
double );
151 itkGetConstMacro( MinimumDeviation,
double );
162 itkSetMacro( UseDecayingSigma,
bool );
163 itkGetConstMacro( UseDecayingSigma,
bool );
168 itkGetConstMacro( SigmaDecayA,
double );
172 itkSetClampMacro( SigmaDecayAlpha,
double, 0.0, 1.0 );
173 itkGetConstMacro( SigmaDecayAlpha,
double );
180 itkSetMacro( UseCovarianceMatrixAdaptation,
bool );
181 itkGetConstMacro( UseCovarianceMatrixAdaptation,
bool );
189 itkSetStringMacro( RecombinationWeightsPreset );
190 itkGetStringMacro( RecombinationWeightsPreset );
195 itkSetMacro( UpdateBDPeriod,
unsigned int );
196 itkGetConstMacro( UpdateBDPeriod,
unsigned int );
322 void PrintSelf( std::ostream & os, Indent indent )
const;
430 #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)