Genetic Algorithm


Implementation 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.


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].