Ultra 0.9.4
Loading...
Searching...
No Matches
ultra::std_es< E > Class Template Reference

#include <evolution_strategy.h>

Inheritance diagram for ultra::std_es< E >:
ultra::evolution_strategy< E >

Public Member Functions

 std_es (const problem &, E &)
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
Public Member Functions inherited from ultra::evolution_strategy< E >
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)

Additional Inherited Members

Public Types inherited from ultra::evolution_strategy< E >
using evaluator_type = E
using fitness_t = evaluator_fitness_t<E>
using individual_t = evaluator_individual_t<E>
Static Public Member Functions inherited from ultra::evolution_strategy< E >
static parameters shape (const parameters &p)
Protected Member Functions inherited from ultra::evolution_strategy< E >
 evolution_strategy (const problem &, E &)
Static Protected Member Functions inherited from ultra::evolution_strategy< E >
template<LayeredPopulation P>
static bool valid_layer (P &, typename P::layer_iter)
Protected Attributes inherited from ultra::evolution_strategy< E >
E & eva_
const problem & prob_

Detailed Description

template<Evaluator E>
class ultra::std_es< E >

Standard evolution strategy.

Member Function Documentation

◆ operations() [1/4]

template<Evaluator E>
template<SizedRandomAccessPopulation P>
auto ultra::std_es< E >::operations ( P & pop,
const evolution_status< individual_t, fitness_t > & starting_status ) const
nodiscard

Assembles a standard evolutionary step.

Template Parameters
Ppopulation type
Parameters
[in]popthe population
[in]starting_statusevolutionary status snapshot
Returns
a callable performing one evolutionary step

Implements a steady-state evolutionary loop:

  • tournament selection;
  • recombination;
  • replacement within the same layer.

◆ operations() [2/4]

template<Evaluator E>
template<LayeredPopulation P>
auto ultra::std_es< E >::operations ( P & pop,
typename P::layer_iter iter,
const evolution_status< individual_t, fitness_t > & starting_status ) const
nodiscard

Assembles a standard evolutionary step for a layered population.

Template Parameters
Ppopulation type
Parameters
[in]popthe population
[in]iteriterator to the active layer
[in]starting_statusevolutionary status snapshot
Returns
a callable performing one evolutionary step
See also
operations() for linear populations.
Note
No cross-layer interaction occurs.

◆ operations() [3/4]

template<Evaluator E>
template<SizedRandomAccessPopulation P>
auto ultra::std_es< E >::operations ( P & pop,
const evolution_status< individual_t, fitness_t > & starting_status ) const

Assembles a standard evolutionary step.

Template Parameters
Ppopulation type
Parameters
[in]popthe population
[in]starting_statusevolutionary status snapshot
Returns
a callable performing one evolutionary step

Implements a steady-state evolutionary loop:

  • tournament selection;
  • recombination;
  • replacement within the same layer.

◆ operations() [4/4]

template<Evaluator E>
template<LayeredPopulation P>
auto ultra::std_es< E >::operations ( P & pop,
typename P::layer_iter iter,
const evolution_status< individual_t, fitness_t > & starting_status ) const

Assembles a standard evolutionary step for a layered population.

Template Parameters
Ppopulation type
Parameters
[in]popthe population
[in]iteriterator to the active layer
[in]starting_statusevolutionary status snapshot
Returns
a callable performing one evolutionary step
See also
operations() for linear populations.
Note
No cross-layer interaction occurs.

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