13#if !defined(VITA_EVOLUTION_STRATEGY_H)
14#define VITA_EVOLUTION_STRATEGY_H
43 template<
class>
class SS,
44 template<
class>
class CS,
45 template<
class>
class RS>
50 : selection(pop, eva, *s), recombination(pop, eva, s),
51 replacement(pop, eva), pop_(pop), sum_(s)
75 static constexpr bool is_alps =
79 static constexpr bool is_de =
135template<
class T,
template<
class>
class CS>
142 using basic_alps_es::evolution_strategy::evolution_strategy;
144 void log_strategy(
unsigned,
unsigned)
const;
145 void after_generation();
157 selection::tournament,
159 replacement::tournament>
162 using std_es::evolution_strategy::evolution_strategy;
164 bool stop_condition()
const;
176 replacement::tournament>
179 using de_es::evolution_strategy::evolution_strategy;
192 using de_alps_es::basic_alps_es::basic_alps_es;
195#include "kernel/evolution_strategy.tcc"
Differential evolution strategy enhanced with ALPS.
Differential evolution strategy.
Context object aggregating multiple related parameters into one structure.
Calculates the fitness of an individual.
Defines the skeleton of the evolution, deferring some steps to client subclasses.
void after_generation() const
Work to be done at the end of a generation.
bool stop_condition() const
Used to signal strategy specific stop conditions.
void log_strategy(unsigned, unsigned) const
Evolution strategy specific log function (it's called by the evolution::log method).
static environment shape(const environment &env)
Sets strategy-specific parameters.
void init() const
Initial setup performed before evolution starts.
A group of individuals which may interact together (for example by mating) producing offspring.
This is based on the differential evolution four members crossover.
ALPS based replacement scheme.
Alps selection as described in https://github.com/ghornby/alps (see also vita::basic_alps_es for furt...
Standard evolution strategy.
A summary of evolution (results, statistics...).
The main namespace for the project.