Kapitel 0 Die duale Simplexmethode Bei der dualen Simplexmethode ist eine Startlösung oftmals leichter angebbar als bei der Simplexmethode für das ursprüngliche lineare Programm, da man keine Nichtnegativitätsanforderungen zu erfüllen hat Des weiteren ist die duale Simplexmethode ein wichtiges Verfahren zur Lösung von ganzzahligen linearen Programmen, dh, von linearen Programmen, bei denen die Lösung ganzzahlig sein soll Seien das primale Programm und z c T x min! Ax b (0) x 0 z b T y max! (02) A T y c das zugehörige duale Programm Wir setzen voraus, dass z endlich ist Definition 0 Ecklösung Ohne Beschränkung der Allgemeinheit sei A B (a,, a m ) eine Basis Ein Punkt y (y,, y m ) T heißt Ecklösung von (02), wenn a T i y c i für i,, m, (03) a T i y < c i für i m +,, n gelten Das heißt, die Nebenbedingungen, die durch die Basisvektoren von A B gegeben sind, sind mit Gleichheit erfüllt und die Nebenbedingungen mit den Nichtbasisvektoren als echte Ungleichung Seien A B die Inverse von A B mit der Darstellung A B b b m, dass heißt b i a j δ ij, i, j,, m, und y y a + + y m a m R m ein beliebiger Vektor Dann folgt (man beachte, die b i sind Zeilenvektoren) b i y y b i a + + y m b i a m y i, i,, m 49
Daraus erhält man insbesondere die Darstellung y (b y) a + + (b m y) a m (04) Die Ausartung in der dualen Simplexmethode, die im folgenden Satz ausgeschlossen ist, wird in seinem Beweis definiert, siehe auch Bemerkung 03 Satz 02 Hauptsatz der dualen Simplexmethode Sei z nach oben beschränkt und sei Ausartung ausgeschlossen Ist y R m eine Ecklösung und gilt b i b < 0 für wenigstens ein i,, m, so existiert eine Ecklösung ȳ mit größerem Wert der Zielfunktion z Beweis: Seien y eine Ecklösung, b l b < 0 und θ > 0 beliebig Es wird ein ȳ konstruiert, welches die Bedingungen des Satzes erfüllt Man bildet ȳ y θb T l Aus der Eckpunkteigenschaft (03) folgt a T i ȳ at i y θ a T i b T l a T i y c i, i,, m, i l, (05) 0 a T l ȳ at l y θ a T l b T l a T l y θ < c l (06) Damit man eine zulässige Lösung hat, muss auch a T i ȳ at i y θa T i b T l c i, i m +,, n, gelten Für wenigstens einen Index i gilt a T i bt l < 0 Anderenfalls, falls also a T i bt l > 0 für i m+,, n, sind die Nebenbedingungen für beliebig großes θ erfüllt Damit wäre z b T ȳ b T y θ b T b l <0 nv unbeschränkt im Widerspruch zur Voraussetzung Wir wählen ( ) a T θ min i y c i (07) im+,,n;b l a i<0 b l a i Wir nehmen an, dass θ von genau einem Index i k bestimmt wird Sonst hat man Ausartung Es gelten: ) ȳ erfüllt (05) und (06), das heißt, die Basisvektoren die in der Basis verbleiben erfüllen die Nebenbedingung mit Gleichheit und die neue Nichtbasisvariable mit Index l als echte Ungleichung 2) Für den Index k, der in die Basis aufgenommen werden soll, gilt 3) Aus der Wahl von θ folgt a T k ȳ at k y at k y c k c k, a T i ȳ at i y θat i bt l < c i, i m +,, n, i k Falls a T i bt l nichtnegativ ist, ist das Erfülltsein dieser Bedingung klar Ansonsten wurde bei der Wahl von θ gerade der Index k ausgewählt, der die k te Nebenbedingung a T k bt l < 0 für ȳ zu einer Gleichung werden lässt, ohne dass die anderen Nebenbedingungen mit a T i bt l < 0 verletzt werden 50
Aus ) 3) folgt, dass ȳ eine Ecklösung ist Ferner gilt z b T ȳ b T y θb T b T l > b T y Bemerkung 03 Ausartung im dualen Programm Ist der Index k bei der Wahl von θ in (07) nicht eindeutig, so liegt Ausartung vor Bemerkung 04 Unbeschränktheit der Zielfunktion Die Unbeschränktheit der Zielfunktion z ist an a T j bt l 0 für j m +,, n, zu erkennen Satz 05 Optimalitätskriterium Sei y eine Ecklösung von (02) und gelte b i b 0 für alle i,, m Dann ist y die Optimallösung von (02) und die Größen x i b i b stellen die Basisvariablen der Optimallösung des primalen Problems (0) dar Beweis: Es gilt mit (03) ( m ) z c i x i c i b i b y T a i b i b y T a i b i b b T y z } {{ } I m Nach dem starken Dualitätssatz, Satz 94, folgt die Aussage des Satzes Bemerkung zur Summe: Sei m a ib i C mit einer unbekannten Matrix C Multiplikation diese Gleichung von rechts mit a j, j,, m, ergibt Ca j a i b i a j δ ij a j für alle a j Da die {a j } eine Basis des R m bilden, gilt C I m Die duale Simplextabelle hat die Gestalt m + k n i c i Lösung c m+ c k c n c b b b a m+ b a k b a n l c l b l b b l a m+ b l a n m c m b m b b m a m+ b m a k b m a n z a T m+ y c m+ a T k y c k a T n y c n Wie bei der Simplexmethode, wird die Zeile l Hauptzeile und die Spalte k Hauptspalte genannt Das Pivotelement ist Aus den Nebenbedingungen des dualen linearen Programms (02) folgt, dass die Einträge in der letzten Zeile im Nichtbasisteil nichtpositiv sind Bemerkung 06 - In der Schlusszeile stehen die Größen, die man zur Berechnung von θ in (07) benötigt 5
- Die Spalte Lösung enthält eine Basislösung des primalen Problems Sei x R m der Vektor mit den Basisvariablen des primalen Problems Aus den Nebenbedingungen des primalen Problems folgt A B x b x A B b b b b m b Diese Basislösung ist im allgemeinen nicht zulässig, da sie negative Komponenten besitzt Gilt jedoch b i b 0 für alle i,, m, dann ist sie primale Optimallösung, siehe Satz 05 - Die Nichtbasisvektoren lassen sich als Linearkombination der Basisvektoren darstellen a j A B a mit einem unbekannten Koeffizientenvektor a Dieser lässt sich durch a A B a j berechnen, was in Komponentenschreibweise zu a j (b i a j ) a i, j m +,, n führt, siehe (04) - Falls man das Optimum des dualen Problems mit der dualen Simplexmethode gefunden hat, ist die Tabelle der dualen Simplexmethode eine Optimaltabelle für die primale Aufgabe Bemerkung 07 Herleitung der Transformationsregeln: Sei A B (a,, a m ) und sei  B (a,, a l, a k, a l+,, a m ) Dann ist A B ÂB b b m (a,, a l, a k, a l+,, a m ) b a b a 2 b a k b a m b l a b l a 2 b l a m b m a b m a 2 b m a k b m a m 0 0 b a k 0 0 0 0 b 2 a k 0 0 0 0 0 0 0 0 0 0 b m a k 0 : I (k) m Mit (ÂB ) ˆb ˆb m A B I(k) m (ÂB ), 52
oder b b l b m ˆb + (b a k )ˆb k ( )ˆb k ˆb m + (b m a k )ˆb k Damit stehen die Transformationsregeln da Für das Pivotelement gilt ˆb k Für die Hauptspalte erhält man daraus b l ˆb k a l b la l ˆb i b i (b i a k ) ˆb k ˆb ) i a l b i a l (b i a k ) (ˆbk a l 0 b ia k i l Für die Hauptzeile ergibt sich umittelbar ˆb k a j b la j, j 0, m +,, n, j k Damit ergibt sich auch die Rechteckregel ˆb i a j b i a j b i a k ˆbk a j b i a j b la j b i a k Zusammenfassung: Falls in der Spalte Lösung wenigstens ein b i b < 0 steht, zum Beispiel für i l, so transformiert man wie folgt: - setze a 0 b, - vertausche die Indizes l und k, - Pivotelement: ˆb k a l /( ), - Hauptspalte: ˆb i a l b ia k, i,, m, i l, - Hauptzeile: - Rechteckregel: ˆb k a j b la j, j 0, m +,, n, j k, ˆb i a j b i a j b la j b i a k, i,, m, i l, j 0, m +,, n, j k Die Rechteckregel wird auch auf die letzte Zeile angewandt Übungsaufgabe Das sind dieselben Regeln wie im primalen Fall! Beispiel 08 Wir betrachten noch einmal das Problem aus Beispiel 52: z 3x 2x 2 4x 3 x 4 min! 2 2 3 0 0 0 x 3 0 2 0 0 700 400 5 2 0 0 x 7 500 x 0 53
In Beispiel 52 hatten wir die Optimallösung x (320, 0, 20, 40, 0, 0, 0) T mit z 080 erhalten Das duale Problem zum obigen linearen Programm lautet z 700y + 400y 2 + 500y 3 max! 2 3 2 3 3 0 5 0 2 2 y 2 4 y 2 0 0 y 3 0 0 0 0 0 0 0 Wir nehmen uns die erste, dritte und fünfte Nebenbedingung des dualen Problems her und betrachte diese Bedingungen als Gleichungen: 2 3 0 5 y y 2 3 4 y 0 /5 0 0 y 3 0 4/5 Durch Einsetzen in die anderen Nebenbedingungen verifiziert man, dass man damit eine Ecklösung des dualen Problems gefunden hat Es ist A B (a, a 3, a 5 ) 2 3 0 0, 5 0 A B 0 0 0 /5 /5 b b 3, b 700 400 7/5 3/5 b 5 500 Damit kann man alle Größen für die duale Simplextabelle bestimmen: 2 4 6 7 i c i Lösung -2-0 0-3 400 3 2 0 3-4 20-2/5 0 -/5 /5 5 0-60 -4/5-4 -7/5-3/5-280 -27/5-5 -/5-4/5 Die Lösung ist nicht optimal, da 60 < 0 Damit ist l 5 die Hauptzeile Zur Bestimmung der Hauptspalte berechnet man ( ) a T { j y c j 27 θ min min j {2,4,6,7}, b l a j<0 b l a j 4, 5 4, 7, 4 } 5 3 4 Damit ist die Hauptspalte k 4 Mit den Transformationsregeln der Simplexmethode erhält man die neue duale Simplextabelle 2 5 6 7 i c i Lösung -2 0 0 0-3 320 8/5 /2 3/0-3/0 3-4 20-2/5 0 -/5 /5 4-40 7/0 -/4 7/20 3/20-080 -9/0-5/4-9/20 -/20 Damit ist das Optimum bestimmt Die Optimallösung des primalen Problems findet man in der Spalte Lösung ebenso den zugehörigen Zielfunktionswert 54
Die Lösung des dualen Problems y kann man im allgemeinen nicht direkt aus der dualen Simplextabelle ablesen In der letzten Zeile steht nämlich a T j y c j Das direkte Ablesen geht nur, wenn c j 0 und die a j Einheitsvektoren sind Das ist in diesem Beispiel gegeben, nämlich für die Indizes 5, 6, 7 Die Lösung des dualen Problems ist also y ( 5/4, 9/20, /20) T, mit dem Zielfunktionswert z 080 Im allgemeinen muss man noch ein lineares Gleichungssystem lösen, um die Lösung des dualen Problems zu berechnen 55