• Aucun résultat trouvé

L'algorithme parallèle PMTDSPP

Dans le document The DART-Europe E-theses Portal (Page 118-123)

Partie 2 : Contributions 59

5.2 Approhe Séquentielle

5.3.3 L'algorithme parallèle PMTDSPP

5.3.3.1 Présentation intuitive :

Nous proposons ii un nouvel algorithme PMTDSPP (Parallel MTDSPP) pour le

problème du plus ourt hemin dans un réseau de transport multimodal et dépendant

du temps. Cet algorithme est basé sur la déomposition géographique des réseaux de

transport.Notre algorithmeesttrèsintuitifetpart duprinipesimplequ'un voyageurqui

veut allerd'un pointsoureà unedestination herhera toujours àquitterlaregion oùse

trouvelasourepourréjoindrelarégionoùsetrouveladestination.Demêmeilherhera

à quitter le mode du réseau où se trouve la soure pour rejoindre le mode du réseau où

setrouve ladestination dans leas ou ledeux noeuds ne font pas partiedu mêmemode.

L'algorithmePMTDSPPreproduiteomportement.Eneetonpartdunoeudsoure

pour réjoindre,ladestinationsielleexiste danslamêmerégion.Onessaiede rejoindreles

pontspourhangerderegion.Onrappelequedansnotreas onaepteleretourmultiple

sur une region.

De façon plus formelle le fontionnement de et algorithme revient à un parours

ex-haustif d'un arbre de reherhe. La gure 5.8 présente l'arbre de reherhe exhaustif de

l'hypergraphe présenté à la gure 4.3. La reherhe ommene au noeud soure (A) et

explore tous ses noeuds adjaents. Pour haque noeud adjaent, un noeud ls est réé

dans l'arbre.e proessus est réitérépour tous les noeuds réés. La limite d'une branhe

del'arbreest atteintequandiln'yaplusde noeudsàvisiterouquandonarriveaunoeud

destination. Rappelons qu'on est dans un ontexte dépendant du temps et que l'objetif

est d'optimiser le temps d'arrivée, il faut don à haque étape du parours hoisir pour

l'arêteen ours,letravelquioptimiseletempsd'arrivée. Lareherhe s'arrêtequand plus

auune arête n'est aesible ave letemps ourant.

Pour éviter l'exploration ombinatoire de l'arbre omplet de reherhe, l'algorithme

propose d'explorer l'arbreselon lesprinipes suivants:

Conurrene:Leparoursde l'arbredereherhe estassoiéàlaonstrution

dy-namique de tâhes devant être exéutées en parallèle par le noyau de l'algorithme.

Chaquetâhe exéutée génèreellemêmedes tâhes indépendantes et e jusqu'à

ex-plorationde tout l'arbre.Lestâhes rééessontexéutées indépendammentlesunes

des autres.Maisellespartagenttoutefoisl'uniqueobjetifquiest elui detrouverle

hemin leplus rapidevers une destinationommune.

Compétitivité : C'est l'aspet leplus importantde notre algorithme.Leprinipe

