• Aucun résultat trouvé

2.5 M´etaheuristiques pour l’optimisation combinatoire

2.5.5 M´etaheuristiques ` a base de population

2.5.5.2 Les algorithmes de colonies de fourmis

Une partie des informations pr´esent´ees ci-apr`es sont tir´ees du livre [Dori 04] et du rapport technique [Stut 10].

2.5.5.2.a Origines de l’approche

Les colonies de fourmis (ou ACO pour Ant Colony Optimization) sont une m´etaheuristique appartenant aux m´ethodes d’intelligence en essaim : elles mettent en œuvre un m´ecanisme de m´emoire collective permettant de guider la recherche en mutualisant sur les bonnes solutions d´ej`a trouv´ees. Mise au point au d´ebut des ann´ees 1990 [Dori 92, Dori 96] avec Ant System et d´eriv´ee par la suite (voir sections suivantes), cette m´ethode est issue de l’observation des fourmis r´eelles qui communiquent par signaux chimiques avec les autres membres de la colonie, afin de signaler un itin´eraire `a suivre (voir figure 2.19). Elles utilisent pour cela des ph´eromones, une substance attractive naturellement s´ecr´et´ee par les fourmis, qu’elles dispersent `a leur passage, notamment lorsqu’une source de nourriture a ´et´e trouv´ee. Ce processus d’´echange d’information

Figure2.19 – Sch´ema de d´etermination d’un plus court chemin par les fourmis. 1) Une fourmi trouve une source de nourriture (F) puis revient au nid (N) en diss´eminant de la ph´eromone sur son passage. 2) D’autres fourmis rencontrant cette piste vont alors suivre cette ph´eromone et d´ecouvrir la source, d´eposant `a leur tour le traceur chimique. Les portions de chemin les plus courtes vont permettre aux fourmis d’acc´eder plus rapidement `a la source et d’en revenir : elles seront donc davantage marqu´ees que les portions plus longues dans le mˆeme laps de temps. 3) Les fourmis sont incit´ees `a prendre le chemin le plus court, et la ph´eromone sur les portions longues s’´evapore, perdant leur attractivit´e. Source : Wikipedia.

utilisant l’environnement ambiant est appel´e stigmergie. La s´ecr´etion de ph´eromones permet, dans le cas des fourmis, d’aboutir `a des itin´eraires de distance quasi-optimale au cours du temps (entre le nid et la source de nourriture), bien que les capacit´es cognitives de ces insectes soient tr`es limit´ees.

2.5.5.2.b M´ethode g´en´erale

La structure g´en´erique des algorithmes ACO est d´ecrite par l’algorithme 4. Les probl`emes trait´es par les colonies de fourmis sont souvent d´efinis par le biais d’un graphe G = (V, E). Pour un TSP par exemple, V est l’ensemble des villes `a parcourir et E l’ensemble des routes qui les relient. Ces routes sont caract´eris´ees par leur distance, not´ee d(i, j), pour tout couple de villes i et j.

Construction des solutions Pour construire une solution, une fourmi part d’un sommet de G choisi al´eatoirement. Elle ´elit it´erativement le prochain sommet `a emprunter parmi ceux non encore pr´esents dans la solution. Ce choix est influenc´e par deux heuristiques : une fonction de guidage not´ee η : E → R et le mod`ele de ph´eromone qui correspond `a une pond´eration (parfois appel´e attractivit´e) sur les arˆetes de G, et not´ee τ : E → R. La fonction de guidage va aider la fourmi `a construire une solution adapt´ee au probl`eme, tandis que la ph´eromone va inciter `a emprunter les arˆetes des bonnes solutions trouv´ees dans les pr´ec´edentes recherches de l’algorithme. En g´en´eral, deux param`etres α et β permettent de pond´erer les influences de τ et

Algorithme 4 M´etaheuristique ACO

1: D´efinition des param`etres, initialisation des ph´eromones 2: tant que Condition d’arrˆet non atteinte faire

3: Construire les solutions

4: Optionnel : appliquer une recherche locale 5: Mettre `a jour la ph´eromone

6: fin tant que

7: retourner La meilleure solution trouv´ee

η respectivement.

Actions optionnelles Des actions sp´ecifiques peuvent ˆetre men´ees pour am´eliorer les itin´e- raires des fourmis. On peut par exemple appliquer des m´ethodes de recherche locale comme 2-opt pour affiner les solutions (et supprimer les chevauchements d’arˆetes). Ces m´ethodes doivent ce- pendant ˆetre l´eg`eres en charge de calcul, pour ne pas trop p´enaliser les temps d’ex´ecution de la m´etaheuristique.

