Methodische Grundlagen und Graphen

Werbung
Kapitel 2
Methodische Grundlagen und
Graphen
2.1 Komplexität
 Lösung von Modellen der Produktion und Logistik
mittels:
 Exakten Lösungsverfahren
 Heuristiken:
 teilweise verwendet wenn exakte Verfahren vorhanden (diese

jedoch zu teuer oder zu aufwendig sind)
verwendet bei Probleme, die „NP-schwer“ sind
 Auswahl der Verfahren abhängig von:
 verfügbare Software
 Kosten-Nutzen-Überlegungen
 Komplexität des Problems
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 2
Beispiel I
Lösung von:

LP-Probleme (average case) mit polynomialem Aufwand

da die Anzahl der Iterationsschritte der Simplexmethode linear mit der
Anzahl der Nebenbedingungen steigt
 jeder Iterationsschritt etwa quadratischen Aufwand verursacht

LP-Probleme mit Ganzzahligkeitsforderungen (integer variables)
mittels Branch and Bound (B&B) Verfahren

da in jedem Iterationsschritt ist ein normales LP zu lösen
 Die Anzahl dieser Iterationsschritte wächst exponentiell mit der Anzahl
der ganzzahligen Variablen
 Daher sind diese Probleme nicht mit polynomialem Aufwand zu lösen
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 3
Beispiel II
Bei manchen Problemen (z.B. Transport, Zuordnung) sind
die Ganzzahligkeitsforderungen automatisch erfüllt, sodass
das Problem einfach bleibt.
Auch kann es sein, dass ein Problem als LP-Problem mit
Ganzzahligkeitsforderung formuliert werden kann, dass es
allerdings andere exakte Verfahren gibt, die das Problem
mit polynomialem Aufwand lösen.
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 4
Heuristiken
Unterscheidung zwischen:

Eröffnungsverfahren (zur rasche Generierung einer
möglichst guten Startlösung)

Verbesserungsverfahren (um ausgehend von einer
zulässigen Lösung eine bessere zu konstruieren)

Kombination beider Verfahren
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 5
2.2 Kosten und Distanzen

Entscheidung bei vielen Problemen aufgrund von
gewissen Kosten bzw. Distanzen cij:



Ermittlung der Kosten aufgrund technischer Gegebenheiten
(Umrüsten einer Maschine von Werkstück i zu Werkstück i)
Kosten als Maß für die Distanz der Objekte i und j dar
gebräuchlichste Distanzen:



Euklidische Distanz
Manhattan Distanz
Maximum Distanz
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 6
Euklidische Distanz

Luftlinien Entfernung der Punkte x und y im Raum
n
d(x , y) =

x i - y i 
2
i =1
x2
1
y
1
x1
x
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 7
Manhattan Distanz

Entfernung bei einem rechtwinkeligen Straßensystem
n
d(x, y) =

xi - yi
i =1
x2
1
y
1
x1
x
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 8
Maximum Distanz

Bohren von Platinen, Bewegung von Kränen oder
Plotterstiften
d(x, y) =
m ax x i - y i
i =1,..., n
x2
1
y3
x
(c) Prof. Richard F. Hartl
y2
1
x1
y1
Operations Management
Kapitel 2 / 9
2.3 Grundbegriffe über Graphen
Beispiel:
Straßennetz mit Kosten (Kantenlängen): Naturpark mit
Eingang O und wichtigstem Aussichtspunkt T:
A
7
2
2
4
5
O
D
B
4
C
(c) Prof. Richard F. Hartl
T
1
3
1
5
E
7
4
Operations Management
Kapitel 2 / 10
Aufgabe 1
Verlegung von Telefonleitungen, so dass zwischen allen
Stationen Telefonverbindungen möglich sind.
 Es werden gerade so viele Leitungen verlegt, dass eine
Verbindung zwischen je zwei Stationen möglich ist.
 Wo sollen die Telefonkabel verlegt werden um am
