Vous êtes sur la page 1sur 35

Optimisation par colonies de fourmis

COSTANZO Andrea LUONG Th Van MARILL Guillaume

19 mai 2006
Table des matires

1 Introduction 4
1.1 Pourquoi les fourmis ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Relation avec linformatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Comportement de la fourmi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Optimisation par colonie de fourmis 6


2.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Similarits et diffrences avec les fourmis relles [Dro 04] . . . . . . . . . . . . . . 6
2.2.1 Points communs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Diffrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Expriences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1 Pont binaire de Deneubourg [Dro 04] . . . . . . . . . . . . . . . . . . . . . 7
2.3.2 Exprience du double pont binaire [Dorigo 03] . . . . . . . . . . . . . . . . 8
2.3.3 Effet de la coupure dune piste de phromone [Dro 04] . . . . . . . . . . . 9
2.3.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Voyageur de commerce : Algorithme Ant System (AS) 11


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.1 Dfinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Ant System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.1 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.2 Choix dimplementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 Fonctionnement de lalgorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.1 Complexit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.2 Variantes [Dorigo 03] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4 Choix des paramtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4.1 Considrations gnrales [Dro 04] . . . . . . . . . . . . . . . . . . . . . . . 15
3.4.2 Rsultats exprimentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4.3 Les fourmis litistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4.4 Rsum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Performances de lalgorithme Ant System 18


4.1 Prsentation gnrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 Rsultats sans fourmis litistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3 Rsultats avec fourmis litistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4 Applications sur dautres tailles de donnes . . . . . . . . . . . . . . . . . . . . . . 24
4.4.1 Un plus petit problme ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4.2 ... et un plus grand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.4.3 Conclusion des expriences . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2
TABLE DES MATIRES 3

5 Amliorations plus rcentes de Ant System 29


5.1 volution des algos TSP : Nouvelles approches . . . . . . . . . . . . . . . . . . . . 29
5.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.2 Ant-Q [Dorigo 02] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.3 Ant Colony System (ACS) [Dorigo 02] . . . . . . . . . . . . . . . . . . . . . 30
5.1.4 Max-Min Ant System : MMAS [Dorigo 03] . . . . . . . . . . . . . . . . . . 30

6 Optimisation des tables de routage 31


6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2 Principe de lalgorithme [Dro 04] . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2.1 Les fourmis du net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2.2 Mecanisme de antNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.3 Comparaison aux algorithmes classiques . . . . . . . . . . . . . . . . . . . . . . . . 32
6.3.1 Expriences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.3.2 Resultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Chapitre 1

Introduction

1.1 Pourquoi les fourmis ?


Nous prsenterons dans notre travail dtude des nouvelles mta-heuristiques permettant de
rsoudre des problmes tels que le voyageur de commerce, en sinspirant du comportement social
des fourmis.

Le comportement des fourmis est un comportement collectif. Chaque fourmi a pour priorit le
bien tre de la communaut.
Chaque individu de la colonie est priori indpendant et nest pas supervis dune manire
ou dune autre. Ce concept est appell Htrarchie (sopposant la Hirarchie)[Dro 04], chaque
individu est aid par la communaut dans son volution et en retour il aide au bon fonctionnement
de celle-ci.

La colonie est donc auto-control par le biais de mcanismes relativement simples tudier.

1.2 Relation avec linformatique


En observant une colonie de fourmis la recherche de nourriture dans les environs du nid, on
saperoit quelle rsoud des problmes tels que celui de la recherche du plus court chemin.
Les fourmis rsolvent des problmes complexes par des mcanismes assez simples a modliser.
Il est ainsi assez simple de simuler leur comportement par des algorithmes.

1.3 Comportement de la fourmi


Les pistes de phromones
En marchant du nid la source de nourriture et vice-versa (ce qui dans un premier temps se
fait essentiellement de faon alatoire), les fourmis dposent au passage sur le sol une substance
odorante appele phromones. Cette substance permet ainsi donc de crer une piste chimique,
sur laquelle les fourmis sy retrouvent. En effet, dautres fourmis peuvent dtecter les phromones
grce des capteurs sur leurs antennes.

Les phromones ont un rle de marqueur de chemin : quand les fourmis choisissent leur chemin,
elles ont tendance choisir la piste qui porte la plus forte concentration de phromones. Cela leur
permet de retrouver le chemin vers leur nid lors du retour. Dautre part, les odeurs peuvent etre uti-
lises par les autres fourmis pour retrouver les sources de nourritures trouves par leurs congnres.

4
1.3. COMPORTEMENT DE LA FOURMI 5

Ce comportement permet de trouver le chemin le plus court vers la nourriture lorsque les pistes
de phromones sont utilises par la colonie entire. Autrement dit, lorsque plusieurs chemins mar-
qus sont la disposition dune fourmi, cette dernire peut connaitre le chemin le plus court vers
sa destination. Cette constatation essentielle est la base de toutes les mthodes que lon va dve-
lopper plus loin.

On va dabord tudier le comportement naturel de ces individus afin den prouver la validit,
avant de lextraire pour le simuler informatiquement.
Chapitre 2

Optimisation par colonie de fourmis

2.1 Historique
Dans les sections qui viendront plus tard, nous prsenterons la mta-heuristique ACO, pour le
"Ant Colony Optimization". Toutes ces ides abstraites sont inspires des travaux de Deneubourg
sur les fourmis.

Cette mta-heuristique est relativement rcente. Elle a t introduite en 1991 par Colorni,
Dorigo et Maniezzo pour rsoudre le problme du Voyageur de commerce. Elle sest popularise,
puis a t lobjet damliorations ds 1995 et a t applique avec succs dautres problmes
doptimisation combinatoire ds 1994.

Nous allons tout dabord exposer les diffrences et les points communs entre les fourmis
virtuelles et les fourmis relles [Dorigo 03], avant dexposer en termes plus abstraits la mta-
heuristique proprement dite. Ceci expliquera comment les fourmis virtuelles peuvent tre exploites
pour rsoudre un problme doptimisation combinatoire.

2.2 Similarits et diffrences avec les fourmis relles [Dro 04]


Les fourmis virtuelles ont une double nature. Dune part, elles modlisent les comportements
abstraits de fourmis relles, et dautre part, elles peuvent tre enrichies par des capacits que ne
possdent pas les fourmis relles, afin de les rendre plus efficaces que ces dernires. Nous allons
maintenant synthtiser ces ressemblances et diffrences.

2.2.1 Points communs


Colonie dindividus cooprants. Comme pour les fourmis relles, une colonie virtuelle est
un ensemble dentits non-synchroniss, qui se rassemblent ensemble pour trouver une "bonne" so-
lution au problme considr. Chaque groupe dindividus doit pouvoir trouver une solution mme
si elle est mauvaise.

Pistes de phromones. Ces entits communiquent par le mcanisme des pistes de phro-
mone. Cette forme de communication joue un grand rle dans le comportement des fourmis : son
rle principal est de changer la manire dont lenvironnement est peru par les fourmis, en fonction
de lhistorique laiss par ces phromones.

vaporation des phromones. La mta-heuristique ACO comprend aussi la possibilit


