Download - Multikriterielle Optimierung

Transcript
Page 1: Multikriterielle Optimierung

1

Multikriterielle Optimierung

Lars Boshold

Page 2: Multikriterielle Optimierung

2

Inhaltsverzeichniss

1. Optimierung unter Nebenbedingungen

2. Multikriterielle Optimierung

3. Pareto-Optimierung

4. Quellenverzeichnis

Page 3: Multikriterielle Optimierung

3

Optimierung unter Nebenbedingungen

Optimierung unter Nebenbedingungen

Problemstellung:

Minimiere Funktion f(x) unter Nebenbedingungen gi(x) ≥ 0 und hj(x) =0

Page 4: Multikriterielle Optimierung

4

Optimierung unter Nebenbedingungen

Praktischer Hinweis:

In der Praxis müssen die Nebenbedingungen nicht zwingend mit Maschinengenauigkeit eingehalten werden.

Page 5: Multikriterielle Optimierung

5

Optimierung unter Nebenbedingungen

Erster Ansatz: Transformation

Transformiere ursprüngliches Problem in eines ohne Nebenbedingungen:

min(f(x)), hj(x) =0

=> min(f2(x))

Aber: Eine solche Transformation ist in der Praxis oftmals nicht durchführbar

Page 6: Multikriterielle Optimierung

6

Optimierung unter Nebenbedingungen

Beispiel:

Minimiere Oberfläche einer Kiste bei festem Volumen:

min(2*(l*b+h*b+l*b)) unter V=l*g*h=const

=> min(l*b+(l+b)*V/(l*b))

Page 7: Multikriterielle Optimierung

7

Optimierung unter Nebenbedingungen

Klassischer Ansatz: Lagrange Multiplikatoren

Bilde F(x, λ):= f(x) – Σλihi(x) und löse grad F=0

• Gewisse Voraussetzungen an f(x) müssen erfüllt sein

• Lagrange Multiplikatoren vergrößern Dimension des Problems

Page 8: Multikriterielle Optimierung

8

Optimierung unter Nebenbedingungen

Beispiel:

minimiere f(x)=x2

unter der Nebenbedingung x=1(d.h. h(x)=x-1)

=>F(x, λ)= x2 – λ*(x-1)

0

1

2

3

4

5

6

7

8

-2 -1 0 1 2 3 4

Page 9: Multikriterielle Optimierung

9

Optimierung unter Nebenbedingungen

Wie geht man vor, wenn als Nebenbedingungen ebenfalls ein Satz von Ungleichungen gj(x) ≥ 0 vorliegt?

Lösung: Führe sogenannte „slack variables“ ein, d.h. schreibe Nebenbed. In der Form

gj(x)- aj2=0

=> F(x, λ, a)=f(x) – Σλihi(x) – Σλj ( gj(x)-aj

2)

Page 10: Multikriterielle Optimierung

10

Optimierung unter Nebenbedingungen

Um Gleichungen für die aj zu erhalten, differentiere F nach aj und setze gleich Null, man erhält 2 λj aj = 0

- λj = 0 => NB ist inaktiv

- aj = 0 => NB auf Gleichung reduziert

Page 11: Multikriterielle Optimierung

11

Optimierung unter Nebenbedingungen

Schlussfolgerung:

Bei Verwendung von Lagrangen Multiplikatoren können Nebenbedingungen der Form gj(x) ≥ 0 stets als Gleichung aufgefasst bzw., falls nicht verletzt, ignoriert werden.

Page 12: Multikriterielle Optimierung

12

Optimierung unter Nebenbedingungen

Großer Nachteil der Lagrange Multiplikatoren:

Minimierung der Lagrange-Funktion löst nicht zwingend das Ausgangsproblem. (z.B. stationäre Punkte mit positiver Hesse-Matrix)

Mögliche Lösung: Verwende Newton-Verfahren, um „richtige“ Lösung zu suchen.