wenigsten Leitungen (in Meilen) zu verbrauchen?
Lösung: minimaler spannender Baum, Minimalgerüst
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 11
Aufgabe 2
Ermittlung des kürzesten Weges vom Eingang des Parks O
zur Station T
Lösung: kürzeste Wege
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 12
Aufgabe 3
Problem:
Es wollen mehr Besucher an der Busfahrt von 0 zur Station
T teilnehmen, als auf dem kürzesten Weg befördert werden
können. (Begrenzung der Zahl der täglichen Busfahrten auf
jeder Strecke)
 Verwendung verschiedener Routen ohne
Berücksichtigung der Entfernung, um die Zahl der
Busfahrten pro Tag zu erhöhen
 Wie werden die verschiedenen Routen angelegt um die
Zahl der Busfahrten zu maximieren?
Lösung: maximaler Fluss (TL)
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 13
Aufgabe 4
An jedem der Straßenknoten ist am Ende des Tages ein
Mülleimer zu entleeren.
 In welcher Reihenfolge sollen die Knoten angefahren
werden um die gesamte Reisezeit zuminimieren?
Lösung: Rundreiseproblem, TSP (TL)
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 14
Definition – Graph I
Graph (graph): mehrere Punkte (Knoten, nodes, vertices)
sind paarweise durch Linien (Kanten, edges, arcs)
verbunden
A
7
2
2
4
5
O
D
B
4
C
T
1
3
1
5
E
7
4
Graph
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 15
Definition – Kette
Kette (chain) zwischen den Knoten i und j: Folge von
Kanten, die diese zwei Knoten miteinander
verbindet
Weg (path): eindeutige Richtung der Kette (gerichtet)
A
D
O
Kette (Weg) von A nach D
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 16
Definition – Zyklus
Zyklus (cycle): Kette, die einen Knoten mit sich selbst
verbindet, ohne dass eine Kante zweimal verwendet
wird
A
D
Zyklus
(c) Prof. Richard F. Hartl
B
Operations Management
Kapitel 2 / 17
Definition – Baum I
Baum (tree): verbundener Graph, der keine Zyklen besitzt
Ein Graph heißt verbunden (connected), wenn es
zwischen je 2 Knoten eine Kette gibt, die diese Knoten
miteinander verbindet.
A
2
O
4
5
D
B
(c) Prof. Richard F. Hartl
T
1
1
C
5
E
Operations Management
Baum
Kapitel 2 / 18
Definition – Baum II
Eines der Theoreme der Graphentheorie besagt, dass ein
Graph bestehend aus n Knoten verbunden ist, wenn er (n1) Kanten und keine Zyklen besitzt.  BAUM
A
A kein Baum, da nicht verbunden
kein Baum wegen Zyklus OAB
D
D
O
T
B
C
(c) Prof. Richard F. Hartl
O
E
C
Operations Management
T
B
E
Kapitel 2 / 19
Definition – Graph II
Die Kante eines Graphen heißt gerichtet (directed) oder
Pfeil, wenn eine bestimmte Richtung gegeben ist.
Innerhalb eines gerichteten Graphen ist jede einzelne
Kante gerichtet.
Innerhalb eines ungerichteten Graphen ist jede einzelne
Kante ungerichtet.
Ein gemischter (mixed) Graph enthält sowohl gerichtete
als auch ungerichtete Kanten.
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 20
2.4 Minimaler Spannbaum
(minimal spanning tree, MST)
Da im Beispiel n = 7 Knoten vorgegeben sind, muss das
resultierende Netzwerk genau (n-1) = 6 Kanten und keine
Zyklen besitzen, um einem aufgespannten Baum zu
entsprechen.
A
7
2
2
4
5
O
D
B
4
C
T
1
3
1
5
E
7
4
Praxis: zahlreiche Anwendungsbeispiele insb. bei der Planung von
schwach frequentierten Transportnetzen z.B: Telefonleitungen
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 21
Algorithmus von Kruskal
1. Suche die kürzeste Kante im Graphen und verbinde die beiden
angrenzenden Knoten.
2. Suche den noch nicht verbundenen Knoten, der einem der bereits
verbundenen am nächsten liegt. Wiederhole dies bis alle Knoten
verbunden sind.
Treten dabei Mehrdeutigkeiten auf, so kann die Wahl beliebig getroffen
werden, und der Algorithmus führt dennoch zu einer optimalen Lösung.
Implementierung am Computer:
Man sortiert zunächst die Kanten in aufsteigender Reihenfolge, und
dann fügt man jeweils die nächste Kante in den Baum ein, die nicht zu
einem Zyklus führen würde.
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 22
Algorithmus von Kruskal - Beispiel
A
7
2
2
4
5
O
D
B
4
C
(c) Prof. Richard F. Hartl
T
1
3
1
5
E
7
4
Operations Management
Kapitel 2 / 23
2.5 Problem des kürzesten Weges
(shortest route)




