Une modélisation sous forme de graphe dynamique distribué pour la mise en

Dans le document Combinaison des techniques d’optimisation et de l’intelligence artificielle distribuée pour la mise en place d’un système de covoiturage dynamique (Page 148-175)

III. Chapitre III

III.3. Une modélisation graphique innovante pour la mise en place d’une architecture

III.3.1. Une modélisation sous forme de graphe dynamique distribué pour la mise en

évolutive

Pour la modélisation de notre système, nous nous sommes inspirés des efforts développés dans le cadre des problèmes de tournée de véhicules (109) et plus particulièrement les problèmes de collecte et de distribution en temps réel (110), (79) compte tenu des ressemblances qu’ils présentent avec le problème de covoiturage dynamique. En effet, les aspects stochastiques et dynamiques (111) des évènements et données (112) définissant ces problèmes rejoignent l’aspect aléatoire des offres et demandes du problème de covoiturage en temps réel. Le problème de transport à la demande de personnes handicapées (Dial-A-Ride Problem : DARP) (113), (114), qui consiste à adapter l’offre en fonction de la demande des usagers, est ici considéré en particulier puisqu’il se rapproche encore plus de notre problème,

148 étant donné que nous nous plaçons dans le cadre du transport de personnes et non pas de marchandises.

III.3.1.1. Modélisation des données du système

La problématique du Covoiturage Dynamique Optimisé (CDO) peut être assimilée à un problème de transport public de personnes, notamment en zone urbaine et pré-urbaine. Les efforts déployés dans le sens d’intégration des données y transitant ont abouti à la mise en place d’une architecture adéquate et ont ainsi donné lieu à une représentation innovante du réseau de desserte sous forme de graphe dynamique distribué. Vers une démarche simplifiée de traitements complexes, les graphes dynamiques sont, dans notre cas, le fondement de notre approche. Cette modélisation ayant fait l’objet de plusieurs travaux dans plusieurs domaines, notamment dans le domaine du transport n’a jamais été abordée dans les systèmes de covoiturage et encore moins dans les systèmes de covoiturage dynamique. Par ailleurs, la dynamique des modélisations basées sur ce concept se réfère essentiellement à la pondération variable des arcs du graphe. Dans notre cas, tous les aspects à représenter sont touchés par le problème de la variation continue et ce concept a ainsi été adapté au problème de covoiturage dynamique optimisé. Une démarche innovante inspirée de la notion de classification des données a ainsi aidé à l’établissement d’un modèle bien adapté à la problématique que nous nous proposons de résoudre. Le travail élaboré dans ce cadre a donné lieu à la mise en place de l’architecture graphique escomptée, détaillée et formalisée dans les sections suivantes.

Basée sur le concept de graphe dynamique distribué, l’architecture en question tient sa propriété de dynamicité des spécificités des offres et demandes des usagers qu’elle représente. Ces dernières étant fortement variables, le modèle graphique représentatif du système doit en suivre l’évolution à travers le temps. Ainsi, pour n usagers émettant des requêtes de covoiturage et m véhicules offrant des trajets, qu’ils soient déjà en cours de circulation ou pas encore à un instant t donné, le système de covoiturage dynamique est défini comme étant le triplet T(t)=(G(t),R(t),O(t)). Dans cette formulation, chacun des paramètres est relatif à une composante particulière qui contribue à la bonne mise en œuvre du système :

 G(t) est un graphe modélisant le réseau dynamique de covoiturage. Il s’agit d’une représentation que nous avons jugée idéale puisqu’elle épouse parfaitement la forme et l’image du terrain accueillant les covoitureurs et covoiturés ;

149

 O(t) est l’ensemble des offres relatives aux voitures disponibles.

Dans la suite, l’ensemble de ces composantes est décrit avec le niveau de détail requis et ce afin d’en expliquer le choix de modélisation adopté.

