Engineering Route Planning Algorithms

Size: px
Start display at page:

Download "Engineering Route Planning Algorithms"

Transcription

1 Sanders/Schultes: Route Planning 1 Engineering Route Planning Algorithms Peter Sanders Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe (TH) in cooperation with Holger Bast, Daniel Delling, Stefan Funke, Sebastian Knopp, Domagoj Matijevic, Jens Maue, Frank Schulz, Dorothea Wagner Algorithm Engineering 2007

2 Sanders/Schultes: Route Planning 2 Shortest Path Problem given a weighted, directed graph G = (V,E) with n = V nodes,? m = E edges, and edge weights w : E N given a source node s V and target node t V Definition: the length w(p) of a path P = u 1,u 2,...,u k is k i=2 w(u i 1,u i ) task: determine the shortest path from s to t in G (if there is any path from s to t)

3 Sanders/Schultes: Route Planning 3 Shortest Path Problem fundamental problem from graph theory intuitive / very natural problem very active field of research required as subroutine by other algorithms many real-world applications e.g., Routenplaner most frequently used search term on google.de for the last years (according to the official statistics)

4 Sanders/Schultes: Route Planning 4 DIJKSTRA s Algorithm the classic solution [1959] O(nlogn+m) (with Fibonacci heaps) not practicable Dijkstra s t for large graphs (e.g. European road network: nodes) bidirectional Dijkstra s t improves the running time, but still too slow

5 Sanders/Schultes: Route Planning 5 Speedup Techniques that are faster than Dijkstra s algorithm require additional data not always available! (e.g., node coordinates) AND / OR preprocess the graph and generate auxiliary data (e.g., signposts ) can take a lot of time; assume static graph and many queries! AND / OR exploit special properties of G (e.g., planar, hierarchical) fail when the given graph has not the desired properties! not a general solution, but can be very efficient for many practically relevant cases

6 Sanders/Schultes: Route Planning 6 Road Networks We concentrate on road networks. several useful properties that can be exploitet many real-world applications some techniques: already applied to railway networks most techniques: open question if they can be applied to other graph types

7 Sanders/Schultes: Route Planning 7 Road Networks Properties large, e.g. n = nodes for Western Europe sparse, i.e., m = Θ(n) edges almost planar, i.e., few edges cross inherent hierarchy, quickest paths use important streets changes are slow/few (only partly true!)

