# Benefits of using genetic algorithm

Can anyone explain to me the benefits of the genetic algorithm compared to other traditional search and optimization methods?

• What kind of GA? Compared to what "traditional" methods? Without this, one may only say something like "Faster convergence and smaller danger of getting stuck in local optimum in some applications", same as for any other optimization method. – user88 Feb 19 '12 at 11:32

The main reasons to use a genetic algorithm are:

• there are multiple local optima
• the objective function is not smooth (so derivative methods can not be applied)
• the number of parameters is very large
• the objective function is noisy or stochastic

A large number of parameters can be a problem for derivative based methods when you don't have the definition of the gradient. In this type of situation, you can find a not-terrible solution via GA and then improve on that with the derivative based method. The definition of "large" is growing all the time.

• +1. I used to be enamored with GA's, but now tend to avoid them. It seems to me that they went through a hype phase, inspired a bunch of analogous-to-nature methods (ACO, etc) and then faded back into a niche. Sort of like Neural Nets, in my personal bias. (That said, I have used ES recently.) – Wayne Feb 19 '12 at 14:51
• Wayne, I agree. I tend to say "GA" for any evolutionary strategy, and mixing in other techniques is often a good idea as well. Traditional GAs are horribly inefficient. – Patrick Burns Feb 20 '12 at 9:01
• Concept is easy to understand
• Modular, separate from application
• Supports multi-objective
• optimization Good for “noisy” environments
• Inherently parallel; easily distributed
• In my work, the easy parallelization was the single most important factor in using a genetic algorithm rather than something like simulated annealing. – veryshuai Mar 22 '14 at 18:18

Genetic algorithms differ from traditional search and optimization methods in four significant points:

• Genetic algorithms search parallel from a population of points. Therefore, it has the ability to avoid being trapped in local optimal solution like traditional methods, which search from a single point.
• Genetic algorithms use probabilistic selection rules, not deterministic ones.
• Genetic algorithms work on the Chromosome, which is encoded version of potential solutions’ parameters, rather the parameters themselves.
• Genetic algorithms use fitness score, which is obtained from objective functions, without other derivative or auxiliary information

Genetic algorithms are kind of a last resort. They are useful only when an analytical solution is not feasible (see Patrick's answer for the most common reasons), and you have a lot of CPU time on your hands.