dvaporation des phromones. Ce mcanisme permet doublier lentement ce qui sest pass avant.
Cest ainsi quelle peut diriger sa recherche vers de nouvelles directions, sans tre trop contrainte

6
2.3. EXPRIENCES 7

par ses anciennes dcisions.

Recherche du plus petit chemin. Les fourmis relles et virtuelles partagent un but com-
mun : recherche du plus court chemin reliant un point de dpart (le nid) des sites de destination
(la nourriture).

Deplacement locaux Les vraies fourmis ne sautent pas des cases, tout comme les fourmis
virtuelles. Elles se contentent de se dplacer entre sites adjacents du terrain.

Choix alatoire lors des transitions. Lorsquelles sont sur un site, les fourmis relles et
virtuelles doivent dcider sur quel site adjacent se dplacer. Cette prise de dcision se fait au
hasard et dpend de linformation locale dpose sur le site courant. Elle doit tenir compte des
pistes de phromones, mais aussi du contexte de dpart (ce qui revient prendre en considration
les donnes du problme doptimisation combinatoire pour une fourmi virtuelle).

2.2.2 Diffrences
Les fourmis virtuelles possdent certaines caractristiques que ne possdent pas les fourmis
relles :

Elle vivent dans un monde non-continu. Leurs dplacements consistent en des transitions
dtat.

Mmoire (tat interne) de la fourmi. Les fourmis relles ont une mmoire trs limite.
Tandis que nos fourmis virtuelles mmorisent lhistorique de leurs actions. Elles peuvent aussi
retenir des donnes supplmentaires sur leurs performances.

Nature des phromones dposes. Les fourmis relles dposent une information physique
sur la piste quelles parcourent, l o les fourmis virtuelles modifient des informations dans les
variables dtats associes au problme. Ainsi, lvaporation des phromones est une simple dcr-
mentation de la valeur des variables dtats chaque itration.

Qualit de la solution. Les fourmis virtuelles dposent une quantit de phromone propor-
tionnelle la qualit de la solution quelles ont dcouvert.

Retard dans le dpt de phromone. Les fourmis virtuelles peuvent mettre jour les pistes
de phromones de faon non immdiate : souvent elles attendent davoir termin la construction
de leur solution. Ce choix dpend du problme considr bien videmment.

Capacits supplmentaires. Les fourmis virtuelles peuvent tre pourvues de capacits ar-
tificielles afin damliorer les performances du systme. Ces possibilits sont lies au problme et
peuvent tre :
1. lanticipation : la fourmi tudie les tats suivants pour faire son choix et non seulement ltat
local.
2. le retour en arrire : une fourmi peut revenir un tat dj parcouru car la decision quelle
avait prise cet tat a t mauvaise.

2.3 Expriences
2.3.1 Pont binaire de Deneubourg [Dro 04]
Lexprience montre un nid dune colonie de fourmis, qui est spar dune source de nourriture
par un pont deux voies de mme longueur. On laisse voluer les fourmis sur le pont, on trace ainsi
8 CHAPITRE 2. OPTIMISATION PAR COLONIE DE FOURMIS

en fonction du temps, le graphe du nombre de fourmis empruntant chaque branche. Le rsultat


de lexprience est expos la figure 2.1.

Lillustration (a) reprsente la configuration physique de lexprience. Le graphique (b) indique


lvolution de ce systme en fonction du temps : on constate que les fourmis ont tendance
emprunter le mme chemin (par exemple celui du haut) aprs une dizaine de minutes.

Fig. 2.1 Pont binaire de Deneubourg.

Explication
Au dpart, il ny a pas de phromone sur le pont. Donc, chaque branche peut tre choisie par
une fourmi avec la mme probabilit. Nanmoins, dans notre exemple, aprs une certaine priode,
des variations alatoires ont fait quun peu plus de fourmis ont choisi le chemin du haut plutt
que celui du bas.

Puisque les fourmis dposent des phromones en avanant et puisquelles sont plus nombreuses
en haut quen bas, le chemin du haut comportera plus de phromones. Cette quantit suprieure
de phromone incite plus de fourmis choisir la branche du haut, donc la quantit de phromone
dpose augmentera encore plus.

On en dduit que plus les fourmis suivent un chemin, plus ce chemin devient interessant
suivre. Ainsi la probabilit avec laquelle une fourmi choisit un chemin, augmente avec le nombre
de fourmis qui ont pris ce chemin prcdemment.

2.3.2 Exprience du double pont binaire [Dorigo 03]


On peut se demander prsent quel serait leffet de laugmentation de la longueur dune des
deux branches du pont. Leffet produit sera que la branche la plus courte sera slectionne.

En effet, les premires fourmis qui reviennent au nid avec de la nourriture sont celles qui ont
emprunt le chemin le plus court dans les deux sens. Ce chemin, marqu deux fois par les phro-
mones, attire plus les autres fourmis que le long chemin, qui lui est marqu une seule fois dans le
sens de laller. Cet effet se renforce au fur du temps, jusqu ce que toutes les fourmis choisissent
le chemin le plus court.

Cest ainsi que dans cette exprience, on voit que les variations alatoires sont rduites, puisque
les deux chemins nont plus la mme longueur. Contrairement la premire exprience, le compor-
tement des fourmis qui consistait suivre les pistes de phromones nest plus le seul mcanisme
2.3. EXPRIENCES 9

Fig. 2.2 Exprience du double pont binaire.

prsent : maintenant on associe ce mcanisme une notion de distance.

Toutefois, quand le chemin le plus court nest ouvert quaprs le chemin plus long (par exemple,
quand le chemin tait au dpart bloqu par un obstacle), les fourmis continuent de parcourir le
chemin le plus long car cest le seul tre recouvert de phromone. Cest ainsi que , lvaporation
des phromones joue un rle capital : les pistes de phromones sont moins prsentes sur les chemins
les plus longs, car le rapprovisionnement en phromone demande plus de temps que sur les che-
mins plus courts. Donc il suffit alors quune poigne de fourmis choisissent le chemin auparavant
bloqu pour favoriser celui-ci. Ainsi, mme quand des voies plus courtes ont t dcouvertes aprs,
les fourmis finissent par les emprunter.

On peut gnraliser cela plus de deux chemins possibles : dans la figure 2.2 (a), on a utilis
un double pont avec quatre chemins possibles de diffrentes longueurs. On voit dans le dessin (b)
que la plupart des fourmis finissent par choisir le chemin le plus court. Les expriences montrent
que quand environ cent fourmis ont dj emprunt le pont, plus de 90 pourcents dentre elles
slectionnent le chemin le plus court : les fourmis convergent donc assez rapidement.

2.3.3 Effet de la coupure dune piste de phromone [Dro 04]