Ermittlung des kürzesten Weg innerhalb eines Netzwerkes von der
Quelle (source) O zur Senke (sink) T
Basis vieler anderer wichtiger Logistikprobleme
große Zahl von Verfahren
Unterscheidung von:

Baumalgorithmen: bestimmen den kürzesten Weg von einem Knoten
(Quelle) zu allen anderen (und konstruieren so eine Art Baum)
klassischen Baumalgorithmen (nächster Unterabschnitt) basieren auf
der Idee der dynamischen Programmierung. Sie markieren in jedem
Iterationsschritt einen weiteren Knoten.

Verfahren, die den kürzesten Weg zwischen allen Knoten suchen.
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 24
2.5.1 Baumalgorithmus für das kürzeste
Wege Problem (Dijkstra)
Es sei dij = Länge der direkten Kante von i nach j [wenn
solche existiert, bzw. dij =  sonst]
Initialisierung: n = 0:
Es werden alle Knoten i vorläufig markiert, und ihre vorläufig kürzeste
Entfernung zum Ursprung D[i] mit der direkten Distanz d0i festgelegt.
[Nur 0 ist endgültig markiert]
Wenn es keine direkte Kante von O nach i gibt, setzt man D[i] = .
Der vorläufige direkte Vorgänger ist die Quelle: V[i] = O
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 25
Iterationsschritt n
1. markiere jenen vorläufig markierten Knoten endgültig, der die
minimale Distanz D[i] hat.
Es ist der n-te nächste Knoten zur Quelle O. Seine kürzeste Distanz
zu O ist D[i] und der unmittelbare Vorgänger ist V[i].
2. Suche alle vorläufig markierten Knoten j, die von i aus über eine
direkte Kante erreichbar sind. Wenn D[i] + dij < D[j] ist der Weg über
i zu j besser als der bisher beste Weg zu j. Setzte dann D[j] = D[i] +
dij und V[j] = i.
3. Wenn T endgültig markiert ist, (bzw. wenn alle Knoten endgültig
markiert sind) ist das Verfahren beendet.
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 26
Verfahren von Dijkstra - Beispiel
2
A
7
2
2
5
O
4
8
D
4
B
4
C
4
E
4
Lösung: O – A – B – D – T
13
T
1
3
1
5
7
7
Iteration n
D[O],
V[O]
D[A],
V[A]
D[B],
V[B]
D[C],
V[C]
D[D],
V[D]
D[E],
V[E]
D[T],
V[T]
0
0, O
2, O
5, O
4, O
, O
, O
, O
Initialisierung
2, O
5, O
4, O
, O
4, O
9, A
, O
, O
A, 2
4, A
, O
, O
4, O
8, B
7, B
C, 4
4
8, B
7, B
, O
, O
5
8, B, E
14, E
D, 8
13, D
T, 13
1
2
3
6
(c) Prof. Richard F. Hartl
Operations Management
B, 4
E, 7
Kapitel 2 / 27
Lösung
Zwei kürzeste Wege mit jeweils Gesamtlänge 13:
A
A
2
2
D
2
O
B
1
3
5
2
T
4
O
B
D
5
T
E
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 28
Verfahren von Bellmann I
1. Von allen vergebenen Knoten, die noch nicht
„vergebene“ Nachbarn haben, ausgehend jeweils den
Knoten mit der kürzesten Entfernung suchen
2. Denjenigen Knoten im nächsten Iterationsschritt
vergeben, der die geringste Gesamtentfernung vom
Ursprung hat.
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 29
Verfahren von Bellmann II
Iteration
n
Vergebene Knoten, die
unmittelbar mit einem
noch nicht Vergebenen
zu verbinden sind
Kürzeste
Verbindung zu
einem noch nicht
vergebenen Knoten
Gesamte
Entfernung
zum Ursprung
n-ter
nächster
Knoten
i
Kürzeste
Entfernung
D[i]
Unmittelbarer
Vorgänger
V[i]
1
O
A
2
A
2
O
2
O
C
4
C
4
O
3
A
B
4
B
4
A
4
A
D
9
B
E
7
E
7
B
C
E
8
A
D
9
B
D
8
D
8
B
E
D
8
D
T
13
T
13
D
E
T
14
5
6
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 30
Verfahren von Bellmann III
2
A
7
2
2
5
O
4
8
4
D
B
4
E
C
4
4
1. Lösung:
O-A–B–D–T
2. Lösung:
O-A–B–E–D–T
(c) Prof. Richard F. Hartl
13
T
1
3
1
5
7
7
Operations Management
Kapitel 2 / 31
2.5.2 Kürzeste Wege zwischen allen Knoten
(Triplealgorithmus)
Oft such man die kürzesten Wege zwischen jeweils zwei
Knoten eines Netzwerkes, bei dem nicht alle Knoten durch
direkte Kanten miteinander verbunden sind;
z.B. Lösung von Transport- oder Standortproblem
Lösung:
 Mehrmalige Anwendung des Baumalgorithmus (für jeden
Knoten als Startknoten)
 besseres Verfahren (Triplealgorithmus): Die bisher
