Optimierung Vorlesung 02
LPs in kanonischer Form Für i = 1,, m und j = 1,, d seien c j, b i und a ij reele Zahlen. Gesucht wird eine Belegung der Variablen x 1,, x d, so das die Zielfunktion d c j x j j=1 maximiert wird unter den Nebenbedingungen d j=1 a ij x j b i x j 0 für i = 1,, m für j = 1,, d 2
Kurzform Seinen die Vektoren x = (x j ), c = (c j ) und b = (b i ) sowie die Matrix A = (a ij ). Ein LP läßt sich dann schreiben als Maximiere c T x unter Ax b, x 0. 3
Geometrische Anschauung Lösungsraum R d Nebenbedingungen definieren Halbräume Gleichungen entsprechen Hyperebenen Lösungspolyhedron Konvex Globales=lokales Maximum 4
Beispiel Polyhedron definiert durch folgendes LP: x 1 + x 2 + x 3 4 x 1 2 x 3 3 3x 2 + x 3 6 x 1, x 2, x 3 0 5
Heute Optimum ist ein Knoten ( Eckpunkt ) Idee des SIMPLEX Algorithmus: Lokale Suche über die Knoten Wie findet man die Knoten? Wie beschreibt man sie (im Rechner)? 6
Facetten, Kanten, Knoten Sei P ein Polyhedron und H eine beliebige Hyperebene, so das P auf einer Seite von H liegt. Wir nennen f = H P eine Facette von P (falls f ). d 1 dimensionale Facette: Face Ein-dimensionale Facette: Kante (edge) Schnitt von d 1 Hyperebenen Dimension 0: Knoten (vertex) Schnitt von d Hyperebenen 7
Facetten, Kanten, Knoten Zwei Knoten sind benachbart, wenn sie durch eine Kante verbunden sind. Kanten können aber auch unbeschränkt sein (vgl. Übung 1) 8
Unterräume und ihre Bedeutung Eine Hyperebene im R d wird durch eine Gleichung wie α 1 x 1 + α 2 x 2 + + α d x d = β beschrieben. d 1 Variablen können frei gewählt werden und bestimmen den Wert der verbleibenden Variable. Der durch die Hyperebene beschriebene (affine) Unterraum hat also die Dimension d 1. Der Schnitt von k linear unabhängigen Hyperebenen hat Dimension d k. 9
Spezialfälle (vgl. Übung 1.2) Ist das Lösungspolyhedron in Richtung c beschränkt ist, nenen wir beschränkt, anderfalls unbeschränkt. (vgl. Aufgabe 1.2b) Schneiden sich in einem Punkt mehr als d Nebenbedingungen so nennen wir das LP degeneriert. Ist der Lösunsraum nicht leer so bezeichnen wir das LP als zulässig andernfalls als unzulässig. ( vgl. Aufgabe 1.2c) 10
Optimum an Knoten Behauptung 1.3 Das Optimum eines zulässigen und beschränkten LPs wird an einem Knoten des Lösungpolyhedrons angenommen. Bemerkung: Es kann auch optimale Lösungen geben die keine Knoten sind. (vgl. Aufgabe 1.2d) 11
Das Simplexverfahren (anschaulich) 1. Bestimme einen beliebigen Knoten v von P. 2. Falls es keine verbessernde Kante inzident zu v gibt, dann ist v optimal, stopp. 3. Folge einer beliebigen verbessernden Kante e von v. Falls e unbeschränkt ist so ist das LP unbeschränkt, stopp. 4. Sei u der andere Endpunkt von e. Setze v = u. Gehe zu Schritt 2. 12
Das Simpexverfahren im Rechner Wie bestimmen wir Knoten? Wie bestimmen wir verbessernde Kanten? Oder wie führen wir einen sog. Pivotschritt durch? 1. Gleichungsform 2. Basis (Auswahl von Spalten und Variablen) 3. Basislösungen 4. Pivotschritt, reduzierte Kosten 13
algebraische Gleichungsform Maximiere c T x unter Ax = b, x 0. Von der kanonischen zur Gleichungsform: d j=1 a ij x j b i wird durch Hinzufügen einer Schlupfvariable zu d j=1 a ij x j + s i = b i und s i 0. 14
Transformation Aus einen LP in kanonischer Form mit m Nebenbedingungen und d Variablen wird ein LP in Gleichungsform mit m Nebenbedingungen und n m + d Variablen. rang(a) = m (NB sind linear unabh.) 15
Beispiel (Tafel) x 1 4 x 2 2 x 1 + x 2 1 16
Basen oder wie kommen wir an die Knoten? Nicht entartetes LP in Gleichungsform. Sei B eine geordnete Auswahl von k Spalten der m n Matrix A. A B die Teilmatrix von A mit diesen Spalten. x B und c B sind die entsprechenden Teilvektoren. B(i) der Index der iten Spalte in B. B = (A B 1, A B 2,, A B m ) Eine Auswahlt von genau m Spalten B ist eine Basis falls die Vektoren in B linear unabhängig sind. 17
Basislösungen Ist B eine Basis, dann ist A B invertierbar. Seien N die Spalten von A die nicht in B sind und A N die entsprechende Teilmatrix. Wir schreiben statt Ax = b nun A B x B + A N x N = b (1.1) Setzen wir nun x N = 0, hat das Gleichungssystem die eindeutige Lösung x B = A 1 B b. Wir nennen die Lösung x B, x N = (A 1 B b, 0) eine Basislösung zur Basis B. Der Zielfunktionswert ist c T B A 1 B b. 18
Basislösungen: Anschauung Basislösungen entsprechen Schnittpunkten von d Nebenbedingungen des entprechenden kanonischen LPs. Mindestens n m = d Variablen (die aus x N ) haben den Wert 0. Bei Schlupfvariablen ist die entprechende Nebenbedingung mit Gleichheit erfüllt. Bei (ursprünglichen) Variablen aus der kanonischen Form ist die Nichtnegativitätsbedingung mit Gleichheit erfüllt. Also d Nebenbedingungen mit Gleicheit erfüllt. Sind die m Basisvariablen auch nicht negativ, so ist die Basislösung auch zulässig. 19
Knoten sind Basislösungen Behauptung 1.4 Die Knoten des Lösungspolyhedrons zur kanonischen Form entsprechen den zulässigen Basislösungen in der Gleichungsform. Diese Basislösungen sind dadurch gekennzeichnet, dass alle Variablen nichtnegative Werte annehmen. Ist das LP nicht-degeneriert, so sind die Werte der Basisvariablen strikt positiv. 20
Pivotschritte Annahmen: LP in Gleichungsform Ax = b. Wir beginnen mit einer zulässigen Basis B sowie Matrizen A B und A B 1. Gleichungssytem von links mit A B 1 multiplizieren: A B 1 Ax = A B 1 b und erhalte Âx = b.... x B = b  N x N, Basisvariablen als Funktion der NBV, für x N = 0 ist dann x B = b. 21
Reduzierte Kosten c T x = = c B T b + c N T c B T Â N x N (2.2) Vektor der reduzierten Kosten: c N T c B T Â N Beschreibt die Veränderung der Kosten bei Änderung der Nichtbasisvariablen (NBV) 22
Optimalitätskriterium Satz 2.1 Falls der Vektor der reduzierten Kosten zu einer Basis B keinen positiven Eintrag enthält, so ist B optimal. Beweis :Tafel c T x = c T B b + c T N c T B Â N x N c T B b 23