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 Fragen jederzeit direkt nach der Vorlesung Raum 222 (im Juli selten zu erreichen) schultes@ira.uka.de

3 Sanders/Schultes: Route Planning 3 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)

4 Sanders/Schultes: Route Planning 4 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)

5 Sanders/Schultes: Route Planning 5 Diplom- / Studienarbeiten / Hiwi-Jobs z.b. Implementierung für ein Mobilgerät Weiterentwicklung bestehender Verfahren Besonderer Reiz Spitze der Forschung (Gewinner DIMACS Challenge November 2006) Voraussetzungen algorithmische Kenntnisse, (sehr) gute Programmierkenntnisse Kontakt: Dominik Schultes, schultes@ira.uka.de, Raum 222

6 Sanders/Schultes: Route Planning 6 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

7 Sanders/Schultes: Route Planning 7 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

8 Sanders/Schultes: Route Planning 8 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

9 Sanders/Schultes: Route Planning 9 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!)

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

11 Sanders/Schultes: Route Planning 11 Outline 1. short introduction of basic approaches Dijkstra s algorithm / bidirectional search 2. review of speedup techniques before Oct 2005 A search (using landmarks) separator-based multi-level approach geometric containers / edge flags reach-based routing 3. detailed presentation of speedup techniques after Oct 2005 highway hierarchies transit-node routing highway-node routing fast queries very fast queries handles dynamic scenarios

12 Sanders/Schultes: Route Planning and 2. Part For 1. and 2. part, switch to Thomas Willhalm s slides, pages Caveat: some (minor) aspects are no longer up-to-date.

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

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

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

16 Sanders/Schultes: Route Planning 16 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

17 Sanders/Schultes: Route Planning 17 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

18 Sanders/Schultes: Route Planning 18 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

19 Sanders/Schultes: Route Planning 19 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

20 Sanders/Schultes: Route Planning 20 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

21 Sanders/Schultes: Route Planning 21 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)

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

23 Sanders/Schultes: Route Planning 23 Contraction bypass node

24 Sanders/Schultes: Route Planning 24 Contraction shortcuts

25 Sanders/Schultes: Route Planning 25 Contraction bypass node

26 Sanders/Schultes: Route Planning 26 Contraction

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

28 Sanders/Schultes: Route Planning 28 Contraction core

29 Sanders/Schultes: Route Planning 29 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.

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

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

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

33 Sanders/Schultes: Route Planning 33 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

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

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

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

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

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

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

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

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

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

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

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

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

46 Sanders/Schultes: Route Planning 46 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

47 Sanders/Schultes: Route Planning 47 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

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

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

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

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

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

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

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

55 Sanders/Schultes: Route Planning 55 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

56 Sanders/Schultes: Route Planning 56 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

57 Sanders/Schultes: Route Planning 57 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

58 Sanders/Schultes: Route Planning 58 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

59 Sanders/Schultes: Route Planning 59 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

60 Sanders/Schultes: Route Planning 60 for each t T, perform backward search up to the top level, 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 up to and including the top level, at each node u, scan all entries (t,u,d(u,t)) and compute d(s, u) + d(u,t), update D[s,t]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

78 Sanders/Schultes: Route Planning 78 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]

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

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

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

82 Sanders/Schultes: Route Planning 82 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]

83 Sanders/Schultes: Route Planning 83 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)}

84 Sanders/Schultes: Route Planning 84 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)

85 Sanders/Schultes: Route Planning 85 Example

86 Sanders/Schultes: Route Planning 86 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?

87 Sanders/Schultes: Route Planning 87 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

88 Sanders/Schultes: Route Planning 88 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

89 Sanders/Schultes: Route Planning 89 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

90 Sanders/Schultes: Route Planning 90 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

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

92 Sanders/Schultes: Route Planning 92 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)}

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

94 Sanders/Schultes: Route Planning 94 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

95 Sanders/Schultes: Route Planning 95 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)

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

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

98 Sanders/Schultes: Route Planning 98 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

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

100 Sanders/Schultes: Route Planning 100 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)

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

102 Sanders/Schultes: Route Planning 102 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}

103 Sanders/Schultes: Route Planning 103 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

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

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

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

107 Sanders/Schultes: Route Planning 107 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

108 Sanders/Schultes: Route Planning 108 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

109 Sanders/Schultes: Route Planning 109 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

110 Sanders/Schultes: Route Planning 110 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)

111 Sanders/Schultes: Route Planning 111 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

112 Sanders/Schultes: Route Planning 112 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

113 Sanders/Schultes: Route Planning 113 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

114 Sanders/Schultes: Route Planning 114 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}

115 Sanders/Schultes: Route Planning 115 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

116 Sanders/Schultes: Route Planning 116 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)

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

