Vous êtes sur la page 1sur 37

CONSERVATOIRE NATIONAL DES ARTS PARIS

ET

MTIERS

MMOIRE
PRSENT EN VUE DOBTENIR LEXAMEN PROBATOIRE EN INFORMATIQUE PAR

BAPTISTE AUTIN

Les mtaheuristiques en optimisation combinatoire

Soutenu le 9 mai 2006 - Jury Prsident : M. le Professeur Christophe Picouleau Membres :

TABLES DES MATIERES


Tables des matieres...................................................................................................................2 Introduction...............................................................................................................................3 Les mtaheuristiques, une rponse aux problmes doptimisation difficile........................4 Le cadre de loptimisation combinatoire.................................................................................4 Structure de voisinage et minimum local................................................................................6 Mthode exacte et mthode approche...................................................................................7 Heuristique et mtaheuristique................................................................................................8 Analyse des principales mtaheuristiques............................................................................11 La mthode de descente ...............................................................................................................................................11 Avantages et inconvnients...............................................................................................11 La mthode du recuit simul.................................................................................................12 Paramtrage.......................................................................................................................13 Variante.............................................................................................................................14 Avantages et inconvnients...............................................................................................14 Applications......................................................................................................................14 La mthode Tabou................................................................................................................15 Mmoire court terme......................................................................................................15 Application au problme dordonnancement de tches....................................................17 Mmoire long terme.......................................................................................................18 Avantages et inconvnients...............................................................................................18 La mthode GRASP..............................................................................................................19 Avantages et inconvnients...............................................................................................20 Les algorithmes gntiques...................................................................................................20 Principe de lalgorithme gntique...................................................................................21 Oprateurs de slection.....................................................................................................21 Oprateurs de variation.....................................................................................................23 Avantages et inconvnients...............................................................................................24 Les algorithmes de colonies de fourmi.................................................................................25 Principe de lalgorithme....................................................................................................26 Paramtrage.......................................................................................................................27 Gnralisation et variantes................................................................................................28 Avantages et Inconvnients...............................................................................................28 Stratgies de recherche...........................................................................................................30 Intensification et diversification............................................................................................30 Hybridation des mthodes.....................................................................................................32 Choix dune structure de voisinage.......................................................................................33 Quelle mtaheuristique utiliser ?...........................................................................................33 Conclusion ...............................................................................................................................35 Rfrences bibliographiques..................................................................................................36

INTRODUCTION
Les mtaheuristiques forment un ensemble de mthodes utilises en recherche oprationnelle pour rsoudre des problmes doptimisation rputs difficiles. Rsoudre un problme doptimisation combinatoire, cest trouver loptimum dune fonction, parmi un nombre fini de choix, souvent trs grand. Les applications concrtes sont nombreuses, que ce soit dans le domaine de la production industrielle, des transports ou de lconomie partout o se fait sentir le besoin de minimiser des fonctions numriques, dans des systmes o interviennent simultanment un grand nombre de paramtres. A ces problmes de minimisation, les mtaheuristiques permettent, dans des temps de calcul raisonnables, de trouver des solutions, peut-tre pas toujours optimales, en tout cas trs proches de loptimum ; elles se distinguent en cela des mthodes dites exactes, qui garantissent certes la rsolution dun problme, mais au prix de temps de calcul prohibitifs pour nombres dapplications industrielles. Nous nous proposons de fournir un panorama de toutes ces techniques, parfois redoutablement efficaces, qui se dveloppent depuis une vingtaine dannes. Aprs avoir donn quelques dfinitions pralables, et rappel les noncs de quelques problmes traditionnels doptimisation combinatoire, nous replacerons les mtaheuristiques dans leur contexte : nous dgagerons leurs principales proprits, et nous tablirons une premire classification. Puis nous passerons en revue les mtaheuristiques les plus usuelles, en analysant leur mode de fonctionnement, en voquant les volutions auxquelles elles ont donn lieu, et en soulignant leurs avantages et leurs inconvnients respectifs. Nous verrons cette occasion toute la richesse et la varit des procds mis en jeu dans les mtaheuristiques. Enfin, dans un troisime temps, nous nous pencherons sur la question de la stratgie suivre pour mettre en place une mtaheuristique, et nous verrons que, malgr leur dissemblances, les mtaheuristiques sont toutes structures par un petit nombre de concepts, dont la comprhension aide au paramtrage de leurs algorithmes de base. Lexamen des techniques dhybridation et lassociation de mtaheuristiques avec dautres mthodes doptimisation cltureront notre tude.

LES MTAHEURISTIQUES, UNE RPONSE AUX PROBLMES DOPTIMISATION DIFFICILE


Le cadre de loptimisation combinatoire En mathmatiques, l'optimisation recouvre toutes les mthodes qui permettent de dterminer l'optimum d'une fonction, avec ou sans contraintes. En thorie, un problme d'optimisation combinatoire se dfinit par lensemble de ses instances, souvent infiniment nombreuses. Dans la pratique, le problme se ramne rsoudre numriquement lune de ces instances, par un procd algorithmique. A chaque instance du problme est associ un ensemble discret de solutions S, un sous-ensemble X de S reprsentant les solutions admissibles (ralisables), ainsi quune fonction de cot f (appele aussi fonction objectif). f assigne chaque solution s X le nombre f(s). Rsoudre un problme doptimisation combinatoire consiste alors trouver une solution s X optimisant la valeur de la fonction de cot f. Formellement, on cherche donc s* X tel que f(s*) f(s) pour tout s X. Une telle solution s* s'appelle une solution optimale, ou un optimum global. Remarque : on peut tout aussi bien rsoudre des problmes de maximisation, les principes de rsolution restant naturellement les mmes.

Schma 1 : reprsentation du chemin le plus court passant par une distribution alatoire de 1000 points.

Dans le schma ci-dessus, le problme tait de trouver le chemin minimal passant une seule fois par un certain nombre de points (problme du voyageur de commerce, voir paragraphe suivant). Ce graphique correspond une certaine instance du problme. Avec une distribution diffrente de points, nous aurions eu une autre instance du problme. 4

Il existe une seconde formalisation du problme doptimisation combinatoire, plus gnrale, qui inclue la notion de contraintes et daffectation de valeurs des variables. En voici la dfinition. Soit : un ensemble de variables ( x1 , x 2 , , x n ) un ensemble de domaines de dfinitions D1 , D2 , , Dn un ensemble de contraintes C sur les variables (par exemple, des inquations, ou bien lobligation que toutes les variables prennent des valeurs diffrentes) une fonction objectif f que lon cherche minimiser : f : D1 D2 Dn

Lensemble S des solutions possibles peut alors se dfinir comme : S = { s = { ( x1 , v1 ), , ( xn , vn )} tels que vi Di , et tels que s satisfasse toutes les contraintes C} Les problmes d'affectation sous contraintes possdent de nombreuses applications pratiques, comme l'affectation de ressources, le groupement, la classification, la planification, l'emploi du temps et l'ordonnancement, dans des domaines trs varis 1.1 Loptimisation difficile L optimisation combinatoire consiste trouver la meilleure solution entre un nombre fini de choix. Autrement dit, minimiser une fonction, avec ou sans contraintes, sur un ensemble fini de possibilits. Quand le nombre de combinaisons possibles devient exponentiel par rapport la taille du problme, le temps de calcul devient rapidement critique. Ce temps de calcul devient si problmatique que pour certains problmes, on ne connat pas dalgorithme exact polynomial, c'est--dire dont le temps de calcul soit proportionnel N n , o N dsigne le nombre de paramtres inconnus du problme, et o n est une constante entire. Lorsquon conjecture quil nexiste pas une telle constante n telle quun polynme de degr n puisse borner le temps de calcul dun algorithme, on parle alors doptimisation difficile, ou de problmes NP-difficiles (cest tout lobjet de la thorie de la NP-compltude). Exemples de problmes Lun des exemples les plus caractristiques du champ de loptimisation combinatoire est le problme du voyageur de commerce, dans lequel un reprsentant doit visiter un certain nombre de villes, avant de retourner son point de dpart : la question est de dterminer le trajet le plus court traversant chaque ville une seule fois, c'est--dire la succession de villes qui minimise la tourne du reprsentant. De nombreux problmes dingnierie peuvent se ramener au problme du voyageur de commerce (PVC), do son intrt. On le retrouve dans le domaine des rseaux informatiques par exemple, avec les algorithmes de routage. Par ailleurs, le PVC est un cas particulier dun problme plus gnral, celui des tournes de vhicules, qui consiste calculer les meilleurs parcours pour une flotte de vhicules devant livrer un ensemble de produits dans plusieurs destinations partir d'un entrept. Chaque vhicule a une capacit limite. Le problme des tournes de vhicules trouve ses applications dans le domaine de la distribution bien sr, mais aussi dans les tlcoms. 5

Un autre problme classique est celui de laffectation quadratique, qui, par rapport au PVC, introduit la notion de flot circulant entre les villes, et qui peut snoncer ainsi : il sagit de dterminer comment placer n objets dans n emplacements de manire minimiser la somme des produits flots par distances. Mathmatiquement, cela revient minimiser :

f
i =1 j =1

ij

d ij o f ij reprsente le flot entre lobjet i et lobjet j, et d ij la distance entre lobjet