A. Une modélisation sous forme de graphe pour illustrer l’image du réseau

)) ( ), ( ( ) (t N t A t

G = est un graphe orienté dynamique représentant l’image du réseau de desserte où sont dispersées l’ensemble des offres et demandes des usagers du service. En effet, les principaux paramètres du graphe étant N(t) et A(t), ces derniers sont définis dans la suite de cette section.

A.1.N(t) : l’ensemble des nœuds du graphe

) (t

N est l’ensemble des nœuds construits, à l’instant t, sur la base des positions géographiques des usagers du service, qu’ils soient covoitureurs ou covoiturés ainsi que sur les détails des déplacements requis ou prévus (i.e. repères d’itinéraires et chemins à parcourir). Ainsi, l’ensemble des nœuds, défini plus en détail dans la suite, est identifié comme étant l’ensemble des origines des trajets demandés ou à desservir, leurs destinations finales requises ainsi que les adresses intermédiaires par lesquelles sont susceptibles de passer les usagers en question. A défaut de paramétrage des départs de voyages, l’ensemble des origines des déplacements s’identifie aux coordonnées géographiques actuelles des utilisateurs (i.e. piétons et voitures). En effet, notre système étant doté d’un module de positionnement géographique, la géolocalisation des usagers se fait en temps réel et en continu de sorte à en assurer l’acquisition facile à n’importe quel moment pour des besoins de traitement mais aussi de traçabilité. Ceci étant un facteur principal dans la mise en place d’un système sûr et efficace garantissant la sécurité des usagers.

A.2.A(t) : l’ensemble des arcs du graphe

Correspondant à l’ensemble des arcs du graphe, A(t) représente essentiellement les itinéraires qui vont être desservis par les voitures. Ces arcs s’identifient, de ce fait, aux chemins restants à parcourir par les conducteurs en cours de voyage mais aussi ceux qui n’ont pas encore été entamés (i.e. voitures immobiles). Ces itinéraires sont construits et mis à jour en temps réel en fonction des points de passage des véhicules tracés par le système. Dans le cadre de prise en compte d’une image actualisée, fidèle à l’état réel du réseau, ces itinéraires déterminent ainsi les routes à emprunter afin de parvenir aux destinations finales préalablement spécifiées par les conducteurs. Si l’on se projette sur une carte routière réelle,

150 la représentation de ces arcs doit être conforme à la nature des routes ainsi qu’aux possibilités de desserte sur celles-ci (e.g. route en sens unique, route à double sens, etc.). Toujours est-il que le sens de chaque route n’est visible sur le graphe que lorsque celle-ci est empruntée par une ou plusieurs voitures dans la direction indiquée, conformément à son itinéraire global. Ainsi, comme le montre la Figure III.2, un arc peut être orienté soit dans un seul sens soit dans les deux si deux voitures ou plus comptent desservir la même section de route dans deux directions opposées.

Figure III.2. Représentation des itinéraires des voitures

Les routes non desservies, c’est-à-dire ne correspondant pas à des trajets ou des parties de trajets de véhicules, ne sont pas représentées au niveau de cette modélisation. En effet, le processus d’affectation est effectué uniquement sur la base de l’offre existante pour rechercher les itinéraires répondant aux requêtes des covoiturés. Les arcs représentés au niveau de ce graphe sont ainsi formés à la suite de l’extraction de l’information nécessaire sur l’offre disponible à l’instant t considéré. Il s’agit en effet d’une modélisation des itinéraires reliant les origines des déplacements des voitures à leurs destinations finales en passant par des points repères. Ces derniers correspondent à des adresses de passage désignés par les conducteurs eux-mêmes ou calculés par le système lors d’un processus préalable comme étant des points de prise et/ou dépose de passager(s). En effet, lors de traitements antérieurs, les voitures peuvent se voir affecter des passagers qu’il faudra récupérer et déposer à des endroits spécifiques pouvant engendrer de petits détours dans leurs itinéraires initiaux. Par conséquent, ces points de prise et dépose servent à actualiser les chemins à parcourir par les véhicules.

Les nœuds origines des déplacements modélisés dans ce graphe représentent soit les positions actuelles des voitures en question si celles-ci sont déjà en cours de circulation, soit leurs départs initiaux s’il s’agit de voitures dont le voyage n’a pas encore été entamé. Une

151 géolocalisation instantanée permet ainsi de déterminer les positions courantes des voitures et de tracer leurs itinéraires restants pour atteindre leur objectif.

Le Tableau III.1 montre un récapitulatif des itinéraires de chacun des véhicules V , 1 V et 2

3

V représentés sur le graphe décrit au niveau de la Figure III.2. Ces itinéraires sont ici décrits sous forme d’une succession de points de passage de chacun de ces véhicules.

Tableau III.1. Itinéraires des Véhicules

Véhicule Points de Passage V1 a d f … V2 b c e d f … V3 e d a …

Les itinéraires des voitures tels que représentés sur la Figure III.2 sont composés de plusieurs sections de routes. Deux voitures ou plus peuvent en partager plus d’une dans le même sens (i.e. cas du tronçon

[

df

]

) ou dans un sens contraire (i.e. cas du tronçon

[

ad

]

) comme le montre la Figure III.3. Ainsi définies, ces sections de routes constituent les arcs du graphe G(t) reliant les nœuds entre eux, identifiant ainsi leur sens d’orientation en fonction des directions selon lesquelles les routes représentées sont empruntées. Les nœuds extrémités de ces parcelles de trajets peuvent donc jouer le rôle d’origine ou destination ou bien les deux à la fois.

Figure III.3. Partage d’itinéraires : une ou plusieurs voitures par tronçon

Partant de ce principe et sachant que les voitures peuvent se partager des parties de leurs trajets ou simplement des points d’intersection, nous identifions deux catégories distinctes de nœuds : origines (i.e. nœuds sortie) et destinations (i.e. nœuds réception). Ces deux classes de

152 nœuds, telles qu’elles sont illustrées sur la Figure III.4, peuvent se croiser en un ensemble de points communs (origine/destination). Par conséquent, chaque nœud peut posséder :

- Un ou plusieurs successeurs se référant à l’ensemble des nœuds destinations (extrémités finales) des sections de routes dont le nœud en question est l’origine (extrémité initiale). Les nœuds successeurs représentent ainsi des destinations finales ou intermédiaires de véhicule(s) ou usager(s).

- Un ou plusieurs prédécesseurs qui sont les extrémités initiales (i.e. origines) des arcs dont le nœud considéré est la destination.

Un nœud peut lui-même être successeur ou prédécesseur ou les deux à la fois d’un ou plusieurs autres nœuds. On distingue ainsi pour chaque nœud xN(t) deux ensembles :

1. L’ensemble des nœuds successeurs de x noté

N

x+

(t)

et défini comme suit :

{

( )/ ( , ) ( )

}

(III.1)

)

(t v N t x vet x v A t

Nx+ = ∈ ≠ ∈

2. L’ensemble des nœuds prédécesseurs de x noté

N

x

(t)

et défini comme suit :

{

( )/ ( , ) ( )

}

(III.2) )

(t v N t x vet v x A t

Nx = ∈ ≠ ∈

Figure III.4. Ensembles de nœuds successeurs et prédécesseurs

A.3. Un graphe dynamique pour un réseau dynamique

Le graphe G(t) dont les éléments N(t) et A(t) dépendent fortement des données du système, à savoir l’information sur l’offre et la demande, dépend entièrement de ces données et possède une forme et des propriétés qui varient constamment. En effet, les données du système étant en continuelle variation, leur modélisation ne peut être constante. Ainsi, la représentation graphique proposée suit le mouvement assurant ainsi une image fidèle à

153 l’apparence du réseau variant avec les informations acquises à chaque instant t considéré. La modélisation proposée est ainsi établie en fonction du temps et est représentée sous forme de graphe dynamique dont la dynamicité d’au moins un de ses paramètres en fait la définition (69). En effet, les caractéristiques de ce graphe ne sont pas fixes et s’expriment plutôt en fonction des besoins des utilisateurs en matière de déplacement et des services fournis. De ce fait, ces caractéristiques varient constamment montrant l’évolution des trajets à travers le temps ainsi que les nouveaux changements opérés sur le réseau (i.e. nouvelles offres et demandes).

B. Recueil des requêtes de covoiturage et modélisation des données

{ }

U

n p p t R t R 1 ) ( ) ( =

= : est l’ensemble des n requêtes émises, à l’instant t, par les n usagers du

service :

U

n

{ }

p p t U t U 1 ) ( ) ( =

= . Seuls les utilisateurs connectés au système à l’instant t et ayant émis des requêtes de covoiturage sont pris en considération. Sachant que bien d’autres usagers abonnés du service peuvent exister (i.e. connectés ou non), ces derniers ne sont pris en compte que dès lors qu’une requête qui leur est associée parvient au système. En effet, l’ensemble de ces abonnés ne sont pas considérés lors de la construction du graphe puisqu’ils ne font pas partie intégrante du fonctionnement du service. Ils sont, de ce fait, dits « passifs » étant donné qu’ils ne contribuent à la réalisation des traitements et ne deviennent donc « actifs » que sous l’unique condition d’avoir émis préalablement des demandes de déplacement. Par ailleurs, ces utilisateurs peuvent être à l’origine d’une mise à jour du graphe s’ils envoient des requêtes alors que le processus est déjà en cours d’exécution (i.e. à un instant 't proche de t avec t'>t

). En effet, la modélisation de la zone de desserte doit représenter le plus fidèlement possible le réseau de covoiturage, prenant ainsi une forme adéquate et peut être différente d’un instant à l’autre afin de modéliser en temps réel tout changement pouvant survenir.

B.1. Structure d’une requête de covoiturage

A dessein de mettre en place un système optimisé qui requière en premier lieu le paramétrage de l’utilisateur, nous nous proposons de structurer les requêtes des usagers de manière à ce qu’elles puissent incorporer leurs choix et préférences. A chaque utilisateur représenté dans la modélisation établie est ainsi associée une demande de covoiturage dont le formalisme est le suivant :

[ ]

{

, , , ,

}

(III.3) ) ( p p p p p p t R R P d a R = +

154 Chaque demande est spécifique à un utilisateur bien déterminé Up indiquant ses préférences de déplacement, à savoir :

o

R

+p : désigne les coordonnées géographiques de l’origine souhaitée de son déplacement. Le départ de chaque voyage peut être indiqué par l’utilisateur en spécifiant soit l’adresse soit directement les coordonnées géographiques qui lui correspondent. Si l’utilisateur omet de spécifier son lieu de départ, sa position géographique à l’instant t considéré est automatiquement détectée via l’outil GPS intégré dans notre système. La position ainsi déterminée sera considérée comme étant l’origine initiale du trajet à effectuer par Up.

o

R

p : correspond à la destination finale que l’utilisateur p voudrait atteindre. Indiquée de manière similaire au départ du trajet planifié, la destination peut être insérée sous forme d’adresse ou bien de coordonnées géographiques.

Les origines et destinations des trajets demandés par les utilisateurs sont représentés au niveau de la modélisation proposée par des couples de nœuds du graphe G(t). Par conséquent, NR(t) est l’ensemble des nœuds dans N(t) relatifs aux requêtes émises par les covoiturés (i.e. piétons, passagers) :

{

,

}

( ) (III.4) ) ( 1 t N R R t N n p p p R = ⊆ = +

U

o Pp : correspond au nombre de personnes, Up inclus, à transporter de l’origine

R

+p à la destination

R

p (Pp ≥1). Par défaut, ce paramètre vaut 1 considérant Up comme l’unique passager. Cependant, l’utilisateur, émetteur de la demande, peut spécifier que le voyage concerne plusieurs individus (e.g. collègues de travail ou étudiants souhaitant voyager sur un même trajet…). L’utilisation de ce paramètre nous permet d’optimiser le traitement des requêtes. En effet, en évitant à plusieurs usagers d’envoyer séparément leurs requêtes, l’émission d’une seule demande étant suffisante, le traitement parallèle de l’ensemble de leurs demandes est ainsi favorisé pour n’en traiter qu’une seule. Faisant usage de ce paramètre, nous visons le traitement parallèle des requêtes similaires aussi bien que l’optimisation des flux d’émission et de réception des requêtes et des réponses.

155 maximale tolérée par l’utilisateur. Ici nous nous sommes inspirés des travaux développés dans le cadre des problèmes de collecte et distribution de charges (115). Plus particulièrement encore, sont considérés ceux relatifs aux « Dial-A-Ride

problems » qui ont eu recours au concept de fenêtre de temps. Dans ce sens, nous

faisons plutôt référence à la variante de « Dial-a-Ride problem with desired pickup

and delivery times» (116) pour ne considérer que la satisfaction des abonnés du

service. Dans nos travaux, dp désigne de ce fait le temps de départ au plus tôt possible pour l’utilisateur p et ap le temps d’arrivée au plus tard toléré. Cet intervalle, lorsqu’il est spécifié par l’utilisateur, indique l’heure au plutôt à partir de laquelle ce dernier pourrait se présenter au point de départ spécifié ainsi que l’heure d’arrivée à ne pas dépasser indiquant implicitement la marge de retard toléré durant le trajet à effectuer. Dans le cas contraire, à défaut d’avoir spécifié ses préférences, l’usager se verra affecter des valeurs par défaut. Ces valeurs correspondent au temps système relatif à l’heure d’émission de la requête pour le temps de départ au plus tôt et au Temps d’Arrivée Estimé

(

TAE pour le temps d’arrivée au plus tard :

)

(III.5) ) , ( ) ( ) , , (R+p Rp t = R+,R t + Rp+ Rp TAE p p τ ρ

calculé dans ce cas sur la base de deux fonctions :

1. Une fonction de pondération calculant le temps de parcours

O,D(t)

)

requis pour traverser une route bien déterminée à partir d’une origine O vers une destination

D à l’instant t considéré. Dans ce cas, le graphe G(t) est dit « valué » permettant d’attribuer une valeur (i.e. un poids) à chaque arc du graphe. Le poids d’un arc

) ,

