88
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 http://algo2.iti.uka.de/schultes/hwy/

Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Embed Size (px)

Citation preview

Page 1: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 1

EngineeringRoute PlanningAlgorithms

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

http://algo2.iti.uka.de/schultes/hwy/

Page 2: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 2

Overview

� Algorithm Engineering

� Route Planning

� Related Work fast

� Highway Hierarchies faster

� Many-to-Many Routing

� Transit-Node Routing fastest

� Summary

� Future Work

Page 3: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 3

(Caricatured) Traditional View: Algorithm Theory

models

design

analysis

perf. guarantees applications

implementation

deduction

Theory Practice

Page 4: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 4

Algorithmics as Algorithm Engineeringrealisticmodels

design

implementation

librariesalgorithm−

perf.−guarantees

app

lication

sdeduction

falsifiable

inductionhypothesesanalysis experiments

algorithmengineering real

Inputs

Page 5: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 5

Route Planning: How do I get there from here ?

Applications

� route planning systems

in the internet

(e.g. www.map24.de)

� car navigation systems

� logistics planning

� traffic simulation

Page 6: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 6

Road Networks

?

� Large, e.g. n =18 000 000 nodes

for Western Europe

� Sparse, i.e., m = Θ(n) edges

� Almost planar, i.e.,

few edges cross

� Quickest paths use

important streets

� Changes are slow/few, i.e.,

Fast, near linear space preprocessing OK

We want fast, exact, point-to-point queries

Page 7: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 7

DIJKSTRA ’s Algorithm

tsDijkstra

tsbidirectionalDijkstra

not practicable

for large road networks

(e.g. Western Europe:

≈ 18 000 000 nodes)

improves the running time,

but still too slow

Page 8: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 8

Goal-Directed Searchs t

A∗ [Hart, Nilsson, Raphael 68]: not effective for travel time

Geometric Containers [Wagner et al. 99–05]:

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

Page 9: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 9

Hierarchical Methods

Planar graph (theory) [Fakcharoenphol, Rao, Klein 01–06]: O(n log2n)

space and preprocessing time; O(√

n logn) query time

Planar approximate (theory) [Thorup 01]: O((n logn)/ε) 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

Highway-node routing [SS 07–]: stay tuned

Page 10: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 10

Highway Hierarchies

[SS 05–]

ts

Page 11: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 11

Naive Route Planning1. Look for the next reasonable motorway

Page 12: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 12

Naive Route Planning1. Look for the next reasonable motorway

2. Drive on motorways to a location close to the target

Page 13: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 13

Naive Route Planning1. 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

Page 14: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 14

Commercial Approach

Heuristic Highway Hierarchy s t

ts

� complete search in local area

� search in (sparser) highway network

� iterate highway hierarchy

Defining the highway network:

use road category (highway, federal highway, motorway,. . . )

+ manual rectifications

� delicate compromise

� speed⇔ accuracy

Page 15: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 15

Our Approach

Exact Highway Hierarchy s t

ts

� complete search in local area

� search in (sparser) highway network

� iterate highway hierarchy

Defining the highway network:

minimal network that preserves all shortest paths

� fully automatic (just fix neighborhood size)

� uncompromisingly fast

Page 16: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 16

Constructing Exact Highway Hierarchies

Alternate between two phases:

Edge reduction to highway edges needed outside local searches.

N (s) N (t)

s t

Highway

Node reduction.

Remove low degree nodes

contracted network ("core")= non−bypassed nodes+ shortcuts

bypassednodes

Page 17: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 17

Example: Karlsruhe

Level 0

Level 1

Level 2

Level 3

Page 18: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 18

Query

Bidirectional version of Dijkstra’s Algorithm

Restrictions:

� Do not leave the neighbourhood of the

entrance point to the current level.

Instead: switch to the next level.

� Do not enter a component of

bypassed nodes.

level 0

level 1

N (v)

N (s)

entrance point to level 1

entrance point to level 0

entrance point to level 2

sv

Page 19: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 19

Query

Example: from Karlsruhe, Am Fasanengarten 5

to Palma de Mallorca

