5 Das klassische Transportproblem Ein homogenes Gut soll von verschiedenen Lagerplätzen abtransportiert und so auf die Zielorte verteilt werden, dass dort der Bedarf der Kunden gedeckt wird Die Vorrats- und Bedarfsdaten sowie die jeweiligen Transportkosten pro Mengeneinheit zwischen Lager- und Zielorten sind gegeben Die Transportkosten sind zu minimieren Diese Aufgabe bezeichnet man als klassisches Transportproblem (auch Hitchcock-Problem) Modellierung: Gegeben: m Lagerplätzeimit Vorräten a i > 0 n Bedarfsträger j mit Bedarf b j > 0 c ij Kosten für den Transport einer Mengeneinheit des Gutes voninach j m Voraussetzung: a i = b j (Ausgeglichenheitsbedingung) Entscheidungsvariable:x ij : Menge des Gutes, die von i nach j transportiert wird Ziel: Die Transportkosten i,j c ij x ij sind zu minimieren Bilanzgleichungen: x 11 ++x 1n = a 1 x 21 ++x 2n = a 2 x 11 +x 21 ++x m1 = b 1 x 1n +x 2n ++x mn = b n x m1 ++x mn = a m Abtransport Anlieferung Daten:c R m n, b R m+n, Ã R m n c 11 1 1 a 1 1 1 c 1n c =, b a = m, Ã = 1 1 c b 1 m1 1 1 1 b n 1 1 1 c mn Lineares Programm: ( TP) : c T x min!, x R m n Ãx = b x 0 1
51 Eigenschaften des Problems Die Nebenbedingungen der Transportaufgabe weisen einige Besonderheiten auf Daraus ergibt sich die Möglichkeit, den Simplexalgorithmus an die spezielle Problemstruktur anzupassen Definition Eine Matrix A R m n heißt total unimodular, falls ihre Minoren nur Werte 1,0,1 annehmen Lemma 51 Die MatrixÃist total unimodular Beweis: (Induktion) Die Aussage ist richtig für 1 1-Minoren Von k k- auf(k+1) (k+1)- Minoren schließt man etwa mit Hilfe einer Fallunterscheidung über die Anzahl der Einsen in den Spalten der Minoren qed Lemma 52 Es gilt: Rangà = m+n 1 Beweis: Zunächst erkennt man aus der Struktur der Matrix Ã, dass diese Matrix nicht zeilenregulär ist, also Rangà m + n 1 gilt Insbesondere gilt für die m + n Zeilen ã k vonã: m k=1 ã k = m+n k=m+1 Steicht man (obda) die letzte Zeile vonã, so ändert sich der Rang nicht Durch geeignetes Streichen von Spalten findet man eine quadratische Teilmatrix R (m+n 1) (m+n 1) von à mit nichtverschwindender Determinante qed Aus dem Beweis dieses Lemmas ergibt sich zusammen mit der Ausgeglichenheitsbedingung die folgende Aussage Folgerung Das System Ãx = b ist stets lösbar Damit sind für ein Transportproblem zunächst folgende Besonderheiten des Systems der Nebenbedingungen gezeigt: 1 In jeder Spalte einer quadratischen Untermatrix vonãstehen höchstens zwei Einsen 2 à ist total unimodular 3 Jede Zeile vonãist Linearkombination der restlichen Zeilen 4 Rangà = m+n 1 5 Ãx = b ist stets lösbar Wegen der 3 und 4 Eigenschaft erhält man ein zu( TP) äquivalentes lineares Programm vom Typ III in Standardform, indem man eine beliebige (etwa die letzte) Zeile des GleichungssystemsÃx = b streicht: (TP) : c T x Min! Ax = b x 0 x R m n ã k A R (m+n 1) (m n) RangA = m+n 1 Die Besonderheiten der Aufgabe übertragen sich auch auf eine Basislösung von Ax = b und die zugehörige kanonische Form Satz 53 Jede BasismatrixA B vonahat Dreiecksgestalt 2
Beweis: Sei [ x,i] eine Basislösung von Ax = b mit Basisvariablen x B, Nichtbasisvariablen x N und der BasismatrixA B, die regulär ist Es gibtn+m 1 Basisvariable Wir betrachten zunächst das System Ãx = b Die Matrix ÃB sei diejenige Matrix, die aus à durch Streichen der Spalten zu x N entsteht A B ist eine Teilmatrix von ÃB Damit ist à B 0 Nach Eigenschaft 3 ist jede Zeile von ÃB eine Linearkombination der restlichen Zeilen Damit ist wegen der Regularität von A B die letzte Zeile von ÃB verschieden vom Nullvektor Die letzte Zeile von Ãx = b enthält also wenigstens eine Basisvariable Analog lässt sich diese Eigenschaft für jede Zeile vonãx = b zeigen Wir betrachten jetzt beide Systeme Angenommen, jede Zeile von Ax = b würde mindestens zwei Basisvariable enthalten Dann ergäbe sich folgende Bilanz für die Anzahl der Basisvariablen im SystemÃx = b : m+n 1 2m (bzgl der erstenmzeilen) m+n 1 2(n 1)+1 (bzgl der letztennzeilen) Aus der Summe beider Ungleichung ergibt sich ein Widerspruch zur Annahme Im System Ax = b enthält nun etwa die Zeile m + 1 genau eine Basisvariable, etwa x 11 mit Wert b 1 Jetzt streicht man die (m+1) te Zeile (die restlichen Nichtbasisvariablen x 21,,x m1 setzt man Null) und ersetzt a 1 durch a 1 b 1 Das verbleibende System (ohne die Variablen x 11,,x m1 ) gehört zu einem Transportproblem kleiner Größenordnung Induktion über die Zeilenzahl liefert bei entsprechender Reduktion der Variablen schließlich die Behauptung qed Der Satz besagt, dass sich die Werte der Basisvariablen durch Dreiecksauflösung des Systems A B x B = b berechnen lassen Da die Matrix A total unimodular ist, treten hierbei nur Operationen + und auf Folgerung Fürb Z m+n + istx B Z m + Sei[ x,i] eine Basislösung vonax = b Dann kann die kanonische Form der Zielfunktion mit Hilfe der zugeordneten dualen Variablen erzeugt werden Bezeichnungen: u 1,,u m duale Variable bzgl der ersten m Gleichungen v 1,,v n 1 duale Variable bzgl der letzten n 1Gleichungen v n := 0 Freiheitsgrad; Streichen der letzten Zeile vonãx = b Π = (u 1,,u m,v 1,,v n 1 ) T Vektor der Simplexmultiplikatoren bzgl(tp) Π = (u 1,,u m,v 1,,v n 1,v n ) T Vektor der Simplexmultiplikatoren bzgl( TP) Satz 54 Sei[ x, I] eine Basislösung von Ax = b und c der Kostenvektor Dann lässt sich der Vektor der zugeordneten Simplexmultiplikatoren durch Dreiecksauflösung aus ū i + v j = c ij für(i,j) mitx ij BV bestimmen Die reduzierten Kostenkoeffizienten c ij ergeben sich aus c ij = c ij (ū i + v j ) für (i,j) mitx ij NBV Beweis: Seien A B die Basismatrix und c B der Kostenvektor zu den Basisvariablen x B bzgl der Basislösung [ x,i] Die Simplexmultiplikatoren Π berechnen sich nach Satz 63 durch Dreiecksauflösung des Systems A T B Π = c B Mit Π ergibt sich aus c T x N = Q(x) Π T b die 3
kanonische Form der Zielfunktion Unter Beachtung der Bilanzgleichungen m x ij = a i füri = 1,,m und m x ij = a i fürj = 1,,n erhält man mit v n = 0 dann ( m m ) m c ij x ij = c ij x ij a i ū i + b j v j = (c ij ū i v j )x ij (i,j) I }{{} c T x N } {{ } Q(x) } {{ } Π T b Ein Koeffizientenvergleich vor den Variablen x ij liefert die Behauptung qed Folgerung Sind die Kosten c ij für alle(i,j) ganzzahlig, dann sind auch dieū i und v j sowie die reduzierten Kosten c ij ganzzahlig Lemma 55 Sei [ x,i] eine Basislösung von Ax = b mit Basismatrix A B Dann hat die MatrixĀ = A 1 B A N nur Einträge 1,0,1 Diese berechnen sich durch Dreiecksauflösung Beweis: Die Behauptung folgt aus der totalen Unimodularität von Ã, der Regularität von A B und der Cramerschen Regel, jeweils angewandt auf die Lösung des linearen GleichungssystemsA B ā j = (A N ) j qed Das Lemma besagt, das die aktuellen Daten in Ā stets durch Dreiecksauflösung mit (+, )-Operationen berechenbar sind Ein Basistausch zwischen einer Basisvariablen x irj r und einer Nichtbasisvariablenx isj s kann nur erfolgen, falls ā rs = 1 gilt: x δ B = x B ā s δ Dabei sind δ 0 und r so zu bestimmen, dass x irj r δ = 0 und x δ B 0 gilt Über die Bilanzgleichungen ergibt sich ein Austauschkreis (auch als geschlossene Reaktionskette bezeichnet) zwischen Geberfeldern mitā ij = +1 und Nehmerfeldern mitā ij = 1: Bestimme(i s j s ) mit c isj s < 0 (Pivotspalte) x isj s mit(i s j s ) I wird neue Basisvariable (Empfängerfeld) Berechne ā s aus A B ā s = (A N ) s und setzej := {(i µ,j µ ) I ā µs = +1} Bestimme(i r,j r ) I aus x irj r = Min{ x iµ,j µ (i µ,j µ ) J} (Pivotzeile) x irj r wird neue Nichtbasisvariable (Geberfeld) Bestimme den Austauschwertδ := x irj r Setze x i sj s = δ (Wert der neuen Basisvariablen) Berechne die Werte der restlichen neuen Basisvariablen über den Austauschkreis Für ein Transportproblem sind insbesondere folgende Besonderheiten einer Basislösung [ x,i] vonax = b, der zugehörigen kanonischen Form und eines Basistausches gezeigt: 1 Die Basismatrix A B von A hat nach geeigneten Zeilen- und Spaltenvertauschungen Dreiecksgestalt 2 Sind die Vorrats- und Bedarfsdaten ganzzahlig, dann sind die Werte der Basisvariablen ganzzahlig 3 Der zugeordnete duale Schnittpunkt π lässt sich durch Dreiecksauflösung bestimmen Sind die Kosten ganzzahlig, dann ist auch π ganzzahlig 4 Die Werte der Basisvariablen in einer Nachbarbasislösung lassen sich über einen Austauschkreis bestimmen Und schließlich gilt noch: Lemma 56 Das Transportproblem besitzt stets ein endliches Optimum Beweis: Der zulässige Bereich ist nichtleer und kompakt 4 qed
52 Transportalgorithmus Die Eigenschaften des Transportproblems gestatten eine Modifizierung des Simplexalgorithmus Insbesondere werden die Sätze 63 und 64 sowie das Lemma 65 ausgenutzt ALGORITHMUS 4 (Transportalgorithmus) Input: m,n,c ij,a i,b j Phase I: Bestimmung einer zulässigen Anfangsbasislösung Phase II: Optimierung mit Startlösung[ x,i] IV1 Berechnung der reduzierten Kostenkoeffizienten Setze v n := 0 (i,j) I: Berechne ū i, v j ausū i + v j = c ij (i,j) I: Berechne c ij aus c ij = c ij (ū i + v j ) Tabelle: IV2 Optimalitätstest c 11 c 12 c 13 c 1n ū 1 c 21 c 22 c 23 c 2n ū 2 c m1 c m2 c m3 c mn ū m v 1 v 2 v 3 v n = 0 Ist c ij 0, dann ist das Optimum gefunden Sonst wähle ein Paar (i s,j s ) I mit c isj s < 0 IV3 Basisaustausch (Pivotelement und Austauschwert suchen) Berechne Ā s aus A B Ā s = (A N ) s Setze J := {(i µ,j µ ) I ā µs = 1} STOP TP Output: Optimum Bestimme(i r,j r ) I mit x irj r = Min{ x iµ,j µ (i µ,j µ ) J} Setze δ := x irj r Setze I := ( I\{(i r,j r )} ) {(i s,j s )} (dh x isj s ist neue BV, x irj r ist neue NBV) IV4 Berechnung des neuen Basispunktes (Austauschkreis realisieren) Berechne x : x i µj µ := x iµj µ δ ā µs für (i µ,j µ ) I x i rj r = 0 x i sj s := δ (Wert der neuen BV) x i νj ν := 0 für (i ν,j ν ) ( I {(i s,j s )} ) Tabelle: x 12 x 1n a 1 x 21 x 23 δ δ a 2 x m3 +δ x mn δ a m b 1 b 2 b 3 b n Fahre mit x := x, I := I bei IV1 fort 5
53 Anfangsbasislösung, Modellierung Eine Basislösung[ x,i] ist durch folgende Eigenschaften charakterisiert: m n (m+n 1) Nichtbasisvariable sind gleich0 Das Restsystem zur Berechnung der Basisvariablen hat Dreiecksgestalt Der zulässige Bereich ist stets nichtleer, also wird in Phase I stets eine Anfangsbasislösung bestimmt Dafür gibt es verschiedene Ansätze Anfangsbasislösung: zwei einfache Varianten 1 Nord-West-Ecken-Regel Start: x 11 wird Basisvariable mit x 11 := Min{a 1,b 1 } Im Fall a 1 b 1 werden die Varaiblen x 12,,x 1n Nichtbasisvariable, sonst die Variablen x 21,,x m1 Eine entsprechende Reduktion des Systems führt auf ein kleineres Transportproblem In diesem Problem wird wieder die erste Variable der ersten Zeile als nächste Basisvariable festgelegt Diese Prozedur führt zu einer zulässigen Basislösung 2 Minimalkostenregel Start:x st mitc st = Min (i,j) {c ij } wird Basisvariable mit dem Wertx st := Min{a s,b t } Die Reduktion des Systems erfolgt analog zur Nord-West-Ecken-Regel Im reduzierten Problem wird wieder diejenige Variable mit kleinsten Kosten als nächste Basisvariable festgelegt Diese Prozedur führt zu einer zulässigen Basislösung Bemerkungen zur Modellierung: 1 Falls die Ausgeglichenheitsbedingung nicht erfüllt ist, dann werden entsprechende Dummy-Orte eingeführt und die Transportwege mit konstanten Kosten belegt 2 Falls gewisse Transportwege nicht zur Verfügung stehen, dann führt man dort sehr hohe Kosten ein, so dass diese Transportwege in der Optimallösung nicht auftreten 2 Das Zuordnungsproblem kann als Transportproblem modelliert werden mit m = n und a i = b j = 1 für allei,j 54 Zuordnungsproblem In einer gegebenen Menge von n Quellen i {1,,n} und n Senken j {1,,n} sei eine kostenminimale Zuordnung gesucht Jede Zuordnung lässt sich durch eine bijektive Abbildung zwischen Quellen und Senken, also durch Permutationen π n = (π n (1),,π n (n)) auf der endlichen Menge {1,,n} beschreiben Damit erhält man das folgende kombinatorische Optimierungsproblem: (ZP) : c iπn(i) min π n! Der zulässige Bereich dieser Aufgabe ist endlich und enthältn! Elemente Das Zuordnungsproblem ist also zunächst ein diskretes Optimierungsproblem Dieses Problem kann man auch als lineares Optimierungsproblem formulieren Lemma 57 Das Zuordnungsproblem lässt sich als Transportproblem mit a i = b j = 1 für allei,j {1,,n} formulieren 6
Beweis: Die Behauptung ergibt sich mit der Wahl folgender Entscheidungsgrößen: { 0, fallsj π n (i) x ij = i,j 1, fallsj = π n (i) Damit ist das Zuordnungsproblem (ZP) äquivalent zur Transportaufgabe (ZP) : c ij x ij min! i, x ij = 1 j x ij = 1 i x ij 0 i,j, die nach der Folgerung aus Satz 53 stets ganzzahlige Optimallösungen besitzt Damit lässt sich das Zuordnungsproblem mit dem Simplexalgorithmus lösen qed 7