(O D tel que(O,D)∈A(t) vaut (ρO,D(t)) calculé en fonction de plusieurs facteurs : (III.6) ) ( ) , ( vec ) , , ( 1 ) , ( ) ( , a O D A t t D O VMP D O ance Dist t D O = ∗ ∈ ρ

Notons que dans un contexte de transport urbain et pré-urbain, les pondérations des arcs ne peuvent être négatives. Ainsi, ∀(O,D)∈A(t),

ρ

O,D(t)≥0 (2). Les poids des arcs du graphe sont calculés en fonction de :

- La fonction Distance(O,D) qui calcule la distance entre deux points géographiques représentés par leurs coordonnées GPS (i.e. Longitude, Latitude).

156 Dans cette formule, la loi sphérique des cosinus est prise en compte et se présente comme suit :

( ) (( )) (( ) ( ))

*R (III.7) longitude -longitude cos * latitude cos * latitude cos latitude sin * latitude sin acos , O D D O D O       + = D O ance Dist

Cette formule indique avec une précision quasi-totale la distance séparant deux points, même proches à moins d’un mètre de distance sur la surface de la terre32 dont R est ici le rayon. Les paramètres latitude et longitude nécessaires au calcul de cette formule sont relatifs aux coordonnées GPS d’un point de l’espace et doivent être spécifiés en radian.

- Le paramètre VMP qui indique la Vitesse Moyenne de Parcours sur une route spécifique à un instant t bien déterminé. Ce paramètre varie en fonction de plusieurs facteurs, entre autre le type de la route qu’il s’agisse d’une autoroute, route secondaire ou autre. Ainsi, la vitesse moyenne de parcours est différente d’une route à une autre. Par ailleurs, pour un même type de route, ce paramètre peut varier puisque la vitesse à laquelle roule une voiture sur une même route n’est pas la même en temps pluvieux qu’en temps neigeux ou en heure de pointe qu’en période normale, etc. Par la suite, et comme le montre le Tableau III.2, ce paramètre dépend particulièrement de la nature de la route, la période de voyage et le temps.

Tableau III.2. Vitesse Moyenne de Parcours (VMP) à l’origine d’une pondération dynamique 32 http://www.movable-type.co.uk/scripts/latlong.html Période de Voyage

Temps Type De Route Vitesse Moyenne de Parcours

(VMP) Période Nomale Pluie Autoroute 90 km/h Période Nomale Pluie Route Secondaire 70 km/h Heure de Pointe Pluie Autoroute 60 km/h Heure de Pointe Pluie Route Secondaire 40 km/h

157

Partant de ce principe et sur la base de la variabilité des VMP , nous pouvons constater que les poids affectés à une même route peuvent différer même si l’image du réseau reste figée entre deux instants différents. Ces poids dépendent du temps comme facteur principal et peuvent être à l’origine de l’inconstance des traitements et calculs. Ainsi, en plus de sa forme dynamique basée sur des paramètres variables (i.e.

N(t)

et

A(t)

), le graphe

G(t)

est aussi doté d’une fonction de pondération dynamique. Un graphe est énoncé comme étant dynamique si au moins l’un de ses paramètres est fonction du temps (69) (18).

)

(t

G

est de ce fait défini comme étant un graphe « fortement dynamique » puisque dépourvu de toute caractéristique invariante.

2. Une fonction

τ

(O,D) qui calcule le retard maximal possible sur une route

[

OD

]

.

[

OD

]

n’est considéré segment de route que s’il existe un arc

) ( ) ,

(O DA t reliant ses deux extrémités dans le sens indiqué. Le taux de retard

tolérable est calculé en fonction de la distance séparant les nœuds origine et destination de la route considérée proportionnellement à un Seuil de Retard Tolérable

(

SRT paramétrable par l’administrateur du système :

)

(III.8) ) , ( ) , (

β

α

τ

O D =DistanceO D

SRT représente ainsi la valeur du retard toléré (

α

) en minutes pour un trajet de

β

kilomètres permettant de calculer l’heure d’arrivée au plus tard à l’extrémité finale de la route considérée.

B.2. Une structure matricielle pour recueillir les informations sur les requêtes

Les usagers du système spécifient leur besoin en matière de déplacement en provoquant

Dans le document Combinaison des techniques d’optimisation et de l’intelligence artificielle distribuée pour la mise en place d’un système de covoiturage dynamique (Page 148-175)