8 Sanders/Schultes: Route Planning 8 Road Networks Applications route planning systems in the internet (e.g. car navigation systems logistics planning traffic simulation

9 Sanders/Schultes: Route Planning 9 Outline 1. short introduction of basic approaches Dijkstra s algorithm / bidirectional search 2. detailed presentation of speedup techniques after Oct 2005 highway hierarchies transit-node routing highway-node routing contraction hierarchies fast queries very fast queries handles dynamic scenarios simplification

10 Sanders/Schultes: Route Planning Approach Highway Hierarchies [SS 05 ] s t

11 Sanders/Schultes: Route Planning 11 Naive Route Planning 1. Look for the next reasonable motorway

12 Sanders/Schultes: Route Planning 12 Naive Route Planning 1. Look for the next reasonable motorway 2. Drive on motorways to a location close to the target

13 Sanders/Schultes: Route Planning 13 Naive Route Planning 1. Look for the next reasonable motorway 2. Drive on motorways to a location close to the target 3. Search the target starting from the motorway exit

14 Sanders/Schultes: Route Planning 14 Commercial Approach Heuristic Highway Hierarchy s t complete search in local area search in (sparser) highway network iterate highway hierarchy Defining the highway network: s t use road category (highway, federal highway, motorway,... ) + manual rectifications delicate compromise speed accuracy

15 Sanders/Schultes: Route Planning 15 Our Approach Exact Highway Hierarchy s t complete search in local area search in (sparser) highway network iterate highway hierarchy Defining the highway network: minimal network that preserves all shortest paths s t fully automatic (just fix neighborhood size) uncompromisingly fast

16 Sanders/Schultes: Route Planning 16 Our Approach Exact Highway Hierarchy s t complete search in local area search in (sparser) highway network contract network, e.g., iterate highway hierarchy s t

17 Sanders/Schultes: Route Planning 17 A Meaning of Local choose neighbourhood radius r(s) e.g. distance to the H-closest node for a fixed parameter H define neighbourhood of s: N (s) := {v V d(s,v) r(s)} example for H = rank s = s 3 N(s) 5 2 6

18 Sanders/Schultes: Route Planning 18 Highway Network N (s) N (t) s t Highway Edge (u,v) belongs to highway network iff there are nodes s and t s.t. (u,v) is on some shortest path from s to t and v N (s) and u N (t)

19 Sanders/Schultes: Route Planning 19 Contraction highway nodes and edges

20 Sanders/Schultes: Route Planning 20 Contraction bypass node

21 Sanders/Schultes: Route Planning 21 Contraction shortcuts

22 Sanders/Schultes: Route Planning 22 Contraction bypass node

23 Sanders/Schultes: Route Planning 23 Contraction

24 Sanders/Schultes: Route Planning 24 Contraction enters component component (of bypassed nodes) leaves component

25 Sanders/Schultes: Route Planning 25 Contraction core

26 Sanders/Schultes: Route Planning 26 Contraction Which nodes should be bypassed? Use some heuristic taking into account the number of shortcuts that would be created and the degree of the node.

27 Sanders/Schultes: Route Planning 27 Example: Karlsruhe Level 0 1 Level 2 Level 3 Level 4

28 Sanders/Schultes: Route Planning 28 Shrinking of the Highway Networks Europe H = 40 H = 60 H = #edges level

29 Sanders/Schultes: Route Planning 29 Fast Construction Challenge Avoid all-pairs shortest-path precomputation. Solution For each node: perform only a local search.

30 Sanders/Schultes: Route Planning 30 Query Bidirectional version of Dijkstra s Algorithm Restrictions: level 1 N (v) Do not leave the neighbourhood of the entrance point to the current level. s v level 0 N (s) Instead: switch to the next level. Do not enter a component of bypassed nodes. entrance point to level 0 entrance point to level 1 entrance point to level 2

31 Sanders/Schultes: Route Planning 31 Query Example: from Karlsruhe, Am Fasanengarten 5 to Palma de Mallorca

32 Sanders/Schultes: Route Planning 32 Bounding Box: 20 km Level 0 Search Space

33 Sanders/Schultes: Route Planning 33 Bounding Box: 20 km Level 0 Search Space

34 Sanders/Schultes: Route Planning 34 Bounding Box: 20 km Level 1 Search Space

35 Sanders/Schultes: Route Planning 35 Bounding Box: 20 km Level 1 Search Space

36 Sanders/Schultes: Route Planning 36 Bounding Box: 20 km Level 2 Search Space

37 Sanders/Schultes: Route Planning 37 Bounding Box: 20 km Level 2 Search Space

38 Sanders/Schultes: Route Planning 38 Bounding Box: 20 km Level 3 Search Space

39 Sanders/Schultes: Route Planning 39 Bounding Box: 80 km Level 4 Search Space

40 Sanders/Schultes: Route Planning 40 Bounding Box: 400 km Level 6 Search Space

41 Sanders/Schultes: Route Planning 41 Level 8 Search Space

42 Sanders/Schultes: Route Planning 42 Level 10 Search Space

43 Sanders/Schultes: Route Planning 43 Optimisation: Distance Table Construction: Construct fewer levels. e.g. 4 instead of 9 Compute an all-pairs distance table for the topmost level L entries

44 Sanders/Schultes: Route Planning 44 Distance Table Query: s t Abort the search when all entrance points in the core of level L have been encountered. Use the distance table to bridge the gap. 55 for each direction entries

45 Sanders/Schultes: Route Planning 45 Distance Table: Search Space Example

46 Sanders/Schultes: Route Planning 46 Experiments: Methodology s-t-pairs uniformly at random queries in real applications average value variance? Transit Node Routing (economic variant) Query Time [µs]

47 Sanders/Schultes: Route Planning 47 Experiments: Methodology consider different localities! average value variance? Transit Node Routing (economic variant) Query Time [µs] Dijkstra Rank

48 Sanders/Schultes: Route Planning 48 Experiments: Methodology consider different localities! plot complete spectrum! Transit Node Routing (economic variant) Query Time [µs] Dijkstra Rank

49 Sanders/Schultes: Route Planning 49 Instances W. Europe (PTV) USA/CAN (PTV) #nodes #directed edges #road categories average speeds [km/h]

50 Sanders/Schultes: Route Planning 50 Local Queries (Highway Hierarchies) Query Time [ms] Europe (15 min., 68 B/node) USA/CAN (20 min., 69 B/node) Dijkstra Rank

51 Sanders/Schultes: Route Planning 51 Combination Goal Directed Search (landmarks) [with D. Delling, D. Wagner] About 20 % faster than HHs + distance tables Significant speedup for approximate queries

52 Sanders/Schultes: Route Planning 52 Many-to-Many Routing [with S. Knopp, F. Schulz (PTV AG), D. Wagner] Given: graph G = (V,E) set of source nodes S V set of target nodes T V Task: compute S T distance table containing the shortest path distances S T

53 Sanders/Schultes: Route Planning 53 Applications Logistics vehicle routing problem input for traveling salesman solver Traffic Simulation Preprocessing for Point-to-Point Techniques precomputed cluster distances [MaueSandersMatijevic2006] transit node routing

54 Sanders/Schultes: Route Planning 54 Simple Solutions Example: table in Western Europe apply SSSP algorithm }{{} (e.g. DIJKSTRA) S times s one day apply P2P algorithm }{{} (e.g. highway hierarchies 1 ) S T times ms one day 1 requires about 15 minutes preprocessing time

55 Sanders/Schultes: Route Planning Approach Transit-Node Routing [with H. Bast and S. Funke] s t

56 Sanders/Schultes: Route Planning 56 Example: X X Karlsruhe Copenhagen

57 Sanders/Schultes: Route Planning 57 Example: X X Karlsruhe Berlin

58 Sanders/Schultes: Route Planning 58 Example: X X Karlsruhe Vienna

59 Sanders/Schultes: Route Planning 59 Example: X X Karlsruhe Munich

60 Sanders/Schultes: Route Planning 60 Example: X X Karlsruhe Rome

61 Sanders/Schultes: Route Planning 61 Example: X X Karlsruhe Paris

62 Sanders/Schultes: Route Planning 62 Example: X X Karlsruhe London

63 Sanders/Schultes: Route Planning 63 Example: X X Karlsruhe Brussels

64 Sanders/Schultes: Route Planning 64 Example: X X Karlsruhe Copenhagen

65 Sanders/Schultes: Route Planning 65 Example: X X Karlsruhe Berlin

66 Sanders/Schultes: Route Planning 66 Example: X X Karlsruhe Vienna

67 Sanders/Schultes: Route Planning 67 Example: X X Karlsruhe Munich

68 Sanders/Schultes: Route Planning 68 Example: X X Karlsruhe Rome

69 Sanders/Schultes: Route Planning 69 Example: X X Karlsruhe Paris

70 Sanders/Schultes: Route Planning 70 Example: X X Karlsruhe London

71 Sanders/Schultes: Route Planning 71 Example: X X Karlsruhe Brussels

72 Sanders/Schultes: Route Planning 72 First Observation For long-distance travel: leave current location via one of only a few important traffic junctions, called access points ( we can afford to store all access points for each node) [in Europe: about 10 access points per node on average]

73 Sanders/Schultes: Route Planning 73 Example: X X Karlsruhe Berlin

74 Sanders/Schultes: Route Planning 74 Example: X X Karlsruhe Berlin

75 Sanders/Schultes: Route Planning 75 Example: X X Karlsruhe Berlin

76 Sanders/Schultes: Route Planning 76 Second Observation Each access point is relevant for several nodes. union of the access points of all nodes is small, called transit node set ( we can afford to store the distances between all transit node pairs) [in Europe: about transit nodes]

77 Sanders/Schultes: Route Planning 77 Transit-Node Routing Preprocessing: identify transit-node sett V compute complete T T distance table for each node: identify its access points (mapping A : V 2 T ), store the distances Query (source s and target t given): compute d top (s,t) := min{d(s,u)+d(u,v)+d(v,t) : u A(s),v A(t)}

78 Sanders/Schultes: Route Planning 78 Transit-Node Routing Locality Filter: local cases must be filtered ( special treatment) L : V V {true,false} L(s,t) implies d(s,t) = d top (s,t)

79 Sanders/Schultes: Route Planning 79 Example

80 Sanders/Schultes: Route Planning 80 Related Work separator-based implementation [Müller et al. 2006] determine separator nodes (= transit nodes) partition the graph into small components access points of node u: border nodes of u s component locality filter: same component? grid-based implementation [Bast, Funke, Matijevic 2006] compute geometric subdivision of the network into cells access points: border nodes needed for long-distance travel transit nodes: union of all access points locality filter: less than a certain number of grid cells apart?

81 Sanders/Schultes: Route Planning 81 HH + Distance Table Compute an all-pairs distance table for the core of the topmost level l. transit node sett entries Abort the search when all entrance points in the core of level l have been encountered. 55 for each direction do not search, just perform look-ups Use the distance table to bridge the gap entries

82 Sanders/Schultes: Route Planning 82 HH-based Transit Node Routing Compute an all-pairs distance table for the core of the topmost level l entries }{{} transit node sett Abort the search when all entrance points in the core of level l have been encountered. 55 for each direction do not search, just perform look-ups Use the distance table to bridge the gap entries

83 Sanders/Schultes: Route Planning 83 Missing Pieces 1. locality filter: use geometric disks s u t d(s,t) = d u (s,t) < d top (s,t) L(s,t) := disks of s and t overlap

84 Sanders/Schultes: Route Planning 84 Missing Pieces 2. too many entrance points (55) solution: fall back on comparatively few access points (10) (motivated by the observations from [Bast, Funke, Matijevic 2006]) entrance points topmost level access points

85 Sanders/Schultes: Route Planning 85 Missing Pieces 3. compute top distance table in the original graph solution: many-to-many shortest paths (based on highway hierarchies) T S

86 Sanders/Schultes: Route Planning 86 Second Layer (to deal with medium range queries) secondary transit node sett 2 T secondary access mapping A 2 : V 2 T 2 secondary dist. table { d(u,v) : u,v T 2 d(u,v) d top (u,v) } secondary locality filter L 2 L 2 (s,t) implies d(s,t) = d top (s,t) OR d(s,t) = min{d(s,u)+d(u,v)+d(v,t) : u A 2 (s),v A 2 (t)}

87 Sanders/Schultes: Route Planning 87 Two Concrete Variants Level 5 economical Layer 1 Level 4 generous Layer 1 3 L L2 1 0 L2 L1 (3)

88 Sanders/Schultes: Route Planning 88 Preprocessing for each secondary transit node t T 2 : perform backward highway search stop at primary transit nodes ( set of backward access points) store search space entries (t, u, d(u,t)) arrange search spaces

89 Sanders/Schultes: Route Planning 89 Preprocessing for each secondary transit node s T 2 : perform forward highway search stop at primary transit nodes ( set of forward access points) at each node u and for each search space entry (t,u,d(u,t)): compute distance d u (s,t) := d(s,u)+d(u,t) via u compute distance d top (s,t) via top layer if d u (s,t) < d top (s,t) then add entry d u (s,t) to the secondary distance table ensure that the disks around s and t contain u (use similar procedure for lower layers)

90 Sanders/Schultes: Route Planning 90 Local Queries (Transit-Node Routing, Europe) Query Time [µs] eco: 46 min, 110 B/node gen:164 min, 251 B/node Dijkstra Rank

91 Sanders/Schultes: Route Planning Approach Highway-Node Routing [SS 07 ]

92 Sanders/Schultes: Route Planning 92 Static Route Planning in Road Networks Task: determine quickest route from source to target location? Problem: for large networks, simple algorithms are too slow Assumption: road network does not change Conclusion: use preprocessed data to accelerate source-target-queries (research focus during the last years [ everything told so far]) correctness relies on the above assumption

93 Sanders/Schultes: Route Planning 93 Dynamic Scenarios change entire cost function (e.g., use different speed profile) change a few edge weights (e.g., due to a traffic jam)

94 Sanders/Schultes: Route Planning 94 Constancy of Structure Weaker Assumption: structure of road network does not change (no new roads, road removal = set weight to ) not a significant restriction classification of nodes by importance might be slightly perturbed, but not completely changed (e.g., a sports car and a truck both prefer motorways) performance of our approach relies on that (not the correctness)

95 Sanders/Schultes: Route Planning 95 Overlay Graph [Holzer, Schulz, Wagner, Weihe, Zaroliagis ] graph G = (V,E) is given select node subset S V

96 Sanders/Schultes: Route Planning 96 Overlay Graph [Holzer, Schulz, Wagner, Weihe, Zaroliagis ] graph G = (V,E) is given select node subset S V overlay graph G := (S,E ) where E := {(s,t) S S no inner node of the shortest s-t-path belongs to S}

97 Sanders/Schultes: Route Planning 97 Covering Nodes Definitions: covered branch: contains a node from S covered tree: all branches covered covering nodes: on each branch, the node u S closest to the root s s

98 Sanders/Schultes: Route Planning 98 Query bidirectional perform search in G till search trees are covered by nodes in S t s

99 Sanders/Schultes: Route Planning 99 Query bidirectional perform search in G till search trees are covered by nodes in S continue search only in G t s

100 Sanders/Schultes: Route Planning 100 Covering Nodes Conservative Approach: stop searching in G when all branches are covered big city long distance ferry s can be very inefficient

101 Sanders/Schultes: Route Planning 101 Covering Nodes Aggressive Approach: do not continue the search in G on covered branches s u v fast road slow road can be very inefficient

102 Sanders/Schultes: Route Planning 102 Covering Nodes Stall-on-Demand: do not continue the search in G on covered branches a node v can wake a node u on a covered branch u can stall v i.e., search is not continued from v u s v fast road (if δ(u)+w(u,v) < δ(v)) slow road

103 Sanders/Schultes: Route Planning 103 Static Highway-Node Routing extend ideas from multi-level overlay graphs [HolzerSchulzWagnerWeiheZaroliagis00 07] highway hierarchies [SS05 06] transit node routing [BastFunkeMatijevicSS06 07] use highway hierarchies to classify nodes by importance i.e., select node sets S 1 S 2 S 3... (crucial distinction from previous separator-based approach) construct multi-level overlay graph perform query with stall-on-demand technique

104 Sanders/Schultes: Route Planning 104 Static Highway-Node Routing extend ideas from multi-level overlay graphs [HolzerSchulzWagnerWeiheZaroliagis00 07] highway hierarchies [SS05 06] transit node routing [BastFunkeMatijevicSS06 07] use highway hierarchies to classify nodes by importance i.e., select node sets S 1 S 2 S min (crucial distinction from previous separator-based approach) construct multi-level overlay graph perform query with stall-on-demand technique 3 min, 8 bytes/node 1.1 ms (experiments with a European road network with 18 million nodes)

105 Sanders/Schultes: Route Planning 105 Static Highway-Node Routing (Europe) Query Time [ms] Highway Hierarchies Star (22 min., 76 B/node) Highway Node Routing (19 min., 8 B/node) Dijkstra Rank

106 Sanders/Schultes: Route Planning 106 Dynamic Highway-Node Routing change entire cost function keep the node sets S 1 S 2 S 3... recompute the overlay graphs speed profile default fast car slow car slow truck distance constr. [min] 1:40 1:41 1:39 1:36 3:56 query [ms] #settled nodes

107 Sanders/Schultes: Route Planning 107 Dynamic Highway-Node Routing change a few edge weights server scenario: if something changes, update the preprocessed data structures answer many subsequent queries very fast mobile scenario: if something changes, it does not pay to update the data structures perform single prudent query that takes changed situation into account

108 Sanders/Schultes: Route Planning 108 Dynamic Highway-Node Routing change a few edge weights, server scenario keep the node sets S 1 S 2 S 3... recompute only possibly affected parts of the overlay graphs the computation of the level-l overlay graph consists of S l local searches to determine the respective covering nodes if the initial local search from v S l has not touched a now modified edge (u,x), that local search need not be repeated we manage sets A l u = {v S l v s level-l preprocessing might be affected when an edge (u,x) changes}

109 Sanders/Schultes: Route Planning 109 Dynamic Highway-Node Routing change a few edge weights, server scenario Update Time [ms] add traffic jam cancel traffic jam block road any motorway national regional urban Road Type

110 Sanders/Schultes: Route Planning 110 Dynamic Highway-Node Routing change a few edge weights, mobile scenario keep the node sets S 1 S 2 S 3... keep the overlay graphs use the sets A l u to determine for each node u a reliable level r(u) during a query, at node u do not use edges that have been created in some level > r(u) instead, downgrade the search to level r(u)

111 Sanders/Schultes: Route Planning 111 Level 0 Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Level 7

112 Sanders/Schultes: Route Planning 112 Dynamic Highway-Node Routing change a few edge weights, mobile scenario single pass iterative change set affected query time query time #iterations (motorway edges) queries [ms] [ms] avg max % % % %

113 Sanders/Schultes: Route Planning 113 Summary Highway Hierarchies: Fast routing, fast preprocessing, low space, few tuning parameters, basis for many-to-many, transit-node routing, highway-node routing. Many-to-Many: Huge distance tables are tractable. Subroutine for transit-node routing. Transit-Node Routing: Fastest routing so far. Highway-Node Routing: Simpler HHs, fast routing, very low space, efficiently dynamizable.

114 Sanders/Schultes: Route Planning 114 Summary: A Horse-Race Perspective method first date size space preproc. speedup pub. mm/yy n/10 6 Byte/n [min] separator multi-level [SWW99] 04/99 0.1? > edge flags (basic) [Lau04] 03/ landmark A [GolHar05] 07/04 (18) edge flags [KMS05] 01/ HHs (basic) [SS05] 04/ [GKW06] 10/ adv. reach [GKW06] 08/ adv. HHs [DSSW06] 08/ high-perf. multi-level [Mul06] 06/ transit nodes (gen) [BFMSS07] 10/ highway nodes (mem) [SS07] 01/

115 Sanders/Schultes: Route Planning 115 Conclusion algorithm engineering analysis deduction perf. guarantees realistic models design falsifiable hypotheses induction implementation algorithm libraries real Inputs experiments applications

116 Sanders/Schultes: Route Planning 116 Application: Models structure of a road network is ( almost ) static allow preprocessing edge weights may change unexpectedly time-dependent edge weights point-to-point, many-to-many multi-objective Machine: memory hierarchy parallel

117 Sanders/Schultes: Route Planning 117 Analysis Correctness: for TNR and HNR: not very too difficult for HH: surprisingly difficult (ambigious shortest paths) Worst-Case Bounds: performance relies on certain graph properties: specify them derive worst-case bounds for graphs with the specified properties

118 Sanders/Schultes: Route Planning 118 Analysis Per-Instance Worst-Case Guarantees: Europe Frequency Search Space histogram of (upper bounds on }{{} ) the search space sizes of all possible n2 queries can be computed using a linear number of queries

119 Sanders/Schultes: Route Planning 119 Implementation [covers all mentioned route planning techniques] quite complex ( lines of code (w/o tools)) C++ template mechanism (currently, 23 different instantiations of our Dijkstra template class) standard template library and home-made data structures provide only the required functionality can efficiently handle large data sets thorough checking: asserts, naive reference implementations visualisation

120 Sanders/Schultes: Route Planning 120 Experiments consider different localities! plot complete spectrum! Transit Node Routing (economic variant) Query Time [µs] Dijkstra Rank

121 Sanders/Schultes: Route Planning 121 Instances before 2005: only very small road networks publicly and readily available nodes, but only degree > 2 nodes

122 Sanders/Schultes: Route Planning 122 Instances in 2005: US and Western European road networks obtained composed from a public source (US Census Bureau) provided by a company (PTV AG) for scientific use 18 million nodes 16 million degree > 2 nodes now: widely spread (e.g., DIMACS Implementation Challenge)

123 Sanders/Schultes: Route Planning 123 Open Issues: turn penalties Instances real source-target pairs (we have some many-to-many instances) real traffic reports (edge weight changes) time-dependent edge weights (not only for motorways!) other graph types

124 Sanders/Schultes: Route Planning 124 single point-to-point queries Applications mobile navigation system (built-in, PDA, mobile phone,...) internet route planning service massive amount of point-to-point queries traffic simulations many-to-many queries logistics optimisation ride sharing promising contacts to various companies more to come?

125 Sanders/Schultes: Route Planning 125 Appendix

126 Sanders/Schultes: Route Planning 126 Summary: An Application Perspective HH= highway hierarchy; HNR= highway-node routing Static low-cost mobile route planning: low space HHs or static HNR Dynamic mobile route planning: dynamic HNR (single-shot) Static server-based: transit-node routing Dynamic server-based: dynamic HNR (with updates) Logistics: Many-to-many HHs (HNR when edge weight change often) Microscopic Traffic Simulation: transit-node routing? Macroscopic Traffic Simulation: Many-to-many HHs or HNR

127 Sanders/Schultes: Route Planning 127 Future Work I: More on Static Routing Better choices for transit-node sets or highway-node sets. (use centrality measures, separators, explicit optimization,... ) A hierarchical routing scheme that allows stopping bidirectional search earlier? (competetive with HHs, HNR) Better integration with goal directed methods. (PCDs, A, edge flags, geometric containers) Experiments with other networks. (communication networks, VLSI, social networks, computer games, geometric problems,... ) Specialized preprocessing for one batch of (many-to-many) queries

128 Sanders/Schultes: Route Planning 128 Future Work II: Theory Revisited Correctness proofs Stronger impossibility results (worst case) Analyze speedup techniques for model graphs Characterize graphs for which a particular (new?) speedup technique works well A method with low worst-case query time, but preprocessing might become quadratic?

129 Sanders/Schultes: Route Planning 129 Future Work III: Towards Applications Turn penalties (implicitly represented) Just bigger but more sparse graphs? Parallelization (server scenarios, logistics, traffic simulation) easy (construction, many-to-many, many queries) Mobile platforms adapt to memory hierarchy (RAM flash) data compression

130 Sanders/Schultes: Route Planning 130 Industral Contacts

131 Sanders/Schultes: Route Planning 131 Future Work IV: Beyond Static Routing More dynamic routing (e.g. for transit-node routing) Time-dependent networks (public transportation, traffic-dependent travel time) Preprocessing for an entire spectrum of objective functions Multi-criteria optimization (time, distance, fuel, toll, driver preferences,... ) Approximate traffic flows (Nash-equilibria, (fair) social optima) Traffic steering (road pricing,... ) Stochastic optimization

132 Sanders/Schultes: Route Planning 132 An Algorithm Engineering Perspective Models: Preprocessing, point-to-point, dynamic, many-to-many parallel, memory hierarchy, time dependent, multi-objective,... Design: HHs, HNR, transit nodes,... Analysis: Correctness, per instance. wide open big gap Implementation: tuned, modular, thorough checking, visualization. Experiments: Dijkstra ranks, worst case, cross method.... Instances: Large real world road networks. turn penalties, queries, updates, other network types Algorithm Libraries:??? Applications: Promising contacts, hiring. more should come.

133 Sanders/Schultes: Route Planning 133 Goal-Directed Search s t A [Hart, Nilsson, Raphael 68]: not effective for travel time Geometric Containers [Wagner et al ]: high speedup but quadratic preprocessing time Landmark A [Goldberg et al. 05 ]: precompute distances to 20 landmarks moderate speedups, preprocessing time, space Precomputed Cluster Distances [S, Maue 06]: more space-efficient alternative to landmarks

134 Sanders/Schultes: Route Planning 134 Hierarchical Methods Planar graph (theory) [Fakcharoenphol, Rao, Klein 01 06]: O(nlog 2 n) space and preprocessing time; O( nlogn) query time Planar approximate (theory) [Thorup 01]: O((n log n)/ε) space and preprocessing time; almost constant query time Separator-based multilevel [Wagner et al. 99 ]: works, but does not capitalize on importance induced hierarchy Reach based routing [Gutman 04]: elegant, but initially not so successful Highway hierarchies [SS 05 ]: stay tuned Advanced reach [Goldberg et al. 06 ]: combinable with landmark A Transit-node routing [Bast, Funke, Matijevic, S, S 07 ]: stay tuned

135 Sanders/Schultes: Route Planning 135 Highway-node routing [SS 07 ]: stay tuned

136 Sanders/Schultes: Route Planning 136 Goals bridge gaps between theory and practice accelerate transfer of algorithmic results into applications keep the advantages of theoretical treatment: generality of solutions and reliabiltiy, predictabilty from performance guarantees

137 Sanders/Schultes: Route Planning 137 Canonical Shortest Paths SP : Set of shortest paths SP canonical P = s,...,s,...,t,...,t SP : s t SP

138 Sanders/Schultes: Route Planning 138 A Meaning of Local choose neighbourhood radius r(s) e.g. distance to the H-closest node for a fixed parameter H define neighbourhood of s: N (s) := {v V d(s,v) r(s)} example for H = rank s = s 3 N(s) 5 2 6

139 Sanders/Schultes: Route Planning 139 Highway Network N (s) N (t) s t Highway Edge (u,v) belongs to highway network iff there are nodes s and t s.t. (u,v) is on the canonical shortest path from s to t and (u,v) is not entirely withinn (s) orn (t)

140 Sanders/Schultes: Route Planning 140 Canonical Shortest Paths N (s 1 ) N (t 1 ) 0 N (s 0 ) 0 1 N (v ) u 1 2 v s 2 0 s 1 t 2 1 t u v (a) Construction, started from s 0. N (s 1 ) u 1 v N (t 0 ) 2 2 N (u ) s 2 0 s 1 t 2 1 t u v 0 N (v) (b) Construction, started from s 1.

141 Sanders/Schultes: Route Planning u 1 2 v s 2 0 s t t u v (c) Result of the construction.

142 Sanders/Schultes: Route Planning 142 Contraction highway nodes and edges

143 Sanders/Schultes: Route Planning 143 Contraction bypass node

144 Sanders/Schultes: Route Planning 144 Contraction shortcuts

145 Sanders/Schultes: Route Planning 145 Contraction bypass node

146 Sanders/Schultes: Route Planning 146 Contraction

147 Sanders/Schultes: Route Planning 147 Contraction enters component component (of bypassed nodes) leaves component

148 Sanders/Schultes: Route Planning 148 Contraction core

149 Sanders/Schultes: Route Planning 149 Contraction Which nodes should be bypassed? Use some heuristic taking into account the number of shortcuts that would be created and the degree of the node.

150 Sanders/Schultes: Route Planning 150 Fast Construction of the Highway Network Look for HH-edges only in (modified) local SSSP search trees. Nodes have state active, passive, or mavericks. s 0 is active. Node states are inherited from parents in the SSSP tree. abort condition(p) p becomes passive. mavericks active s 0 f r(s 0 ) passive d(s 0, p) > f r(s 0 ) p becomes maverick. all nodes maverick? stop searching from passive nodes all nodes passive or maverick? stop Result: superset of highway network

151 Sanders/Schultes: Route Planning 151 Local Queries (Highway Hierarchies Star, Europe) exact (22 min., 76 B/node) approx (22 min., 76 B/node) Query Time [ms] Dijkstra Rank

152 Sanders/Schultes: Route Planning 152 Simple Solutions Example: table in Western Europe apply SSSP algorithm }{{} (e.g. DIJKSTRA) S times s one day apply P2P algorithm }{{} (e.g. highway hierarchies 1 ) S T times ms one day 1 requires about 15 minutes preprocessing time

153 Sanders/Schultes: Route Planning 153 pour Solution Example: table in Western Europe many-to-many algorithm based on highway hierarchies 1 one minute s t 1 requires about 15 minutes preprocessing time

154 Sanders/Schultes: Route Planning 154 Main Idea instead of S T bidirectional highway queries perform S + T unidirectional highway queries Algorithm maintain an S T table D of tentative distances T (initialize all entries to ) S

155 Sanders/Schultes: Route Planning 155 for each t T, perform backward search store search space entries (t, u, d(u,t)) arrange search spaces: create a bucket for each u for each s S, perform forward search at each node u, scan all entries (t,u,d(u,t)) and compute d(s, u) + d(u,t), update D[s,t]

156 Sanders/Schultes: Route Planning 156 Different Combinations Europe metric /0 DistTab ALT both preproc. time [min] time total disk space [MB] #settled nodes (176) query time [ms] (0.18) preproc. time [min] dist total disk space [MB] #settled nodes (177) query time [ms] (0.25)

157 Sanders/Schultes: Route Planning 157 Neighbourhood Size Preprocessing Time [min] Memory Overhead per Node [byte] Europe USA/CAN USA Query Time [ms]

158 Sanders/Schultes: Route Planning 158 Number of Levels Europe Memory Overhead per Node [byte] Memory Overhead Query Time Query Time [ms] Number of Levels

159 Sanders/Schultes: Route Planning 159 Contraction Rate Europe # Settled Nodes Settled Nodes Relaxed Edges # Relaxed Edges Contraction Rate

Route Planning in Road Networks

Route Planning in Road Networks Sanders/Schultes: Route Planning 1 Route Planning in Road Networks simple, flexible, efficient Peter Sanders Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe (TH)

More information

Engineering Route Planning Algorithms

Engineering Route Planning Algorithms Sanders/Schultes: Route Planning 1 Engineering Route Planning Algorithms Peter Sanders Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe (TH) in cooperation with

More information

Dynamic Highway-Node Routing

Dynamic Highway-Node Routing Schultes/Sanders: Dynamic Highway-Node Routing 1 Dynamic Highway-Node Routing Dominik Schultes Peter Sanders Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe (TH) http://algo2.iti.uka.de/schultes/hwy/

More information

Accurate High-Performance Route Planning

Accurate High-Performance Route Planning Sanders/Schultes: Route Planning 1 Accurate High-Performance Route Planning Peter Sanders Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe (TH) http://algo2.iti.uka.de/schultes/hwy/

More information

Accurate High-Performance Route Planning

Accurate High-Performance Route Planning Sanders/Schultes: Route Planning 1 Accurate High-Performance Route Planning Peter Sanders Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe (TH) Eindhoven, March

More information

Highway Hierarchies Hasten Exact Shortest Path Queries

Highway Hierarchies Hasten Exact Shortest Path Queries Sanders/Schultes: Highway Hierarchies 1 Highway Hierarchies Hasten Exact Shortest Path Queries Peter Sanders and Dominik Schultes Universität Karlsruhe October 2005 Sanders/Schultes: Highway Hierarchies

More information

Highway Hierarchies Star

Highway Hierarchies Star Delling/Sanders/Schultes/Wagner: Highway Hierarchies Star 1 Highway Hierarchies Star Daniel Delling Dominik Schultes Peter Sanders Dorothea Wagner Institut für Theoretische Informatik Algorithmik I/II

More information

Computing Many-to-Many Shortest Paths Using Highway Hierarchies

Computing Many-to-Many Shortest Paths Using Highway Hierarchies Computing Many-to-Many Shortest Paths Using Highway Hierarchies Abstract Sebastian Knopp Peter Sanders Dominik Schultes Frank Schulz We present a fast algorithm for computing all shortest paths between

More information

Combining Hierarchical and Goal-Directed Speed-Up Techniques for Dijkstra s Algorithm

Combining Hierarchical and Goal-Directed Speed-Up Techniques for Dijkstra s Algorithm Combining Hierarchical and Goal-Directed Speed-Up Techniques for Dijkstra s Algorithm Reinhard Bauer, Daniel Delling, Peter Sanders, Dennis Schieferdecker, Dominik Schultes, and Dorothea Wagner Universität

More information

Highway Hierarchies (Dominik Schultes) Presented by: Andre Rodriguez

Highway Hierarchies (Dominik Schultes) Presented by: Andre Rodriguez Highway Hierarchies (Dominik Schultes) Presented by: Andre Rodriguez Central Idea To go from Tallahassee to Gainesville*: Get to the I-10 Drive on the I-10 Get to Gainesville (8.8 mi) (153 mi) (1.8 mi)

More information

Robust, Almost Constant Time Shortest-Path Queries in Road Networks

Robust, Almost Constant Time Shortest-Path Queries in Road Networks Robust, Almost Constant Time Shortest-Path Queries in Road Networks Peter Sanders and Dominik Schultes Universität Karlsruhe (TH), 76128 Karlsruhe, Germany, {sanders,schultes}@ira.uka.de Abstract. When

More information

Experimental Study on Speed-Up Techniques for Timetable Information Systems

Experimental Study on Speed-Up Techniques for Timetable Information Systems Experimental Study on Speed-Up Techniques for Timetable Information Systems Reinhard Bauer (rbauer@ira.uka.de) Daniel Delling (delling@ira.uka.de) Dorothea Wagner (wagner@ira.uka.de) ITI Wagner, Universität

More information

Point-to-Point Shortest Path Algorithms with Preprocessing

Point-to-Point Shortest Path Algorithms with Preprocessing Point-to-Point Shortest Path Algorithms with Preprocessing Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Joint work with Chris Harrelson, Haim Kaplan, and Retato

More information

Combining Hierarchical and Goal-Directed Speed-Up Techniques for Dijkstra s Algorithm

Combining Hierarchical and Goal-Directed Speed-Up Techniques for Dijkstra s Algorithm Combining Hierarchical and Goal-Directed Speed-Up Techniques for Dijkstra s Algorithm Reinhard Bauer, Daniel Delling, Peter Sanders, Dennis Schieferdecker, Dominik Schultes, and Dorothea Wagner Universität

More information

Reach for A : an Efficient Point-to-Point Shortest Path Algorithm

Reach for A : an Efficient Point-to-Point Shortest Path Algorithm Reach for A : an Efficient Point-to-Point Shortest Path Algorithm Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Joint with Haim Kaplan and Renato Werneck Einstein

More information

Engineering Highway Hierarchies

Engineering Highway Hierarchies Engineering Highway Hierarchies Peter Sanders and Dominik Schultes Universität Karlsruhe (TH), 76128 Karlsruhe, Germany, {sanders,schultes}@ira.uka.de Abstract. Highway hierarchies exploit hierarchical

More information

Route Planning. Reach ArcFlags Transit Nodes Contraction Hierarchies Hub-based labelling. Tabulation Dijkstra Bidirectional A* Landmarks

Route Planning. Reach ArcFlags Transit Nodes Contraction Hierarchies Hub-based labelling. Tabulation Dijkstra Bidirectional A* Landmarks Route Planning Tabulation Dijkstra Bidirectional A* Landmarks Reach ArcFlags Transit Nodes Contraction Hierarchies Hub-based labelling [ADGW11] Ittai Abraham, Daniel Delling, Andrew V. Goldberg, Renato

More information

Algorithm Engineering for Route Planning: An Update International Symposium on Algorithms and Computation 2011 Dorothea Wagner December 6, 2011

Algorithm Engineering for Route Planning: An Update International Symposium on Algorithms and Computation 2011 Dorothea Wagner December 6, 2011 Algorithm Engineering for Route Planning: An Update International Symposium on Algorithms and Computation 2011 Dorothea Wagner December 6, 2011 FACULTY FOR INFORMATICS INSTITUTE OF THEORETICAL INFORMATICS

More information

Highway Dimension and Provably Efficient Shortest Paths Algorithms

Highway Dimension and Provably Efficient Shortest Paths Algorithms Highway Dimension and Provably Efficient Shortest Paths Algorithms Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Joint with Ittai Abraham, Amos Fiat, and Renato

More information

Highway Hierarchies Star

Highway Hierarchies Star DIMACS Series in Discrete Mathematics and Theoretical Computer Science Highway Hierarchies Star Daniel Delling, Peter Sanders, Dominik Schultes, and Dorothea Wagner Abstract. We study two speedup techniques

More information

2) Multi-Criteria 1) Contraction Hierarchies 3) for Ride Sharing

