Top Banner
8. Optimierung
32

8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

Sep 18, 2018

Download

Documents

ngotuyen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

8. Optimierung

Page 2: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

2

Inhalt§ 8.1 Motivation

§ 8.2 Optimierung ohne Nebenbedingungen

§ 8.3 Optimierung unter Nebenbedingungen

§ 8.4 Lineare Programmierung

§ 8.5 Kombinatorische Optimierung

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 3: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

3

8.1 Motivation§ Viele Anwendungen erfordern das Minimieren oder

Maximieren einer Zielfunktion unter Berücksichtigungeiner oder mehrerer Nebenbedingungen

§ Beispiele:

§ Bestimmen der optimalen Alternative (vgl. Kapitel 2)

§ Bestimmen der optimalen Regressionsgerade (vgl. Kapitel 3)

§ Bestimmen einer optimalen Abdeckung (SET COVER)

§ Bestimmen eines optimalen Produktionsplans

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 4: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

4

Motivation§ Das Gebiet der mathematischen Optimierung beschäftigt

sich allgemein mit solchen Optimierungsproblemen

§ In der Betriebswirtschaftslehre kümmert sich das GebietOperations Research darum, Entscheidungen herbeizuführen, indem betriebswirtschaftlicheFragestellungen mit Methoden der Optimierungmodelliert und gelöst werden

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 5: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

5

8.2 Optimierung ohne Nebenbedingungen§ Aus den Mathematikvorlesungen ist bekannt, wie man

die Extremstellen einer reellen Funktion

bestimmen kann

§ Vorgehensweise:

§ bestimme Nullstellen der ersten Ableitung

§ überprüfe zweite Ableitung an den ermittelten Nullstellen x*§ (lokales) Minimum, falls

§ (lokales) Maximum, falls

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

f : R æ R

f

Õ(x) = 0

f

ÕÕ(xú) > 0f

ÕÕ(xú) < 0

Page 6: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

6

Beispiel: Optimierung ohne Nebenbedingungen§ Beispiel: Betrachte die Funktion

damit -1 und +1 als Nullstellen

damit ist -1 ein Maximum und +1 ein Minimum

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

-4 -2 0 2 4

-0.6

-0.4

-0.2

0.0

0.2

0.4

0.6

x

f(x)

f(x) = ≠x e

≠0.5 x

2

f

Õ(x) = ≠(1 ≠ x

2) e

≠0.5 x

2

f

ÕÕ(x) = x (3 ≠ x

2) e

≠0.5 x

2

Page 7: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

7

Lokale und globale Minima und Maxima§ Wir finden so alle lokale und globale Minima (Maxima)

§ lokal, d.h. die Funktion nimm in der Nachbarschaftkeinen kleineren (größeren) Wert an

§ global, d.h. die Funktion nimmt nirgendwoeinen kleineren (größeren) Wert an

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

-40 -20 0 20 40

-1000

-500

0

x

f(x)

f(x) = ≠x

2 + e

0.15 x + e

≠0.19x

Page 8: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

8

Funktionen mehrerer Variablen§ Vorgehensweise verallgemeinerbar für Funktionen

mehrerer Variablen (hier: x und y)

§ Vorgehensweise:

§ bestimme gemeinsame Nullstellen der partiellen Ableitungen

§ überprüfe zweite partielle Ableitungen an den Nullstellen x*

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

f : R ◊ R æ R

ˆf

ˆx

= 0 ˆf

ˆy= 0

Page 9: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

9

8.3 Optimierung unter Nebenbedingungen§ Häufig gilt es, ein Minimum (Maximum) unter Einhaltung

einer oder mehrerer Nebenbedingungen zu finden

§ Beispiel: Produktionsplanung in einem Unternehmen

§ Produkt x erzielt Erlös von 10 € pro verkaufter Einheit

§ Produkt y erzielt Erlös von 25 € pro verkaufter Einheit

§ Beide Produkte benötigten ein gemeinsames Bauteil§ hiervon sind 50 Einheiten verfügbar

§ Produkt x benötigt eine Einheit; Produkt y benötigt drei Einheiten

§ Es kann eine beliebige (reelle) Anzahl der Produkte x und yproduziert werden; Ziel ist die Maximierung des Erlös

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 10: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

10

Beispiel: Optimierung unter Nebenbedingungen§ Produktionsplanung formuliert als Optimierungsproblem

§ Welche Mengen von x und y sollen produziert werden?

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

arg max

x,y

f(x, y) = 10 x + 25 y

s.t. 1 x + 3 y = 50

Page 11: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

11

Reduktionsmethode§ Lässt sich die Nebenbedingung eindeutig nach einer der

beiden Variablen x und y auflösen, so können wir die Lösung in die Zielfunktion einsetzen

§ Beispiel: Auflösen der Nebenbedingung nach x

und Einsetzen in die Zielfunktion ergibt

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

1 x + 3 y = 50 … x = 50 ≠ 3 y

F (x, y) = 10 (50 ≠ 3y) + 25 y = 500 ≠ 5y

Page 12: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

12

Reduktionsmethode§ Die Extremwerte der neuen Zielfunktion F(x,y) lassen sich