Aber: Funktioniert nur, wenn Suche in Nähe des gesuchten Minimums beginnt.

Page 13: Multikriterielle Optimierung

13

Optimierung unter Nebenbedingungen

Sequentielle Quadratische Programmierung

(nur Grundidee):

Verwende quadratische Approximation der Lagrange-Fkt., um eben erwähntes Problem zu umgehen und nähere sich der gesuchten Lösung iterativ an, indem in jedem Schritt das quadratische Minimierungsproblem gelöst wird.

Page 14: Multikriterielle Optimierung

14

Optimierung unter Nebenbedingungen

Je nach Problemstellung kann es erwünscht sein, dass die Nebenbedingungen möglichst „gut“ erfüllt sind, d.h. dass Lösungen erwünscht sind, welche sich im Inneren des zulässigen Bereiches befinden.

Beispiel: Nebenbedingung, welche maximale Kostenobergrenze vorgibt

Page 15: Multikriterielle Optimierung

15

Optimierung unter Nebenbedingungen

Methode der zulässigen Richtungen (Feasible Directions Method, FDM)

Im Gegensatz zu den Lagrange Mult. hält sich die FDM möglichst weit von den Grenzen des zulässigen Bereichs entfernt, funktioniert folglich nur bei Ungleichungen.Grundidee: Starte an aktiver Grenze und folge der „besten“ Richtung in den zulässigen Wertebereich.Die „beste“ Richtung wird anhand zweier Kriterien bestimmt:

Page 16: Multikriterielle Optimierung

16

Optimierung unter Nebenbedingungen

1. möglichst rasche Minimierung der Fkt.2. man möchte die NBen möglichst gut erfüllen

Vorgehensweise:

b maximiere -sTDgi({x}) + λib ≤ 0, sTDf(x) + b ≤ 0

si² ≤ 1, s definiert die Suchrichtung, λi ≥ 0 sind die sogenannten push-off Faktoren, d.h. sie bestimmen, wie weit die Suche von der Grenze des zuläs. Bereichs entfernt bleibt

Page 17: Multikriterielle Optimierung

17

Optimierung unter Nebenbedingungen

Sobald die Suchrichtung s bestimmt ist, führe eine eindim. Suche in eben diese Richtung aus bis

1.) ein Minimum gefunden werden konnte

oder

2.) eine Nebenbedingung verletzt wurde.

Im ersten Falle fahre fort mit Minimumssuche ohne Beachtung der NB, im 2. wiederhole Berechnung der zulässigen Richtung und iteriere Prozedur.

Page 18: Multikriterielle Optimierung

18

Optimierung unter Nebenbedingungen

Vorteil der FDM:

Lineare Maximierungsproblem können sehr effizient und robust gelöst werden.

Nachteil der FDM:

Je nachdem, welche Form die Grenzlinie des zulässigen Bereiches hat, kann die Suchrichtung weg von der Grenze kontraproduktiv sein.

Page 19: Multikriterielle Optimierung

19

Optimierung unter Nebenbedingungen

Penalty Function Methods

Einfachste Variante:

Führe nicht-restringierte Minimumssuche durch,

addiere jedes mal eine „große“ Konstante zum Funktionwert, wenn eine NB nicht erfüllt wird.

0

50

100

150

200

250

300

0 2 4 6 8 10 12

Page 20: Multikriterielle Optimierung

20

Optimierung unter Nebenbedingungen

Genauer:

Arbeite statt mit f(x) mit Funktion

fP(x)= f(x)+P, wenn NB nicht erfüllt ist

fP(x) = f(x), sonst

Page 21: Multikriterielle Optimierung

21

Optimierung unter Nebenbedingungen

Entscheidende Nachteile dieser Methode:

• fP(x) nicht glatt

• Anzahl verletzter NBen bleibt unberücksichtigt• Suche führt nicht zwingend in den zulässigen

Bereich

