Sommersemester 2002 Martin Kraus Lehrstuhl für Anwendungen des Operation Research Universität...

Post on 05-Apr-2015

116 views 0 download

transcript

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