nun mit der bekannten Vorgehensweise bestimmen

§ Beispiel:

§ Wir stellen fest, dass y* = 0 ein Extremwert ist, d.h.das Unternehmen soll folgende Mengen produzieren:§ 0 Einheiten des Produkts y

§ 50 Einheiten des Produkts x

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 13: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

13

8.4 Lineare Programmierung§ Lineare Programmierung betrachtet den wichtigen

Spezialfall einer linearen Zielfunktion, die unterBerücksichtigung einer Menge linearerNebenbedingungen optimiertwerden soll

§ Beispiel: Produktionsplanung im Unternehmen

§ Produkt x erzielt Erlös von 1 €, Produkt y einen Erlös von 2 €

§ 150 Einheiten von Material a stehen zur Verfügung;jede Einheit von x benötigt 10, jede Einheit von y benötigt 10

§ 80 Einheiten von Material b stehen zur Verfügung;jede Einheit von x benötigt 4, jede Einheit von y benötigt 8

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 14: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

14

Ganzzahlige lineare Programmierung§ Allgemeine Form eines linearen Programms

§ Beispiel:

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

arg max

x1,...,xn

F (x1, . . . , x

n

) = c1 x1 + . . . + c

n

x

n

s.t. a

i1 x1 + . . . + a

in

x1 Æ b1

.

.

.

a

m1 x1 + . . . + a

mn

x1 Æ b

m

arg max

x1,...,xn

F (x, y) = 1 x + 2 y

s.t. 10 x + 10 y Æ 150

4 x + 8 y Æ 80

m Nebenbedingungen}

Page 15: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

15

Graphische Lösung eines linearen Programms§ Im Fall zweier Variablen lässt sich graphisch eine Lösung

bestimmen (ähnlich zu graphischen Modellen in Kapitel 2)

§ Vorgehensweise:

§ jede Nebenbedingung beschreibt eine Gerade (Halbraum)

§ Schnitt dieser Halbräume ist Menge zulässiger Lösungen§ Zielfunktion beschreibt Menge von Geraden

§ weiter vom Ursprung entfernte Geraden entsprechen einemhöheren Wert der Zielfunktion

§ bestimme optimale Lösung durch Geradenverschiebung

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 16: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

16

Graphische Lösung eines linearen Programms§ Beispiel:

Bestimmen der Geraden zu den Nebenbedingungen

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

arg max

x1,...,xn

F (x, y) = 1 x + 2 y

s.t. 10 x + 10 y Æ 150

4 x + 8 y Æ 80

10 x + 10 y Æ 150 ∆ y = 15 ≠ x

4 x + 8 y Æ 80 ∆ y = 10 ≠ 0.5 x

Page 17: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

17

Graphische Lösung eines linearen Programms

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

0 5 10 15

05

1015

x

y

10 x + 10 y Æ 150 ∆ y = 15 ≠ x

4 x + 8 y Æ 80 ∆ y = 10 ≠ 0.5 x

Menge zulässigerLösungen

Page 18: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

18

Graphische Lösung eines linearen Programms§ Werte der Zielfunktion entsprechen Geraden der Form

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

0 5 10 15

05

1015

x

y

y = ≠0.5 x + c

Page 19: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

19

Graphische Lösung eines linearen Programms§ Durch Verschiebung der Geraden finden wir die Menge

der optimalen Lösungen: der maximale Erlös von 20wird z.B. mit folgenden Produktionsmengen erzielt

§ x = 0 und y = 10

§ x = 10 und y = 5

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

0 5 10 15

05

1015

x

y

Menge optimalerLösungen

Page 20: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

20

Ganzzahlige lineare Programmierung§ Zwei wichtige Spezialfälle der linearen Programmierung:

§ ganzzahlige lineare Programmierung (integer linear programming), wobei Variablen nur ganzzahligeWerte annehmen dürfen

§ 0/1 lineare Programmierung (0/1 linear programming), wobei Variablen nur die Werte 0 und 1annehmen dürfen

§ Diese Einschränkungen der Variablen machen das Finden einer optimalen Lösung deutlich schwerer

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 21: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

21

Solver§ Bekanntester Algorithmus zum Lösen linearer Programme

ist der sogenannte Simplex-Algorithmus

§ Zahlreiche Softwarepakete zum Lösen linearer Programme

§ IBM CPLEX

§ Gurobi

§ LINGO

§ Microsoft Excel (Solver Add-In)

diese sogenannten Solver können in der Regel auch ganzzahlige LPs und 0/1-LPs lösen

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 22: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

22

8.5 Kombinatorische Optimierung§ In der Informatik beschäftigen wir uns sehr häufig mit

kombinatorischer (d.h. mengenwertiger) Optimierung

§ Beispiel: SET COVER als bekanntes Optimierungsproblem

§ betrachte ein Universum U von Elementen

§ gegeben ist eine Menge S von Teilmengen Si⊆ U

§ finde eine möglichst kleine Teilmenge von S, so dass alle Elemente des Universumsdarin enthalten sind

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

arg minC™S

|C| s.t.€