est lesuivant :si un hemin partiel(la destinationn'est pas enore atteinte) admet

un oût supérieur au meilleur hemin omplet onnu, il doit être ignoré par

l'algo-rithme puisqu'il ne ontribuera en auun as à la solution optimale. Cela est vrai

puisqueleoût onsidéré(tempsd'arrivée)est positivementadditif.Cette propriété

estgarantiearlestâhesollaborentviaunemémoirepartagée.Eneethaquefois

qu'une tâhe atteint la destination , elle partage ette information ave les autres

tâhes. De plus, haque fois qu'une tâhe doit réer de nouvelle tâhes, elle vérie

d'abordleoûtdu meilleurheminompletonnu.Lagure 5.9montreun exemple

de la simpliationde l'arbrede reherhe grâe à laonurrene et àla

ompétiti-vité.

5.3.3.2 Présentation formelle

Avant de présenter formellement l'algorithme PMTDSPP, nous introduisons d'abord

formellementlanotionde tâhe intermodale.UnetaheIMT (Inter ModalTask)onsiste

à résoudre le problème du plus ourt hemin entre une soure

s

vers un ensemble de

destinations

D = {d 1 , ...d l }

au temps du départ

t 0

.

Dénition 5.3.1

Tâhe Inter Modale (IMT) :Soit un Hypergraphe

G h = (R, B)

,une region

r ∈ R

et son transfert graphe

G t r = (C, T r )

, un omposant

C i = (V i , E i , M i , T i , T V i ) ∈ C

.

Si

s ∈ V i

est un noeud soure,

t 0

un temps du départ et

D = {d 1 , d 2 , ..., d l } ⊆ V i

un ensemblede

l

noeuds destination, une Tahe Inter Modale (IMT) est une ativité de alul de plus ourt hemin de

s

vers tout

d ∈ D

à partir du temps

t 0

dans le

W

D M P P K W

T T R G H H

W E E

G R T T

A D D E E P P M D

H H

K W K W W

E E D M P P

D T T R G

H H D P P M D

G R T T

W

A Soure W Destination

Figure 5.8 L'arbre de reherhe ompetdel'exemple 4.3

A

E D D

E D M

H K H G P

H W H R P

x

Soure/Destination

Thread 1 Thread 2

Figure 5.9 L'arbre de reherhe simplié del'exemple 4.3

omposant

C i

, notée IMT(

R

,

s

,

t 0

,

D

)

Pour alulerlesIMT, nousavons onsidéré une versionmodiée de l'algorithme

one-to-many de Dijkstra. Une modiation de e dernier est néessaire pour supporter la

dépendane du temps.Cet algorithmeaétéintroduitdanslasetion 5.2.3.1. Néanmoins,

tout autre algorithmeOne-To-Many peut être égalementutilisé.

L'algorithme 18dérit lepseudoode de PMTDSPP.

Cet algorithme est prinipalement diviséen trois étapes ommedérit i-après :

1. Etape 1 : Il s'agit de l'étape d'initialisation dans laquelle l'algorithme identie le

omposantoùsetrouvelenoeudsoure ainsiqu'un ensemblede noeuds destination

onstitué par tous les noeuds de transfert ainsi que les ponts de e omposant etla

destination globale(ligne4).Ennune premièretâhe (IMT)est rééedans le

om-posant depuis la soure vers l'ensemble des destinations réees au temps de départ

t 0

. Cettetâhe est ajoutée à une pilepartagée par les exéuteurs.

2. Etape 2 : Cette étape onsiste à faire démarrer les éxeuteurs. Chaque exéuteur

herhe dans lapilede façonitérativeunetâhe ete tant quelapilen'est pasvide.

Algorithme 18:Pseudo-ode del'algorithme PMTDSPP

destinations

noeudsTransfert(g)

noeudsPont(g)

∪ d

;

4

tant queun exéuteur tournefaire 10

pause();

11

n 12

3. Etape 3 : Cette étape onsiste à tester périodiquement la ondition d'arrêt, qui est

dans notre as la n d'exéution de tous lesexéuteurs.

Lafontionqui exéuteune tâhe est présentée par l'algorithme19.L'éxéuteur

om-menepardépilerune tâhe (ligne3).Ilfaitappelensuiteàunefontiondealulduplus

ourt heminde typeOneToMany. Lafontionretourne donun ensemblede heminsde

lasoure (sourede latâhe) vers l'ensembledes destinations. Chaque hemin

p

est

ana-lyséommesuit :si

p

atteintla destinationglobale(destinationde larequête arésoudre) alors la proédure de mise à jour de la solution globale est appelée, solutionGlobale(p,

meilleurCout) (ligne 9). Si la solution ourante (le hemin p) admet un oût meilleur

quelasolutionglobale onnue, alors ettedernière est modiée. Dansleas oùlehemin

p

n'arrive pas àla destination globale,et don forément à un noeud de transfert ou un

pont, la fontion valide() est appelée. Cette fontion teste si le oût du hemin

p

(le

tempsd'arrivéedansnotreas)n'estpas supérieuràmeilleurCout(),auquelaslatâhe

est teminée. Cette fontion teste aussi si on est déjà passé par e noeud ave un oût

meilleur,dans e as latâhe est aussi terminée. Sinon, l'exéuteur proède àla réation

d'une nouvelletâhe (ligne12-15).

Laompétitivité de et algorithme vient du fait que plus tt des solutionsomplètes

sont obtenues, et plus vite l'arbre de reherhe est élagué. En eet, plus on optimise le

meilleur oût global onnu, moins des tâhes sont exéutées, sans risque d'inuener les

résultats. Don,vu l'importane de l'ordre d'exéutions des tâhes et pour plus

d'otimi-sation nous avons réé trois types de piles dans lesquelles les tâhes sont empilées de la

manièresuivante :

Pile

P 0

ave une priorité0(laplus élevée) : ontient lestâhes qui s'exéutent dans

un omposant quiontient ladestination globale.

Pile

P 1

ave uneprioritémoins élevée que

P 0

:ontient lestâhes interditesdans

P 0

mais qui s'exéutent dans des regions ontenant ladestination globale.

Pile

P 2

: lereste des tâhes oules moins prioritairesy sont empilées .

Algorithme 19:Pseudo-ode de l'algorithmede l'exéuteur

chemins ← OneT oM any(t.source, t.destinations, t.temps)

;

4

pourhaque p

∈ chemins

faire

Dans le document The DART-Europe E-theses Portal (Page 118-123)