• Aucun résultat trouvé

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=1jki (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.