AI-ParticleSwarmOptimization-MCE
view release on metacpan or search on metacpan
optimization ends when a suitable plateau is detected following the
burn in period.
Defaults to undefined (option disabled).
-exitPlateauDP: number, optional
Specify the number of decimal places to compare between the current
fitness function value and the mean of the previous
-exitPlateauWindow values.
Defaults to 10.
-exitPlateauWindow: number, optional
Specify the size of the window used to calculate the mean for
comparison to the current output of the fitness function.
Correlates to the minimum size of a plateau needed to end the
optimization.
Defaults to 10% of the number of iterations (-iterations).
-exitPlateauBurnin: number, optional
Determines how many iterations to run before checking for plateaus.
Defaults to 50% of the number of iterations (-iterations).
-verbose: flags, optional
If set to a non-zero value -verbose determines the level of
diagnostic print reporting that is generated during optimization.
The following constants may be bitwise ored together to set logging
options:
* kLogBetter
prints particle details when its fit becomes bebtter than its
previous best.
* kLogStall
prints particle details when its velocity reaches 0 or falls
below the stall threshold.
* kLogIter
Shows the current iteration number.
* kLogDetail
Shows additional details for some of the other logging options.
* kLogIterDetail
Shorthand for kLogIter | kLogIterDetail
setParams (%parameters)
Set or change optimization parameters. See -new above for a
description of the parameters that may be supplied.
init ()
Reinitialize the optimization. init () will be called during the
first call to optimize () if it hasn't already been called.
optimize ()
Runs the minimization optimization. Returns the fit value of the best
fit found. The best possible fit is negative infinity.
optimize () may be called repeatedly to continue the fitting process.
The fit processing on each subsequent call will continue from where
the last call left off.
getParticleState ()
Returns the vector of position
getBestParticles ([$n])
Takes an optional count.
Returns a list containing the best $n particle numbers. If $n is not
specified only the best particle number is returned.
getParticleBestPos ($particleNum)
Returns a list containing the best value of the fit and the vector of
its point in hyper space.
my ($fit, @vector) = $pso->getParticleBestPos (3)
getIterationCount ()
Return the number of iterations performed. This may be useful when
the -exitFit criteria has been met or where multiple calls to
optimize have been made.
BUGS
None... I hope.
If any: A small script which yields the problem will probably be of
help.
SEE ALSO
http://en.wikipedia.org/wiki/Particle_swarm_optimization
THANKS
Mario Roy for suggestions about efficiency.
AUTHOR
Strzelecki Lukasz <lukasz@strzeleccy.eu>
SEE ALSO
( run in 0.660 second using v1.01-cache-2.11-cpan-39bf76dae61 )