(mu/rho +/, lambda) - Evolution Strategy (ES) algorithm.This algorithm is genotype independent (it can be used with any Genotype). More...
#include <AlgEvolutionStrategy.h>
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_ |
(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.
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.