Über die Berechnung der Optimalwertfunktion in zeitabhängigen Netzwerken Sebastian Kluge Elgersburg, 3.3.2010
Kürzeste Wege in Netzwerken H 288 km 426 km B K 194 km F 609 km 225 km N 439 km 204 km S 166 km 232 km Abbildung: Wo verläuft der kürzeste Weg von Stuttgart nach Berlin? M
Algorithmische Lösungsansätze In stark zusammenhängenden Graphen ohne negative Kreise existieren optimale Wege Lösungsverfahren beruhen auf dem Prinzip der dynamischen Programmierung: Bellman-Ford, O( E V ) Dijkstra, O( V log V + E ) Realbeispiele sind häufig sehr groß (Straßennetz Berlin): V = 2599953 E = 3899807 Beschleunigungstechniken: Heuristiken A*-Algorithmus Hierarchische Strategien, Kontraktion, Landmarken... Beschleunigung des Algorithmus von Dijkstra um Faktor 100...10000 ([Bast et al., 2007], [Bauer et al., 2008])
Zeitabhängige Netzwerke Zeitabhängige Netzwerke: Straßennetzwerk: Reisezeiten und Kraftstoffverbräuche unterliegen tageszeitbedingten Schwankungen. Internet: Kosten eines Weges sind abhängig vom aktuell vorhandenen Datenübertragungsbedarf. Bewegliche Multiagentensysteme: Energieaufwand der Kommunikation über Funk ist entfernungsabhängig und damit zeitabhängig. Hybride Systemstruktur
Optimale Wege in zeitabhängigen Netzwerken R R τ KH (t) τ BH (t) R τ FK (t) R τ NH (t) τ NF (t) R τ NB (t) τ SF (t) R τ MN (t) R τ MS (t) Abbildung: Wo verläuft der schnellste Weg von Stuttgart nach Berlin?
Überblick 1 Einführung 2 Zeitabhängige Netzwerke und optimale Wege 3 Lösungsverfahren
Zeitabhängige Netzwerke Definition Ein zeitabhängiges Netzwerk ist ein 5-Tupel G = (V, E,τ;β,δ), wobei V eine Knotenmenge, E eine Menge gerichteter Kanten, τ : E R R + 0 eine Reisezeitfunktion, β : E R R eine Reisekostenfunktion und δ : V R R + 0 R eine Wartekostenfunktion bezeichnen. Wege in zeitabhängigen Netzwerken sind Folgen von Knoten-Zeit-Paaren (v, t) V R. Sie werden durch die Auszeichnung eines Startzustandes (v 0, t 0 ) V R und einer Folge von Wartezeit-Kanten-Paaren ( t k, e k ) R + 0 E mit α(e k+1 ) = ω(e k ), k = 1, 2,..., eindeutig festgelegt.
Zustands- und Steuerungsbeschränkungen Assoziiere zu jedem Knoten v V eine Menge T(v) zulässiger Ankunftszeitpunkte. Assoziiere zu jedem zulässigen Knoten-Zeit-Paar (v, t) eine Menge T(v, t) zulässiger Wartezeiten. Definition Der Zustandsraum des zeitabhängigen Netzwerks ist gegeben durch X = ( ) v V {v} T(v). Eine Steuerung u = ( t, e) heißt zulässig in (v, t) X, falls u T(v, t) E + (v), ϕ((v, t), u) = (ω(e), t + t + τ(e, t + t)) X. U(v, t) bezeichne die Menge der in (v, t) X zulässigen Steuerfolgen.
Ein Beispiel e 1 { (2 t)/2, t < 2 τ(e 1, t) = 0, t 2, e 2 { v 0 v 2(2 t), t < 2 τ(e 2, t) = 0, t 2, Abbildung: Zeitabh. Netzwerk mit unendlichem schnellstem Weg Betrachte das Netzwerk aus obiger Abbildung mit β = τ, δ = t. Der Startzustand sei (v 0, 0), der Zielknoten v. Warten in v 0 ist erlaubt: Es ist optimal die Steuerung ( t, e) = (2, e 2 ) zu wählen. Warten in v 0 ist verboten: Durchläuft man k-mal die Kante e 1, dann die Kante e 2, so ergibt sich der Weg ((v 0, 0),(v 0, 1),...,(v, 2 + 2 1 k )).
Optimalwertfunktion Es bezeichne ( (v k, t k ) ) k=0,1,... den von u = ( ( t k, e k ) ) k=1,2,..., u U(v 0, t 0 ), induzierten Weg. Die verursachten Kosten sind: B ( (v 0, t 0 ), u ) = δ(v k 1, t k 1, t k ) + β(e k, t k 1 + t k ). Definition k=1,2,... Für einen festen Zielknoten v definieren wir die Optimalwertfunktion b : X R {± } durch b (v 0, t 0 ) = inf { B ( (v 0, t 0 ), u ) : u U(v 0, t 0 ), u <,ω(u) = v }. Eine Steuerfolge u U(v 0, t 0 ) und der von u induzierte Weg p heißen optimal bezüglich v V, falls B ( (v 0, t 0 ), u ) = b (v 0, t 0 ).
Existenzsatz (1) τ stetig, β, δ unterhalbstetig (2) T(v) abgeschlossen v V, T oberhalbstetig (3) B, B R, B > 0, so dass (v, t) X: B ( (v, t), u ) B, u U(v, t) mit u = 1, B ( (v, t), u ) B, (4) β,δ auf Kompakta beschränkt Satz u U(v, t) mit ω(u) = α(u). Seien v 0, v gegeben, und bezeichne T R (v 0 ) = {t T(v 0 ) : u U(v 0, t 0 ), u <,ω(u) = v }. Gelten (1)-(3), dann existiert für alle t 0 T R (v 0 ) ein optimaler Weg von (v 0, t 0 ) nach v. Gelten (1)-(4), dann ist die partielle Funktion t 0 b (v 0, t 0 ) unterhalbstetig auf T R (v 0 ).
Beweisskizze Beweis. Betrachte eine endliche Kantenfolge (e k ) k=1,...,n von v 0 nach v. Die Bestimmung der optimalen Wartevorschrift entlang (e k ) k=1,...,n ist ein n-stufiges Entscheidungsproblem. [Bertsekas, 2001] und [Fiacco, 1983] liefern die Existenz der optimalen Wartevorschrift und die Unterhalbstetigkeit der zugehörigen Wertfunktion. Steuerfolgen u mit u 2( V 1) + N V enthalten mindestens N Kreise. Wegen lim N 2( V 1)B + NB können nur endliche Wege optimal sein. Sind die Kostenfunktionen lokal beschränkt, dann ist die Optimalwertfunktion lokal das Minimum endlich vieler unterhalbstetiger Funktionen.
Dynamische Programmierung Proposition Unter den Voraussetzungen (1)-(3) gilt: b (v, t) = 0, b (v, t) = min u U(v,t) u=( t,e) [ b ( ϕ((v, t), u) ) ] + δ(v, t, t) + β(e, t + t), v v. ( t, e 1 ) e 1 v v w t v nw ( t, e 2 ) e 2 Abbildung: Entkopplung von Warten und Kantenwahl [Dean, 2004].
Überblick 1 Einführung 2 Zeitabhängige Netzwerke und optimale Wege 3 Lösungsverfahren
Idee Algorithmus von Dijkstra: (0) Ordne jedem Knoten den minimalen Kostenwert zu, den bisher bestimmte Wege liefern (1) Wähle einen Knoten ˆv mit minimalen Kosten (2) Berücksichtige zusätzlich alle Wege die nach einem Schritt ˆv erreichen und gehe zu (1) Die Bestimmung einer ganzen Funktion in jeder Iteration ist im zeitabhängigen Fall i.a. nicht möglich. Wähle an einem Knoten ein Zeitintervall, dessen Optimalwertfunktion bereits bestimmbar ist. Rechne rückwärts in der Zeit ( Erreichbarkeit) Auswahl eines geeigneten Knotens ˆv Auswahl eines geeigneten Zeitintervalls Î FD-Algorithmus
Auswahl des Knotens ˆv ˆb(ω(e), ) Kompaktes Zeitintervall: T(v) = [ t, t ] v V Bezeichne die berechneten Kostenwerte mit ˆb, wobei: ˆb(v, t)! = b (v w, t) = b (v, t) t ˆb(e, ) ˆt + (ω(e)) τ, β t t ˆb(e, t)! = b ( α(e) nw, t ), unter der NB: E +( α(e) ) = {e} Wähle den Knoten ˆv gemäß: E arg max e E ˆt + (e), e arg min e E ˆb( e,ˆt + (e) ), (ˆv,ˆt) ( α(e ),ˆt + (e ) ). t ˆb(α(e), ) t ˆt + (e) t t t ˆt + (α(e)) t t
Auswahl des Zeitintervalls Î Untere Schranke T der Reisezeit Untere Schranke B der Reisekosten Wähle das Zeitintervall Î (ˆt,ˆt] [ t, t ] gemäß: { ˆt sup t [ t,ˆt] : min ˆb(e, t) > e E + (ˆv) ˆb(e 1, t) ˆv T, B ˆb(e 2, t) v ˆb(e, θ) [ ]} min B+ min ˆb(e, θ). θ [t+t,ˆt] e E:ˆt + (e) θ v Verwende Sortierung der Kostenfunktionen {ˆb(e, t)} e E ˆt als Schnittpunkt zweier Minimumsfunktionen Stückweise linearer Fall: exakt und effizient lösbar
Iteration der Steuervorschriften und Kostenfunktionen Für t Î: Optimale Kantenvorschrift: t ê(ˆv, t) arg min e E + (ˆv) ˆb(e, t) graph( T) Optimale Wartevorschrift: ˆ t(ˆv, t) arg min t T(ˆv,t) t ˆt ˆt { δ(ˆv, t, t) + ˆb(ê(ˆv, t + t), t + t )} Parametrisches Optimierungsproblem in R Stückweise linearer Fall: Auswahl optimaler Liniensegmente Äquivalent zur Sortierung der Kantenkostenfunktionen Optimalwertfunktion: ˆb(ˆv, t) δ (ˆv, t, ˆ t(ˆv, t) ) ( +ˆb ê (ˆv, t+ ˆ t(ˆv, t) ), t+ ˆ t(ˆv, ) t) t t
Eigenschaften des FD-Algorithmus Eigenschaften des FD-Algorithmus: Das mit einem Knoten v V assoziierte Zeitintervall wird in strikt fallender Zeitreihenfolge expandiert. Jeder Kosten- und Steuerungswert wird höchstens einmal berechnet. Die berechneten Kostenwerte ˆb und die berechneten Steuervorschriften ê, ˆ t sind optimal. Ist T > 0, dann terminiert der FD-Algorithmus nach höchstens ( V 1)(1 + (t t)/t ) Iterationen. Die Berechnung optimaler Wege ist i.a. NP-schwer. Bei stückweise linearen Funktionen steckt die Komplexität in der Anzahl der Teilpunkte.
Praktisch verwendbare Berechnungsmethoden Praktische Verwendbarkeit: Rechenzeit, Speicherverbrauch Vermeide Mehrfachberechnungen Berechne nichts was nicht benötigt wird Bisherige Lösungsverfahren: Dynamischer Bellman-Ford [Orda und Rom, 1991],[Dean, 1999, Chapter 7] Mehrfachberechnungen Keine Auswahl relevanter Knoten-Zeit-Bereiche Decreasing Order of Time [Dean, 1999, Chapter 6] Nur stückweise linearer Fall Keine Auswahl relevanter Knoten-Zeit-Bereiche
FA* - Heuristische Erweiterung des FD-Algorithmus ˆb(e 1, t) ˆv ˆb(e 2, t) v v 0 T, B v ˆb(e, θ) Abbildung: Knoten- und Intervallwahl im FD-Algorithmus
FA* - Heuristische Erweiterung des FD-Algorithmus ˆb(e 1, t) π t (ˆv), π b (ˆv) ˆv ˆb(e 2, t) v v 0 ˆπ t (ˆv, v), ˆπ b (ˆv, v) v ˆb(e, θ) π t (v), π b (v) Abbildung: Knoten- und Intervallwahl im FA*-Algorithmus Verwende untere Schranken π t,π b der Reisezeit bzw. Reisekosten für die Auswahl von (ˆv,ˆt) Verwende untere Schranken ˆπ t, ˆπ b der Reisezeit bzw. Reisekosten für die Auswahl von ˆt
Eigenschaften des FA*-Algorithmus Es existiere eine Konstante t 0, so dass π t (v 2 ) π t (v 1 ) ˆπ t (v 1, v 2 ) t, v 1, v 2 V. Dann entsprechen die Eigenschaften des FA*-Algorithmus den Eigenschaften des FD-Algorithmus, bis auf: Ist t > 0, dann terminiert der FA*-Algorithmus nach höchstens v V \{v } Iterationen. { max 0, 1 + [ t ˆπt (v, v ) ] [ t + π t (v) ] } t
Literatur Fiacco, A. (1983). Introduction to Sensitivity and Stability Analysis in Nonlinear Programming. Academic Press. Orda, A. und Rom, R. (1991). Minimum weight paths in time-dependent networks. Networks, 21:295 319. Dean, B. (1999). Continuous-time dynamic shortest path algorithms. Master s thesis, MIT. Bertsekas, D. (2001). Dynamic Programming and Optimal Control, volume 2. Athena Scientific, Belmont, Massechusetts. Dean, B. (2004). Algorithms for minimum-cost paths in time-dependent networks with waiting policies. Networks, 33(1):41 46. Bast, H., Funke, S., Matijevic, D., Sanders, P., und Schultes, D. (2007). In transit to constant time shortest-path queries in road networks. In 9th Workshop on Algorithm Engineering and Experiments (ALENEX 07), pages 46 59. Bauer, R., Delling, D., Sanders, P., D., S., Schultes, D., und Wagner, D. (2008). Combining hierarchical and goal-directed speed-up techniques for dijkstra s algorithm. In Lecture Notes in Computer Science, pages 303 318. Springer Berlin / Heidelberg.