EvolvingObjects
eoEasyPSO< POT > Class Template Reference

An easy-to-use particle swarm algorithm. More...

#include <eoEasyPSO.h>

Inheritance diagram for eoEasyPSO< POT >:
eoPSO< POT > eoAlgo< POT > eoUF< eoPop< POT > &, void > eoFunctorBase unary_function

List of all members.

Classes

class  eoDummyFlight
class  eoDummyInitializer

Public Member Functions

 eoEasyPSO (eoInitializerBase< POT > &_init, eoContinue< POT > &_continuator, eoEvalFunc< POT > &_eval, eoVelocity< POT > &_velocity, eoFlight< POT > &_flight)
 Full constructor.
 eoEasyPSO (eoInitializerBase< POT > &_init, eoContinue< POT > &_continuator, eoEvalFunc< POT > &_eval, eoVelocity< POT > &_velocity)
 Constructor without eoFlight.
 eoEasyPSO (eoContinue< POT > &_continuator, eoEvalFunc< POT > &_eval, eoVelocity< POT > &_velocity, eoFlight< POT > &_flight)
 eoEasyPSO (eoContinue< POT > &_continuator, eoEvalFunc< POT > &_eval, eoVelocity< POT > &_velocity)
 Constructor without eoFlight nor eoInitializerBase.
virtual void operator() (eoPop< POT > &_pop)
 Apply a few iteration of flight to the population (=swarm).

Protected Attributes

eoInitializerBase< POT > & init
eoContinue< POT > & continuator
eoEvalFunc< POT > & eval
eoVelocity< POT > & velocity
eoFlight< POT > & flight
eoEasyPSO::eoDummyFlight dummyFlight
eoEasyPSO::eoDummyInitializer dummyInit

Detailed Description

template<class POT>
class eoEasyPSO< POT >

An easy-to-use particle swarm algorithm.

Use any particle, any flight, any topology...

The main steps are : (The population is expected to be already evaluated)

  • for each generation and each particle pi
  • evaluate the velocities -- perform the fligth of pi -- evaluate pi -- update the neighborhoods
Examples:
t-eoEasyPSO.cpp.

Definition at line 48 of file eoEasyPSO.h.


Constructor & Destructor Documentation

template<class POT>
eoEasyPSO< POT >::eoEasyPSO ( eoInitializerBase< POT > &  _init,
eoContinue< POT > &  _continuator,
eoEvalFunc< POT > &  _eval,
eoVelocity< POT > &  _velocity,
eoFlight< POT > &  _flight 
) [inline]

Full constructor.

Parameters:
_init- An eoInitializerBase that initializes the topology, velocity, best particle(s)
_continuator- An eoContinue that manages the stopping criterion and the checkpointing system
_eval- An eoEvalFunc: the evaluation performer
_velocity- An eoVelocity that defines how to compute the velocities
_flight- An eoFlight that defines how to make the particle flying: that means how to modify the positions according to the velocities

Definition at line 60 of file eoEasyPSO.h.

template<class POT>
eoEasyPSO< POT >::eoEasyPSO ( eoInitializerBase< POT > &  _init,
eoContinue< POT > &  _continuator,
eoEvalFunc< POT > &  _eval,
eoVelocity< POT > &  _velocity 
) [inline]

Constructor without eoFlight.

For special cases when the flight is performed withing the velocity.

Parameters:
_init- An eoInitializerBase that initializes the topology, velocity, best particle(s)
_continuator- An eoContinue that manages the stopping criterion and the checkpointing system
_eval- An eoEvalFunc: the evaluation performer
_velocity- An eoVelocity that defines how to compute the velocities

Definition at line 80 of file eoEasyPSO.h.

template<class POT>
eoEasyPSO< POT >::eoEasyPSO ( eoContinue< POT > &  _continuator,
eoEvalFunc< POT > &  _eval,
eoVelocity< POT > &  _velocity 
) [inline]

Constructor without eoFlight nor eoInitializerBase.

For special cases when the flight is performed withing the velocity.

Parameters:
_continuator- An eoContinue that manages the stopping criterion and the checkpointing system
_eval- An eoEvalFunc: the evaluation performer
_velocity- An eoVelocity that defines how to compute the velocities

Definition at line 118 of file eoEasyPSO.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Friends