EvolvingObjects
|
Global crossover operator for ES genotypes. More...
#include <eoEsGlobalXover.h>
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< EOT > | sel |
eoBinOp< double > & | crossObj |
eoBinOp< double > & | crossMut |
Global crossover operator for ES genotypes.
-*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
----------------------------------------------------------------------------- eoEsGlobalXover.h : ES global crossover (c) Marc Schoenauer 2001
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Contact: marc.schoenauer@polytechnique.fr http://eeaax.cmap.polytchnique.fr/ Uses some Atom crossovers to handle both the object variables and the mutation strategy parameters
Definition at line 47 of file eoEsGlobalXover.h.
void eoEsGlobalXover< EOT >::apply | ( | eoPopulator< EOT > & | _plop | ) | [inline, virtual] |
modifies one parents in the populator using 2 new parents for each component!
_plop | a POPULATOR (not a simple population) |
Implements eoGenOp< EOT >.
Definition at line 70 of file eoEsGlobalXover.h.
References eoEsGlobalXover< EOT >::cross_self_adapt(), and eoPopulator< EOT >::source().
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 97 of file eoEsGlobalXover.h.
Referenced by eoEsGlobalXover< EOT >::apply().
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 109 of file eoEsGlobalXover.h.
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 124 of file eoEsGlobalXover.h.