[][src]Module genevo::operator

The operator module defines the types of genetic operators as traits. A genetic operator defines a function that performs a specific stage in the genetic algorithm. Each of these genetic operator can be implemented in variety of ways using different algorithms and methods.

The genetic operators are the building blocks of the genetic algorithm. Their different implementations can be combined in a variety of ways to make up the actual simulation of a specific problem.

Modules

prelude

Traits

CrossoverOp

A CrossoverOp defines a function of how to crossover two genetic::Genotypes, often called parent genotypes, to derive new genetic::Genotypes. It is analogous to reproduction and biological crossover. Cross over is a process of taking two parent solutions and producing an offspring solution from them.

GeneticOperator

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.

MultiObjective

Marker trait for genetic operators and functions that are used for multi-objective optimization.

MutationOp

A MutationOp defines a function of how a genetic::Genotype mutates. It is used to maintain genetic diversity from one generation of a population of genetic algorithm genotypes to the next. It is analogous to biological mutation. Mutation alters one or more gene values in a chromosome from its initial state. In mutation, the solution may change entirely from the previous solution. Hence GA can come to a better solution by using mutation. Mutation occurs during evolution according to a user-definable mutation probability. This probability should be set low. If it is set too high, the search will turn into a primitive random search.

ReinsertionOp

A ReinsertionOp defines a function that combines the offspring with the current population to create the population for the next generation. At the end the new population must be of the same size as the original population.

SelectionOp

A SelectionOp defines the function of how to select solutions for being the parents of the next generation.

SingleObjective

Marker trait for genetic operators and functions that are used for single-objective optimization.