Tutorial on genetic algorithms
GAs are very general in nature, and their simple application to any optimization problem would not be t give good results. In this section, we describe a few points that might help and aid a GA designer or GA producer in their work.
Introduce problem-specific domain knowledge
It has been observed that the more problem-specific domain knowledge that we are integrating into the GA; the best objective values we get. Addition of problem specific information can be done by using problem specific crossover or mutation operators, custom representations, etc.
The following image shows Michalewicz's (1990) view of EA -
Reduce the crowd
Overcrowding occurs when a perfectly matched chromosome reproduces a lot, and within a few generations the entire population.one is filled with similar solutions having a similar aptitude. This reduces the diversity which is a very crucial element to ensure the success of a GA. There are many ways to limit overpopulation. Some of them are -
Mutation to introduce
Switch to rank selection and tournament selection which have more selection pressure than selection proportional to physical form for individuals of similar physical form.
Fitness Sharing - In this case, the fitness of an individual is reduced if the population already contains similar individuals.
It has been observed experimentally that the best solutions are drawn by randomized chromosomes because they give
Hybridize GA with local search
Local search refers to checking the ons solution in the neighborhood of a given solution to find better objective values.
It can sometimes be useful to hybridize GA with local search. The following image shows the different places where local search can be introduced in an GA.
Variation of parameters and techniques
In genetic algorithms, there is no " one size fits all " or magic formula that works for all problems. Even after the initial GA is ready, it takes a lot of time and effort to play around with parameters like population size, mutation and probability of crossing, etc. to find the ones that are suitable for the particular problem.