• Aucun résultat trouvé

L'algorithme MMTDSPP2 : Basé sur NSGA-II

Dans le document The DART-Europe E-theses Portal (Page 146-150)

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 soure

s ∈ V

vers un

noeud destination

d ∈ V

à partird'un temps

t ∈ 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 la

population).Aprèsl'étaped'initialisation(lignes3-7),l'itérationprinipaleestdéritepar

laboule

tantque

,ligne 8-22. Enommençant par lenoeud soure (ligne4 dans l'étape

d'initialisation),haque étape de la boule onsiste à hoisir un noeud suivant au hasard

parmilesnoeuds andidats. Lafontion

Succ[n, t, p]

retourne l'ensembledes noeuds

an-didats en fontion du noeud ourant

n

, du temps

t

ainsi que du hemin en ours

p

. Un

noeud

n

est onsidéré omme andidat, s'il est suesseur de

n

et qu'il existe un ar

c(n, n , t )

, telque

t ≥ t

(

t

est le temps du départ de l'ar), et que l'ajout de l'ar

c

au

hemin

p

,nevioleauuneontrainte.Silenoeud

D

existedanslalistedenoeudsandidats

(lignes 9-13) alors une opie du hemin ourant est réée, le noeud

D

est ajouté ave la

fontion

Ajout[copie, D]

, ensuite lafontion

Ajout(Result, copie)

s'oupe de l'ajoutdu

heminomplet

copie

à l'ensemble

Result

. Après avoir,éventuellementajoutéun hemin àl'ensemble

Result

,lafontionteste(ligne13)silatailledel'ensembleparetoaatteintla

taillede 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

et

taille[Result] < N

faire

2

si

taille[Result] = N

alors

Interruption

;

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 destinataire

d

, 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 faire

13

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,

maxCycle

est un paramètre 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 ousi

le 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é(

< 5%

),ladiversiation est garantie ar

72%

des ars sont ouverts par es hemins.

Dans le document The DART-Europe E-theses Portal (Page 146-150)