1 Nicoletta Andri 1 Der Simplex Algorithmus I 1.1 Einführungsbeispiel In einer Papiermühle wird aus Altpapier und anderen Vorstoffen feines und grobes Papier hergestellt. Der Erlös pro Tonne feines Papier beläuft sich auf 1 SFr. und für grobes Papier auf 7.5 SFr. Der Altpapierverbrauch beträgt.6 Tonnen pro Tonne grobes Papier und eine Tonne pro Tonne feines Papier. Maximal können 15 Tonnen Altpapier verarbeitet werden. Die Herstellung von einer Tonne feinem Papier erfordert 5 Kilogramm Vorstoffe und für eine Tonne grobes Papier werden 1 Kilogramm Vorstoffe benötigt. Es stehen höchstens 5 Kilogramm Vorstoffe zur Verfügung. Welches Produktionsprogramm bringt den grössten Erlös, wenn maximal 2 Tonnen grobes Papier abgesetzt werden können? Wir bezeichnen nun mit x 1 die Anzahl produzierter Tonnen feines Papier und mit x 2 die Anzahl Tonnen grobes Papier. Dann ist der Erlös Dies ist die sogenannte Zielfunktion. 1x 1 + 7.5x 2 Die Zielfunktion soll maximiert werden unter den folgenden Nebenbedingungen x 1 +.6x 2 15 (Altpapier 5x 1 + 1x 2 5 (Vorstoffe x 2 2 (Grobpapier Ausserdem müssen wir sicherstellen, dass die Variablen x 1 und x 2 nicht negativ sind. Wir fordern also zusätzlich x 1, x 2 Da sowohl Zielfunktion wie auch Nebenbedingungen linear in x 1 und x 2 sind, sprechen wir bei diesem Problem von einem linearen Programm oder kurz (LP. Wir möchten also folgendes (LP lösen: max 1x 1 + 7.5x 2 unter x 1 +.6x 2 15 5x 1 + 1x 2 5 x 2 2 x 1, x 2
2 Nicoletta Andri Graphische Interpretation Damit ein Punkt zulässig ist, muss er gleichzeitig alle Nebenbedingungen erfüllen, einschliesslich Nichtnegativität. Deshalb nennt man diese Punkte zulässige Lösungen und die Menge aller zulässigen Lösungen heisst zulässiges Gebiet. Offensichtlich stellt jede Nebenbedingung ein Halbraum dar, in unserem 2D- Beispiel die eine Seite der entsprechenden Gerade. Das zulässige Gebiet ist demnach der Durchschnitt dieser Halbräume, also ein konvexes Polyeder. Abbildung 1: Graphische Lösung des (LP Besitzt eine Grenze einer Nebenbedingung keinen gemeinsamen Punkt mit dem zulässigen Gebiet, so heisst diese Nebenbedingung redundant. Redundante Nebenbedingungen können ohne Einschränkung aus den Betrachtungen gestrichen werden. Die Zielfunktion ist eine Kurvenschar. Sie beschreibt den Term, der maximiert werden soll. In unserem Beispiel ist dies der Erlös ZF: z = 1x 1 + 7.5x 2 Im 2D-Fall sind die Niveaulinien für beliebige z-werte Geraden. Ändert sich der Wert von z, so verschiebt sich die Niveaulinie parallel dazu. Eine optimale Lösung findet man, indem man die Niveaulinie der Zielfunktion parallel in Richtung zunehmender Zielfunktionswerte verschiebt, bis sie das zulässige Gebiet gerade noch berührt. Für die Papiermühle ist die optimale Lösung folglich der Punkt C mit (x 1, x 2 = (3, 2. Der Erlös beträgt somit 18 SFr. Die Optimallösung wird in einem Eckpunkt oder sogenanntem Extremalpunkt angenommen.
3 Nicoletta Andri Mathematische Formulierung Kanonische Struktur eines linearen Programms: max z = c j x j unter Einhaltung der Nebenbedingungen a ij x j b i, i = 1,..., m x j, j = 1,..., n. Hierbei bezeichnet n die Anzahl Variablen und m die Anzahl Nebenbedingungen. In Matrixschreibweise: unter max z = c T x Ax b x Wobei wir mit v 1 v 2 meinen, dass komponentenweise gelten soll. Durch die Einführung von sogenannten Schlupfvariablen y i, i = 1,..., m lässt sich die kanonische Form auf die sogenannte Standardform bringen, nämlich max z = c j x j unter Einhaltung der Nebenbedingungen a ij x j + y i = b i, i = 1,..., m x j, j = 1,..., n y i, i = 1,..., m In Matrixschreibweise: unter max z = c T x Ax + y = b x Die Einführung von Schlupfvariablen würde bei unserem Beispiel folgendermassen aussehen: x 1 +.6x 2 + y 1 = 15 (Altpapier 5x 1 + 1x 2 + y 2 = 5 (Vorstoffe x 2 + y 3 = 2 (Grobpapier
4 Nicoletta Andri 1.2 Wiederholung: Lineare Algebra Wir müssen oft Gleichungssysteme der folgenden Form lösen: Ax = b, Hierzu bietet sich das Gaussverfahren an. A R m n, b R m Um die Anzahl Lösungen von Ax = b zu bestimmen, muss man eine Fallunterscheidung machen. 1. r(a b > r(a Ax = b hat keine Lösung, weil sich b nicht als Linearkombination der Spaltenvektoren von A darstellen lässt. 2. r(a b = r(a = min(m, n, n m Ax = b hat genau eine Lösung. 3. r(a b = r(a = min(m, n, m < n Ax = b hat unendlich viele Lösungen. 4. r(a b = r(a < min(m, n Ax = b enthält k = min(m, n r(a redundante Gleichungen, die gestrichen werden können. Nach dem Streichen dieser Gleichungen befinden wir uns entweder im zweiten oder im dritten Fall. Uns interessiert offensichtlich nur der dritte Fall. Wir gehen also im Folgenden von r(a = m aus. Dann können wir A folgendermassen umordnen. A = [B N], Entsprechend müssen wir auch x umordnen. ( xb x = B R m m regulär, N R m (n m Die Komponenten von x B heissen Basisvariablen, x N sind die Nichtbasisvariablen. x N Dann gilt ( xb Ax = [B N] x N = Bx B + Nx N = b Der (n m-dimensionale Lösungsraum lässt sich folglich beschreiben als L = { (x B, x N T x B = B 1 b B 1 Nx N, x N R n m beliebig } Eine sogenannte Basislösung von Ax = b erhält man, indem man die Nichtbasisvariablen gleich Null setzt: ( B x = 1 b Da die Wahl von B nicht eindeutig ist, gibt es natürlich mehrere Basislösungen.
5 Nicoletta Andri 1.3 Polyedrische Mengen Definition: (Polyeder Eine Menge P R n heisst polyedrische Menge oder einfach Polyeder, falls P ein endlicher Durchschnitt von Halbräumen ist, das heisst von der Form P = {x R n Ax b} { ( y = x R n [I A] x } = b, y Wenn man noch zusätzlich Nichtnegativität fordert, dann gilt { ( } y P = x R n [I A] = b, x, y x {( ( } y y = R m+n [I A] = b, x, y x x Ein Polyeder ist offensichtlich konvex. Definition: (Extremalpunkt Ein Punkt x einer konvexen Menge X heisst Extremalpunkt, falls aus x = λx 1 + (1 λx 2, x 1, x 2 X, λ (, 1 folgt, dass x 1 = x 2 = x. Satz: (Zusammenhang Basislösung-Extremalpunkt Betrachte P = {x Ax = b, x }, A R m n, b R m, r(a = m( n. x P ist Extremalpunkt ( ( Es gibt eine Zerlegung A = [B N] mit B xb B regulär, x = = 1 b mit B 1 b. x N Beweis: = : ( xb Sei A = [B N], B regulär, x = Zu zeigen: x ist extremal x N = ( B 1 b, B 1 b Sei x = λx 1 ( + (1 λx 2, x 1 (, x 2 P, λ (, 1. x1b x2b Setze x 1 =, x 2 =. Dann gelten x 1N x 2N B 1 b = λx 1B + (1 λx 2B = λx 1N + (1 λx 2N Weil x 1, x 2 P gilt, sind alle Komponenten nichtnegativ. Deshalb folgt aus der zweiten Gleichung x 1N = x 2N =
6 Nicoletta Andri Weil B regulär ist, folgt aus der ersten Gleichung Damit ist die eine Richtung gezeigt. x 1B = x 2B = B 1 b = : Sei x P extremal. Zu zeigen: Es gibt eine entsprechende Zerlegung A = [B N] und x = mit B 1 b. ( B 1 b Ordne A so, dass x = (x 1,..., x k,,..., T Behauptung: Die ersten k Kolonnen von A sind linear unabhängig. Annahme: Die ersten k Kolonnen von A sind linear abhängig. Dann gibt es ein λ R k, λ mit ( k λ i=1 λ ia i = bzw. A =. ( ( λ λ Setze x = x + α, x = x α mit α > klein genug, so dass x, x immer noch zulässig sind. Dies kann folgendermassen konstruiert werden: Definiere { α 1 := min x } i 1 i k λ i λ i < { } xi α 2 := min 1 i k λ i > λ i Wähle α (, min {α 1, α 2 } { } Weil λ ist, können die beiden Mengen x i λ i λ i < nicht beide leer sein. α ist entsprechend wohldefiniert. Weil λ und α > sind, ist x x. x, x sind in P, weil Ax = ( λ Ax + α A = Ax = b }{{} Ax = = ( λ Ax α A = Ax = b }{{} = und { } x i λ i λ i > Nun gilt aber x = 1 2 x + 1 2 x. Dies ist ein Widerspruch zur Extremalität von x. Die ersten k Kolonnen von A müssen also tatsächtlich linear unabhängig sein.
7 Nicoletta Andri Weil r(a = m ist, kann man (a 1,..., a k durch weitere (m k Vektoren a k+1,..., a m A\ {a 1,..., a k } zu einer Basis ergänzen. Definiere B = (a 1,..., a k, a k+1,..., a m und zerlege A entsprechend: A = [B N] Weil x P ist, gilt Wegen der Regularität von B gilt ( xb Ax = [B N] x N = b B 1 b = x = (x 1,..., x k,..., T Damit ist auch die zweite Richtung gezeigt. q.e.d. Jede zulässige Basislösung entspricht also einem Extremalpunkt des Polyeders, und umgekehrt lässt sich jedem Extremalpunkt des Polyeders eine Basislösung zuordnen. Diese Zuordnung ist eindeutig, falls die Basislösung nichtdegeneriert ist. Definition: (Degeneriertheit Eine (zulässige Basis B heisst degeneriert, falls es ein i gibt mit (B 1 b i =, und nichtdegeneriert, falls B 1 b >. Abbildung 2: Degenerierte Basislösung Definition: (Extremalrichtung Sei X R n eine nichtleere, konvexe und abgeschlossene Menge. Dann heisst d R n Richtung in X, falls x + λd X, für alle λ und x X. Eine Richtung d heisst Extremalrichtung, falls für Richtungen d 1, d 2 dass aus d = λ 1 d 1 + λ 2 d 2, λ 1, λ 2 > folgt, dass d 1 = αd 2, für ein α >. gilt,
8 Nicoletta Andri Satz: (Darstellungssatz von Polyeder Jedes Polyeder P kann eindeutig geschrieben werden als P = Q + C, Q := conv {x 1, x 2,..., x k }, C := cone {d 1, d 2,..., d l } 1.4 Dualität Primale Aufgabe (LP: Duale Aufgabe (LD: max c T x unter Ax b x min b T y unter A T y c y In unserem Einführungsbeispiel ist die duale Aufgabe min 15y 1 + 5y 2 + 15y 3 unter y 1 + 5y 2 1.6y 1 + 1y 2 + y 3 7.5 y 1, y 2, y 3 Lemma: (Schwache Dualität Sei x eine zulässige Lösung von (LP, y eine zulässige Lösung von (LD. Dann gilt c T x b T y Beweis: c T x (y T Ax = y T Ax y T b = b T y q.e.d. Korollar: (Zertifikat Seien x, y zulässig für (LP resp. (LD und es gelte b T y = c T x. Dann sind x, y optimal für (LP resp. (LD. Satz: (Dualitätssatz der linearen Programmierung Seien A R m n, b R m, c R n. Dann gilt max { c T x Ax b, x } = min { b T y A T y c, y } sofern beide Aufgaben zulässige Lösungen besitzen. Beweis: Für den Beweis dieses Satzes verwenden wir das Lemma von Farkas, das wir hier ohne Beweis aufführen.
9 Nicoletta Andri Lemma: (Farkas Gegeben seien eine Matrix A R m n und ein Vektor b R m. Dann hat genau eines der beiden folgenden Systeme eine Lösung: 1. x mit Ax b 2. y mit y T A und y T b < Um den Satz zu beweisen, reicht es zu zeigen, dass es ein x und ein y gibt mit Ax b, A T y c, c T x b T y. (Mit der schwachen Dualität folgt nämlich c T x = b T y. ( x Das heisst, wir müssen zeigen, dass es ein z := gibt mit y A ( b Âz := c T b T x =: A T y ˆb. c Gemäss Farkas-Lemma hat genau eines der folgenden zwei Systeme eine Lösung: 1. z mit Âz ˆb 2. s mit s T Â und s Tˆb <. Zu zeigen: Das zweite System hat keine Lösung. Das heisst, wir zeigen, dass für alle (u, v, w, u R m, v R, w R n mit u T A vc T vb T w T A T gilt u T b w T c. Hierzu machen wir eine Fallunterscheidung. 1. Fall: v > u T b = 1 v vut b = 1 v ut vb }{{} Aw 1 v ut }{{} A w vc T = 1 v vct w = c T w = w T c.
1 Nicoletta Andri 2. Fall: v = In diesem Fall gilt u T A w T A T Weil (LP und (LD zulässig sind, gibt es ein x und ein y mit Ax b und A T y c. Folglich gilt u T b u}{{} T A x (w T A T y = w T A T y }{{} c = w T c. q.e.d. Korollar: Besitzt (LP eine endliche Optimallösung x, so besitzt auch (LD eine endliche Optimallösung y und es gilt c T x = b T y. Beweis: Es genügt zu zeigen, dass (LD eine zulässige Lösung besitzt. Annahme: Es gibt kein y mit A T y c. Das heisst, ( es gibt kein y ( und kein s mit A T y s = c bzw. es gibt y y kein v := mit [A s T I] = c. s Nach dem Farkas-Lemma muss es folglich ein z geben mit z T [A T I] und z T c >. Also gilt z Az c T z > Dies bedeutet aber, dass z eine Richtung mit wachsendem Zielfunktionswert für (LP ist. Denn für alle λ ist x + λz zulässig: A(x + λz = }{{} Ax + λ b }{{} }{{} Az b
11 Nicoletta Andri Für den Zielfunktionswert gilt c T (x + λz = c T x + λ }{{} c T z c T x. > Man kann also λ immer grösser machen, bleibt immer im zulässigen Bereich und der Zielfunktionswert wächst immer mehr an. Dies ist ein Widerspruch zur Endlichkeit der Optimallösung x von (LP. q.e.d. Satz: (Komplementaritätssatz Sei x eine zulässige Lösung von (LP und y eine zulässige Lösung von (LD. (x, y sind genau dann Optimallösungen der entsprechenden Probleme, falls 1. 2. m a ij yi = c j oder x j =, j = 1,..., n i=1 a ij x j = c i oder yi =, i = 1,..., m. Beweis: Seien x, y primal bzw. dual zulässig. Dann gelten 1. ( m c j x j a ij yi x j, i=1 j = 1..., n 2. ( a ij x j yi b i yi, i = 1..., m. Summieren wir die erste Ungleichung über j = 1,..., n und die zweite Ungleichung über i = 1,..., m, so erhalten wir 1. c j x j ( m a ij yi i=1 x j 2. ( m a ij x j yi i=1 m b i yi. i=1 Folglich gilt c j x j m b i yi. i=1 Damit Gleichheit gilt, müssen beide Ungleichungen mit Gleichheit erfüllt sein. Dies ist nur der Fall, wenn für alle i und für alle j gilt
12 Nicoletta Andri 1. 2. x j = und/oder c j = y i = und/oder b i = m a ij yi, i=1 a ij x j. q.e.d. Zulässigkeit und Komplementarität lassen sich auch folgendermassen zusammenfassen. Satz: (Kuhn-Tucker (x, y sind genau dann ein Paar von Optimallösungen zu (LP und (LD, wenn sie die nachfolgenden Gleichungen erfüllen. 1. Ax b, x 2. A T y c, y 3. (x T (A T y c = (y T ( Ax + b =