• Aucun résultat trouvé

Revue de la litt´ erature sur le calcul d’itin´ eraire multicrit` ere

Un certain nombre d’articles et de travaux de th`ese traitent de l’optimisation mul- ticrit`ere d’un itin´eraire dans un r´eseau de transport en commun ou dans un r´eseau de voirie. Nous exposons ici les contributions les plus r´ecentes et significatives, en lien avec ce travail de th`ese, sur ces questions.

1.5.1 Comparaison d’algorithmes multicrit`ere sur graphes time-dependant et time-expanded

Dans ses travaux, Schulz ([Schu2005]) fait une s´erie d’exp´erimentations pour com- parer l’efficacit´e de divers algorithmes sur les graphes time-expanded et time-dependant du r´eseau de voie ferr´e longue distance de l’Allemagne. Quels que soient les crit`eres consid´er´es (monocrit`ere, bicrit`ere ou lexicographique), le graphe time-dependant est plus int´eressant que le graphe time-expanded du point de vue des temps de calcul, de facteurs variant de 1,5 `a 3,3.

1.5.2 Dominance avanc´ee

Les travaux de Schnee dans [Schn2009] concernent un calculateur d’itin´eraire mul- timodal appel´e MOTIS, d´evelopp´e sur un graphe time-expanded . En plus d’optimiser les calculs de front de Pareto pour avoir des temps de r´eponse acceptables d’un point de vue industriel, et de se pencher bri`evement sur les calculs de trajets les moins chers,

robustes ou alternatifs, les travaux d´efinissent les concepts int´eressants de dominance relˆach´ee et dominance restreinte. Ce calculateur est bas´e sur une version time-expanded du graphe, mais des exp´erimentations sont faites sur une version time-dependant , et l’auteur conclut que les temps de calculs sont similaires, `a cause du temps mis `a ´evaluer les coˆuts des arcs `a la vol´ee, mais que la consommation en m´emoire est beaucoup plus grande dans le cas time-expanded , comme attendu.

La dominance relˆach´ee consiste `a n’appliquer une dominance d’une solution S1sur

S2uniquement si elle la domine au sens classique, et si elle respecte d’autres contraintes,

comme une marge m positive dans l’in´egalit´e sur les crit`eres : fk(S1) + mi(S1, S2) ≤

fk(S2). Autre exemple, une solution train de nuit n’est pas comparable `a une solution de

jour, donc le label sera conserv´e mˆeme si la solution de jour est plus rapide (m =∞ si on compare deux solutions incomparables). C’est un concept qui permet de garder des labels int´eressants d’un point de vue de l’utilisateur qui auraient autrement ´et´e laiss´es de cˆot´e. Cela permet aussi d’attendre un point ult´erieur du calcul pour discriminer deux labels.

La dominance restreinte est l’inverse de la dominance relˆach´ee, dans le sens o`u la relation de dominance est moins restrictive. Cela permet par exemple de supprimer des labels plus courts de quelques minutes qu’un autre, mais avec de nombreux changements suppl´ementaires, solutions souvent inint´eressantes. Attention toutefois, la relation peut ne plus ˆetre transitive, en fonction du choix de mi(S1, S2), cette fois n´egatif. Il faut que

la relation de dominance reste transitive pour que l’algorithme de Martins reste exact.

1.5.3 Multicrit`ere sur graphe simplifi´e

Geisberger expose dans [Geis2010] un mod`ele de graphe simplifi´e ne comportant qu’un nœud par arrˆet physique et aucun arc parall`ele. Il d´efinit alors une relation de dominance entre les labels de mani`ere `a prendre en compte les temps de changements minimum `a chaque arrˆet et `a ne pas dominer les labels dont le prolongement ne peut pas ˆetre remplac´e. Un label en domine un autre `a un arrˆet s’il est meilleur en termes de temps, mais aussi si tout changement permis par le deuxi`eme est ´egalement permis par le premier. Cela se traduit par des comparaisons sur les temps d’attente des trains `

a l’arrˆet et le temps minimum n´ecessaire `a un changement `a cet arrˆet, ainsi que le temps n´ecessaire pour aller d’un label `a l’autre. Le lecteur int´eress´e pourra approfondir le sujet dans le chapitre 4 de la th`ese de Geisberger. L’int´erˆet de cette mod´elisation est que malgr´e l’augmentation du nombre de labels par arrˆet, le graphe est beaucoup plus petit et le temps de calcul par rapport `a l’application de l’algorithme de Dijkstra dans un graphe time-dependant classique est r´eduit d’un facteur cinq.

1.5.4 Multicrit`ere et Transfer Patterns

Pour son travail de pr´ecalcul sur les Transfer Patterns, vu pr´ec´edemment dans le chapitre II section 4.5, Geisberger [Geis2010] utilise le calcul d’itin´eraire multicrit`ere sur graphe time-expanded . Les crit`eres choisis sont d’une part le temps et d’autre part la somme des p´enalit´es de mont´ee et descente aux arrˆets sur lesquels sont effectu´es des changements. Il cherche ainsi `a minimiser le temps perdu dans les changements plutˆot

que leur nombre. Il explique cependant que son impl´ementation est assez souple pour pouvoir changer de crit`ere.

1.5.5 Multicrit`ere et RAPTOR

