In [[applied mathematics]], '''multimodal optimization''' deals with [[Mathematical optimization|optimization]] tasks that involve finding all or most of the multiple (at least locally optimal) solutions of a problem, as opposed to a single best solution.
Evolutionary multimodal optimization is a branch of [[Evolutionaryevolutionary computation]], which is closely related to [[Machinemachine learning]]. Wong provides a short survey,<ref>Wong, K. C. (2015), [http://arxiv.org/abs/1508.00457 Evolutionary Multimodal Optimization: A Short Survey] arXiv preprint arXiv:1508.00457</ref> wherein the chapter of Shir<ref>Shir, O.M. (2012), [http://link.springer.com/book/10.1007/978-3-540-92910-9 Niching in Evolutionary Algorithms]</ref> and the book of Preuss<ref>Preuss, Mike (2015), [http://www.springer.com/de/book/9783319074061 Multimodal Optimization by Means of Evolutionary Algorithms]</ref> cover the topic in more detail.
== Motivation ==
== Background ==
Classical techniques of optimization would need multiple restart points and multiple runs in the hope that a different solution may be discovered every run, with no guarantee however. [[Evolutionary algorithmsalgorithm]]s (EAs) due to their population based approach, provide a natural advantage over classical optimization techniques. They maintain a population of possible solutions, which are processed every generation, and if the multiple solutions can be preserved over all these generations, then at termination of the algorithm we will have multiple good solutions, rather than only the best solution. Note that, this is against the natural tendency of EAs, which will always converge to the best solution, or a sub-optimal solution (in a rugged, “badly behaving” function).''' Finding''' and '''maintenance''' of multiple solutions is wherein lies the challenge of using EAs for multi-modal optimization. '''Niching''' <ref>Mahfoud, S. W. (1995), "Niching methods for genetic algorithms"</ref> is a generic term referred to as the technique of finding and preserving multiple stable ''niches'', or favorable parts of the solution space possibly around multiple solutions, so as to prevent convergence to a single solution.
The field of [[Evolutionary algorithm]]s encompasses [[genetic algorithm]]s (GAs), [[evolution strategy]] (ES), [[differential evolution]] (DE), [[particle swarm optimization]] (PSO), and other methods. Attempts have been made to solve multi-modal optimization in all these realms and most, if not all the various methods implement niching in some form or the other.
== Multimodal optimization using Geneticgenetic algorithms/Evolutionevolution strategies ==
De Jong's crowding method, Goldberg’s sharing function approach, Petrowski’s clearing method, restricted mating, maintaining multiple subpopulations are some of the popular approaches that have been proposed by the community. The first two methods are especially well studied, however, they do not perform explicit separation into solutions belonging to different basins of attraction.
|