peoEA(3)

NAME
peoEA - The peoEA class offers an elementary evolutionary algorithm implementation.

SYNOPSIS

#include <peoEA.h>

Inherits Runner.

  Public Member Functions
peoEA (eoContinue< EOT > &__cont, peoPopEval< EOT > &__pop_eval, eoSelect< EOT > &__select, peoTransform< EOT > &__trans, eoReplacement< EOT > &__replace)
Constructor for the evolutionary algorithm object - several basic parameters have to be specified, allowing for different levels of parallelism.
void run ()
Evolutionary algorithm function - a side effect of the fact that the class is derived from the Runner class, thus requiring the existence of a run function, the algorithm being executed on a distinct thread.
void operator() (eoPop< EOT > &__pop)
Function operator for specifying the population to be associated with the algorithm.

  Private Attributes
eoContinue< EOT > & cont
peoPopEval< EOT > & pop_eval
eoSelect< EOT > & select
peoTransform< EOT > & trans
eoReplacement< EOT > & replace
eoPop< EOT > * pop

Detailed Description

  template<class EOT> class peoEA< EOT >
The peoEA class offers an elementary evolutionary algorithm implementation. In addition, as compared with the algorithms provided by the EO framework, the peoEA class has the underlying necessary structure for including, for example, parallel evaluation and parallel transformation operators, migration operators etc. Although there is no restriction on using the algorithms provided by the EO framework, the drawback resides in the fact that the EO implementation is exclusively sequential and, in consequence, no parallelism is provided. A simple example for constructing a peoEA object:

Definition at line 69 of file peoEA.h.

Constructor & Destructor Documentation

  template<class EOT> peoEA< EOT >::peoEA (eoContinue< EOT > & __cont, peoPopEval< EOT > & __pop_eval, eoSelect< EOT > & __select, peoTransform< EOT > & __trans, eoReplacement< EOT > & __replace)

Constructor for the evolutionary algorithm object - several basic parameters have to be specified, allowing for different levels of parallelism.

Depending on the requirements, a sequential or a parallel evaluation operator may be specified or, in the same manner, a sequential or a parallel transformation operator may be given as parameter. Out of the box objects may be provided, from the EO package, for example, or custom defined ones may be specified, provided that they are derived from the correct base classes.

Parameters:
    eoContinue< EOT >& __cont - continuation criterion specifying whether the algorithm should continue or not;
    peoPopEval< EOT >& __pop_eval - evaluation operator; it allows the specification of parallel evaluation operators, aggregate evaluation functions, etc.;
    eoSelect< EOT >& __select - selection strategy to be applied for constructing a list of offspring individuals;
    peoTransform< EOT >& __trans - transformation operator, i.e. crossover and mutation; allows for sequential or parallel transform;
    eoReplacement< EOT >& __replace - replacement strategy for integrating the offspring individuals in the initial population;

Definition at line 113 of file peoEA.h.

References peoEA< EOT >::pop_eval, and peoEA< EOT >::trans.

Member Function Documentation

  template<class EOT> void peoEA< EOT >::operator() (eoPop< EOT > & __pop)

Function operator for specifying the population to be associated with the algorithm.

Parameters:
    eoPop< EOT >& __pop - initial population of the algorithm, to be iteratively evolved;

Definition at line 129 of file peoEA.h.

References peoEA< EOT >::pop.

Author

Generated automatically by Doxygen for ParadisEO from the source code.