Population or single solution search-based optimization algorithms (i.e. meta,hyper-heuristics) in their original forms are usually designed for locating a single global solution, despite the existence of multiple optima in the search space. Representative examples include among others evolutionary and swarm intelligence algorithms. These search algorithms typically converge to a single solution because of the global selection scheme used. Nevertheless, many real-world problems are "multi-modal" by nature, i.e., multiple satisfactory solutions exist. In the presence of multiple global and local optimal solutions in a problem, it may be desirable to locate many such "satisfactory" solutions, or even all of them, so that a decision maker can choose one that is most proper in his/her problem domain. Identifying multiple optimal solutions might also provide valuable, and innovative, insights to the decision maker about the properties and the structure of the problem at hand, which is essential for a real-world optimization problem.
As such, given a multi-modal problem with multiple local/global optimal solutions, the main objective of a multi-modal optimization task is to locate as many as possible optimal solutions (global and local), in order to help the decision maker to acquire better knowledge about the different available optimal solutions of the problem at hand.
Numerous techniques have been developed in the past for locating multiple optima (global and/or local). These techniques are commonly referred to as "niching" methods. A niching method can be incorporated into a standard search-based optimization algorithm, in a sequential or concurrent way, to locate multiple optimal or suboptimal solutions. Sequential approaches locate optimal solutions progressively over time, while concurrent approaches promote and maintain formation of multiple stable subpopulations within a single population. Classic niching techniques include crowding, fitness sharing, derating, restricted tournament selection, clearing, speciation, etc. In more recent times, niching methods have also been developed for meta-heuristic algorithms such as Particle Swarm Optimization, Differential Evolution and Evolution Strategies.
Despite niching techniques first appearing more than 30 years ago (in the 1980s), we consider now niching techniques (or multi-modal optimization) is re-surging as an increasingly important research topic, attracting researchers from across a wide range of research fields, including Evolutionary Computation (EC) and Swarm Intelligence (SI). Considering its general applicability to a wide range of practical applications, multi-modal optimization can be identified and/or adopted in various optimization tasks such as continuous, combinatorial/discrete, constrained, dynamic, multi-objective, and bi-level optimization problems.