Genetic Algorithm 101

Genetic algorithm (GA) has been a popular technique in engineering optimization problems. It is grouped on evolutionary algorithm class together with genetic and evolutionary programming. GA’s main rivals are neural network and simulated annealing. And yes, the latter is based on annealing concept in metallurgy where heating and cooling are applied subsequently to control the crystal grain in order to reach a more ductile material. I will only talk about the GA for the following paragraph because it is the only method I have been working with.

"In the long history of humankind those who learned to collaborate and improvise most effectively have prevailed." Charles Darwin - The Descant of Man.

If you comprehend the meaning of the sentence above, you may understand the main idea already. In optimization process, we expect to get the best result of anything we want to optimize at the end of the result. That is the point of genetic algorithm, where natural selection and genetics take part in the process. Most prominent individual is expected to be selected and reproduce with each other in the population to generate the best offspring.  At the end of optimization process, best offspring should contains the best genes that will make a best fitness value.

Here is the equivalency:

EVOLUTION  : PROMINENT INDIVIDUAL

OPTIMIZATION : OPTIMUM RESULT

Several popular terms on Genetic Algorithm:

  1. Genes : components of an individual which bring each unique value
  2. Allele: value of gene
  3. Individual: consisting of many genes on its body that inherit unique traits
  4. Population: bunch of individuals which become the constraint of optimization area
  5. Mutation: arbitary change of gene which happened to several chosen individual and resulting whether positive or negative effect
  6. Selection: process that netting only the chosen individual with prominent attribute to involve in the next crossover process
  7. Generation: one process of generation including selection, crossover, and mutation. Several generations ought to be involved to reach optimum value
  8. Global optimum: maximum or minimum value of the problem we want to optimize

If someone wants to know the best way to reach Bangkok among some alternative ways, we optimize it to know the CHEAPEST way. At this case the parameters are maybe the ticket price, lenght of route, transit option.

If someone wants to know the best CNC machine parameters to produce best machine components, we optimize it to know the combination that gives the SHORTEST PROCESS TIME and MOST PRECISE. Parameters are cutting speed, cutter material, or process steps.

If I want to know the best thermal efficiency some cogeneration power plant could reach, I optimize it to obtain the working parameter of the fluids that gives the highest thermal efficiency. Parameters are the pressure and temperature of each working fluids.

On the GA term, the parameter that we want to optimize named Fitness. Depends on the objective, sometimes we want the lowest fitness or the highest fitness. Fitness symbolized the global value we want to reach upon optimization problem. Fitness itself symbolized some individual’s capability to survive in the population during the evolution process. During the optimization process, we expect the fitness in each generation will raise until the maximum it could reach. The fitness will be higher if best gen combinations are happening.

I will tell a brief about my project that apply genetic algorithm method for finding the best efficiency of a cogeneration power plant. Basically what I did is doing simulation with simultaneous variable changing to find which combination gives the best thermal efficiency of power plant. Variables that changed are the genes of individual, and for my case they are the state of working fluid on the plant. State of fluid can be described as the temperature or pressure of the fluid. Picture below is my plant subject for the optimization:

cogen
Cogeneration power plant

In this case, I set the optimization variables of six value of working fluid parameters. The sixes are modeled as the genes of individual. After several generation, individuals will evolve to more proficient one. So in the end, we will get the ‘best’  value that resulting higher efficiency.

That is a brief story about genetic algorithm, hope that can enlighten your mind about genetic algorithm.