Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form...

22
Optimierung Optimization Vorlesung 01

Transcript of Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form...

Page 1: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Optimierung Optimization

Vorlesung 01

Page 2: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Organisatorisches

[email protected]

Büro: F1.209 (Sprechstunde nach Vereinbarung)

Vorlesung:

Freitags, 11:15 – 12:45, F0 053

Übungen:

Dienstags, 13:15 – 14:00, F0 053 (*)

Freitags, 13:00 – 13:45, F0 053 (Beachte: s.t.)

Übungen starten nächste Woche. 2

Page 3: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Organisatorisches

Homework Assignments:

for (1 ≤ 𝑖 ≤ 𝑒𝑛𝑑 𝑜𝑓 𝑡𝑒𝑟𝑚 − 1) {

List handed out in week 𝑖

will be discussed in week 𝑖 + 1.

}

Lösungen werden nicht benotet. Aber es wird sehr empfohlen alle Übungen zu lösen. Das ist eine sehr hilfreiche Vorbereitung für die Klausur!

Es gibt einen Bonus von 0,3 in der Klausur für das vorstellen einer richtigen Lösung einer Übungsaufgabe. Maximal eine Reduktion um 0,3. Gilt nur bei Bestehen. Beste Gesamtnote bleibt die 1,0.

3

Page 4: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Organisatorisches

Prüfung:

Klausur Ende Februar und März. Genauere Informationen folgen in Kürze.

Vorlesungsstil:

Die Folien enthalten nur die wichtigsten Ergebnisse. Es wird sie online auf der Webseite geben. Beweise und Beispiele werden an der Tafel präsentiert. Machen Sie sich Notizen!

Stellen Sie Fragen!

Webseite:

https://www.hni.uni-paderborn.de/en/alg/teaching/ws1415/optimization/

4

Page 5: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Voraussetzungen

• Lineare Algebra: Matrizen, Vektoren. Lineare Abbildungen…

• DuA, EBKFS: Polynomzeit, Eingabegröße, O-Notation,…

• Graphen • Flussprobleme? MaxCut?

• Das ist eine Theorievorlesung! Anschauung und

Intuition helfen beim Verständnis, ersetzen aber keinen Beweis!

5

Page 6: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Credits und weitere Literatur

• Auf den Webseiten zu finden: – Folien und Skript von Rainer Feldmann (2010). – Folien von Patrick Briest (2011).

• Ein sehr gutes Skript von Berthold Vöcking (RWTH-Aachen): – http://www-i1.informatik.rwth-aachen.de/Lehre/SS05/VOuS.php

• Diverse Bücher: – B. Korte, J. Vygen. Combinatorial Optimization: Theory and Algorithms, 2nd Edition,

Springer, 2002. – E. Lawler. Combinatorial Optimization: Networks and Matroids. Dover Publications,

1976. – C. Papadimitriou und K. Steiglitz. Combinatorial Optimization: Algorithms and

Complexity. Prentice Hall, 1982. – A. Schrijver. Combinatorial Optimization: Polyhedra and Efficiency. Springer, 2003.

Dimitris Alevras, Manfred W.Padberg : Linear Optimization and Extensions , Springer 2001, TLG 2186

– Robert J.Vanderbei : Linear Programming , Kluwer 2001, TLG 2102 – Jiri Matousek, Bernd Gärtner : Undertsanding and Using Linear Programming,

Springer 2007, TVX 3577 – Kurt Marti, Detlef Gröger : Einführung in die lineare und nichtlineare Optimierung,

Physica 2000, TLG 2144 6

Page 7: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Optimization

7

1. Lineare Programmierung, Modellierung 2. The Simplex Algorithmus: Idee & Implementation 3. Die Ellipsoid Methode 4. Dualität & der Duale Simplex Algorithmus 5. Kombinatorische Optimierung, Integrality, Gaps &

Approximierung 6. …

Inhalt:

Page 8: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

1. LINEARE PROGRAMMIERUNG, MODELLIERUNG

8

Page 9: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Lineare Programme

Ein Lineares Programm (LP) ist ein

Optimierungsproblem bestehend aus

• Variablen mit Wertebereich ℝ,

• einer linearen Zielfunktion und

• linearen Nebenbedingung.

9

Page 10: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Beispiel

• Gegeben seien 1000 qm Gartenfläche, davon 600 qm für Anbau von Blumen geeignet. Der Erlös pro qm Blumen sei 100 Euro, der Erlös pro qm Gemüse 50 Euro.

• Bestimme eine Verteilung der Anbauflächen, die den Erlös maximiert.

10

Page 11: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

LPs in kanonischer Form

• Für 𝑖 = 1,… ,𝑚 und 𝑗 = 1,… , 𝑑 seien 𝑐𝑗, 𝑏𝑖 und 𝑎𝑖𝑗 reele Zahlen.

• Gesucht wird eine Belegung der Variablen 𝑥1, … , 𝑥𝑑, so das die Zielfunktion

𝑐𝑗𝑥𝑗

𝑑

𝑗=1

maximiert wird unter den Nebenbedingungen

𝑎𝑖𝑗𝑥𝑗 ≤ 𝑏𝑖

𝑑

𝑗=1

für 𝑖 = 1,… ,𝑚

𝑥𝑗 ≥ 0 für 𝑗 = 1,… , 𝑑

11

Page 12: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Kurzform

• Seinen die Vektoren 𝑥 = (𝑥𝑗), 𝑐 = (𝑐𝑗) und

