5 Lineare Programmierung Simplex-Algorithmus Der Simplex-Algorithmus Standardverfahren zur Lösung von LPs, von G B Dantzig entwickelt Grundidee: Versuche ausgehend von einer Startecke mit einer Ausgangsbasis durch Basisaustausch zu einer Ecke mit besserem Zielfunktionswert fortzuschreiten Da es nur endlich viele Ecken gibt, erhält man nach endlich vielen Schritten die optimale Lösung Einf ührung in die Graphentheorie FH Bonn-Rhein-Sieg, WS 4/5 77
5 Lineare Programmierung Simplex-Algorithmus Beispiel 56 Wir bleiben beim Problem des Eisverkäufers und ordnen die Daten in einem Tableau an: x x 2 x x 4 x 5 b i x x 4 5 2 x 5 9 z 25 Die Strukturvariablen x, x 2 sind NBV, die Schlupfvariablen x, x 4, x 5 sind BV Die Werte der BV ergeben sich aus den Nebenbedingungsgleichungen, die durch die Zeilen des Tableaus repräsentiert werden Letzte Zeile ist Zielfunktionszeile, Zielfunktionswert ganz rechts Einf ührung in die Graphentheorie FH Bonn-Rhein-Sieg, WS 4/5 78
5 Lineare Programmierung Simplex-Algorithmus Basisaustausch: x verspricht den größeren Zuwachs, x -Spalte ist die Pivotspalte x kann höchstens den Wert /5 = 6 annehmen, x 4 wird dann Null x 4 -Zeile ist die Pivotzeile Pivotspalte und Pivotzeile schneiden sich im Pivotelement, hier a 2 = 5 Die Pivotzeile entspricht der Gleichung 5x + 2x 2 + x 4 = Somit x = 6 2 5 x 2 5 x 4 Dies setzen wir in alle übrigen Gleichungen ein Für die erste Zeile erhalten wir ( 6 2 5 x 2 5 x 4) +x2 +x = Dies ergibt 5 x 2 + x 5 x 4 = 4 Die Pivotzeile wird zu x + 2 5 x 2 + 5 x 4 = 6 Die dritte Zeile bleibt unverändert, da x dort nicht auftritt Einf ührung in die Graphentheorie FH Bonn-Rhein-Sieg, WS 4/5 79
5 Lineare Programmierung Simplex-Algorithmus Die Zielfunktionszeile wird zu (6 2 5 x 2 5 x 4) 25x 2 + z =, also x 2 + 6x 4 + z = 8 Das neue Tableau: x x 2 x x 4 x 5 b i x 4 5 5 2 x 5 5 6 x 5 9 z 6 8 Man dividiert also die Pivotzeile durch den Pivotwert Zu den übrigen Zeilen addiert man ein Vielfaches der Pivotzeile, so daß in der Pivotspalte Nullen entstehen Einf ührung in die Graphentheorie FH Bonn-Rhein-Sieg, WS 4/5 8
5 Lineare Programmierung Simplex-Algorithmus Durch Vertauschen der Spalten für x und x 4 bringt man das Tableau wieder in die übliche Form: x 4 x 2 x x x 5 b i x 5 5 4 2 x 6 5 5 x 5 9 z 6 8 Die zugehörige Ecke ist 6 4 9 Einf ührung in die Graphentheorie FH Bonn-Rhein-Sieg, WS 4/5 8
5 Lineare Programmierung Simplex-Algorithmus Der nächste Austauschschritt liefert das Tableau: Das heißt in der Ecke wird das Optimum mit z = 8 angenommen x 4 x x 2 x x 5 b i x 2 5 2 x 2 x 5 5 7 5 65 8 z 2 7 Einf ührung in die Graphentheorie FH Bonn-Rhein-Sieg, WS 4/5 82
5 Lineare Programmierung Simplex-Algorithmus Algorithmus 5 [Simplexalgorithmus] Start: Es liege ein kanonisches Maximumproblem (b i, i =,, m) vor Ecke des Ausgangstableaus ist: x x n m x n m+ x n = b b m mit z = Schlupfvariablen sind BV, Strukturvariablen sind NBV Einf ührung in die Graphentheorie FH Bonn-Rhein-Sieg, WS 4/5 8
5 Lineare Programmierung Simplex-Algorithmus Ausgangstableau: x x t x n m x n m+ x n m+s x n b i x n m+ a a t a,n m b x n m+s a s a s,n m b s x n a m a mt a m,n m b m z c c t c n m Wahl der Pivotspalte: Ist die Zielfunktionszeile von der Gestalt z d d t d n m d mit d j, (j =,, n m), so liegt eine Optimallösung vor Einf ührung in die Graphentheorie FH Bonn-Rhein-Sieg, WS 4/5 84
5 Lineare Programmierung Simplex-Algorithmus Andernfalls mache man eine Spalte t mit negativem d j zur Pivotspalte und die NBV x t zur BV Wahl der Pivotzeile: Sind in der Pivotspalte alle a it, so wächst z unbeschränkt, da x t unbeschränkt wachsen kann Es gibt dann keine Optimallösung Andernfalls bestimme man eine Zeile s durch b s = min m i= b i a it für a it > Die NBV x t wird BV und bekommt den Wert b s Die bisherige BV x n m+s wird BV und nimmt den Wert an Einf ührung in die Graphentheorie FH Bonn-Rhein-Sieg, WS 4/5 85
5 Lineare Programmierung Simplex-Algorithmus Austauschschritt: Das neue Tableau lautet: Linke Hälfte: x x t x n m a a t a s a,n m a t a s,n m a s a s,n m a m a mt a s a m,n m a mt a s,n m z d d t a s d n m d t a s,n m x n m+ x t x n Einf ührung in die Graphentheorie FH Bonn-Rhein-Sieg, WS 4/5 86
5 Lineare Programmierung Simplex-Algorithmus Rechte Hälfte: x n m+ x n m+s x n b i a t b b s a t b s a mt b m b s a mt d t d b s d t Terminierung: Wenn alle Koeffizienten der Zielfunktionszeile nichtnegative Werte haben, beschreibt das Tableau eine optimale Ecke Rechts unten steht z max Einf ührung in die Graphentheorie FH Bonn-Rhein-Sieg, WS 4/5 87