Evolutionary computing (EC) is anapt term for describing a range of problem-solving algorithms and it was inspiredby biological evolution. In other words, evolutionary computing refers to thebiological processes that allow populations of organisms to adapt to their surroundingenvironment, namely, genetic inheritance and natural selection (Tettamanzi and Tomassini, 2013). This biological process has specialadvantages as it is simple, powerful, domain free, and a probabilistic approachfor general problem solving.
In food science and technology, evolutionary computinghas been mostly utilized for solving optimization problems. The main ability ofevolutionary computing is due to its iterative progress mimicking growth ordevelopment in a population (Volna,2013). At first, an evolutionaryalgorithm starts with an initial population of randomly selected individuals.
Also, it can use a previously saved population or a population encoded forsolutions generated by a human expert or any other heuristic algorithm (Munakata,2008). In the case of geneticalgorithms, through a guided random search this population will be selectedthrough parallel processing for achieving the desired end. At the time that theinitial population is prepared, the evolutionary algorithm enters a loop.
Butthe population is not fixed during the processes and at the end of eachiteration a new population will be created as a result of a certain number ofstochastic operators on the previous population (Volna,2013). In the phenomenon of naturalselection, there is the production of variation by means of recombination andmutation, and rarely inversion, diploid and others. Most of the geneticalgorithms (GA) work with a large panmictic population in the recombination stagein which each individual may opt any other one as a mate. Once the populationof parents were extracted, the next generation using reproduction operators willbe produced.
Hence, GAs seek to find and maintain populations of potentialsolutions. A solution is considered as any value that can be a candidate forthe correct answer or even the final answer. Thus, a solution may or may not bethe final answer (Munakata,2008). The evaluation of each potentialsolution is performed by a payoff (or reward) function that assigns a scalarpayoff to any particular solution. Obviously, the better the solution is, thehigher the payoff will be. The common GA operators are crossover, mutation, andselection and survival of the fittest which determine the new child offspring (Chaturvedi,2008).