Route Planning in Road Networks

D. Schultes: Route Planning in Road Networks Route Planning in Road Networks Dominik Schultes Institut für Theoretische Informatik – Algorithmik II U...
Author: Axel Armbruster
0 downloads 0 Views 1MB Size
D. Schultes: Route Planning in Road Networks

Route Planning in Road Networks Dominik Schultes Institut für Theoretische Informatik – Algorithmik II Universität Karlsruhe (TH)

http://algo2.iti.uka.de/schultes/hwy/ Karlsruhe, 7. Februar 2008

1

D. Schultes: Route Planning in Road Networks

2

Routenplanung Problemstellung: In gegebenem Straßennetzwerk eine optimale Route bestimmen von einem gegeben Startpunkt zu einem gegebenen Zielpunkt

? Anwendungen:  Online-Routenplanungssysteme, Navigationssysteme im Auto  Vekehrssimulationen, Logistik-Optimierungen

D. Schultes: Route Planning in Road Networks

Dijkstras Algorithmus die klassische Lösung [1959] O(n log n + m) (mit Fibonacci Heaps) nicht praktikabel für große Graphen

Dijkstra

s

z (z.B. Europäisches Straßennetz:

≈ 18 000 000 Knotenpunkte)

bidirektionaler Dijkstra

s

z

verbessert die Laufzeit, aber immer noch zu langsam

3

D. Schultes: Route Planning in Road Networks

4

Beschleunigungstechniken allgemeine Lösung langsam

Dijkstra: Ω(n + m)

aber: für spezielle Fälle gibt es noch Hoffnung

 Zusatzdaten  Vorberechnungen

z.B. bei Straßennetzen

z.B. Knotenkoordinaten

Hilfsdaten

 spezielle Eigenschaften des Graphen

z.B. ‘Wegweiser’

z.B. planar, hierarchisch

D. Schultes: Route Planning in Road Networks

Ziele Primärziele:  schnelle Suchzeiten  beweisbar optimale Routen Sekundärziele:  schnelle Vorberechnung / Umgang mit großen Netzwerken  niedriger Speicherverbrauch  schnelle Aktualisierung  Einfachheit

5

D. Schultes: Route Planning in Road Networks

6

Highway Hierarchien Transit−Node Routing sehr schnelle Suchzeiten [DIMACS 06, ALENEX 07, Science 07]

HH Star zielgerichtet [DIMACS 06]

Highway Hierarchien Grundlage [ESA 05, ESA 06]

Many−to−Many Hwy−Node Routing Aktualisierungen möglich [WEA 07]

Distanztabellen berechnen [ALENEX 07]

D. Schultes: Route Planning in Road Networks

Highway Hierarchien  bestimme eine Hierarchie von Highway Netzwerken bzw.  ordne Kanten nach ‘Wichtigkeit’

bidirektionaler Suchalgorithmus: mit zunehmender Entfernung von Start/Ziel: betrachte nur noch ‘wichtigere’ Kanten

7

D. Schultes: Route Planning in Road Networks

8

Highway Hierarchien Konstruktion: abwechselnd  Kantenreduktion: entferne Kanten, die ausschließlich in der Nähe von Start/Ziel gebraucht werden N (s)

N (t)

s

t Highway

 Knotenreduktion (‘Kontraktion’): überspringe Knoten mit niedrigem Grad

kontrahiertes Netzwerk = nicht−übersprungene Knoten + Shortcuts übersprungene Knoten

D. Schultes: Route Planning in Road Networks

9

Highway Hierarchien

s

 Grundlage für andere Verfahren  direkt anwendbar für Punkt-zu-Punkt Anfragen  13 min Vorberechnungszeit

)

 0.61 ms um optimale Pfadlänge zu bestimmen  (0.80 ms um kompletten Pfad zu bestimmen)

 akzeptabler Speicherverbrauch (48 Byte/Knoten) kann reduziert werden auf 17 Byte/Knoten

Sanders, Schultes. ESA 2006.

Europa

≈ 18 000 000 Knoten AMD Opteron 2.0 GHz

z

D. Schultes: Route Planning in Road Networks

10

Highway Hierarchies Star Transit−Node Routing sehr schnelle Suchzeiten [DIMACS 06, ALENEX 07, Science 07]

