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