Seminar Tourenplanung

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Vortrag von Stephanie Weirauch Jens Pleger Peter Jancke Frank Wejmelka
Algorithmen für das Erfüllbarkeitsproblem SAT
Christian Scheideler SS 2009
Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Zerlegung von Graphen.
7.2 B-Bäume / B*-Bäume als Hilfsmittel zur Indexorganisation
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
Prof. Dr. W. Conen 15. November 2004
Kapitel 6: Klassifizierung von Sortiertechniken
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Die 1-Baum-Relaxation des TSP mit der Subgradientenmethode
Marco Barz Seminar über Algorithmen SoSe2007
Andreas Kalender Institut für Informatik FU Berlin Seminar über Algorithmen Durchschnittsverzögerung.
Manfred Thaller, Universität zu Köln Köln 22. Januar 2009
Einführung in die Informationsverarbeitung Teil Thaller Stunde VI: Wege und warum man sie geht Graphen. Manfred Thaller, Universität zu Köln Köln.
Algorithmen und Komplexität
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
1 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Bewegungsplanung bei unvollständiger Information Ausweg aus einem Labyrinth Finden eines.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Geometrisches Divide and Conquer
Kapitel 5 Stetigkeit.
Klausur „Diskrete Mathematik II“
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Algorithmen und Komplexität
Minimum Spanning Tree: MST
Vortrag über Graphen Von Jörg Hendricks.
Effiziente Algorithmen
Effiziente Algorithmen
Flüsse, Schnitte, bipartite Graphen
Effiziente Algorithmen
Diskrete Mathematik II
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Institut für Theoretische Informatik
Institut für Theoretische Informatik
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Manfred Thaller, Universität zu Köln Köln 30. Januar 2014
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
Stetige Kleinste-Quadrate-Approximation
Analyse der Laufzeit von Algorithmen
Manfred Thaller, Universität zu Köln Köln 11. Dezemberr 2014
Nichtlineare Optimierung
Eine kurze Geschichte der Graphentheorie
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Henneberg-Konstruktion in O(n²) Konstruktion von Laman-Graphen mittels Rot-Schwarz-Hierarchien Marko Walther WS 07/08.
1 Slawa Belousow, Seminar über Algorithmen Load Balancing Slawa Belousow Freie Universität Berlin, Institut für Informatik.
Konvexe Hüllen (Convex Hulls)
Gliederung der Vorlesung
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Projekt Graphentheorie Eulerpfad
 Präsentation transkript:

Seminar Tourenplanung Lehrstuhl für Anwendungen des Operation Research Universität Karlsruhe (TH) Briefträgerproblem in gemischten Graphen Prof. Dr. G. Hammer Dipl.-math. P. Giemsch  

Gliederung 1. Einführung 2. Vorüberlegung und Definitionen 3. Vorgehen zur Untersuchung eines gemischten Graphen a) Die Bedingung des stark zusammenhängenden Graphen G b) Untersuchung des Graphen G auf Eulerschheit c) Algorithmus für eine optimale GG-Vergrößerung von G d) Algorithmus für eine optimale AGE-Vergrößerung von G e) Bestimmung eines geschlossenen Eulerschen Zyklus 4. Aussagekraft der Heuristik 5. Zeitkomplexität und Rechenaufwand

Einführung Das Briefträgerproblem wird in der englischen Literatur nach dem Chinesen Mei-Ko Kwan „The Chinese Postman Problem“genannt. Grundvoraussetzung zur Lösung von Briefträgerproblemen schuf Leonhard Euler im Jahre 1736 mit dem Königsberger Brückenproblem. Pregel

Einführung Anwendungsmöglichkeiten: Ausliefern von Post Durchführung der Müllabfuhr Straßenreinigung Winterdienst