HH Star zielgerichtet [DIMACS 06]

Highway Hierarchien Grundlage [ESA 05, ESA 06]

Many−to−Many Hwy−Node Routing Aktualisierungen möglich [WEA 07]

Distanztabellen berechnen [ALENEX 07]

D. Schultes: Route Planning in Road Networks

Highway Hierarchies Star  Kombination der Highway Hierarchien mit zielgerichteter Suche  leichte Verbesserung (0.49 ms)  größere Wirkung – für Näherungslösungen oder – bei Verwendung einer Distanzmetrik (anstatt einer Reisezeitmetrik)

Delling, Sanders, Schultes, Wagner. DIMACS Challenge 2006.

11

D. Schultes: Route Planning in Road Networks

12

Many-to-Many Transit−Node Routing sehr schnelle Suchzeiten [DIMACS 06, ALENEX 07, Science 07]

HH Star zielgerichtet [DIMACS 06]

Highway Hierarchien Grundlage [ESA 05, ESA 06]

Many−to−Many Hwy−Node Routing Aktualisierungen möglich [WEA 07]

Distanztabellen berechnen [ALENEX 07]

D. Schultes: Route Planning in Road Networks

Distanztabellen Gegeben:  Graph G = (V, E)  Menge von Startknoten S ⊆ V  Menge von Zielknoten T ⊆ V Gesucht: |S| × |T | Distanztabelle mit den Längen aller kürzester Wege

 z.B. 10 000 × 10 000 Tabelle in 23 Sekunden

Knopp, Sanders, Schultes, Schulz, Wagner. ALENEX 2007.

13

D. Schultes: Route Planning in Road Networks

14

Transit-Node Routing Transit−Node Routing sehr schnelle Suchzeiten [DIMACS 06, ALENEX 07, Science 07]

HH Star zielgerichtet [DIMACS 06]

Highway Hierarchien Grundlage [ESA 05, ESA 06]

Many−to−Many Hwy−Node Routing Aktualisierungen möglich [WEA 07]

Distanztabellen berechnen [ALENEX 07]

D. Schultes: Route Planning in Road Networks

15

Motivation

Kopenhagen Berlin Wien Brüssel London

München Rom Paris

D. Schultes: Route Planning in Road Networks

16

Beobachtungen 1. Bei langen Fahrten verlässt man den Startpunkt über einen von wenigen ‘wichtigen’ Verkehrsknotenpunkten

(“Zugangspunkte”) (

[≈ 10 pro Knoten]

für jeden Knoten alle Zugangspunkte speichern)

2. Jeder Zugangspunkt ist für mehrere Knoten relevant. Vereinigungsmenge aller Zugangspunkte ist klein

(“Transitknotenmenge”) (

die Abstände zwischen allen Transitknoten speichern)

[≈ 10 0002 Abstände]

D. Schultes: Route Planning in Road Networks

17

Transit-Node Routing Vorberechnung:  bestimme Transitknotenmenge T ⊆ V  berechne |T | × |T | Distanztabelle  für jeden Knoten: bestimme die Zugangsknoten (A : V → 2T ), speichere die Abstände

s Suche (Start s und Ziel t gegeben): berechne dT (s,t) := min {d(s, u)+d(u, v)+d(v,t) : u ∈ A(s), v ∈ A(t)}

z

D. Schultes: Route Planning in Road Networks

Transit-Node Routing Lokalitätsfilter: lokale Fälle müssen erkannt werden (

Sonderbehandlung)

L : V ×V → {true, false} ¬L(s,t) impliziert d(s,t) = dT (s,t)

18

D. Schultes: Route Planning in Road Networks

Beispiel

19

D. Schultes: Route Planning in Road Networks

Experimentelle Ergebnisse  extrem schnelle Suchzeiten (4 µs, > 1 000 000 mal schneller als D IJKSTRA)  größere Vorberechnungszeit (1:15 h) und mehr Speicher (247 Byte/Knoten) benötigt

 Sieger beim 9th DIMACS Implementation Challenge 2006  Scientific American 50 Award 2007 Sanders, Schultes. DIMACS Challenge 2006. Bast, Funke, Sanders, Schultes. Science, 2007. Bast, Funke, Matijevic, Sanders, Schultes. ALENEX 2007.

