Métaheuristiques

Métaheuristiques

Métaheuristique

Les métaheuristiques forment une famille dalgorithmes doptimisation visant à résoudre des problèmes doptimisation difficile (souvent issus des domaines de la recherche opérationnelle, de l'ingénierie ou de l'intelligence artificielle) pour lesquels on ne connaît pas de méthode classique plus efficace.

Les métaheuristiques sont généralement des algorithmes stochastiques itératifs, qui progressent vers un optimum global, c'est-à-dire l'extremum global d'une fonction, par échantillonnage dune fonction objectif. Elles se comportent comme des algorithmes de recherche, tentant dapprendre les caractéristiques dun problème afin den trouver une approximation de la meilleure solution (d'une manière proche des algorithmes d'approximation).

Il existe un grand nombre de métaheuristiques différentes, allant de la simple recherche locale à des algorithmes complexes de recherche globale. Ces méthodes utilisent cependant un haut niveau dabstraction, leur permettant dêtre adaptées à une large gamme de problèmes différents.

Les métaheuristiques (M) sont souvent des algorithmes utilisant un échantillonnage probabiliste. Elles tentent de trouver loptimum global (G) dun problème doptimisation difficile (avec des discontinuités — D —, par exemple), sans être piégé par les optima locaux (L).

Sommaire

Généralités

Terminologies

On parle de méta, du grec « au-delà » (comprendre ici « à un plus haut niveau »), heuristique, du grec ευρισκειν / heuriskein, qui signifie « trouver ». En effet, ces algorithmes se veulent des méthodes génériques pouvant optimiser une large gamme de problèmes différents, sans nécessiter de changements profonds dans lalgorithme employé.

Une terminologie légèrement différente considère que les méta-heuristiques sont une forme dalgorithmes doptimisation stochastique, hybridés avec une recherche locale. Le terme méta est donc pris au sens les algorithmes peuvent regrouper plusieurs heuristiques. On rencontre cette définition essentiellement dans la littérature concernant les algorithmes évolutionnaires, elle est utilisée pour désigner une spécialisation. Dans le cadre de la première terminologie, un algorithme évolutionnaire hybridé avec une recherche locale sera plutôt désigné sous le terme dalgorithme mémétique.

Les métaheuristiques sont souvent inspirées par des systèmes naturels, quils soient pris en physique (cas du recuit simulé), en biologie de lévolution (cas des algorithmes génétiques) ou encore en éthologie (cas des algorithmes de colonies de fourmis ou de loptimisation par essaims particulaires).

Nomenclature

Le but dune métaheuristique est de résoudre un problème doptimisation donné : elle cherche un objet mathématique (une permutation, un vecteur, etc.) minimisant (ou maximisant) une fonction objectif, qui décrit la qualité dune solution au problème.

Lensemble des solutions possibles forme lespace de recherche. Lespace de recherche est au minimum borné, mais peut être également limité par un ensemble de contraintes.

Exemple de front de Pareto dans un problème nécessitant la minimisation de deux objectifs (f1 et f2). Les points A et B sont « non dominés » alors que le point C nest optimum pour aucun des objectifs.

Les métaheuristiques manipulent une ou plusieurs solutions, à la recherche de loptimum, la meilleure solution au problème. Les itérations successives doivent permettre de passer dune solution de mauvaise qualité à la solution optimale. Lalgorithme sarrête après avoir atteint un critère darrêt, consistant généralement en latteinte du temps dexécution imparti ou en une précision demandée.

Une solution ou un ensemble de solutions est parfois appelé un état, que la métaheuristique fait évoluer via des transitions ou des mouvements. Si une nouvelle solution est construite à partir dune solution existante, elle est sa voisine. Le choix du voisinage et de la structure de donnée le représentant peut être crucial.

Lorsquune solution est associée à une seule valeur, on parle de problème mono-objectif, lorsquelle est associée à plusieurs valeurs, de problème multi-objectifs (ou multi-critères). Dans ce dernier cas, on recherche un ensemble de solutions non dominées (le « front de Pareto »), solutions parmi lesquelles on ne peut décider si une solution est meilleure quune autre, aucune nétant systématiquement inférieure aux autres sur tous les objectifs.