2) Multi-Criteria 1) Contraction Hierarchies 3) for Ride Sharing ) Multi-Criteria ) Contraction Hierarchies ) for Ride Sharing Robert Geisberger Bad Herrenalb, 4th and th December 008 Robert Geisberger Contraction Hierarchies Contraction Hierarchies Contraction Hierarchies

More information

SHARC: Fast and Robust Unidirectional Routing

SHARC: Fast and Robust Unidirectional Routing SHARC: Fast and Robust Unidirectional Routing Reinhard Bauer Daniel Delling Abstract During the last years, impressive speed-up techniques for Dijkstra s algorithm have been developed. Unfortunately, the

More information

A Goal-Directed Shortest Path Algorithm Using Precomputed Cluster Distances

A Goal-Directed Shortest Path Algorithm Using Precomputed Cluster Distances A Goal-Directed Shortest Path Algorithm Using Precomputed Cluster Distances Jens Maue Diplomarbeit Diploma Thesis Department of Computer Science Saarland University, Saarbrücken June 2006 Topic by Prof.

More information

Contraction Hierarchies: Faster and Simpler Hierarchical Routing in Road Networks

Contraction Hierarchies: Faster and Simpler Hierarchical Routing in Road Networks Contraction Hierarchies: Faster and Simpler Hierarchical Routing in Road Networks Robert Geisberger, Peter Sanders, Dominik Schultes, and Daniel Delling Universität Karlsruhe (TH), 76128 Karlsruhe, Germany,

