Upload
heimo-bogner
View
116
Download
0
Embed Size (px)
Citation preview
Sommersemester 2002Martin Kraus
Lehrstuhl für Anwendungen des Operation ResearchUniversität Karlsruhe (TH)
Briefträgerproblem in gemischten Graphen
Prof. Dr. G. HammerDipl.-math. P. Giemsch
Seminar Tourenplanung
Sommersemester 2002Martin Kraus
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
Sommersemester 2002Martin Kraus
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
Sommersemester 2002Martin Kraus
Einführung
Anwendungsmöglichkeiten:
• Ausliefern von Post
• Durchführung der Müllabfuhr
• Straßenreinigung
• Winterdienst
Sommersemester 2002Martin Kraus
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 .
Sommersemester 2002Martin Kraus
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.)
Sommersemester 2002Martin Kraus
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
Sommersemester 2002Martin Kraus
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
i j
cij
cij
Sommersemester 2002Martin Kraus
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
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.
j
i j
Vorüberlegung und Definitionen
Sommersemester 2002Martin Kraus
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
Sommersemester 2002Martin Kraus
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.
Sommersemester 2002Martin Kraus
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
Sommersemester 2002Martin Kraus
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.
Sommersemester 2002Martin Kraus
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.
Sommersemester 2002Martin Kraus
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.
Sommersemester 2002Martin Kraus
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.
Sommersemester 2002Martin Kraus
Die Bedingung des stark zusammenhängenden Graphen G
Der Graph ist nicht stark zusammenhängen wenn er,
a) isolierte Knoten, Knotenpaare oder
b) 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.
Sommersemester 2002Martin Kraus
Die Bedingung des stark zusammenhängenden Graphen G
Gesucht ist eine Briefträgertour im Graphen A.
1 2 3
4 5 6
7 8 9
1 1
1
1,5
1
1
1
2,5
1,5
Der Graph A ist stark zusammenhängend, da
• es keine isolierten Knoten oder Knotenpaare gibt und
• er keine Sackgassen besitzt.
1
2
Beispiel:
Sommersemester 2002Martin Kraus
Die Bedingung des stark zusammenhängenden Graphen G
2
4 5
8
1
Durch die Untersuchung erkennt man weiterhin, dass der Graph A in einen Graphen G transformiert werden kann.
2
6
1
2,5
2
Beispiel:
Sommersemester 2002Martin Kraus
Untersuchung des Graphen G auf Eulerschheit
Satz 1: Sei G ein gemischter zusammenhängender Multigraph, dann ist G Eulersch, wenn gilt:
a) δx(i) ist geradzahlig für alle i Element V
b) Für jede Zerlegung (V1,V2) von V gilt:
|#< V1,V2> - #< V2,V1>| ≤ #[ V1,V2]
c) δ+(i)=δ-(i) für alle i Element V
Die Bedingungen a) und c) sind notwendige Voraussetzungen dafür, dass der Graph G Eulersch ist.
Sommersemester 2002Martin Kraus
Untersuchung des Graphen G auf Eulerschheit
2
4 5
8
1
2
6
1
2,5
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.
Beispiel:
Sommersemester 2002Martin Kraus
Algorithmus für eine optimale GG-Vergrößerung von G
Schritt 1: Finde eine Teilmenge V’ V mit δx(i) ungerade für alle iV’. Schritt 2: Berechne die Entfernungen dij für alle ij V’ (mit i<j) und die dazugehörigen SKP-Folgen Fij. Schritt 3: Bestimme im vollständig bewerteten Graphen G’ mit Knotenmenge V’ und der Kantenbewertung dij ein minimales Summen-Matching X*. Schritt 4: Füge die den Kantenfolgen [i,j] X* entsprechenden SKP-Folgen Fij dem ursprünglichem Graphen G hinzu.
Sommersemester 2002Martin Kraus
Algorithmus für eine optimale GG-Vergrößerung von G
2
4 5
8
1
2
6
1
2,5
2
i 2 4 5 8
δx(i) 3 3 3 3
Schritt 1:
Beispiel:
Sommersemester 2002Martin Kraus
Algorithmus für eine optimale GG-Vergrößerung von G
2
4 5
8
1
2
6
1
2,5
2
Schritt 2:
i j Fij dij
2 4 [2,4] [2,5,4] 2
2 5 [2,5] 1
2 8 [2,5,8] 3
4 5 [4,5] 1
4 8 [4,8] 2,5
5 8 [5,8] 2
Beispiel:
Sommersemester 2002Martin Kraus
Algorithmus für eine optimale GG-Vergrößerung von G
2 4
5 8
1
2
32,5
1
2
Schritt 3:
Resultierender Graph G‘
2 4
5 8
1
2
32,5
1
2
Minimales Summen-Matching
X*={[2,5][4,8]}
Beispiel:
Sommersemester 2002Martin Kraus
2
4 5
8
1
2
6
1
2,5
2
Schritt 4:
Resultierender Graph Ĝ 1
2,5
Algorithmus für eine optimale GG-Vergrößerung von G
Beispiel:
Sommersemester 2002Martin Kraus
Algorithmus für eine optimale AGE-Vergrößerung von G
Schritt 1: Jeder Kante e E wird eine der beiden möglichen Richtungen zugewiesen. Der Pfeil wird mit
e gekennzeichnet. Wir erhalten den resultierenden Graphen Ğ=[V,P,c]. Schritt 2: Bestimme für alle Knoten i in Ğ ai= δ
-(i)-δ+(i) mit i V.
Schritt 3: Für jedes eE führe zwei Pfeile e und '
e ein, die zu
e entgegengesetzte Richtung haben.
G sei der resultierende
Multigraph
Sommersemester 2002Martin Kraus
Algorithmus für eine optimale AGE-Vergrößerung von G
Schritt 4: Lege die Kosten γ(e) und die Kapazität κ(e) in G fest.
Für die „alten“ Pfeile e P sei
γ(e):=c(e) κ(e):=
Für die “neuen” Pfeile eund
egilt
γ(e)=γ(
e):=c(e)
κ(e)= κ(
e):=
Für den “neuen Pfeil '
e gilt
γ( 'e):=0
κ( 'e):=2
Sommersemester 2002Martin Kraus
Algorithmus für eine optimale AGE-Vergrößerung von G
Schritt 5: Bestimme die optimale Lösung {x*(e)|e P} des Umladeproblems
Pe 0
Ζx(e) κ(e)x(e)
ia
Pe Pex(e)x(e) u.d.N.
Eeγ(e)x(e) Min
Sommersemester 2002Martin Kraus
Algorithmus für eine optimale AGE-Vergrößerung von G
Die optimale AGE-Vergrößerung von G ergibt sich dann mit
a) Für e P füge zu e x*(e) parallele Pfeile hinzu.
b) Für e GP :
i) x*( 'e)=0: e wird durch
e ersetzt . Zu
e werden
x*(e) parallele Pfeile hinzugefügt.
ii) x*( 'e)=2: e wird durch
e ersetzt. Zu
e werden
x*(e) parallele Pfeile hinzugefügt.
iii) x*( 'e)=1: e bleibt unverändert.
Sommersemester 2002Martin Kraus
2
4 5
8
1
2
6
1
2,5
2
Schritt 1:
Orientiere [4,5] von 4 nach 5.
Man erhält den Graphen Ğ
1
2,5
Algorithmus für eine optimale AGE-Vergrößerung von G
Beispiel:
Sommersemester 2002Martin Kraus
2
4 5
8
1
2
6
1
2,5
2
Schritt 2:
1
2,5
Algorithmus für eine optimale AGE-Vergrößerung von G
Beispiel:
i 2 4 5 8
ai 2 0 0 -2
2
-2
Sommersemester 2002Martin Kraus
2
4 5
8
1
2
6
1
2,5
2
Schritt 3:
1
2,5
Algorithmus für eine optimale AGE-Vergrößerung von G
Beispiel:
e
'e
Resultierender Multigraph G
-2
2
Sommersemester 2002Martin Kraus
2
4 5
8
1;
2;
6;
1;
2,5;
2;
Schritt 4:
Festlegung der Kosten und Kapazitäten in der Form:
γ(e);κ(e)
1;
2,5;
Algorithmus für eine optimale AGE-Vergrößerung von G
Beispiel:
-2
2
0;2
1;
Sommersemester 2002Martin Kraus
2
4 5
8
1;
2;
6;
1;
2,5;
2;
Schritt 5:
Lösung des Umladeproblems:
X*(<2,8>), X(*)=0
1;
2,5;
Algorithmus für eine optimale AGE-Vergrößerung von G
Beispiel:
-2
2
0;2
1;
Sommersemester 2002Martin Kraus
2
4 5
8
1
2
6
1
2,5
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 Ĝ‘
1
2,5
Algorithmus für eine optimale AGE-Vergrößerung von G
Beispiel:
6 6
Sommersemester 2002Martin Kraus
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
Sommersemester 2002Martin Kraus
2
4 5
8
1
2
6
1
2,5
2
Start mit i0:=2
L1=<2,8,5,2>1
2,5
Beispiel:
6 6
Bestimmung eines geschlossenen Eulerschen Zyklus
Sommersemester 2002Martin Kraus
2
4 5
8
1
2
6
1
2,5
Start mit i0:=2
L1=<2,8,5,2>
L2=<2,8,4,2>
2,5
Beispiel:
6
Bestimmung eines geschlossenen Eulerschen Zyklus
Sommersemester 2002Martin Kraus
2
4 5
8
1 6
1
2,5
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>
Beispiel:
Bestimmung eines geschlossenen Eulerschen Zyklus
Sommersemester 2002Martin Kraus
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 2 3
4 5 6
7 8 9
1 1
1
1,5
1
1
1
2,5
1,5
1
2
Beispiel:
Bestimmung eines geschlossenen Eulerschen Zyklus
Sommersemester 2002Martin Kraus
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
Sommersemester 2002Martin Kraus
2
4 5
8
1
Untersuchung des Graphen G nach Möglichkeit 2
Erster Schritt:
AGE- Vergrößerung
Zweiter Schritt:
GG- Vergrößerung
2
6
1
2,5
2
Beispiel:
Aussagekraft der Heuristik
Sommersemester 2002Martin Kraus
2
4 5
8
1
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
6
1
2,5
2
Beispiel:
6
Aussagekraft der Heuristik
Sommersemester 2002Martin Kraus
2
4 5
8
1
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
6
1
2,5
2
Beispiel:
61
Aussagekraft der Heuristik
Sommersemester 2002Martin Kraus
2
4 5
8
1
Bestimmung eines geschlossenen Eulerschen Zyklus
L=<2,8,5,2,8,4,5,4,2>
Mit den Gesamtkosten
C(L)=21,5
2
6
1
2,5
2
Beispiel:
61
Aussagekraft der Heuristik
Sommersemester 2002Martin Kraus
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:
2C(L*)
)A
C(L2
C(L*)
)B
C(L
35
C(L*)
)C(L
Sommersemester 2002Martin Kraus
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 MultigraphenO(n3) sonst
Zeitkomplexität der AGE-Vergrößerung:O(mn2)
Zeitkomplexität zu Bestimmung eines Eulerschen Zyklus:O(m)
Sommersemester 2002Martin Kraus
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