EvolvingObjects
eoEsGlobalXover< EOT > Class Template Reference

Global crossover operator for ES genotypes. More...

#include <eoEsGlobalXover.h>

Inheritance diagram for eoEsGlobalXover< EOT >:
eoGenOp< EOT > eoOp< EOT > eoUF< eoPopulator< EOT > &, void > eoFunctorBase unary_function

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< EOT > sel
eoBinOp< double > & crossObj
eoBinOp< double > & crossMut

Detailed Description

template<class EOT>
class eoEsGlobalXover< EOT >

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.


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:
_plopa 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().

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 97 of file eoEsGlobalXover.h.

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 109 of file eoEsGlobalXover.h.

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 124 of file eoEsGlobalXover.h.


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