Page 20: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 20

Bounding Box: 20 km Level 0 Search Space

Page 21: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 21

Bounding Box: 20 km Level 1 Search Space

Page 22: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 22

Bounding Box: 20 km Level 2 Search Space

Page 23: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 23

Bounding Box: 20 km Level 3 Search Space

Page 24: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 24

Bounding Box: 80 km Level 4 Search Space

Page 25: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 25

Bounding Box: 400 km Level 6 Search Space

Page 26: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 26

Level 8 Search Space

Page 27: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 27

Level 10 Search Space

Page 28: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 28

Optimisation: Distance Table

Construction:

� Construct fewer levels. e.g. 4 instead of 9

� Compute an all-pairs distance table

for the topmost level L. 13 465× 13 465 entries

Page 29: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 29

Distance Table Query:

s t

� Abort the search when all entrance points in the

core of level L have been encountered. ≈ 55 for each direction

� Use the distance table to bridge the gap. ≈ 55× 55 entries

Page 30: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 30

Distance Table: Search Space Example

Page 31: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 31

Local Queries (Highway Hierarchies)

211 212 213 214 215 216 217 218 219 220 221 222 223 224

01

2

01

2

Dijkstra Rank

Que

ry T

ime

[ms]

Europe (15 min., 68 B/node)USA/CAN (20 min., 69 B/node)

Page 32: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 32

Combination Goal DirectedSearch (landmarks)

[with D. Delling, D. Wagner]

� About 20 % faster than HHs + distance tables

� Significant speedup for approximate queries

Page 33: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 33

Many-to-Many Routing

[with S. Knopp, F. Schulz (PTV AG), D. Wagner]

Find distances for all (s, t) ∈ S×T

Applications: vehicle routing, TSP,

traffic simulation,

subroutine in peprocessing algorithms.

For example,

10 000× 10 000 table

in≈1 min

Page 34: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 34

Transit-Node Routing

[with H. Bast and S. Funke, DIMACS 06, Alenex 07, Science 07]

s t

Page 35: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 35

X XX XExample:Karlsruhe→ Copenhagen

Page 36: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 36

X XX XExample:Karlsruhe→ Berlin

Page 37: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 37

X XX XExample:Karlsruhe→ Vienna

Page 38: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 38

X XX XExample:Karlsruhe→ Munich

Page 39: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 39

X XX XExample:Karlsruhe→ Rome

Page 40: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 40

X XX XExample:Karlsruhe→ Paris

Page 41: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 41

X XX XExample:Karlsruhe→ London

Page 42: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 42

X XX XExample:Karlsruhe→ Brussels

Page 43: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 43

X XX XExample:Karlsruhe→ Copenhagen

Page 44: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 44

X XX XExample:Karlsruhe→ Berlin

Page 45: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 45

X XX XExample:Karlsruhe→ Vienna

Page 46: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 46

X XX XExample:Karlsruhe→ Munich

Page 47: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 47

X XX XExample:Karlsruhe→ Rome

Page 48: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 48

X XX XExample:Karlsruhe→ Paris

Page 49: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 49

X XX XExample:Karlsruhe→ London

Page 50: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 50

X XX XExample:Karlsruhe→ Brussels

Page 51: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 51

Observations for long-distancetravel Europe≈

1. leaves area via one of only a few access points 10

store them for each node

2. all access points come from a small set of transit nodes 10 000

store distances between all transit-node pairs

s t

Page 52: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 52

Transit-Node Routing

Preprocessing: Our Implementation

� identify transit-node set T ⊆V upper levels of HH

� compute complete |T |× |T | distance table many-to-many

� for each node: identify its access points (mapping A : V → 2T ),

store the distances HH-search

Query (source s and target t given): compute

dtop(s, t) := min{d(s,u)+d(u,v)+d(v, t) : u ∈ A(s),v ∈ A(t)}

Page 53: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 53

Transit-Node Routing Our Implementation

Locality Filter :

local cases must be filtered ( special treatment) intersection of

L : V ×V →{true, false} disks around

