VORLESUNG 12 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt) 53
Wiederholung! Basis-Startlösung berechnet! Künstliche Variablen! Erkennung von unlösbaren Problemen! Eliminierung von künstlichen Variablen aus Basis => Startlösung! Simplextableau als formale Darstellung des Algorithmus! Zunächst kanonische Form! Schlupfvariablen für Standardform! Anwendung von Gauß-Elimination! Raum der zulässigen Lösungen ist konvexes Polyeder 54
Beobachtungen zur Simplex-Methode Revidierte Simplex-Methode! In jeder Iteration wird eine Basislösung durch eine andere ersetzt! Zur Berechnung der neuen Basislösung wird nur ein kleiner Teil des Tableaus benutzt! Idee:! Nicht die komplette Matrix zu aktualisieren! Statt dessen: Nur den Teil berechnen, der gebraucht wird! Führt zur revidierten Simplex-Methode! Andere Beschleunigungen existieren! Besprechen wir nicht im Detail, siehe Literatur 55
Struktur des Lösungsraums! Theorem: Ein x 2 ZL := { x 2 R n Ax = b, x } kann genau dann nicht! als Konvexkombination anderer Lösungen von ZL ausgedrückt werden,! wenn die Spalten von A, die zu positiven Komponenten von x gehören, linear unabhängig sind. Bezeichnungen zum Beweis:! O.B.d.A. seien die ersten p Komponenten von x positiv und die letzten n-p gleich.! x enthalte die ersten p Komponenten von x.! Dann ist x = (x, ), x >.! Seien die ersten p Spalten von A bezeichnet als A.! Offenbar: Ax = A x = b 56
Beweis, Richtung 1 (=>, KPS) Theorem: Ein x 2 ZL := { x 2 R n Ax = b, x } kann genau dann nicht als Konvexkombination anderer Lösungen von ZL ausgedrückt werden, wenn die Spalten von A, die zu positiven Komponenten von x gehören, linear unabhängig sind.! Annahme: Spalten von A sind nicht linear unabhängig.! Dann gibt es w mit A w =.! A (x ɛw ) = A x = b und, wenn ɛ klein genug ist, gilt x ɛw >.! y := (x +ɛw, ) und y := (x -ɛw, ) sind Lösungen von ZL.! Da x = ½ (y + y ), ist x als Konvexkombination zweier Lösungen schreibbar.! falls Lsg. x nicht als Konvexkombination von anderen Lösungen geschrieben werden kann, sind die betrachteten Spalten von A linear unabhängig. 57
Beweis, Richtung 2 (<=, KPS) Theorem: Ein x 2 ZL := { x 2 R n Ax = b, x } kann genau dann nicht als Konvexkombination anderer Lösungen von ZL ausgedrückt werden, wenn die Spalten von A, die zu positiven Komponenten von x gehören, linear unabhängig sind.! Annahme: x lässt sich schreiben als x = λy + (1-λ)y, wobei y und y aus ZL seien, sowie < λ < 1, y y, und damit auch x y und x y.! Da λ und (1-λ) echt positiv sind, sind die letzten n-p Komponenten von y und y gleich.! Da sowohl x als auch y aus ZL, also Lösungen von Ax = b, sind, gilt: A(x-y ) = Ax Ay = b-b =! es gibt w 2 R n mit Aw = und w n-p,...,w n =, d.h., eine der Spalten von A lässt sich als Linearkombination der anderen Spalten schreiben.! Die Spalten von A sind nicht linear unabhängig.! Falls die betrachteten Spalten von A linear unabhängig sind, lässt sich x nicht als Konvexkombination anderer Elemente aus ZL schreiben 58
Strahl! Def.: Ein Strahl eines LPs Ax = b, c, c T x max mit Menge zulässiger Lösungen ZL := {x = } ist ein Vektor d, d n, so dass x ZL mit { x n x = x + d, } ZL.! Offensichtlich gilt: Ein LP ist genau dann unbeschränkt, wenn es einen Strahl darin gibt.! Und: d ist Strahl weil: Ax = Ax + A d = b = Ax. Also: Ad = 59
Konvexkombinationen im Lösungsraum! Theorem: Jedes x 2 ZL kann als x = d + Σ y 2 ZBL(LP) y y mit Σ y 2 ZBL(LP) y = 1, y (Konvexkombination) für alle y ZBL(LP) und d = oder d Strahl dargestellt werden. ZBL(LP): Menge aller zulässigen Basislösungen von LP.! Beweis: Folgt aus der Aussage, dass eine Konvexkombination von einer endlichen Zahl von Elementen einer konvexen Menge auch zu der Menge gehört. 6
Nicht-leere ZL Sei Ax = b, c, c T x max ein LP und ZL := {x = } die Menge der zulässigen Lösungen.! Theorem: Wenn ZL nicht leer ist, dann gibt es auch zulässige Basislösung.! Beweis: Folgt aus vorigem Theorem.! Theorem: Wenn ZL nicht leer ist, dann gibt es! entweder keine obere Schranke für z = c T x oder! eine ZBL, an der z angenommen wird.! Beweis: Fall a): Es gibt einen Strahl d in ZL derart, dass c T d >. Dann ist ZL unbeschränkt und z! 1.! Fall b): Siehe Tafel. 61
Polyeder als Konvexkombinationen! Beobachtungen:! Die Konvexkombinationen der ZBL eines LPs bilden ein Polytop.! Die nichtnegativen Linearkombinationen aller Strahlen eines LPs bilden einen Kegel.! Die Menge der zulässigen Lösungen eines LPs bilden einen Polyeder.! Definition: Die Extrempunkte eines Polyeders werden Ecken genannt. Extrempunkte: Punkte, die sich nicht als Konvexkombinationen anderer Punkte darstellen lassen. 62
Fazit! Theorem: Ein x 2 ZL := { x 2 R n Ax = b, x } kann genau dann nicht als Konvexkombination anderer Lösungen von ZL ausgedrückt werden, wenn die Spalten von A, die zu positiven Komponenten von x gehören, linear unabhängig sind.! Theorem: Jedes x 2 ZL kann als x = Σ y 2 ZBL(LP) y y + d mit Σ y 2 ZBL(LP) y = 1, y für alle y ZBL(LP) und d = oder d Strahl dargestellt werden.! Theorem: Wenn ZL nicht leer ist, dann gibt es auch zulässige Basislösung.! Theorem: Wenn ZL nicht leer ist, dann gibt es! entweder keine obere Schranke für z = c T x oder! eine ZBL, an der z angenommen wird.! Fazit: Zulässige Basislösung (zu einer Basis B) = Ecke 63
Degeneriertheit des Lösungsraums (1)! Beobachtung: Für A 2 R m n gibt es k := n über m Möglichkeiten, m Spalten auszuwählen.! Also: Es gibt höchstens k verschieden Basen, die den Lösungsraum aufspannen.! Außerdem: Verschiedene Basen B 1, B 2 können dieselbe (primal) zulässige Lösung erzeugen.! Definition: (Degeneriertheit) Eine (primal) zulässige Basislösung x heißt degeneriert, wenn x mehr als n-m Nulleinträge hat. 64
Degeneriertheit des Lösungsraums (2) Def.: Eine Ecke x eines Polyeders M, welcher durch den Schnitt von m Halbräumen definiert wurde, heißt analog zu vorher degeneriert, wenn x weniger als m positive Komponenten besitzt. Bsp.: zulässiger Bereich im R 2 sei durch 5 Ungleichungen gegeben: a i1 x 1 + a i2 x 2 b i (i = 1,2,3) x 1, x 2, wobei sich die 3 Geraden g i : a i1 x 1 + a i2 x 2 = b i in einem Punkt P schneiden sollen. g 2 g 1 a 11 a 12 1 x 1 entspricht: Ax = b, x mit A = a 21 a 22 1, x = x 2, b = g 3 a 31 a 32 1 x 3 b 1 b 2 b 3 x 2 x 1 Überlegung: die P entsprechende Ecke x hat höchstens 3 positive Komponenten, wegen rank(a) = 3. Längs der Geraden g 1, g 2, g 3 ist x 3 =, bzw. x 4 =, bzw. x 5 =. Da P auf allen 3 Geraden liegt, folgt: x3 = x4 = x5 =. => nur 2 positive Komponenten 65
Korrektheit des Simplex-Algorithmus Fahrplan:! Das vorgestellte Pivoting im Algorithmus lässt sich als Multiplikation einer invertierbaren Matrix (der sogenannten eta-matrix) von links an A darstellen.! Der Simplexalgorithmus wandert von einer Ecke des Lösungsraums zu einer anderen, wobei der Zielfunktionswert nie verschlechtert wird.! Falls eine Basislösung nicht-degeneriert ist, verbessert sich der Zielfunktionswert.! Wenn der Simplexalgorithmus terminiert, hat er eine global optimale Lösung gefunden. 66
Eta-Matrix Betrachte: 1 -a 1r /a sr... a 1j a 1j a sj a 1r /a sr E:= 1 -a s,r /a sr...... 1/a sr...... -a s+1,r /a sr 1 a sj = a s,j a sj a s,r /a sr a sj /a sr a s+1,j a sj a s+1,r /a sr... -a m,r /a sr 1 a mj a mj a sj a mr /a sr s-te Spalte für Gesamtmatrix A: s-te Zeile: a s* = a s* / a sr sonst: a i* = a i* - a s* a ir / a sr Pivotschritt 67
Eta-Matrix und ihre Inverse zudem: 1 a 1r... E E = I 1 a s,r...... a sr...... a s+1,r 1... a m,r 1 1 -a 1r /a sr... 1 -a s,r /a sr...... 1/a sr...... -a s+1,r /a sr 1... -a m,r /a sr 1 1 1 68
Eta-Matrix und SA-Aktualisierung Beobachtung: 1) Der Pivotschritt des Simplex kann als Multiplikation der Matrix E mit A und b geschrieben werden: EAx = Eb Also: Alte Basis B, neue Basis B ; A B := EA B 2) E ist invertierbar. Also gilt nach jedem Simplexschritt: A B Ax = A B b Ax = b mit A B = (E k E k...e 1 ) und x = (x B,x N ) = (A B b,) ist eine Basislösung von Ax = b Offen: Was passiert inzwischen mit der Zielfunktionszeile? 69
Benachbarte Basen Definition: Es sei L: Ax = b, c T x max ein LP. 1) Zwei Basen A B, A B heißen benachbart, wenn B\B = B \B = 1 ist (alle Basisspalten bis auf eine gleich). 2) Sind A B, A B benachbart, so heißen auch ihre (primal) zulässigen Basislösungen benachbart. Bezeichnungen: Seien: L: Ax = b, c T x max ein LP, A B Basis, mit A = (A B,A N ), x = (x B,x N ) T, c T = (c B,c N ) L(B) : x B + A B A N x N = A B b und c BT A B b + (c N T c BT A B A N )x N max konstant für A B zu maximieren reduzierte Kosten Beobachtung: L und L(B) sind äquivalent zueinander. 7
Einfluss der Basis B Ax = b c T x max (A B,A N ) x B x N = b (c BT,c NT ) x B x N max A B x B + A N x N = b x B + A B A N x N = A B b (x B = A B b A B A N x N ) c BT x B +c NT x N max x B = A B b-a B A N x N c BT (A B b - A B A N x N ) + c NT x N max c BT A B b + c NT x N c BT A B A N x N max c BT A B b + (c NT -c BT A B A N )x N max 71
Pivotschritt und Zielfunktion Was passiert beim Pivotschritt mit der Zielfunktionszeile? ~ c j := c j c r a sj / a sr Beh.: Die letzte Zeile des Tableaus enthält den Vektor der reduzierten Kosten: c N T c BT A B A N Bew: Vollständig in der Übung! Induktion über Anzahl der Iterationen: IA: zu Beginn: A B = I, c B =, B Basis, Pivotelement a sr Pivotschritt: Algorithmus: reduzierte Kosten: c ~ ~ j = c j c r a sj / a sr c T N = c T N c BT EA N ~ c j = c j c BT (EA) *j, j N c B T = (,..,,c r,,..,) ~ c j = c j c r a~ ~ sj c j = c j c r a~ sj s-te Stelle 72
Anzahl der Basen Satz: Es sei L: Ax = b, c T x max LP und jede (primal) zulässige Basislösung sei nicht-degeneriert. Ist A B primal zulässige Basis und a r eine Spalte von A N, dann enthält (A B,a r ) höchstens eine primal zulässige Basis A B A B. Beweis: Betrachte x B + A B a r x r = A B b bedenke: x B + A B A N x N = A B b x B, x r (*) x N = (,...,,x r,,...,) 1. Fall: A B a r. (a r sei die r-te Spalte von A, also A B a r die aktuelle r-te Spalte) x r = x N =. Sei also x r > λ >. Für alle λ > gilt x B = A B b (A B a r )λ A B b > (A B b nicht degeneriert) Also folgt für jede zulässige Lösung x = (x B,x N ) von (*) mit x r > auch x B >. Also ist A B einzige PZB in (A B,a r ). 73
Beweis (Forts.) Satz: Es sei L: Ax = b, c T x max LP und jede (primal) zulässige Basislösung sei nichtdegeneriert. Ist A B primal zulässige Basis und a r eine Spalte von A N, dann enthält (A B,a r ) höchstens eine primal zulässige Basis A B A B. 2. Fall: es gibt i {1,..,m} mit (A B a r ) i >. (i-te Komponente der r-ten Spalte) (A Sei λ r = min{ B b) i (A (A B a r ) i > } =: B b) s (A B a r ) i (A B a r ) s Dann ist x = A B b (A B a r )λ Lösung von (*) mit x s = (A B b) s (A B a r ) s λ = Damit ist B (r) := B {r} \ {s} PZB. Weil jede PZBL nicht-degeneriert ist, ist (A B b) i (A B a r ) i λ r > für alle i B (r). Daher: λ r eindeutig bestimmt und jede andere Basis B mit B = B {r} \ {k}, k s nicht primal zulässig. 74
Korrektheit der Abbruchkriterien Folgerung: Es sei L: Ax = b, c T x max LP und A B nicht-degenerierte PZB von L und es gebe c r := c r c B A B A r > a) Falls a r := A B a r, dann L unbeschränkt b) Falls es eine positive Komponente in a r gibt, dann ist A B (r) derart, dass c B(r) x B(r) > c B x B. a) x B = A B b (A B a r )λ, x r = λ, x j = für alle j N \ {r} ist zulässig für alle λ > mit c BT x B + c r x r = c BT A B b + c r λ > b) c B (r) x B (r) = c BT (A B b) + c r λ > c BT (A B b) = c B x B. > > 75
Zusammenfassung Simplex-Algorithmus! Korrektheit:! Lokales Optimum ist globales Optimum! Basiswechsel = Eckenlaufen = Multiplikation mit Eta-Matrix! Wenn Pivotspalte <= : System unbeschränkt! Bei nicht-degenerierter Ecke: Basiswechsel verbessert ZF-Wert! Laufzeit:! Bisherige Version kann Endlosschleifen beinhalten! Geeignete Pivotwahl kann dies verhindern! Dann im schlimmsten Fall O(2 m ) Pivotschritte (konstruiert)! In der Praxis: Polynomielles Verhalten! Geglättete Analyse (smoothed analysis) bestätigt dies 76