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

#include <evolution_recombination.h>

Inheritance diagram for ultra::recombination::strategy< E >:
ultra::recombination::base< E >

Public Types

using scored_t

Public Member Functions

 strategy (E &, const problem &)

Protected Attributes

E & eva_
const problem & prob_

Detailed Description

template<Evaluator E>
class ultra::recombination::strategy< E >

The operation strategy (crossover, recombination, mutation...) adopted in the evolution class.

A recombination acts upon sets of individuals to generate offspring (this definition generalizes the traditional mutation and crossover operators).

Operator application is atomic from the point of view of the evolutionary algorithm and every recombination is applied to a well defined list of individuals, without dependencies upon past history.

In the strategy design pattern, this class is the strategy interface and ultra::evolution is the context.

This is an abstract class: introduction of new operators or redefinition of existing ones is obtained implementing recombination::strategy.

See also

Member Typedef Documentation

◆ scored_t

template<Evaluator E>
using ultra::recombination::strategy< E >::scored_t
Initial value:
Definition scored_individual.h:48

Constructor & Destructor Documentation

◆ strategy()

template<Evaluator E>
strategy::strategy ( E & eva,
const problem & prob )
Parameters
[in]evaa fitness function
[in]probthe current problem
Warning
The lifetime of eva must exceed lifetime of this class.

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