¬L(s, t) implies d(s, t) = dtop(s, t) s and t

Additional Layers :

Local cases: use secondary transit-node set.

secondary distance table: generalized

store only distances between many-to-many

“nearby” secondary transit-nodes.

. . . secondary locality filter, tertiary transit-nodes,. . .

Base case: very limited local search

Page 54: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 54

Example

Page 55: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 55

Local Queries (Transit-Node Routing, Europe)

Dijkstra Rank

Que

ry T

ime

[µs]

25 26 27 28 29 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224

1010

010

00

1010

010

00

eco: 46 min, 110 B/nodegen:164 min, 251 B/node

Page 56: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 56

Summary

Highway Hierarchies: Fast routing, fast preprocessing, low space, few

tuning parameters, basis for many-to-many, transit-node routing,

highway-node routing. stay tuned

Many-to-Many: Huge distance tables are tractable.

Subroutine for transit-node routing.

Transit-Node Routing: Fastest routing so far.

Page 57: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 57

Summary: A Horse-Race Perspectivemethod first date size space preproc. speedup

pub. mm/yy n/106 Byt/n [min]

separator multi-level [SWW99] 04/99 0.1 ? > 5 400 52

edge flags (basic) [Lau04] 03/04 6 13 299 523

landmark A∗ [GolHar05] 07/04 (18) 72 13 28

edge flags [KMS05] 01/05 1 141 2 163 1 470

HHs (basic) [SS05] 04/05 18 29 161 2 645

adv. reach[GKW06] 10/05 18 82 1 625 1 559

[GKW06] 08/06 18 32 144 3 830

adv. HHs [DSSW06] 08/06 18 76 22 11 496

high-perf. multi-level [Mul06] 06/06 18 181 11 520 401 109

transit nodes (gen) [BFMSS07] 10/06 18 251 164 1 129 143

highway nodes (mem) [SS07] 01/07 18 2 24 4 079

Page 58: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 58

Summary: An Application Perspective

HH= highway hierarchy

Static low-cost mobile route planning: low space HHs

Static server-based: transit-node routing

Logistics: Many-to-many HHs (HNR when edge weights change often)

Microscopic Traffic Simulation: transit-node routing ?

Macroscopic Traffic Simulation: Many-to-many HHs

Page 59: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 59

Future Work I: More on Static Routing

� Better choices for transit-node sets

(use centrality measures, separators, explicit optimization,. . . )

� 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, . . . )

Page 60: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 60

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 ?

Page 61: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 61

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

Page 62: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 62

Future Work IV: Beyond Static Routing

� Dynamic routing (e.g. for transit-node routing) stay tuned

� 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

Page 63: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 63

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,. . . wide open

Analysis: Correctness, per instance. 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.

Page 64: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 64

Gaps Between Theory & Practice

Theory ←→ Practice

simple appl. model complex

simple machine model complex

complex algorithms FOR simple

complex data structures simple

worst case max complexity measure inputs

asympt. O (·) efficiency 42% constant factors

Page 65: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 65

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

Page 66: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 66

Canonical Shortest Paths

S P : Set of shortest paths

S P canonical⇔

∀P = 〈s, . . . ,s′, . . . , t ′, . . . , t〉 ∈ S P : 〈s′→ t ′〉 ∈ S P

Page 67: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 67

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

6

520

1

3

4

8

9

7

s

N (s)ranks =

Page 68: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 68

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 within N (s) or N (t)

Page 69: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 69

Canonical Shortest Paths

s0

0

0

0 0

0

0u′

u v

t0s1 t1

v′

N (s1) N (t1)

N (v′)N (s0)

1 2

2 2

2221

1

1

1

11

1

(a) Construction, started from s0.

0

0

0 0

0

0

u

v′

v

t1 t0s0 s1

u′

N (s1)N (t0)N (u′)

N (v)

1 2

2 2

2221

1

1

1

11

1

(b) Construction, started from s1.

Page 70: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 70

0

0

0 0

0

0

u

v′t1s0 t0

v

s1

u′

1 2

2 2

2221

1

1

1

11

1

(c) Result of the construction.

