19 #ifndef __itkParticleSwarmOptimizerBase_h
20 #define __itkParticleSwarmOptimizerBase_h
94 itkSetMacro( InitializeNormalDistribution,
bool )
95 itkGetMacro( InitializeNormalDistribution,
bool )
96 itkBooleanMacro( InitializeNormalDistribution )
113 itkGetMacro( PrintSwarm,
bool )
114 itkBooleanMacro( PrintSwarm )
162 itkSetMacro( FunctionConvergenceTolerance,
MeasureType )
163 itkGetMacro( FunctionConvergenceTolerance,
MeasureType )
171 itkGetMacro( PercentageParticlesConverged,
double )
172 itkSetMacro( PercentageParticlesConverged,
double )
183 itkSetMacro( UseSeed,
bool )
184 itkGetMacro( UseSeed,
bool )
185 itkBooleanMacro( UseSeed)
199 void PrintSwarm( std::ostream& os,
Indent indent ) const;
203 virtual ~ParticleSwarmOptimizerBase();
204 virtual
void PrintSelf( std::ostream& os,
Indent indent ) const ITK_OVERRIDE;
211 ParticleSwarmOptimizerBase( const
Self& );
212 void operator=( const Self& );
SmartPointer< Self > Pointer
std::vector< ParticleData > SwarmType
virtual void SetParameterBounds(ParameterBoundsType &bounds)
std::vector< std::pair< ParametersType::ValueType, ParametersType::ValueType > > ParameterBoundsType
virtual const std::string GetStopConditionDescription() const ITK_OVERRIDE
ParametersType m_ParametersConvergenceTolerance
This class is a base for the CostFunctions returning a single value.
Light weight base class for most itk classes.
virtual void Initialize()
std::vector< MeasureType > m_FunctionBestValueMemory
Statistics::MersenneTwisterRandomVariateGenerator RandomVariateGeneratorType
unsigned int NumberOfParticlesType
CostFunctionType::MeasureType m_BestValue
MersenneTwisterRandom random variate generator.
virtual void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
ParametersType m_CurrentParameters
This class is a base for the Optimization methods that optimize a single valued function.
ParametersType::ValueType ValueType
ParticleSwarmOptimizerBase Self
RandomVariateGeneratorType::IntegerType m_Seed
unsigned int NumberOfIterationsType
CostFunctionType::MeasureType m_CurrentValue
std::vector< ParticleData > m_Particles
NumberOfIterationsType m_MaximalNumberOfIterations
void PrintParamtersType(const ParametersType &x, std::ostream &os) const
virtual void ValidateSettings()
std::ostringstream m_StopConditionDescription
CostFunctionType::MeasureType m_FunctionBestValue
ParametersType m_ParametersBestValue
ParametersType m_CurrentVelocity
ParameterBoundsType GetParameterBounds() const
void SetInitialSwarm(const SwarmType &initialSwarm)
SmartPointer< const Self > ConstPointer
CostFunctionType::MeasureType m_FunctionConvergenceTolerance
unsigned int NumberOfGenerationsType
ParametersType m_BestParameters
ParameterBoundsType m_ParameterBounds
NumberOfParticlesType m_NumberOfParticles
void FileInitialization()
void PrintSwarm(std::ostream &os, Indent indent) const
NumberOfGenerationsType m_NumberOfGenerationsWithMinimalImprovement
virtual void UpdateSwarm()=0
void SetParametersConvergenceTolerance(ValueType convergenceTolerance, unsigned int sz)
void SetNumberOfParticles(NumberOfParticlesType n)
SingleValuedNonLinearOptimizer Superclass
Control indentation during Print() invocation.
void RandomInitialization()
virtual void StartOptimization(void) ITK_OVERRIDE
Abstract implementation of a Particle Swarm Optimization (PSO) algorithm.
CostFunctionType::MeasureType MeasureType
bool m_InitializeNormalDistribution
double m_PercentageParticlesConverged
NumberOfIterationsType m_IterationIndex
MeasureType GetValue() const