Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Optimierungs- Algorithmen Petra Mutzel Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithmen und Datenstrukturen 2.

Ähnliche Präsentationen


Präsentation zum Thema: "Optimierungs- Algorithmen Petra Mutzel Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithmen und Datenstrukturen 2."—  Präsentation transkript:

1 Optimierungs- Algorithmen Petra Mutzel Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithmen und Datenstrukturen 2

2 Überblick Lineare Programmierung Dualität Simplex Algorithmus Grundlagen der Polyedertheorie Exakte Lösungsmethoden für ILPs Branch-and-Bound Schnittebenenverfahren Branch-and-Cut Kombinatorische vs. Ganzzahlige Optimierung

3 Lineare Programmierung Für den Zulässigkeitsbereich P eines Linearen Programms gibt es drei verschiedene Möglichkeiten: P=   es existiert keine einzige zulässige Lösung  LP ist unlösbar P≠  und inf{ c T x | x  P } existiert nicht (z.B. 0 x ≥-1)  LP ist lösbar, aber es gibt keine optimale Lösung P≠  und min{ c T x | x  P } existiert  LP ist lösbar und hat eine endliche Lösung x * mit c T x *=min{ c T x | x  P }, x* ist die optimale Lösung

4 Dualität der Linearen Programmierung Es ist vorteilhaft, Schranken für Lineare Programme angeben zu können Ein Punkt, der (2)-(4) erfüllt, erfüllt auch die Ungleichung: 2(2)+(3) sowie (2)+(4) Wir suchen die besten Schranken: Dualität

5 Dualität der Linearen Programmierung Primales Programm: Duales Programm:

6 Dualität der Linearen Programmierung Primales Programm (P): Duales Programm (D): Schwacher Dualitätssatz: Sei x´ein zulässiger Punkt für (P) und y´ zulässig für (D). Dann gilt: y ´ T b ≤ c T x ´

7 Dualität der Linearen Programmierung Primales Programm (P): Duales Programm (D): Korollar: Ist (P) unbeschränkt, dann ist (D) unlösbar. Sei x´ein zulässiger Punkt für (P) und y´ zulässig für (D). Dann gilt: y ´ T b ≤ c T x ´

8 Dualität der Linearen Programmierung Primales Programm (P): Duales Programm (D): Starker Dualitätssatz: Sei x* ein zulässiger Punkt für (P) und y* zulässig für (D). Dann gilt: y * T b = c T x *  beide Lösungen x* und y* sind optimal

9 max 5x 1 + 4x 2 + 3x 3 subject to 2x 1 + 3x 2 + x 3  5 4x 1 + x 2 + 2x 3  11 3x 1 + 4x 2 + 2x 3  8 x 1, x 2, x 3  0. Einblick in den Simplex-Algorithmus

10 Einführung von Schlupf-Variablen um Gleichungen zu erhalten max 5x 1 + 4x 2 + 3x 3 subject to 2x 1 + 3x 2 + x 3 + x 4 = 5 4x 1 + x 2 + 2x 3 + x 5 = 11 3x 1 + 4x 2 + 2x 3 + x 6 = 8 x 1, x 2, x 3, x 4, x 5, x 6  0. Simplex-Algorithmus

11 Start Zunächst setzen wir x 1 =x 2 =x 3 =0, und schreiben das System um, so dass die Nicht-Null Elemente links stehen; nun können wir direkt die Werte der anderen Variablen ablesen: x 4 =5, x 5 =11, x 6 =8, z=0. z = 5x 1 + 4x 2 + 3x 3 x 4 = 5 - 2x 1 - 3x 2 - x 3 x 5 = x 1 - x 2 - 2x 3 x 6 = 8 - 3x 1 - 4x 2 - 2x 3 Simplex-Algorithmus

12 Erste Iteration Wir wollen den Wert z erhöhen, mometan ist er 0. Erhöhe z.B. den Wert von x 1. Wie weit können wir erhöhen? z = 5x 1 + 4x 2 + 3x 3 x 4 = 5 - 2x 1 - 3x 2 - x 3 x 5 = x 1 - x 2 - 2x 3 x 6 = 8 - 3x 1 - 4x 2 - 2x 3 x 4  0  5 – 2x 1  0  5  2x 1  x 1  5/2 x 5  0  11 – 4x 1  0  11  4x 1  x 1  11/4 x 6  0  8 – 3x 1  0  8  3x 1  x 1  8/3 Simplex-Algorithmus Wir setzen: x 1 =5/2 x 4 =0

13 Zweite Iteration Wir wollen den Zielfunktionswert weiter erhöhen. Dies geht momentan nur durch Erhöhung von x 3. z = 25/2 - 7/2x 2 + 1/2x 3 - 1/2x 4 x 1 = 5/2 - 3/2x 2 - 1/2x 3 - 1/2x 4 x 5 = 1 + 5x 2 + 2x 4 x 6 = 1/2 + 1/2x 2 - 1/2x 3 + 3/2x 4 x 1  0  5/2 – 1/2x 3  0  5/2  1/2x 3  x 3  5 x 5  0  x 3 unbeschränkt x 6  0  1/2 – 1/2x 3  0  1/2  1/2x 3  x 3  1 Simplex-Algorithmus

14 z = x 2 - x 4 - x 6 x 1 = 2 - 2x 2 - 2x 4 + x 6 x 5 = 1 + 5x 2 + 2x 4 x 3 = 1 + x 2 + 3x 4 - 2x 6 Optimal!!! Simplex-Algorithmus Denn: die Koeffizienten des z-Vektors sind alle kleiner gleich 0. Es kann also zu keiner Verbesserung der Zielfunktion kommen.

15 Graphische Interpretation Max 3x 1 + 2x 2 + 2x 3 Subject to x 1 + x 3  8 x 1 + x 2  7 x 1 + 2x 2  12 x 1, x 2, x 3  0 Simplex-Algorithmus

16 x1x1 x2x2 x3x3 (0,0,8) (0,6,8) (2,5,6) (0,6,0) (2,5,0) (7,0,1) (7,0,0) Max z = 3x 1 + 2x 2 + 2x 3 z = 0 z = 21 z = 23 Optimal! z = 28 Simplex-Algorithmus

17 Log started (V8.2.0a1) Tue Apr 8 21:59: Problem name: supply_chain.lp.gz Constraints : Variables : Reduced LP has rows, and variables. Presolve time = sec. Iteration log... Iteration: 0 Infeasibility = Iteration: Infeasibility = Iteration: Infeasibility = Elapsed time = sec. ( iterations) Iteration: Objective = Elapsed time = sec. ( iterations) Iteration: Objective = Removing shift (10). Primal simplex - Optimal: Objective = e+18 Solution time = sec. Iterations = ( ) Typischer Beispiellauf (CPLEX)

18 Überblick Lineare Programmierung Dualität Simplex Algorithmus Grundlagen der Polyedertheorie Siehe pdf-file


Herunterladen ppt "Optimierungs- Algorithmen Petra Mutzel Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithmen und Datenstrukturen 2."

Ähnliche Präsentationen


Google-Anzeigen