More information

Experimental Study on Speed-Up Techniques for Timetable Information Systems

Experimental Study on Speed-Up Techniques for Timetable Information Systems Experimental Study on Speed-Up Techniques for Timetable Information Systems Reinhard Bauer, Daniel Delling, and Dorothea Wagner Universität Karlsruhe (TH), 76128 Karlsruhe, Germany, {rbauer,delling,wagner}@ira.uka.de

More information

Car or Public Transport Two Worlds

Car or Public Transport Two Worlds Car or Public Transport Two Worlds Hannah Bast Max-Planck-Institute for Informatics, Saarbrücken, Germany Abstract. There are two kinds of people: those who travel by car, and those who use public transport.

More information

arxiv: v1 [cs.ds] 5 Oct 2010

arxiv: v1 [cs.ds] 5 Oct 2010 Engineering Time-dependent One-To-All Computation arxiv:1010.0809v1 [cs.ds] 5 Oct 2010 Robert Geisberger Karlsruhe Institute of Technology, 76128 Karlsruhe, Germany geisberger@kit.edu October 6, 2010 Abstract

More information

Dynamic Arc-Flags in Road Networks

Dynamic Arc-Flags in Road Networks Dynamic Arc-Flags in Road Networks Gianlorenzo D Angelo, Daniele Frigioni, and Camillo Vitale Department of Electrical and Information Engineering, University of L Aquila, Via Gronchi, 18, I 67100, L Aquila,

