Rapport - Ensiwiki

Transcription

Rapport - Ensiwiki
Méthodes d’optimisation pour un problème
de co-voiturage couplé aux transports en
commun
Aziz Amnay
Encadrant : Nadia Brauner
Responsable Ensimag : Florence MARANINCHI
Grenoble, le 16 mai 2012
Table des matières
1 Présentation générale
1.1
1.2
1.3
1.4
Cadre du projet . . . . .
Présentation de l'équipe
Remerciements . . . . .
Problème . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Problème de transport en commun modal
2.1
2.2
2.3
Modélisation . . . . . . . . . . . . . . . . . . .
Algorithmes et heuristiques utilisés . . . . . . .
2.2.1 Algorithmes d'optimisation multiobjectif
2.2.2 Heuristiques . . . . . . . . . . . . . . . .
Exemples . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Problème de covoiturage
3.1
3.2
Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Problème de transport multimodal avec covoiturage
4.1
4.2
4.3
4.4
4.5
Problématique . . . . . . . . . .
Approche 1 . . . . . . . . . . . .
Exemples . . . . . . . . . . . . .
Approche 2 . . . . . . . . . . . .
Comparaison des deux approches
.
.
.
.
.
5 Conclusion
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
3
4
4
4
6
6
8
8
9
9
10
11
11
11
12
12
13
14
2
1
Présentation générale
1.1
Cadre du projet
Le module d'Initiation à la Recherche en Laboratoire (IRL) consiste à développer un
travail personnel en autonomie sous la direction d'enseignants-chercheurs dans un laboratoire. L'objectif principal est d'initier l'étudiant au travail dans le domaine de la recherche
scientique et de voir la particularité du métier de chercheur. D'autre part, il donne lieu
à la rédaction d'un rapport décrivant les aspects techniques et théoriques appris durant
le stage.
Ce travail vise à toucher essentiellement deux problématiques. La première consiste à comprendre le fonctionnement des calculateurs d'itinéraires modal du transport en commun
et du covoiturage. La seconde consiste à essayer de proposer une méthode qui pourrait
exploiter les deux outils pour proposer des trajets qui utilisent à la fois du transport en
commun et du covoiturage. Le sujet est une des problématiques de la société La Roue
Verte, qui propose actuellement des solutions en covoiturage et en transport en commun
séparées.
1.2
Présentation de l'équipe
1. Encadrante : Nadia BRAUNER
Professeur UJF-UFR IM2G
Laboratoire G-SCOP.
Domaine de recherche : Recherche Opérationnelle et Optimisation Combinatoire.
2. Laboratoire d'accueil : G-SCOP
Laboratoire des Sciences pour la Conception, l'Optimisation et la Production de
Grenoble.
Il est constitué de 2 pôles :
(a) Optimisation et Systèmes de Production (qui contient l'équipe de recherche
opérationnelle). Ce pôle traite des problèmes classiques de recherche opérationnelle.
(b) Conception Integrée.
3.
1.3
La Roue Verte
Entreprise grenobloise de covoiturage. Elle propose des solutions dans le covoiturage
depuis 2007. En partenariat avec la société Navitia, elle propose aussi des trajets du
transport en commun modal. Dans le but de développer ses activités, elle souhaite
combiner les deux modes.
Remerciements
Je tiens à remercier mon encadrante Madame Nadia Brauner pour l'aide précieuse
qu'elle m'a apportée et pour le temps qu'elle m'a consacré. Je tiens aussi à remercier
l'Ensimag, le laboratoire G-SCOP qui m'on oert l'opportunité de vivre cette expérience
et la société La Roue Verte pour sa collaboration et son accueil lors de ma visite de ses
locaux.
3
1.4
Problème
Le problème consiste à proposer un moteur d'optimisation qui serait capable de proposer des trajets combinant le covoiturage et le transport en commun.
2
Problème de transport en commun modal
Beaucoup des calculateurs d'itinéraires de transport en commun sont simplistes et
ne proposent qu'un seul mode de transport. On peut citer par exemple, le calculateur
d'itinéraire de SNCF. Ce type de calculateurs ne considèrent qu'un seul objectif. Ces
dernières années plusieurs travaux de recherche s'intéressent à l'amélioration des calculateurs d'itinéraire existants.
Parmi les sites de calcul d'itinéraires modaux on peut citer :
1. Navitia[4]
C'est ce calculateur qu'utilise La Roue Verte pour calculer les trajets les transport en
commun. Il est également largement utilisé en France. Il prend en compte la marche
et propose l'optimisation du temps du trajet ou le nombre de correspondances. Mais
il ne permet pas l'optimisation multiobjectif.
2. Semitag[5]
le calculateur d'itinéraires grenoblois de
le bus et le tram.
Semitag
qui intègrent la marche, le train,
3. google maps[3]
Google propose diérents calculs d'itinéraires de point à point en obligeant l'utilisateur à choisir le mode exclusif (voiture, marche, vélo et les transport en commun).
Il ne permet pas non plus de choisir les objectifs à optimiser.
4. Graphserver[2]
C'est un calculateur multimodal sous licence libre. la généricité constitue l'un de ses
principaux atout. En eet, il ne fait pas de supposition sur la nature de l'itinéraire
souhaité. Mais il ne permet pas de calculer l'itinéraire le plus rapide !
2.1
Modélisation
Le réseau du transport en commun multimodal se modélise avec un graphe multicouche. Une couche pour chaque ligne du mode de transport. L'intérêt de cette modélisation est qu'elle permet de contrôler le nombre de changements de mode (ou même au
sein d'un seul mode).
Les tailles des graphes du transport en commun ne se mesurent pas uniquement par le nombre d'arrêts. Ils dépendent aussi de la fréquence des lignes d'un mode
donné. La gure 1 illustre ce problème avec un graphe initial de 4 sommets et 5 arcs qui
devient assez gros (40 sommets et 47 arcs).
remarque :
4
Figure 1 exemple de graphe espace-temps[1]
dij (t) représente le temps nécessaire pour aller de l'arrêt i à j .
ti période i (il y en a 10 dans cet exemple).
En notant k le nombre de périodes de temps, Le principe consiste à multiplier chaque
sommet k fois. On obtient alors des sommets ik correspondant à l'arrêt i et la période k .
On relie deux sommets ik et jl par l'arc (ik , jl ) si à partir de l'arrêt i on arrive vers j en
l − k périodes.
On présente ci-après les paramètres d'entrée et de sortie usuels du calculateur multimodal :
1.
Pour les calculateurs d'itinéraires du transport en commun, les principaux paramètres sont :
(a) Graphes espace-temps (un graphe pour chaque mode) : représente la base de
donnée du réseau de transport.
Les paramètres suivants sont rentrés par l'utilisateur :
(b) Point de départ O.
(c) Point de destination D.
(d) Date et heure de départ.
(e) Les modes à utiliser.
2.
: En sortie, les calculateurs présentent souvent les meilleures solutions trouvées sous la forme suivante :
(a) Arrêt de départ.
(b) Arrêt d'arrivée.
(c) Durée et détail de l'itinéraire.
Paramètres d'entrée :
Sortie
5
(d) Options pour l'achage des autres solutions.
3.
Objectifs Les principaux objectifs à considérer sont les suivant :
(a) Minimisation des coûts.
(b) Minimisation du temps du trajet.
(c) Minimisation du nombre de changements de modes.
(d) Minimisation de l'émission de CO2 .
Une des dicultés dans l'optimisation multiobjectif réside dans le fait qu'il y a des
objectifs qui vont dans le même sens et d'autres qui s'opposent. Dans notre cadre,
il est évident que la minimisation des coûts et celle de la durée s'opposent. En eet,
marcher à pieds est la meilleure solution pour minimiser les dépenses et la pire pour
minimiser le temps.
2.2
Algorithmes et heuristiques utilisés
Cette section présente dans un premier temps quelques algorithmes classiques de l'optimisation multiobjectif. Puis elle présentera des heuristiques utilisées dans les mêmes
problèmes.
2.2.1 Algorithmes d'optimisation multiobjectif
1. Optimisation multiobjectif :
L'optimisation multiobjectif consiste à optimiser plusieurs objectifs qui peuvent être
indépendents, liés ou contradictoires. La comparaison entre les objetifs nécessitent
de dénir un ordre partiel, appelé
, entre les solutions.
Une solution domine une autre si elle est strictement meilleure sur un critère du
vecteur coût et est meilleure ou égale sur tous les autres critères.
Mathématiquement, on peut écrire qu'un vecteur u = (u1 , . . . , uk ) domine un autre
vecteur v = (v1 , . . . , vk ) si :
relation de dominance
∀i ∈ {1, . . . , k}ui ≤ vi et ∃i ∈ {1, . . . , k} ui < vi
2.
Algorithme de Martin (1984) [6] : Cet algorithme est une extension de l'algorithme de Dijkstra en multiobjectif.
Rappel : L'algorithme de Dijkstra est l'algorithme qui calcule le plus court chemin
d'un sommet vers tous les autres. Il requiert que les poids sur les arcs soient positifs.
une étiquette : est un triplet (
).
n÷ud, vecteur coût, prédécesseur
: le n÷ud courant.
: vecteur des objectifs à minimiser.
prédécesseur : permet de retrouver le chemin.
n÷ud
vecteur coût
6
Principe : Cet algorithme consiste à trouver tous les trajets non dominés reliant
une source à une destination. A chaque itération, il énumère tous les successeurs du
sommet courant et calcule les nouveaux coûts. Il élimine les solutions dominées et
garde les autres pour la suite de l'algorithme jusqu'à atteindre la destination.
(a) initialisation de l'algorithme : I0 := (O, V ecteurCout, N U LL) où O : l'origine
(la source) et VecteurCout le vecteur coût.
(b) Répéter
i. Prendre l'étiquette e de coût minimal c(e).
ii. Pour chaque successeur, créer une nouvelle étiquette e0 :
ci (e0 ) = ci (e) + fi (ct (e))
où t dénote le temps et fi fonction coût de transition.
iii. Éliminer les étiquettes dominées.
Écacité de l'algorithme : Le temps de calcul est raisonnnable pour des instances de taille moyenne. Par contre, pour des instances à grandes échelles telle
que Los Angeles, il peut être très long (quelques minutes). Cette lenteur provient essentiellement de la relation de dominance. En eet, si cette relation laisse beaucoup
de solutions à chaque itération, l'algorithme doit examiner un très grand nombre
de solutions. Ce qui le ralentit signicativement.On a donc tout l'intérêt de rendre
cette relation la plus restrictive possible. On peut considérer qu'une solution est
dominée si elle nous fait gagner 1 minute avec un changement de plus par exemple.
3. Algorithme TLS (Topoligical Label Setting)
Cet algorithme permet de contrôler le nombre de changements de mode.
(a) étiquette (i, q, k) : chemin partiel de l'origine O au n÷ud i dans l'état q avec
k transferts.
Qnow , Qnext deux les de priorités qui contiennent les solutions avec respectivement k et k + 1 transferts.
(b) initialisation : k := 0
(c) repéter
i. si k ≤ kmax avec kmax le nombre maximum de transferts.
calcul des solutions avec k transferts.
ii. k := k + 1
7
2.2.2 Heuristiques
Pour améliorer la vitesse de calcul, certains calculateurs d'itinéraires utilisent des
heuristiques pour calculer des solutions approchées aux solutions optimales.
1. Algorithme A* : Cet algorithme est un algorithme de recherche de chemins entre
un n÷ud source et un n÷ud destination. Il est souvent utilisé quand on privilégie
le temps de calcul sur l'exactitude des résultats.
L'idée principale de l'algorithme est que pour aller de A à B , il faut
essayer de s'approcher le mieux de B à chaque itération. C'est à dire, qu'étant au
point ai , le prochain sommet S à visiter est celui qui minimise la somme du coût
de l'arc ai S et la distance entre ai et la destination (estimation par la distance
euclidienne par exemple).
Les chemins qui ne sont pas directs sont mis dans une liste. Ces chemins sont
réexaminés si les chemins directs n'aboutissent pas. Cela garantit de trouver une
solution quand elle existe.
Principe :
2.3
Exemples
La gure 2 représente l'interface du calculateur d'itinéraires du
semitag
de Grenoble.
Figure 2 Exemple de trajet : Gabriel Faure → Alsace Loraine
8
Figure 3 Résultat pour le trajet Gabriel Faure → Alsace Loraine
La gure 3 représente le résultat de la recherche d'un trajet donné. En particulier, on
donne des informations sur les horaires, la durée, les modes et l'itinéraire détaillé.
3
Problème de covoiturage
Le covoiturage est un moyen de transport qui pourra être mieux exploité dans l'avenir.
En eet, il permet, non seulement, de diminuer l'émission de CO2 , mais il peut aussi aider
à résoudre le problème des embouteillages en zones urbaines. On peut distinguer au moins
deux types de covoiturage : Le covoiturage régulier qui concerne les trajets domicile écoletravail et le covoiturage ponctuel ou de loisir.
3.1
Problématique
Étant donné un ensemble E de trajets enregistrés dans la base de données, le but
d'un calculateur de covoiturage est de proposer au covoitureur un ou plusieurs trajets
correspondant au trajet recherché.
1.
Paramètres d'entrée :
En général, un calculateur d'itinéraires en covoiturage a besoin des paramètres
suivants pour eectuer sa recherche :
(a) E : Ensemble de trajets dans la base de donnée.
(b) Ville (Point) de départ.
(c) Ville (Point) destination.
(d) Type du trajet : régulier ou ponctuel.
(e) Si trajet régulier :
i. Heure de départ.
ii. Heure de retour.
(f) Si trajet ponctuel :
i. Date du voyage.
ii. Heure approximative.
(g) Rayon de recherche par rapport à la ville de départ R1 .
9
(h) Rayon de recherche par rapport à la ville d'arrivée R2.
2.
Sortie du calculateur d'itinéraire :
(a) Liste des trajets qui répondent à la requête avec des informations supplémentaire sur chaque trajet.
(b) Nombre de places disponibles.
(c) Heure approximative d'arrivée.
(d) Prix.
(e) Informations sur le conducteur.
3.
OBJECTIFS : Habituellement, les objectifs considérés sont les suivants :
(a) Minimiser le temps du voyage.
(b) Minimiser l'émission de CO2 .
(c) Minimiser les coûts.
3.2
Exemples
la gure 4 illustre une recherche de trajet entre
covoiturage de La Roue Verte.
Grenoble
et
Lyon
dans le site de
Figure 4 covoiturage pour le trajet Grenoble →Lyon sur la RoueVerte
10
4
Problème de transport multimodal avec covoiturage
4.1
Problématique
En considérant les deux outils de calcul d'itinéraires du transport en commun multimodal et du covoiturage comme des outils que l'on peut utiliser (des boîtes noires), le
but est de trouver une approche qui pourrait donner une solution au problème uniant
les deux modes de transport. En premier lieu, nous sommes partis sur une solution modiant le graphe du réseau du transport en commun. Mais en contactant l'entreprise, il
s'est avéré qu'ils n'ont pas les moyens pour modier la base de données du transport en
commun et nous ont guidé vers l'approche 2.
4.2
Approche 1
L'idée principale de cette approche est de considérer chaque trajet pertinent du covoiturage comme une nouvelle ligne de transport en commun. En eet, elle consiste à
chercher les trajets de covoiturage pertinents et de les intégrer dans le réseau du transport en commun avant de faire la recherche nale.
1.
Enregistrement d'un trajet de A → B
(a) Déterminer la trajectoire.
(b) Décomposer le trajet A → B en sous trajets Oi → Oi+1 , i ∈ {0 . . . N } avec N le
nombre d'arrêts du transport en commun sur la trajectoire de A → B, O0 = A
et ON = B.
Il est possible de rendre cette décomposition plus ne en ne
prenant que les arrêts pertinent pour le trajet. Par exemple, on n'ajoute pas
les arrêts qui ont une seule direction et qui prennent plus de temps qu'en
voiture. Pour notre problème, il vaut mieux ajouter tous les arrêts parce même
en ajoutant tous les trajets de covoiturage en Isère (environ 6000 trajets), la
taille du graphe reste acceptable.
remarque :
(c) Estimer les instants de passage de la voiture par tous les points intermédiaires
Oi .
2.
Recherche d'un trajet : O → D
(a) Interroger le modèle de COVOITURAGE pour avoir tous les trajets partants
du même point de départ O ou arrivants au même point d'arrivée D, et qui
ont au moins une partie commune avec la trajectoire recherchée.
(b) Ajouter chacun de ces trajets en les décomposant en plusieurs sous trajets
comme expliqué dans le point 1.b avec les temps de passage associés. On considèrera chaque trajet comme une nouvelle ligne de bus ou train.
(c) Faire une recherche dans le modèle du transport en commun MULTIMODAL
sur le graphe résultant en limitant le nombre de changements de mode.
(d) Supprimer les trajets ajoutés aux graphes pour cette recherche.
11
4.3
Exemples
Supposons qu'on cherche un trajet A → B .
An de simplier, on suppose que le calculateur du covoiturage trouve une seule solution.
Cette solution va de A vers J en passant par I le milieu du segment AB . De même, le
calculateur du transport en commun trouve une solution composée de deux parties. Une
première partie en tram de A à T et une seconde en train de T à B . La gure 5 donne
une représentation graphique de cette situation :
Figure 5 Un exemple illustrant l'utilité de l'approche 1
On décompose le trajet du covoiturage en sous-trajets Ai Ai+1 selon les arrêts du
transport en commun et on l'intègre dans module du transport en commun. Puis en
eectuant une recherche on trouvera la solution combinant une partie du covoiturage de
A à I et une partie de train de I à B . Cette solution est meilleure que la première solution
du tansport en commun en terme de distance, temps et éventuellemet en coût.
4.4
Approche 2
A cause des moyens limités de l'entreprise, on propose une solution qui pourrait être
appliquée. Cette approche, à l'inverse de la première, consiste à chercher tous les arrêts
qui sont sur la trajectoire du trajet recherché. Ensuite, pour tout arrêt Ti rencontré,
chercher s'il existe le trajet origine→ Ti ou Ti → destination en covoiturage. Si on en
trouve un, on cherche son complémentaire dans le réseau du transport en commun.
Cette approche peut s'écrire plus formellement :
12
Recherche du trajet A → B :
1. Détérminer la trajectoire du trajet du trajet entre A et B .
2. Détérminer l'ensemble des arrêts inclus un polygone autour de la trajectoire du
trajet : T ={arrêt Ti / Ti dans le polygone entourant la trajectoire}.
3. Pour tout Ti de T faire
(a) chercher le trajet A → Ti en covoiturage.
(b) chercher le trajet complémentaire Ti → B en transport en commun.
(c) chercher le trajet Ti → B en covoiturage.
(d) chercher le trajet complémentaire A → Ti en transport en commun.
4.5
Comparaison des deux approches
Cette section présente une comparaison entre les deux approches selon deux critères.
La complexité et le temps d'exécution d'une part et l'optimalité de la solution de l'autre.
1. Complexité :
Pour cette partie on introduit les notations suivantes :
T C : le coût d'une recherche en tranport en commun.
CO : le coût d'une recherche en covoiturage.
La première approche eectue deux recherches : une en covoiturage et une autre
en transport en commun en plus de l'ajout des trajets pertinents dans le réseau de
transport en commun. Ce dernier ajout ne devrait pas coûter très cher puisque la
décomposition des trajets se fait au moment de l'enregistrement du trajet.
Le coût est approximativement T C + CO.
La seconde, quant à elle, eectue beaucoup de recherches en covoiturage. Elle effectue exactement le nombre d'arrêts rencontrés dans la trajectoire.Elle fait le même
nombre de recherches en transport en commun.
Donc la première approche semble bien plus performante en terme de rapidité. De
plus, la seconde n'est pas prévisible. En eet, elle peut ne faire que deux où elle
peut faire entre une et quelques dizaine de recherches en multimodal.
Le coût = n(T C + CO) où n le nombre d'arrêts rencontrés dans la trajectoire.
Il faut cepandant rappeler que, du fait que les calculateurs multimodals ne sont
pas très écaces quand on utilise plus de 3 objectifs pour de grandes instances, la
première approche ne peut pas non plus être écace pour ces mêmes problèmes.
2. Optimalité :
La première approche garantit de trouver des solutions optimales que ce soit des
solutions qui combinent le transport en commun et covoiturage ou juste un des
deux modes. Alors que la seconde essaye de trouver une solution optimale parmi
les solution directes. Ainsi, Cette approche ne trouvera pas les solutions qui se En
eet, elle n'intègre pas les deux systèmes. Elle ne trouve la solution optimale que
dans le cas où cette dernière contient du covoiturage en début ou en n du trajet.
13
5
Conclusion
Le problème de relier covoiturage et transport en commun devient de plus en plus
crucial. Nous avons proposé une solution qui exploite les performances des calculateurs
d'itinéraires multimodal pour répondre au problème. Malheureusement, nous n'avons pas
eu la chance de tester notre approche parce que La Roue Verte n'a pas la possibilité de
modier la base du transport en commun (de Navitia).
Une suite logique du projet serait de tester les approches proposées pour les améliorer.
Il faudrait pour cela trouver un partenaire capable de modier sa base du transport en
commun ou même développer un projet permettant d'eectuer des tests sur une base
de graphes virtuelle quelconque. Il peut aussi être intéressant d'essayer de trouver des
solutions pour les grandes instances.
Personnellement, j'ai apprécié de travailler sur ce sujet. Le fait de ne pas pouvoir tester la
méthode proposé est un peu décevant. Mais en général, le projet s'est bien déroulé et j'ai
appris énormémant que ce soit sur le sujet lui même ou sur la recherche en laboratoire.
Je tiens à remercier mon encadrante Madame Nadia Brauner qui a essayé de me faciliter
et me familiariser avec le sujet et la vie en laboratoire.
Références
[1] Fallou gueye, algorithmes bi-objectif de calcul d'itinéraires multimodaux.
[2]
http ://graphserver.github.com/graphserver/
.
[3]
http ://maps.google.fr/
[4]
http ://transpole.prod.navitia.com/navitia/
[5]
http ://www.sedeplacer-tag.fr/
[6]
Tristram Gräbener, calcul d'itinéraire multimodal et multiobjectif en milieu urbain
.
.
.
.
14