Public Member Functions | Static Protected Member Functions | Protected Attributes

EvolutionStrategy Class Reference
[AlgorithmsSequential algorithms]

(mu/rho +/, lambda) - Evolution Strategy (ES) algorithm.This algorithm is genotype independent (it can be used with any Genotype). More...

#include <AlgEvolutionStrategy.h>

Inheritance diagram for EvolutionStrategy:
Algorithm

List of all members.

Public Member Functions

bool advanceGeneration (StateP state, DemeP deme)
 Perform a single generation on a single deme.
bool initialize (StateP state)
 Initialize the algorithm, read parameters from the system, do a sanity check.
void registerParameters (StateP state)
 Register algorithm's parameters (if any).

Static Protected Member Functions

static bool compare (IndividualP first, IndividualP second)

Protected Attributes

uint lambda_
 number of offspring
uint rho_
 number of parents (1 or 2)
uint mu_
 the size of the parent population
uint subPopulations_
 how many parent populations are in a deme
bool plusSelection_
 type of selection (plus or comma)
SelectionOperatorP selBestOp_
SelectionOperatorP selRandomOp_

Detailed Description

(mu/rho +/, lambda) - Evolution Strategy (ES) algorithm.

This algorithm is genotype independent (it can be used with any Genotype).

The algorithm parameters are:

Since the ECF defines "population.size" independently of the algorithm, this implementation actually runs multiple ES parent populations; the population.size must therefore be a multiple of parent pool size (mu). For instance, if mu = 5 and population.size = 30, then 6 ES subpopulations will be executed (no migration).

The algorithm flow:

  subpopulations = population.size / mu;
  single generation {
   repeat(for every subpopulation) {
    add mu individuals to the parent pool;
    create lambda offspring using random rho parents for each;
	if comma selection 
	  create new parent pool with mu best from offspring pool;
    else
	  create new parent pool with mu best from offspring and parents pool;
   }
  }
 

Definition at line 40 of file AlgEvolutionStrategy.h.


Member Function Documentation

bool EvolutionStrategy::advanceGeneration ( StateP  ,
DemeP   
) [virtual]

Perform a single generation on a single deme.

Must be implemented by a specific algorithm class

Implements Algorithm.

Definition at line 87 of file AlgEvolutionStrategy.cpp.

bool EvolutionStrategy::initialize ( StateP   )  [virtual]

Initialize the algorithm, read parameters from the system, do a sanity check.

Called by the system before the algorithm starts (Algorithm::advanceGeneration)

Reimplemented from Algorithm.

Definition at line 33 of file AlgEvolutionStrategy.cpp.

void EvolutionStrategy::registerParameters ( StateP   )  [virtual]

Register algorithm's parameters (if any).

Called by the system before algorithm initialization (Algorithm::initialize)

Reimplemented from Algorithm.

Definition at line 20 of file AlgEvolutionStrategy.cpp.


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