Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt Referent Matthias Rost 1
Einleitung Definitionen Maximaler Dynamischer Fluss Algorithmus von Ford-Fulkerson Techniken zur Lösung dynamischer Fluss Probleme Ausblick Anwendung: Evakuierung Referent Matthias Rost 2
Bisherige Netzwerkflussprobleme Netzwerk = Gerichteter Graph G = (V,E) G, c, s, t Kapazitätsfunktion c :V V s V, t V f V V Quelle s und Senke t, Fluss : Referent Matthias Rost 3
Beispiel aus dem Cormen Zeitliche Komponente wird nicht beachtet! Wenig realistisch für viele Anwendungen Referent Matthias Rost 4
Definiere Transit-Zeiten Vancouver, Edmonton Vancouver, Calgary Edmonton, Calg ary Calg ary, Edmonton Edmonton, Saskatoon Saskatoon, Calgary... 9 7 5 5 8 6 Referent Matthias Rost 5
Dynamische Netzwerkflüsse besitzen zeitliche Komponente Netzwerk = G, c, s, t, Zeit Funktion : V V Fluss f : V V Zeit Restliche Komponenten des Netzwerks sind gleich Referent Matthias Rost 6
yz E t f t f t, : ( ) ( ) yz zy yz Einheit, die zum Zeitpunkt t von y nach z geschickt wird, erreicht z zum Zeitpunkt t yz T a 0 ab 3 b T a 3 ab 3 b fab (0) 1, f (0) 0 ba f ab (3) 0, f (3) 1 ba Referent Matthias Rost 7
T y V s t f yz t t=0 z V \{, }: ( ) 0 Menge an Fluss im Netzwerk bleibt erhalten Fluss an einem Knotens: f ( T ) f ( t) y T t=0 z V yz Gesamtfluss ist Fluss in die Senke innerhalb der Zeit T: f ( T) f ( T) t Referent Matthias Rost 8
Die Kapazitätsfunktion bezieht sich auf jeden einzelnen Zeitschritt T a 0 c ab ab 1, 3 b T a 1 c ab ab 1, 3 b Fluss f ab (0) 1 Fluss f ab (1) 1 Wir benutzen keinen Holdover-Flow [Speicherung von Fluss an Knoten] Referent Matthias Rost 9
Transport von Gütern Steigerung der Effizienz Senkung der Kosten Evakuierungsberechnungen Erstellen von Evakuierungsplänen Optimierung von Gebäudearchitektur Finden von Bottlenecks bei Evakuierungen Referent Matthias Rost 10
Algorithmus von Ford-Fulkerson [1] Idee des Algorithmus Eine beispielhafte Durchführung Beweis Referent Matthias Rost 11
Ford-Fulkerson im statischen Netzwerk Solange es einen augmentierenden Weg von s nach t im Restgraphen gibt Augmentiere f um diesen Weg Ford-Fulkerson im dynamischen Netzwerk Jeder Knoten besitzt einen zeitlichen Zustand Für jeden Zeitpunkt T werden maximale statische Flüsse im Restnetz berechnet Es werden im Restnetz nur Kanten betrachtet, die zeitlich zulässig sind Berechnung einzelner Flüsse, die zeitlich wiederholt werden Referent Matthias Rost 12
Knoten (0..n) sind nummeriert Knoten 0 entspricht der Quelle und n der Senke i 0 { } Zeitlicher Zustand von Knoten i: Statischer Fluss im Netz: x i, j Kapazität der Kanten: c i, j Menge an Zerlegungen des Flusses in Wege von Quelle zur Senke: Kante ij ist zulässig xi, j ci, j j i i, j Referent Matthias Rost 13
initialisiere alle solange n T i mit 0 solange augmentierender Pfad existiert v augmentierender Pfad (*) augmentiere Fluss { x } gemäß v i, j für alle von der Quelle nicht erreichten Knoten i ++ i Berechne Zerlegung des Flusses (Chain-Decomposition) Routine I a) Routine I b) Routine II (*) = betrachte zusätzlich nur zeitlich zulässige Kanten im Restnetzwerk Referent Matthias Rost 14
Nach Beendigung der Routine I liegt statischer Fluss { x i, j } vor Routine II zerlegt diesen Fluss in Wege von der Quelle zur Senke, so dass diese den gesamten Fluss ergeben solange Weg P von wobei für alle enthaltenen Kanten i, j i, j P x x h 0 nach n mit Fluss h existiert ij x i, j Referent Matthias Rost 15 h 0 gilt
Inv a) Inv b) über P(i), 0 j i i, j i, j 0 j i i, j i, j i, j i, j max(0, j i i, j ) t t t i, j j i i, j i x x max(0, ) c k, sei ein Pfad von 0 nach n Hochgestelltes t bedeutet Zustand nach t äußeren Schleifendurchläufen, insbesondere: Referent Matthias Rost 16
I) Pfade P von Quelle zur Senke, über die Fluss fließt, gilt: k 1 t t 0 P( i), P( i 1) t m i P( i), P( i 1) P( m), P( m 1) ( ) : 0 II) Sei v der Wert des Flusses { x }: tv x c i, j i, j i, j i, j i, j i, j i, j III) f ( T ) c und f ( T ) ist maximal i, j T 1 i, j i, j *Beweis siehe Tafel bzw. [1] Referent Matthias Rost 17
t Knoten: i,0 t T Kanten: t t i, j i j mit c t t c i, j,, j 0 t T Superquelle / Supersenke i i, j i j, Referent Matthias Rost 18
Äußere Schleife von Routine I wird genau T+1 oft durchgeführt, da in Routine I b) n bei jeder Durchführung um 1 inkrementiert wird Augmentierende Pfade werden beliebig ausgewählt, es können maximal f integrale augmentierende Pfade gefunden werden Zusätzlich wird in jedem äußeren Durchlauf einmal kein augmentierender Pfad gefunden werden O( E f E T) Referent Matthias Rost 19
Routine I liefert einen statischen Netzwerkfluss Routine II berechnet für diesen statischen Fluss eine Zerlegung in einzelne Pfade Diese Zerlegung entspricht dem Finden der augmentierenden Pfade im statischen Netz O( E f ) Referent Matthias Rost 20
Dynamischer Ford-Fulkerson: Mit Edmonds-Karp: 2 O( E V E T) O( E f E T) Im Expanded-Netzwerk mit statischem Ford- Fulkerson O( E f T) Im Expanded-Netzwerk mit Edmonds-Karp O E 2 3 ( V T ) Referent Matthias Rost 21
Gemäß II) und III) gilt f ( t) t v x i, j i, j i, j Maximaler Fluss in einem dynamischen Netzwerk entspricht einem Minimum-Cost Circulation im erweiterten Netzwerk, wobei Kosten der Zeit entsprechen erweitertes Netzwerk ist Netzwerk mit Kante n 0 mit ( T 1) und cn n,0,0 Referent Matthias Rost 22
Time-Expanded Networks Grundlage für Lösung des maximalen Flussproblems in dynamischen Netzwerken mittels Minimum-Cost Circulation kann in streng polynomieller Zeit bestimmt werden (Standard-)Chain-Decomposable Flows Referent Matthias Rost 23
Möglichkeit der Reduktion dynamischer Netzwerkflussprobleme auf statische Probleme Laufzeit und Platzbedarf nehmen polynomiell zu Viele dynamische Probleme werden über Time- Expanded Networks gelöst Referent Matthias Rost 24
Ford-Fulkerson haben Zerlegung von dynamischen Flüssen eingeführt Dabei werden nur Pfade entlang der Flussrichtung betrachtet Verallgemeinerung: Fluss wird entgegen der eigentlichen zeitlichen Richtung zugelassen Referent Matthias Rost 25
Referent Matthias Rost 26
Referent Matthias Rost 27
Referent Matthias Rost 28
mehrere Quellen und mehrere Senken jede Quelle hat bestimmtes Angebot an Fluss Ziel: Sende den gesamten Fluss in minimaler Zeit durch das Netzwerk Modelliert Evakuierungssituation Hoppe: erster polynomieller Algorithmus mittels Chain-Decomposable Flows Referent Matthias Rost 29
maximiert für jeden Zeitschritt den eingehenden Fluss in die Quellen Referent Matthias Rost 30
Beispiel-Berechnungen von Nadine Baumann Referent Matthias Rost 31
[1] Ford, L.R. and Fulkerson, D.R., Constructing maximal dynamic flows from static flows. Operations Research. v6. 419-433 [2] Ford, L.R. and Fulkerson, D.R., Flows in Networks. 1962. Princeton University Press, Princeton, NJ [3] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Network Flows: Theory, Algorithms, and Applications. Prentice Hall, NJ, 1993 [4] Bruce Edward Hoppe, Efficient dynamic network flow algorithms, Cornell University, Ithaca, NY, 1996 [5] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. 2nd edition, McGraw-Hill Book Company, Boston, MA, 2001 [6] Nadine Baumann, Evacuation by Earliest Arrival Flows, Universität Potsdam, 2007 Referent Matthias Rost 32