Can anyone explain to me the benefits of the genetic algorithm compared to other traditional search and optimization methods?
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.
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
Advantages of GAs compared to conventional methods: 1. Parallelism, easily modified and adaptable to different problems 2. Easily distributed 3. Large and wide solution space search ability 4. Non-knowledge based optimisation process used of a fitness function for evaluation 5. Easy to discover global optimum and avoid trapping in local optima 6. Capable of multi-objective optimisation can return suite of potential solutions 7. Good choice for large scale/wide variety of optimisation problem