Genetic algorithms (GAs) seek to solve optimization problems using the methods of evolution, specifically survival of the fittest. In a typical optimization problem, there are a number of variables that control the process, and a formula or algorithm that combines the variables to fully model the process. The problem is then to find the values of the variables that optimize the model in some way. If the model is a formula, then we will usually be seeking the maximum or minimum value of the formula.
For example, if your company has $100,000 to spend on different types of advertising such as TV, radio, and print, what is the best mix of the different types that will maximize sales? The dollars spent on each type of ad are the variables that control the process. A formula would be used to calculate sales dollars. The genetic algorithm would try different combinations of dollar values for each type of advertising until it found a combination that maximizes sales (as computed by the formula). A genetic algorithm, however, does not use an exhaustive search technique; it is much faster and more efficient than that.
There are many mathematical methods which can optimize problems of this nature (and very quickly) for fairly “well behaved” problems. These traditional methods tend to break down when the problem is not so well behaved. Examples of these types of problems include combinatorial problems, or problems where the fitness function is not a smooth, continuous mathematical formula.
Evolution and Genetic Algorithms
Before describing how a genetic algorithm can be applied to an optimization problem, let us draw the evolutionary parallel. The theory is that a population of a certain species will, after many generations, adapt to live better in its environment. For example, if the species is an animal that lives mainly in a swampy area, it may eventually evolve with webbed feet. The reason is that the members of this population, which we will call individuals, will tend to die if they are poor swimmers that cannot easily get food, and tend to live and reproduce if they are good swimmers. The offspring of two good swimmers will probably be good swimmers as well because they will usually carry genetic traits of their parents, such as slight webbing between the toes. These genetic traits are carried in chromosomes in the individuals.
Plant or animal breeders often use selective breeding techniques wherein they choose parents for breeding based upon the intensity of desirable traits with which the prospective parents are endowed. These breeders are using the same evolutionary techniques.
Topics of Interest:
How Does a Genetic Algorithm Work?
Why is a Genetic Algorithm Better Than Other Optimizers?
What Types of Problems Do Genetic Algorithms Solve?
How are Genetic Algorithms Used in the NeuroShell Trader Professional?