More information

Landmark-Based Routing in Dynamic Graphs

Landmark-Based Routing in Dynamic Graphs Landmark-Based Routing in Dynamic Graphs Daniel Delling and Dorothea Wagner Universität Karlsruhe (TH), 76128 Karlsruhe, Germany {delling,wagner}@ira.uka.de Abstract. Many speed-up techniques for route

More information

Shortest Paths: Algorithms for standard variants. Algorithms and Networks 2017/2018 Johan M. M. van Rooij Hans L. Bodlaender

Shortest Paths: Algorithms for standard variants. Algorithms and Networks 2017/2018 Johan M. M. van Rooij Hans L. Bodlaender Shortest Paths: Algorithms for standard variants Algorithms and Networks 2017/2018 Johan M. M. van Rooij Hans L. Bodlaender 1 Shortest path problem(s) Undirected single-pair shortest path problem Given

More information

Engineering shortest-path algorithms for dynamic networks

Engineering shortest-path algorithms for dynamic networks Engineering shortest-path algorithms for dynamic networks Mattia D Emidio and Daniele Frigioni Department of Information Engineering, Computer Science and Mathematics, University of L Aquila, Via Gronchi

More information

Advanced Route Planning in Transportation Networks

Advanced Route Planning in Transportation Networks Advanced Route Planning in Transportation Networks zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften von der Fakultät für Informatik des Karlsruher Instituts für Technologie genehmigte