Einführung Skizzierung am Beispiel des Winterdienstes. Ziel: Jede Straße muss von den anfallenden Schneemassen befreit werden. Dabei muss dass Einsatzfahrzeug jede Straße mindestens einmal bei mehrspurigen Straßen mehrmals durchfahren. Es kann erforderlich werden Straßen erneut - ohne das eine Aufgabe erledigt wird – zu durchfahren, um ein anderes Gebiet zu erreichen. Gesucht ist ein minimaler Weg, der jede zu räumende Straße enthält und in dem die Länge der unproduktiven Strecken so gering wie möglich ist .

Einführung Auftretende Nebenbedingungen: Verschiedene Einsatzfahrzeuge (Schneefräsen, Schneepflüge, Schneetransporter, Salzstreuer, etc.) Verschiedene Straßenarten (Ein-, Mehrspurig, Einbahnstraßen, Autobahnen, etc.) Verschiedene Witterungsbedingungen (Schnee, Matsch, überfrierende Nässe, Schneefallstärke, etc.) Kapazitätsrestriktionen (Ladekapazität) Zeitrestriktionen (Einsatzzeit, Räumintervalle, etc.) Prioritäten (Hauptstraße, Nebenstraße, etc.)

Einführung Lösungssoftware: CASPAR (Computer Aided System for Planning Efficient Routs): Ersparnisse im Staat Indiana durch den Einsatz von CASPAR: Anzahl der Routen: -7,9% Anzahl der unproduktiven Strecken: -4,3% Anzahl der hinzugenommenen Strecken: +79,3% Kostenersparnis im ersten Jahr: $ 10 Millionen

Vorüberlegung und Definitionen Gegeben sei ein bewerteter gemischter Multigraph G=[V,E,P,c]. V sei die Menge der Knoten mit V≠Ø E die Menge der Kanten zwischen den Knoten [i,j] P die Menge der Pfeile <i,j> c die Kosten mit c(e)≥0 für alle e Element E und P cij i j cij

Vorüberlegung und Definitionen Ein Graph G heißt stark zusammenhängend, wenn gilt, dass für alle i,j Element V eine Kanten-Pfeil-Folge (KP-Folge) von i nach j und eine KP-Folge von j nach i existiert . i j Ein Graph G heißt schwach zusammenhängend, wenn für alle i,j Element V eine Semi-Kanten-Pfeilfolge (SKP-Folge) mit den Endpunkten i und j existiert. i j

Vorüberlegung und Definitionen Die Entfernung zwischen zwei Knoten i und j wird als dij bezeichnet und drückt die Länge einer kürzesten SKP-Folge aus. Zusätzlich soll gelten: dij=∞, falls i und j nicht verbunden sind

Vorüberlegung und Definitionen Definition 1: Eine Briefträgertour in einem Graphen G, ist eine geschlossene KP-Folge, die jede Kante und jeden Pfeil mindestens einmal enthält.   Definition 2: Ein geschlossener (gemischter) Eulerscher Zyklus in einem Graphen G ist eine geschlossene KP-Folge, die jede Kante und jeden Pfeil genau einmal enthält. Definition 3: Ein Graph G heißt Eulersch, falls G einen geschlossenen Eulerschen Zyklus enthält.

Vorüberlegung und Definitionen Definition 4: Der Gesamtgrad eines Knoten i in einem gemischten Graphen G sei wie folgt definiert:  δx=δ(i)+ δ+(i)+δ-(i)   Mit: δ(i) der Grad aller in einem Knoten i endenden Kanten δ+(i) den Eingangsgrad eines Knoten i δ-(i) den Ausgangsgrad eines Knoten i

Vorüberlegung und Definitionen Definition 5: Ein gemischter Multigraph Ĝ ist eine Vergrößerung von G, wenn Ĝ aus G durch Umwandlung von Kanten in Pfeile, Ersetzung von Kanten durch Paare entgegengesetzt gerichteter Pfeile, und Vervielfachung von Kanten bzw. Pfeilen entstanden ist. Definition 6: Ĝ ist eine Eulersche Vergrößerung, wenn Ĝ Eulersch ist und eine Vergrößerung von G.