i et lobjet j. La rpartition de btiments dans un espace donn en fonction du nombre de personnes amenes circuler entre ces btiments, ou la faon de rpartir des modules lectroniques sur une carte en fonction du nombre de connexions les liant les uns aux autres, reviennent rsoudre le problme de laffectation quadratique. Enfin, troisime problme combinatoire caractristique, lordonnancement de tches, dont lnonc classique est le suivant : soit un ensemble m de machines, un ensemble t de tches raliser, chaque tche tant compose dune certaine suite doprations. Une machine ne peut raliser quune seule opration la fois. Comment ordonner lexcution des oprations sur les diffrentes machines de telle faon que le temps mis faire tout le travail soit fait soit minimal ? Naturellement, dans la vie courante, les situations sont encore plus compliques, et il faut rajouter ces situations-types des contraintes, des particularits, certaines rgles du jeux qui viennent encore compliquer lnonc du problme rsoudre. Structure de voisinage et minimum local Soit S un ensemble de solutions un problme doptimisation, et soit f la fonction objectif. Une structure de voisinage (ou tout simplement un voisinage) est une fonction N qui associe un sous-ensemble de S toute solution s S. Une solution s N(s) est dite voisine de s. Une solution s S est un minimum local relativement la structure de voisinage N si f(s) f(s) s N(s). Une solution s S est un minimum global si f(s) f(s) s S. Certaines mthodes doptimisation, qui partent dune solution initiale et qui lamliorent en explorant son voisinage immdiat, prsentent linconvnient de sarrter au premier minimum local trouv. Comme nous le verrons plus loin, les mtaheuristiques contiennent donc souvent une technique ou une astuce permettant dviter de se retrouver pig dans ces minima locaux, en explorant davantage tout lespace des solutions, de faon augmenter la probabilit de rencontrer le minimum optimal, c'est--dire le minimum global.

Schma 2 : analogie entre une fonction numrique une variable, et la fonction de cot dun problme combinatoire

Dans le cadre de loptimisation combinatoire, en pratique, on aura tout intrt dfinir le voisinage en considrant lensemble des modifications lmentaires que lon peut appliquer une solution s donne, par exemple lensemble des permutations (si les solutions peuvent scrire sous la forme dune squence finie dlments, comme le cas se prsente frquemment en optimisation combinatoire) Si cet ensemble est trop grand, on pourra toujours le rduire un sous-ensemble, alatoirement, ou en fonction dun critre prcis. Ainsi, dans le cas du problme du voyageur de commerce, et partant dun trajet donn A B C D E, un voisinage pourra se dfinir comme lensemble des inversions de 2 villes sur le parcours (dans notre exemple, une inversion possible serait : A B D C E), ou bien comme lensemble des dplacements unitaires (dans notre exemple, un dplacement serait : A B E C D)

Mthode exacte et mthode approche Une recherche exhaustive par numration explicite de toutes les solutions est impensable pour rsoudre un problme doptimisation difficile en raison du temps de calcul induit. Dans le cas du problme du voyageur de commerce, par exemple, lespace de recherche croit en (n-1)!, o n est le nombre de villes visiter, ce qui dpasse rapidement les capacits de calcul de nimporte quel ordinateur. Avec seulement 50 villes, il faudra valuer 49! trajets, soit 6,08.10 62 trajets. Cest lexplosion combinatoire. Nanmoins, la rsolution dun tel problme doptimisation peut se faire de manire exacte, en modlisant soigneusement le problme, puis en appliquant un algorithme ad-hoc, qui carte demble lexamen de certaines configurations, dont on sait dores et dj quelles ne peuvent pas tre optimales.

Parmi les mthodes exactes, on trouve la plupart des mthodes traditionnelles (dveloppes depuis une trentaine d'annes) telles les techniques de sparation et valuation (branch-andbound), ou les algorithmes avec retour arrire (backtracking). Les mthodes exactes ont permis de trouver des solutions optimales pour des problmes de taille raisonnable. Mais malgr les progrs raliss (notamment en matire de programmation linaire en nombres entiers), comme le temps de calcul ncessaire pour trouver une solution risque d'augmenter exponentiellement avec la taille du problme, les mthodes exactes rencontrent gnralement des difficults avec les applications de taille importante. Notons quil existe ainsi des applications informatiques gnriques (AMPL, CPLEX, LINDO, MPL, OMP, XPRESS...) qui permettent lingnieur de rsoudre facilement les problmes pouvant s'crire sous une forme algbrique en variables binaires ou entires. Si les mthodes de rsolution exactes permettent d'obtenir une ou plusieurs solutions dont l'optimalit est garantie, dans certaines situations, on peut cependant se contenter de solutions de bonne qualit, sans garantie doptimalit, mais au profit dun temps de calcul rduit. On utilise pour cela une mthode heuristique, adapte au problme considr, avec cependant linconvnient de ne disposer en retour daucune information sur la qualit des solutions obtenues. Heuristique et mtaheuristique Afin damliorer le comportement dun algorithme dans son exploration de lespace des solutions dun problme donn, le recours une mthode heuristique (du verbe grec heuriskein, qui signifie trouver ) permet de guider le processus dans sa recherche des solutions optimales. Feignebaum et Feldman (1963) dfinissent une heuristique comme une rgle destimation, une stratgie, une astuce, une simplification, ou tout autre sorte de systme qui limite drastiquement la recherche des solutions dans lespace des configurations possibles. Newell, Shaw et Simon (1957) prcisent quun processus heuristique peut rsoudre un problme donn, mais noffre pas la garantie de le faire. Dans la pratique, certaines heuristiques sont connues et cibles sur un problme particulier. La mtaheuristique, elle, se place un niveau plus gnral encore, et intervient dans toutes les situations o lingnieur ne connat pas dheuristique efficace pour rsoudre un problme donn, ou lorsquil estime quil ne dispose pas du temps ncessaire pour en dterminer une. En 1996, I.H. Osman et G. Laporte dfinissaient la mtaheuristique comme un processus itratif qui subordonne et qui guide une heuristique, en combinant intelligemment plusieurs concepts pour explorer et exploiter tout lespace de recherche. Des stratgies dapprentissage sont utilises pour structurer linformation afin de trouver efficacement des solutions optimales, ou presque-optimales . En 2006, le rseau Metaheuristics (metaheuristics.org) dfinit les mtaheuristiques comme un ensemble de concepts utiliss pour dfinir des mthodes heuristiques, pouvant tre appliqus une grande varit de problmes. On peut voir la mtaheuristique comme une bote outils algorithmique, utilisable pour rsoudre diffrents problmes doptimisation, et ne ncessitant que peu de modifications pour quelle puisse sadapter un problme particulier . Elle a donc pour objectif de pouvoir tre programme et teste rapidement sur un problme.

Comme lheuristique, la mtaheuristique noffre gnralement pas de garantie doptimalit, bien quon ait pu dmontrer la convergence de certaines dentre elles. Non dterministe, elle incorpore souvent un principe stochastique pour surmonter lexplosion combinatoire. Elle fait parfois usage de lexprience accumule durant la recherche de loptimum, pour mieux guider la suite du processus de recherche. 1.2 Classification des mtaheuristiques Les mtaheuristiques ntant pas, a priori, spcifiques la rsolution de tel ou tel type de problme, leur classification reste assez arbitraire. On peut cependant distinguer : a) les approches trajectoire Ces algorithmes partent dune solution initiale (obtenue de faon exacte, ou par tirage alatoire) et sen loignent progressivement, pour raliser une trajectoire, un parcours progressif dans lespace des solutions. Dans cette catgorie, se rangent : - la mthode de descente - le recuit simul - la mthode Tabou - la recherche par voisinage variable Le terme de recherche locale est de plus en plus utilis pour qualifier ces mthodes. b) les approches population (ou volutionnaires) Elles consistent travailler avec un ensemble de solutions simultanment, que lon fait voluer graduellement. Lutilisation de plusieurs solutions simultanment permet naturellement damliorer lexploration de lespace des configurations. Dans cette seconde catgorie, on recense : - les algorithmes gntiques - les algorithmes par colonies de fourmi - loptimisation par essaim particulaire - les algorithmes estimation de distribution - le path relinking (ou chemin de liaison) Notons dores et dj que ces mtaheuristiques volutionnaires seront probablement plus gourmandes en calculs, mais on peut supposer aussi quelles se prteront bien leur paralllisation. Certains algorithmes peuvent se ranger dans les deux catgories la fois, comme la mthode GRASP, qui construit un ensemble de solutions, quelle amliore ensuite avec une recherche locale. La plupart des mthodes dveloppes ces dernires annes sont dailleurs souvent cheval sur ces deux approches. Une autre manire, plus intuitive, de classifier les mtaheuristiques consiste sparer celles qui sont inspires dun phnomne naturel, de celles qui ne le sont pas. Les algorithmes gntiques ou les algorithmes par colonies de fourmi entrent clairement dans la premire catgorie, tandis que la mthode de descente, ou la recherche Tabou, vont dans la seconde. On peut galement raisonner par rapport lusage que font les mtaheuristiques de la fonction objectif. Certaines la laissent telle quelle dun bout lautre du processus de calcul, tandis que dautres la modifient en fonction des informations collectes au cours de

lexploration lide tant toujours de schapper dun minimum local, pour avoir davantage de chance de trouver loptimal. La recherche locale guide est un exemple de mtaheuristique qui modifie la fonction objectif. Enfin, il faut distinguer les mtaheuristiques qui ont la facult de mmoriser des informations mesure que leur recherche avance, de celles qui fonctionnent sans mmoire, en aveugle, et qui peuvent revenir sur des solutions quelles ont dj examines. On distingue la mmoire court terme (celles des derniers mouvements effectus), et la mmoire long terme (qui concerne des paramtres synthtiques plus gnraux). Le meilleur reprsentant des mtaheuristiques avec mmoire reste la recherche Tabou. Dans les sans mmoire , on trouve le recuit simul par exemple.

10

ANALYSE DES PRINCIPALES MTAHEURISTIQUES


Dans ce chapitre, nous passons en revue les principales mtaheuristiques, en commenant par celles qui exploitent squentiellement un seul voisinage (approche trajectoire ), avant dtudier celles qui exploitent plusieurs solutions la fois (approche population ). La mthode de descente Le principe de la mthode de descente (dite aussi basic local search) consiste partir dune solution s et choisir une solution s dans un voisinage de s, telle que s amliore la recherche (gnralement telle que f(s) < f(s)). On peut dcider soit dexaminer toutes les solutions du voisinage et prendre la meilleure de toutes (ou prendre la premire trouve), soit dexaminer un sous-ensemble du voisinage. La mthode de recherche locale la plus lmentaire est la mthode de descente. On peut la schmatiser comme suit : Procdure descente_simple (solution initiale s) Rpter : Choisir s dans N(s) Si f(s) < f(s) alors s s Jusqu ce que f(s) f(s), sS Fin

