# DifferentialEvolution Class Reference [Algorithms, Sequential algorithms]

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>`

Inheritance diagram for DifferentialEvolution:

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 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)

## Detailed Description

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.

## Member Function Documentation

 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 58 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.

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