𝑏 = (𝑏𝑖) sowie die Matrix 𝐴 = (𝑎𝑖𝑗).

• Ein LP läßt sich dann schreiben als

Maximiere 𝑐𝑇𝑥 unter 𝐴𝑥 ≤ 𝑏, 𝑥 ≥ 0.

12

Page 13: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Geometrische Interpretation

• Eine Belegung der Variablen 𝑥 = (𝑥1, … , 𝑥𝑑) entspricht einem Punkt im 𝑑-dimensionalen Raum ℝ𝑑.

• Jede Nebenbedingung 𝑎𝑖𝑥 ≤ 𝑏𝑖 bzw. 𝑎𝑖𝑥 ≥ 𝑏𝑖 definiert einen Halbraum. Die Grenze ist die Hyperebene 𝑎𝑖𝑥 = 𝑏𝑖. Der Halbraum besteht aus den Punkten auf eienr Seite dieser Hyperebene. (Beachte 𝑎𝑖 ist der Zeilenvektor der 𝑖-ten Zeile von 𝐴.)

• Schnittmenge aller Halbräume über alle Nebenbed. ist der Raum der zulässigen Lösungen. Dieser wird auch als Lösungspolyhedron bezeichnet.

13

Page 14: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Finden der optimalen Lösung (Anschaulich)

• Der Vektor 𝑐 der Zielfunktion gibt eine Richtung im ℝ𝑑an.

• Alle Lösungen (Punkte) auf einer zu c orthogonalen Hyperebene haben den selben Zielfunktionswert.

• Verschiebe eine solche Hyperebene in Richtung des Vektors 𝑐 so lange diese Hyperebene eine zulässige Lösung beinhaltet.

• Warum funktioniert das und geht das immer? Geht das algorithmisch effizient? Auf bei vielen Dimensionen? Was können wir alles als LP modellieren?

14

Page 15: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

LPs in kanonische Form bringen

Was ist mit Beispielen wie:

Minimiere 𝑥1 − 3𝑥2 + 2𝑥3

unter 2𝑥1 + 𝑥2 ≤ 5 𝑥2 ≤ 16 𝑥1 + 𝑥3 = 17 𝑥1 ≥ 1 𝑥3 ≥ 0

15

Page 16: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

LPs in kanonische Form bringen

• Ein Minimierungsproblem kann durch Vorzeichenwechsel der Zielfunktion in ein Maximierungsproblem transformiert werden.

• Eine Ungleichung 𝑎𝑇𝑥 ≥ 𝑏 kann durch − 𝑎𝑇𝑥 ≤ −𝑏 ersetzt werden.

• Eine Gleichung 𝑎𝑇𝑥 = 𝑏 kann durch zwei Ungleichungen 𝑎𝑇𝑥 ≤ 𝑏 und 𝑎𝑇𝑥 ≥ 𝑏 ersetzt werden.

• Eine möglicherweise negative Variable 𝑥 ∈ ℝ wird ersetzt durch den Ausdruck 𝑥′ − 𝑥′′ für zwei Variablen 𝑥′ ≥ 0 und 𝑥′′ ≥ 0. 16

Page 17: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Konvexität des Lösungsraums

Behauptung 1.1

Die durch ein Polyhedron 𝒫 beschriebene Punktmenge ist konvex.

D.h. für jedes Paar von Punkten x, y ∈ 𝒫 sind auch alle Punkte auf der Verbindungslinie ℓ 𝑥, 𝑦 = 𝜆𝑥 + 1 − 𝜆 𝑦 𝜆 ∈ [0,1]}

zwischen 𝑥 und 𝑦 in 𝒫 enthalten.

17

Page 18: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Lokales Optimum = globales Optimum

Behauptung 1.2

Zu 𝑥 ∈ 𝒫 gebe es ein 𝑧 ∈ 𝒫 mit 𝑐𝑇𝑧 > 𝑐𝑇𝑥. Dann existiert für jedes 𝜖 > 0 ein Punkt mit 𝑥 − 𝑦 < 𝜖 und 𝑐𝑇𝑦 > 𝑐𝑇𝑥.

D.h. für jeden nicht optimalen Punkt gibt es einen beliebig nahen Punkt, der besser ist.

18

Page 19: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Zusammenfassung für heute

• Was sie nächste Woche wissen sollten

• Was sind LPs

• Wie sieht die kanonische Form aus

• Wie kann ich jedes LP in kanonische Form bringen.

• Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in 3D Ebenen) vor.

• Polyhedron, Lösungsraum, Konvexität, Lokales=Globales Optimum (Das ist sehr wichtig!)

19

Page 20: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

CPLEX

• Lineare Programme kommen häufig in der Praxis vor.

• Zahlreiche Softwarelösungen wie z.B. CPLEX, Gurobi,…

• CPLEX ist auf Poolrechnern im F1 Pool (erster Stock) installiert. Aufruf durch “cplex”.

20

Page 21: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Beispieldatei test.lp

\ Das ist eine Beispiel \ Datei fuer ein LP. Max 100 x_1 + 50 x_2 Subject To x_1 + x_2 <= 1000 x_1 <= 600 x_1 >= 0 x_2 >= 0 End

21

Page 22: Optimierung Optimization - hni.uni-paderborn.de · •Wie kann ich jedes LP in kanonische Form bringen. •Geometrische Darstellung. Stellen sie sich Hyperebenen (in 2D: Kanten, in

Aufruf von CPLEX

22