Schma 3 : volution dune solution dans la mthode de descente

On peut varier cette mthode en choisissant chaque fois la solution s dans N(s) qui amliore le plus la valeur de f. Cest la mthode de plus grande descente. Avantages et inconvnients En gnral, lefficacit des mthodes de recherche locale simples (descente, ou plus grande descente) est trs peu satisfaisante. Dabord, par dfinition, la recherche sarrte au premier minimum local rencontr, cest l leur principal dfaut. Pour amliorer les rsultats, on peut lancer plusieurs fois lalgorithme en partant dun jeu de solutions initiales diffrentes, mais la performance de cette technique dcrot rapidement. En revanche, autoriser de temps autre une certaine dgradation des solutions trouves, afin de mieux explorer tout lespace des configurations, a conduit au dveloppement des deux

11

mthodes que nous explorons aux paragraphes suivants, savoir le recuit simul et la mthode Tabou. Le principal avantage de la recherche locale simple est videmment sa grande simplicit de mise en uvre: la plupart du temps, elle ne fait que calculer f(s+i)-f(s), o i correspond un dplacement lmentaire, et si cette expression peut se simplifier algbriquement, alors on pourra valuer trs rapidement cette diffrence. Il est important de remarquer galement limportance du choix de la fonction de voisinage N : un minimum local pour une certaine structure de voisinage ne lest pas forcment pour une autre. Cest dailleurs ce constat qui est lorigine de la mthode dite de recherche par voisinage variable, qui repose sur la construction de solutions s parmi plusieurs voisinages Ni, plutt que dans un seul. La mthode du recuit simul Le recuit simul (simulated annealing) est souvent prsent comme la plus ancienne des mtaheuristiques, en tout cas, la premire mettre spcifiquement en uvre une stratgie dvitement des minima locaux (Kirkpatrick, Gelatt, Vecchi, 1983). Elle sinspire dune procdure utilise depuis longtemps par les mtallurgistes qui, pour obtenir un alliage sans dfaut, chauffent d'abord blanc leur morceau de mtal, avant de laisser l'alliage se refroidir trs lentement (technique du recuit). Pour simuler cette volution dun systme physique vers son quilibre thermodynamique une temprature T, la mthode du recuit simul exploite l'algorithme de Mtropolis. Dans l'algorithme de Mtropolis, on part d'une configuration donne, et on fait subir au systme une modification lmentaire. Si cette perturbation a pour effet de diminuer la fonction objectif (ou nergie) du systme, elle est accepte. Sinon, elle est accepte avec la probabilit exp(E/T). En appliquant itrativement cette rgle, on engendre une squence de configurations qui tendent vers l'quilibre thermodynamique. On peut systmatiser lalgorithme avec le pseudo-code suivant : Procdure recuit_simul (solution initiale s) Poser T T0 Rpter : Choisir alatoirement sN(s) Gnrer un nombre rel alatoire r dans [0,1] Si

Mettre jour T Jusqu ce que le critre de terminaison soit satisfait Fin Et voici linterprtation de son fonctionnement : Si f(s)<f(s) alors

r<e