More information

Shortest Paths: Basics. Algorithms and Networks 2016/2017 Johan M. M. van Rooij Hans L. Bodlaender

Shortest Paths: Basics. Algorithms and Networks 2016/2017 Johan M. M. van Rooij Hans L. Bodlaender Shortest Paths: Basics Algorithms and Networks 2016/2017 Johan M. M. van Rooij Hans L. Bodlaender 1 Shortest path problem(s) Undirected single-pair shortest path problem Given a graph G=(V,E) and a length

More information

Customizable Route Planning in Road Networks

Customizable Route Planning in Road Networks Customizable Route Planning in Road Networks Daniel Delling 1, Andrew V. Goldberg 1, Thomas Pajor 2, and Renato F. Werneck 1 1 Microsoft Research Silicon Valley {dadellin,goldberg,renatow}@microsoft.com

More information

Reach for A : Efficient Point-to-Point Shortest Path Algorithms

Reach for A : Efficient Point-to-Point Shortest Path Algorithms Reach for A : Efficient Point-to-Point Shortest Path Algorithms Andrew V. Goldberg 1 Haim Kaplan 2 Renato F. Werneck 3 October 2005 Technical Report MSR-TR-2005-132 We study the point-to-point shortest

More information

Time-Dependent Contraction Hierarchies and Approximation

Time-Dependent Contraction Hierarchies and Approximation Time-Dependent Contraction Hierarchies and Approximation Gernot Veit Batz, Robert Geisberger, Sabine Neubauer, and Peter Sanders Karlsruhe Institute of Technology (KIT), 76128 Karlsruhe, Germany {batz,geisberger,sanders}@kit.edu

More information

Reach for A : Efficient Point-to-Point Shortest Path Algorithms

Reach for A : Efficient Point-to-Point Shortest Path Algorithms Reach for A : Efficient Point-to-Point Shortest Path Algorithms Andrew V. Goldberg Haim Kaplan Renato F. Werneck Abstract We study the point-to-point shortest path problem in a setting where preprocessing

More information

R. Kalpana #1 P. Thambidurai *2. Puducherry, India. Karaikal, Puducherry, India

R. Kalpana #1 P. Thambidurai *2. Puducherry, India. Karaikal, Puducherry, India Re-optimizing the Performance of Shortest Path Queries Using ized Combining Speedup Technique based on Arc flags and Approach R. Kalpana # P. Thambidurai * # Department of Computer Science & Engineering,

More information

Using Multi-Level Graphs for Timetable Information. Frank Schulz, Dorothea Wagner, and Christos Zaroliagis

Using Multi-Level Graphs for Timetable Information. Frank Schulz, Dorothea Wagner, and Christos Zaroliagis Using Multi-Level Graphs for Timetable Information Frank Schulz, Dorothea Wagner, and Christos Zaroliagis Overview 1 1. Introduction Timetable Information - A Shortest Path Problem 2. Multi-Level Graphs

More information

Route Planning in Transportation Networks

Route Planning in Transportation Networks Route Planning in Transportation Networks Hannah Bast 1, Daniel Delling 2, Andrew Goldberg 3, Matthias Müller-Hannemann 4, Thomas Pajor 5(B), Peter Sanders 6, Dorothea Wagner 6, and Renato F. Werneck 3

More information

Advanced Route Planning and Related Topics Freiburg Update

Advanced Route Planning and Related Topics Freiburg Update Advanced Route Planning and Related Topics Freiburg Update G. V. Batz, M. Kobitzsch, D. Luxen, P. Sanders, D. Schieferdecker - 0 KIT G. University V. Batz, of the M. StateKobitzsch, of Baden-Wuerttemberg

More information

Bidirectional search and Goal-directed Dijkstra

Bidirectional search and Goal-directed Dijkstra Computing the shortest path Bidirectional search and Goal-directed Dijkstra Alexander Kozyntsev October 18, 2010 Abstract We study the problem of finding a shortest path between two vertices in a directed

More information

Engineering Multi-Level Overlay Graphs for Shortest-Path Queries

Engineering Multi-Level Overlay Graphs for Shortest-Path Queries Engineering Multi-Level Overlay Graphs for Shortest-Path Queries MARTIN HOLZER, FRANK SCHULZ, and DOROTHEA WAGNER University of Karlsruhe An overlay graph of a given graph G = (V, E) on a subset S V is

More information

Time-Dependent Contraction Hierarchies

Time-Dependent Contraction Hierarchies Time-Dependent Contraction Hierarchies G. Veit Batz, Daniel Delling, Peter Sanders, and Christian Vetter Universität Karlsruhe (TH), 76128 Karlsruhe, Germany {batz,delling,sanders,vetter}@ira.uka.de December

More information

Parallel Hierarchies for Solving Single Source Shortest Path Problem

Parallel Hierarchies for Solving Single Source Shortest Path Problem JOURNAL OF APPLIED COMPUTER SCIENCE Vol. 21 No. 1 (2013), pp. 25-38 Parallel Hierarchies for Solving Single Source Shortest Path Problem Łukasz Chomatek 1 1 Lodz University of Technology Institute of Information

More information

Customizable Route Planning

Customizable Route Planning Customizable Route Planning Daniel Delling 1, Andrew V. Goldberg 1, Thomas Pajor 2, and Renato F. Werneck 1 1 Microsoft Research Silicon Valley {dadellin,goldberg,renatow}@microsoft.com 2 Karlsruhe Institute

More information

Route Planning with Flexible Objective Functions

Route Planning with Flexible Objective Functions Route Planning with Flexible Objective Functions Robert Geisberger, Moritz Kobitzsch and Peter Sanders Karlsruhe Institute of Technology, 76128 Karlsruhe, Germany {geisberger,kobitzsch,sanders}@kit.edu

More information

Location-Based Services & Route Planning

Location-Based Services & Route Planning Praktikum Mobile und Verteilte Systeme Location-Based Services & Route Planning Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld http://www.mobile.ifi.lmu.de WS 2017/18 Praktikum Mobile und

More information

Hierarchical Hub Labelings for Shortest Paths

Hierarchical Hub Labelings for Shortest Paths Hierarchical Hub Labelings for Shortest Paths Ittai Abraham, Daniel Delling, Andrew V. Goldberg, and Renato F. Werneck Microsoft Research Silicon Valley {ittaia,dadellin,goldberg,renatow}@microsoft.com

More information

Transit Nodes Lower Bounds and Refined Construction

Transit Nodes Lower Bounds and Refined Construction Transit Nodes Lower Bounds and Refined Construction Jochen Eisner Stefan Funke Abstract We reconsider the concept of transit nodes as introduced by Bast et al. [3] and for the first time construct instance

More information

Combining Speed-up Techniques for Shortest-Path Computations