Cette fois, les fourmis sont en train de suivre une piste de phromones, comme prsent la
figure 2.3 (a). un moment donn, on a un obstacle qui barre la route des fourmis. Les fourmis
qui arrivent ct de lobstacle doivent choisir soit daller gauche soit daller droite (b).
Puisquaucune phromone nest dpose le long de lobstacle, il y a autant de fourmis qui partent
gauche qu droite.
Nanmoins, puisque le chemin de droite est plus court que celui de gauche, les fourmis qui
lempruntent, vont retrouver plus vite la piste de phromone de dpart. Pour chaque fourmi allant
du nid la nourriture, on associe galement une fourmi qui va de la nourriture au nid (en fait
elles ont t spares par lapparition brutale de lobstacle). Les phromones de ces fourmis vont
se superposer droite. Donc quand elles vont rejoindre le chemin initial, le chemin de droite sera
deux fois plus imprgne de phromone que la piste de gauche, o les deux fourmis nont pas
encore pu rejoindre la piste initiale (ce chemin tant plus long).
Les fourmis qui arrivent lobstacle partir de ce moment, prfreront suivre la piste de droite. Le
nombre de fourmis qui passent par la droite va augmenter, ce qui augmentera encore la concentra-
tion de phromones. De plus, lvaporation des phromones sera plus forte sur la piste de gauche
du fait que sa longueur est suprieure. La piste de gauche sera dont rapidement abandonne, parce
quelle en est beaucoup moins imprgne : les fourmis passeront toutes trs rapidement par la piste
la plus courte.
10 CHAPITRE 2. OPTIMISATION PAR COLONIE DE FOURMIS

Fig. 2.3 Effet de la coupure dune piste de phromone.

2.3.4 Conclusions
Il est intressant de remarquer que bien quune seule fourmi soit capable de construire une
solution (i.e. de trouver un chemin du nid la nourriture), cest seulement le comportement de
lensemble de la colonie qui cre le chemin le plus court [Dro 04].
Chapitre 3

Voyageur de commerce : Algorithme


Ant System (AS)

3.1 Introduction

3.1.1 Dfinitions

Donnes fournies [Dorigo 02] :

un ensemble fini X de noeuds reprsentant des villes


un ensemble fini U = {(i, j)|i, j X} darcs reliant les noeuds de X
un ensemble de constantes dij reprsentant la longueur de chaque arc (i,j) U , cest--dire
la distance sparant la ville i de la ville j (avec i,j X).

On imagine alors un voyageur de commerce qui doit raliser sa tourne en visitant une et une
seule fois lensemble X des villes. Il souhaite dterminer la suite de villes qui minimisera la distance
quil a parcourir.

Formalisation [Dorigo 02] :

- circuit hamiltonien est un circuit qui passe exactement une fois par tous les sommets du
graphe.

- la longueur dun circuit est la somme des longueurs des arcs qui le composent, soit :

q1
X
L() = duq ,u1 + du1 ,ui+1
i=1

- le TSP (Traveling Salesman Problem) est le problme consistant trouver un circuit hamil-
tonien de longueur minimale sur le graphe G = (X,U).

Le voyageur de commerce est un problme NP-complet. La mthaphore de la colonisation de


fourmis sy applique particulirement bien.

11
12 CHAPITRE 3. VOYAGEUR DE COMMERCE : ALGORITHME ANT SYSTEM (AS)

3.2 Ant System


