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 in und nj] kürzer als der bisher beste bekannte Weg ij. 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 AD (Länge 7) C 4 6 1 0 4 mit „Umweg“ über O, also AO D 7 2+4 4 =6 0 1 5 plus OD: 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