Combining Speed-up Techniques for Shortest-Path Computations Combining Speed-up Techniques for Shortest-Path Computations Martin Holzer, Frank Schulz, and Thomas Willhalm Universität Karlsruhe Fakultät für Informatik Postfach 6980 76128 Karlsruhe Germany {mholzer,fschulz,willhalm}@ira.uka.de

More information

Multi-Hop Ride Sharing

Multi-Hop Ride Sharing Proceedings of the Sixth International Symposium on Combinatorial Search Multi-Hop Ride Sharing Florian Drews and Dennis Luxen Karlsruhe Institute of Technology Institute of Theoretical Informatics, Algorithmics

More information

Algorithmen II. Peter Sanders, Thomas Worsch, Simon Gog. Übungen: Demian Hespe, Yaroslav Akhremtsev

Algorithmen II. Peter Sanders, Thomas Worsch, Simon Gog. Übungen: Demian Hespe, Yaroslav Akhremtsev Sanders, Worsch, Gog: Algorithmen II - 27. November 2017 Algorithmen II Peter Sanders, Thomas Worsch, Simon Gog Übungen: Demian Hespe, Yaroslav Akhremtsev Institut für Theoretische Informatik, Algorithmik

More information

Network Analyst Creating Network Datasets. Jay Sandhu Frank Kish

Network Analyst Creating Network Datasets. Jay Sandhu Frank Kish Network Analyst Creating Network Datasets Jay Sandhu Frank Kish Agenda Preparing Street Data for use in a network dataset - One-way streets - Hierarchy - RoadClass attribute Using turns, signposts, and

More information

Graph Indexing of Road Networks for Shortest Path Queries with Label Restrictions

Graph Indexing of Road Networks for Shortest Path Queries with Label Restrictions Graph Indexing of Road Networks for Shortest Path Queries with Label Restrictions Michael Rice University of California, Riverside Riverside, CA 92521 mrice@cs.ucr.edu Vassilis J. Tsotras University of

More information

Fast and Compact Oracles for Approximate Distances in Planar Graphs

Fast and Compact Oracles for Approximate Distances in Planar Graphs Fast and Compact Oracles for Approximate Distances in Planar Graphs Laurent Flindt Muller 1 and Martin Zachariasen 2 1 Transvision, Vermundsgade 0D, DK-20 Copenhagen, Denmark laurent.flindt.muller@gmail.com

More information

Mobile Route Planning

Mobile Route Planning Mobile Route Planning Peter Sanders, Dominik Schultes, and Christian Vetter Universität Karlsruhe (TH), 76128 Karlsruhe, Germany, {sanders,schultes}@ira.uka.de, veaac@gmx.de Abstract. We provide an implementation

More information

Engineering Time-Expanded Graphs for Faster Timetable Information

Engineering Time-Expanded Graphs for Faster Timetable Information Engineering Time-Expanded Graphs for Faster Timetable Information Daniel Delling, Thomas Pajor, and Dorothea Wagner Department of Computer Science, University of Karlsruhe, P.O. Box 6980, 76128 Karlsruhe,

More information

Understanding Subgoal Graphs by Augmenting Contraction Hierarchies

Understanding Subgoal Graphs by Augmenting Contraction Hierarchies Understanding Subgoal Graphs by Augmenting Contraction Hierarchies Tansel Uras and Sven Koenig Department of Computer Science University of Southern California Los Angeles, USA {turas, skoenig}@usc.edu

More information

Engineering Time-Expanded Graphs for Faster Timetable Information

Engineering Time-Expanded Graphs for Faster Timetable Information Engineering Time-Expanded Graphs for Faster Timetable Information Daniel Delling, Thomas Pajor, and Dorothea Wagner Department of Computer Science, University of Karlsruhe, P.O. Box 6980, 76128 Karlsruhe,

More information

Objective of the present work

Objective of the present work Objective of the present work Optimize Road Network Optimize Airline Network Optimize Rail Network Optimize Computer Network Optimize Social Network Spanners and Emulators For most graph algorithms, the

More information

Shortest-Path Indices: Establishing a Methodology for Shortest-Path Problems

Shortest-Path Indices: Establishing a Methodology for Shortest-Path Problems Shortest-Path Indices: Establishing a Methodology for Shortest-Path Problems Reinhard Bauer, Daniel Delling, and Dorothea Wagner Universität Karlsruhe (TH), 76128 Karlsruhe, Germany, {rbauer,delling,wagner}@ira.uka.de

More information

Route Planning in Road Networks with Turn Costs

Route Planning in Road Networks with Turn Costs Route Planning in Road Networks with Turn Costs Lars Volker July 22, 2008 Abstract In this paper, we will describe the use of edge-based graphs to integrate turn penalties into algorithms used for route

More information

Engineering Multilevel Graph Partitioning Algorithms

Engineering Multilevel Graph Partitioning Algorithms Engineering Multilevel Graph Partitioning Algorithms Manuel Holtgrewe, Vitaly Osipov, Peter Sanders, Christian Schulz Institute for Theoretical Computer Science, Algorithmics II 1 Mar. 3, 2011 Manuel Holtgrewe,

More information

Collaboration with: Dieter Pfoser, Computer Technology Institute, Athens, Greece Peter Wagner, German Aerospace Center, Berlin, Germany

Collaboration with: Dieter Pfoser, Computer Technology Institute, Athens, Greece Peter Wagner, German Aerospace Center, Berlin, Germany Towards traffic-aware aware a routing using GPS vehicle trajectories Carola Wenk University of Texas at San Antonio carola@cs.utsa.edu Collaboration with: Dieter Pfoser, Computer Technology Institute,

More information

Optimal Routing Algorithms

Optimal Routing Algorithms J.S. van der Laan Optimal Routing Algorithms A flow-based approach and speed-up techniques for static networks Master s thesis Supervisor: Dr. F.M. Spieksma Date of exam: 29 November 2017 Mathematisch

More information

Exploring Graph Partitioning for Shortest Path Queries on Road Networks

Exploring Graph Partitioning for Shortest Path Queries on Road Networks Erschienen in: Proceedings of the 6th GI-Workshop Grundlagen von Datenbanken / Klan, Friederike et al. (Hrsg.). - (CEUR Workshop Proceedings ; 33). - S. 7-76 Exploring Graph Partitioning for Shortest Path

More information

Performance Analysis of Parallel Speedup Techniques for Shortest Path Queries in Networks of Random and Planar Types

Performance Analysis of Parallel Speedup Techniques for Shortest Path Queries in Networks of Random and Planar Types Performance Analysis of Parallel Speedup Techniques for Shortest Path Queries in Networks of Random and Planar Types R.Kalpana Department of CSE Pondicherry Engineering College Puducherry P.Thambidurai

More information

An Optimal Algorithm for the Indirect Covering Subtree Problem

An Optimal Algorithm for the Indirect Covering Subtree Problem An Optimal Algorithm for the Indirect Covering Subtree Problem Joachim Spoerhase Lehrstuhl für Informatik I, Universität Würzburg, Am Hubland, 97074 Würzburg, Germany Key words: Graph algorithm, coverage,

More information

An Extended Shortest Path Problem with Switch Cost Between Arcs

An Extended Shortest Path Problem with Switch Cost Between Arcs An Extended Shortest Path Problem with Switch Cost Between Arcs Xiaolong Ma, Jie Zhou Abstract Computing the shortest path in a graph is an important problem and it is very useful in various applications.

More information

Algorithm Engineering

Algorithm Engineering Sanders: Algorithm Engineering Parallel Sorting 1 Algorithm Engineering An Attempt at a Definition Using Parallel (External) Sorting as an Example Peter Sanders Sanders: Algorithm Engineering Parallel

More information

Simon Peyton Jones (giving the talk) Andrew Goldberg (who did all the work) Microsoft Research

Simon Peyton Jones (giving the talk) Andrew Goldberg (who did all the work) Microsoft Research Simon Peyton Jones (giving the talk) Andrew Goldberg (who did all the work) Microsoft Research Well-known algorithms are fast enough on a reasonable computer but A handheld is not a reasonable computer

More information

An Introduction to Spatial Databases

An Introduction to Spatial Databases An Introduction to Spatial Databases R. H. Guting VLDB Journal v3, n4, October 1994 Speaker: Giovanni Conforti Outline: a rather old (but quite complete) survey on Spatial DBMS Introduction & definition

More information

I/O Efficieny of Highway Hierarchies

I/O Efficieny of Highway Hierarchies I/O Efficieny of Highway Hierarchies Riko Jacob Sushant Sachdeva Departement of Computer Science ETH Zurich, Technical Report 531, September 26 Abstract Recently, Sanders and Schultes presented a shortest

More information

doc. RNDr. Tomáš Skopal, Ph.D. Department of Software Engineering, Faculty of Information Technology, Czech Technical University in Prague

