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

Post on 11-Oct-2019

2 views 0 download

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

Optimierung Optimization

Vorlesung 01

Organisatorisches

skopalik@mail.upb.de

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

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

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

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

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

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:

1. LINEARE PROGRAMMIERUNG, MODELLIERUNG

8

Lineare Programme

Ein Lineares Programm (LP) ist ein

Optimierungsproblem bestehend aus

• Variablen mit Wertebereich ℝ,

• einer linearen Zielfunktion und

• linearen Nebenbedingung.

9

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

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

Kurzform

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

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

• Ein LP läßt sich dann schreiben als

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

12

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

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

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

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

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

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

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

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

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

Aufruf von CPLEX

22