Vorüberlegung und Definitionen Definition 7: Eine optimale Eulersche Vergrößerung Ĝ von G ist eine Vergrößerung von G und hat unter allen möglichen Vergrößerungen von G die kleinste Summe der Bewertungen der hinzugefügten Kanten und Pfeile.

Vorgehen zur Untersuchung eines gemischten Graphen Generelles Vorgehen: Schritt 1: Untersuche ob der Graph G stark zusammenhängend ist.Falls der Graph G stark zusammenhängend ist, fahre fort mit Schritt 2. Falls nicht terminiere. Schritt 2: Untersuche ob der Graph G von sich aus Eulersch ist. Falls der Graph G Eulersch ist fahre fort mit Schritt 4. Ansonsten weiter mit Schritt 3.

Vorgehen zur Untersuchung eines gemischten Graphen Schritt 3: Bestimme eine optimalen Eulerschen Vergrößerung Ĝ von G indem man die Verfahren Gerade-Gesamtgrad-Vergrößerung(GG-Vergrößerung) und Ausgangsgrad-Gleich-Eingangsgrad-Vergrößerung (AGE-Vergrößerung) auf den Graphen G anwendet. Schritt 4: Bestimme einen geschlossenen Eulerschen Zyklus in einem Eulerschen Graphen.

Die Bedingung des stark zusammenhängenden Graphen G Der Graph ist nicht stark zusammenhängen wenn er, isolierte Knoten, Knotenpaare oder Sackgassen besitzt. Algorithmus zur Identifikation von Sackgassen: Schritt 1: Starte mit dem Knoten i:=1und j:=2. Schritt 2: Untersuche ob für i eine KP-Folge nach j und von j eine KP-Folge nach i existiert. Falls nicht, terminiere. Schritt 3: Falls j≠n. Setze j:=j+1 und gehe zu Schritt 2. Sonst terminiere.

Die Bedingung des stark zusammenhängenden Graphen G 1 1 1 2 3 Gesucht ist eine Briefträgertour im Graphen A. 1 1 1 Der Graph A ist stark zusammenhängend, da es keine isolierten Knoten oder Knotenpaare gibt und er keine Sackgassen besitzt. 1 4 5 6 1,5 2 2,5 1 1,5 7 8 9 Beispiel:

Die Bedingung des stark zusammenhängenden Graphen G 2 Durch die Untersuchung erkennt man weiterhin, dass der Graph A in einen Graphen G transformiert werden kann. 2 1 1 4 5 6 2 2,5 8 Beispiel:

Untersuchung des Graphen G auf Eulerschheit Satz 1: Sei G ein gemischter zusammenhängender Multigraph, dann ist G Eulersch, wenn gilt: δx(i) ist geradzahlig für alle i Element V Für jede Zerlegung (V1,V2) von V gilt: |#< V1,V2> - #< V2,V1>| ≤ #[ V1,V2] δ+(i)=δ-(i) für alle i Element V Die Bedingungen a) und c) sind notwendige Voraussetzungen dafür, dass der Graph G Eulersch ist.

Untersuchung des Graphen G auf Eulerschheit 2 Da der Graph zum Beispiel im Knoten 2 sowohl gegen a) δx(i) geradzahlig als auch gegen c) δ+(i)=δ-(i) des Satzes 1 verstößt, muß er erst noch durch eine geeignete Umwandlung Eulersch gemacht werden. 2 1 1 4 5 6 2 2,5 8 Beispiel:

Algorithmus für eine optimale GG-Vergrößerung von G

Algorithmus für eine optimale GG-Vergrößerung von G 2 Schritt 1: 2 1 i 2 4 5 8 δx(i) 3 1 4 5 6 2 2,5 8 Beispiel:

Algorithmus für eine optimale GG-Vergrößerung von G 2 Schritt 2: 2 1 i j Fij dij 2 4 [2,4] [2,5,4] 5 [2,5] 1 8 [2,5,8] 3 [4,5] [4,8] 2,5 [5,8] 1 4 5 6 2 2,5 8 Beispiel:

Algorithmus für eine optimale GG-Vergrößerung von G 2 2 4 Schritt 3: Resultierender Graph G‘ 2,5 1 1 3 5 8 2 2 2 4 Minimales Summen-Matching X*={[2,5][4,8]} 2,5 1 1 3 5 8 2 Beispiel:

Algorithmus für eine optimale GG-Vergrößerung von G 2 Schritt 4: Resultierender Graph Ĝ 2 1 1 1 4 5 6 2,5 2 2,5 8 Beispiel:

Algorithmus für eine optimale AGE-Vergrößerung von G

Algorithmus für eine optimale AGE-Vergrößerung von G

Algorithmus für eine optimale AGE-Vergrößerung von G

Algorithmus für eine optimale AGE-Vergrößerung von G

Algorithmus für eine optimale AGE-Vergrößerung von G 2 Schritt 1: Orientiere [4,5] von 4 nach 5. Man erhält den Graphen Ğ 2 1 1 1 4 5 6 2,5 2 2,5 8 Beispiel:

Algorithmus für eine optimale AGE-Vergrößerung von G 2 2 Schritt 2: 2 1 1 i 2 4 5 8 ai -2 1 4 5 6 2,5 2 2,5 8 -2 Beispiel:

Algorithmus für eine optimale AGE-Vergrößerung von G 2 2 Schritt 3: 2 1 1 Resultierender Multigraph 1 4 5 6 2,5 2 2,5 8 -2 Beispiel:

Algorithmus für eine optimale AGE-Vergrößerung von G 2 2 Schritt 4: Festlegung der Kosten und Kapazitäten in der Form: γ(e);κ(e) 2; 1; 1; 1; 1; 4 5 6; 0;2 2,5; 2; 2,5; 8 -2 Beispiel:

Algorithmus für eine optimale AGE-Vergrößerung von G 2 2 Schritt 5: Lösung des Umladeproblems: X*(<2,8>), X(*)=0 2; 1; 1; 1; 1; 4 5 6; 0;2 2,5; 2; 2,5; 8 -2 Beispiel:

Algorithmus für eine optimale AGE-Vergrößerung von G 2 Zu <2,8> zwei parallele Pfeile einfügen. Die Kante [4,5] wird durch den Pfeil <4,5> ersetzt. Man erhält den Resultierenden Graphen Ĝ‘ 2 1 1 1 4 5 6 6 6 2,5 2 2,5 8 Beispiel:

Bestimmung eines geschlossenen Eulerschen Zyklus Schritt 1: Starte mit einem beliebigen Knoten i0 von G. Suche ausgehend von i0, eine schlichte geschlossene Folge L=[ i0, i1, i2,.... i0].   Schritt 2: Eliminiere die Kanten/Pfeile von L aus G. Daraus ergibt sich der Graph G’. Wähle einen Knoten i0 auf L, für den in G’ δ(i0)≥2 gilt. Gibt es keinen solchen Knoten, so terminiere. Anderenfalls suche in G’ ausgehend von i0 eine schlichte geschlossenen Kantenfolge L’. Schritt 3: Füge die Kantenfolge L’ in L ein. Die resultierende Kantenfolge sei wieder L. Setze G:=G’ und gehe zu Schritt 2.

Bestimmung eines geschlossenen Eulerschen Zyklus 2 Start mit i0:=2 L1=<2,8,5,2> 2 1 1 1 4 5 6 6 6 2,5 2 2,5 8 Beispiel:

Bestimmung eines geschlossenen Eulerschen Zyklus 2 Start mit i0:=2 L1=<2,8,5,2> L2=<2,8,4,2> 2 1 1 4 5 6 6 2,5 2,5 8 Beispiel:

Bestimmung eines geschlossenen Eulerschen Zyklus 2 Start mit i0:=2 L1=<2,8,5,2> L2=<2,8,4,2> L3=<2,8,4,5,2> Resultierende Folge L: L=<2,8,5,2,8,4,2,8,4,5,2> 1 1 4 5 6 2,5 8 Beispiel:

Bestimmung eines geschlossenen Eulerschen Zyklus 1 1 1 2 3 Rücktransformation in den Graphen A: L=<2,3,6,9,8,5,2,3,6,9,8,7,4,1,2,3,6,9,8,7,4,5,2> Länge der Briefträgertour: C(L)= 30 1 1 1 1 4 5 6 1,5 2 2,5 1 1,5 7 8 9 Beispiel:

Aussagekraft der Heuristik Es existieren zwei Möglichkeiten: Möglichkeit 1: Der Graph G wird durch den GG-Algorithmus auf Ĝ gebracht und danach der AGE-Algorithmus auf Ĝ angewandt. Man erhält einen Eulerschen Graphen Ĝ’. Daraus ergibt sich dann die Briefträgertour LA.   Möglichkeit 2: Der Graph G wird über die AGE-Vergrößerung in Ĝ überführt und dann mit der GG-Vergrößerung der Eulerschen Graphen Ĝ’ konstruiert. Hieraus ergibt sich die Briefträgertour LB.

Aussagekraft der Heuristik 2 Untersuchung des Graphen G nach Möglichkeit 2 Erster Schritt: AGE- Vergrößerung Zweiter Schritt: GG- Vergrößerung 2 1 1 4 5 6 2 2,5 8 Beispiel:

Aussagekraft der Heuristik 2 Resultierender Graph nach der AGE-Vergrößerung durch [4,5] orientiert zu <4,5> ai Bestimmung Lösung des Umladeproblems mit dem Ergebnis X*(<2,8>)=1; X*(<5,4>‘)=1 und X(*)=0 => Verdopplung von <2,8> und beibehalten von [4,5] 2 1 1 4 5 6 6 2 2,5 8 Beispiel:

Aussagekraft der Heuristik 2 Resultierender Graph nach der GG-Vergrößerung durch Bestimmung von δx(i) Berechnen der dij Lösen des minimalen Summen-Matching X* => Hinzufügen der Kante [4,5] 2 1 1 4 5 6 6 1 2 2,5 8 Beispiel:

Aussagekraft der Heuristik 2 Bestimmung eines geschlossenen Eulerschen Zyklus L=<2,8,5,2,8,4,5,4,2> Mit den Gesamtkosten C(L)=21,5 2 1 1 4 5 6 6 1 2 2,5 8 Beispiel:

Aussagekraft der Heuristik Annahme: L+ ist die kürzeste der beiden gefunden Briefträgertouren LA und LB und L* die nicht bekannte optimale Briefträgertour. Fredrickson bewies 1979 mit der worst-case Analyse und das gilt:

Zeitkomplexität und Rechenaufwand Maßgeblich abhängig vom minimalen Summen-Matching der GG-Vergrößerung und dem Umladeproblem der AGE-Vergrößerung. Es seien |V|=n und |E|+|P|=m . Zeitkomplexität der GG-Vergrößerung: O(n3+m) im Multigraphen O(n3) sonst Zeitkomplexität der AGE-Vergrößerung: O(mn2) Zeitkomplexität zu Bestimmung eines Eulerschen Zyklus: O(m)

Literaturverzeichnis [1] P. Bruckner. The Chinese Postman Problem for Mixed Graphs.H. Noltemeier. Graphtheoretic Concepts in Computer Science. S.355–366. Springer Verlag. 1981 [2] H.A. Eiselt, M. Gendreau, G. Laporte. Arc Routing Problems, Part I: The Chinise Postman Problem. S. 213-242. Operation Research, Vol.43, No. 2. 1995   [3] H.A. Eiselt, M. Gendreau, G. Laporte. Arc Routing Problems, Part II: The Rural Postman Problem. S. 399-413. Operation Research, Vol.43, No. 2. 1995    [5] Domschke. Logistik: Rundreisen und Touren. 2.Auflage. Briefträgerprobleme. S. 108-129, R. Oldenburg Verlag. 1985 [6] M. Dror. Arc Routing: Theory, Solutions and Applications. Kluwer Academic Publisher. 2000