Page 22: Multikriterielle Optimierung

22

Optimierung unter Nebenbedingungen

Erweiterter Ansatz:• anstatt eines Penalty P nehme einen für jede

verletzte Nebenbedingung: fP(x)= f(x)+mP

• multipliziere P mit einem Wert, welcher abhängt vom Grade der Verletzung der Nebenbedingung: fP(x)= f(x) + ΣP<gi(x) > + ΣP<hj(x) >

Page 23: Multikriterielle Optimierung

23

Optimierung unter Nebenbedingungen

• nehme seperate Penaltys für jede NB, d.h.

fP(x)= f(x) + ΣPi<gi(x) > + ΣPj<hj(x) >

(Skalierung)• füge weiteres Set von Penalties hinzu:

fP(x)= f(x)+ΣPi<gi(x) >+ΣPj<hj(x) >+ΣSi/gis(x)

(„interior warning“)

Page 24: Multikriterielle Optimierung

24

Optimierung unter Nebenbedingungen

Vorteil/Nachteil dieser Modifikation:

Minima, welche sich an der Grenze des zulässigen Bereiches befinden, werden nicht gefunden.

Page 25: Multikriterielle Optimierung

25

Optimierung unter Nebenbedingungen

Kombination aus Lagrange und Penalty Methoden

Funktionen fP(x) unstetig, daher viele Methoden zur Minimumssuche nicht oder nur schwer anwendbar.

Idee: Kombiniere Lagrange und Penalty Methoden

Page 26: Multikriterielle Optimierung

26

Optimierung unter Nebenbedingungen

=> fm(x)= f(x) - Σλihi(x) + cΣhj(x)2

Vorgehensweise:

0.) wähle λi beliebig, c0=c, ck+1 = 2ck

1.) minimiere fm (x)

2.) λjk+1 = λj

k - 2ckhj (x)k h,

ck+1 = 2ck d

Page 27: Multikriterielle Optimierung

27

Optimierung unter Nebenbedingungen

Vorteile/Nachteile der vorgestellten Methoden:

Transformation: + starke Simplifizierung des Problems

- praktisch kaum anwendbar

Penalty: + robust

- resultierende Fkt. Unstetig

FDM: + effizient & robust

- bei „schmalem“ zulässigen Bereich können Probleme auftreten

SQP: + effektiv, allgemeingültig

- Probleme bei Unstetigkeiten

Page 28: Multikriterielle Optimierung

28

Optimierung unter Nebenbedingungen

Insbesondere FDM und SQP werden in der Praxis recht häufig verwendet, FDM für einfachere, SQP durchaus auch für komplexere restringierte Optimierungsprobleme, da recht effektiv und allgemein anwendbar.

Page 29: Multikriterielle Optimierung

29

Multikriterielle Optimierung

Multikriterielle Optimierung

Problemstellung: Behandlung von Optimierungsproblemen, bei denen mehrere, sich u.U. widersprechende Zielsetzungen, vorliegen

Page 30: Multikriterielle Optimierung

30

Multikriterielle Optimierung

Beispiele:• Portfolio-Optimierung:

Gewinnmaximierung – Risikominimierung

• MKOP min(x2-4x+4)

min(-x2+4x+2)

-2

-1

0

1

2

3

4

5

6

7

8

-2 0 2 4 6

Page 31: Multikriterielle Optimierung

31

Multikriterielle Optimierung

Idee zur Lösung von MKOP:

Versuche, den verschiedenen Zielfunktionen Gewichte/Wertigkeiten zuzuordnen.

Dies würde z.B. insbesondere dann Sinn machen, wenn das Erreichen eines bestimmten Ziels als wesentlich wichtiger eingestuft werden kann als das eines anderen.

Page 32: Multikriterielle Optimierung

32

Multikriterielle Optimierung

Direct Weight Assignment

• bewerte die versch. Ziele auf einer Skala, z.B. sehr wichtig, wichtig, neutral, unwichtig, sehr unwichtig

