1#ifndef DifferentialEvolution_h
2#define DifferentialEvolution_h
12class DifferentialEvolution :
public Algorithm
15 DifferentialEvolution();
19 void crossover(DemeP deme, uint index, StateP state);
26 SelectionOperatorP selRandomOp;
29typedef std::shared_ptr<DifferentialEvolution> DifferentialEvolutionP;
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).
std::vector< IndividualP > donor_vector
vector of donor solutions (individuals)
bool bounded_
constrained or not
void crossover(DemeP deme, uint index, StateP state)
cross donor vectors with population members to create trial vectors
double Fconst_
scaling constant
bool advanceGeneration(StateP state, DemeP deme)
Perform a single generation on a single deme.
void createDonorVectors(DemeP deme, StateP state)
create donor vectors (the same number as the population size)