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 dedestinations
D = {d 1 , ...d l }
au temps du départt 0
.Dénition 5.3.1
Tâhe Inter Modale (IMT) :Soit un Hypergraphe
G h = (R, B)
,une regionr ∈ R
et son transfert graphe
G t r = (C, T r )
, un omposantC 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 etD = {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 des
vers toutd ∈ D
à partir du tempst 0
dans leW
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
estana-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 unpont, la fontion valide() est appelée. Cette fontion teste si le oût du hemin
p
(letempsd'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 dansun omposant quiontient ladestination globale.
Pile
P 1
ave uneprioritémoins élevée queP 0
:ontient lestâhes interditesdansP 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