1 Introduction
Journey planning in schedulebased public transport is a most frequent problem nowadays and journey planners (web or mobile applications) are abundant. Given as input a timetable associated with a public transportation system, the journey planning problem asks for efficiently answering queries of the form: “What is the best journey from some station to some other station , provided that I wish to depart at time ?”. In a multimodal setting, the aforementioned problem is considered in combination with the different modes of transport (train, bus, tram, walking, EVs, bicycles, car, etc) one can consider. In multimodal journey planning the best route should be provided by a holistic algorithmic approach that not only considers each individual mode, but also optimizes their choice and sequence.
Depending on the considered metrics and modeling assumptions, the (uni or multimodal) journey planning problem can be specialized into various optimization problems. In the earliest arrivaltime problem (EAP), one is interested in finding the best (or optimal) journey that minimizes the traveling time required to complete it. In the minimum number of transfers problem (MNTP), one is interested in computing a best journey that minimizes the number of times a passenger needs to change vehicle during the journey. Sometimes, these two optimization criteria are considered in combination, giving rise to multicriteria problems. We refer to [4] for a comprehensive overview on unimodal and multimodal journey planning.
A typical approach to deal with unimodal and multimodal journey planning optimization problems is to create, in a preprocessing phase, a structure that represents the timetable information, which subsequently allows for fast answering of queries. There is vast literature on this approach; see e.g., [4] and the references therein.
Journey planning is quite challenging (despite its simple formulation), much more than its route planning counterpart in road networks. Schedulebased transportation systems exhibit an inherent timedependent component that requires more complex modeling assumptions in order to obtain meaningful results, especially when transfer times from one vehicle to another has to be taken into account [20].
One additional challenge is to accommodate delays of public transport vehicles that often occur. The key issue is how to efficiently update the underlying timetable information structure so that best journey (typically EAP) queries are still answered fast and optimally with respect to the updated timetable.
The necessity for solving the aforementioned challenges as efficient as possible is crucial, since otherwise the realtime response requests posed to an actual journey planner, which is typically in heavy demand (e.g., the one of German railways, may receive in peak hours more than 420 queries per second), cannot be met both for queries and for digesting delays of schedulebased vehicles that occur frequently.
There are three main approaches of past work for solving the multimodal journey planning problem [4]. One considers a combined cost function of travel time with penalties for modal transfers (see e.g., [1, 2, 18]). Another approach uses the labelconstrained shortest path problem to obtain journeys that explicitly include (or exclude) certain sequences of transportation modes (see e.g, [8, 9, 11]. A third approach considers the computation of Pareto sets of multimodal journeys using a carefully chosen set of optimization criteria that aims to provide diverse (regarding the transportation modes) alternative journeys (see e.g, [3, 9]. Some of these approaches consider also car driving and flights (which are beyond the scope of this paper).
In this work, we consider urban multimodal schedulebased public transport (train, bus, tram) along with unrestricted w.r.t. departing time traveling (walking and electric vehicles – EVs). The most closely related work to ours is that in [9, 11], which computes multicriteria multimodal journeys. Our aim here is to investigate whether the recently introduced unimodal dynamic timetable model (DTM) [7], which handles efficiently EAP journey planning queries and updates extremely fast the underlying timetable information structure in case of delays, can be extended in the multimodal setting and can provide competitive query and update times w.r.t. stateoftheart approaches.
In this work, we present Multimodal DTM (MDTM), an extension of the dynamic timetable model (DTM) [7], which can indeed model urban multimodal journeys while simultaneously offering competitive to stateortheart query times for computing best journeys as well as extremely fast update time for updating the timetable information in case of delays. We conducted an experimental study on two metropolitan public transport networks (Berlin and London). Our query algorithms answer multimodal EAP and multicriteria queries very efficiently when public transport (train, bus, tram) along with unrestricted w.r.t. departing time traveling (walking and EVs) is considered, and remain competitive to stateoftheart approaches even in the case of unlimited walking. Our timetable information structure can be updated in less than 0.14 milliseconds in case of delays.
The rest of this paper is organized as follows. In Section 2, we present preliminary notions regarding timetable information modeling and (multimodal) journey planning, along with a succinct review of DTM. In Section 3 we present the multimodal DTM along with its query and update algorithms. In Section 4, we present our experimental study. We conclude in Section 5.
2 Preliminaries
Schedulebased transportation is described by timetables that determine the (scheduled) departure and arrival times of public vehicles. We consider a timetable as a set tuple , where is the set of stops (or stations) in which the passengers may embark/disembark on/from a vehicle, is the set of vehicles (train, bus, metro, and any other means of transport that performs scheduled routes), and is the set of elementary connections , which represents the travel of a vehicle , leaving from stop at time and arriving at the immediately next stop at time . Elementary connections of schedulebased transport are restricted w.r.t. (the scheduled) departure of the vehicles.
One of the most common models for representing a timetable is the realistic timeexpanded model (TEreal) [20]. This model encodes a timetable into a directed graph with appropriate arc weights. In TEreal, nodes represent time events (arrival or departure times of a vehicle at a stop), while arcs represent either elementary connections (travel of a vehicle between consecutive stops), or transfer between different vehicles at the same stop, or waiting time between two time events (at the same stop). The arc weight is the time difference between the time events associated with the endpoints of the arc. Let us stress that transfer times introduce realistic transfer restrictions between vehicles, and represent the required minimum time that a passenger needs to be transferred between different vehicles within the same stop .
A reduced version of the model (TEred), eliminating nodes representing transfer events (without losing correctness) was also presented in [7, 20].
2.1 The Dynamic Timetable Model
The dynamic timetable model (DTM) is a new model introduced in [7], aiming at efficiently updating the timetable after a delay of a vehicle.
Given a timetable , the directed graph representing DTM, is defined as follows: (1) for each stop in , a switch node is added to , representing an arrival or start time event of a traveler at stop ; (2) for each elementary connection a departure node is added to , and a connection arc , connecting to the switch node of (the immediately next stop) , is added to ; (3) for each elementary connection , a switch arc arc , connecting the switch node of the departure stop to the departure node of at , is added to ; (4) for each vehicle which travels through the itinerary , an arc (vehicle arc), connecting the departure node of with the departure node of , is added to , for each .
The timetable routes are periodic, with period (typically ). Any transfer and travel time is assumed to last less than . Given two time instances and , such that , denotes the (cyclic) time difference between them.
The associated time references and the weight function are defined as follows. The time point of a departure node is fixed and it denotes the scheduled departure time of the associated public transportation vehicle. The time point of a switch node of stop , varies and represents any possible start or arrival time at the stop . The weight of each non switch (i.e., connection and vehicle) arc is fixed and is set to . The weight of the rest (i.e., switch) arcs varies and its default value is infinity.
For each connection , or denotes the arrival time at stop , departing from via the departure node , at time . For each stop, the departure nodes are ordered by their (arrival times at their arrival stop ). Moreover, for each switch node , we store the stop it is associated with, while for each departure node , we maintain both the departure time reference and the vehicle of connection which is associated with. Figure 1 shows a DTM graph. Departures of station labeled 20 and 35 concern train connections, while the rest concern bus connections.
2.2 Multimodal Journey
A multimodal transport network consists of schedulebased public transport along with road and pedestrian path networks, for supporting traveling with both unrestricted departure (e.g., for walking, cycling, and driving) and restricted departure (for embarking on public transport vehicles that follow scheduled timetables). In contrast to a restricteddeparture timetable elementary connection, an unrestricteddeparture connection is defined as an arc representing a timeindependent traveling path from stop to stop .
A multimodal itinerary is a sequence of trippaths consisting of unrestricted and restricteddeparture connections such that, for each , and
A multimodal journey query is defined by a tuple where is a departure stop, is an arrival stop, is a minimum departure time from , and represents the desired transport mode(s). There are two natural optimization criteria used to answer a timetable query. They consist in finding a multimodal itinerary from to starting (from ) at a time after and arriving at either with the minimum possible arrival time or with the minimum number of vehicle transfers. These two criteria define the following core optimization problems: (a) the Earliest Arrival Problem (EAP) is the problem of finding a multimodal itinerary from to starting at a time after and arriving at stop as early as possible, (b) the Minimum Number of Transfers Problem (MNTP) is the problem of finding a multimodal itinerary from to starting at a time after and having as few transfers from one vehicle to another as possible, and (c) the multicriteria version of EAP and MNTP (multicriteria multimodal journey query).
Given a timetable , a delay occurring on a connection is modelled as an increase of minutes on the arrival time: . The timetable is then updated according to some specific policy which depends on the network infrastructure. The new timetable, called disposition timetable , differs from in the arrival and departure times of the vehicles that depend on in .
In this work, we consider the simplest policy for handling delays and updating the timetable (no vehicle waits for a delayed one), which is also considered in similar works (see e.g., [7]). Other policies can be found in e.g., [5, 6, 12, 16, 22]. Therefore, when a delay occurs on a connection , the only time references which are updated are those regarding the departure times of . Moreover, we assume that the policy does not take into account any possible slack times and hence the time references are updated by adding .
3 The Multimodal Dynamic Timetable Model
In this section, we introduce the multimodal dynamic timetable model (MDTM) aiming at modeling traveling in multimodal transport networks. We also provide the corresponding algorithms for solving EAP (and MNTP), and for handling delays (updating the timetable). MDTM is an extension of DTM [7]. The key difference consists in the new ordering of the departure nodes within a stop.
Given a timetable , the directed graph representing MDTM is defined similarly to DTM, but with the following additional features:

For each stop , its associated departure nodes are grouped in a specific ordering: (i) a first grouping is created, where two departure nodes belong to the same group if the head switch node of their outgoing arcs is identical; (ii) within each group of , a second grouping is created, where two departure nodes belong to the same group if the transport mode they represent is identical (i.e., departures of the same means of transport are grouped together); and (iii) the departure nodes within each group of are ordered by increasing arrival time at the head switch nodes of their outgoing arcs.

For each unrestricteddeparture connection from stop to stop , a switchswitch arc is added to .
Let denote a group of departure nodes resulted from the aforementioned grouping, having departure stop , arrival stop , and transport mode . Figure 2 shows the MDTM graph corresponding to the DTM graph of Figure 1. Then, includes departure nodes 5 and 15 of stop that correspond to bus connections departing from and arriving at .
3.1 Query Algorithm
We shall now present our query algorithm, named MDTMQH, for solving EAP on a MDTM graph . An EAP query is answered by executing a modified Dijkstra’s algorithm on , starting from the switch node of stop .
Before discussing the details of our algorithm, we will first describe the additional data structures used by MDTMQH with respect to the classic Dijkstra’s algorithm. In particular, for each switch node of a stop, algorithm MDTMQH maintains a set of earliest arrival index tables, whose construction and contents are described below.
Each departure node is associated with a departure time and an arrival time . In general, all the departure nodes with the same departure stop can be ordered by either departure time or arrival time at an arrival stop. The first ordering favors an efficient search on the departure nodes to get the valid routes which have a valid departure time, i.e., a departure time greater than or equal to at which the traveler is at . The second ordering favors an efficient search on the departure nodes on the optimal routes which provide the earliest arrival times to their adjacent stops. The second ordering is already applied within the existing ( and ) departure groups of . However, we would also like to have the advantage of the first ordering. Therefore, for the purpose of searching effectively the departure nodes that have both valid departure times from stop and earliest arrival times to an adjacent arrival stop , we introduce the earliest arrival index tables. Let denote such a table, consisting of departure nodes with departure stop , arrival stop and transport mode . is constructed as follows: Let be the sequence of the departure nodes, ordered by arrival time at , for a trip departing from stop and arriving to stop with transport mode . Initially, is empty. Node is inserted in and is the current max departure time. Afterwards, for , if , then and is inserted at the end of table; otherwise, is skipped. If the table contains the departure nodes , , and for some , , then is the first departure node to start the search of the earliest arrival time at . This allows us to bypass the departure nodes, before in the arrival ordered sequence, with departure time less than .
Table 1 shows the contents of table , for the example shown in Figure 2. If a traveler has arrived or has started its journey from stop at time , then to continue at the adjacent stop , the search of valid and optimal pathsolutions can start after the departure node 20.
depNode  depTime  arrTime 

15  20  
20  37  
35  46 
To reduce the size and the operations in the priority queue of the query algorithm, we insert in it only the switch nodes and change the arc relaxation as described below (iteration step). The MDTMQH algorithm works as follows.
Initialization. The switch node of the origin stop is inserted in the priority queue, with distance and time . During the algorithm execution, provided that the traveler is already at at time the minimum transfer time of is set to .
Iteration. At each step, a switch node is extracted from the priority queue. The node is settled having got the earliest arrival time for the optimal journey departing from at time and arriving to at time . Then the algorithm relaxes the outgoing arcs of following a node filtering and blocking process:

Using the existing grouping of departure nodes ( and ), the departure node groups corresponding to nonselected transportation modes are skipped;

Using the earliest arrival index tables, the algorithm can skip the departure nodes of stop that have an earlier than departure time or they provide nonoptimal arrival times to the next adjacent stops. In particular, after is extracted, then for each adjacent arrival stop of stop and for each enabled transport mode : (1) a binary search is performed on the index table for getting the first contented departure node with that provide the earliest arrival time at stop ; and (2) an arc relaxation step is performed based on those departure nodes.
Let the sequence of the outgoing switch arcs of be , which corresponds to a travel using the transport mode and arriving at the stop . Let , , and let the node be the departure node that is returned by . Within the current time period , arcs can be safely skipped, because they provide earlier departures or nonoptimal arrival paths from to . The first arc that is relaxed is . Provided that the next switch arcs and their departure node heads are ordered by arrival time, the algorithm relaxes the arcs and it stops as soon as falls over a departure node with (a) and (b) . The first condition ensures the minimum transfer time for the traveler in using a different vehicle to continue his/her travel. The second condition ensures that we will not miss optimal paths in with no transfer.
At each case, if the departure node head of the switch arc is visited for the first time or it has from a previous step a greater distance, then we set and . When the distance is updated, the algorithm relaxes also the outgoing arcs of the departure node . For its outgoing arc , if is visited for the first time or it has from a previous step a greater distance, then we set . Also if there is a vehicle (departuredeparture) arc , then for the associated vehicle we also relax the outgoing arcs of the departure nodes at the next stops at which the vehicle passes, for the same route. In that case, we can stop if we fall over a departure which has an outgoing arc to a switch node which has not yet been visited or extracted from the priority queue. The algorithm finishes when the switch node of the destination stop is settled.
3.2 Improved Query Algorithm
In order to boost the performance of the query algorithm MDTMQH
, we adapt the ALT heuristic
[14]. The combined algorithm is named MDTMQHALT. ALT is a goaldirected technique, i.e., its main aim is that of pushing the shortestpath search faster towards the target stop . This is achieved by adding a feasible potential to the priority of each node in the queue. The feasible potentials are computed as follows. Given a set of nodes called landmarks, the feasible potential of a node towards a target is computed as . By the triangle inequality, it follows that is a lower bound to the distance and this is enough to prove the correctness of the shortest path algorithm (see [14] for more details). It is easy to see that the tighter the lower bounds are, the more narrowed the search space becomes (i.e., the faster the query algorithm performs). Therefore, choosing good landmarks that provide tight lower bounds is a fundamental part of the preprocessing phase of ALT.As in DTM [7], we apply in MDTM an approach similar to that proposed in [10]. In particular, we select as landmarks the switch nodes, each of which represents the arrival node group of a station. Therefore the lower bound distance, , between two switch nodes, and , denotes the minimum travel time among connections traveling from station to station . These lower bound distances can be computed during a preprocessing phase by running singlesource queries from each switch node. The tightest lower bounds can be obtained by storing all pair station distances and by computing allpairs shortest paths on the condensed version of the input graph (see [10]). This makes sense particularly when the stations are relatively few in number.
We combined ALT along with our query algorithm in Section 3.1. This combination reduces considerably the search space and leads to a more efficient algorithm.
3.3 The Multicriteria Multimodal Query Algorithm
In order to provide best journeys for a vector of cost functions over the multimodal transport options, we introduce the
multicriteria extensions of MDTMQH and MDTMQHALT. In that case, in addition to computing journeys with a variety of transport modes, the optimal Pareto set of journeys is computed on the EA and MNT criteria (a set of pairwise nondominating journeys, each of them being better to at least one objective criterion and no worse in all other criteria). Since all Paretooptimal journeys are exponential in number, we focus on finding a solution that minimizes MNT, while retaining the EA below a given threshold (a variant also considered in [20]). Our multicriteria algorithm McMDTMQH is described below. Its combination with ALT will be called McMDTMQHALT.Let be a multicriteria (EA, MNT) query, starting from the switch node of stop . The number of transfers is taken into account by setting the weight of all switchdeparture arcs to 1 (representing a transfer between vehicles) and the weight of the rest of the arcs to 0. Due to the modeling, every single switch node in MDTM can have at least as many Paretooptimal solutions as its incoming arcs. Initially, the cost minimization is on EA. Therefore, when the target switch node is settled, we have found the first (EA,MNT) Pareto optimal journey, with the minimum arrival time . We then let Dijkstra’s algorithm continue; whenever the target switch node is explored again with a smaller number of transfers than in any of the already found Paretooptimal solutions, a new Paretooptimal journey is found. The algorithm stops when all journey solutions, with arrival time to the target stop less or equal than , have been found.
3.4 Update Algorithm
We shall now present our update algorithm, based on [7], named MDTMU, for updating the timetable when a delay occurs, that is, for updating the corresponding MDTM graph.
Given a timetable , we assume that a delay occurs first on a connection of , and it is propagated to the (affected) connections , which are performed by the same vehicle. Also let be the departure nodes corresponding to the affected connections. If is represented as a MDTM graph , then the MDTM update algorithm computes the MDTM graph , corresponding to the disposition timetable , as follows.

Edge weight increase: Starting with , the weight of arc is increased by .

Node reordering: For each of the other connections , , its associated departure node has its departure time increased by . Due to that increase, the arrival time ordering of the departure nodes on the affected stops may be invalidated. Hence, along with the new arrival times, the departure node might need to be moved to its correct position within its group, i.e., before a departure node with arrival time greater than .
4 Experimental Evaluation
4.1 Experimental setup
In this section, we present our experimental study to assess the performance of the algorithms presented in the previous sections. The experiments have been performed on a workstation equipped with an Intel Quadcore i52500K 3.30GHz CPU and 32GB of main memory. All algorithms implemented in C++ and compiled with gcc (v4.8.4, optimization level O3).
4.2 Input Data and Parameters
The input data for creating the multimodal transport networks are (a) timetable data sets in the General Transit Feed Specification (GTFS) format, containing various means of public transport and (b) road and pedestrian network data sets in the Open Street Map (OSM) format. The integrated networks concern the metropolitan areas of Berlin and London. The source of the timetable data for London is [24] and for Berlin is [23]. The source of the road and pedestrian network data is [19]. The packedmemory graph structure [17] was used for representing the input instances in all implemented algorithms.
Tables 2 and 3 provide detailed information about the input timetables. In Table 2, we report, for each timetable, the number of stations and the number of elementary connections between stops (a proxy for size), as well as the number of nodes V and arcs E of the corresponding graph, for each model. In the same table we include the sizes of the realistic timeexpanded (TEreal) and the reduced timeexpanded models (TEred) [7, 20] for comparison.
map  TEreal  TEred  DTM  MDTM  

V  E  V  E  V  E  V  E  
Berlin  12 838  4 322 549  12 967 647  21 612 745  8 645 098  17 024 138  4 335 387  12 701 695  4 335 387  12 708 568 
London  20 843  14 064 967  42 194 901  70 324 835  28 129 934  55 758 468  14 085 810  41 837 355  14 085 810  41 856 048 
Berlin  London  

transfer time  0.7  0.8 
adjacent stops  2.7  1.2 
bus  76%  98% 
train  15%  2% 
tram  9% 
In Table 3, we report, for each timetable, the average transfer time for changing vehicles, the average number of adjacent stops or stations, and the percentage of the existed transportation means to the total number of the elementary connections.
For experimenting with MDTM, we additionally added nonrestricted departure traveling paths, using the following two approaches:

Limited walking and driving travel time paths on transitively closed pedestrian and road networks. Via the pedestrian networks, we added single footpaths for enabling walking between nearby stops. The footpaths that were selected and added had shortest travel time of at most 10mins, with walking speed 1m/sec. Also, via the road networks, we added free flow speed drivingpaths for enabling the driving between stops with EVs. For this scenario, we considered 10 EVstations providing public communal EVs with shortest travel time of at most 1 hour. In addition, the drivingpaths connect only EVstations. In the Berlin instance, the switchswitch arcs representing footpaths are 2381 and the drivingpaths are 39. In the London instance, the switchswitch arcs representing footpaths are 37226 and drivingpaths are 60.

Unlimited walking travel time paths on the full pedestrian network. For this purpose, we connected each switch node in the public transit network with the nearest node in the pedestrian network by an access edge. This approach was inspired by that in [25]. In the Berlin instance, the embedded pedestrian network had 932108 nodes and 1059556 edges. In the London instance, the embedded pedestrian network had 1520056 nodes and 1653052 edges.
To compute efficiently the different nearest node pairs in both cases, we used the tree data structure Rtree^{2}^{2}2Rtree is a balanced search tree that can order and group nearby geographical points by their minimum bounding geographical rectangle. The tree organizes its data in pages, each one of a maximum number of entries, M. The nearest neighbor search can be done efficiently in time, where is the number of the geographical points. [15]. The combination of the query algorithms with ALT requires a preprocessing phase, whose requirements are reported in Table 4.
Berlin  London  

Space (GB)  0.6  1.4 
Time (mins)  0.73  1.79 
4.3 Experimental Results
For each input instance, we generated 1000 random queries consisting of source and target stop pairs, along with a departure time at each source stop. In the experimental evaluation we have included the EA query algorithms TEQH, TEQHALT, for TEred [7], DTMQH DTMQHALT, for DTM [7], and the new algorithms MDTMQH MDTMQHALT, for MDTM. For the latter, we have also included the multicriteria (EA,MNT) query algorithms McMDTMQH and McMDTMQHALT with threshold on EA 100% and 120% (denoted with extension 1.0 and 1.2, respectively). Note that QH denotes an optimized version of Dijkstra’s algorithm (with the corresponding node blocking and extended arc relaxation methods [7]) and QHALT denotes its ALT extension [7]. The results of the algorithms for answering multimodal queries are reported in Table 5, where we include only the ALTbased algorithms (marked with the ALT suffix) that had a much better performance (for completeness, we report the comparison among algorithms with and without the ALT heuristic in Table 7 in the Appendix).
Algorithm  MC  Travel Modes 


Bus  Train  Walk  EV/Car  Cycle  LWalk  UWalk  
Berlin  TEQHALT [7]  6.88  
DTMQHALT [7]  12.17  
MDTMQHALT  6.12  
MDTMQHALT  8.49  105.12  
London  TEQHALT [7]  5.14  
DTMQHALT [7]  10.25  
MDTMQHALT  4.17  
MDTMQHALT  6.10  114.88  
McMDTMQHALT1.0  6.29  216.36  
McMDTMQHALT1.2  15.44  360.94  
MCRht [9, 11]  361.23  
MRt10 [9, 11]  21.47 
We added in Table 5 the query times of the best previous (RAPTOR based) approaches MCRht and MRt10^{3}^{3}3 MCRht weakens the domination rules by trading off walking and arrival time. In MRt10 the walking duration is not used as criterion and it is limited to 10 minutes. in [9, 11]. We stress that the former computes multicriteria (on arrival time, number of transfers, and walking duration) multimodal journeys, while the latter computes multicriteria (on arrival time and number of transfers) multimodal journeys. The times are scaled versions of those reported in [9, 11] using the benchmark for scaling factors in [21]. Note that since the MCRht, MRt10, McMDTMQHALT1.0 and McMDTMQHALT1.2 report multicriteria multimodal queries, it is natural that they take more time than regular multimodal EAP (unicriterion) query algorithms. This is also true for the case of unlimited walking, due to the much larger search space explored by the algorithms. Nevertheless, McMDTMQHALT1.0 and McMDTMQHALT1.2 are competitive to MCRht and MRt10.
From Tables 5 and 7, we observe that MDTMQH achieves a smaller query time than TEQH and DTMQH. This is due to the grouping and ordering of nodes within each station. In the reduced model TEred, within each stop, the arrival time events are not merged and the departure nodes are ordered by departure time. Therefore, TEred has a disadvantage on finding optimal paths between stops and an advantage on finding valid paths between the stops. In DTM, within each stop, the arrival time events are merged into a switch node and the departure time events are ordered by arrival time (at the next station). Therefore, DTM has an advantage on finding the optimal paths between the stops and an disadvantage on finding the valid paths between the stops. In comparison to DTM, MDTM has the departure nodes ordered by arrival time within a set of groups ( and ), along with the earliest arrival index tables. In that way, MDTM gains an advantage on blocking nonselected transportation modes and also nonvalid paths between the stops. In all the cases, having extended the optimized Dijkstra’s variant query algorithm with the ALT goaldirected speedup technique leads to a significant decrease in query time, by at least 40%. With ALT the query algorithms need less iterations on finding the target stop. Our multicriteria algorithms with are faster than those with , since they compute less journeys.
For evaluating updates (occurring after a delay), 1000 elementary connections were randomly selected, for each input instance, and for each elementary connection we randomly generated a delay affecting the corresponding train or bus, chosen with uniform probability distribution between 1 and 360 minutes.
Instance  Algorithm  Travel Modes 


Bus  Train  
Berlin  TEUH [7]  238.5  
DTMU [7]  80.2  
MDTMU  84.4  
London  TEUH [7]  477.2  
DTMU [7]  122.8  
MDTMU  137.5 
In the experimental evaluation we have included the update algorithms TEUH for TEred [7], DTMU for DTM [7], and the new algorithm MDTMU for MDTM. The experimental results of the update algorithms are reported in Table 6. The updates times measure the average computational times for updating the graphs when a delay in a transportation vehicle itinerary has to be absorbed. In DTMU, only (at most) two arc weights and few node time references need to be changed in the original graph to keep the EAP queries correct. Although MDTMU has an additional computation cost to maintain the earliest arrival index table for any node time reference update, the time of MDTMU is competitive to that of DTMU. The updating algorithm in both cases are less than 138 s. That is due to the fact that the number of stations where something changes, as a consequence of a delay, is small with respect to the size of the whole set of stations .
5 Conclusions and Future Work
We described the Multimodal DTM, a model for multimodal route planning that constitutes an extension of the dynamic timetable model (DTM) (originally developed for unimodal journey planning) that compares favorably with other stateoftheart multimodal route planners.
We are currently developing a mobile application for multimodal route planning, using Multimodal DTM as the core routing engine of the cloudresiding component. Our multimodal journey planner can also be combined with the mobile application developed in [13] that allows users to evaluate the suggested (by the planner) routes. We are also working in developing multicriteria multimodal journeys with more (than two) traveling options/criteria.
Acknowledgments. The last author is indebted to Tobias Zündorf for various interesting discussions.
References
 [1] G. Aifadopoulou, A. Ziliaskopoulos, and E. Chrisohoou. Multiobjective optimum path algorithm for passenger pretrip planning in multimodal transportation networks. J. Transp. Res. Board 2032(1), 26–34 (2007).
 [2] L. Antsfeld and T. Walsh. Finding multicriteria optimal paths in multimodal public transportation networks using the transit algorithm. In Proceedings of the 19th ITS World Congress (2012).
 [3] H. Bast, M. Brodesser, and S. Storandt. Result diversity for multimodal route planning. In Algorithmic Approaches for Transportation Modeling, Optimization, and Systems – ATMOS 2013, OASIcs, pp. 123–136 (2013).
 [4] H. Bast, D. Delling, A. V. Goldberg, M. MüllerHannemann, T. Pajor, P. Sanders, D. Wagner, and R. F. Werneck. Route planning in transportation networks. In Algorithm Engineering  Selected Results and Surveys, volume 9220 of Lecture Notes in Computer Science, pages 19–80. 2016.

[5]
S. Cicerone, G. D’Angelo, G. Di Stefano, D. Frigioni, and A. Navarra.
Recoverable robust timetabling for single delay: Complexity and
polynomial algorithms for special cases.
Journal of Combinatorial Optimization
, 18(3):229–257, 2009.  [6] S. Cicerone, G. D’Angelo, G. Di Stefano, D. Frigioni, A. Navarra, M. Schachtebeck, and A. Schöbel. Recoverable robustness in shunting and timetabling. In Robust and Online LargeScale Optimization, volume 5868 of Lecture Notes in Computer Science, pages 28–60. Springer, 2009.
 [7] A. Cionini, G. D’Angelo, M. D’Emidio, D. Frigioni, K. Giannakopoulou, A. Paraskevopoulos, and C. D. Zaroliagis. Engineering graphbased models for dynamic timetable information systems. Journal of Discrete Algorithms, Vol. 4647 (2017), pp. 4058.
 [8] J. Dibbelt, T. Pajor and D. Wagner. Userconstrained multimodal route planning. In Algorithm Engineering and Experiments – ALENEX 2012, pp. 118–129. SIAM (2012).
 [9] D. Delling, J. Dibbelt, T. Pajor, D. Wagner, and R. Werneck. Computing multimodal journeys in practice. In 12th International Symposium on Experimental Algorithms (SEA 2013), volume 7933 of Lecture Notes in Computer Science, pages 260–271. Springer, 2013.
 [10] D. Delling, T. Pajor, and D. Wagner. Engineering timeexpanded graphs for faster timetable information. In Robust and Online LargeScale Optimization, volume 5868 of Lecture Notes in Computer Science, pages 182–206. Springer, 2009.
 [11] J. Dibbelt. Engineering Algorithms for Route Planning in Multimodal Transportation Networks. PhD Thesis, Karlsruhe Institute of Technology, February 2016.
 [12] M. Fischetti, D. Salvagnin, and A. Zanette. Fast approaches to improve the robustness of a railway timetable. Transportation Science, 43(3):321–335, 2009.
 [13] K. Giannakopoulou, S. Nikoletseas, A. Paraskevopoulos, and C. Zaroliagis. Dynamic Timetable Information in Smart Cities. in Proc. 22nd IEEE Symposium on Computers and Communications – ISCC 2017, IEEE Computer Society, pp. 4247.
 [14] A. Goldberg and C. Harrelson. Computing the shortest path: A* search meets graph theory. In ACMSIAM Symposium on Discrete Algorithms (SODA2005), pages 156–165. SIAM, 2005.
 [15] A. Guttman. Rtrees: A dynamic index structure for spatial searching. In Proc. ACM SIGMOD International Conference on Management of Data (SIGMOD 1984), pp. 4757.
 [16] C. Liebchen, M. Schachtebeck, A. Schöbel, S. Stiller, and A. Prigge. Computing delay resistant railway timetables. Computers & OR, 37(5):857–868, 2010.
 [17] G. Mali, P. Michail, A. Paraskevopoulos, and C. Zaroliagis. A new dynamic graph structure for largescale transportation networks. In 8th International Conference on Algorithms and Complexity (CIAC2013), volume 7878 of Lecture Notes in Computer Science, pages 312–323. Springer, 2013.
 [18] P. Modesti and A. Sciomachen. A utility measure for finding multiobjective shortest paths in urban multimodal transportation networks. Eur. J. Oper. Res. 111(3), 495–508 (1998).
 [19] OpenStreetMap Data Extracts http://download.geofabrik.de.
 [20] E. Pyrga, F. Schulz, D. Wagner, and C. Zaroliagis. Efficient models for timetable information in public transportation systems. ACM Journal of Experimental Algorithmics, 12(2.4):1–39, 2008.
 [21] Reference CPU scores http://i11www.iti.kit.edu/~pajor/survey.
 [22] M. Schachtebeck and A. Schöbel. To wait or not to wait  and who goes first? delay management with priority decisions. Transportation Science, 44(3):307–321, 2010.
 [23] Transit Feeds. https://transitfeeds.com.
 [24] Transport for London. https://tfl.gov.uk.
 [25] D. Wagner and T. Zündorf. Public Transit Routing with Unrestricted Walking. In Algorithmic Approaches for Transportation Modeling, Optimization, and Systems – ATMOS 2017, OASIcs Series, Vol. 59 (2017), pp. 7:17:14.
Appendix A Appendix
Table 7 shows the performance of the algorithms with (✓) and without () the ALT heuristic for the case of limited walking (the unlimited case exhibited a similar performance difference).
Algorithm  Travel Modes 


ALT()  ALT(✓)  MC  Bus  Train  Walk  EV/Car  Cycle  ALT()  ALT(✓)  
Berlin  TEQH [7]  TEQHALT [7]  18.34  6.88  
DTMQH [7]  DTMQHALT [7]  27.63  12.17  
MDTMQH  MDTMQHALT  14.97  6.12  
MDTMQH  MDTMQHALT  16.03  8.49  
London  TEQH [7]  TEQHALT [7]  15.13  5.14  
DTMQH [7]  DTMQHALT [7]  31.12  10.25  
MDTMQH  MDTMQHALT  6.88  4.17  
MDTMQH  MDTMQHALT  10.14  6.10  
McMDTMQH1.0  McMDTMQHALT1.0  10.26  6.29  
McMDTMQH1.2  McMDTMQHALT1.2  19.04  15.44 
Comments
There are no comments yet.