f ( s ) f ( s ') T

alors Poser s s

f ( s ) f ( s ') T

>1, donc r est toujours infrieur cette valeur, et on accepte la

solution s (une meilleure solution est donc toujours accepte, ce qui parat logique). 12

Si f(s)>f(s) et T est trs grand, alors Si f(s)>f(s) et T est trs petit, alors

f ( s ) f ( s ') T

1, et on il y a de fortes chances daccepter 0, et on va donc probablement refuser s

s (bien que la solution s soit plus mauvaise que s !)

f ( s ) f ( s ') T

Dans un premier temps, T tant gnralement choisi trs grand, beaucoup de solutions, mme celles dgradant la valeur de f, sont acceptes, et l'algorithme quivaut une visite alatoire de l'espace des configurations. Mais mesure que la temprature baisse, la plupart des mouvements augmentant l'nergie sont refuss, et l'algorithme se ramne une amlioration itrative classique. A temprature intermdiaire, l'algorithme autorise de temps en temps des transformations qui dgradent la fonction objectif. Il laisse ainsi une chance au systme de s'extraire d'un minimum local. Cet algorithme est parfois amlior en ajoutant une variable qui mmorise la meilleure valeur rencontre jusqu prsent (sans cela, lalgorithme pourrait converger vers une certaine solution s, alors quon avait visit auparavant une solution s de valeur infrieure f(s) !) Paramtrage Le choix de la fonction de temprature est dterminant. Tout dabord, le choix de la temprature initiale : il dpend de la qualit de la configuration de dpart. Si cette configuration est choisie alatoirement, il faut une temprature relativement leve. Si au contraire, la solution de dpart est dj assez bonne, parce quelle a t choisie par un expert du problme considr par exemple, une temprature initiale assez basse sera suffisante. On fait souvent suivre T une loi gomtrique dcroissante : Tk +1 = Tk , avec = 0.9 par exemple T peut dcrotre linairement, chaque itration, mais on peut aussi envisager une dcroissance par paliers, c'est--dire en gardant T constant, tant quun certain nombre de conditions nont pas t remplies, de faon atteindre lquilibre thermodynamique. Une fois cet quilibre atteint, on abaisse lgrement la temprature et on recommence une nouvelle chane de calculs ce nouveau palier. Dans la pratique, le processus est stopp lorsque le systme sest fig, c'est dire lorsque la temprature a atteint la valeur nulle ou bien lorsque plus aucun mouvement accroissant l'nergie n'a t accept au cours du palier : par exemple, lorsque trois paliers successifs de temprature ont t descendu sans quaucune solution nouvelle nait pu tre trouve. Le choix de T0 pourra se faire exprimentalement, pralablement au processus doptimisation proprement dit. En calculant lvolution du systme pendant un temps trs limit, on peut acqurir une connaissance sommaire de lespace des configurations, partir de laquelle on dtermine T0 : en maintenant T 0, on estime la moyenne des variations dnergie =f(s)f(s), et on pose T0 = r , avec r>>1 (r=10 typiquement)

13

Variante Dans lalgorithme dacceptation avec seuil (threshold algorithm), le critre de Mtropolis est cart, et la dcision daccepter des solutions plus mauvaises que la solution courante est prise de faon dterministe : chaque itration k, s est accept si r(s',s) < Tk La fonction r(s',s) et le seuil Tk peuvent tre dfinis de plusieurs manires. Dans le cas le plus simple, on peut poser r(s',s) = f(s') - f(s) Ainsi, quand Tk est grand, la plupart des solutions sont acceptes, mais mesure que T tend vers 0, f(s)-f(s) doit tre de plus en plus petit pour quune plus mauvaise solution puisse tre lue, et l'algorithme finit par raliser une recherche de descente alatoire. La difficult essentielle de cette approche se situe au niveau de la dtermination des seuils pour une application donne. On remarque que certains problmes rsolus efficacement par lalgorithme du recuit continuent ltre avec lacceptation avec seuil. Avantages et inconvnients Le recuit simul prsente lavantage doffrir des solutions de bonne qualit, tout en restant simple programmer et paramtrer. Il offre autant de souplesse demploi que lalgorithme de recherche local classique : on peut inclure facilement des contraintes dans le corps du programme. Aarts, Korst et Laarhoven (1997) ont par ailleurs dmontr que, sous certaines conditions de dcroissance de la temprature, lalgorithme du recuit simul converge en probabilit vers un optimum global lorsque le nombre ditrations tend vers linfini. Lun des inconvnients du recuit simul est quune fois l'algorithme pig basse temprature dans un minimum local, il lui est impossible de s'en sortir tout seul. Plusieurs solutions ont t proposes pour tenter de rsoudre ce problme, par exemple en acceptant une brusque remonte de la temprature, de temps en temps, pour relancer la recherche sur dautres rgions plus loignes. Il est galement possible dempcher la temprature de descendre trop bas : on lui donne une valeur minimale au del de laquelle on ne change plus de palier de temprature. Mais si cette valeur est trop grande, l'algorithme passera son temps augmenter et diminuer son nergie car il acceptera trop de perturbations dgradantes et il n'arrivera pas explorer fond une valle. Ainsi, il est fort possible que lalgorithme arrive "trouver" la valle dans laquelle se cache un minimum global, mais il aura beaucoup de mal l'explorer et donc risque de s'en loigner sans avoir dcel la solution au problme Cest l le principal problme du recuit : le paramtrage de la temprature peut tre rebutant et trs empirique. On constate galement quil faut une diminution de la temprature suffisamment lente , donc un certain nombre ditrations, pour voir la solution samliorer. Corrlativement, le temps de calcul devient parfois excessif avec certaines applications, et lalgorithme exige en particulier le calcul dune exponentielle. Applications Lalgorithme du recuit simul a montr son efficacit sur les problmes combinatoires classiques, surtout sur les chantillons de grande taille. Par exemple, lexprience a montr quil ne devenait vraiment efficace sur le problme du voyageur de commerce quau-del 14

denviron 800 villes. Il a t test avec succs sur le problme du partitionnement de graphe. Des analyses ont montr quil tait efficace avec certaines catgories de problme o lensemble des solutions possdent certaines proprits particulires. Ceci expliquerait le succs du recuit simul dans le domaine du placement des circuits lectroniques, o il est trs employ. La mthode Tabou La mthode Tabou est une technique de recherche dont les principes ont t proposs pour la premire fois par Fred Glover dans les annes 80, et elle est devenue trs classique en optimisation combinatoire. Elle se distingue des mthodes de recherche locale simples par le recours un historique des solutions visites, de faon rendre la recherche un peu moins aveugle . Il devient donc possible de sextraire dun minimum local, mais, pour viter dy retomber priodiquement, certaines solutions sont bannies, elles sont rendues taboues . A l'inverse du recuit simul qui gnre de manire alatoire une seule solution voisine s ' N ( s) chaque itration, Tabou examine un chantillonnage de solutions de N(s) et retient la meilleure s mme si f(s)>f(s). La recherche Tabou ne s'arrte donc pas au premier optimum trouv. Le danger serait alors de revenir s immdiatement, puisque s est meilleure que s. Pour viter de tourner ainsi en rond, on cre une liste T qui mmorise les dernires solutions visites et qui interdit tout dplacement vers une solution de cette liste. Cette liste T est appele liste Tabou. Mmoire court terme Mmoriser les configurations telles quelles peut savrer extrmement gourmant en mmoire, et on prfrera plutt conserver une caractristique, un attribut de chaque configuration, typiquement, la valeur de la fonction objectif prise en chaque configuration. Mais il serait absurde dinterdire dfinitivement une valeur. Plusieurs configurations diffrentes peuvent en effet donner la mme valeur de fonction objectif, et lon risquerait ainsi de sinterdire des chemins qui permettraient de schapper vers autre valle, plus profonde et prometteuse. Les solutions ne demeurent donc dans T que pour un nombre limit ditrations. Une premire manire, simple, de raliser cette mmorisation consiste construire une table de hachage sous la forme dun tableau dentiers, dans lequel on vient stocker une une les valeurs des solutions que lon a visites, comme dans une pile FIFO. Pour autoriser de nouveau une certaine valeur, on enregistre le numro de litration partir duquel la solution sera de nouveau autorise, cest--dire la valeur actuelle de litration, laquelle on ajoute une certaine constante t. On vite ainsi la formation de tout cycle de longueur au moins t: Soit T un tableau dune certaine taille maximale. Si f ( s k ) est la valeur suppose entire de la solution s litration k, on place la valeur k + t dans T[ f ( s k ) ]. Il faudra attendre darriver litration k + t, pour que la solution de valeur f ( s k ) soit autorise de nouveau. 15

Cette manire de procder ne marche que si f prsente un grand ventail de valeurs diffrentes, ce qui nest pas forcment le cas en optimisation combinatoire. On peut donc utiliser autre chose que la fonction objectif comme fonction de hachage, par exemple, on peut recourir une combinaison de sommes et de produits calcule partir des coordonnes de chaque solution (si les solutions peuvent scrire sous forme dun vecteur). On peut galement utiliser plusieurs fonctions de hachage simultanment. Plutt que de mmoriser des attributs, une autre technique consiste mmoriser les changements oprs dans le passage dune configuration une autre, particulirement dans les problmes combinatoires o les mouvements peuvent se reprsenter sous forme de permutations lmentaires. Par exemple, dans lvaluation de la liste des trajets suivant : A B C D B A C D B C A D D C A B A C D B A B D C on aura mmoris la liste de permutation interdites : BA, CA, DB, DA, et CB Mais il faut remarquer que, ce faisant, on ne sempche pas de revenir une configuration dj visite par un autre chemin. Ainsi, dans lexemple ci-dessus, on voit quil est possible de revenir ABCD, en inversant C et D dans le dernier trajet ABDC Plutt que de mmoriser des permutations interdites, on peut alors dcider de mmoriser plutt des couples de positions lmentaires, par exemple en sinterdisant de remettre llment i la place pi, et llment j la place pj. Par ailleurs, en sinterdisant ainsi certaines permutations, un mouvement qui aboutirait une solution meilleure que toutes celles dj visites risquerait dtre cart. Pour viter cela, on incorpore dans lalgorithme des critres daspiration, qui autorisent certains mouvements, bien quinterdits par la liste Taboo, parce quon suppose quils vont amliorer la recherche. Typiquement, une solution s est toujours autorise si sa valeur f(s) est meilleure que toutes les solutions rencontres jusquici. Lalgorithme gnral peut se reprsenter avec le pseudo-code suivant : Si on nomme NT (s) toutes les solutions qui ne sont pas taboues ainsi que celles qui le sont mais dont le statut tabou est lev en raison des critres daspiration : NT(s) = { sN(s) tel que sT ou f(s) < f(s*) } Procdure methode_Tabou (solution initiale s) poser T et s* s; Rpeter Choisir squi minimise f(s) dans NT(s) Si f(s) < f(s*) alors poser s* s Poser s s et mettre jour T Jusqu ce que le critre de terminaison soit satisfait Fin Comme critre darrt on peut par exemple fixer un nombre maximum ditrations sans amlioration de s*, ou bien fixer un temps limite aprs lequel la recherche doit sarrter.

16

Sil tait statique dans les premires implmentations sur la mthode Tabou dans les annes 80, le nombre ditrations pendant lesquelles un mouvement est interdit varie gnralement au cours du temps, de faon alatoire, ou en fonction de certains critres. Application au problme dordonnancement de tches Supposons que nous disposions de 6 machines et de 6 pices, et que chaque pice doive passer une fois sur chaque machine. Pour fixer les ides, supposons de plus que les temps de passage en seconde par pice et par machine soient les suivants : P1 P2 P3 P4 P5 P6 M1 29 43 85 71 6 47 M2 78 28 91 81 22 2 M3 9 90 74 95 14 84 M4 36 69 39 92 98 95 M5 49 75 33 99 90 6 M6 11 46 10 43 61 52

Une premire solution, vidente, consiste faire passer sur chaque machine les pices dans lordre des pices : la machine 1 reoit la pice 1, puis la pice 2, puis la pice 3, etc. Ds que la pice 1 a t usine sur la machine M1, elle passe sur la machine 2, qui reoit ensuite la pice 2 lorsque celle-ci a t rendue par la machine 1, et ainsi de suite M1 M2 M3 M4 M5 M6 1 1 1 1 1 1 2 2 2 2 2 2 Squences des pices 3 4 3 4 3 4 3 4 3 4 3 4 5 5 5 5 5 5 6 6 6 6 6 6

On calcule le cot de production correspondant cette solution, f(i) = 1638. Dfinissons notre voisinage comme lensemble des permutations quil est possible de faire, sur une machine, entre deux pices, tout en respectant les contraintes dordonnancement. Une implmentation de lalgorithme Tabou pourrait tre : Posons i* = i et OptCourant = 1638 Tant quil ne se passe pas 100 itrations conscutives sans amlioration de i* Dterminer lensemble des permutations autorises N(i) Poser SolOptLoc = 100000 (une trs grande valeur arbitraire) Pour chaque permutation i dans N(i), faire : Si f(i) < SolOptLoc et que la permutation nest pas tabou, ou que f(i) < OptCourant, alors on retient la permutation et on pose SolOptLoc = f(i) Modifier la solution courante i avec la meilleure permutation trouve (meilleure solution voisine) 17

Ajouter cette permutation dans la matrice Tabou (elle sera taboue pour les 6 prochaines itrations) Si f(i)< OptCourant , alors i* = i et OptCourant = f(i) Fin tant que Une liste Tabou pour un tel problme serait le tableau : Permutation 5 6 6 5 5 4 4 5 3 4 4 3 Machine 4 4 4 4 2 2 Itration 7 7 8 8 9 9

Par exemple, ici, on a commenc par changer les pices 5 et 6 sur la machine 4. Tout mouvement entre ces 2 pices est donc prohib jusqu la 7me itration. Mmoire long terme La prohibition de certains mouvements a un impact ngatif : si le nombre t de mouvements interdits est trop court, il y a risque de cyclage, mais sil est trop grand, cela peut perturber la recherche en empchant lalgorithme dexploiter en profondeur une valle. Une mmoire statistique, base sur la frquence dapparition de certains mouvements, permet de conserver un nombre de mouvements interdits raisonnables, tout en prvenant la formation de cycle de grande largeur. Plutt que dinterdire un mouvement trop souvent utilis, on va le pnaliser. En plus de mmoriser la frquence dapparition, on peut galement invoquer la rcence dune solution (plus un mouvement a t rcemment utilis, plus il est pnalis), ou bien mmoriser la qualit des mouvements : plus un mouvement a dbouch sur des solutions amliorant significativement la valeur de la fonction objectif, plus il est favoris. Cette dernire technique est connue sous le nom de mmoire adaptative, et a t dveloppe par Rochat et Taillard. On peut lemployer par exemple dans le problme de tournes de vhicule, en mmorisant les routes qui ont donn les meilleurs rsultats jusqu prsent. Avantages et inconvnients La mthode Tabou est une mthode de recherche locale, et la structure de son algorithme de base est finalement assez proche de celle du recuit simul, donc on passera donc de lun lautre facilement, avec lavantage, par rapport au recuit simul, davoir un paramtrage simplifi : dans un premire temps, le paramtrage consistera dabord trouver une valeur indicative t ditrations pendant lesquelles les mouvements sont interdits. Il faudra galement dcider dune stratgie de mmorisation long terme sur la qualit des solutions, sur leur rcence, ou sur leur qualit En revanche, la mthode Tabou exige une gestion de la mmoire de plus en plus lourde mesure que lon voudra raffiner le procd en mettant en place des stratgies de mmorisation complexe. 18

Lefficacit de la mthode Tabou fait quelle est largement employe dans les problmes doptimisation combinatoire : elle a t teste avec succs sur les grands problmes classiques (voyageur de commerce, ordonnancement d'ateliers) et elle est frquemment applique sur les problmes de constitution de planning, de routage, dexploration gologique, etc.

La mthode GRASP La mthode GRASP (pour Greedy Randomized Adaptative Search Procedure) est une mtaheuristique simple, dveloppe la fin des annes 90 par Feo et Resende. Elle est adapte aux problmes dont les solutions se construisent pas pas, comme le problme dordonnancement de tches, dont la solution consistera en une certaine suite doprations ordonner sur des machines. Son algorithme contient deux phases : - une phase de construction dune solution - une tape damlioration de la solution La phase damlioration sera souvent faite grce une autre mtaheuristique, une recherche locale simple par exemple. Ce qui est tout fait caractristique de la mthode GRASP, cest sa phase de construction de la solution. Pour ce faire, lalgorithme maintient jour une liste de fragments de solutions possibles (RCL, restricted candidate list). Par exemple, dans le problme de lordonnancement de tches, la RCL sera compose dune slection doprations lmentaires restant encore ordonner. La solution se construit donc pas pas en allant piocher les oprations programmer dans cette RCL, qui est mise jour mesure que slabore la solution. Deux points sont remarquer : - la RCL est mise jour avec des lments slectionns en fonction dune heuristique spcifique, adapte au problme considr. - le choix dun lment dans la RCL pour construire la solution est alatoire. La taille de la RCL est un paramtre important. Dans un cas extrme, sa taille vaut 1, et lalgorithme se ramne appliquer compltement lheuristique au problme. Par exemple, si le problme est celui du voyageur de commerce, et que lheuristique repose sur le choix de larc de cot minimal, lalgorithme revient appliquer lheuristique de linsertion du plus proche voisin. Si au contraire la taille de la liste est gale au nombre de villes, on est ramen une slection des solutions compltement alatoire. Procdure methode_GRASP () { s* Rpeter s ConstruireSolution() Amliorer(s) Si f(s) < f(s*) alors s* s Jusqu ce que le critre de terminaison soit satisfait Fin

19

} Procdure ConstruireSolution() { S Tant que s nest pas complte { RCL GenererCandidat(s) x ChoisirAuHasard(RCL) s s U {x}; } Retourner s } Avantages et inconvnients La mthode GRASP est relativemment simple programmer, et permet damliorer les rsultats dune simple recherche locale. Elle permet galement de faire intervenir une heuristique spcialise. Elle ne ncessite que peu de paramtrage : la taille de la liste, qui permet dquilibrer la quantit dadaptativit (lheuristique) et le facteur stochastique. Elle ncessite de plus peu de calculs supplmentaires par rapport une recherche locale simple. Elle est en revanche moins performante que dautres mtaheuristiques, essentiellement du fait de son absence de mmoire : comme avec une recherche locale simple, rien ne garantit que lalgorithme ne va pas, plusieurs reprises, explorer des zones trs similaires et retomber sur les mmes minima locaux.

Les algorithmes gntiques Avec les algorithmes volutionnaires, nous passons une autre catgorie de mtaheuristiques, celles des mthodes dites volutionnaires, qui manipulent un ensemble de plusieurs solutions simultanment. La mtaheuristique la plus connue dans cette branche est celle reposant sur un algorithme gntique, inspir du concept de slection naturelle labor par Darwin. Ici, le vocabulaire employ est directement calqu sur celui de la thorie de l'volution et de la gntique. Nous parlerons donc dindividus, pour parler de solutions (compltes, ou partielles). Lensemble des individus formera une population, que nous ferons voluer pendant une certaine succession ditrations appeles gnrations, jusqu ce quun critre darrt soit vrifi. Pour passer dune gnration une autre, nous soumettrons la population des oprateurs de slection. Les oprateurs de variation, eux, permettront de transformer la population, de faon favoriser lmergence de meilleurs individus. Ces oprateurs sont dfinir en fonction du problme considr. Par exemple, dans le cas du voyageur de commerce, une certaine tourne sera reprsente par un individu, caractris par une certaine succession de villes. Un oprateur transformera cet individu en modifiant les villes qui le constitue, en prenant soin de respecter les contraintes du problme donn, en loccurrence ici, lobligation que chaque ville ne soit prsente quune seule fois dans la tourne.

20

On dfinit galement la fonction de performance (fitness), qui traduit la capacit dadaptation des individus au problme considr. Cette fonction, que lalgorithme gntique cherche maximiser, est troitement dpendante de la fonction objectif. Principe de lalgorithme gntique Lalgorithme gntique repose sur une boucle qui enchane des tapes de slections et des tapes de croisements. Dans un premier temps, partir dune population de individus, on dsigne ceux autoriss se reproduire. On croise ensuite ces derniers, de faon obtenir une population denfants, dont on peut faire muter alatoirement certains gnes. La performance des enfants est value, grce la fonction fitness, et lon dsigne, dans la population totale rsultante parents+enfants, les individus autoriss survivre, de telle manire que lon puisse repartir dune nouvelle population de individus. La boucle est boucle, et lon recommence une phase de slection pour la reproduction, une phase de mutation, et ainsi de suite. Comme pour les mtaheuristiques vues prcdemment, un critre darrt permet de sortir de la boucle, par exemple un certain nombre ditrations sans amlioration notable de la performance des individus.

Schma 4 : principe de fonctionnement dun algorithme gntique

Oprateurs de slection Il y a donc deux tapes de slection : lune pour dterminer quels seront les n lments, parmi les individus de la population totale qui vont se reproduire entre eux, et former enfants. Et une seconde tape pour dterminer quels sont ceux qui vont survivre. Ces nombres , n et sont des paramtres de lalgorithme, fixs par loprateur, qui peuvent conduire diffrents scnarios, par exemple, loprateur peut dcider qu chaque gnration, les enfants remplacent tous les parents. Ou au contraire, il peut dcider de faire se conserver la plupart des parents dune gnration lautre, et ne faire intervenir quun petit nombre denfants chaque fois. Slection dterministe

21

Cest la mthode de slection la plus simple mettre en uvre, puisquelle consiste choisir les n meilleurs individus parmi la population, n tant un paramtre fix (gal la moiti de la population par exemple) Elle prsente linconvnient de faire se conserver les lments ayant une mauvaise performance, si la performance de la population est globalement mauvaise. Slection par tournois Lide de cette mthode est de slectionner alatoirement un nombre k dindividus dans la population, et de choisir parmi eux celui qui a la meilleure performance. On organise autant de tournois quil y doit y avoir dindividus slectionner. On peut dcider de faire des tirages avec, ou sans remise. Le tirage sans remise permet dviter de favoriser excessivement un individu. Dans la mesure o seul lordre des lments importe dans la slection par tournois, il est parfois possible simplifier lvaluation de la fonction objectif, et donc de gagner en temps de calcul. Slection proportionnelle Dans la mthode proportionnelle, le nombre espr de slections dun individu est proportionnel sa performance. Pour expliciter cela, imaginons une roulette de casino, qui comporterait autant de cases que dindividus, et dont la taille des cases serait proportionnelle la performance des individus. Chaque slection est alors dtermine par le lancer dune bille sur la roulette. Ainsi, avec une population de quatre individus, dont les valeurs de performance seraient de 169, 576, 64 et 361, on obtiendrait la roulette suivante :

Avec cette technique, il faut sarranger pour que fi prenne des valeurs positives, en bornant infrieurement la fonction 0, ou une trs petite valeur, pour que tout individu, mme mauvais, ait quelque chance dtre slectionn. La slection proportionnelle risque cependant de favoriser excessivement un trs bon individu au dtriment des autres. Pour viter cela, on peut se contenter dun seul tirage alatoire, qui fixe le premier lment slectionn, les autres tant dtermins partir de la position du premier, selon une succession de points quidistants. fi * 5 * 4 1 * 10 * 4 *

Par exemple : ici, un premier jet a lu lindividu de performance 5 : on a plac une toile sur le ruban, au niveau de la case 5. Puis, un certain offset a dtermin les quatre autres enfants (on voit sur le schma que la distance entre chaque toile est fixe). Cest ainsi que, dans notre exemple, que lindividu de performance 1 nest pas slectionn.

22

Cette mthode (Stochastic Universal Sampling) a lavantage de pnaliser les mauvaises solutions, sans mettre trop en avant les meilleures. Oprateurs de variation On distingue les oprateurs de croisement, qui gnrent de nouveaux individus partir de plusieurs (un couple, le plus souvent), et les oprateurs de mutation, qui transforment un seul individu. Il ny a pas de rgle absolue pour construire des oprateurs de croisement. Il est possible dapparier au hasard, mais en gnral, on prfrera dfinir une distance dans lespace de recherche, et combiner les individus proches selon cette distance. Par exemple, dans un algorithme gntique appliqu un problme de rgulation de transport, on associera ensemble des individus gnrant peu de conflits, ou le moins de retards. Pour pouvoir croiser, il faut dj reprsenter les solutions. Cest dans les annes 60 que John Holland, le pre des algorithmes gntiques, a mis au point un systme de reprsentation binaire, inspir du modle phnotype-gnotype du monde vivant. Ce modle est devenu classique, quoique controvers. Dans ce systme, les solutions du problme sont comparables des chromosomes, et sont constitues dune srie de gnes, chaque gne tant associ une squence de bits, une chane binaire code en fonction dune rgle de conversion particulire. Croiser des individus consiste alors croiser les squences binaires de deux parents, pour former les gnomes des enfants. Il existe plusieurs mthodes : Dans le croisement par point, le gnome des deux enfants est constitu dune partie de chacun des deux parents, par coupure et change. Dans le croisement uniforme, on gnre un masque binaire, de mme longueur que le gne, qui dtermine lopration applique sur le gne des enfants (copie intacte, ou croisement des bits, selon la valeur des bits du masque).

Schma 5 : les diffrents types de croisements

Dans certains problmes, on reprsente les individus sous forme darbre binaire, et le croisement se fera par coupure et inversion des branches : ceci est tout fait adapt la rsolution de problme de calculs formels par exemple.

23

Dans la mutation binaire, on modifie de temps en temps, avec une faible probabilit, les gnes des enfants : quelques bits, dans le gne dun individu, sont inverss (un 0 devient un 1, un 1 devient un 0). Ce nombre de bits modifis peut tre fixe, ou choisi alatoirement. La mutation permet bien sr dintroduire de la varit dans la population, et explorer davantage lespace de recherche, mais si la mutation sapplique trop souvent, lalgorithme gntique revient faire une marche alatoire dans lespace des solutions.

Avantages et inconvnients Dabord, les algorithmes gntiques sont coteux en temps de calcul, puisquils manipulent plusieurs solutions simultanment. Cest le calcul de la fonction de performance qui est le plus pnalisant, et on optimise gnralement lalgorithme de faon viter dvaluer trop souvent cette fonction. Ensuite, lajustement dun algorithme gntique est dlicat. Lun des problmes les plus caractristiques est celui de la drive gntique, qui fait quun bon individu se met, en lespace de quelques gnrations, envahir toute la population. On parle dans ce cas de convergence prmature, qui revient lancer une recherche locale autour dun minimum qui nest pas forcment loptimum attendu. Les mthodes de slection proportionnelle peuvent en particulier favoriser ce genre de drive. Un autre problme surgit lorsque les diffrents individus se mettent avoir des performances similaires : les bons lments ne sont alors plus slectionns, et lalgorithme ne progresse plus. Le choix dune reprsentation intelligente pour permettre un remplacement gnrationnel efficace est un autre aspect de la question, et lefficacit dun algorithme gntique dpend beaucoup de la faon dont on opre le croisement des individus. Ainsi, dans le cas du problme du voyageur de commerce, on peut envisager dapparier selon la mthode des coupures, telles que nous lavons vu plus haut. Considrons les deux tournes suivantes, et oprons une coupure entre la troisime et la quatrime ville, puis inversons les gnes : Parent 1 : Parent 2 : On obtient alors les successeurs : Enfant 1 : Enfant 2 : AFBCDE CBAFED AFBCED CBAFDE

Ici, des trajets initiaux, on na gard que les trois premires villes (A F B), et on a plac dans lenfant 1 les villes qui ne sont pas prsentes dans la premire partie (C D E), dans l'ordre o elles apparaissent dans le parent 2. On a fait le contraire pour lenfant 2.

24

Mais on pourrait galement recomposer en fonction du nombre dadjacences de villes communes entre les deux parents. Si deux tournes possdent des villes adjacentes en commun, il peut tre intressant que les trajets enfant les contiennent aussi. Des mthodes spcifiques de remplacement gnrationnel ont ainsi t labores, comme le edge-3 de Mathias et Whitley, qui ont montr leur grande efficacit. Mais il faut du temps pour se consacrer ltude et la mise en place de bons oprateurs gntiques, face un problme donn, et un algorithme gntique est sans doute plus dlicat faire fonctionner du premier coup quun algorithme du recuit simul. Le grand avantage des algorithmes gntiques est quils parviennent trouver de bonnes solutions sur des problmes trs complexes, et trop loigns des problmes combinatoires classiques pour quon puisse tirer profit de certaines proprits connues. Ils doivent simplement dterminer entre deux solutions quelle est la meilleure, afin doprer leurs slections. On les emploie dans les domaines o un grand nombre de paramtres entrent en jeu, et o lon a besoin dobtenir de bonnes solutions en quelques itrations seulement dans les systmes de rgulation de transport en temps rel par exemple. Par ailleurs, les algorithmes gntiques se prtent bien, du fait de leur traitement simultan de solutions, la recherche doptimum multiples : en crant une fonction de cot partage, dont la valeur dpend partiellement de la distance entre les individus, on voit se former graduellement des sous-populations dindividus, qui se stabilisent autour des diffrents pics de la fonction objectif. Cest la technique du nichage par la mthode du partage.

Les algorithmes de colonies de fourmi Comme les algorithmes gntiques, les algorithmes de colonies de fourmi font voluer une population d agents , selon un modle stochastique. Cet algorithme est encore inspir de la nature et de son organisation, et a t mis au point par Doringo au dbut des annes 90. Son principe repose sur le comportement particulier des fourmis qui, lorsquelles quittent leur fourmilire pour explorer leur environnement la recherche de nourriture, finissent par laborer des chemins qui savrent frquemment tre les plus courts pour aller de la fourmilire une source de nourriture intressante. Chaque fourmi laisse en effet derrire elle une trane de phromone lattention de ses congnres ; les fourmis choisissant avec une plus grande probabilit les chemins contenant les plus fortes concentrations de phromones, il se forme ainsi ces autoroutes fourmis, qui sillonnent le paysage. Ce mode de communication particulier, qui fait intervenir des modifications dans lenvironnement, est appel stigmergie.

Schma 6 : recueil de ressources par des fourmis

25

Principe de lalgorithme Le premier algorithme conu selon ce modle tait destin rsoudre le problme du voyageur de commerce, et cest sous cette forme que nous le prsentons dans les lignes suivantes. Nous dirons ensuite quelques mots de la gnralisation laquelle cet algorithme a donn lieu. Le principe consiste lancer des fourmis, et les laisser laborer pas pas la solution, en allant dune ville lautre. Cest donc un algorithme qui repose sur la construction progressive de solutions, un peu comme dans la mthode GRASP, qui inclue galement une phase de construction. Afin de ne pas revenir sur ses pas, une fourmi tient jour une liste Tabou, qui contient la liste des villes dj visites. Soit A un ensemble de k fourmis : Rpeter : Pour i=1 k faire ConstruireTrajet(i) Fin Pour MettreJourPheromones() Jusqu ce que le critre de terminaison soit satisfait. Dans la procdure ConstruireTrajet(i), chaque fourmi se construit une route en choisissant les villes selon une rgle de transition alatoire trs particulire : Si pij (t ) est la probabilit qu litration t la fourmi k choisisse daller de la ville i la ville j, alors on a :
k

p (t ) =
k ij

( ij (t )) (ij ) ( il (t )) (il )

k si j J i

lJ ik

k pij (t ) = 0

k si j J i

o :

ij (t ) dsigne le taux de phromone sur la route ij litration t


ij dsigne linverse de la distance sparant les villes i et j.
et sont deux paramtres contrlant respectivement linfluence du taux de phromone sur le trajet ij, et linfluence de la distance sur le trajet ij

En dautres termes, plus il y a de phromone sur le trajet reliant deux villes, plus la probabilit est grande que la fourmi emprunte ce trajet. Mais ceci est contrebalanc par la longueur du trajet. et permettent de rgler leffet de ces paramtres.

26

Lorsque toutes les fourmis ont construit une solution, la procdure MettreJourPheromones() modifie les taux de phromone sur les routes en fonction des trajets effectivement emprunts par les fourmis, selon la formule : Q k ij (t ) = k si le trajet (i,j) est dans la tourne de la fourmi k L (t ) Q est une constante, et Lk (t ) est la longueur totale de la tourne de la fourmi k. On constate donc que plus la route suivie par la fourmi a t courte, plus grande est donc la quantit de phromone laisse derrire elle. Pour viter que des chemins ne se forment trop vite, et ne convergent trop rapidement vers des optima locaux, on introduit le concept dvaporation des pistes de phromone, au travers du paramtre (0< 1) dans la formule complte de mise jour suivante :

ij (t + 1) = (1 ) ij (t ) + ij (t )
x Avec ij (t ) = x =1 ij (t ) , et k le nombre de fourmis. k

Il est galement possible dintroduire des modifications des taux de phromone par un processus dmon, indpendamment des itrations des fourmis. Ceci permet de biaiser lvolution du systme, afin dintroduire le rsultat de certaines recherches locales, ou pour viter des convergences prmatures. Paramtrage Les spcialistes conseillent de dmarrer lalgorithme avec autant de fourmis quil y a de villes. Linitialisation du taux de phromone initial est souvent donn par la formule : 0 = (n Lnn ) 1 avec n le nombre de villes et Lnn la longueur dun tour trouv par la mthode du plus proche voisin.

: lalgorithme trouve la meilleure solution sans entrer dans un tat de stagnation. : lalgorithme ne trouve aucune bonne solution, sans entrer dans un tat de stagnation. : lalgorithme ne trouve aucune bonne solution, et entre dans un tat de stagnation.

Schma 7 : exemple dinfluence des paramtres et

Le schma ci-dessus montre quavec trop grand, les pistes de phromone prennent trop dimportance, toutes les fourmis sengagent systmatiquement sur le mme chemin et ne sen 27

cartent plus : lalgorithme stagne. Gnralisation et variantes Lalgorithme de colonies de fourmi a pu sadapter dautres problmes que le voyageur de commerce, en attribuant une signification plus gnrale aux facteurs et . d est la force gloutonne : plus cette valeur est grande, plus il semble intressant de faire le choix d. En gnral, cette valeur est directement proportionnelle la qualit de la solution partielle obtenue en prenant la dcision d. d (t ) reprsente lintrt historique qua la fourmi de prendre la dcision d. Plus cette quantit est grande, plus il a t intressant dans le pass de prendre cette dcision d. Cette grandeur joue donc un rle analogue celui de la mmoire dans la recherche Tabou. Dans le cadre du problme du voyageur de commerce, ij reprsente gnralement lintrt quil y a de visiter la ville j aprs la ville i. Cet intrt, nous lavons vu, est naturellement valu au regard de lamlioration de la fonction objectif constate aprs emprunt du trajet ij. Lalgorithme de colonies de fourmi a dbouch sur une gnralisation appele Ant Colony System, plus efficace sur les problmes de grande taille. Elle introduit un certain nombre de modifications de fonctionnement : k La rgle de transition alatoire pij (t ) , comme nous lavons dfinie ci-dessus, nest plus systmatiquement applique. On laisse ainsi de temps en temps une fourmi choisir des artes uniquement parmi celles dj visites. Ceci permet de contraindre les fourmis explorer davantage les rgions o elles se trouvent. La gestion des pistes de phromone est galement modifie, et se fait de deux manires diffrentes : - globalement, la fin de la construction dune solution - pas pas, de ville en ville Une autre variante est lalgorithme Max-Min, qui introduit quelques particularits, dont les plus remarquables sont : - seule la meilleure fourmi met jour une piste de phromone - les valeurs des pistes sont bornes - la mise jour dune piste phromone est inversement proportionnelle sa valeur : les pistes les plus fortes sont donc moins renforces que les plus faibles Ceci permet dviter que la probabilit de slectionner certaines solutions ne finisse par devenir ngatives, tout en vitant le surinvestissement de certaines pistes. Avantages et Inconvnients Bien que conu au dpart pour le problme du voyageur de commerce, lalgorithme de colonies de fourmi offre finalement beaucoup de souplesse, et il a t possible de ladapter tous les grands problmes combinatoires classiques. Par exemple, avec le problme des tournes de vhicules, on utilise deux colonies de fourmi simultanment, chacune grant ses

28

propres pistes de phromone : une colonie minimise le nombre de vhicules utiliss, et une autre minimise le cot total des tournes. Par ailleurs, lalgorithme de colonies de fourmi se paralllise de faon trs naturelle, en affectant par exemple un processus diffrent pour traiter la marche de chaque fourmi, et un autre pour mettre jour les pistes de phromones. Il est galement possible, nous lavons vu, dhybrider lalgorithme, en tenant compte du rsultat de certaines recherches locales menes indpendamment de la marche des fourmis. Une mthode dhybridation avec un algorithme gntique a mme t tente rcemment. Lalgorithme, de par son dynamisme intrinsque, sadapte aussi trs bien aux espaces de solutions qui varient dynamiquement dans le temps. Les algorithmes de colonies de fourmi ont t appliqus avec succs sur les problmes daffectation quadratique, de routage et de planification, et ils ont t la source dinspiration de nouvelles mtaheuristiques, comme celles des essaims particulaires.

29

STRATGIES DE RECHERCHE
Un certain nombre de proprits se retrouvent dans toutes les mtaheuristiques, et jouent un rle prpondrant dans leur efficacit face un problme donn. Intensification et diversification Si les concepts dintensification et de diversification ont dabord t introduits par Glover au sujet de la recherche Tabou, ils nen sont pas moins applicables toute mtaheuristique. Par intensification, on entend lexploitation de linformation rassemble par le systme un moment donn. Cest ce qui permet lamlioration de la valeur dune solution trouve dans un certain voisinage. Par diversification, on entend au contraire lexploration de lespace de recherche encore inconnu. Elle est gnralement obtenue par des processus stochastiques. Les mtaheuristiques de type trajectoire reposent intrinsquement sur une recherche locale, et consacrent une bonne partie de leur temps inspecter des sections restreintes de lespace de recherche. Chacune des mthodes que nous avons vues de ce type (recuit, Tabou, GRASP) contient donc un principe pour introduire de la diversification, dans un schma de fonctionnement plutt intensif et local la base. Dans lalgorithme du recuit simul : Lorsque lalgorithme commence, la temprature est choisie trs leve,
f ( s ) f ( s ') T

est donc

proche de 1 et la plupart des solutions choisies alatoirement dans le voisinage de la solution courante sont acceptes : on est en phase dexploration. On fait dcrotre T de faon linaire, et il devient plus difficile de sauter dune rgion une autre : lalgorithme commence se figer dans une certaine rgion de lespace des configurations. Lorsque T a acquis une faible valeur, lalgorithme se conduit comme une simple recherche locale : on est en phase dintensification. Pour que celle-ci soit suffisante, on peut faire dcrotre plus lentement T, ou attendre suffisamment longtemps . Il est galement possible dopter pour un schma de refroidissement non monotone, en faisant brutalement remonter la temprature, avant de la rabaisser graduellement : on peut ainsi explorer de nouveau lespace des configurations. Dans la mthode Tabou : Comme lalgorithme du recuit dans sa phase de refroidissement, la recherche Tabou repose sur une forme dintensification intrinsque. Pour accentuer lintensification, les proprits communes souvent rencontres dans les meilleures configurations visites sont mmorises au cours de la recherche, puis favorises pendant la priode d'intensification. Une autre manire d'appliquer l'intensification consiste mmoriser une liste de solutions de bonne qualit et retourner rgulirement vers une des ces solutions. La taille de la liste Tabou est galement un facteur de rglage : plus la taille de la liste est petite, plus lalgorithme explore des petites rgions. Plus la taille est grande, plus la recherche est contrainte de soprer sur de plus larges tendues. Il est possible de faire en sorte que la se rgle automatiquement : si le systme constate que certaines solutions reviennent rgulirement, il peut dcider daugmenter dynamiquement la taille de la liste, de faon forcer une diversification. Au contraire, sil ne constate aucune amlioration dans la valeur de 30

f(s) pendant un certain nombre ditrations, il peut dcider de rduire la taille de la liste, de manire forcer lintensification. Un principe largement utilis dans les mtaheuristiques (et pas seulement dans la recherche avec tabous) est connu sous le nom doscillations stratgiques (Glover et Laguna, 1997). Ce principe stipule quil faut modifier priodiquement les paramtres dune recherche itrative pour tre mieux mme de lintensifier, cest--dire dexaminer en dtail un sous-ensemble trs restreint des solutions, et de la diversifier en changeant fondamentalement la structure des solutions, voire en passant temporairement dans un espace de solutions infaisables. Une faon dintroduire de la diversification consiste forcer lutilisation de mouvements encore peu sollicits, ou modifier temporairement la fonction de cot pour favoriser des mouvements n'ayant encore jamais t effectus. Cette dernire technique est dailleurs exploite dans une mtaheuristique part, la recherche locale guide. Dans la mthode GRASP, llaboration de la liste de mouvements candidats (RCL) peut sinterprter comme une phase de diversification. La phase de recherche locale applique la solution construite partir de la RCL est une phase dintensification. Dans la mthode voisinages variables, le changement de voisinage qui se produit lorsque aucune amlioration na t obtenue avec un certain voisinage, correspond une diversification de la recherche. Dans les algorithmes gntiques : Dans un sens, ils fonctionnent naturellement sur le versant diversification , puisque lutilisation dune population de solutions tend dj amliorer ltendue de lespace de solutions examine. Cest loprateur de mutation qui permet daccentuer la diversification de la recherche, en injectant une perturbation alatoire dans la marche des cycles volutionnaires. Dailleurs, plus la mutation est sollicite, plus la recherche quivaut une exploration alatoire de lespace des solutions. Corrlativement, si lon dcide qu chaque nouvelle gnration, on produit beaucoup denfants, et que lon ne garde que peu de parents de la gnration prcdente, on va diversifier la recherche. Lintensification est rendue possible par hybridation, en amliorant la valeur des individus par une recherche locale (on parle alors dalgorithmes mmtiques) ou bien en mettant en uvre une stratgie de recombinaison intelligente des individus entre eux, comme nous lavons vu avec le problme du voyageur de commerce, en slectionnant des individus ayant des portions de trajets communs, et en recomposant le gnome des trajets enfant par slection des segments de trajets parent . Dans les algorithmes colonies de fourmi : Ainsi que nous lavons vu, la probabilit de choisir un certain trajet dpend de la formule :

p (t ) =
k ij

( ij (t )) (ij ) ( il (t )) (il )

lJ ik

31

Plus est grand, plus lintensification est importante, car plus les pistes de phromone ont dinfluence sur le choix des trajets pris par les fourmis : la recherche est centre autour des pistes de phromone principales, l o on peut esprer trouver de bonnes solutions. Au contraire, plus est faible, plus la diversification sera forte, car cest lheuristique sur la longueur des arcs qui va alors plutt guider les fourmis, rgle par le coefficient . Lalgorithme Max-Min, avec les bornes quil impose sur les pistes de phromones, permet dviter que certaines trs bonnes solutions ne monopolisent la recherche, ou que certains trajets ne se voient affecter une probabilit ngative et ne soient compltement carts : ceci permet damliorer la diversification. Lemploi de stratgies litistes (qui font que les meilleures solutions contribuent davantage aux pistes) favorise lintensification, alors quune rinitialisation de lensemble des pistes favorise lexploration. Hybridation des mthodes Lhybridation est une tendance observe dans de nombreux travaux raliss sur les mtaheuristiques ces dix dernires annes. Elle permet de tirer profit des avantages cumuls des diffrentes mtaheuristiques, tel point que les mtaheuristiques que nous avons vues jusqu prsent ne sont plus que des canevas, des points de dpart, pour commencer rsoudre un problme doptimisation. Une des techniques les plus populaires dhybridation concerne lutilisation de mtaheuristique de type trajectoire locale avec des mtaheuristiques population. La plupart des applications russies dalgorithmes gntiques, ou colonies de fourmi, sont compltes par une phase de recherche locale, car cest ce qui leur manque lorigine. Les individus, les fourmis, tentent didentifier les zones prometteuses de lespace des solutions, lesquelles sont ensuite explores plus en dtail par des mthodes de recherche locale (par lune des mtaheuristiques que nous avons dj vues, ou par une heuristique classique, comme celle du plus proche voisin, ou par un algorithme de type 2-opt). Ces deux types de recherche, globale et locale, peuvent dailleurs sexcuter de faon asynchrone, sur des processeurs diffrents. Le problme dallocation despace a fait lobjet dune tude combinant une mtaheuristique de type volutionnaire, avec une recherche locale voisinage variable. Ce problme consiste rpartir un certain nombre de personnes et de ressources matrielles dans un certain nombre de pices contient gnralement de nombreuses contraintes : ncessit que des personnes se retrouvent ensemble dans une mme pice, que certaines personnes disposent de certaines ressources avec elles dans la pice, etc. Le voisinage variable permet, au travers de quelques oprations lmentaires (allocation, dsallocation, rallocation, change) de fournir des solutions la fois faisables (au regard du nombre de contraintes) et varies. Une autre manire dhybrider consiste excuter en parallle plusieurs fois la mme mtaheuristique, mais avec des paramtres diffrents. Ces processus parallles communiquent entre eux rgulirement pour changer de linformation sur leurs rsultats partiels. Cette technique est dautant plus utilise que sest approfondie la recherche sur les architectures parallles. Toutes les mtaheuristiques classiques ont fait lobjet dune implmentation parallle, y compris lalgorithme du recuit simul qui, bien que de nature squentielle, a pu tre paralllis en le divisant en processus lmentaires.

32

Enfin une troisime forme dhybridation combine les mtaheuristiques avec des mthodes exactes. Une mthode exacte peut ainsi donner lieu une technique efficace pour la dtermination du meilleur voisin dune solution (ce qui peut savrer plus judicieux que de choisir la meilleure solution parmi un petit chantillon de voisins). Dans le domaine de la programmation par contraintes, certaines techniques de retour-arrire non dterministes (backtracking) ont t associes des mtaheuristiques. Choix dune structure de voisinage Le choix du voisinage en optimisation combinatoire a une grande influence sur le rsultat de lapplication dune mtaheuristique. Cest dailleurs cette constatation qui est lorigine de la mthode dite voisinage variable. La dfinition dun voisinage dpend beaucoup du problme considr. En rgle gnrale, en optimisation combinatoire, on retrouvera cependant des oprations lmentaires comme : - le dplacement (par exemple, dans le problme de tournes de vhicules, on dplace une commande dun vhicule un autre) - lchange simple (par exemple, dans le problme de laffectation quadratique, on permute deux objets de place) - lchange CROSS (qui consiste changer deux segments de longueur variable entre deux routes diffrentes, ou l'intrieur d'une mme route) Certains mouvements sont donc plus ou moins bien adapts certains problmes. Voir [TAI02]. Quelle mtaheuristique utiliser ? Le premier problme pratique qui se pose un utilisateur confront une application concrte est d'effectuer un choix parmi les diffrentes mtaheuristiques disponibles. Ce choix est dautant plus difficile qu'il n'existe pas de comparaison systmatique et fiable des diffrentes mtaheuristiques. Cependant, il est possible de caractriser les mtaheuristiques selon quelques critres gnraux, de manire faciliter ce choix. Le tableau ci-dessous met en relation 4 critres avec 4 mtaheuristiques classiques. Les indications sont subjectives, mais refltent lexprience. Comme nous lavons dit, la qualit des solutions trouves par une mthode peut tre trs variable, et dpend de l'implmentation ralise.
A. du Recuit Simul Facilit dadaptation Connaissance Qualit Rapidit Mthode Tabou A. gntique A. colonies de fourmis hybrid + +++ --

+ + + ++ + -Comparaison gnrale des principales mtaheuristiques

Ce tableau compare les principales mtaheuristiques que nous avons vues, et les compare lalgorithme de recherche locale simple (descente) Les critres de comparaisons retenus sont les suivants : 33

- facilit d'adaptation au problme - possibilit d'intgrer des connaissances spcifiques au problme, - qualit des meilleures solutions trouves, - rapidit, c'est--dire temps de calcul ncessaire pour trouver une telle solution Le critre de qualit utilis dans le tableau correspond la meilleure qualit qu'il est possible d'obtenir par une excution prolonge. Le critre de rapidit reprsente le temps de calcul typiquement ncessaire pour obtenir une telle solution. Tout lart du concepteur dune heuristique rsidera dans lassemblage judicieux des diffrents principes que nous avons vus (intensification, diversification, hybridation). La connaissance dlments de thorie connus en algorithmique, ou dans le domaine des mthodes dites exactes, permet damliorer les performances, selon les caractristiques du problme rsoudre. Mentionnons pour finir lexistence de la librairie Open-Source oMetah, qui fournit, sous forme de libraires C++ et Python, un ensemble doutils permettant de mettre au point, de tester et de comparer facilement des mtaheuristiques, et de gnrer des graphiques et des rapports de synthse.

34

CONCLUSION
Les mtaheuristiques constituent une classe de mthodes approches adaptables un grand nombre de problmes doptimisation combinatoire. Mais, si lon a pu constater leur grande efficacit sur de nombreuses classes de problmes, il existe en revanche trs peu de rsultats permettant de comprendre la raison de cette efficacit, et aucune mthode particulire ne peut garantir quune mtaheuristique sera plus efficace quune autre sur nimporte quel problme. Concrtement, certaines mtaheuristiques prsentent lavantage dtre simples mettre en uvre, comme nous lavons vu avec le recuit simul ; dautres sont plutt bien adaptes la rsolution de certaines classes de problme, trs contraints, comme le systme de colonies de fourmis. La qualit des solutions trouves par les mtaheuristiques dpend de leur paramtrage (il faut viter que les algorithmes ne convergent trop rapidement vers un optimum local), et de lquilibre trouver entre un balayage de tout lespace des solutions (diversification) et une exploration locale pousse (lintensification). Le choix dune bonne reprsentation, dun bon voisinage, sont galement, nous lavons dit, des facteurs influenant grandement lefficacit de la mthode choisie, quelle quelle soit. Depuis une dizaine dannes, lhybridation des mtaheuristiques est devenue un enjeu important, tel point que toutes les diffrentes mtaheuristiques que nous avons examines, recuit simul, Tabou, algorithmes gntiques, sont maintenant perues comme des points de dpart au dveloppement de nouveaux algorithmes doptimisation. Les diffrentes caractristiques de ces mtaheuristiques (mmoires, listes de candidats, populations dagents, transformations de la fonction objectif, etc.) sont recomposes entre elles pour former de nouvelles mthodes, dont la liste sallonge. Et cest bien l toute la difficult que rencontre lingnieur non-spcialiste face un problme doptimisation combinatoire : doit-il consacrer son temps passer en revue les abondants travaux de recherche qui existent sur le sujet, jusqu trouver lhybridation optimale et le meilleur paramtrage connus ce jour pour rsoudre son problme ? Ne pourrait-il pas plutt se concentrer sur la mise au point une heuristique spcifique, adapte sa situation ? Ou bien dune mtaheuristique classique un simple recuit simul par exemple, ou une recherche Tabou avec une implmentation judicieuse des mmoires court et long terme ? Chaque situation est diffrente, et cest en fonction du degr dexigence de performance, et en fonction de contraintes conomiques, cest--dire selon le temps dont dispose lingnieur pour modliser, programmer et tester son systme, que se fera le choix de telle ou telle solution.

35

RFRENCES BIBLIOGRAPHIQUES
Ouvrages [SIAR05] Johann Dro, Alain Ptrowski, Patrick Siarry, Eric Taillard. Mtaheuristiques pour loptimisation difficile. Eyrolles, 2005. [BLU03] Christian Blum, Andrea Roli. Metaheuristics in Combinatorial Optimization : Overview and Conceptual Comparison. ACM Computing Survey, Vol. 35 No 3, Sept. 2003 [HAO99] Jin-Kao Hao, Philippe Galinier, Michel Habib. Mtaheuristiques pour loptimisation combinatoire et laffectation sous contraintes. Revue dintelligence artificielle, 1999. [GLO98] Fred Glover, Manuel Laguna. Tabou search.

[TAI02] ric Taillard. Principes d'implmentation des mtaheuristiques, in chapitre 2 de J. Teghem, M. Pirlot (dir.), Optimisation approche en recherche oprationnelle. Herms, 2002, p. 57-79. [GEN03] Michel Gendreau, Gilbert Laporte, Frdric Semet. The maximal expected coverage relocation problem for emergency vehicles. Juillet 2003. [ICH01] Soumia Ichoua. Problmes de gestion de flottes de vhicules en temps rel. Universit de Montral, Octobre 2001. [DOR00] Marco Dorigo and Gianni Di Caro. Ant Algorithms for Discrete Optimization. Universit Libre de Bruxelles. [GAG01] Caroline Gagn, Marc GRravel, Wilson L. Price. Optimisation par colonie de fourmis pour un problme dordonnancement industriel avec temps de rglages dpendants de la squence. 3e Confrence Francophone de Modlisation et Simulation "Conception, Analyse et Gestion des Systmes Industriels". Avril 2001 [BAC98] Vincent Bachelet, Zouhir HAfidi, Philippe Preux, El-Ghazali Talbi. Vers la coopration des mtaheuristiques Sites web The Metaheuristic Network http://www.metaheuristics.net/ Laboratoire Cedric. CNAM. http://cedric.cnam.fr/AfficheEquipe.php?id=2 Genetic Algorithm Experiment (prsente une applet Java dAG) http://www.oursland.net/projects/PopulationExperiment/ 36

The Memetic Algorithms Home Page. Departamento de Engenharia de Sistemas. http://www.densis.fee.unicamp.br/%7Emoscato/memetic_home.html 2001. E. K. Burke, P. Cowling, J.D. Landa Silva, S, Petrovic. On the performance of population-based metaheuristics for the space allocation problem: an extended abstract http://www.lania.mx/~ccoello/burke01a.pdf.gz 2002 Les mthodes de recherche par voisinage. GRP Toulouse. http://web.univ-ubs.fr/lester/~sevaux/ Publications/s-grp-01a-slides.pdf Modles de calcul. Cours de Jean Betrema. http://www.labri.fr/perso/betrema/MC/index.html Page du professeur Eric Taillard http://ina2.eivd.ch/collaborateurs/etd/ Mtaheuristiques : Thorie et Applications. Groupe Meta. Anim par E-G. Talbi et P. Siarry http://www.lifl.fr/~talbi/META Introduction to Genetic Algorithms and GAUL. http://gaul.sourceforge.net/intro.html Simulated Annealing Information. Taygeta Scientific Inc. http://www.taygeta.com/annealing/simanneal.html

37