eoEsGlobalXover< EOT > Class Template Reference

Gloabl crossover operator for ES genotypes. More...

#include <eoEsGlobalXover.h>

Inheritance diagram for eoEsGlobalXover< EOT >:

eoGenOp< EOT > eoOp< EOType > eoUF< A1, R > eoFunctorBase List of all members.

Public Types

typedef EOT::Fitness FitT

Public Member Functions

 eoEsGlobalXover (eoBinOp< double > &_crossObj, eoBinOp< double > &_crossMut)
 (Default) Constructor.
virtual std::string className () const
 The class name. Used to display statistics.
unsigned max_production (void)
 The TOTAL number of offspring (here = nb of parents modified in place).
void apply (eoPopulator< EOT > &_plop)
 modifies one parents in the populator using 2 new parents for each component!

Private Member Functions

void cross_self_adapt (eoEsSimple< FitT > &_parent, const eoPop< eoEsSimple< FitT > > &_pop)
 Method for cross self-adaptation parameters.
void cross_self_adapt (eoEsStdev< FitT > &_parent, const eoPop< eoEsStdev< FitT > > &_pop)
 Method for cross self-adaptation parameters.
void cross_self_adapt (eoEsFull< FitT > &_parent, const eoPop< eoEsFull< FitT > > &_pop)
 Method for cross self-adaptation parameters.

Private Attributes

eoRandomSelect< EOTsel
eoBinOp< double > & crossObj
eoBinOp< double > & crossMut

Detailed Description

template<class EOT>
class eoEsGlobalXover< EOT >

Gloabl crossover operator for ES genotypes.

Uses some Atom crossovers to handle both the object variables and the mutation strategy parameters

Definition at line 44 of file eoEsGlobalXover.h.


Member Function Documentation

template<class EOT>
void eoEsGlobalXover< EOT >::apply ( eoPopulator< EOT > &  _plop  )  [inline, virtual]

modifies one parents in the populator using 2 new parents for each component!

Parameters:
_pop a POPULATOR (not a simple population)

Implements eoGenOp< EOT >.

Definition at line 67 of file eoEsGlobalXover.h.

References eoEsGlobalXover< EOT >::cross_self_adapt(), eoEsGlobalXover< EOT >::crossObj, EO< F >::invalidate(), eoEsGlobalXover< EOT >::sel, and eoPopulator< EOT >::source().

template<class EOT>
void eoEsGlobalXover< EOT >::cross_self_adapt ( eoEsSimple< FitT > &  _parent,
const eoPop< eoEsSimple< FitT > > &  _pop 
) [inline, private]

Method for cross self-adaptation parameters.

Specialization for eoEsSimple.

Definition at line 94 of file eoEsGlobalXover.h.

References eoEsGlobalXover< EOT >::crossMut, eoEsGlobalXover< EOT >::sel, and eoEsSimple< Fit >::stdev.

Referenced by eoEsGlobalXover< EOT >::apply().

template<class EOT>
void eoEsGlobalXover< EOT >::cross_self_adapt ( eoEsStdev< FitT > &  _parent,
const eoPop< eoEsStdev< FitT > > &  _pop 
) [inline, private]

Method for cross self-adaptation parameters.

Specialization for eoEsStdev.

Definition at line 106 of file eoEsGlobalXover.h.

References eoEsGlobalXover< EOT >::crossMut, eoEsGlobalXover< EOT >::sel, and eoEsStdev< Fit >::stdevs.

template<class EOT>
void eoEsGlobalXover< EOT >::cross_self_adapt ( eoEsFull< FitT > &  _parent,
const eoPop< eoEsFull< FitT > > &  _pop 
) [inline, private]

Method for cross self-adaptation parameters.

Specialization for eoEsFull.

Definition at line 121 of file eoEsGlobalXover.h.

References eoEsFull< Fit >::correlations, eoEsGlobalXover< EOT >::crossMut, eoEsGlobalXover< EOT >::sel, and eoEsFull< Fit >::stdevs.


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