bekannte kürzeste Distanz von i nach j wird mit kij
bezeichnet und der dabei unmittelbare Vorgänger von j
mit vij.
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 32
Initialisierung, Iterationsschritt n

Initialisierung:
Setze kij = dij bzw. kij = , wenn keine direkte Kante i  j
besteht.
Setze vij = i.

Iterationsschritt n: [n durchläuft alle Knoten]
Für alle i und j prüfe, ob kin + knj < kij ist.
Wenn ja, ist der Weg von i nach j über n [mit den bisher
besten bekannten Wegen in und nj] kürzer als der
bisher beste bekannte Weg ij.
In diesem Falle setze kij = kin + knj und vij = vnj.
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 33
Obiges Beispiel - Initialisierung
A
7
2
2
4
5
O
D
B
4
C
E
4
(c) Prof. Richard F. Hartl
A
B
C
D
E
T
O
0
2
5
4



A
2
0
2

7


B
5
2
0
1
4
3

C
4

1
0

4

D

7
4

0
1
5
E


3
4
1
0
7
T




5
7
0
T
1
3
1
5
O
7
Operations Management
Kapitel 2 / 34
Wege über n = 0
Initialisierung:
Wege über n = O
O
A
B
C
D
E
T
O
0
2
5
4



A
2
0
2

7


B
5
2
0
1
4
3

C
4

1
0

4

D

7
4

0
1
5
vergleiche
besten
B 5 2 den
0 bisher
1 4
3 
Weg AD (Länge 7)
C 4 6 1 0  4 
mit „Umweg“ über O, also AO
D 
7 2+4
4 =6 0 1 5
plus
OD:
E


3
4
1
0
7
da
E kürzer,
 wird
3 7 durch
4 1 6 ersetzt
0 7
T




5
7
0
T
(c) Prof. Richard F. Hartl
O
A
B
C
D
E
T
O
0
2
5
4



A
2
0
2
6
7


Operations Management




5
7
0
Kapitel 2 / 35
bei symmetrischden
Problemen (ungerichterer
Graph) kann alles unter
der Hauptdiagonale
kopiert werden
Wege über n = A
Wege über n = O
Wege über n = A
O
A
B
C
D
E
T
O
0
2
5
4



O
A
2
0
2
6
7


