o`u δm est un param`etre fixant l’amplitude de la mutation effectu´ee et r est une variable al´eatoire dans{0, 1} repr´esentant la direction de la mutation.
Un certain nombre d’extensions de PBIL ont ´et´e propos´ees :
– au lieu d’utiliser la meilleure chaˆıne g´en´er´ee `a chaque it´eration on peut utiliser les
m meilleures. La mise `a jour du vecteur V demande alors quelques ajustements : il y principalement deux solutions :
1. le vecteur V est d´eplac´e de la mˆeme mani`ere vers les m meilleures chaˆınes, 2. le vecteur V est d´eplac´e vers les valeurs des bits communs aux m meilleures
chaˆınes.
– le vecteur V peut aussi ˆetre (( ´eloign´e )) de la plus mauvaise chaˆıne (not´ee s−) g´en´er´ee dans P :
pi ← pi(1− LRneg) + s+(i)LRneg si s+(i)= s−(i) (6.5) Dans ce cas, LRneg est appel´e taux d’apprentissage n´egatif (Negative Learning
Rate). Cette formule signifie que pi est rapproch´e de s+(i) si les bits `a la position
i de s+ et s− sont diff´erents.
L’algorithme PBIL a ´et´e ´etudi´e empiriquement sur plusieurs probl`emes (Jobshop, voyageur de commerce, bin-packing, optimisation de fonctions num´eriques) avec les valeurs de param`etres suivants (Baluja, 1994) :
– n = 100 ; – LR = 0.1 ; – pm = 0.02 ; – δm = 0.05 ;
– LRneg ∈ {0.0, 0.025, 0.075, 0.1}.
Une comparaison est propos´ee avec un algorithme g´en´etique standard et avec un al-gorithme de descente stochastique (Multiple Restart, Next-Step Hill Climbing ). Les r´esultats obtenus montrent que l’apprentissage n´egatif joue un rˆole important mais que sa valeur d´epend du probl`eme. De plus PBIL obtient des performances sup´erieures aux autres m´ethodes que ce soit en terme de qualit´e que de rapidit´e (Baluja, 1994; Baluja, 1995).
Plusieurs extensions ont ´et´e propos´ees et abandonnent l’espace de recherche binaire pour des espaces `a variables continues (Rudlof and Koeppen, 1996; Sebag and Ducou-lombier, 1998). Dans ce cas, V est utilis´e pour g´en´erer des valeurs r´eelles suivant des distributions gaussiennes autour de chaque valeur pi.
6.5 L’algorithme ACO(Ant Colony Optimization )
La capacit´e des fourmis `a trouver le plus court chemin entre une source de nourriture et leur nid a ´et´e utilis´ee pour r´esoudre des probl`emes d’optimisation combinatoire. Les traces de ph´eromones repr´esentent une attirance pour un arc du graphe mod´elisant le probl`eme. Chaque fourmi construit une solution du probl`eme et l’´evaluation de chaque solution est utilis´ee pour mettre `a jour les traces de ph´eromones. Ces principes ont ´et´e appliqu´es en premier au probl`eme du voyageur de commerce (Colorni et al., 1991) puis`
a d’autres probl`emes combinatoires comme le probl`eme de l’affectation quadratique (Maniezzo and Colorni, 1999). Nous renvoyons le lecteur au chapitre 2 pour le d´etail de ces heuristiques inspir´ees des fourmis qui sont rassembl´ees sous l’acronyme ACO (Ant Colony Optimization).
Nous avons reformul´e le probl`eme d’optimisation consid´er´e dans ce chapitre pour proposer une heuristique bas´ee sur ACO. Plus pr´ecis´ement, nous nous inspirons des d´eveloppements d’ACO qui ont ´et´e appliqu´es au probl`eme du voyageur de commerce, `
a savoir les heuristiques AS (Ant System) (Dorigo et al., 1996) et ACS (Ant Colony
Sys-tem) (Dorigo and Gambardella, 1997b). Nous appelerons respectivement ASb et ACSb les deux adaptations que nous proposons de AS et ACS pour le probl`eme d’optimisation binaire.
Nous pouvons montrer que si nous adaptons les principes d’ACO au probl`eme d’optimization binaire, cela diff`ere de BSC et PBIL principalement sur l’´etape de mise `
a jour de l’algorithme 6.1. Le probl`eme d’optimisation a ´et´e reformul´e de la fa¸con suivante : nous construisons un graphe o`u chaque sommet correspond `a la position d’un bit et o`u les arcs correspondent au choix de la valeur du bit. La figure 6.1.a repr´esente le graphe contenant les diff´erents sommets qu’une fourmi doit parcourir pour construire une solution. La fourmi part du premier sommet sur la gauche et choisit un arc, soit
(( 1 )) ou (( 0 )), pour atteindre le sommet suivant. La d´ecision de choisir l’arc (( 1 )) ou
l’arc (( 0 )) suit une distribution de probabilit´e que l’on appelle trace de ph´eromones
dans ACO mais qui peut ˆetre ramen´ee `a une seule valeur correspondant `a la probabilit´e de suivre l’arc (( 1 )). Notons par 0i et 1i les deux arcs correspondant `a la position i de la chaˆıne de bits. Les quantit´es de ph´eromones de chaque arc sont τ0i et τ1i. Ces deux valeurs r´eelles peuvent ˆetre utilis´ees pour d´efinir une unique valeur pi, la probabilit´e de g´en´erer un (( 1 )) :
pi = τ1i
τ1i + τ0i (6.6)
Les traces de ph´eromones sont donc ´equivalentes au vecteur V utilis´e par les deux pr´ec´edentes m´ethodes. La figure 6.1.b illustre la solution s = 010 . . . 00 g´en´er´ee par une fourmi.
Initialement, dans ACO, chaque arc 0i et 1i (i ∈ {1, . . . , l}) a une quantit´e de
ph´eromone τ0i et τ1i fix´ee `a une valeur positive τ0.
Il est assez ´evident que cette mod´elisation de la recherche d’une chaˆıne binaire sous la forme d’un graphe aussi peu ´elabor´e repr´esente une simplification assez forte de ce que les algorithmes de type ACO ´etaient habitu´es `a traiter : pour un probl`eme de voyageur de commerce `a l villes, `a chaque sommet, la fourmi doit choisir parmi l−k arcs
(k repr´esentant le nombre de villes d´ej`a explor´ees) alors que pour notre mod´elisation, elle ne poss`ede `a chaque sommet qu’une alternative entre deux chemins. Cependant, et `
a notre connaissance, cela n’avait pas ´et´e propos´e alors que ce probl`eme compte parmi les probl`emes classiques en informatique.
102 6.5 L’algorithme ACO(Ant Colony Optimization ) (a) 1 1 1 1 0 0 0 0 1 0 (b) 1 1 1 1 0 0 0 0 1 0
Fig. 6.1 – Adaptation de ACO au probl`eme d’optimization binaire. Le choix des l bits est mod´elis´e par le choix d’un arc (( 0 )) ou (( 1 )) entre les l + 1 sommets.
6.5.1 L’algorithme AS
b(Ant System )
Selon la r`egle de mise `a jour de AS, τki (k ∈ {0, 1}, i ∈ {1 . . . l}), est modifi´e de la
fa¸con suivante : τki ← (1 − ρ)τki+ n j=1 ∆jki (6.7)
o`u ρ ∈ [0, 1] est un param`etre repr´esentant l’´evaporation des ph´eromones et ∆j ki cor-respond `a la quantit´e de ph´eromone d´epos´ee par la fourmi j sur l’arc ki :
∆jki =
1
1+f (sj) si sj(i) = k
0 sinon (6.8)
Comme f est d´efinie surR+, au d´enominateur, nous avons ajout´e 1 `a f (sj) pour ´eviter les probl`emes survenant lorsque f (x) = 0.
Il existe une extension de l’algorithme AS : AS-Rank o`u toutes les solutions sont utilis´ees de fa¸con proportionnelle `a leur performance (Bullnheimer et al., 1997b). Ceci est comparable `a l’utilisation des m meilleures chaˆınes dans PBIL.
6.5.2 L’algorithme ACS
b(Ant Colony System )
Une variante d’AS, ACS, a apport´e des changements importants `a la r`egle de mise `a jour. ACS utilise uniquement la meilleure chaˆıne g´en´er´ee depuis le d´ebut de l’algorithme (not´ee s++) : τki ← (1 − ρ)τki+ ρ∆ki (6.9) o`u : ∆ki = 1 1+f (s++) si s++(i) = k 0 sinon (6.10)
On peut remarquer que cette r`egle est assez proche de celle utilis´ee par PBIL (for-mule 6.3) `a la diff´erence qu’elle s’applique ici sur les ph´eromones et non pas direc-tement sur les probabilit´es pi du vecteur V . Comme pour ASb, ρ sert de coefficient d’´evaporation des ph´eromones.
ACS introduit un moyen de contrˆoler le compromis entre l’exploration et l’exploi-tation 3. Pour chaque bit g´en´er´e pour la solution i `a l’´etape 3 de l’algorithme 6.1 :
– diversifier avec la probabilit´e 1 − q0 : le bit j prend la valeur (( 1 )) avec la
probabilit´e pj;
– intensifier avec la probabilit´e q0 : le bit j prend la valeur suivante
si(j) =
1 si pi > 0.5
0 sinon (6.11)
De plus, ACS utilise une r`egle de mise `a jour locale mise en œuvre `a l’´etape 3 de g´en´eration de la population dans l’algorithme 6.1 :
τki ← (1 − α)τki+ ατ0 si l’arc ki a ´et´e choisi (6.12) o`u α ∈ [0, 1] est un param`etre. Cette mise `a jour locale a pour but de modifier tr`es
l´eg`erement la quantit´e de ph´eromones sur l’arc choisi par une fourmi afin de pousser les autres `a explorer les autres arcs, cela afin d’´eviter que toutes les fourmis se suivent. Ainsi, si la quantit´e de ph´eromones sur l’arc ki est sup´erieure `a τ0, apr´es le passage d’une fourmi, la quantit´e de ph´eromone aura diminu´e. Par contre, si la quantit´e τki
est inf´erieure `a τ0, la formule 6.12 augmente la quantit´e de ph´eromone. Cette mise `
a jour locale agit statistiquement de la mˆeme fa¸con que la mutation de BSC sur les composantes de V . En effet, si τi0 < τi1, apr`es le passage des n fourmis, τi0 sera augment´e et τi1 sera diminu´e ce qui implique que pi sera rapproch´ee de 0.5.