doc. RNDr. Tomáš Skopal, Ph.D. Department of Software Engineering, Faculty of Information Technology, Czech Technical University in Prague Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond course: Searching the Web and Multimedia Databases (BI-VWM) Tomáš Skopal, 2011 SS2010/11 doc. RNDr. Tomáš Skopal, Ph.D. Department of

More information

Lecture Summary CSC 263H. August 5, 2016

Lecture Summary CSC 263H. August 5, 2016 Lecture Summary CSC 263H August 5, 2016 This document is a very brief overview of what we did in each lecture, it is by no means a replacement for attending lecture or doing the readings. 1. Week 1 2.

More information

Multidimensional (spatial) Data and Modelling (2)

Multidimensional (spatial) Data and Modelling (2) Multidimensional (spatial) Data and Modelling (2) 1 Representative operations on maps l l l l l are operations on layers used in maps (all 2-d). Synonyms f. map: layer, spatial partition Def. properties:

More information

Partitioning of Public Transit Networks

Partitioning of Public Transit Networks Partitioning of Public Transit Networks [Bachelor s thesis] Matthias Hertel Albert-Ludwigs-Universität Freiburg.09.205 Contents Introduction Motivation Goal 2 Data model 3 Algorithms K-means Merging algorithm

More information

Network Analyst Creating Network Datasets

Network Analyst Creating Network Datasets 2013 Esri International User Conference July 8 12, 2013 San Diego, California Technical Workshop Network Analyst Creating Network Datasets Colin Childs Alan Hatakeyama Esri UC2013. Technical Workshop.

More information

Studienarbeit Parallel Highway-Node Routing

Studienarbeit Parallel Highway-Node Routing Studienarbeit Parallel Highway-Node Routing Manuel Holtgrewe Betreuer: Dominik Schultes, Johannes Singler Verantwortlicher Betreuer: Prof. Dr. Peter Sanders January 15, 2008 Abstract Highway-Node Routing

More information

Parallel Time-Dependent Contraction Hierarchies

Parallel Time-Dependent Contraction Hierarchies Parallel Time-Dependent Contraction Hierarchies Christian Vetter July 13, 2009 Student Research Project Universität Karlsruhe (TH), 76128 Karlsruhe, Germany Supervised by G. V. Batz and P. Sanders Abstract

More information

Customizable Contraction Hierarchies

Customizable Contraction Hierarchies Customizable Contraction Hierarchies Julian Dibbelt, Ben Strasser, Dorothea Wagner firstname.lastname@kit.edu Karlsruhe Institute of Technology (KIT) Abstract. We consider the problem of quickly computing

More information

CSE 100: GRAPH ALGORITHMS

CSE 100: GRAPH ALGORITHMS CSE 100: GRAPH ALGORITHMS Dijkstra s Algorithm: Questions Initialize the graph: Give all vertices a dist of INFINITY, set all done flags to false Start at s; give s dist = 0 and set prev field to -1 Enqueue

More information

External Memory Algorithms and Data Structures Fall Project 3 A GIS system

External Memory Algorithms and Data Structures Fall Project 3 A GIS system External Memory Algorithms and Data Structures Fall 2003 1 Project 3 A GIS system GSB/RF November 17, 2003 1 Introduction The goal of this project is to implement a rudimentary Geographical Information

More information

Advanced Database Systems

Advanced Database Systems Lecture IV Query Processing Kyumars Sheykh Esmaili Basic Steps in Query Processing 2 Query Optimization Many equivalent execution plans Choosing the best one Based on Heuristics, Cost Will be discussed

More information

Scalable Computing: Practice and Experience Volume 12, Number 3, pp

Scalable Computing: Practice and Experience Volume 12, Number 3, pp Scalable Computing: Practice and Experience Volume 1, Number 3, pp. 83 91. http://www.scpe.org ISSN 1895-1767 c 011 SCPE VEHICLE ROUTING PROBLEMS WITH THE USE OF MULTI-AGENT SYSTEM LUKASZ CHOMATEK AND

More information

Different Optimal Solutions in Shared Path Graphs

Different Optimal Solutions in Shared Path Graphs Different Optimal Solutions in Shared Path Graphs Kira Goldner Oberlin College Oberlin, OH 44074 (610) 324-3931 ksgoldner@gmail.com ABSTRACT We examine an expansion upon the basic shortest path in graphs

More information

i,4,2 i,4,1 i,3,2 i,2,2 i,3,1 i direct connection; weight = 0 connection with a change; weight =

i,4,2 i,4,1 i,3,2 i,2,2 i,3,1 i direct connection; weight = 0 connection with a change; weight = Electronic Notes in Theoretical Computer Science 50 No. 1 (2001) Proc. ATMOS 2001 URL: http://www.elsevier.nl/locate/entcs/volume50.html 11 pages Web-Based Integrated Timetable Information System for Railways

More information

Multidimensional Data and Modelling - DBMS

Multidimensional Data and Modelling - DBMS Multidimensional Data and Modelling - DBMS 1 DBMS-centric approach Summary: l Spatial data is considered as another type of data beside conventional data in a DBMS. l Enabling advantages of DBMS (data

More information

Geometric Shortest Path Containers

Geometric Shortest Path Containers Geometric Shortest Path Containers Dorothea Wagner Thomas Willhalm Christos Zaroliagis February 26, 2004 Abstract In this paper, we consider Dijkstra s algorithm for the single source single target shortest

More information

Network Analyst Creating Network Datasets. Colin Childs Alan Hatakeyama

Network Analyst Creating Network Datasets. Colin Childs Alan Hatakeyama Network Analyst Creating Network Datasets Colin Childs Alan Hatakeyama Agenda Preparing street data for use in a network dataset - Oneway streets - Hierarchy - RoadClass attribute Using turns, signposts,

More information

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Lecture 16, Spring 2014 Instructor: 罗国杰 gluo@pku.edu.cn In This Lecture Parallel formulations of some important and fundamental

More information

Engineering Multilevel Graph Partitioning Algorithms

Engineering Multilevel Graph Partitioning Algorithms Engineering Multilevel Graph Partitioning Algorithms Peter Sanders, Christian Schulz Institute for Theoretical Computer Science, Algorithmics II 1 Nov. 10, 2011 Peter Sanders, Christian Schulz Institute

More information

Bidirectional search and Goal-directed Dijkstra

Bidirectional search and Goal-directed Dijkstra Bidirectional search and Goal-directed Dijkstra Ferienakademie im Sarntal Course 2 Distance Problems: Theory and Praxis Kozyntsev A.N. Fakultät für Informatik TU München 26. September 2010 Kozyntsev A.N.:

More information

ecompass ecompass TR 006 User-Constrained Multi-Modal Route Planning

ecompass ecompass TR 006 User-Constrained Multi-Modal Route Planning Project Number 288094 ecompass eco-friendly urban Multi-modal route PlAnning Services for mobile users STREP Funded by EC, INFSO-G4(ICT for Transport) under FP7 ecompass TR 006 User-Constrained Multi-Modal

More information

Lecture Note: Computation problems in social. network analysis

Lecture Note: Computation problems in social. network analysis Lecture Note: Computation problems in social network analysis Bang Ye Wu CSIE, Chung Cheng University, Taiwan September 29, 2008 In this lecture note, several computational problems are listed, including

More information

Partitioning Graphs to Speed Up Dijkstra s Algorithm

Partitioning Graphs to Speed Up Dijkstra s Algorithm See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/221131524 Partitioning Graphs to Speed Up Dijkstra s Algorithm Conference Paper in Lecture

More information

All-Pairs Nearly 2-Approximate Shortest-Paths in O(n 2 polylog n) Time

All-Pairs Nearly 2-Approximate Shortest-Paths in O(n 2 polylog n) Time All-Pairs Nearly 2-Approximate Shortest-Paths in O(n 2 polylog n) Time Surender Baswana 1, Vishrut Goyal 2, and Sandeep Sen 3 1 Max-Planck-Institut für Informatik, Saarbrücken, Germany. sbaswana@mpi-sb.mpg.de

More information

arxiv: v1 [cs.ds] 3 Mar 2016

arxiv: v1 [cs.ds] 3 Mar 2016 Using Quadrilaterals to Compute the Shortest Path ExtendedAbstract arxiv:1603.00963v1 [cs.ds] 3 Mar 2016 Newton Campbell Jr. Nova Southeastern University nc607@nova.edu March 4, 2016 Abstract We introduce

More information

External-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair

External-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair External-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair {machado,tron}@visgraf.impa.br Theoretical Models Random Access Machine Memory: Infinite Array. Access

More information