The metaheuristic train a family of algorithms of optimization aiming at solving problems of difficult optimization (often resulting from the fields of the Operations research, Ingénierie or Artificial intelligence) for which one does not know more effective traditional method.
The métaheuristiques ones are generally iterative algorithms Stochastique S, which progress towards a total optimum, i.e. the total extremum of a function, by sampling of a function objective. They behave like algorithms of research, trying to learn how the characteristics from a problem in order to find an approximation of the best solution of it (in a way close to the algorithms of approximation).
There exists a great number of metaheuristic different, energy of the simple local research to complex algorithms of total research. These methods use an high level of abstraction however, enabling them to be adapted to a broad range of different problems.
One speaks about méta , of the Greek “beyond” (to include/understand here “with more an high level”), heuristic , of the Greek ευρισκειν/ heuriskein , which means “to find”. Indeed, these algorithms want to be generic methods being able to optimize a broad range of different problems, without requiring deep changes in the algorithm employed.
A slightly different terminology considers that the méta-heuristic are the shape of algorithms of stochastic optimization, hybrids with a local research. The term méta is thus taken with the direction where the algorithms can gather several Heuristique S. One primarily meets this definition in the literature concerning the algorithms évolutionnaires, where it is used to indicate a specialization. Within the framework of the first terminology, a hybrid Algorithme évolutionnaire with a local research will be rather indicated under the term of algorithm memetic .
The métaheuristiques ones are often inspired by natural systems, which they are taken in Physique (case of the Recuit simulated), in Biologie of the evolution (case of the genetic algorithms) or in ethology (case of the algorithms of colonies of ants or of the Optimization by particulate swarms).
The goal of métaheuristique is to solve a given problem of Optimization: she seeks a mathematical object (a Permutation, a Vecteur, etc) minimizing (or maximizing) a function objective , which describes the quality of a solution with the problem.
The whole of the possible solutions forms the space of research . The space of research is at least limited, but can be also limited by a whole of forced .
The métaheuristiques ones handle one or more solutions, with the research of the optimum , the best solution with the problem. The successive iterations must make it possible to pass from a solution of bad quality to the optimal solution. The algorithm stops after having reached a criterion of stop , generally consisting of the attack of the assigned execution time or of a required precision.
A solution or a whole of solutions is sometimes called a state , that the métaheuristique one makes evolve/move via transitions or movements . If a new solution is built starting from an existing solution, it is its close . The choice of the vicinity and the structure of data the representative can be crucial.
When a solution is associated with only one value, one speaks about problem mono-objective , when it is associated with several values, of problem multi-objectives (or multi-criteria ). In this last case, one seeks a whole of not dominated solutions (the “face of Pareto”), solutions among which one can decide if a solution is better than another, none not being systematically lower than the others on all the objectives.
In certain cases, the sought-after goal is explicitly to find a whole of “satisfactory” optima. The algorithm must then find the whole of the solutions of good quality, without necessarily limiting itself to the only optimum: one speaks about multimode methods .
The métaheuristiques ones do not require particular knowledge on the problem optimized to function, the fact of being able to associate one (or several) values with a solution is the only necessary information.
In practice, they should be used only on problems not being able to be optimized by mathematical methods. Used instead of Heuristic S specialized, they generally show less good performances.
The métaheuristiques ones are often employed in optimization Combinatoire, but one also meets of it for continuous or mixed problems (problems with discrete and continuous variables ).
Certain metaheuristic are theoretically “convergent” under certain conditions. It is then guaranteed that the total optimum will be found in a finished time, the probability this of making increasing asymptotically with time. This guarantee amounts considering that the algorithm behaves at worst the like a pure random research (probability of trying all the solutions tending towards 1). However, the requirements are seldom checked within the framework of real applications. In practice, the principal condition of convergence is to consider that the algorithm is ergodic (that it can reach any solution with each movement), but one is often satisfied quasi - ergodicity (if the métaheuristique one can reach any solution in a finished number of movements).
Generally, the métaheuristiques ones are articulated around several concepts:
The vicinity of a solution is a subset of solutions which it is possible to reach by a series of transformations given. Sometimes by extension one indicates by the term “vicinity” the whole of the transformations considered.
A simple vicinity for the Problème of the sales representative will be, for example, the whole of the solutions which it is possible to build by permuting two cities in a given solution.
The concept of vicinity is undoubtedly the general principle more used for the designs of heuristic. For the combinative problems, the vicinity has an significant impact on the behavior of the métaheuristiques ones, whereas for continuous problems, the concept even of vicinity is more difficult to encircle.
Although there only exists very little of theoretical results on the adequacy between a vicinity and a given discrete problem, it can be possible to calculate empirical indicators of them, like the roughness . The most traditional techniques concerning the definition of a vicinity turn around the concepts of Permutation S, of chains of ejections and partial optimizations.
The diversification (or exploration, synonym used almost indifferently in the literature of the algorithms évolutionnaires) indicates the processes aiming at collecting information on the optimized problem. The intensification (or exploitation) aims at using information already collected to define and traverse the interesting zones of the Espace of research. The memory is the support of the training, which makes it possible the algorithm to hold account only zones where the total optimum is likely to be, thus avoiding the local optima.
The métaheuristiques ones progress in an iterative way, by alternating phases of intensification, diversification and training, or by mélant these concepts more closely. The starting state is often by chance selected, the algorithm proceeding then until a criterion of stop is reached.
The concepts of intensification and diversifications are dominating in the design of the métaheuristiques ones, which must reach a delicate balance between these two dynamic of research. The two concepts are thus not contradictory, but complementary, and there exist many strategies mélant at the same time one and the other of the aspects.
Metaheuristic the most traditional is those founded on the concept of course. Accordingly, the algorithm makes evolve/move only one solution on the space of research to each iteration. The concept of Voisinage is then paramount.
Most known in this class are the Recuit simulated, the Recherche with taboos, the Recherche with variable vicinity, the method GRASP or the method of sound effects.
In this classification, the other approach uses the concept of population. The métaheuristique one handles a whole of solutions in parallel, with each iteration.
One can quote the genetic algorithms, the Optimization by particulate swarms, the algorithms of colonies of ants.
The border is sometimes fuzzy between these two classes. One can thus consider that a simulated annealing where the temperature drops by stages, has a structure with population. Indeed, in this case one handles a whole of points to each stage, it acts simply of a particular sampling procedure.
The métaheuristiques ones use the history of their research to guide optimization with the following iterations.
In the simplest case, they are limited to consider the state of research to an iteration given to determine the next iteration: it is then about a Markovian Decision-making process, and one will speak about method without memory . It is the case of the majority of the methods of local research.
Many metaheuristic use a more advanced memory, than it is on the short term (solutions visited recently, for example) or on the long run (memorizing of a whole of synthetic parameters describing research).
The majority of metaheuristic use the function objective in the state, and make evolve/move their behavior of research of the optimum. However, certain algorithms, like the guided Local research, modify the representation of the problem, by incorporating the information collected during research, directly within the function objective.
It is thus possible to classify the métaheuristiques ones according to whether they use a static function objective (which remains unchanged throughout optimization) or dynamic (when the function objective is modified during research).
The majority of metaheuristic used within the framework of the problems of combinative optimization use only one structure of vicinity. However, of the methods as the Recherche with variable vicinity makes it possible to change structure in the course of research.
By considering the métaheuristiques ones as iterative methods using an objective sampling of the function as training bases (definition more particularly adapted to metaheuristic to populations) appears the problem of the choice of sampling.
In the very large majority of the cases, this sampling is done on a random basis, and can thus be described via a Probability distribution. There then exist three classes the métaheuristiques ones, according to the approach used to handle this distribution.
The first class is that of the implicit methods , where the probability distribution is not known a priori . It is the case for example genetic algorithms, where the choice of sampling between two iterations does not follow a given law, but is function of local rules.
By opposition, one can thus classify the explicit methods , which use a selected probability distribution to each iteration. It is the case of the algorithms with estimate of distribution.
In this classification, simulated annealing occupies a particular place, since one can consider that it samples the function objective by directly using this one like probability distribution (best solutions having a larger probability to be drawn). It is thus neither explicit nor implicit, but rather “direct”.
One finds sometimes a classification presenting the stochastic algorithms of optimizations as being “évolutionnaires” (or “evolutionists”) or not. The algorithm will be regarded as belonging to the class of the algorithms évolutionnaires if it handles a population via operators , according to a given general algorithm.
This way of presenting the métaheuristiques ones has an adapted nomenclature: one will speak operators for any action modifying the state about one or more solutions. An operator building a new solution will be called generating , whereas an operator modifying an existing solution is called mutateur .
Accordingly, the general structure of the algorithms évolutionnaires connects stages of selection , reproduction (or crossing ), of change and finally of replacement . Each stage uses more or less specific operators.
One speaks about hybridization when the métaheuristique one considered is made up of several methods being distributed the tasks of research. The taxonomy of the metaheuristic hybrids separates in two parts: a hierarchical classification and a classification punt . Classification is applicable to the deterministic methods as well as with the métaheuristiques ones.
Hierarchical classification is based on the level (low or high) of hybridization and on its application (out of relay or competitor). In a hybridization of low level , a function given of métaheuristique (for example, the change in an algorithm évolutionnaire) is replaced by another métaheuristique (for example a research with taboo). In the case of the high level , the “normal” inner working of metaheuristic is not modified. In a hybridization in relay , the métaheuristiques ones are launched the ones after the others, each one fascinating in entry the exit produced by the preceding one. In competition (or Co-evolution ), each algorithm uses a series of co-operating agents units.
This first classification releases four general classes:
The second part releases several criteria, being able to characterize hybridizations:
These various categories can be combined, hierarchical classification being most general.
The métaheuristiques ones are often employed for their facility of programming and handling. They are indeed easily adaptable to any type of problem of optimization. However, they are most judiciously employed on problems of difficult optimization , where more traditional methods of optimization (deterministic methods, in particular) show their limits.
In a general way, one can consider that problems showing the following characteristics are rather favourable with the use of metaheuristic:
To test métaheuristique, a first stage consists in using especially conceived mathematical functions. The algorithms are evaluated on the basis of whole of functions, more or less difficult, then compared between them.
The métaheuristiques ones being generally stochastic, the tests must in theory be repeated a great number of times, then exploited via methods Statistique S. Cependant, this practice remains relatively not very widespread in the specialized literature.
In an special issue of the scientific magazine European Newspaper off Operational Research , devoted to the applications of metaheuristic, the editors noted that the majority of the 20 articles published were it in two fields: problems of Logistic scheduling and . The methods the most used belong to the family of the algorithms évolutionnaires, often hybrids with methods of Local research.
Some examples of concrete problems, optimized via the métaheuristiques ones:
The métaheuristiques ones being very general practitioners, they can be adapted to any type of problem of optimization which can be reduced to a “block box”. They are often less powerful than exact methods on certain types of problems. They do not guarantee either the discovery of the total optimum in a finished time. However, a great number of real problems is not optimizable effectively by approaches purely Mathématiques, the métaheuristiques ones can then be used with profit.
The concept of effectiveness generally refers to two contradictory objectives: the Speed and the Precision. Speed is often measured of many evaluations of the function objective, which is most of the time the greediest part in computing times. The precision refers to the Distance between the optimum found by the métaheuristique one and the real optimum, either from the point of view of the solution, or of that of the value. Very often, a fast algorithm is not very precise, and conversely.
Generally, a choice must be made as for the criterion of adequate stop. A number of evaluation or an assigned time is often used, but one can also choose to reach a given value of the function objective (the goal being then to find a solution associated). It is also possible to choose criteria dependant on the behavior of the algorithm, like a minimal dispersion of the population of points or a suitable internal parameter. In any event, the choice of the criterion of stop will influence the quality of optimization.
The use of metaheuristic can appear relatively simple, in first approach, but it is often necessary to adapt the algorithm to the optimized problem. First of all, mainly within the framework of the combinative Optimization, the choice of the representation of the handled solutions can be crucial. Then, the majority of metaheuristic have parameters whose adjustment is not necessarily commonplace. Lastly, to obtain good performances generally passes by a stage of adaptation of the various stages of the algorithm (initialization, in particular). In practice, only the know-how and the experiment of the user make it possible to manage these problems.
It is allowed that, from a very general point of view, no métaheuristique is really better than another. Indeed, métaheuristique cannot claim to be more effective on all the problems, although some authorities (i.e. the algorithm him even, but also a choice of parameters and a given implementation) can be more adapted than of others on certain classes of problems. This observation is described by the theorem of the No free buffet (“not of dining free”).
In last analysis, it is sometimes possible that the choice of the representation of the solutions, or more generally of the methods associated with metaheuristic, has more influence on the performances than the type of algorithm itself. In practice, however, the métaheuristiques ones are shown more powerful than the methods of exhaustive course or purely random research.
Metaheuristic the most known is:
There exists a very great number of other metaheuristic, more or less known:
Research in the field being very active, it is impossible to produce an exhaustive list of different metaheuristic from optimization. Specialized literature watch a great number of alternatives and hybridizations between methods, particularly in the case of the algorithms évolutionnaires.
DateFormat = yyyy Period = from: 1960 till: 2005 TimeAxis = orientation: vertical ScaleMajor = links: year increment: 5 start: 1960
Colors= id: melts been worth: white #rgb (0.95, 0.95, 0.98) id: mark been worth: rgb (1,0,0) id: marque_fond been worth: rgb (1,0.9, 0.9) BackgroundColors = canvas: melts
Define $dx = 7 # shift of the text on the right of the bar Define $dy = -3 # vertical shift Define $dy2 = 6 # vertical shift for double text
PlotData= bar: Leaders color: marque_fond width: 5 mark: (line, mark) align: left fontsize: S
from: 1965 till: 1965 shift: ($dx, $dy) text: strategies of evolution (ES) from: 1966 till: 1966 shift: ($dx, $dy) text: prog. évolutionnaire (EP) from: 1975 till: 1975 shift: ($dx, $dy) text: genetic algorithms (GA) from: 1983 till: 1985 shift: ($dx, $dy) text: simulated annealing (SA) from: 1986 till: 1986 shift: ($dx, $dy2) text: seek taboo (TS) from: 1986 till: 1986 shift: ($dx, - $dy2) text: sys. immunizing artificial (BOARD) from: 1990 till: 1990 shift: ($dx, $dy) text: colony of ants (ACO) from: 1995 till: 1995 shift: ($dx, $dy) text: particulate swarms (PSO) from: 1996 till: 1996 shift: ($dx, $dy) text: estimate of distribution (EDA) from: 1997 till: 1997 shift: ($dx, $dy2) text: differential evolution (DE) from: 1997 till: 1997 shift: ($dx, - 4) text: cross entropy (CE)
1952 : the first work on the use of stochastic methods for optimization.
The métaheuristiques ones, of share their nature flexible, lend themselves particularly to extensions. One can thus find adaptations for problems more complex than optimization mono-objective:
Bibliography:
Sites general practitioners:
Software and Framework S:
| Random links: | Saint-Aubin (Indre) | Count of the characters Unicode (34000-34FFF) | Thomas de Brotherton | Bielorussia-Russia in football | Stephan Célérier |