Dans [Dell2012], Delling ´etend son algorithme de programmation dynamique RAP- TOR pr´esent´e dans le chapitre II, section 4.6 au cas multicrit`ere : McRAPTOR, qu’il teste avec le crit`ere du moins cher. A la place de stocker et comparer des temps τk `a

chaque arrˆet et pour chaque it´eration (k round ), l’algorithme compare une liste de labels Brnouvellement calcul´es li´es `a l’itin´eraire en cours de lecture `a des listes de labels fix´ees

auparavant Bk−1et les fusionnent dans une liste de labels non domin´es Bk. Les r´esultats

obtenus sur un calcul `a trois crit`eres (heure d’arriv´ee, prix et nombre de changements) sont tr`es bons, puisque quatre fois plus rapides que l’algorithme de Martins.

Cet algorithme est ´etendu au cas multimodal dans [Dell2013], avec un m´elange de McRAPTOR pour le transport en commun et de Martins pour la partie marche `a pied entre les arrˆets sur un graphe voirie.

1.5.6 Utilisation de bornes

Parmi les m´ethodes utilis´ees pour optimiser le calcul de plus court chemin bicrit`ere, Tung introduit dans [Tung1992] la possibilit´e de calculer les bornes inf´erieures sur un crit`ere et sup´erieures sur l’autre pour aller d’un nœud `a la destination, avec un calcul monocrit`ere partant de l’arriv´ee, optimisant le premier et stockant les valeurs du second. Deux calculs monocrit`eres nous donnent donc toutes les bornes n´ecessaires. Puis il est possible de couper des labels dont on sait qu’ils ne seront pas int´eressants grˆace `a ces bornes, lors du calcul multicrit`ere.

Le mˆeme principe est appliqu´e dans [Sauv2011] pour un calcul d’itin´eraire en v´elo. Le probl`eme de cette m´ethode dans un r´eseau time-dependant est que le calcul en sens inverse ne peut ˆetre fait sans connaissance pr´ealable de la date d’arriv´ee.

2

Algorithme monolabel existant

Nous d´etaillons dans cette section l’algorithme monolabel de la version actuelle du moteur de l’entreprise Cityway dans le r´eseau de transport en commun. Nous allons omettre les calculs li´es aux graphes individuels, et d´ecrire l’algorithme r´epondant `a la requˆete d’arrˆet `a arrˆet en d´epart `a A@τ→ B, sans rabattement en marche `a pied.

Le calculateur effectue un algorithme de Dijkstra sur le graphe transport en commun en utilisant un tas binaire tri´e par coˆut agr´eg´e, en respectant les r`egles d’extension des labels, de dominance entre labels, de labels de d´epart, et de condition de fin de calcul qui feront chacun l’objet d’une section.

L’algorithme utilise les param`etres de configuration Pt, Pc et Cw introduits dans le

temps de mont´ee et descente minimum Pt, d´ependant du mode ou de l’arrˆet sur lequel

ils s’appliquent. Afin de minimiser le nombre de changements et la dur´ee de marche `a pied, les deux param`etres Pc et Cw sont utilis´es. Rappelons que Pc permet de p´enaliser

chaque changement d’un coˆut additif sur les arcs getin et getoff, d´ependant du mode du nœud iti. Rappelons ´egalement que Cwest un coefficient multiplicatif qui s’applique

aux coˆuts des arcs correspwalk. Si Pc est diff´erent de 0, ou si Cw est diff´erent de 1,

le coˆut d’un label sera diff´erent de sa dur´ee (t − τ), et l’algorithme sera sous-optimal, comme nous l’avons vu dans la section 4 du chapitre III.

La requˆete monolabel peut ˆetre modul´ee avec un crit`ere d’optimisation qui prendra l’une des trois valeurs suivantes : plus rapide, moins de changements, moins de marche `

a pied. Le crit`ere choisi impactera sur les valeurs des coefficients de coˆut Pc, Cw.

Notons que la r´esolution d’une requˆete n-m d’arrˆets `a arrˆets en d´epart `a, s’´ecrivant ((A1@τ + δ1), ..., (An@τ + δn))→ (B1, ..., Bm), est bri`evement d´etaill´ee dans le chapitre

III. Elle est tr`es similaire `a l’algorithme que nous d´ecrivons ici.

2.1

Tas binaire

´

Etant donn´e que l’algorithme utilise un tas binaire minimum pour traiter les labels dans l’ordre croissant de leurs coˆuts agr´eg´es, il nous a paru n´ecessaire de d´e- crire la structure d’un tas binaire, et les op´erations qu’il permet d’effectuer, avec leur complexit´e.

D´efinition

Un tas binaire minimum est un arbre binaire quasi complet, et qui respecte la r`egle suivante : la valeur, aussi appel´ee ´etiquette ou cl´e, de chaque nœud est inf´erieure ou ´egale `a celle de ces fils.

Exemple

Un exemple de tas binaire minimum est donn´ee en figure 22.

Op´erations sur un arbre binaire

L’avantage d’utiliser une telle structure est de pouvoir trouver l’´el´ement de valeur mi- nimale en O(1), tout en ayant une insertion et une suppression d’´el´ement en O(log(n)). En pratique, le tas binaire est impl´ement´e comme un tableau d’´el´ements ; la racine de l’arbre est en index 1 ; pour chaque ´etiquette E d’index i, ses fils sont d’index 2i et 2i + 1. Les op´erations possibles sont les suivantes, en supposant que chaque ´el´ement elem du tas binaire r´ef´erence une donn´ee, une valeur et son index dans le tas.

• Rise(elem) : r´epare la structure de tas en ´echangeant r´ecursivement elem avec son parent si sa valeur est strictement inf´erieure `a celle du parent. ´Egalement appel´e