pub trait GeneticOperator: Clone {
    fn name() -> String;
}
Expand description

A GeneticOperator defines a function used to guide the genetic algorithm towards a solution to a given problem. There are three main types of operators - Selection, Crossover and Mutation - which must work in conjunction with one another in order for the algorithm to be successful.

There are unary operators that operate on one genotype at a time, e.g. mutation operators, and binary operators that work on two genotypes at a time, e.g. crossover operators.

Required methods

The name of the operator used for display purposes. The name should make clear to the user of the simulation which implementation of which kind of operator is being performed.

It is recommended to combine some name of the method implemented by this operator (first part) with some name for the kind of operator (second part), e.g. “Flip-Bit-Mutation” or “Roulette-Wheel-Selection”.

Implementors