20

D. Schultes: Route Planning in Road Networks

21

Offene Fragen  Wie bestimmt man die Transitknoten?  Wie kann man die Zugangspunkte effizient bestimmen?  Wie bestimmt man einen effektiven Lokalitätsfilter?  Wie geht man mit den lokalen Fällen um?

?

D. Schultes: Route Planning in Road Networks

Offene Fragen  Wie bestimmt man die Transitknoten?  Wie kann man die Zugangspunkte effizient bestimmen?  Wie bestimmt man einen effektiven Lokalitätsfilter?  Wie geht man mit den lokalen Fällen um? Antwort:  Verwende andere Routenplanungstechniken!

22

D. Schultes: Route Planning in Road Networks

23

Highway-Node Routing Transit−Node Routing sehr schnelle Suchzeiten [DIMACS 06, ALENEX 07, Science 07]

HH Star zielgerichtet [DIMACS 06]

Highway Hierarchien Grundlage [ESA 05, ESA 06]

Many−to−Many Hwy−Node Routing Aktualisierungen möglich [WEA 07]

Distanztabellen berechnen [ALENEX 07]

D. Schultes: Route Planning in Road Networks

Overlaygraph: Definition [Holzer, Schulz, Wagner, Weihe, Zaroliagis 2000–2007]

 gegeben: Graph G = (V, E)  wähle Knotenteilmenge S ⊆ V

24

D. Schultes: Route Planning in Road Networks

Overlaygraph: Definition [Holzer, Schulz, Wagner, Weihe, Zaroliagis 2000–2007]

 gegeben: Graph G = (V, E)  wähle Knotenteilmenge S ⊆ V

 Overlaygraph G′ := (S, E ′ ) wähle Kantenmenge E ′ , die kürzeste-Wege-Distanzen erhält

25

D. Schultes: Route Planning in Road Networks

26

Suche: Intuition  bidirektional  suche in G bis Suchbäume durch Knoten in S ‘abgedeckt’

t s

D. Schultes: Route Planning in Road Networks

27

Suche: Intuition  bidirektional  suche in G bis Suchbäume durch Knoten in S ‘abgedeckt’  setze Suche ausschließlich in G′ fort

t s

D. Schultes: Route Planning in Road Networks

28

Highway-Node Routing  verwende Overlaygraph-Konzept iterativ  klassifiziere Knoten nach ‘Wichtigkeit’ mit Hilfe der Highway Hierarchien d.h. bestimme Knotenmengen V

=: S0 ⊇ S1 ⊇ S2 ⊇ S3 . . . ⊇ SL

13 min

(entscheidender Unterschied zu [Holzer, Schulz, Wagner, Weihe, Zaroliagis])

 konstruiere mehrstufigen Overlaygraphen

2 min

G0 = G = (V, E), G1 = (S1 , E1 ), G2 = (S2 , E2 ), . . . , GL = (SL , EL ) (fortgeschrittene Techniken benötigt)

Schultes, Sanders. WEA 2007.

D. Schultes: Route Planning in Road Networks

29

Suchalgorithmus  Knotenlevel ℓ(u) := max {ℓ | u ∈ Sℓ } o SL − →  n  Vorwärtssuchgraph G := V, (u, v) | (u, v) ∈ i=ℓ(u) Ei o SL ← −  n  Rückwärtssuchgraph G := V, (u, v) | (v, u) ∈ i=ℓ(u) Ei − →

← −

 eine einfache Dijkstra-Suche in G und eine in G − →

G

s1 s

s2

t2

← −

Level 2

G

t1

Level 1

t

Level 0

D. Schultes: Route Planning in Road Networks

30

Korrektheitsbeweis

Level 2 Level 1

s

s1

s2

t2 d0(s,t)

kürzester Weg von s nach t in G = G0

t1

t

Level 0

D. Schultes: Route Planning in Road Networks

31

Korrektheitsbeweis

Level 2

s1

s2

t2

t1

Level 1

d1(s1,t1)

s

s1

s2

t2

d0(s1,t1)

Overlaygraph G1 erhält den Abstand von s1

∈ S1 nach t1 ∈ S1

t1

t

Level 0

D. Schultes: Route Planning in Road Networks

32

Korrektheitsbeweis