• addiere die so gewichteten Funktionen (Ziele) nun zu einer über den zulässigen Bereich zu optimierenden Funktion

=> F(x)=Σλifi(x)

Page 33: Multikriterielle Optimierung

33

Multikriterielle Optimierung

Beispiel:

f(x)=x2-2x+4

f(x)=-x2 +4x-2

λ1= 0.8, λ2=0.2

F(x)=0.6x2-0.8x+2.8

F(x) hat min bei x=2/3

-10

-5

0

5

10

15

20

25

-2 0 2 4 6

Page 34: Multikriterielle Optimierung

34

Multikriterielle Optimierung

Eigenvektor Methode

Bewerte paarweise die Relevanz der einzelnen Zielsetzungen in Relation zueinander: Ziel i ist x mal wichtiger als Ziel y, setze pij = x.

Sind alle pij konsistent zueinander, so ergibt sich eine Matrix P={pik} mit pik =1/ pki

Löse Pw=λmaxw

Page 35: Multikriterielle Optimierung

35

Multikriterielle Optimierung

Beispiel: 3 versch. Ziele,

1 3 6

P= 1/3 1 2

1/6 ½ 1

λmax=3, w=[0.667, 0.222, 0.111] T

Page 36: Multikriterielle Optimierung

36

Multikriterielle Optimierung

Nachteile dieser Methode:• nur für Probleme mit kleiner Anzahl Zielsetzungen

anwendbar(<10)• Konsistenz ist in der Praxis meist nicht gegeben

Page 37: Multikriterielle Optimierung

37

Pareto-Optimierung

Pareto-Optimierung

Ein Pareto-Optimum, ist ein Zustand, in dem es nicht möglich ist, ein Individuum besser zu stellen, ohne zugleich ein anderes Individuum schlechter zu stellen.

-1 ,5

-1

-0 ,5

0

0 ,5

1

1 ,5

-1 ,5 -1 -0 ,5 0 0 ,5 1 1 ,5

Page 38: Multikriterielle Optimierung

38

Pareto-Optimierung

Definition: Gegeben sei das MKOP min f1 (x),.…, min fN (x). Eine Lösung x* heißt Pareto – optimal, falls gilt: Gibt es eine Lösung y, so dass fk (y)<fk (x*) für ein k, so existiert ein l mit fl (y)>fl (x*).

Die Menge der Pareto-optimalen Punkte heißt Pareto-Front.

Page 39: Multikriterielle Optimierung

39

Pareto-Optimierung

Bei einem MKOP ist es stets das Ziel, die „beste“ Lösung zu finden. Die DWA Methoden finden jedoch nicht zwingend alle Pareto-optimalen Lösungen:

=> Verwendung nicht-linearer Funktionen

Page 40: Multikriterielle Optimierung

40

Pareto-Optimierung

Eine Möglichkeit besteht zum Beispiel darin, anstelle von F(x)=Σλifi(x) die Funktion G(x)=Σλifi

k (x)

oder gegebenenfalls eine noch komplexere Fkt. zu verwenden.

Einen anderen Ansatz liefert folgende Methode, die zum Ziel hat, mit dem Problem „ungünstig“ geformter Pareto-Fronten umzugehen, indem sie die gewichteten Funktion nicht-linear kombiniert:

Page 41: Multikriterielle Optimierung

41

Pareto-Optimierung

Fuzzy Logic

Anstatt jeder Zielsetzung eine feste Wertigkeit zuzuordnen, verwende Funktionen wie in Abbildung.

-0,2

0

0,2

0,4

0,6

0,8

1

1,2

0 5 10 15

Page 42: Multikriterielle Optimierung

42

Pareto-Optimierung

mögliche weitere Vorgehensweisen:• analog wie bei DWA, dividiere durch Anzahl der

Funktionen• verwende Produkt statt Summe• etc

