Differential evolution (DE) optimization algorithm (see e.g. http://en.wikipedia.org/wiki/Differential_evolution)DE algorithm accepts only a single FloatingPoint genotype (vector of real values). More...
#include <AlgDifferentialEvolution.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 | createDonorVectors (DemeP deme, StateP state) |
create donor vectors (the same number as the population size) | |
void | crossover (DemeP deme, uint index, StateP state) |
cross donor vectors with population members to create trial vectors | |
void | registerParameters (StateP state) |
Register algorithm's parameters (if any). | |
Protected Attributes | |
double | Fconst_ |
scaling constant | |
double | CR_ |
crossover rate | |
bool | bounded_ |
constrained or not | |
SelectionOperatorP | selRandomOp |
std::vector< IndividualP > | donor_vector |
vector of donor solutions (individuals) |
Differential evolution (DE) optimization algorithm (see e.g. http://en.wikipedia.org/wiki/Differential_evolution)
DE algorithm accepts only a single FloatingPoint genotype (vector of real values).
Definition at line 12 of file AlgDifferentialEvolution.h.
bool DifferentialEvolution::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 54 of file AlgDifferentialEvolution.cpp.
bool DifferentialEvolution::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 31 of file AlgDifferentialEvolution.cpp.
void DifferentialEvolution::registerParameters | ( | StateP | ) | [virtual] |
Register algorithm's parameters (if any).
Called by the system before algorithm initialization (Algorithm::initialize)
Reimplemented from Algorithm.
Definition at line 22 of file AlgDifferentialEvolution.cpp.