eoEsGlobalXover< EOT > Class Template Reference

-*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- 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 >

-*- 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/ 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(), EO< F >::invalidate(), 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 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 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, and eoEsFull< Fit >::stdevs.


The documentation for this class was generated from the following file:

Generated on Thu Jan 1 23:19:45 2009 for EvolvingObjects by  doxygen 1.5.5