eoVariableInertiaWeightedVelocity< POT > Class Template Reference

Inertia variable weighted based velocity performer. More...

#include <eoVelocity.h>

Inheritance diagram for eoVariableInertiaWeightedVelocity< POT >:

eoVelocity< POT > eoUF< POT &, void > eoFunctorBase List of all members.

Public Member Functions

 eoVariableInertiaWeightedVelocity (eoSingleParticleArchive< POT > &_archive, eoRealVectorBounds &_bounds, eoValueParam< unsigned > &_genCounter, const unsigned _maxGen, const double _c1=0.5, const double _c2=0.9, eoRng &_gen=rng)
 Constructor: Only one global best is given thanks to an eoSingleParticleArchive.
 eoVariableInertiaWeightedVelocity (const double _c1, const double _c2, eoValueParam< unsigned > &_genCounter, const unsigned _maxGen, eoSingleParticleArchive< POT > &_archive, eoRng &_gen=rng)
 Constructor: Only one global best is given thanks to an eoSingleParticleArchive.
void operator() (POT &_po)
 The pure virtual function that needs to be implemented by the subclass.

Protected Attributes

const double c1
const double c2
eoValueParam< unsigned > & genCounter
const unsigned maxGen
eoParticleArchive< POT > & archive
eoRnggen
eoRealVectorBoundsbounds

Detailed Description

template<class POT>
class eoVariableInertiaWeightedVelocity< POT >

Inertia variable weighted based velocity performer.

Derivated from abstract eoVelocity, At step t+1 : v(t+1)= w * v(t) + delta1 * ( xbest(t)-x(t) ) + delta2 * ( gbest(t) - x(t) ) with delta1= c1 * R1 and delta2= c2 * R2 (ci and w given; Ri chosen at random in [0;1])

Definition at line 180 of file eoVelocity.h.


Constructor & Destructor Documentation

template<class POT>
eoVariableInertiaWeightedVelocity< POT >::eoVariableInertiaWeightedVelocity ( eoSingleParticleArchive< POT > &  _archive,
eoRealVectorBounds _bounds,
eoValueParam< unsigned > &  _genCounter,
const unsigned  _maxGen,
const double  _c1 = 0.5,
const double  _c2 = 0.9,
eoRng _gen = rng 
) [inline]

Constructor: Only one global best is given thanks to an eoSingleParticleArchive.

Also needs c1 and c2 coefficients and an eoValueParam for the inertia weight.

Parameters:
_archive The archive that stored the swarm's global best
_bounds - An eoRealVectorBounds: bounds for the velocities
_genCounter The generation counter used to perform the inertia weight
_maxGen The maximum number of iterations.
_c1 The particle best coeff as a double, default=0.5
_c2 The global best coeff ad a double, default=0.9
_gen The eo random generator, default=rng

Definition at line 195 of file eoVelocity.h.

template<class POT>
eoVariableInertiaWeightedVelocity< POT >::eoVariableInertiaWeightedVelocity ( const double  _c1,
const double  _c2,
eoValueParam< unsigned > &  _genCounter,
const unsigned  _maxGen,
eoSingleParticleArchive< POT > &  _archive,
eoRng _gen = rng 
) [inline]

Constructor: Only one global best is given thanks to an eoSingleParticleArchive.

Also needs c1 and c2 coefficients and an eoValueParam for the inertia weight. No bounds.

Parameters:
_c1 The particle best coeff as a double
_c2 The global best coeff ad a double
_genCounter The generation counter used to perform the inertia weight
_maxGen The maximum number of iterations.
_archive The archive that stored the swarm's global best
_gen The eo random generator, default=rng

Definition at line 207 of file eoVelocity.h.


The documentation for this class was generated from the following file:
Generated on Thu Apr 19 11:02:34 2007 for EO by  doxygen 1.4.7