3.2.1 Conventions
Ant System sera par la suite appel AS. Les variables que nous devons dfinir pour comprendre
la suite sont les suivantes [Dorigo 02] :
P X) le nombre de fourmis dans la ville i linstant t
bi (t)(oui
m = iX bi leur nombre total, invariant dans le temps
ij (t) la valeur de ij , linstant t
n = |X|, le nombre de villes
ij = d1ij , la visibilit dune ville j quand on est plac sur la ville i, invariante dans le temps.

Prcisons maintenant le comportement de lensemble de la colonie. A tout instant t, chaque


fourmi choisit une ville de destination selon un choix dfini. Toutes les fourmis se placent a linstant
t+1 dans une ville de leur choix. On appelle une itration de lalgo AS, lensemble de deplacements
de lensemble de la colonie entre lintant t et linstant t + 1. Ainsi aprs n itrations, lensemble de
la colonie aura effectu un circuit hamiltonien sur le graphe. De cette manire toutes les fourmis
commenceront et finiront leur tour en meme temps.

3.2.2 Choix dimplementation


On prcise que chaque fourmi a une mmoire implmente par une liste de villes dja visites.
Cela permet de garantir quaucune fourmi ne visitera deux fois une mme ville au cour de sa
recherche.

La mmoire de chaque fourmi est vide lorsquelles ont termin leur cycle.

Choix des transitions [Dorigo 02]


Une fourmi k place sur la ville i linstant t va choisir sa ville j de destination en fonction
de la visibilit ij de cette ville et de la quantit de phromones ij (t) dpose sur larc reliant
ces deux villes. Ce choix sera ralis de manire alatoire, avec une probabilit de choisir la ville j
donne par :


P [ij (t)] ij k
si j Ni
pkij (t) = lN k (t)
i
[il (t)] il (1)
0 sinon

o lon dfini lensemble Nik comme tant lensemble des villes que la fourmi k, place sur la
ville i, na pas encore visit linstant t dans le cycle courant. et sont deux paramtres qui
contrlent limportance relative entre phromones et visibilit. Ainsi si est gal 0, le choix se
fera uniquement en fonction de la visibilit (si est diffrent de zero).

Mise jour des phromones [Dorigo 02]


A la fin de chaque cycle (chaque fourmi a parcouru les n sommets qui composent le graphe),
les variables des phromones sont mises jour selon la formule :

ij (t + n) = ij (t) + ij (t)
(2)

o [0, 1[ est un coefficient qui dfinira la vitesse dvaporation des phromones sur les arcs
entre linstant t et linstant t + n , et o ij (t) reprsente la quantit de phromone dpose par
3.3. FONCTIONNEMENT DE LALGORITHME 13

les fourmis dans ce mme intervalle de temps sur larc (i, j).
Le choix de est important, en effet si se rapproche trop de 1, on observe un effet de stagnation
des phromones sur les arcs, ce qui implique des inconvenients tel que le fait de voir les mauvaises
solutions persister.
De mme, choisir 0 implique une vaporation trop rapide des phromones, donc amne la
fourmi un choix dpendant uniquement de la visibilit des noeuds.

Quantits de phromones dposes [Dorigo 02]


Appelons Tk (t) = (uk1 , . . . , ukq ) le tour ralis par la k-me fourmi dans lintervalle de temps
[t, t+, n], et Lk (t) sa longueur. Tk (t) (et donc Lk (t)) sobtient en analysant la mmoire de la fourmi.
k
Soit ij (t), la quantit de phromones dpose par cette fourmi sur larc (i, j) dans ce mme in-
tervalle de temps. On le dfinit ainsi :


k Q/Lk (t) si(u Tk (t) u = (i, j))
ij (t) = (3)
0 sinon
o Q est un constante. On voit bien ici que les phromones sont rguls en fonction de la
qualit de la solution obtenue car plus Lk (t) est faible plus larc sera mis jour en phromones.
On peut maintenant dfinir le ij (t) de la formule de mise jour des phromones ainsi :
m
X
k
ij (t) = ij (t)
k=1

(4)

3.3 Fonctionnement de lalgorithme


Nous allons maintenant prciser les diffrentes tapes de lalgorithme au cours du temps.

Initialisation de lalgorithme. Les lements sagencent de la manire suivante au dbut de


lalgorithme :

1. les m fourmis sont rparties alatoirement sur les n villes.


2. Pour chaque fourmi, la liste qui modlise sa mmoire contient sa ville de dpart.
3. Les pistes de phromones sont initialises comme suit : tij (0) = c , o c est une petite
constante positive, qui ne peut tre nulle (sinon, il y a un problme lors du calcul de (1))
Fin dun cycle. Aprs n itrations, nous sommes linstant t, toutes les fourmis ont termin
leur tour, chacune a une liste "mmoire" pleine et est revenue sa propre ville de dpart. ce
moment :

1. Chaque fourmi calcule sa valeur Lk (t) .


k
2. Les variables ij (t) sont calcules conformment la formule (1).
3. Les variables de phromone ij (t) sont mises jour suivant la formule (2). En dautres termes,
la fourmi refait son tour en sens inverse tout en dposant des phromones.
4. On observe quelle fourmi a trouv le tour de longueur minimum (i.e. on recherche la fourmi
k telle que k = minmk=1 Lk (t) ). Si ce tour est meilleur que le meilleur tour jusquici, on le
mmorise.
5. Les mmoires des fourmis (liste des villes visites) sont effaces.
14 CHAPITRE 3. VOYAGEUR DE COMMERCE : ALGORITHME ANT SYSTEM (AS)

6. Les fourmis recommencent un nouveau tour, toujours au dpart de la ville sur laquelle elles
avaient t places au dbut de lalgorithme.
Fin de lalgorithme. On arrte lalgorithme aprs un nombre de cycles gal une constante
N Cmax . Si partir dun instant, toutes les fourmis font le mme tour, lalgorithme sinterrompt :
on est dans une situation de stagnation o le programme arrte de chercher des alternatives. Lal-
gorithme donne en retour le meilleur tour mmoris.

Les paramtres permettant de caractriser compltement une instance de AS sont repris dans
les tuplet : < m, p, , , Q, N Cmax > ,o 0 p < 1, 0, 0 et c > 0.

3.3.1 Complexit
Afin de se faire une ide, nous divisons lalgorithme en 5 sections pour calculer la complexit
[Dro 04] :
1. initialisation.
2. un cycle de lalgorithme.
3. fin du cycle et calcul des dpts de phromone.
4. Evaporation des phromones.
5. boucle de lalgorithme.
Procdons tape par tape :
1. On a une complexit O(|L| + m) = O(n2 + m), puisque lon a suppos une interconnexion
totale entre les villes.
2. La complexit est O(n2 m), puisque les oprations de calcul de la ville suivante ncessite
un balayage de lintgralit des villes.
3. La complexit est O(|L| + m |L|) = O(m |L|) = O(n2 m).
4. La complexit est O(|L|) = O(n2 ).
5. Le test de stagnation est de complexit O(n m) (on doit comparer les tours de m fourmis,
chaque tour ayant une longueur de n lments).
La complexit globale est obtenue en additionnant la complexit de ltape 1, au produit du
nombre total de cycle (soit N Cmax ) par la complexit globale des tapes 2 5. La complexit
globale tant celle maximale, soit O(n2 m) . La complexit gnrale de lalgorithme devient donc :
O(n2 + m + N Cmax n2 m)

soit : AScomplexity = O(N Cmax n2 m)

Il faut noter cependant que cette formule ne nous dit rien sur le nombre dtapes qui sont
effectivement ncessaires pour atteindre loptimum : on pourrait atteindre celui-ci bien avant les
N Cmax cycles.

3.3.2 Variantes [Dorigo 03]


Lalgorithme que nous venons de prsenter sappelle en fait AS-ant-cycle. Historiquement, il y
a eu deux autres versions de AS, qui taient diffrentes par la manire dont les pistes de phro-
mones taient mises jour. Dans ces deux modles, le dpt de phromones tait entrelac avec
la progression des fourmis et ne se droulait pas la fin de chaque cycle. Il sagit en fait du fonc-
tionnement des fourmis relles : chaque pas, la fourmi dpose un peu de phromone. Ces deux
autres algorithmes diffrent entre eux par la quantit de phromones dpose chaque pas :
3.4. CHOIX DES PARAMTRES 15

Q si la f ourmi va de i a j dans l0 intervalle [t, t + 1]



k
AS - ant-density : ij (t) =
0 sinon
(
Q
k dijsi la f ourmi va de i a j dans l0 intervalle [t, t + 1]
AS - ant-quantity :ij (t) =
0 sinon
On peut remarquer que, du fait de la prsence du coefficient dij , ant-quantity rend plus d-
sirables les transitions plus courtes. La justification de ant-density est quil ny a pas besoin de
faire intervenir une telle distinction, puisquelle est dj apparente dans le calcul des probabilits
de transitions (cf la formule (1)). Cette dernire ide a dailleurs t reprise dans ant-cycle.

Ces algorithmes ont vite t abandonns, car leurs performances taient nettement en dessous
de celles de ant-cycle. Cette chute de performances sexplique intuitivement par labsence de sta-
tistiques sur la comptitivit du tour qui est en train dtre construit : dans ant-cycle, on connat
Lk qui est cet indicateur de comptitivit. Dans la suite, quand nous parlerons de AS, nous sous-
entendrons AS-ant-cycle.

3.4 Choix des paramtres


3.4.1 Considrations gnrales [Dro 04]
Une grande faiblesse de AS est le nombre lev de paramtres en jeu. De ce fait, il est trs
difficile de les doser subtilement.

Ceci est sans doute aussi une raison labsence de modle mathmatique permettant de justi-
fier AS. On pourrait dailleurs sattendre ce que si un tel modle existait il ne permettrait sans
doute pas dajuster les paramtres de manire optimale.

En labsence dargumentation rigoureuse, les seules justifications la disposition des chercheurs


pour fixer les paramtres de AS sont des rsultats exprimentaux. La synthse de ces rsultats est
presente dans la section suivante.

3.4.2 Rsultats exprimentaux


Les expriences ont t ralises sur des ensembles de villes particuliers. Certaines conclusions
en ont t tires et nous proposons de les reprendre ici :

1. On pose p = 0, 5 et c 0, seule la stratgie gloutonne est a loeuvre au debut de lalgorithme :


ceci est souhaitable, car les pistes de phromones ont t gnr artificiellement et nont donc
aucune signification physique. Ensuite, grce au paramtre p > 0, les fourmis commencent
progressivement exploiter les valeurs ij au fur et mesure que les pistes de phromones se
renforcent. Afin de ne pas tre esclave des choix anciens (i.e. de ne plus tenir compte que des
ij ), il faut que la visibilit ait encore un impact. Ceci explique le choix selon lequel p = 0, 5.
2. La recherche est plus efficace quand les fourmis communiquent entre elles, cest--dire quand
les quantits de phromones ont un grand impact sur la politique de dcision de la fourmi.
Ceci correspond prendre 1 (cf formule (1)).
3. Il existe un optimum quand m n, o la coordination des fourmis semble atteindre son
maximum.
4. Lors de linitialisation de lalgorithme, il semble toujours plus intressant de distribuer les
fourmis sur toutes les villes plutt que de toutes les faire dmarrer dune mme ville. On
entend de ce fait de placer sur chaque ville le mme nombre de fourmis. Ceci impose que m
16 CHAPITRE 3. VOYAGEUR DE COMMERCE : ALGORITHME ANT SYSTEM (AS)

soit multiple de n. Du fait du point prcdent, on choisira donc toujours m = n. Il a aussi


t constat quune distribution alatoire des fourmis na quun impact ngligeable sur la
convergence. On place donc une fourmi par ville initialement.
5. Le paramtre Q na quune influence ngligeable. Cela se comprend, puisque dans la poli-
tique de choix des fourmis, on utilise un rapport entre quantits de phromones et non pas
directement ces quantits. On pose gnralement Q = 100.
Pour rsumer, on a observ que les rsultats suivants donnent en pratique les meilleurs rsultats
pour un problme 30 villes : n = 30, N Cmax = 5000, = 1, = 1, p = 0, 5 et Q = 100.

3.4.3 Les fourmis litistes


Nous prsentons ici une amlioration qui donne de bons rsultats en pratique. Elle consiste
renforcer de manire artificielle chaque tape les quantits de phromone prsentes sur les arcs
appartenant au meilleur tour trouv jusqu present.

Intuitivement, cette mthode consiste faire reparcourir le meilleur tour par certaines fourmis
artificielles, dites fourmis litistes. Ces fourmis sont conceptuellement identiques aux autres four-
mis, si ce nest quelles choisissent leur chemin de manire dterministe et quelle ne se mettent en
route que quand toutes les autres fourmis ont termin un tour.

Si lon dsigne par T le meilleur tour et par L sa longueur, chaque fin de cycle on ralise
lopration suivante :

e LQ si (i, j) T

ij (t) ij (t) +
0 sinon
o e est le nombre de fourmis litistes.

Leffet des fourmis litistes est de grandement accrotre la convergence de la mthode (typi-
quement dun facteur 10), au risque que celle-ci converge vers une solution non-optimale. Cette
amlioration de la convergence sexplique trs bien intuitivement, puisque cela revient favoriser
un chemin parmi ceux dj explors. Elle est prcieuse dans lAS qui reste un algorithme trs
gourmand en ressources de calcul.

Il y a donc une valeur optimale e. Quand nous sommes sous cette valeur et que nous aug-
mentons e, le meilleur tour peut tre dcouvert plus tt. Quand nous sommes au-del de cette
valeur, les fourmis litistes forcent lexploration autour de circuits non-optimaux ds les premires
tapes de la recherche, ce qui amoindrit les performances.

Notons aussi que la prsence de fourmis litistes peut mme permettre lmergence de meilleurs
tours. En effet, les fourmis litistes sont un mcanisme qui permet de focaliser la recherche sur des
zones prometteuses de lespace de recherche en augmentant lattrait des fourmis pour des pistes
que lon sait faire partie dun bon tour. Or, quand un bon tour a t dcouvert, il y a de forte
chance que le tour optimal nen est pas trs loign.

Exemple Dans le problme 30 villes cit plus haut, la valeur optimale de e est 8 (bien que des
valeurs allant de 2 16 donnent aussi de bons rsultats) : on passe de 2500 cycles 250 seulement
pour trouver une solution qui est mme lgrement meilleure en termes de distance la solution
optimale.

On pourrait supposer quaccrotre e en fonction de la progression de lalgorithme vite de fa-


voriser au dbut de la recherche des tours trop long. notre connaissance, cette possibilit na
pas encore t tudie par les chercheurs.
3.4. CHOIX DES PARAMTRES 17

3.4.4 Rsum
Un paramtrage qui donne de bons rsultats en pratique est le suivant [Dro 04 mesures] :

paramtres valeurs
m n
p 0, 5
1
5
Q 100
c Petite valeur positive non nulle
Distribution initiale Uniforme
Si lon choisit dutiliser les fourmis litistes pour amliorer la convergence, on pose e = 8. Le
N Cmax est fix en fonction des ressources de calcul qui sont alloues la rsolution du problme.
Rien ninterdit dinterrompre la recherche selon un critre probabiliste sur la distribution de la
population des Lk (t). Puisque m = n, la complexit de lalgorithme donne par la formule (3.4)
devient :
AScomplexity = O(N Cmax n3 ) (3.5)
Au final, AS est un algorithme cubique, car NCmax est une constante.
Attirons une nouvelle fois lattention sur le fait que ces paramtres ont t ajusts exprimenta-
lement par les chercheurs et quils ne possdent aucune justification thorique. Ce qui fonctionne
bien pour les "problmes-talons" peut trs bien ne pas fonctionner dans le cas gnral. Les tudes
ce sujet restent plutt floues.
Chapitre 4

Performances de lalgorithme Ant


System

Les rsultats exprimentaux fournis dans les premires implmentations taient intressants
dun point algorithmique mais peu performants. Il sagissait de tester AS sur des petites instances
du TSP (entre 30 et 75 villes).

AS (sans fourmis litistes) est capable de trouver la solution optimale (exacte) pour le problme
de 30 villes. Cette solution est atteinte en moins de 400 cycles et des solutions trs proches de la
solution optimales sont atteintes en environ 100 cycles.

Malheureusement, pour des problmes de dimensions croissantes, AS na jamais pu trouver


une solution optimale en moins de 3000 cycles, bien quil prsente une rapide convergence vers de
bonnes solutions.

Il sagit donc de rsultats encourageants, mais non exceptionnels. Cest la raison pour laquelle,
de nombreuses amliorations sur la mta-heuristique ACO ont t faites.

4.1 Prsentation gnrale

Nous allons tenter de concrtiser le fonctionnement de AS. Dans le cadre de ce travail, on sest
inspir des travaux de Dorigo sur limplmentation de AS [Dorigo 03 mesures].

Le programme qui a t test est un programme crit en C qui se nomme ACOTSP [Dorigo internet].
Les tests raliss se basent sur un problme 48 villes, le problme Att48, qui reprsente une
carte des grandes villes des tats-Unis [Dro 04 mesures]. La solution optimale pour ce problme
est prsente la figure 4.1. Elle a une longueur de 10628 km.

Un test de stagnation a t introduit dans le programme. En fait, on observe lcart-type de


la population de la longueur des tours. On divise ce nombre par la plus petite distance entre deux
villes dans le problme, ce qui donne une bonne mesure du degr de stagnation pour le problme
considr. Si ce nombre descend sous un seuil fix par lutilisateur (nous avons fix ici un seuil de
2), on considre que lon est dans une phase de stagnation, donc on arrte lalgorithme. Dans les
tests qui suivent, on a pas activ ce test, lalgorithme progresse jusqu atteintre N Cmax cycles.

18
4.2. RSULTATS SANS FOURMIS LITISTES 19

Fig. 4.1 Le problme Att48

Fig. 4.2 volution de la longueur du meilleur tour.

4.2 Rsultats sans fourmis litistes


Nous avons employ pour cette exprience les paramtres de la section Choix des paramtres,
sans fourmis litistes. Nous avons laiss tourn lalgorithme durant 5000 cycles. Le temps dexcu-
tion total est de 4 minutes et 23 secondes sur un Pentium II 233 Mhz (ce test comprend les tests
de stagnation, laffichage des statistiques et lexportation des rsultats).

Le meilleur tour a t trouv aprs 2139 cycles et une trs bonne approximation est dj dis-
ponible aprs environ 500 cycles [Dro 04 mesures]. On peut observer lvolution de la longueur
des tours dcourverts la figure 4.2. Ce tour avait une longueur avait une longueur de 10.957 km :
sa distance relative loptimum tait donc de (10957 10628)/10628 = 3, 09%. On remarque que
AS dcouvre dans sa premire phase de bons tours qui seront par la suite affins.

Nous avons mesur la concentration en phromone sur chacune des pistes reliant les diffrentes
20 CHAPITRE 4. PERFORMANCES DE LALGORITHME ANT SYSTEM

Fig. 4.3 La meilleure solution trouve et les quantits de phromones correspondantes.

villes aprs les 5000 cycles. Nous avons port ces quantits sur un graphique la figure 4.3 (b).
Ces deux dessins nous donnent une bonne ide intuitive du fonctionnement de lalgorithme.

Lvolution de lcart-type des longueurs des tours parcours en fonction du temps est port la
figure 4.4. On voit que cette valeur ne tombe jamais zro, ce qui assure que lalgorithme cherche
toujours de nouvelles solutions, qui peuvent tre meilleures que celles trouves prcdemment.

On essaye de chercher les meilleures solutions sur les quantits de phromones dposes lors
des cycles prcdents. On peut vrifier cela en observant la figure 4.5, o laxe verticial reprsente
le nombre moyen darcs potentiellement empruntables par les fourmis chaque noeud. Ce nombre
correspond au nombre moyen darcs pour lesquels ij nest pas encore tomb sous une petite va-
leur  : on considre que de tels arcs auraient une probabilit quasiment nulle dtre choisis par
4.2. RSULTATS SANS FOURMIS LITISTES 21

Fig. 4.4 cart-type de la population de la longueur des solutions.

Fig. 4.5 Nombre moyen de branchements possibles par noeud.

Fig. 4.6 Comparaison de la longueur moyenne des tours avec la longueur du meilleur tour.
22 CHAPITRE 4. PERFORMANCES DE LALGORITHME ANT SYSTEM

les fourmis.

Au dbut de lalgorithme, les fourmis sont totalement libres daller dun noeud quelconque
nimporte quel autre (sauf ceux dj visits). Mais trs vite au cours de lexcution, les choix
possibles sont considrablement rduits pour en arrive en moyenne 10 possibilits par ville. Si
cette valeur tombait deux, cela voudrait dire que lalgorithme stagne : arrive une ville, la
voie de sortie simpose elle (le deux vient du fait quil faut une voie de sortie pour les deux
sens de circulation des fourmis). Ce graphe prouve ainsi que lalgorithme ne cesse de rechercher
de nouvelles solutions.

Ce dernier graphe met en vidence un dfaut de AS : mme si lalgorithme cherche activement


de nouvelles solutions, la dcouverte dun meilleur tour nest pas suffisamment exploite pour que
la longueur moyenne des tours diminue pour converger vers loptimum dcouvert, comme le montre
la figure 4.6. En fait, AS amliore les sous-circuits dj faits mais a des difficults les combiner
entre eux.

4.3 Rsultats avec fourmis litistes


La mme exprience a t mene avec huit fourmis litistes. Le temps dexcution tait iden-
tique (on a aussi laiss courir lalgorithme sur 5000 cycles). Le meilleur tour a t trouv au cycle
2579 [Dro 04 mesures] : ce tour a une longueur de 10730 km, soit une une distance qui se rap-
proche du tour optimal (0, 96% au lieu de 3, 09% voqus plus haut).

Fig. 4.7 Comparaison de la longueur du meilleur tour avec ou sans fourmis lististes.

La figure 4.7 montre une comparaison de lvolution de la longueur du meilleur tour au cours
du temps selon que lon utilise ou pas les fourmis litistes. Grce aux fourmis litistes, AS converge
plus vite vers une solution qui est plus proche de loptimal .

La figure 4.8 prsente cette meilleur solution. Il faut remarquer que les sous-zones de la figure
4.3 (page 20) sont nettement moins apparentes et que leur contour pouse cette fois le meilleur
circuit hamiltonien pour cet ensemble de villes (voir dessin 4.1 la page 19), ce qui indique donc
un meilleur fonctionnement. Le graphe de lcart-type est quant lui identique celui de la figure
4.4
4.3. RSULTATS AVEC FOURMIS LITISTES 23

Fig. 4.8 La meilleure solution trouve avec fourmis litistes et les quantits de phromones
correspondantes.

Le graphe de branchement est reproduit la figure 4.10. On y dcouvre que le nombre de


choix de transition est nettement rduit (on passe dune moyenne de 10 une moyenne de 8.5) :
la mthode converge mieux en abandonnant les transitions qui sont trop loignes dun bon tour
dj dcouvert.

La figure 4.10 montre toutefois que la dficience dj voque de AS reste prsente : la longueur
moyenne des tours ne converge pas vers celle du meilleur circuit dcouvert. Toutefois, la longueur
moyenne des circuits est nettement infrieure celle de la figure 4.6 (page 21). On en conclut que
AS avec fourmis litistes donne des rsultats suprieurs ceux de AS sans fourmis litistes.
24 CHAPITRE 4. PERFORMANCES DE LALGORITHME ANT SYSTEM

Fig. 4.9 Nombre moyen de branchements possibles par noeud avec fourmis litistes.

Fig. 4.10 Comparaison de la longueur moyenne des tours avec la longueur du meilleur tour dans
le cas des fourmis litistes.

4.4 Applications sur dautres tailles de donnes


4.4.1 Un plus petit problme ...
Nous avons appliqu AS avec fourmis litistes un problme de taille plus petit cest dire
16 villes (figure 4.11 la page 26). Durant nos essais [Dro 04 mesures], lalgorithme a toujours
dcouvert le tour optimal en environ mille cycles.

Lexcution du programme a pris seulement 29 secondes pour calculer 2500 cycles et la solution
optimale a dans ce cas prcis t trouve aprs 1154 cycles.

Remarquons que contrairement au problme 48 villes, la longueur moyenne des tours converge
vers loptimum et que le facteur de branchement est rduit (de lordre de 4,5 transitions par ville).
4.4. APPLICATIONS SUR DAUTRES TAILLES DE DONNES 25

Limpact de la dficience de AS semble donc rduit sur de petits problmes. Toutefois, lcart-type
des longueurs des tours reste lev (646 km pour un tour optimal de 6867 km de longueur, 1300
cycles aprs avoir atteint loptimum).

4.4.2 ... et un plus grand


Notre dernire exprimentation [Dro 04 mesures] a t effectue sur un problme cent villes
(figure 4.12 la page 27). Ce problme et la meilleur solution trouve par AS avec fourmis litistes
sont prsents la figure 3.13. Cette dernire solution est 4, 68% de la longueur du tour optimal
et a dcouverte ds le cycle 372.

Le temps total de calcul fut de 12 minutes 34 secondes. Ainsi, le meilleur tour fut dcouvert
aprs seulement 2 minutes 20 secondes. AS traite donc assez rapidement le problme. Lcart de
4, 65% est assez bon, mais pas exceptionnel. Dautres statistiques peuvent tre trouves la figure
4.13.

4.4.3 Conclusion des expriences


En guise de conclusion, il semble y avoir intrt exploiter les fourmis litistes. Elles per-
mettent darrivent plus vite une solution plus proche de la solution optimale. Donc de ce fait
appliquer AS de plus grand problmes.

Il faut toutefois faire attention de ne pas donner ces problmes trop poids, afin de laisser
lalgorithme la possibilit de trouver des solutions meilleures que les prcdentes.

AS prsente lavantage de continuellement rechercher de nouvelles solutions, comme le prouve


les graphes de branchement. Dun autre ct, AS souffre dune dficience : lalgorithme ne fait pas
converger la moyenne de longueur des tours vers liptimum qui a t trouv jusqu prsent.
26 CHAPITRE 4. PERFORMANCES DE LALGORITHME ANT SYSTEM

Fig. 4.11 Statistiques pour le problme 16 villes Ulysses16.


4.4. APPLICATIONS SUR DAUTRES TAILLES DE DONNES 27

Fig. 4.12 Le problme kroA-100 : (a) circuit hamiltonien optimal, (b) meilleur tour trouv par
AS avec huit fourmis litistes et (c) concentrations de phromones correspondates.
28 CHAPITRE 4. PERFORMANCES DE LALGORITHME ANT SYSTEM

Fig. 4.13 Statistiques pour le problme kroA-100 : (a) meilleur longueur, (b) longueur moyenne
des tours, (c) cart-type des tours et (d) nombre moyen de branchements possibles.
Chapitre 5

Amliorations plus rcentes de Ant


System

5.1 volution des algos TSP : Nouvelles approches


5.1.1 Introduction
Nous allons maintenant dcrire lvolution de AS . AS fut trouv en 1991 et a subi depuis de
volutions qui ont abouti Ant-Q , ACS , MMAS que lont va analyser par la suite [Dorigo 03]
[Dorigo 02].

5.1.2 Ant-Q [Dorigo 02]


Diffrences
Ant-Q date de 1995 Cet algorithme reprend le meme fonctionnement que AS. La seule
diffrence est quen plus dune modification globale des phromones aprs chaque cycle, les fourmis
modifient pas--pas les phromones sur larc quelle choisissent.

Formule
On met donc a jour larc que la fourmi vient de choisir. On suppose que la fourmi k choisit a
linstant t de passer de la ville i la ville j (selon les rgles de dcision de AS), on met jour la
quantit de phromones sur larc (i, j) ainsi :

t+1 = ij (t) + (1 ) maxlNjk (t) jl

o est une constante paramtrable (typiquement 0,5). la fin du cycle on ajoute ij le


terme (1 - ).ij (t) , o ij (t) est dfini comme pour AS.

Interet
Lide est de mettre jour les pistes de phromones avec une valeur qui est une prvision des
quantits de phromones que la fourmi va trouver dans la ville suivante. Ainsi une fourmi se dpla-
ant dun noeud i j pourra signaler aux suivantes fourmis qui arriveront en i si le dplacement
en j est un dplacement justifi .

Cet algorithme prsente des bons rsultats, mais donne des performances semblables ACS
(voir plus loin), alors que ACS allge le calcul.

29
30 CHAPITRE 5. AMLIORATIONS PLUS RCENTES DE ANT SYSTEM

5.1.3 Ant Colony System (ACS) [Dorigo 02]


ACS date de 1996/97
On ne parle pour ACS que des principales modifications par rapport AS

Premiere amlioration
Sur des grands parcours on peut reprocher AS de ne pas assez se focaliser sur les meilleures
solutions trouves prcdemment pour influer sur les dcisions des fourmis. Pour remdier cela
ACS fait rentrer en jeu une variable constante paramtrable 0 de valeur situ entre 0 et 1.
chaque fois que lon doit dcider de la prochaine ville o placer la fourmi, on attribue une valeur
alatoire uniformment distribu entre 0 et 1 la variable . Lorsque 0 on effectue un choix
uniquement bas sur les villes deja visites (de manire efficace). Dans le cas o > 0 on effectue
un choix de la mme manire que pour AS.
En ajustant 0 on peut donc pousser les fourmis a se focaliser sur les meilleures solutions
trouves ou bien les pousser a chercher dautres chemins.

Seconde amlioration
ACS met en place une politique de mise a jour des phromones visant a intensifier la solution
optimale. Lors de la mise a jour locale (la mise a jour pas pas effectu sur un arc lorsque une
fourmi lemprunte), ACS a tendance diminuer la teneur en phromones. A linverse de AS, ACS
augmente lors de la mise jour globale (aprs chaque cycle) uniquement le chemin appartenant
au meilleur tour (celui de longueur minimale).

5.1.4 Max-Min Ant System : MMAS [Dorigo 03]


MMAS date de 1997

Diffrences avec AS
1. Uniquement le parcours le plus court est mis--jour en phromones
2. Les valeurs des phromones sur chaque arc sont bornes par min et max
3. Les valeurs des phromones sur chaque arc sont initialises a la valeur maximum max
4. La quantit de phromones que lon fait vaporer est proportionelle sa valeur au moment
de la modification, plus les pistes sont fortes plus ses phromones seront diminus

Intrt
On empche ainsi la monopolisation de certains arcs qui ont t tellement imprgns au
dbut du processus de recherche quils sont systmatiquement parcourus par les fourmis.
On permet grce cette faon de grer lvaporation de tirer vers le bas, les arcs chargs
fortement en phromones afin de vrifier si leur importance est pertinente. De ce fait si ce
nest pas le cas, les pistes plus faiblement chargs pourront leur prendre le pas.
Chapitre 6

Optimisation des tables de routage

6.1 Introduction
La flexibilit indgniable propos par loptimisation par colonie de fourmis a permis aux cher-
cheurs dadapter ces algorithmes a des donnes dynamiques. A lheure actuelle, o les rseaux
de communication et le nombre dutilisateurs augmentent exponentiellement, il est ncssaire de
grer le rseau en temps rel pour viter les encombrements ou la saturations des lignes.

Le rseau est en grande partie li la notion de routage. En effet un rseau informatique


peut tre vu comme un graphe dont les artes sont les diffrentes lignes de communication (qui
elles mmes peuvent tre vu comme des sous rseaux plus petits) et les sommets reprsentent les
routeurs. Lorsquun routeur reoit un paquet de la machine A qui doit arriver la machine B,
celui-ci a pour rle denvoyer le paquet vers le prochain noeud de son parcours. Les routeurs tant
souvent interconnects plusieurs routes sont possibles pour un mme paquet, il doit donc essayer
de choisir un trajet minimisant le dlai dacheminement en fonction de lencombrement du rseau.

On utilise principalement deux grandeurs pour exprimer la qualit dun rseau :


la bande passante (bit/s) qui reprsente le taux de transfert (soit la place sur une ligne).
le dlai moyen (s) qui est le temps dacheminement moyen dun paquet.

Un routage de bonne qualit permet daugmenter la bande passante quand le rseau est charg
et de baisser le dlai de transfert dun paquet quand la charge est faible. La charge du rseau
variant continuellement et de faon brutale, les algorithmes doptimisation par colonie de fourmis
semblent parfaitement indiqus pour les gestions des tables de routage. Nous dtaillerons dans ce
chapitre le fonctionnement de lalgorithme antNet.

6.2 Principe de lalgorithme [Dro 04]


Les dveloppeurs dantNet on d faire quelques adaptations aux algorithmes mta-heuristique
dj existants, que se soit la modlisation des fourmis ou le fonctionnement de lalgorithme.

6.2.1 Les fourmis du net


Les fourmis utilises pour la gestion des tables de routage sont de deux types diffrents. Ainsi,
il existe une fourmi "test" qui va suivre les branches du rseau comme si elle tait un paquet et
une fourmi "compte-rendu" qui a pour rle de mettre a jour les tables (fourmis respectivement
nommes F-ant et B-ant).

31
32 CHAPITRE 6. OPTIMISATION DES TABLES DE ROUTAGE

La premire fourmi est un peu plus intelligente quun insecte lambda car elle a la possibilit
de mmoriser ltat du rseau des noeuds quelle traverse. En pratique, elle garde en mmoire
le temps de parcours et le chemin suivi. Le comportement de cette fourmi est dict par une loi
probabiliste que nous verrons plus loin et elle est galement capable dengendrer une fourmi B-ant
la fin de son parcours avant de mourir.

Les fourmis B-ant quant elles ont un chemin pr-determin puisquelles parcourent unique-
ment les noeuds dans le sens inverse de la F-ant layant cre, mettant jour les tables de routage
de ceux-ci. En effet, grce aux informations de la F-ant, la B-ant est au courant de lencombrement
du rseau permettant ainsi au routeur de sadapter aux fluctuations.

6.2.2 Mecanisme de antNet


Lalgorithme dantNet est trs proche de ceux utilis pour le TSP, les routeurs pouvant tre
associs aux villes, ceci dit il y a quelques diffrences notables :
il ny a aucune contrainte sur les villes visiter, cest--dire quune fourmi nest pas oblig
de visiter tous les noeuds.
il y a une piste de phromone diffrente pour chaque noeud de destination.
la dimension temporelle du problme rend plus dlicate son valuation.

algorithme :
1. Chaque noeud lance une fourmi F-ant avec une destination alatoire [Dro 04].
2. Chaque fourmi est route grace la fonction stochastique f prenant en paramtre ijd (t), le
taux de phromones sur la piste et ij (t), linformation spcifique au problme (ici ij est
proportionnel la liste dattente entre les noeud i et j).

pkijd (t) = f (ijd (t), ij (t))

3. Chaque fourmi mmorise son parcour et le dlai entre chaque noeud. Elle incrmente gale-
ment le taux de phromone des pistes traverses.
4. une fois arriv destination la F-ant gnre une B-ant, celle-ci hrite des informations de la
premire et emprunte le mme chemin en sens inverse.
5. les F-ant sont effaces... On met a jour les ijd (t) pour simuler lvaporation.
6. la B-ant met jour les tables de routage.
Bien entendu pour tre efficace ce processus doit tre lanc priodiquement de faon pouvoir
suivre les fluctuations temporelles de lencombrement du rseau.

6.3 Comparaison aux algorithmes classiques


Pour juger des performences de cet algorithme, il a t compar avec les methodes dja
connues(SPF,adaptive Bellman-Ford,...).

6.3.1 Expriences
Les expriences ont t ralis sur simulateur, en utilisant plusieurs topologies et des modli-
sations diffrentes de trafic.
Nous avons dcid de dtailler une des experimentations : le trafic est simul de faon alatoire en
condition de forte charge. A un moment prcis, on simule un accroissement soudain menant la
saturation du trafic pendant 120 secondes. Une courbe-talon nomm Daemon a t faite simulant
un algorithme idal offrant la meilleure performance possible afin davoir une borne maximale.
6.4. CONCLUSION 33

Fig. 6.1 resultat dun test de performance

6.3.2 Resultats
Le graphe du haut de la figure 6.1 montre les flux du rseau appliqu a chacun des algorithmes
tests, tandis que celui du bas permet de voir les dlais moyens des paquets envoys. On peut
constater que antNet (courbe violette) permet de conserv un taux de transfert aussi lev que les
meilleurs algorithmes utiliss aujourdhui pour le routage et quen plus il a un dlai moyen bien
plus faible.

Sur 23 problmes diffrents lantNet sest montr 14 fois plus performant que les autres, 6 fois
aussi bon et seulement 3 fois en dessous (mais dans des limites raisonnables).

6.4 Conclusion
Cet algorithme a t test sur loprateur tlphonique japonais NTT, ainsi que sur le rseau de
la Fondation Nationale Amricaine des Sciences : il a montr des rsultats plus que prometteurs.
Ainsi, un mecanisme biologiquement naturel dauto-gestion dagents autonomes permet de grer
des problmes complexes en temps rel avec beaucoups defficacit. Des oprateurs tlphoniques,
les acteurs du web et mme des socits de logistique peuvent tre interesss par ces relativement
nouveau type dalgorithme.
Table des figures

2.1 Pont binaire de Deneubourg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8


2.2 Exprience du double pont binaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Effet de la coupure dune piste de phromone. . . . . . . . . . . . . . . . . . . . . . 10

4.1 Le problme Att48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19


4.2 volution de la longueur du meilleur tour. . . . . . . . . . . . . . . . . . . . . . . . 19
4.3 La meilleure solution trouve et les quantits de phromones correspondantes. . . . 20
4.4 cart-type de la population de la longueur des solutions. . . . . . . . . . . . . . . . 21
4.5 Nombre moyen de branchements possibles par noeud. . . . . . . . . . . . . . . . . 21
4.6 Comparaison de la longueur moyenne des tours avec la longueur du meilleur tour. . 21
4.7 Comparaison de la longueur du meilleur tour avec ou sans fourmis lististes. . . . . 22
4.8 La meilleure solution trouve avec fourmis litistes et les quantits de phromones
correspondantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.9 Nombre moyen de branchements possibles par noeud avec fourmis litistes. . . . . 24
4.10 Comparaison de la longueur moyenne des tours avec la longueur du meilleur tour
dans le cas des fourmis litistes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.11 Statistiques pour le problme 16 villes Ulysses16. . . . . . . . . . . . . . . . . . 26
4.12 Le problme kroA-100 : (a) circuit hamiltonien optimal, (b) meilleur tour trouv
par AS avec huit fourmis litistes et (c) concentrations de phromones correspondates. 27
4.13 Statistiques pour le problme kroA-100 : (a) meilleur longueur, (b) longueur
moyenne des tours, (c) cart-type des tours et (d) nombre moyen de branchements
possibles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

6.1 resultat dun test de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

34
Bibliographie

[Dorigo 03] Un chapitre dans son livre qui parle des algorithmes labors des colonies de fourmis
notamment adapts pour le TSP et divers problmes doptimisation dynamiques.

[Dorigo 02] Un chapitre dans son livre est spcifiquement ddi aux algorithmes lmentaires des
colonies de fourmis dans un livre gnraliste sur les mta heuristiques.

[Dorigo internet] On peut trouver sur son site internet, une simulation labore du ACOTSP

[Dro 04] Un chapitre dans son livre qui parle de la mta-heuristique ACO, dune manire
simplifie

[Dorigo 03 mesures] Un chapitre dans son livre qui parle de diffrents tests et mesures du TSP

[Dro 04 mesures] Un chapitre dans son livre qui parle de diffrentes mesures du TSP dune ma-
nire simplifie

35