Partie 2 : Contributions 59
6.4 Algorithme génétique
6.4.2 L'algorithme MMTDSPP2 : Basé sur NSGA-II
Etant donné un graphe dépendant du temps
G(V, E, T )
, l'objetif de l'algorithme est de alulerun ensemble de hemins non dominés,depuis un noeud soures ∈ V
vers unnoeud destination
d ∈ V
à partird'un tempst ∈ T
.6.4.2.1 Génération de la populationinitiale
En raison de la grande diversité des populations initiales, nous pouvons distinguer
d'une part les P-métaheuristique qui sont naturellement des algorithmes de reherhe
orientées exploration, des S-métaheuristiques qui sont plutt orientées exploitation. La
déterminationde lapopulationinitialeest souvent négligéedansla oneptiondes
méta-heuristiques. Pourtant, ette étape joueun rle ruialdans l'eaitéde l'algorithme et
une attention partiulièredevrait luiêtre aordée.
Leritèreprinipalàprendre en omptedansetteétapede générationde population
initiale, est elui de la diversiation. Si la population initiale n'est pas bien diversiée,
uneonvergene prématuréepeutseproduirepour touteP-métaheuristique.Parexemple,
elapeut seproduiresilapopulationinitialeestgénérée enutilisantuneheuristique
glou-tonne ouune S-métaheuristique(reherhe loale, reherhe tabou) pour haque solution
de la population, voir[100℄ pour plus de détails.
Comptetenudel'importanede etteétapedegénérationde populationinitiale,nous
avons élaboré deux solutions pour la générer an d'étudier son inuene sur la qualité
des solutionsobtenues. La première méthode est basée sur un hoix glouton alors que la
deuxièmeestbaséesurleprinipedelamétaheuristiqueACO(AntColonyOptimization).
Nous montrerons, par la suite que la deuxième approhe est meilleure du point de vue
qualitéde lapopulationgénérée. Ceiontribueàl'obtentiondu meilleurfront.L'objetif
des deux approhes est de onstruire
N
hemins réalisables respetant les ontraintes itées préédemmentitées.Approhe Gloutonne: Cettesolutiononsisteàparourirlegraphededépartde façon
aléatoire. L'approhe gloutonne est présentée par l'algorithme 21. La boule prinipale
de la fontion ommene à laligne 2, ets'arrête quand lenombre maximalde yles est
atteint, ou quand la taille de l'ensemble des hemins trouvés est égale à
n
(taille de lapopulation).Aprèsl'étaped'initialisation(lignes3-7),l'itérationprinipaleestdéritepar
laboule
tantque
,ligne 8-22. Enommençant par lenoeud soure (ligne4 dans l'étaped'initialisation),haque étape de la boule onsiste à hoisir un noeud suivant au hasard
parmilesnoeuds andidats. Lafontion
Succ[n, t, p]
retourne l'ensembledes noeudsan-didats en fontion du noeud ourant
n
, du tempst
ainsi que du hemin en oursp
. Unnoeud
n ′
est onsidéré omme andidat, s'il est suesseur den
et qu'il existe un arc(n, n ′ , t ′ )
, telquet ′ ≥ t
(t ′
est le temps du départ de l'ar), et que l'ajout de l'arc
auhemin
p
,nevioleauuneontrainte.SilenoeudD
existedanslalistedenoeudsandidats(lignes 9-13) alors une opie du hemin ourant est réée, le noeud
D
est ajouté ave lafontion
Ajout[copie, D]
, ensuite lafontionAjout(Result, copie)
s'oupe de l'ajoutduheminomplet
copie
à l'ensembleResult
. Après avoir,éventuellementajoutéun hemin àl'ensembleResult
,lafontionteste(ligne13)silatailledel'ensembleparetoaatteintlataillede lapopulation, auquel as, lafontion est interrompue. Dansun deuxièmetemps
(lignes15-21),lafontionséletionne,parmilalistedesandidats,lenoeudsuivant.Cette
séletionest basée sur un hoix glouton. Si la listede andidats est vide,
b
est alors misà
vrai
indiquant lan de la reherhe pour le yle en ours.Algorithme 21:Glouton-G.P.I(Graphe G, RequeteR(S,D,
t 0
)Sorties:Un ensemblede hemins réalisables(Result[℄)
i
←
maxCyle ;1
tant que
i > 0
ettaille[Result] < N
faire2
si
taille[Result] = N
alorsInterruption
;13
Approhe ACO : Danslebut dediversierdavantage lapopulationinitiale,nous
utili-sonslamataheuristiqueACO[35℄.Dansleadredenotreappliation,ilexistedeux types
de diversiation àmettre en oeuvre pour garantirune bonnequalité de reherhe :
Diversiation spatiale : Il s'agit des hemins physiques obtenus dans l'espae du
graphe.
Diversiationtemporelle:Ils'agitdesheminsréelstenantomptede ladimension
réelle du temps.
L'algorithmeest onstitué de deux fontionsprinipales. La première onsiste àréer
des hemins physiques en utilisant l'algorithme AS (Ant System), pour garantir la
di-versiation spatiale.La deuxièmefontion est une heuristique gloutonne qui garantit la
diversiation temporelle6.2. L'algorithme onsidère legrapheassoiéauréseau, omme
omme l'espaede travail des fourmis. A haque itération,haque fourmi(ou
éventuelle-mentplusieursfourmisen parallèle)reherhe un heminphysiquereliantlenoeudsoure
s
au noeud destinataired
, selon une loi de probabilité tenant ompte de la quantité de phéromone. Cettefontion est déritepar l'algorithme 22.Algorithme 22:AntSystem-G.P.I(Graphe G, NoeudS,NoeudD)
Sorties:Unensemble deheminsréalisables(Result[℄)
Initialisation() ;
pourhaque ar
∈
Candidats faire13
Result
←
Transform(Physique, RequeteR(S,D,t 0
));25
La première étape onsiste à initialiser une table de phéromone (Ligne 1).
L'initiali-sation de la phéromone onerne les ars du graphe et elle dépend de la taille et de la
densitéde e graphe.Après etteétaped'initialisation,laboule prinipale(Lignes 3-24)
qui s'éxeute
maxCycle
fois, oùmaxCycle
est un paramètre xé au départ, onsiste àréer un hemin physique à haque itération. Ce hemin physique représente une
possi-bilité de relier la soure et la destination. Si à la n de l'itération, la fourmi a trouvé
un hemin exat et omplet alors e dernier est stoké une fois dans un ensemble . La
boule ommene par séletionner l'ensemble des ars valides sortant du noeud ourant,
'estàdire lesars quipeuventêtre ajoutés auheminphyique en oursde onstrution.
Ceiest réalisépar lafontion
ArcSortant(n, p)
(Ligne9). Siet ensembleest vide ousile noeud destinataire est atteint, la reherhe est suspendue (Ligne 10). Dans les autres
as,lafontion
CalculP roba(arc)
alulelaprobabilitéassoiéeàhaquear, élementde l'ensembleandidat.Laprobabilité assoiée àhaquear est inversementproportionnelleàla quantité de phéromone. Intuitivement, elà signie queplus un ar a été traversé et
moins il est intéressant de le traverser de nouveau. Sur base de ette probalité, le
pro-hain ar du hemin est hoisi de façon aléatoire(Ligne 16). Après la onstrution d'un
hemin physique, que elui-i soit omplet ou pas, une mise à jour de la phéromone est
eetuée(Ligne20). Dans leas oùleheminphysique obtenuest omplet,il est rajouté
à l'ensemble des hemins obtenus. Lorque l'ensemble des hemins physiques est
totale-ment onstruit, la deuxième étape de l'algorithme fait appel à la fontion
T ransf orm()
pourtransformer lesheminsphysiquesen heminsréels entenantomptedesnotionsde
tempset de oûts, voirsetion 6.2.
6.4.2.2 Comparaison des deux approhes
La gure 6.5 illustre l'exéution des deux algorithmes sur un graphe de 75 noeuds
et 150 ars. Pour haune des deux heuristiques le nombre de yles est xé à 20. Les
éléments (noeud ou ar) déouverts uniquement par la fontion 22 sont identiés par la
ouleur verte. la ouleur rouge identie les éléments déouverts uniquement par
l'algo-rithme 21 et la ouleur bleu permet de représenter les éléments déouverts par les deux
algorithmes. La soure et la destination sont représentés par la ouleur magenta. Nous
remarquonslairementque lareherhe est mieux répartiesur l'ensembledu grapheave
l'algorithme22 qu'ave l'algorithme21.
Ande tester l'eaitéde l'approhe ACO, nous avons misen oeuvre un algorithme
exat, de parours exhaustif de l'arbre de reherhe pour aluler tous les hemins
phy-siques entre une soure etune destinationdonnées. Evidemment,l'objetif de ette
om-paraison est de mesurer la qualité des solutions obtenues et non les temps d'éxeution.
L'objetifde lamétaheuristiqueACOest derépartirlareherhe sur toutlegraphe,pour
garantirune diversiation de lapopulationinitilale.Paronséquent,notre but n'estpas
de trouver tous les hemins physiques, mais plutt des hemins physiques uniformément
répartis sur l'ensemble de l'espae de reherhe. Le tableau 6.5 représente un exemple
d'éxéution de l'algorithme ACO sur un réseau de 40 noeuds et 80 ars. L'instane du
problème a été exéutée par l'algorithme exat pour déterminer le nombre de hemins
physiques existant entre la soure et la destination ainsi que le nombre d'ars ouverts
parhaundees hemins.Pouretteinstane, l'algorithmeexat détermine166hemins
physiques reouvrant 47ars. Le tableau 6.5présente pour diérentes éxéutions faisant
varier le nombre de yle des 100 yles à 800 yles , le nombre de hemins physiques
Figure 6.5 Génération de lapopulation initiale(75,150), 20 yles
trouvésainsi quelenombre d'ars.Nousonstatons que,mêmelorsquelenombre de
he-mins physiques trouvéspar lamétaheuristiqueest peu élevé(