# Genetic Algorithm

`Evolutionary.GA`

— TypeImplementation of Genetic Algorithm

The constructor takes following keyword arguments:

`populationSize`

: The size of the population`crossoverRate`

: The fraction of the population at the next generation, not including elite children, that is created by the crossover function.`mutationRate`

: Probability of chromosome to be mutated`ɛ`

/`epsilon`

: Positive integer specifies how many individuals in the current generation are guaranteed to survive to the next generation. Floating number specifies fraction of population.`selection`

: Selection function (default:`tournament`

)`crossover`

: Crossover function (default:`genop`

)`mutation`

: Mutation function (default:`genop`

)`metrics`

is a collection of convergence metrics.

## Description

The Genetic Algorithm is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems by relying on biologically inspired operators such as Mutation, Crossover and Selection^{[1]}.