SiœC

Si = U

Page 23: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

23

Beispiel SET COVER

§ Beispiel: Universum seien die Zahlen 1, 2, …, 5

§ Eine optimale Lösung ist C = {S4, S6}

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

S1 = {1, 3, 5}S2 = {4}S3 = {5}S4 = {1, 2, 5}S5 = {1, 5}S6 = {3, 4}

Page 24: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

24

SET COVER

§ Wie können wir allgemein eine optimale Lösung finden?

§ SET COVER ist als NP-schweres Problem bekannt

§ Idee 1: Zähle Teilmengen von S in aufsteigender Größeauf und überprüfe, ob sie alle Elemente aus U enthalten

§ Idee 2: Verwende einen gierigen (greedy) Algorithmus,der mit leerer Menge C beginnt und immer die Menge Si

hinzufügt, welche die meisten zusätzlichen Elementeaus U beinhaltet

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 25: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

25

Approximationsalgorithmus für SET COVER

§ Man kann zeigen, dass dieser gierige Algorithmuseine O(log n) Approximation liefert, d.h. die ermittelte Lösung C ist höchstens um einen Faktor O(log n)schlechter als eine optimale Lösung

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

1 greedySC (U ,S,C) {2 // Initial ist C leer3 C = ÿ;4

5 while (fiSjœC Sj ”= U ) {6 // Bestimme Teilmenge Sú mit meisten zus a tzlichen Elementen7 Sú

= arg max

SjœS|Sj fl (U \ fiSiœC Si)| ;

8

9 // Fuge Sú zu C hinzu10 C = C fi {Sú};11 }12 }

Page 26: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

26

SET COVER mittels Simulated Annealing§ Simulated Annealing ist ein randomisiertes

Suchverfahren, welches häufig zur Lösung kombinatorischer Optimierungsproblemeneingesetzt werden kann

§ Idee:

§ beginne mit einer Lösung

§ wiederhole für eine Gesamtzahl von R Runden§ verändere die aktuelle Lösung zufällig

§ es sei d die erreichte Veränderung der Zielfunktion§ ist d ≤ 0, so übernehme veränderte Lösung

§ ist d > 0, so übernehme veränderte Lösung mit Wahrscheinlichkeitexp(-d/r) mit r als Zahl verbleibender Runden

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 27: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

27

SET COVER mittels Simulated Annealing§ Um Simulated Annealing auf SET COVER anwenden zu

können, benötigen wir eine initiale Lösung sowie ein Möglichkeit Lösungen zufällig ändern

§ als initiale Lösung verwenden wir C = S

§ um eine Lösung zu ändern, wählen wir zufällig§ eine enthaltene Teilmenge, entfernen sie und überprüfen,

ob dies noch eine gültige Lösung ist oder

§ eine nicht enthaltene Teilmenge aus und fügen sie hinzu

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 28: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

28

SET COVER als ganzzahliges lineares Programm§ Kombinatorische Optimierungsprobleme lassen sich oft

als ganzzahlige lineare Programme formulieren

§ Man kann dann einen verfügbaren Solver (z.B. Gurobi)verwenden, um eine (nahezu) optimale Lösung zu findenund muss sich selbst keine Gedanken über einengeeigneten Algorithmus machen

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 29: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

29

SET COVER als ganzzahliges lineares Programm§ SET COVER als ganzzahliges lineares Programm formuliert

§ eine Variable xi je Teilmenge Si

§ eine Nebenbedingung je Element uj aus U, die sicherstelltdass das Element uj abgedeckt wird; hierzu seien Gewichtecij definiert als

§ eine Nebenbedingung je Variable xi, die sicherstelltdass deren Wert in {0,1} liegt

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

cij = 1(uj œ Si)

Page 30: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

30

SET COVER als ganzzahliges lineares Programm§ Damit ergibt sich folgendes ganzzahliges

lineares Programm

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

arg minx1,...,xn

ÿ

i

x

i

s.t. ’j :ÿ

i

c

ij

x

i

Ø 0

’i : x

i

Æ 1

Page 31: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

31

Zusammenfassung§ Reduktionsmethode zur Optimierung einer Funktion

mehrerer Variablen unter einer Nebenbedingung

§ Lineare Programmierung als wichtiger Spezialfall einer linearen Zielfunktion und einer Menge von linearenNebenbedingungen

§ SET COVER als Beispiel eines kombinatorischen Optimierungsproblems, welches sich aufunterschiedliche Arten lösen lässt

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung

Page 32: 8. Optimierung - Softwarelabor (SWL)swl.htwsaar.de/lehre/ws16/eus/slides/2016-vl-eus-kap8-optimierung.pdf · Fragestellungen mit Methoden der Optimierung modelliert und gelöst werden

32

Literatur[1] M. Papageorgiou, M. Leibold und M. Buss:

Optimierung, Springer 2015(Kapitel 3-5 & 7)

[2] W. Domschke, A. Drexl, R. Klein und A. Scholl: Einführung in Operations Research, Springer, 2015 (Kapitel 1 & 2)

Entscheidungsunterstützende Systeme / Kapitel 8: Optimierung