Genetic algorithm (GA) is a meta-heuristic technique for solving optimization problems. The algorithm mimics the behavior of nature, such as evolution and survival of the fittest.
Basically, a population of n chromosomes are randomly created in the beginning. By applying operators, such as crossover and mutation, the population will be updated through many generations. Only the individuals with good fitness (i.e. the objective function) survive. Therefore, after M generations, the best individual (optimum set of design variables) can be found.
Each chromosome contains the information of one set of design variables, namely “genes”. For discrete variables, the chromosome is usually encoded into a series of binary numbers (other types of variables require different ways).
In short, the following steps are involved:
1. Initialize population and evaluate the fitness of every individuals
2. Perform crossovers
Crossover means swapping the genes of the parents to create the children.
3. Perform mutation
Mutation means the value of some gene will be modified.
4. Survival of the fittest
At this step, we should already have one set of parents (chromosomes from the previous generation) and one set of children (created from crossovers and mutation operators). All the chromosomes are sorted by fitness. Only the best ones are kept as the new generation.