Dans certains cas, le but recherché est explicitement de trouver un ensemble doptimums « satisfaisants ». Lalgorithme doit alors trouver lensemble des solutions de bonne qualité, sans nécessairement se limiter au seul optimum : on parle de méthodes multimodales.

Concepts généraux

Comportement dune métaheuristique. Le graphique représente les distributions des valeurs des optimums trouvés (sur un grand nombre dexécutions: lalgorithme passe dune population de solution très dispersée (A) à une population plus centrée sur loptimum trouvé (B).

Les métaheuristiques ne nécessitent pas de connaissances particulières sur le problème optimisé pour fonctionner, le fait de pouvoir associer une (ou plusieurs) valeurs à une solution est la seule information nécessaire.

En pratique, elles ne devraient être utilisées que sur des problèmes ne pouvant être optimisés par des méthodes mathématiques. Utilisées en lieu et place dheuristiques spécialisées, elles montrent généralement de moins bonnes performances.

Les métaheuristiques sont souvent employées en optimisation combinatoire, mais on en rencontre également pour des problèmes continus ou mixtes (problèmes à variables discrètes et continues).

Certaines métaheuristiques sont théoriquement « convergentes » sous certaines conditions. Il est alors garanti que loptimum global sera trouvé en un temps fini, la probabilité de ce faire augmentant asymptotiquement avec le temps. Cette garantie revient à considérer que lalgorithme se comporte au pire comme une recherche aléatoire pure (la probabilité de tenter toutes les solutions tendant vers 1). Cependant, les conditions nécessaires sont rarement vérifiées dans le cadre dapplications réelles. En pratique, la principale condition de convergence est de considérer que lalgorithme est ergodique (quil peut atteindre nimporte quelle solution à chaque mouvement), mais on se satisfait souvent dune quasi-ergodicité (si la métaheuristique peut atteindre nimporte quelle solution en un nombre fini de mouvements).

Organisation générale

Les trois phases dune métaheuristique itérative. Les points rouges représentent léchantillonnage de la fonction objectif (ici à une dimension).

Dune manière générale, les métaheuristiques sarticulent autour de plusieurs notions :

  • Voisinage ;
  • Diversification/exploration ;
  • Intensification/exploitation ;
  • Mémoire et apprentissage.

Voisinage

Le voisinage d'une solution est un sous-ensemble de solutions qu'il est possible d'atteindre par une série de transformations données. Par extension on désigne parfois par le terme « voisinage » l'ensemble des transformations considérées.

Un voisinage simple pour le problème du voyageur de commerce sera, par exemple, l'ensemble des solutions qu'il est possible de construire en permutant deux villes dans une solution donnée.

La notion de voisinage est sans doute le principe général le plus utilisé pour la conceptions dheuristiques. Pour les problèmes combinatoires, le voisinage a un impact important sur le comportement des métaheuristiques, alors que pour des problèmes continus, la notion même de voisinage est plus difficile à cerner.

Bien quil nexiste que très peu de résultats théoriques sur ladéquation entre un voisinage et un problème discret donné, il peut être possible den calculer des indicateurs empiriques, comme la rugosité[1]. Les techniques les plus classiques concernant la définition dun voisinage tournent autour des notions de permutations, de chaînes déjections et doptimisations partielles.

Intensification, diversification, apprentissage

Les notions dintensification et de diversifications sont liées à lutilisation de la fonction objectif et aux processus aléatoires. Combinés avec la notion de mémoire, elles permettent de positionner les différents aspects des métaheuristiques entre eux.

La diversification (ou exploration, synonyme utilisé presque indifféremment dans la littérature des algorithmes évolutionnaires) désigne les processus visant à récolter de linformation sur le problème optimisé. L'intensification (ou exploitation) vise à utiliser linformation déjà récoltée pour définir et parcourir les zones intéressantes de lespace de recherche. La mémoire est le support de lapprentissage, qui permet à lalgorithme de ne tenir compte que des zones loptimum global est susceptible de se trouver, évitant ainsi les optima locaux.

Les métaheuristiques progressent de façon itérative, en alternant des phases dintensification, de diversification et dapprentissage, ou en mélant ces notions de façon plus étroites. Létat de départ est souvent choisi aléatoirement, lalgorithme se déroulant ensuite jusquà ce quun critère darrêt soit atteint.

Les notions dintensification et de diversifications sont prépondérantes dans la conception des métaheuristiques, qui doivent atteindre un équilibre délicat entre ces deux dynamiques de recherches. Les deux notions ne sont donc pas contradictoires, mais complémentaires, et il existe de nombreuses stratégies mélant à la fois lun et lautre des aspects.

Classification

Les métaheuristiques peuvent être classées de nombreuses façons. Ce diagramme tente de présenter se placent quelque unes des méthodes les plus connues. Un élement présenté à cheval sur différentes catégories indique que l'algorithme peut être placé dans l'une ou l'autre classe, selon le point de vue adopté.

Parcours et population

Principe général des métaheuristiques (a) à population, et (b) à parcours.

Les métaheuristiques les plus classiques sont celles fondées sur la notion de parcours. Dans cette optique, lalgorithme fait évoluer une seule solution sur lespace de recherche à chaque itération. La notion de voisinage est alors primordiale.

Les plus connues dans cette classe sont le recuit simulé, la recherche avec tabous, la recherche à voisinage variable, la méthode GRASP ou encore les méthode de bruitage.

Dans cette classification, lautre approche utilise la notion de population. La métaheuristique manipule un ensemble de solutions en parallèle, à chaque itération.

On peut citer les algorithmes génétiques, loptimisation par essaims particulaires, les algorithmes de colonies de fourmis.

La frontière est parfois floue entre ces deux classes. On peut ainsi considérer quun recuit simulé la température baisse par paliers, a une structure à population. En effet, dans ce cas on manipule un ensemble de points à chaque palier, il sagit simplement dune méthode déchantillonnage particulière.

Emploi de mémoire

Les métaheuristiques utilisent lhistorique de leur recherche pour guider loptimisation aux itérations suivantes.

Dans le cas le plus simple, elles se limitent à considérer létat de la recherche à une itération donnée pour déterminer la prochaine itération : il sagit alors dun processus de décision markovien, et on parlera de méthode sans mémoire. Cest le cas de la plupart des méthodes de recherche locale.

Beaucoup de métaheuristiques utilisent une mémoire plus évoluée, que ce soit sur le court terme (solutions visitées récemment, par exemple) ou sur le long terme (mémorisation dun ensemble de paramètres synthétiques décrivant la recherche).

Fonction objectif statique ou dynamique

La plupart des métaheuristiques utilisent la fonction objectif en létat, et font évoluer leur comportement de recherche de loptimum. Cependant, certains algorithmes, comme la recherche locale guidée, modifient la représentation du problème, en incorporant linformation collectée durant la recherche, directement au sein de la fonction objectif.

Il est donc possible de classer les métaheuristiques selon quelles utilisent une fonction objectif statique (qui demeure inchangée tout au long de loptimisation) ou dynamique (quand la fonction objectif est modifiée au cours de la recherche).

Nombre de structures de voisinage

La plupart des métaheuristiques utilisées dans le cadre des problèmes doptimisation combinatoire utilisent une seule structure de voisinage. Cependant, des méthodes comme la recherche à voisinage variable permettent de changer de structure en cours de recherche.

Implicite, explicite, directe

Les métaheuristiques peuvent être qualifiées dexplicites (E, ici sur une somme de deux gaussiennes), dimplicites (I) ou de directes (D), selon la façon dont elles gèrent la transition entre deux itérations.

En considérant les métaheuristiques comme des méthodes itératives utilisant un échantillonnage de la fonction objectif comme base dapprentissage (définition plus particulièrement adaptée aux métaheuristiques à populations) apparaît le problème du choix de léchantillonnage[2].

Dans la très grande majorité des cas, cet échantillonnage se fait sur une base aléatoire, et peut donc être décrit via une distribution de probabilités. Il existe alors trois classes de métaheuristiques, selon lapproche utilisée pour manipuler cette distribution.

La première classe est celle des méthodes implicites, la distribution de probabilité nest pas connue a priori. Cest le cas par exemple des algorithmes génétiques, le choix de léchantillonnage entre deux itérations ne suit pas une loi donnée, mais est fonction de règles locales.

Par opposition, on peut donc classer les méthodes explicites, qui utilisent une distribution de probabilité choisie à chaque itération. Cest le cas des algorithmes à estimation de distribution.

Dans cette classification, le recuit simulé occupe une place particulière, puisquon peut considérer quil échantillonne la fonction objectif en utilisant directement celle-ci comme distribution de probabilité (les meilleures solutions ayant une probabilité plus grande dêtre tirées). Il nest donc ni explicite ni implicite, mais plutôt « direct ».

Évolutionnaire ou non

On trouve parfois une classification présentant les algorithmes doptimisations stochastiques comme étant « évolutionnaires » (ou « évolutionnistes ») ou non. Lalgorithme sera considéré comme faisant partie de la classe des algorithmes évolutionnaires sil manipule une population via des opérateurs, selon un algorithme général donné.

Cette façon de présenter les métaheuristiques dispose dune nomenclature adaptée : on parlera dopérateurs pour toute action modifiant létat dune ou plusieurs solutions. Un opérateur construisant une nouvelle solution sera dénommé générateur, alors quun opérateur modifiant une solution existante sera appelé mutateur.

Dans cette optique, la structure générale des algorithmes évolutionnaires enchaîne des étapes de sélection, de reproduction (ou croisement), de mutation et enfin de remplacement. Chaque étape utilise des opérateurs plus ou moins spécifiques.

Taxinomie de lhybridation

Taxinomie des métaheuristiques hybrides.

On parle dhybridation quand la métaheuristique considérée est composée de plusieurs méthodes se répartissant les tâches de recherche. La taxinomie des métaheuristiques hybrides se sépare en deux parties : une classification hiérarchique et une classification plate. La classification est applicable aux méthodes déterministes aussi bien quaux métaheuristiques[3].

La classification hierarchique se fonde sur le niveau (bas ou haut) de lhybridation et sur son application (en relais ou concurrente). Dans une hybridation de bas niveau, une fonction donnée dune métaheuristique (par exemple, la mutation dans un algorithme évolutionnaire) est remplacée par une autre métaheuristique (par exemple une recherche avec tabou). Dans le cas du haut niveau, le fonctionnement interne « normal » des métaheuristiques nest pas modifié. Dans une hybridation en relais, les métaheuristiques sont lancées les unes après les autres, chacune prenant en entrée la sortie produite par la précédente. Dans la concurrence (ou co-évolution), chaque algorithme utilise une série dagents coopérants ensembles.

Cette première classification dégage quatre classes générales :

  • bas niveau & relais (abrégé LRH en anglais),
  • bas niveau & co-évolution (abrégé LCH),
  • haut niveau & relais (HRH),
  • haut niveau & co-évolution (HCH).

La seconde partie dégage plusieurs critères, pouvant caractériser les hybridations :

  • si lhybridation se fait entre plusieurs instances dune même métaheuristique, elle est homogène, sinon, elle est hétérogène ;
  • si les méthodes recherchent dans tout lespace de recherche, on parlera dhybridation globale, si elles se limitent à des sous-parties de lespace, dhybridation partielle ;
  • si les algorithmes mis en jeu travaillent tous à résoudre le même problème, on parlera dapproche générale, sils sont lancés sur des problèmes différents, dhybridation spécialisée.

Ces différentes catégories peuvent être combinées, la classification hierarchique étant la plus générale.

Applications

Les métaheuristiques sont souvent employées pour leur facilité de programmation et de manipulation. Elles sont en effet facilement adaptables à tout type de problème doptimisation. Toutefois, elles sont le plus judicieusement employées sur des problèmes doptimisation difficile, des méthodes doptimisation plus classiques (méthodes déterministes, notamment) montrent leurs limites.

De façon générale, on peut considérer que des problèmes présentant les caractéristiques suivantes sont assez propices à lutilisation de métaheuristiques :

Tests

Exemple de problème test à minimiser (présenté ici pour deux variables)

Pour tester une métaheuristique, une première étape consiste à utiliser des fonctions mathématiques spécialement conçues[4]. Les algorithmes sont évalués sur la base dun ensemble de fonctions, plus ou moins difficiles, puis comparés entre eux.

Les métaheuristiques étant généralement stochastiques, les tests doivent en principe être répétés un grand nombre de fois, puis exploités via des méthodes statistiques. Cependant, cette pratique reste relativement peu répandue dans la littérature spécialisée.

Problèmes réels

Dans un numéro spécial de la revue scientifique European Journal of Operational Research, consacré aux applications des métaheuristiques[5], les éditeurs ont constatés que la majorité des 20 articles publiés le furent dans deux domaines : les problèmes d'ordonnancement et de logistique. Les méthodes les plus utilisés appartiennent à la famille des algorithmes évolutionnaires, souvent hybridés avec des méthodes de recherche locale.

Quelques exemples de problèmes concrets, optimisés via des métaheuristiques :

Avantages et inconvénients

Les métaheuristiques étant très généralistes, elles peuvent être adaptées à tout type de problème doptimisation pouvant se réduire à une « boîte noire ». Elles sont souvent moins puissantes que des méthodes exactes sur certains types de problèmes. Elles ne garantissent pas non plus la découverte de loptimum global en un temps fini. Cependant, un grand nombre de problèmes réels nest pas optimisable efficacement par des approches purement mathématiques, les métaheuristiques peuvent alors être utilisées avec profit.

La notion defficacité se rapporte généralement à deux objectifs contradictoires : la vitesse et la précision. La vitesse est souvent mesurée en nombre dévaluations de la fonction objectif, qui est la plupart du temps la partie la plus gourmande en temps de calcul. La précision se rapporte à la distance entre loptimum trouvé par la métaheuristique et loptimum réel, soit du point de vue de la solution, soit de celui de la valeur. Bien souvent, un algorithme rapide est peu précis, et inversement.

Généralement, un choix doit être fait quant au critère darrêt adéquat. Un nombre dévaluation ou un temps imparti est souvent utilisé, mais on peut également choisir datteindre une valeur donnée de la fonction objectif (le but étant alors de trouver une solution associée). Il est également possible de choisir des critères dépendants du comportement de lalgorithme, comme une dispersion minimale de la population de points ou un paramètre interne approprié. En tout état de cause, le choix du critère darrêt influencera la qualité de loptimisation.

Le théorème du « no free lunch » explique quaucune instance de métaheuristique ne peut prétendre être la meilleure sur tous les problèmes. Une métaheuristique (M) nest performante que pour une classe de problème (P) donnée.

Lutilisation de métaheuristiques peut paraître relativement simple, en première approche, mais il est souvent nécessaire dadapter lalgorithme au problème optimisé. Tout dabord, principalement dans le cadre de loptimisation combinatoire, le choix de la représentation des solutions manipulées peut être crucial. Ensuite, la plupart des métaheuristiques disposent de paramètres dont le réglage nest pas nécessairement trivial. Enfin, obtenir de bonnes performances passe généralement par une étape dadaptation des diverses étapes de lalgorithme (initialisation, notamment). En pratique, seul le savoir-faire et lexpérience de lutilisateur permet de gérer ces problèmes.

Il est admis que, dun point de vue très général, aucune métaheuristique nest réellement meilleure quune autre. En effet, une métaheuristique ne peut prétendre être plus efficace sur tous les problèmes, bien que certaines instances (cest-à-dire lalgorithme lui même, mais aussi un choix de paramètres et une implémentation donnée) puissent être plus adaptées que dautres sur certaines classes de problèmes. Cette constatation est décrite par le théorème du no free lunch (« pas de dîner gratuit »).

En dernière analyse, il est parfois possible que le choix de la représentation des solutions, ou plus généralement des méthodes associées à la métaheuristique, ait plus dinfluence sur les performances que le type dalgorithme lui-même. En pratique, cependant, les métaheuristiques se montrent plus puissantes que les méthodes de parcours exhaustif ou de recherche purement aléatoire.

Variantes

Liste de métaheuristiques

Les métaheuristiques les plus connues sont :

Il existe un très grand nombre dautres métaheuristiques, plus ou moins connues :

  • lalgorithme du kangourou,
  • la méthode de Fletcher et Powell,
  • la méthode du bruitage,
  • la tunnelisation stochastique,
  • lescalade de collines à recommencements aléatoires,
  • la méthode de l'entropie croisée,
  • etc.

La recherche dans le domaine étant très active, il est impossible de produire une liste exhaustive des différentes métaheuristiques doptimisation. La littérature spécialisée montre un grand nombre de variantes et dhybridations entre méthodes, particulièrement dans le cas des algorithmes évolutionnaires.

Historique

Chronologie des principales métaheuristiques, le nom est indiqué suivi de lacronyme anglais entre parenthèses.

« La recherche avec tabou peut être vue comme une "méta-heuristique", superposée à une autre heuristique. L'approche vise à éviter les optimums locaux par une stratégie d'interdiction (ou, plus généralement, de pénalisation) de certains mouvements. »

Extensions

Exemple de problème doptimisation continue, dynamique et bruité.

Les métaheuristiques, de part leur nature flexible, se prêtent particulièrement à des extensions. On peut ainsi trouver des adaptations pour des problèmes plus complexe que loptimisation mono-objectif :

  • problèmes multi-objectifs (plusieurs objectifs contradictoires doivent être optimisés de concert),
  • optimisation multi-modale (plusieurs optimums doivent être trouvés),
  • optimisation en environnement incertain (un bruit est présent sur la valeur renvoyée par la fonction objectif, ou sur le passage des paramètres à celle-ci),
  • hybridations entre métaheuristiques,
  • hybridations avec des méthodes exactes,
  • problèmes dynamiques (la fonction objectif change durant le temps de loptimisation),
  • gestion de contraintes fortement non-linéaires,
  • combinaison des problèmes précédents,
  • etc.

Références

Sources

  • (fr) Jacques Teghem et Marc Pilrot (éditeurs), Optimisation approchée en recherche opérationnelle, Hermes, traité I2C, mai 2002. ISBN 2746204622
  • (fr) Yann Collette, Patrick Siarry, Optimisation multi-objectif, Éd. Eyrolles, Paris, 2002, Broché, 322 pages, ISBN 2-212-11168-1.
  • (fr) Johann Dréo, Alain Petrowski, Éric Taillard, Patrick Siarry, Métaheuristiques pour loptimisation difficile, Français, Éd. Eyrolles, Paris, septembre 2003, Broché, 356 pages, ISBN 2-212-11368-4.
  • (en) Pierre Collet, Jean-Philippe Rennard, Introduction to Stochastic Optimization Algorithms, dans Handbook of Research on Nature-Inspired Computing for Economics and Management, édité par J.-P. Rennard, IDEA Group Inc, septembre 2006, Relié, 1100 pages, ISBN 1591409845.
  • (en) Christian Blum, Andrea Roli, Metaheuristics in combinatorial optimization : Overview and conceptual comparison, ACM Computing Surveys, volume 35, numéro 3, septembre 2003, pages 268-308. DOI:10.1145/937503.937505
  1. V. Angel, La rugosité des paysages : une théorie pour la difficulté des problèmes doptimisation combinatoire relativement aux métaheuristiques, thèse de doctorat de luniversité de Paris-Sud, Orsay, 1998.
  2. J. Dreo, J.-P. Aumasson, W. Tfaili, P. Siarry, Adaptive Learning Search, a new tool to help comprehending metaheuristics, to appear in the International Journal on Artificial Intelligence Tools.
  3. El-Ghazali Talbi, A taxonomy of hybrid metaheuristics, Journal of Heuristics, volume 8, no 2, pages 541-564, septembre 2002
  4. (en) exemples de fonctions de tests pour métaheuristiques doptimisation de problèmes continus.
  5. W. Dullaert, M. Sevaux, K. Sörensen et J. Springael, Applications of metaheuristics, numéro spécial du European Journal of Operational Research, no 179, 2007.
  6. Robbins, H. and Monro, S., A Stochastic Approximation Method, Annals of Mathematical Statistics, vol. 22, pp. 400-407, 1951
  7. Barricelli, Nils Aall, Esempi numerici di processi di evoluzione, Methodos, pp. 45-68, 1954
  8. Rechenberg, I., Cybernetic Solution Path of an Experimental Problem, Royal Aircraft Establishment Library Translation, 1965
  9. Fogel, L., Owens, A.J., Walsh, M.J., Artificial Intelligence through Simulated Evolution, Wiley, 1966
  10. W.K. Hastings. Monte Carlo Sampling Methods Using Markov Chains and Their Applications, Biometrika, volume 57, no 1, pages 97-109, 1970
  11. Holland, John H., Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, 1975
  12. Smith, S.F., A Learning System Based on Genetic Adaptive Algorithms, PhD dissertation (University of Pittsburgh), 1980
  13. S. Kirkpatrick, C. D. Gelatt et M. P. Vecchi, Optimization by Simulated Annealing, Science, volume 220, no  4598, pages 671-680, 1983
  14. V. Cerny, A thermodynamical approach to the travelling salesman problem : an efficient simulation algorithm Journal of Optimization Theory and Applications, volume45, pages 41-51, 1985
  15. Fred GLover, Future Paths for Integer Programming and Links to Artificial Intelligence, Comput. & Ops. Res.Vol. 13, No.5, pp. 533-549, 1986
  16. J.D. Farmer, N. Packard and A. Perelson, The immune system, adaptation and machine learning, Physica D, vol. 22, pp. 187--204, 1986
  17. F. Moyson, B. Manderick, The collective behaviour of Ants : an Example of Self-Organization in Massive Parallelism, Actes de AAAI Spring Symposium on Parallel Models of Intelligence, Stanford, Californie, 1988
  18. Koza, John R. Non-Linear Genetic Algorithms for Solving Problems. United States Patent 4,935,877. Filed May 20, 1988. Issued June 19, 1990
  19. Goldberg, David E., Genetic Algorithms in Search, Optimization and Machine Learning, Kluwer Academic Publishers, Boston, MA., 1989
  20. P. Moscato, On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts : Towards Memetic Algorithms, Caltech Concurrent Computation Program, C3P Report 826, 1989.
  21. M. Dorigo, Optimization, Learning and Natural Algorithms, Thèse de doctorat, Politecnico di Milano, Italie, 1992.
  22. Feo, T., Resende, M., Greedy randomized adaptive search procedure, Journal of Global Optimization, tome 42, page 32--37, 1992
  23. Eberhart, R. C. et Kennedy, J., A new optimizer using particle swarm theory, Proceedings of the Sixth International Symposium on Micromachine and Human Science, Nagoya, Japan. pp. 39-43, 1995
  24. Kennedy, J. et Eberhart, R. C., Particle swarm optimization, Proceedings of IEEE International Conference on Neural Networks, Piscataway, NJ. pp. 1942-1948, 1995
  25. Mülhenbein, H., Paaß, G., From recombination of genes to the estimation of distribution I. Binary parameters, Lectures Notes in Computer Science 1411: Parallel Problem Solving from Nature, tome PPSN IV, pages 178--187, 1996
  26. Rainer Storn, Kenneth Price, Differential EvolutionA Simple and Efficient Heuristic for global Optimization over Continuous Spaces, Journal of Global Optimization, volume 11, no 4, pages 341-359, 1997
  27. Rubinstein, R.Y., Optimization of Computer simulation Models with Rare Events, European Journal of Operations Research, 99, 89-112, 1997
  28. Stefan Boettcher, Allon G. Percus, "Extremal Optimization : Methods derived from Co-Evolution", Proceedings of the Genetic and Evolutionary Computation Conference (1999)
  29. Takagi, H., Active user intervention in an EC Search, Proceesings of the JCIS 2000

En savoir plus

Sur les autres projets Wikimedia :

Bibliographie :

Sites généralistes :

Logiciels et frameworks :

  • Portail de l’informatique Portail de linformatique
Ce document provient de « M%C3%A9taheuristique ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Métaheuristiques de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • Metaheuristique — Métaheuristique Les métaheuristiques forment une famille d’algorithmes d’optimisation visant à résoudre des problèmes d’optimisation difficile (souvent issus des domaines de la recherche opérationnelle, de l ingénierie ou de l intelligence… …   Wikipédia en Français

  • Méta-heuristique — Métaheuristique Les métaheuristiques forment une famille d’algorithmes d’optimisation visant à résoudre des problèmes d’optimisation difficile (souvent issus des domaines de la recherche opérationnelle, de l ingénierie ou de l intelligence… …   Wikipédia en Français

  • Métaheuristique — Une métaheuristique est un algorithme d’optimisation visant à résoudre des problèmes d’optimisation difficile (souvent issus des domaines de la recherche opérationnelle, de l ingénierie ou de l intelligence artificielle) pour lesquels on ne… …   Wikipédia en Français

  • Algorithme De Colonies De Fourmis — Les algorithmes de colonies de fourmis sont des algorithmes inspirés du comportement des fourmis et qui constituent une famille de métaheuristiques d’optimisation. Initialement proposé par Marco Dorigo et al. dans les années 1990[1],[2] …   Wikipédia en Français

  • Algorithme de colonies de fourmis — Les algorithmes de colonies de fourmis sont des algorithmes inspirés du comportement des fourmis et qui constituent une famille de métaheuristiques d’optimisation. Initialement proposé par Marco Dorigo et al. dans les années 1990[1],[2], pour la… …   Wikipédia en Français

  • Algorithme de fourmis — Algorithme de colonies de fourmis Les algorithmes de colonies de fourmis sont des algorithmes inspirés du comportement des fourmis et qui constituent une famille de métaheuristiques d’optimisation. Initialement proposé par Marco Dorigo et al.… …   Wikipédia en Français

  • Algorithmes de colonie de fourmis — Algorithme de colonies de fourmis Les algorithmes de colonies de fourmis sont des algorithmes inspirés du comportement des fourmis et qui constituent une famille de métaheuristiques d’optimisation. Initialement proposé par Marco Dorigo et al.… …   Wikipédia en Français

  • Ant Colony Optimization — Algorithme de colonies de fourmis Les algorithmes de colonies de fourmis sont des algorithmes inspirés du comportement des fourmis et qui constituent une famille de métaheuristiques d’optimisation. Initialement proposé par Marco Dorigo et al.… …   Wikipédia en Français

  • Algorithme a estimation de distribution — Algorithme à estimation de distribution Les algorithmes à estimation de distribution résolvent des problèmes d optimisation en échantillonnant un modèle de distribution, dont les paramètres évoluent via des opérateurs de sélection. Ici, un AED à… …   Wikipédia en Français

  • Algorithme À Estimation De Distribution — Les algorithmes à estimation de distribution résolvent des problèmes d optimisation en échantillonnant un modèle de distribution, dont les paramètres évoluent via des opérateurs de sélection. Ici, un AED à distribution normale mono variante… …   Wikipédia en Français

Share the article and excerpts

Direct link
https://fr-academic.com/dic.nsf/frwiki/1211975 Do a right-click on the link above
and select “Copy Link”