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

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Christian Scheideler SS 2009
Perceptrons and the perceptron learning rule
Informatik II: Algorithmen und Datenstrukturen SS 2013
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Simulation komplexer technischer Anlagen
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Schnelle Matrizenoperationen von Christian Büttner
Die 1-Baum-Relaxation des TSP mit der Subgradientenmethode
Wie lösen wir ILPs exakt?
Rotation Planning for the Continental Service of a European Airline
The Dynamic Single File Allocation Problem
Algorithmen und Komplexität
Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.
Einsatz von Excel zur Lösung von Optimierungsaufgaben
Operations Research Vorlesung/Übung im SS 2008
Numerik partieller Differentialgleichungen
Genetische Algorithmen
Schwierigkeitsgrad III 6 X - 7 = X
Algorithmen und Komplexität
Der Simplexalgorithmus
Minimum Spanning Tree: MST
DVG Gaußscher Algorithmus1 Gaußscher Algorithmus.
Gaußscher Algorithmus
Approximationsalgorithmen Facility Location K-Median Cheng, Wei 12. Juli.
Effiziente Algorithmen
Effiziente Algorithmen
Optimierungs- Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Quantitative Methoden der BWL – Lineare Programmierung
Dipl.-Math. Maria Kandyba Lehrstuhl für Algorithm Engineering, LS11
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Praktische Optimierung
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Gleichungen und Gleichungssysteme
Algorithmen und Datenstrukturen Übungsmodul 10
Algorithmen und Datenstrukturen SS 2005
Lösen von quadratischen Ungleichungen
Externspeicher- Algorithmen:Teil 2
Externspeicher- Algorithmen Petra Mutzel Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithmen und Datenstrukturen 2.
Lineare Gleichungen mit 2 Variablen
SFZ FN Sj. 13/14 Python 3 Rekursion Inf K1/2 Sj 13/14
Algorithmen und Datenstrukturen 1 SS 2002
Vom graphischen Differenzieren
Nichtlineare Optimierung
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Vorlesung Einführendes Beispiel-
Stefan Nolting Andreas Goebels Larissa Timajev
Optimierungs- Algorithmen
Simplexmethode als Anwendung des Kostenkalküls
Algorithmen und Datenstrukturen
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Hauptproduktionsprogrammplanung (MPS)
Gleichung und ihre Lösung
Algorithmen und Datenstrukturen
Unscharfe lineare Optimierung
Algorithmen und Datenstrukturen
Lösung von Optimierungsaufgaben in der Unternehmensplanung
 Präsentation transkript:

Optimierungs- Algorithmen Petra Mutzel Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithmen und Datenstrukturen 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

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

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

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

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 ´

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 ´

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

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

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

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

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

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

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.

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

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

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)

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