• Aucun résultat trouvé

Outils de synthèse

5.3 Génération de plans de sites web par des fourmis articiellesarticielles

5.3.3 Rôle des fourmis articielles

Génération des h circuits

Lors de la construction d'une solution réalisable, la fourmi doit opérer des choix concer-nant le chemin à emprunter pour rejoindre une source de nourriture. Ceux-ci sont inuencés par la distance séparant les sources de nourriture et par la quantité de phéromones déposées par ses congénères. Cette règle de décision peut donc être notée comme suit :

Pij =

( sijτij P

(i,l)∈Ωsilτil si(i, j)∈Ω

0 sinon (5.2)

où Ω représente l'ensemble des chemins possibles permettant d'atteindre les sources de nourriture qui ne sont pas encore rattachées à un circuit. Dans l'équation 5.2, Pij donne la probabilité de rassembler les sources de nourritureietj dans un même circuit.τij représente la quantité de phéromones présentes sur le chemin reliant la source de nourritureià la source de nourriturej.sij représente l'économie réalisée par le regroupement des sources ietj. La gure 5.11 permet de donner un exemple pour le calcul de l'économie, où dij équivaut à la distance entre les sourcesietj. Il s'agit du cas où la fourmi se trouve sur un n÷ud appeléO

(son n÷ud de départ) et doit décider si elle souhaite regrouper i etj dans un même circuit ou non.

Coût=dOi+diO +dOj +djO Coût=dOi+dij +djO

(a) (b)

Fig. 5.11 Exemple de calcul de l'économiesij.

Initialement, le n÷udO correspond au nid et chaque source de nourriture est accessible depuis le n÷ud O. Le coût de cette solution correspond à la somme des distances pour relier O à chaque source et pour retourner au n÷ud O (gure 5.11 (a)). La gure 5.11 (b) représente la conguration où la source j est placée à la suite du n÷ud i dans un même circuit. Le coût de cette solution va donc devenir la somme des distances pour parcourir le circuit(Oij). Finalement l'économie sij réalisée en faisant un lien deivers j dans un même circuit, correspond à la diérence des deux coûts présentés dans la gure 5.11, et est donnée pour cet exemple par la formule 5.3.

Lorsque la fourmi construit son trajet, elle devra également veiller à ne pas trop se disperser le nombre de chemins directement en partance d'un n÷ud i étant limité par la valeur de Kliens. Ainsi lorsque la fourmi décide de se rendre à une nouvelle source de nourriture, et, connaissant a priori les autres destinations possibles, elle peut choisir de chercher sa destination :

à partir de l'extrémité d'un chemin déjà commencé,

à partir d'un n÷ud de départ i si le nombre hi de chemins déjà générés à partir du n÷udi est inférieur àKliens. En eet, sihi =Kliens, alors aucun autre circuit ne peut être généré à partir du n÷ud i, donc ∀j (i, j)∈/ Ω.

Construisant ainsi Ω, il ne lui reste plus qu'à faire son choix, lequel sera inuencé comme le montre l'équation 5.2 par l'économie qui dépend de la longueur des chemins, et par la quantité de phéromones sur les chemins.

La gure 5.12 permet d'illustrer la génération des circuits par une fourmi. Supposons que l'utilisateur ait xé Kliens = 3. Dans cet exemple, on trouve 8 sources de nourriture et le nid. Imaginons le travail d'une fourmi initialement placé sur le nid O.

(a) (b) (c)

Fig. 5.12 Génération de circuits par les fourmis articielles : (a) initialement, tous les n÷uds sont reliés au nid, (b) la fourmi a décidé de relier 'a' au nid, (c) il reste 3 n÷uds ('c', 'd' et 'h') à relier à la suite de circuits déjà existants.

Au départ, pour calculer le coût de cette solution, on considère que chaque source est liée au nid O (gure 5.12 (a)) et chacune est capable de débuter un circuit. On a alors Ω = {(Oa),(Ob),(Oc),(Od),(Oe),(Of),(Og),(Oh)}. La fourmi doit ensuite choisir quel sera le début de son premier circuit. Pour cela on calcule Pij ∀ (i, j)∈Ω. La gure 5.12 (b) illustre le cas où la fourmi aurait choisi de se diriger vers la source de nourriture a. A cet instant, hO = 1 ≤ Kliens. La fourmi peut donc continuer son circuit commençant par a ou créer un nouveau circuit à partir de O, ce qui se traduit par :

Ω = {(Ob),(Oc),(Od),(Oe),(Of),(Og),(Oh),(ab),(ac),(ad),(ae),(af),(ag),(ah)}.

Elle est alors inuencée par la quantité de phéromones sur les chemins ainsi que par l'écono-mie potentiellement réalisée. La gure 5.12 (c) représente cette même génération de circuits après plusieurs choix de la fourmi. Ici, trois circuits sont en construction : (Oab), (Oe), et (Of g). On a donchO= 3. La limite du nombre de circuits à générer à partir deOest atteinte. Il reste trois sources de nourriture à placer, mais il n'est plus possible de générer de nouveau circuit à partir du nidO. On a doncΩ ={(ac),(ad),(ah),(bc),(bd),(bh),(ec),(ed),(eh),(f c),

(f d),(f h),(gc),(gd),(gh)}. La fourmi devra compléter ainsi les circuits déjà commencés ou en créer à partir de n÷uds appartenant déjà à un circuit, jusqu'à ce que Ω =∅.

Le rôle d'une fourmi est de rapporter au nid de la nourriture provenant de toutes les sources. Elle ne doit accéder à une source que par un unique chemin, le plus court possible. Une fois sa tâche accomplie, l'algorithme d-Prim est exécuté sur chacun des circuits an de générer des sous-arbres de poids minimum qui valident la contrainte du nombre maximum de liens à chaque niveau de l'arborescence inférieur à Kliens. Une solution réalisable de notre problème de génération d'arbre respectant la contrainte Kliens est alors obtenue. Une fois que toutes les fourmis ont construit leur solution, seule la meilleure sera mémorisée (algorithme 4, ligne 9).

Les phéromones

A chaque fois que toutes les solutions réalisables ont été générées, la quantité de phéro-mones sur les chemins est mise à jour. Celle-ci inuence le choix des fourmis sur le chemin à utiliser pour se rendre à une source de nourriture. Le choix d'un chemin dépend eecti-vement de la distance minimale possible pour atteindre ladite source mais également de la quantité de phéromones présentes sur le trajet. Au premier passage de la colonie, les fourmis seront inuencées par les phéromones présentes sur les chemins initialement connus. Aux itérations suivantes, elles seront inuencées par les phéromones déposées sur les chemins constituant la meilleure solution jusqu'alors déterminée.

La mise à jour des phéromones est donnée par la formule 5.4 :

τij = (1−ρ)τij +ρ∆τij (5.4)

Avecρle coecient d'évaporation et∆τij le coecient de renforcement des phéromones, calculé pour favoriser le bon choix des fourmis. Dans la littérature on trouve généralement pour le calcul de ∆τij la formule donnée par l'équation 5.5 :

∆τij =

1

c(S∗) si(i, j)∈S

0 sinon (5.5)

où S représente la meilleure solution trouvée et c(S) le coût de cette solution. Ainsi pour les liens (i, j) n'appartenant pas à la meilleur solution S, nous aurons ∆τij = 0. La quantité de phéromones τij sur ces chemins s'évapore donc jusqu'à tendre vers 0. Les liens (i, j)appartenant à la meilleure solutionS sont tels que∆τij >0, ce qui permet de renforcer la quantité de phéromones. Et cette quantité de phéromones augmente d'autant plus que le coût c(S)est faible. An d'obtenir une quantité de phéromones τij qui ne dépende pas de la fonction coût, et donc qui soit indépendante du site web, nous avons utilisé la fonction ∆τij donnée par l'équation 5.6 :

∆τij =

1 si(i, j)∈S

Par conséquent, les chemins qui appartiennent à la meilleure solution ont des arcs dont la quantité de phéromones tend vers 1 tandis que ceux qui ne participent pas à la meilleure solution ont des arcs dont la quantité de phéromones tend vers 0. A l'initialisation, avec pour nalité de favoriser les liens existants dans le site web, nous avons aecté à la matrice

τ la matrice d'adjacence du site web. Cependant les fourmis doivent être capables de générer d'autres chemins s'ils s'avèrent plus avantageux en termes d'économie sij. De ce fait nous avons xéτij à une faible valeur non nulle pour les liens(i, j)ne faisant pas partie du graphe du site web.

Le test d'arrêt

La meilleure solutionS trouvée par les fourmis constitue une solution réalisable de notre problème. La quantité de phéromones augmente pour les liens appartenant à S et diminue dans le cas contraire. De plus, au fur et à mesure des itérations les fourmis étant attirées vers les chemins contenant la plus grande quantité de phéromones , un écart se creuse au niveau de la quantité de phéromones sur les liens, selon qu'ils appartiennent à la solution ou non. Lorsque cet écart devient signicatif, c'est-à-dire lorsque :

1. τij < α∀(ij)∈/ S

2. et τij > β ∀(ij)∈S,

le test d'arrêt est vérié, et la meilleure solution peut être déterminée, en vue de son achage sous forme linéaire.