118 Sanders/Schultes: Route Planning 118 Dynamic Highway-Node Routing change a few edge weights, mobile scenario change set affected #settled nodes query time (motorway edges) queries absolute relative [ms] % (1.7) % (5.9) % (30.4) % (141.8) 243.9

119 Sanders/Schultes: Route Planning 119 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.

120 Sanders/Schultes: Route Planning 120 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/

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

122 Sanders/Schultes: Route Planning 122 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

123 Sanders/Schultes: Route Planning 123 Analysis Correctness: for TNR and HNR: probably not 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

124 Sanders/Schultes: Route Planning 124 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

125 Sanders/Schultes: Route Planning 125 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

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

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

128 Sanders/Schultes: Route Planning 128 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)

129 Sanders/Schultes: Route Planning 129 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

130 Sanders/Schultes: Route Planning 130 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?

131 Sanders/Schultes: Route Planning 131 Appendix

132 Sanders/Schultes: Route Planning 132 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

133 Sanders/Schultes: Route Planning 133 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

134 Sanders/Schultes: Route Planning 134 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?

135 Sanders/Schultes: Route Planning 135 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

136 Sanders/Schultes: Route Planning 136 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

137 Sanders/Schultes: Route Planning 137 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.

138 Sanders/Schultes: Route Planning 138 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

139 Sanders/Schultes: Route Planning 139 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

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

141 Sanders/Schultes: Route Planning 141 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

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

143 Sanders/Schultes: Route Planning 143 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

144 Sanders/Schultes: Route Planning 144 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)

145 Sanders/Schultes: Route Planning 145 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.

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

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

148 Sanders/Schultes: Route Planning 148 Contraction bypass node

149 Sanders/Schultes: Route Planning 149 Contraction shortcuts

150 Sanders/Schultes: Route Planning 150 Contraction bypass node

151 Sanders/Schultes: Route Planning 151 Contraction

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

153 Sanders/Schultes: Route Planning 153 Contraction core

154 Sanders/Schultes: Route Planning 154 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.

155 Sanders/Schultes: Route Planning 155 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

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

157 Sanders/Schultes: Route Planning 157 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

158 Sanders/Schultes: Route Planning 158 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

159 Sanders/Schultes: Route Planning 159 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

160 Sanders/Schultes: Route Planning 160 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]

161 Sanders/Schultes: Route Planning 161 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)

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Chapter 5: Outlier Detection

Chapter 5: Outlier Detection Ludwig-Maximilians-Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Knowledge Discovery in Databases SS 2016 Chapter 5: Outlier Detection Lecture: Prof. Dr.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The Square Root Phenomenon in Planar Graphs

The Square Root Phenomenon in Planar Graphs 1 The Square Root Phenomenon in Planar Graphs Survey and New Results Dániel Marx Institute for Computer Science and Control, Hungarian Academy of Sciences (MTA SZTAKI) Budapest, Hungary Satisfiability

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

Notes on Minimum Spanning Trees. Red Rule: Given a cycle containing no red edges, select a maximum uncolored edge on the cycle, and color it red.

Notes on Minimum Spanning Trees. Red Rule: Given a cycle containing no red edges, select a maximum uncolored edge on the cycle, and color it red. COS 521 Fall 2009 Notes on Minimum Spanning Trees 1. The Generic Greedy Algorithm The generic greedy algorithm finds a minimum spanning tree (MST) by an edge-coloring process. Initially all edges are uncolored.

More information

Clustering Part 4 DBSCAN

Clustering Part 4 DBSCAN Clustering Part 4 Dr. Sanjay Ranka Professor Computer and Information Science and Engineering University of Florida, Gainesville DBSCAN DBSCAN is a density based clustering algorithm Density = number of

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

Chapter 12: Indexing and Hashing. Basic Concepts

Chapter 12: Indexing and Hashing. Basic Concepts Chapter 12: Indexing and Hashing! Basic Concepts! Ordered Indices! B+-Tree Index Files! B-Tree Index Files! Static Hashing! Dynamic Hashing! Comparison of Ordered Indexing and Hashing! Index Definition

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

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

CS 561, Lecture 10. Jared Saia University of New Mexico

CS 561, Lecture 10. Jared Saia University of New Mexico CS 561, Lecture 10 Jared Saia University of New Mexico Today s Outline The path that can be trodden is not the enduring and unchanging Path. The name that can be named is not the enduring and unchanging

More information

Introduction to Spatial Database Systems

Introduction to Spatial Database Systems Introduction to Spatial Database Systems by Cyrus Shahabi from Ralf Hart Hartmut Guting s VLDB Journal v3, n4, October 1994 Data Structures & Algorithms 1. Implementation of spatial algebra in an integrated

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

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