Page 71: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 71

Contraction

highway nodes and edges

Page 72: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 72

Contraction

bypass node

Page 73: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 73

Contraction

shortcuts

Page 74: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 74

Contraction

bypass node

Page 75: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 75

Contraction

Page 76: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 76

Contraction

(of bypassed nodes)

leaves

component

component

enterscomponent

Page 77: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 77

Contraction

core

Page 78: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 78

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.

Page 79: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 79

Fast Construction of the Highway Network

Look for HH-edges only in (modified) local SSSP search trees.

� Nodes have state

active, passive, or mavericks.

� s0 is active.

� Node states are inherited

from parents in the SSSP tree.

� abort condition(p)−→ p becomes passive.

� d(s0, p) > f · r(s0)−→ p becomes maverick.

� all nodes maverick?−→ stop searching from passive nodes

� all nodes passive or maverick?−→ stop

Result: superset of highway network

s0

mavericks

f · r(s0)

pas-sive

active

Page 80: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 80

Local Queries (Highway Hierarchies Star, Europe)

Dijkstra Rank

Que

ry T

ime

[ms]

211 212 213 214 215 216 217 218 219 220 221 222 223 224

01

01

exact (22 min., 76 B/node)approx (22 min., 76 B/node)

Page 81: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 81

Simple Solutions

Example: 10 000× 10 000 table

in Western Europe

� apply SSSP algorithm︸ ︷︷ ︸

|S| times

(e.g. DIJKSTRA)≈ 10 000× 10 s≈ one day

� apply P2P algorithm︸ ︷︷ ︸

|S|× |T | times

(e.g. highway hierarchies1)≈ 10 0002× 1 ms≈ one day

1requires about 15 minutes preprocessing time

Page 82: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 82

pOur Solution

Example: 10 000× 10 000 table

in Western Europe

� many-to-many algorithm

based on highway hierarchies1≈ one minute

ts

1requires about 15 minutes preprocessing time

Page 83: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

S

T

Sanders/Schultes: Route Planning 83

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

(initialize all entries to ∞)

Page 84: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 84

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

Page 85: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 85

Different Combinations

Europe

metric /0 DistTab ALT both

time

preproc. time [min] 17 19 20 22

total disk space [MB] 886 1 273 1 326 1 714

#settled nodes 1 662 916 916 686 (176)

query time [ms] 1.16 0.65 0.80 0.55 (0.18)

dist

preproc. time [min] 47 47 50 49

total disk space [MB] 894 1 506 1 337 1 948

#settled nodes 10 284 5 067 3 347 2 138 (177)

query time [ms] 8.21 4.89 3.16 1.95 (0.25)

Page 86: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 86

Neighbourhood Size

15

16

17

18

19

20

21

22

23

24

25

40 50 60 70 80 90

Pre

proc

essi

ng T

ime

[min

]

20

40

60

80

100

120

140

40 50 60 70 80 90

Mem

ory

Ove

rhea

d pe

r N

ode

[byt

e] EuropeUSA/CAN

USA

0.6

0.7

0.8

0.9

1

1.1

1.2

40 50 60 70 80 90

Que

ry T

ime

[ms]

Page 87: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 87

Number of Levels

0

10

20

30

40

50

60

70

5 6 7 8 9 10 11 0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

Mem

ory

Ove

rhea

d pe

r N

ode

[byt

e]

Que

ry T

ime

[ms]

Number of Levels

Europe

Memory OverheadQuery Time

Page 88: Engineering Route Planning Algorithms - KITalgo2.iti.kit.edu/schultes/hwy/weaOverviewSlides.pdf ·  · 2007-06-13Engineering Route Planning Algorithms ... Route Planning 10 Highway

Sanders/Schultes: Route Planning 88

Contraction Rate

1600

1700

1800

1900

2000

2100

2200

2300

2400

1 1.5 2 7900

8000

8100

8200

8300

8400

8500

8600

8700

8800

8900

9000

# S

ettle

d N

odes

# R

elax

ed E

dges

Contraction Rate

Europe

Settled NodesRelaxed Edges