Als Ergebnis erhalte Funktion, deren Werte in [0,1] liegen

Page 43: Multikriterielle Optimierung

43

Pareto-Optimierung

Vorteile:- Designer kann Wertigkeit der einzelnen Ziele mit

größerer Toleranz angeben- Resultierende Funktion nicht mehr linear

Nachteile:- Resultierende Funktion kann zwingend noch immer

nicht komplette Pareto-Front erreichen- Resultierende Funktion „oszilliert“ stark.

Page 44: Multikriterielle Optimierung

44

Pareto-Optimierung

Die bisherigen Methoden hatten alle gemein, dass den einzelnen Zielsetzungen gewisse Wertigkeiten zugeteilt wurden.

Oftmals ist dies jedoch nicht möglich. Ein weiterer Nachteil besteht dass u.U. sehr komplex zusammengesetzte Funktionen verwendet werden müssen, um die Pareto-Front zu lokalisieren

Finde Ansatz, welcher obige Problematik umgeht:

Page 45: Multikriterielle Optimierung

45

Pareto-Optimierung

Naheliegende Idee:

DWA wiederholt ausgeführt mit verschiedenen Gewichtungen

Aber:

- Anzahl gegebener Funktionen in der Regel groß

(sehr hoher Rechenaufwand)

- konvexe Pareto-Fronten können nicht gefunden

werden

Page 46: Multikriterielle Optimierung

46

Pareto-Optimierung

Ziel ist aber, die Pareto-Front ausfindig zu machen.

Dazu:

1.) Ein Satz Pareto-optimaler Punkte muss gefunden werden

2.) diese müssen gleichmäßig angeordnet sein

Page 47: Multikriterielle Optimierung

47

Pareto-Optimierung

Effektive Vorgehensweise:- suche nicht-dominierte Punkte und archiviere diese- n-d Punkte werden solange abgespeichert, bis die

gewünschte Anzahl gefunden ist- ab dann werden neue n-d Punkte nur dann

abgespeichert, wenn sie entweder einen anderen dominieren oder aber zu einer besseren Verteilung der Punkte im Archiv beitragen

Page 48: Multikriterielle Optimierung

48

Pareto-Optimierung

Eine weitere Möglichkeit, mit welcher man die Pareto-Front eines MKOP ausfindig machen kann, liefert die Methode „Nash Equlibria“:

Page 49: Multikriterielle Optimierung

49

Pareto-Optimierung

Nash Equilibria

Geg. MKOP - min f1 (x),…, min fN (x)

Spielemodell:

Jeder „Spieler“ bekommt ein fi und eine Teilmenge der Variablen zugewiesen, welche er kontrollieren kann.

Reihum versuchen die Spieler, „ihr“ fi zu minimieren, wobei sie nur „ihre“ Variablen ändern können

Page 50: Multikriterielle Optimierung

50

Pareto-Optimierung

Gleichgewichtszustand

Wenn zu Ende „gespielt“ ergibt sich ein Ergebnis, welches auf der Pareto-Front liegt, des weiteren ist dieses Verfahren parallelisierbar, schnell und robust.

Aber:

Unterschiedliche Startpunkte, Verteilung der Variablen führen zu unterschiedlichen Ergebnissen.

Page 51: Multikriterielle Optimierung

51

Pareto-Optimierung

Zwar ist es mit diesem Verfahren möglich, die Pareto-Front zu lokalisieren, jedoch ist dies nur auf bedingt kontrollierbarem Wege möglich.

Aufgrund der vorher beschriebenen positiven Eigenschaften wird dieses Verfahren in der Praxis recht häufig verwendet.

Page 52: Multikriterielle Optimierung

52

Quellenverzeichnis

-Keane, Nair: Computional Approaches for Aerospace Design

-wikipedia

-eos.tuwien.ac.at

-Räbiger, Theis: Optimierung von Mehrkörpersystemen