This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
|
This is a chronologically ordered list of metaphor-based metaheuristics and swarm intelligence algorithms, sorted by decade of proposal.
Simulated annealing is a probabilistic algorithm inspired by annealing, a heat treatment method in metallurgy. It is often used when the search space is discrete (e.g., all tours that visit a given set of cities). For problems where finding the precise global optimum is less important than finding an acceptable local optimum in a fixed amount of time, simulated annealing may be preferable to alternatives such as gradient descent.
The analogue of the slow cooling of annealing is a slow decrease in the probability of simulated annealing accepting worse solutions as it explores the solution space. Accepting worse solutions is a fundamental property of metaheuristics because it allows for a more extensive search for the optimal solution.
The ant colony optimization algorithm is a probabilistic technique for solving computational problems that can be reduced to finding good paths through graphs. Initially proposed by Marco Dorigo in 1992 in his PhD thesis, [1] [2] the first algorithm aimed to search for an optimal path in a graph based on the behavior of ants seeking a path between their colony and a source of food. The original idea has since diversified to solve a wider class of numerical problems, and as a result, several problems[ example needed ] have emerged, drawing on various aspects of the behavior of ants. From a broader perspective, ACO performs a model-based search [3] and shares some similarities with the estimation of distribution algorithms.
Particle swarm optimization is a computational method that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality. It solves a problem by having a population of candidate solutions, dubbed particles, and moving these particles around in the search space according to simple mathematical formulae [ which? ] over the particle's position and velocity. Each particle's movement is influenced by its local best known position but is also guided toward the best-known positions in the search space, which are updated as better positions are found by other particles. This is expected to move the swarm toward the best solutions.
PSO is originally attributed to Kennedy, Eberhart and Shi [4] [5] and was first intended for simulating social behaviour [6] as a stylized representation of the movement of organisms in a bird flock or fish school. The algorithm was simplified, and it was observed to be performing optimization. The book by Kennedy and Eberhart [7] describes many philosophical aspects of PSO and swarm intelligence. An extensive survey of PSO applications is made by Poli. [8] [9] A comprehensive review of theoretical and experimental works on PSO has been published by Bonyadi and Michalewicz. [10]
Harmony search is a phenomenon-mimicking metaheuristic introduced in 2001 by Zong Woo Geem, Joong Hoon Kim, and G. V. Loganathan [11] and is inspired by the improvization process of jazz musicians. In the HS algorithm, a set of possible solutions is randomly generated (called Harmony memory). A new solution is generated by using all the solutions in the Harmony memory (rather than just two as used in GA) and if this new solution is better than the worst solution in Harmony memory, the worst solution gets replaced by this new solution. The effectiveness and advantages of HS have been demonstrated in various applications like design of municipal water distribution networks, [12] structural design, [13] load dispatch problem in electrical engineering, [14] multi-objective optimization, [15] rostering problems, [16] clustering, [17] and classification and feature selection. [18] [19] A detailed survey on applications of HS can be found. [20] [21] and applications of HS in data mining can be found in. [22]
Dennis (2015) claimed that harmony search is a special case of the evolution strategies algorithm. [23] However, Saka et al. (2016) argues that the structure of evolution strategies is different from that of harmony search. [24]
Artificial bee colony algorithm is a metaheuristic introduced by Karaboga in 2005 [25] which simulates the foraging behaviour of honey bees. The ABC algorithm has three phases: employed bee, onlooker bee and scout bee. In the employed bee and the onlooker bee phases, bees exploit the sources by local searches in the neighbourhood of the solutions selected based on deterministic selection in the employed bee phase and the probabilistic selection in the onlooker bee phase. In the scout bee phase, which is analogous to bees abandoning exhausted food sources in the foraging process, solutions that are not beneficial anymore for search progress are abandoned, and new solutions are inserted instead to explore new regions in the search space. The algorithm has a well-balanced[ weasel words ] exploration and exploitation ability.[ clarification needed ]
The bees algorithm was formulated by Pham and his co-workers in 2005 [26] and further refined in 2009. [27] Modelled on the foraging behaviour of honey bees, the algorithm combines global explorative search with local exploitative search. A small number of artificial bees (scouts) explores randomly the solution space (environment) for solutions of high fitness (highly profitable food sources), whilst the bulk of the population search (harvest) the neighbourhood of the fittest solutions looking for the fitness optimum. A deterministic recruitment procedure which simulates the waggle dance of biological bees is used to communicate the scouts' findings to the foragers and distribute the foragers depending on the fitness of the neighbourhoods selected for local search. Once the search in the neighbourhood of a solution stagnates, the local fitness optimum is considered to be found, and the site is abandoned.
The imperialist competitive algorithm (ICA), like most of the methods in the area of evolutionary computation, does not need the gradient of the function in its optimization process. From a specific point of view, ICA can be thought of as the social counterpart of genetic algorithms (GAs). ICA is the mathematical model and the computer simulation of human social evolution, while GAs is based on the biological evolution of species.
This algorithm starts by generating a set of random candidate solutions in the search space of the optimization problem. The generated random points are called the initial Countries. Countries in this algorithm are the counterpart of Chromosomes in GAs and Particles in Particle Swarm Optimization and it is an array of values of a candidate solution of optimization problem. The cost function of the optimization problem determines the power of each country. Based on their power, some of the best initial countries (the countries with the least cost function value), become Imperialists and start taking control of other countries (called colonies) and form the initial Empires. [28]
Two main operators of this algorithm are Assimilation and Revolution. Assimilation makes the colonies of each empire get closer to the imperialist state in the space of socio-political characteristics (optimization search space). Revolution brings about sudden random changes in the position of some of the countries in the search space. During assimilation and revolution, a colony might reach a better position and then have a chance to take the control of the entire empire and replace the current imperialist state of the empire. [29]
Imperialistic Competition is another part of this algorithm. All the empires try to win this game and take possession of colonies of other empires. In each step of the algorithm, based on their power, all the empires have a chance to take control of one or more of the colonies of the weakest empire. [28]
The algorithm continues with the mentioned steps (Assimilation, Revolution, Competition) until a stop condition is satisfied.
The above steps can be summarized as the below pseudocode: [30] [29]
0) Define objective function: 1) Initialization of the algorithm. Generate some random solution in the search space and create initial empires. 2) Assimilation: Colonies move towards imperialist states in different in directions. 3) Revolution: Random changes occur in the characteristics of some countries. 4) Position exchange between a colony and Imperialist. A colony with a better position than the imperialist, has the chance to take the control of empire by replacing the existing imperialist. 5) Imperialistic competition: All imperialists compete to take possession of colonies of each other. 6) Eliminate the powerless empires. Weak empires lose their power gradually and they will finally be eliminated. 7) If the stop condition is satisfied, stop, if not go to 2. 8) End
River formation dynamics is based on imitating how water forms rivers by eroding the ground and depositing sediments (the drops act as the swarm). After drops transform the landscape by increasing/decreasing the altitude of places, solutions are given in the form of paths of decreasing altitudes. Decreasing gradients are constructed, and these gradients are followed by subsequent drops to compose new gradients and reinforce the best ones. This heuristic optimization method was proposed in 2007 by Rabanal et al. [31] The applicability of RFD to other NP-complete problems has been studied, [32] and the algorithm has been applied to fields such as routing [33] and robot navigation. [34] The main applications of RFD can be found at the survey Rabanal et al. (2017). [35]
The gravitational search algorithm is based on the law of gravity and the notion of mass interactions. The GSA algorithm uses the theory of Newtonian physics and its searcher agents are the collection of masses. In GSA, there is an isolated system of masses. Using the gravitational force, every mass in the system can see the situation of other masses. The gravitational force is therefore a way of transferring information between different masses. [36] In GSA, agents are considered as objects and their performance is measured by their masses. All these objects attract each other by a gravity force, and this force causes movement of all objects towards the objects with heavier masses. Heavier masses correspond to better solutions of the problem. The position of the agent corresponds to a solution of the problem, and its mass is determined using a fitness function. By lapse of time, masses are attracted by the heaviest mass, which would ideally present an optimum solution in the search space. The GSA could be considered as a small artificial world of masses obeying the Newtonian laws of gravitation and motion. [37] A multi-objective variant of GSA, called MOGSA, was proposed by Hassanzadeh et al. in 2010. [38]
Bat algorithm is a swarm-intelligence-based algorithm, inspired by the echolocation behavior of microbats. BA automatically balances exploration (long-range jumps around the global search space to avoid getting stuck around one local maximum) with exploitation (searching in more detail around known good solutions to find local maxima) by controlling loudness and pulse emission rates of simulated bats in the multi-dimensional search space. [39]
The spiral optimization algorithm, inspired by spiral phenomena in nature, is a multipoint search algorithm that has no objective function gradient. It uses multiple spiral models that can be described as deterministic dynamical systems. As search points follow logarithmic spiral trajectories towards the common center, defined as the current best point, better solutions can be found, and the common center can be updated. [40]
Artificial swarm intelligence is a real-time closed-loop system of human users connected over the internet and structured in a framework modeled after natural swarms such that it evokes the group's collective wisdom as a unified emergent intelligence. [41] [42] In this way, human swarms can answer questions, make predictions, reach decisions, and solve problems by collectively exploring a diverse set of options and converging on preferred solutions in synchrony. Invented by Dr. Louis Rosenberg in 2014, the ASI methodology has been noted for its ability to make accurate collective predictions that outperform the individual members of the swarm. [43] In 2016, an Artificial Swarm Intelligence group from Unanimous A.I. was challenged by a reporter to predict the winners of the Kentucky Derby; it successfully picked the first four horses, in order, beating 540 to 1 odds. [44] [45]
Self-tuning metaheuristics have emerged as a significant advancement in the field of optimization algorithms in recent years, since fine tuning can be a very long and difficult process. [46] These algorithms differentiate themselves by their ability to autonomously adjust their parameters in response to the problem at hand, enhancing efficiency and solution quality. This self-tuning capability is particularly important in complex optimization scenarios where traditional methods may struggle due to rigid parameter settings.
While individual metaphor-inspired metaheuristics have produced remarkably effective solutions to specific problems, [47] metaphor-inspired metaheuristics in general have attracted criticism among researchers for hiding their lack of effectiveness or novelty behind elaborate metaphors. [47] [48] Kenneth Sörensen noted: [49]
In recent years, the field of combinatorial optimization has witnessed a true tsunami of "novel" metaheuristic methods, most of them based on a metaphor of some natural or man-made process. The behavior of virtually any species of insects, the flow of water, musicians playing together – it seems that no idea is too far-fetched to serve as inspiration to launch yet another metaheuristic. [I] will argue that this line of research is threatening to lead the area of metaheuristics away from scientific rigor.
Sörensen and Glover stated: [50]
A large (and increasing) number of publications focuses on the development of (supposedly) new metaheuristic frameworks based on metaphors. The list of natural or man-made processes that has been used as the basis for a metaheuristic framework now includes such diverse processes as bacterial foraging, river formation, biogeography, musicians playing together, electromagnetism, gravity, colonization by an empire, mine blasts, league championships, clouds, and so forth. An important subcategory is found in metaheuristics based on animal behavior. Ants, bees, bats, wolves, cats, fireflies, eagles, dolphins, frogs, salmon, vultures, termites, flies, and many others, have all been used to inspire a "novel" metaheuristic. [...] As a general rule, publication of papers on metaphor-based metaheuristics has been limited to second-tier journals and conferences, but some recent exceptions to this rule can be found. Sörensen (2013) states that research in this direction is fundamentally flawed. Most importantly, the author contends that the novelty of the underlying metaphor does not automatically render the resulting framework "novel". On the contrary, there is increasing evidence that very few of the metaphor-based methods are new in any interesting sense.
In response, Springer's Journal of Heuristics has updated their editorial policy to state: [51]
Proposing new paradigms is only acceptable if they contain innovative basic ideas, such as those that are embedded in classical frameworks like genetic algorithms, tabu search, and simulated annealing. The Journal of Heuristics avoids the publication of articles that repackage and embed old ideas in methods that are claimed to be based on metaphors of natural or manmade systems and processes. These so-called "novel" methods employ analogies that range from intelligent water drops, musicians playing jazz, imperialist societies, leapfrogs, kangaroos, all types of swarms and insects and even mine blast processes (Sörensen, 2013). If a researcher uses a metaphor to stimulate his or her own ideas about a new method, the method must nevertheless be translated into metaphor-free language, so that the strategies employed can be clearly understood, and their novelty is made clearly visible. (See items 2 and 3 below.) Metaphors are cheap and easy to come by. Their use to "window dress" a method is not acceptable."
[...] Implementations should be explained by employing standard optimization terminology, where a solution is called a "solution" and not something else related to some obscure metaphor (e.g., harmony, flies, bats, countries, etc.).
[...] The Journal of Heuristics fully endorses Sörensen's view that metaphor-based “novel” methods should not be published if they cannot demonstrate a contribution to their field. Renaming existing concepts does not count as a contribution. Even though these methods are often called “novel”, many present no new ideas, except for the occasional marginal variant of an already existing methodology. These methods should not take the journal space of truly innovative ideas and research. Since they do not use the standard optimization vocabulary, they are unnecessarily difficult to understand.
The policy of Springer's journal 4OR - A Quarterly Journal of Operations Research states: [52]
The emphasis on scientific rigor and on innovation implies, in particular, that the journal does not publish articles that simply propose disguised variants of known methods without adequate validation (e.g., metaheuristics that are claimed to be "effective" on the sole basis of metaphorical comparisons with natural or artificial systems and processes). New methods must be presented in metaphor-free language by establishing their relationship with classical paradigms. Their properties must be established on the basis of scientifically compelling arguments: mathematical proofs, controlled experiments, objective comparisons, etc.
The ACM Transactions on Evolutionary Learning Optimization and the Evolutionary Computation journal also include similar statements. [53] [54]
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems via biologically inspired operators such as selection, crossover, and mutation. Some examples of GA applications include optimizing decision trees for better performance, solving sudoku puzzles, hyperparameter optimization, and causal inference.
In computational intelligence (CI), an evolutionary algorithm (EA) is a subset of evolutionary computation, a generic population-based metaheuristic optimization algorithm. An EA uses mechanisms inspired by biological evolution, such as reproduction, mutation, recombination and selection. Candidate solutions to the optimization problem play the role of individuals in a population, and the fitness function determines the quality of the solutions. Evolution of the population then takes place after the repeated application of the above operators.
In computer science, evolutionary computation is a family of algorithms for global optimization inspired by biological evolution, and the subfield of artificial intelligence and soft computing studying these algorithms. In technical terms, they are a family of population-based trial and error problem solvers with a metaheuristic or stochastic optimization character.
In computational science, particle swarm optimization (PSO) is a computational method that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality. It solves a problem by having a population of candidate solutions, here dubbed particles, and moving these particles around in the search-space according to simple mathematical formulae over the particle's position and velocity. Each particle's movement is influenced by its local best known position, but is also guided toward the best known positions in the search-space, which are updated as better positions are found by other particles. This is expected to move the swarm toward the best solutions.
In computer science and operations research, the ant colony optimization algorithm (ACO) is a probabilistic technique for solving computational problems that can be reduced to finding good paths through graphs. Artificial ants represent multi-agent methods inspired by the behavior of real ants. The pheromone-based communication of biological ants is often the predominant paradigm used. Combinations of artificial ants and local search algorithms have become a preferred method for numerous optimization tasks involving some sort of graph, e.g., vehicle routing and internet routing.
Swarm intelligence (SI) is the collective behavior of decentralized, self-organized systems, natural or artificial. The concept is employed in work on artificial intelligence. The expression was introduced by Gerardo Beni and Jing Wang in 1989, in the context of cellular robotic systems.
Metaheuristic in computer science and mathematical optimization is a higher-level procedure or heuristic designed to find, generate, tune, or select a heuristic that may provide a sufficiently good solution to an optimization problem or a machine learning problem, especially with incomplete or imperfect information or limited computation capacity. Metaheuristics sample a subset of solutions which is otherwise too large to be completely enumerated or otherwise explored. Metaheuristics may make relatively few assumptions about the optimization problem being solved and so may be usable for a variety of problems. Their use is always of interest when exact or other (approximate) methods are not available or are not expedient, either because the calculation time is too long or because, for example, the solution provided is too imprecise.
In evolutionary computation, differential evolution (DE) is a method that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality. Such methods are commonly known as metaheuristics as they make few or no assumptions about the optimized problem and can search very large spaces of candidate solutions. However, metaheuristics such as DE do not guarantee an optimal solution is ever found.
A memetic algorithm (MA) in computer science and operations research, is an extension of the traditional genetic algorithm (GA) or more general evolutionary algorithm (EA). It may provide a sufficiently good solution to an optimization problem. It uses a suitable heuristic or local search technique to improve the quality of solutions generated by the EA and to reduce the likelihood of premature convergence.
Search-based software engineering (SBSE) applies metaheuristic search techniques such as genetic algorithms, simulated annealing and tabu search to software engineering problems. Many activities in software engineering can be stated as optimization problems. Optimization techniques of operations research such as linear programming or dynamic programming are often impractical for large scale software engineering problems because of their computational complexity or their assumptions on the problem structure. Researchers and practitioners use metaheuristic search techniques, which impose little assumptions on the problem structure, to find near-optimal or "good-enough" solutions.
Cultural algorithms (CA) are a branch of evolutionary computation where there is a knowledge component that is called the belief space in addition to the population component. In this sense, cultural algorithms can be seen as an extension to a conventional genetic algorithm. Cultural algorithms were introduced by Reynolds (see references).
In computer science and operations research, the artificial bee colony algorithm (ABC) is an optimization algorithm based on the intelligent foraging behaviour of honey bee swarm, proposed by Derviş Karaboğa in 2005.
A hyper-heuristic is a heuristic search method that seeks to automate, often by the incorporation of machine learning techniques, the process of selecting, combining, generating or adapting several simpler heuristics to efficiently solve computational search problems. One of the motivations for studying hyper-heuristics is to build systems which can handle classes of problems rather than solving just one problem.
In mathematical optimization, the firefly algorithm is a metaheuristic proposed by Xin-She Yang and inspired by the flashing behavior of fireflies.
Meta-optimization from numerical optimization is the use of one optimization method to tune another optimization method. Meta-optimization is reported to have been used as early as in the late 1970s by Mercer and Sampson for finding optimal parameter settings of a genetic algorithm.
The Bat algorithm is a metaheuristic algorithm for global optimization. It was inspired by the echolocation behaviour of microbats, with varying pulse rates of emission and loudness. The Bat algorithm was developed by Xin-She Yang in 2010.
In computer science, imperialist competitive algorithms are a type of computational method used to solve optimization problems of different types. Like most of the methods in the area of evolutionary computation, ICA does not need the gradient of the function in its optimization process. From a specific point of view, ICA can be thought of as the social counterpart of genetic algorithms (GAs). ICA is the mathematical model and the computer simulation of human social evolution, while GAs are based on the biological evolution of species.
The Fly Algorithm is a computational method within the field of evolutionary algorithms, designed for direct exploration of 3D spaces in applications such as computer stereo vision, robotics, and medical imaging. Unlike traditional image-based stereovision, which relies on matching features to construct 3D information, the Fly Algorithm operates by generating a 3D representation directly from random points, termed "flies." Each fly is a coordinate in 3D space, evaluated for its accuracy by comparing its projections in a scene. By iteratively refining the positions of flies based on fitness criteria, the algorithm can construct an optimized spatial representation. The Fly Algorithm has expanded into various fields, including applications in digital art, where it is used to generate complex visual patterns.
This is a chronological table of metaheuristic algorithms that only contains fundamental computational intelligence algorithms. Hybrid algorithms and multi-objective algorithms are not listed in the table below.
Maurice Clerc is a French mathematician.