Lineare Optimierung: Simplexverfahren Phase Ⅰ Zur Erinnerung: Die Lineare Optimierungsaufgabe in Standardform lautet z = c T x + c 0 min (.) bei Ax = b, x 0. Revidiertes Simplexverfahren Mit dem Simplexverfahren konstruiert man eine Folge von Ecken von G (zulässiger Bereich), deren Elemente nicht steigende Zielfunktionswerte aufweisen. Sei x eine zulässige Basislösung und J B und J N zugehörige Indexmengen. Es gilt: b = Bx B + Nx N x B = B b B Nx N = B (b Nx N ) Es folgt: c T x = c N T x N + c B T x B = c N T x N c B T B Nx N + c B T B b = c N T x N + c B T (B Nx N + B b) = c N T x N + c B T x B Damit ergibt sich das zu (.) äquivalente, reduzierte Problem (c N T c B T B N)x N + c B T B b + c 0 min (.2) bei x B = B (b Nx N ) 0, x N 0 Bezeichnungen: q (c T N c T B B N) T q 0 c T B B b (+c 0 ) P B N p B b Damit ergibt sich die zu (.) und (.2) äquivalente Formulierung q T x N + q 0 min (.) bei x B = Px N + p 0, x N 0 und die Schreibweise in Tableau-Form x N T x B = P p z = q T q 0 (.4)
BEISPIEL (bereits mit Schlupfvariablen x 4, x 5, x 6 formuliert) z = x + 7x 2 + 2x + 48 min bei x 2x 2 x + x 4 = 2 2x 5x 2 x + x 5 = 4 x x 2 x + x 6 = x i 0 (i =,,6) x x 2 x x 4 = 2 2 x 5 = 2 5 4 x 6 = z = 7 2 48 Wir haben eine erste zulässige (da p = ( 2 4 ) 0) Basislösung x 0 = (0, 0, 0, 2, 4, ). DEFINITION Ein zulässiges Schema (d.h. p 0) heißt Simplexschema oder Simplextableau. Dieses ist zeilenweise zu lesen, d.h. x i = P ij x j + p j j J N (x) i J B (x) z = q j x j + q 0 j J N (x) Analyse des Schemas. Fall: Es gilt: q 0. Das Tableau ist optimal, d.h. der Punkt ( x B) = ( p ) ist zulässige Basislösung und x N 0 optimal. Das Schema ist entscheidbar. 2. Fall: Es gilt: k J N (x) mit q k < 0 und P ik 0 i J B (x). Das Tableau ist nicht optimal und nicht lösbar (unbegrenztes Fallen der Zielfunktion). Das Schema ist entscheidbar.. Fall: In allen anderen Fällen ist das Simplextableau nicht entscheidbar und es müssen Austauschschritte vorgenommen werden. 2
BEMERKUNG Das Schema aus BEISPIEL ist damit nicht entscheidbar. Das Simplexverfahren Das Ziel ist es, ausgehend vom vorliegenden Simplextableau mittels der folgenden drei Simplexregeln ein entscheidbares Simplextableau zu bestimmen. (SR) Wähle Spalte (Pivotspalte) k J N (x) mit q k < 0 minimal (im Fall der Mehrdeutigkeit k kleinstmöglich). (SR2) Wähle Zeile (Pivotzeile) l J B k (x) = {i J B (x): P ik < 0} und berechne t min { p i P ik : i J B k (x)} = p l t heißt charakteristischer Quotient. heißt Pivotelement. (SR) Führe mittels Austauschverfahren mit dem Pivotelement den Austausch x l x k durch. Für das Austauschverfahren gelten laut Gauß schem Algorithmus folgende Austauschregeln: P lk = P lj = P lj P ik = P ik P ij = P ij P lj P P ik lk j J N (x) {k}, i J B (x) {l} p l = p l p i = p i p l P P ik lk q j = q j P lj q P k lk q k = q k q P 0 = q 0 p l q lk P k lk Damit erhalten wir ein neues Simplextableau mit nicht größerem Wert q 0. Falls der Entartungsfall t = 0 im Verlauf der Austauschschritte nicht auftritt, so überführt das Simplexverfahren ein nicht entscheidbares Simplextableau in endlich vielen Schritten in ein entscheidbares Schema.
BEISPIEL 2 Gegeben sei wieder die Zielfunktion z aus BEISPIEL sowie das erste zulässige Simplextableau mit den Quotienten p i P ik mit i J B k (x). x 0 x x 2 x x 4 = 2 2 2 ( ) = 2 x 5 = 2 5 4 4 ( 2) = 2 x 6 = ( ) = z = 7 2 48 x x 6 x 2 x x 4 = 0 ( ) = x 5 = 2 2 2 ( ) = 2 x = z = 2 5 x 2 x 6 x 4 x x 2 = 0 x 5 = ( ) = x = 2 4 z = 2 x x 6 x 4 x 5 x 2 = 0 x = x = 2 5 z = 0 2 Wir haben die optimale Lösung x = (5,,,0,0,0) erhalten. 4
2. Gewinnung eines ersten Simplexschemas Phase des Simplexverfahrens Die Phase des Simplex-Verfahrens dient dazu, eine erste zulässige Basislösung zu bestimmen. Betrachte die Standardaufgabe (.) z = c T x + c 0 min bei Ax = b, x 0 Ohne Beschränkung der Allgemeinheit kann man voraussetzen, dass b 0 gilt. Andernfalls multipliziert man die Gleichungen in Ax = b mit b i < 0 (i =,. n) mit. Betrachte den erweiterten Bereich LEMMA G = {( x y ) Rn R m Ax + Iy = b, x 0, y 0}. Es gilt G {0} G. Ist (x, 0) Ecke von G, so ist x Ecke von G und umgekehrt. Um also eine Ecke x von G zu ermitteln, genügt es, eine Ecke (x, y ) von G zu bestimmen, für die y = 0 gilt. Dies versucht man mit der Hilfszielfunktionsmethode zu erreichen. Dazu betrachte die Hilfsaufgabe m h = y i min i= bei Ax + Iy = b, x 0, y 0 (.5) h wird Hilfszielfunktion genannt, y,, y m heißen künstliche Variablen. LEMMA 2 Sei eine Optimierungsaufgabe der Form (.) mit G gegeben und es existiere ein α ε R mit z(x) α x G. Dann besitzt (.) eine optimale Lösung, insbesondere auch eine optimale Ecke. SATZ Sei G = {x R n + : Ax = b} = {x R n : Ax = b, x 0}. Dann besitzt G mindestens eine Ecke. BEMERKUNG: Hier wird erstmalig keine Vollrangbedingung der Matrix A vorausgesetzt. 5
Beweis: Betrachte G und die Hilfsaufgabe (.5). Es gilt: i. ( x y ) = (0 b ) ist eine erste zulässige Basislösung von G, also ist G. ii. Wegen y 0 folgt h 0 für alle zulässigen ( x y ) G. Damit ist die Hilfsaufgabe lösbar und es existiert eine optimale Ecke ( x y ) (nach LEMMA 2). iii. Da G G {0} G. Für jedes bezüglich (.) zulässige x gilt ( x 0 ) G und der Zielfunktionswert ist h = h (( )) = 0. x 0 Weiterhin ist rg(a I) = m J B = m und J N = n. Wegen h = h (( x y )) = 0 ist y B = 0 und b = B ( x B y B) + N ( x N y N). Die (x-komponenten) der optimale(n) Basislösung erzeugen die rechte Seite des Linearen Gleichungssystems wie folgt: j J x ja j B or = b, wobei JB or J B {,, n} Falls nun J B or < m, so kann entweder durch Hinzunahme von weiteren Indizes j J B or die Matrix B or zu einer regulären Matrix B = (a j ) j B ergänzt werden (neue Basiskomponenten a j = 0 entartete Basis) oder die Matrix A besitzt keinen vollen Rang. Dann können aber überflüssige Zeilen gestrichen werden (s. Lineare Algebra: Gauss-Algorithmus). Mit Wiederholung der Überlegungen folgt die Behauptung. SATZ 2 Das Ausgangsproblem (.) besitzt genau dann eine zulässige Lösung, falls für den Optimalwert von (.5) gilt h min = 0. Beweis: i. und ii. laufen analog zum Beweis von SATZ. iii. zeigt die Implikation G h = 0. Es bleibt nun noch zu zeigen, dass auch h = 0 G. Es gilt: h = 0 y B = 0 und damit y = 0. Damit ist ( x B ) zulässige Basislösung des Ausgangsproblems (.) und G. 0 6
BEMERKUNG Die Lösung der Hilfsaufgabe (.5) wird in der Literatur auch als Phase der Simplexmethode bezeichnet, die Lösung der Originalaufgabe (falls G ) entsprechend als Phase 2. Falls in der Lösung von (.5) h 0 (d.h. h(y ) > 0) gilt, ist der zulässige Bereich G der Standardaufgabe (.) leer. Andernfalls hat man mit x eine erste Ecke von G gefunden. Konstruktion des ersten Simplexschemas für Phase 2 Die Hilfsaufgabe sei gelöst mit h min = 0. Dann wird wie folgt verfahren: i. Falls die Variable y i nicht mehr in der Basis ist, dann wird diese gestrichen (mit zulässiger Spalte) erstes zulässiges Schema für Phase 2 ii. Sei (ein) y l noch in der Basis. Da h min = 0, muss p l = 0 gelten. Fall : k J N mit 0: Austausch y l x k Fall 2: P lj = 0 j J N Streichung der l-ten Zeile BEISPIEL Gegeben sei folgendes lineares Optimierungsproblem: z = 2x + x 2 + x min bei x + 2x 2 + x = x x 2 x = 2x + x 2 = 2 x i 0 (i =,2,) Die Voraussetzung b i > 0 (i =,2,) wird durch Multiplikation der zweiten Nebenbedingung mit erfüllt, also x + x 2 + x = Außerdem sind drei Hilfsvariablen y i (i =,2,) erforderlich: x + 2x 2 + x + y = x + x 2 + x + y 2 = 2x + x 2 + y = 2 7
Das Optimierungsproblem wird in Tableau-Form geschrieben: x 0 x x 2 x y y 2 y x B GA y 2 0 0 2 y 2 0 0 I 2II y 2 0 0 0 2 2 III II h 2 4 2 0 0 0 6 IV + 4II z 2 0 0 0 0 V II x x x 2 x y y 2 y x B GA y 0 0 : x 2 0 0 II + I y 0 0 III I h 6 0 2 0 0 2 IV + 6I z 0 0 0 0 V I x 2 x x 2 x y y 2 y x B x 0 0 x 2 0 2 0 y 0 0 0 0 h 0 0 0 0 0 z 0 0 0 2 4 Da h min = 0, ist diese Basislösung optimal für Phase und es existiert eine für das Originalproblem zulässige Basislösung. Die künstliche Variable y ist noch eine Basisvariable (bezüglich Phase ), allerdings stellt sie im Tableau eine Nullzeile dar. Das Lineare Gleichungssystem hatte in der Originalaufgabe keinen vollen Rang. Die Zeile und Spalte zu y werden gestrichen. Wir erhalten das Simplex-Tableau für das Ausgangsproblem mit Basislösung x 2 = (, 4, 0). Diese ist bereits optimal, da q > 0. Falls die LOA die Voraussetzungen für Phase 2 die Existenz einer zulässigen Basislösung sowie die Vollrangbedingung der Matrix A nicht erfüllt, kann dies mit Hilfe der Phase des Simplex-Verfahrens aufgedeckt werden. 8