A
B
5
2
0
1
4
3

C
4
6
1
0

4
D

7
4

0
E


3
4
T




(c) Prof. Richard F. Hartl
Zeilen und Spalten, wo
in der „gelben Zeile“ 
steht, können sich nicht
ändern
O
A
B
C
D
E
T
2
4
4
9


2
0
2
6
7


B
4
2
1
4
3


C
4
6
1
13
4

1
5
D
9
7
4
13
1
5
1
0
7
E


3
4
1
5
7
0
T




5
Operations Management
7
7
Kapitel 2 / 36
Wege über n = B
Wege über n = A
Wege über n = B
O
A
B
C
D
E
T
O
0
2
4
4
9


O
A
2
0
2
6
7


A
2
B
4
2
0
1
4
3

B
4
C
4
6
1
0
13
4

C
D
9
7
4
13
0
1
5
E


3
4
1
0
T




5
7
(c) Prof. Richard F. Hartl
O
A
B
C
D
E
T
2
4
4
8
7

2
3
6
5

2
0
1
4
3

4
3
1
5
4

D
8
6
4
5
1
5
7
E
7
5
3
4
1
0
T




5
Operations Management
7
7
Kapitel 2 / 37
Wege über n = C
Wege über n = B
Wege über n = C
O
A
B
C
D
E
T
O
0
2
4
4
8
7

O
A
2
0
2
3
6
5

A
2
B
4
2
0
1
4
3

B
4
2
C
4
3
1
0
5
4

C
4
3
D
8
6
4
5
0
1
5
D
8
E
7
5
3
4
1
0
7
E
T




5
7
0
T
(c) Prof. Richard F. Hartl
O
Operations Management
A
B
C
D
E
T
2
4
4
8
7

2
3
6
5

1
4
3

1
0
5
4

6
4
5
1
5
7
5
3
4
1




5
7
7
Kapitel 2 / 38
Wege über n = D
Wege über n = C
Wege über n = D
O
A
B
C
D
E
T
O
0
2
4
4
8
7

O
A
2
0
2
3
6
5

A
2
B
4
2
0
1
4
3

B
4
2
C
4
3
1
0
5
4

C
4
3
1
D
8
6
4
5
0
1
5
D
8
6
4
E
7
5
3
4
1
0
7
E
7
5
T




5
7
0
T 13 11
(c) Prof. Richard F. Hartl
O
Operations Management
A
B
C
D
E
T
2
4
4
8
7
13
2
3
6
5
11
1
4
3
9
5
4
10
5
0
1
5
3
4
1
9
10
5
6
6
Kapitel 2 / 39
Endlösung - Wege über n = T




Prüfung der Wege über n = E
bzw. n = T
Keine Änderungen mehr
Endlösung: weist kürzesten
Distanzen auf
Übereinstimmung der 1. Zeile
mit dem Ergebnis des
Baumalgorithmus
(c) Prof. Richard F. Hartl
O
A
B
C
D
E
T
O
0
2
4
4
8
7
13
A
2
0
2
3
6
5
11
B
4
2
0
1
4
3
9
C
4
3
1
0
5
4
10
D
8
6
4
5
0
1
5
E
7
5
3
4
1
0
6
T
13
11
9
10
5
6
0
Operations Management
Kapitel 2 / 40
2.5.3 Bemerkungen und weitere Beispiele




Analoge Anwendung in gemischten und gerichteten
Graphen
Probleme können bei negative Kantenbewertungen
auftreten wenn negative Zyklen im Graphen enthalten
sind
ansonsten sind solche Probleme wie üblich zu
bearbeiten
vgl. dazu Kapitel 4 von Domschke, W.: Logistik:
Transport (Bd. 1), 3. Aufl., Oldenbourg, München, 1989
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 41
Beispiel I
Man bestimme die kürzesten Wege von (4) zu allen
anderen Knoten:
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 42
Beispiel II
Man bestimme die kürzesten Wege zwischen allen Knoten:
(c) Prof. Richard F. Hartl
Operations Management
Kapitel 2 / 43
Herunterladen