s2

t2

Level 2

d2(s2,t2)

s1

s2

t2

t1

Level 1

d1(s2,t2)

s

s1

s2

Overlaygraph G2 erhält den Abstand von s2

t2

∈ S2 nach t2 ∈ S2

t1

t

Level 0

D. Schultes: Route Planning in Road Networks

33

Korrektheitsbeweis

− →

G

s2

s1 s − →

 n o SL G := V, (u, v) | (u, v) ∈ i=ℓ(u) Ei o SL ← −  n G := V, (u, v) | (v, u) ∈ i=ℓ(u) Ei

t2

← −

Level 2

G

t1

Level 1

t

Level 0

D. Schultes: Route Planning in Road Networks

Speicherverbrauch / Suchzeiten unterschiedliche Kompromisse

zum Beispiel:  9.5 Byte pro Knoten Mehrverbrauch → 0.89 ms kompletten mehrstufigen Overlaygraphen speichern

 0.7 Byte pro Knoten Mehrverbrauch → 1.44 ms − → ← − nur Vorwärts- und Rückwärts-Suchgraphen G und G speichern − → ← − ( G und G sind unabhängig von s und t ) Suchzeiten unter Verwendung der Stall-on-Demand Technik

34

D. Schultes: Route Planning in Road Networks

35

Obere Schranken 1014

Europa

12

# s-t-Paare

10

1010 108 106 104 100 0

500

1000

1500

2000

Suchraumgroesse

Garantie für Europa: maximale Suchraumgröße = 2 148 Knoten

D. Schultes: Route Planning in Road Networks

36

Dynamische Szenarien  tausche Kostenfunktion aus

typischerweise < 2 min

 ändere einzelne Kantengewichte – aktualisiere die Datenstrukturen

2 – 40 ms pro Kantenänderung

ODER

– umfahre die Staus

z.B. 3.6 ms bei 100 Staus

D. Schultes: Route Planning in Road Networks

37

Level 0 Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Level 7

D. Schultes: Route Planning in Road Networks

38

Zusammenfassung  Umgang mit sehr großen Straßennetzen  statisches Punkt-zu-Punkt Routing – schnellste Suchzeiten

Transit-Node Routing

– schnellste Vorberechnung

Highway Hierarchien

– geringster Speicherverbrauch

Highway-Node Routing

 dynamisches Punkt-zu-Punkt Routing – Austausch der Kostenfunktion – Änderung einzelner Kantengewichte  Distanztabellen-Berechnung

}

Highway-Node Routing

Many-to-Many

D. Schultes: Route Planning in Road Networks

39

Ausblick: Wissenschaft  R. Jacob and S. Sachdeva. I/O efficieny of highway hierarchies. Technical Report, ETH Zürich, 2006.

 A. V. Goldberg, H. Kaplan, R. F. Werneck. Better landmarks within reach. In 6th Workshop on Experimental Algorithms (WEA), 2007.

 R. Bauer and D. Delling. SHARC: Fast and robust unidirectional routing. In Workshop on Algorithm Engineering and Experiments (ALENEX), 2008.

 G. Nannicini et al. Fast paths in large-scale dynamic road networks. Computational Optimization and Applications, accepted for publication.

 R. Geisberger, P. Sanders, D. Schultes, D. Delling. Contraction hierarchies . . . Submitted for publication, 2008.

 P. Sanders, D. Schultes, C. Vetter. Mobile route planning. Submitted for publication, 2008.  R. Bauer, D. Delling, P. Sanders, D. Schieferdecker, D. Schultes, D. Wagner. Combining Hierarchical and Goal-Directed Speed-Up Techniques for Dijkstra’s Algorithm. Submitted for publication, 2008.

D. Schultes: Route Planning in Road Networks

40

Zusammenfassung  Umgang mit sehr großen Straßennetzen  statisches Punkt-zu-Punkt Routing – schnellste Suchzeiten

Transit-Node Routing

– schnellste Vorberechnung

Highway Hierarchien

– geringster Speicherverbrauch

Highway-Node Routing

 dynamisches Punkt-zu-Punkt Routing – Austausch der Kostenfunktion – Änderung einzelner Kantengewichte  Distanztabellen-Berechnung

}

Highway-Node Routing

Many-to-Many