Mise `a jour du mod`ele de ph´eromone Cette op´eration est propre `a chaque variante. Ori- ginellement, elle se d´ecompose en deux ´etapes : l’´evaporation des ph´eromones — on diminue d’un facteur ρ, le taux d’´evaporation, la valeur de τ sur chaque arˆete — et le renforcement des itin´eraires emprunt´es par les fourmis. L’´evaporation permet d’instaurer un facteur temporel dans la m´emoire des bonnes solutions (celles qui ne sont plus int´eressantes sont progressivement «oubli´ees »). Le param`etre ρ et l’importance du renforcement sont d´ecisifs sur la qualit´e de l’algorithme. Ils vont avoir une influence sur la vitesse de convergence de l’algorithme : une ´evaporation forte et/ou un renforcement trop important des bonnes solutions vont rapidement contraindre les fourmis `a emprunter `a nouveau les solutions d´ej`a trouv´ees, p´enalisant l’explora- tion.

2.5.5.2.c Application au TSP

Les fourmis r´eelles ´etant r´eput´ees pour leur capacit´e `a trouver des plus courts chemins, les colonies de fourmis artificielles ont logiquement ´et´e appliqu´ees en premier lieu sur le probl`eme NP-complet du voyageur de commerce. Plusieurs variantes majeures de la m´etaheuristique pour ce probl`eme sont pr´esent´ees maintenant. Pour une description exhaustive des diff´erentes m´e- thodes, nous renvoyons le lecteur `a [Dori 04, Monm 09].

Ant System [Dori 96] C’est le premier algorithme ACO a avoir vu le jour. Dans cette approche, une fourmi ´elit le prochain sommet `a emprunter `a l’aide de l’´equation (2.10). Pour une fourmi k situ´ee au sommet v, la probabilit´e d’´elire le sommet v′ comme prochain point de passage est la suivante : ∀v′∈ Nk, (v, v′) ∈ E, Pv′(k) = τα v,v′η β v,v′ P v′′∈Nk τα v,v′′.η β v,v′′ (2.10)

E ´etant l’ensemble des arcs du graphe et Nkl’ensemble des sommets successeurs de v non encore

graphe est alors complet), ou se restreindre `a un ensemble de sommets localement voisins, afin de r´eduire la charge de calcul (on diminue drastiquement le nombre d’´evaluations dans le cas de grandes instances de probl`emes). P(v,v′) est une probabilit´e, sa valeur est donc comprise dans l’ensemble [0, 1]. La fonction de guidage est d´efinie comme :

∀v′ ∈ V, η(v,v′)= 1 d(v,v)

(2.11) Elle incitera donc les fourmis `a emprunter en priorit´e les villes `a proximit´e de la ville courante. A l’issue de chaque cycle, lorsque toutes les fourmis ont construit une solution, le mod`ele de ph´eromone est mis `a jour de la mani`ere suivante :

∀(v, v′) ∈ E, τv,v′(c + 1) = (1 − ρ).τv,v′(c) + X

k

∆τv,vk ′ (2.12)

o`u le param`etre ∆τ , appel´e facteur de renforcement, est d´efini comme suit :

∆τ(v,vk ′)(c) = ( Q Lk(c) si (v, v ′) ∈ S k(c), 0 sinon. (2.13)

o`u Lk est la longueur de la solution Sk(c) de la fourmi k au cycle c et Q une constante. Plus

une solution est de bonne qualit´e, plus la ph´eromone d´epos´ee (par unit´e de longueur) le sera en quantit´e importante.

Plusieurs impl´ementations alternatives de renforcement ont ´et´e d´evelopp´ees, comme notam- ment :

– Elitist Ant [Whit 03] qui renforce davantage la meilleure solution locale ou globale trouv´ee afin d’orienter plus efficacement la recherche ;

– Rank-Based Ant System [Bull 99], qui s’appuie sur Elitist Ant et propose pour sa part de classer les solutions de chaque cycle par ordre de qualit´e, pour ne renforcer que les ω premi`eres (ω ´etant une variable param´etrable) avec une pond´eration relative au rang de la solution ;

– Best-Worst Ant System [Cord 00], o`u seules les plus mauvaises solutions sont ´evapor´ees, tandis que les meilleures solutions locales sont renforc´ees.

MAX-MIN Ant System [Stut 97, Stut 00] Cet algorithme se base sur l’algorithme Ant Sys- tem et modifie certains m´ecanismes. Tout d’abord, une seule solution est utilis´ee pour le ren- forcement des ph´eromones (la meilleure solution locale ou globale, selon l’impl´ementation). De plus, le taux de ph´eromone associ´e `a chaque arˆete de G est born´e par deux valeurs τmin et τmax

(d’o`u le nom de la m´ethode). Chaque piste de ph´eromone est initialis´ee `a la valeur maximum τmax, et mise `a jour de fa¸con proportionnelle : lors d’un renforcement, les arˆetes avec un taux de

ph´eromone faible seront davantage renforc´ees que celles disposant d´ej`a d’une attractivit´e forte. Les auteurs pr´esentent aussi des variantes avec r´einitialisation des pistes au cours de la recherche. Les auteurs d´eveloppent ´egalement une approche avec application d’une recherche locale. Capable de r´esoudre plus efficacement les probl`emes de TSP que son pr´ed´ecesseur, MAX-MIN Ant System est pr´esent´e comme une am´elioration [Stut 10] par l’auteur mˆeme d’Ant System.

Ant Colony System [Dori 97] Cet algorithme d´erive de Ant System et y introduit des m´e- canismes tir´es d’autres approches, tels que Ant-Q [Gamb 95]. Ant Colony System utilise ainsi une « loi proportionnelle pseudo-al´eatoire » dans la construction des solutions. Une fourmi k actuellement `a la ville v choisira la prochaine ville v′ comme suit :

v′ = (

arg maxv′′∈Nkv,v′′.ηβv,v′′] si q ≤ q0,

J si q > q0.

(2.14) o`u q est une variable al´eatoire uniform´ement distribu´ee sur [0, 1], q0 est une variable sur [0, 1]

fix´ee (param`etre de l’algorithme) et J est une ville s´electionn´ee al´eatoirement grˆace `a la formule (2.10) dans laquelle α = 1. La variable q0 permet `a la recherche d’adopter deux comportements

diff´erents : la recherche tendra `a une diversification si q > q0 avec un comportement similaire `a

Ant System, o`u au contraire `a une intensification si q ≤ q0 par une approche purement gloutonne

de s´election de l’arˆete la plus attractive. Il est `a noter que, dans cette impl´ementation des colonies de fourmis, le param`etre α est abandonn´e.

Ant Colony System met en œuvre deux m´ecanismes distincts de mise `a jour des ph´eromones : une mise `a jour locale, c’est-`a-dire en cours de recherche, op´er´ee par chaque fourmi de la mani`ere suivante :

τi,j = (1 − ǫ).τi,j+ ǫ.τ0 (2.15)

o`u ǫ est appel´e facteur de d´ecroissance. Le param`etre τ0(valeur initiale du mod`ele de ph´eromone)

est fix´e avec une valeur τ0 = n.L1N N, o`u n est le nombre de villes du probl`emes et LN N la longueur

d’un tour pr´ealablement calcul´e par recherche locale de plus proche voisin (voir section 2.5.2). Ce m´ecanisme de mise `a jour locale permet de d´ecroˆıtre l’attraction des arˆetes emprunt´ees par une fourmi et de les rendre moins attractives pour les autres fourmis, d’o`u une augmentation de la diversit´e des solutions. La mise `a jour globale du mod`ele de ph´eromone (c’est-`a-dire celle effectu´ee en fin de cycle) est similaire `a celle de l’approche MAX-MIN Ant System : on ne met `

a jour que la meilleure solution (locale ou globale).

Dans chaque approche de colonies de fourmis, le param´etrage est sp´ecifique au type d’ins- tance : r´epartition des villes — distribution homog`ene ou au contraire groupement en clusters —, nombre de villes, sym´etrie ou non dans les « distances » entre les villes... Un grand nombre de travaux traitent les probl´ematiques de param´etrage de ces algorithmes : ils sont r´esum´es dans [Stut 10].

Outre l’application au probl`eme de TSP classique, plusieurs variantes d’algorithmes de colo- nies de fourmis ont ´et´e d´evelopp´ees pour le probl`eme de TSP dynamique. Dans ce probl`eme, les distances entre les villes sont amen´ees `a changer au cours du temps. Cette propri´et´e a initialement ´et´e introduite pour mod´eliser le trafic routier, un embouteillage r´esultant en un allongement de la distance initiale (par distance, nous parlons ici en fait de coˆut, en l’occurrence le temps de parcours). Certaines versions de TSP dynamiques permettent ´egalement l’ajout ou la suppres- sion de villes. Une premi`ere approche pour traiter ces probl`emes la litt´erature est P-ACO (pour Population-based ACO) [Gunt 02], parfois ´egalement appel´e FIFO-Queue ACO en raison de la structure de donn´ees employ´ee pour maintenir une population de bonnes solutions pr´ec´edentes, utilis´ee pour construire une heuristique de guidage. Elle peut ˆetre vue comme une alternative `

a l’´elitisme pour les probl`emes dynamiques. La particularit´e de P-ACO est l’attention port´ee `a la rapidit´e d’ex´ecution. Notamment, les m´ecanismes d’´election d’une nouvelle ville et de mise `a

jour du mod`ele de ph´eromone sont modifi´es afin de r´eduire leur complexit´e temporelle et d’offrir une meilleure r´eactivit´e de l’algorithme. Une seconde approche, AS-DTSP [Eyck 02], est une adaptation de l’algorithme Ant System (d´ecrit plus haut) pour le cas du TSP dynamique. Dans cette impl´ementation, une borne basse est d´efinie pour les taux de ph´eromone afin de se pr´emu- nir des cas o`u une arˆete ne serait plus emprunt´ee. De plus, les auteurs proposent un m´ecanisme dit de shaking permettant, apr`es une modification de l’environnement, de redistribuer en par- tie les quantit´es de ph´eromone afin de relancer l’exploration, tout en garantissant que l’ordre d’importance des valeurs entre les arˆetes soit conserv´e (maintien de l’apprentissage).