#include <evolution_strategy.h>
|
|
| de_es (const problem &, E &) |
|
template<Population P> |
| P * | refinement_subgroup (P &) const noexcept=delete |
| template<SizedRandomAccessPopulation P> |
| auto | operations (P &, const evolution_status< individual_t, fitness_t > &) const |
| template<LayeredPopulation P> |
| auto | operations (P &, typename P::layer_iter, const evolution_status< individual_t, fitness_t > &) const |
| template<SizedRandomAccessPopulation P> |
| auto | operations (P &pop, const evolution_status< individual_t, fitness_t > &starting_status) const |
| template<LayeredPopulation P> |
| auto | operations (P &pop, typename P::layer_iter iter, const evolution_status< individual_t, fitness_t > &starting_status) const |
| template<Population P> |
| void | init (P &) const |
| template<Population P> |
| P * | refinement_subgroup (P &) const noexcept |
| template<Population P> |
| void | after_generation (P &, const summary< individual_t, fitness_t > &) |
|
const problem & | get_problem () const noexcept |
| template<Population P> |
| std::size_t | max_parallelism (const P &) const noexcept |
|
template<LayeredPopulation P> |
| bool | valid_layer (P &pop, typename P::layer_iter iter) |
| template<Population P> |
| P * | refinement_subgroup (P &pop) const noexcept |
| template<Population P> |
| std::size_t | max_parallelism (const P &pop) const noexcept |
| template<Population P> |
| void | after_generation (P &pop, const summary< individual_t, fitness_t > &sum) |
|
|
using | evaluator_type = E |
|
using | fitness_t = evaluator_fitness_t<E> |
|
using | individual_t = evaluator_individual_t<E> |
| static parameters | shape (const parameters &p) |
| | evolution_strategy (const problem &, E &) |
|
template<LayeredPopulation P> |
| static bool | valid_layer (P &, typename P::layer_iter) |
|
E & | eva_ |
|
const problem & | prob_ |
template<Evaluator E>
class ultra::de_es< E >
Differential evolution strategy.
Implemented as described in https://github.com/morinim/ultra/wiki/bibliography#5.
◆ operations() [1/4]
template<Evaluator E>
template<SizedRandomAccessPopulation P>
Assembles a differential evolution step.
- Template Parameters
-
- Parameters
-
| [in] | pop | the population |
| [in] | starting_status | evolutionary status snapshot |
- Returns
- a callable performing one DE step
Implements differential evolution:
- selection produces both parents and a target individual;
- recombination generates a trial vector;
- replacement compares the trial against the target.
◆ operations() [2/4]
template<Evaluator E>
template<LayeredPopulation P>
| auto ultra::de_es< E >::operations |
( |
P & | pop, |
|
|
typename P::layer_iter | iter, |
|
|
const evolution_status< individual_t, fitness_t > & | starting_status ) const |
|
nodiscard |
Assembles a differential evolution step for a layered population.
- Template Parameters
-
- Parameters
-
| [in] | pop | the population |
| [in] | iter | iterator to the active layer |
| [in] | starting_status | evolutionary status snapshot |
- Returns
- a callable performing one DE step
- See also
- operations() for linear populations.
- Note
- Replacement is performed on the selected target only.
◆ operations() [3/4]
template<Evaluator E>
template<SizedRandomAccessPopulation P>
Assembles a differential evolution step.
- Template Parameters
-
- Parameters
-
| [in] | pop | the population |
| [in] | starting_status | evolutionary status snapshot |
- Returns
- a callable performing one DE step
Implements differential evolution:
- selection produces both parents and a target individual;
- recombination generates a trial vector;
- replacement compares the trial against the target.
◆ operations() [4/4]
template<Evaluator E>
template<LayeredPopulation P>
| auto ultra::de_es< E >::operations |
( |
P & | pop, |
|
|
typename P::layer_iter | iter, |
|
|
const evolution_status< individual_t, fitness_t > & | starting_status ) const |
Assembles a differential evolution step for a layered population.
- Template Parameters
-
- Parameters
-
| [in] | pop | the population |
| [in] | iter | iterator to the active layer |
| [in] | starting_status | evolutionary status snapshot |
- Returns
- a callable performing one DE step
- See also
- operations() for linear populations.
- Note
- Replacement is performed on the selected target only.
The documentation for this class was generated from the following files: