In an Evolutionary Algorithm (EA) a number of artificial creatures, known as individuals and represented by fixed length strings or vectors, search over the problem’s solution space. Each individual encodes a single possible solution to the problem. EAs manipulate pools or populations of individuals. The EA is started with an initial population of size m comprising random individuals (every string is set using a random number generator). Every individual is assigned a fitness value based on the solution the individual’s string generates. Following this initial phase the main iterative cycle of the algorithm begins. Using mutation (perturbation) and recombination operators, the m individuals in the current population produce children. The children are assigned fitness scores. A new population of m individuals is then formed from the m individuals in the current population and the children. This new population becomes the current population and the iterative cycle is repeated. Fitter individuals are more likely selected on each iteration. The selection is applied either when choosing individuals to parent children or when choosing individuals to form a new population.