Zugeordneter bipartiter Graph Für ein Transportproblem sei A = {A 1,...,A m } die Menge der Fabriken und B = {B 1,...,B n } sei die Menge der Warenhäuser. Wir ordnen nun einem Transportproblem einen bipartiten Graph G = (V, E) zu mit: V = A+B und E = {{v,w} v A,w B}. Damit können wir auch jeder Variablen x ij die Kante {A i,b j } E zuordnen. Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 35
Struktur zulässiger Basislösungen Basislösung von Beispiel 1.2: Basislösung von Beispiel 1.3: Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 36
Satz 1.3. Gegeben sei eine zulässige Basislösung für ein Transportproblem. Dann bilden die Kanten der Basisvariablen im zugeordneten bipartiten Graphen einen Baum. Beweis: Angenommen, eine Teilmenge der Basisvariablen bildet im zugeordneten bipartiten Graphen einen Kreis der Länge 2k. O.B.d.A. sei dies der Kreis (A 1,B 1,A 2,B 2,A 3,...,A k,b k,a 1 ) mit den Basisvariablen x 11,x 21,x 22,x 32,...,x kk,x 1k. Wir bilden nun eine Linearkombination der Spaltenvektoren dieser Basisvariablen von der Matrix A wie folgt: Für eine Kante (A i,b i ) erhält der Spaltenvektor a (i,i) den Koeffizienten 1, füreinekante(b i,a i+1 )unddiekante(b k,a 1 )erhältderspaltenvektor a (i+1,i) bzw. a (1,k) den Koeffizienten 1. Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 37
Dann bildet diese Linearkombination den Vektor 0, die Spaltenvektoren sind also linear abhängig. Widerspruch zu Basislösung! Tafel. Also müssen die Kanten der Basisvariablen einen kreisfreien Untergraphen bilden. Da der bipartite Graph aber m+n Knoten und eine Basislösung n+m 1 Variablen (also Kanten) hat, müssen die Variablen der Kanten einen Baum bilden (vgl. Graphentheorie, Satz 1.8 (5)). Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 38
Transport-Solver analog zu Simplex Fragestellungen/Aufgaben: Bewertung der Nicht-Basisvariablen (NBV) x ij mit Schattenpreisen B ij Auswahl einer Nicht-Basisvariablen Auswahl einer Basisvariablen (BV), die zur Nicht-Basisvariablen wird Anpassung des Tableaus Satz 1.3 bildet die Basis, um diese Fragestellungen zu lösen. Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 39
Schattenpreise im Transportproblem Es sei x ij eine NBV. Schattenpreis: Wie würden sich die Kosten ändern, wenn wir 1 ME von A i nach B j schicken würden? In der Basislösung gibt es gemäß Satz 1.3 genau einen Weg W von A i nach B j. Nehmen wir die Kante für x ij hinzu, entsteht genau ein Kreis. Transportieren wir 1 ME von A i nach B j über die Kante von x ij, müssen wir auf dem Weg W von A i nach B j die Transportmengen wie folgt anpassen: Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 40
von A k zu B l : 1 ME weniger von B l zu A k : 1 ME mehr Damit können wir die Schattenpreise bestimmen: B ij = c ij + c kl c kl (B l,a k ) W (A k,b l ) W Für B ij < 0 lohnt es sich, die Variable x ij in die Basis aufzunehmen. Analog zum Simplexalgorithmus können wir die NBV mit kleinstem B ij als neue BV wählen. Gilt B ij 0 für alle NBV, dann ist die Lösung optimal. Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 41
Beispiel 1.4. Mengenänderung für x 21 in Basislösung von Beispiel 1.2: Schattenpreis B 21 für Variable x 21 : B 21 = 4+1 9 5 = 9 Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 42
Auswahl von x 21 als neue BV entspricht Pivotspalte in primalem Simplex bleibt: Schattenpreis B 13 für Variable x 13 : Pivotzeile? Anpassung? B 13 = 3+5 1 8 = 1 Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 43
Anpassung der Basislösung Auf einer Kante von A k nach B l können wir die Transportmenge um nicht mehr als x kl reduzieren. Damit fehlt in Warenhaus B l eine Kapazität von x kl, die nun von Fabrik k über die Kante von x k l geliefert werden muss. usw. Für die ausgewählte NBV x ij setzen wir: x ij = = min{x kl (A k,b l ) W} Eine BV x i j, für die das Minimum angenommen wird, wird zur NBV. Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 44
Für alle Kanten (A k,b l ) W: x kl = x kl Für alle Kanten (B l,a k ) W: x kl = x kl + Zielfunktionswert: z = z + B ij Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 45
Beispiel 1.5. Für die Basislösung von Beispiel 1.2 und die neue BV x 21 ergibt sich: Die neue Basislösung: x 21 = = min{x 22,x 11 } = min{40,30} = 30 x 22 = 30 30 = 0 x 12 = 10+30 = 40 x 11 = 40 30 = 10 z = 840 30 9 = 570 x 22 wird also NBV. Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 46
Stepping-Stone-Methode Algorithmus 1.3. 1. Bestimme mit einem Eröffnungsverfahren (z.b. der Nordwesteckenregel) eine zulässige Basislösung x und den zugehörigen Zielfunktionswert z. 2. Suche für alle NBV x ij im zugeordneten bipartiten Graphen den Weg W ij von A i nach B j und bestimme damit die Schattenpreise B ij := c ij + (B l,a k ) W ij c kl (A k,b l ) W ij c kl. 3. Gilt B ij 0 für alle NBV x ij, dann ist die aktuelle Basislösung optimal. STOP! Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 47
Ansonsten bestimme i,j so, dass B ij = min{b kl x kl ist NBV}. 4. W := Weg von A i nach B j in aktueller Basislösung x ij := := min{x kl (A k,b l ) W} x i,j ist eine BV, für die das Minimum angenommen wird. 5. for all (A k,b l ) W do x kl := x kl end for all (B l,a k ) W do x kl := x kl + end z := z + B ij 6. x ij wird BV. x i,j wird NBV. Gehe zu Schritt 2. Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 48
Beispiel Bemerkungen: Nach dem Eröffnungsverfahren setzen wir im Tableau wieder die Originalwerte für a i und b j ein. Dies dient nur der besseren Übersicht, denn die Werte werden im weiteren Verlauf nicht mehr benötigt. Beispiel 1.6. Gegeben seien Kosten, Angebot und Nachfrage wie in Beispiel 1.1. Die Nordwesteckenregel und Beispiel 1.4 liefern: Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 49
B 1 B 2 B 3 A 1 9 1 3 1 40 10 A 2 4 9 5 8 30 40 50 70 Also i = 2,j = 1 mit B 21 = 9. W ist (A 2,B 2,A 1,B 1 ). x 21 = = min{x 22,x 11 } = 30 i = 2,j = 2 x 22 = 0 x 11 = 10 40 40 40 840 Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 50
x 12 = 40 z = 840 30 9 = 570 NBV sind jetzt: {x 13,x 22 } Weg von A 1 nach B 3 : (A 1,B 1,A 2,B 2 ) B 13 = 3+4 9 8 = 10 Weg von A 2 nach B 2 : (A 2,B 1,A 1,B 2 ) B 22 = 5+9 4 1 = 9 Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 51
B 1 B 2 B 3 A 1 9 1 3 10 10 40 A 2 4 5 9 8 30 40 50 70 Also i = 1,j = 3 mit B 13 = 10. W ist (A 1,B 1,A 2,B 3 ). x 13 = = min{x 11,x 23 } = 10 i = 1,j = 1 x 11 = 0 x 23 = 30 40 40 40 570 Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 52
x 21 = 40 z = 570 10 10 = 470 NBV sind jetzt: {x 11,x 22 } Weg von A 1 nach B 1 : (A 1,B 3,A 2,B 1 ) B 11 = 9+8 3 4 = 10 Weg von A 2 nach B 2 : (A 2,B 3,A 1,B 2 ) B 22 = 5+3 8 1 = 1 Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 53
B 1 B 2 B 3 A 1 9 9 1 3 40 10 A 2 4 5 1 8 40 30 50 70 40 40 40 470 Also i = 2,j = 2 mit B 22 = 1. W ist (A 2,B 3,A 1,B 2 ). x 22 = = min{x 23,x 12 } = 30 i = 2,j = 3 x 23 = 0 x 12 = 10 Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 54
x 13 = 40 z = 470 30 1 = 440 NBV sind jetzt: {x 11,x 23 } Weg von A 1 nach B 1 : (A 1,B 2,A 2,B 1 ) B 11 = 9+5 1 4 = 9 Weg von A 2 nach B 3 : (A 2,B 2,A 1,B 3 ) B 23 = 8+1 5 3 = 1 Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 55
B 1 B 2 B 3 A 1 9 9 1 3 10 40 A 2 4 5 8 1 40 30 50 70 Dies ist die optimale Lösung! 40 40 40 440 Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 56
Vergleich zum Simplexalgorithmus Beispiel 1.7. Wir stellen für die Basislösung von Beispiel 1.2 das Simplextableau auf. Hierzu drücken wir die BVs x 11,x 12,x 22,x 23 durch die NBVs x 13,x 21 aus. x 11 +x 21 = 40 x 11 = 40 x 21 x 11 +x 12 +x 13 = 50 x 12 = 50 x 11 x 13 x 12 = 50 (40 x 21 ) x 13 x 12 = 10+x 21 x 13 x 13 +x 23 = 40 x 23 = 40 x 13 Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 57
x 21 +x 22 +x 23 = 70 x 22 = 70 x 23 x 21 x 22 = 70 (40 x 13 ) x 21 x 22 = 30+x 13 x 21 Wir setzen die Gleichungen in die Zielfunktion ein: 9x 11 +x 12 +3x 13 +4x 21 +5x 22 +8 23 = 9(40 x 21 )+(10+x 21 x 13 )+3x 13 +4x 21 +5(30+x 13 x 21 )+8(40 x 13 ) = 360 9x 21 +10+x 21 x 13 +3x 13 +4x 21 +150+5x 13 5x 21 +320 8x 13 = 840 x 13 9x 21 Also lautet die Zielfunktion z = min 840 x 13 9x 21 bzw. z = max 840+x 13 +9x 21 Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 58
Damit können wir das Startableau aufstellen: x 11 x 12 x 13 x 21 x 22 x 23 x 11 1 0 0 1 0 0 40 x 12 0 1 1 1 0 0 10 x 22 0 0 1 1 1 0 30 x 23 0 0 1 0 0 1 40 z 0 0 1 9 0 0 840 Man beachte: Die Schattenpreise in der Zielfunktionszeile sind identisch mit den Schattenpreisen aus den Beispielen 1.4 und 1.6. Im weiteren Verlauf: Basislösungen, Zielfunktionswerte und Schattenpreise ebenfalls identisch zu Beispiel 1.6. Übungsaufgabe Operations Research II Hochschule Bonn-Rhein-Sieg, WS 2013/14 59