Multikriterielle Optimierung

Post on 05-Jan-2016

73 views 0 download

description

Multikriterielle Optimierung. Lars Boshold. Inhaltsverzeichniss. 1. Optimierung unter Nebenbedingungen 2. Multikriterielle Optimierung 3. Pareto-Optimierung 4. Quellenverzeichnis. Optimierung unter Nebenbedingungen. Optimierung unter Nebenbedingungen Problemstellung: - PowerPoint PPT Presentation

Transcript of Multikriterielle Optimierung

1

Multikriterielle Optimierung

Lars Boshold

2

Inhaltsverzeichniss

1. Optimierung unter Nebenbedingungen

2. Multikriterielle Optimierung

3. Pareto-Optimierung

4. Quellenverzeichnis

3

Optimierung unter Nebenbedingungen

Optimierung unter Nebenbedingungen

Problemstellung:

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

4

Optimierung unter Nebenbedingungen

Praktischer Hinweis:

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

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

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))

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

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

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)

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

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.

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.

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.

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

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:

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

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.

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.

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

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

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

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) >

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“)

24

Optimierung unter Nebenbedingungen

Vorteil/Nachteil dieser Modifikation:

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

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

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

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

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.

29

Multikriterielle Optimierung

Multikriterielle Optimierung

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

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

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.

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)

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

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

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

36

Multikriterielle Optimierung

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

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

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

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.

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

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:

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

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

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.

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:

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

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

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

48

Pareto-Optimierung

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

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

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.

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.

52

Quellenverzeichnis

-Keane, Nair: Computional Approaches for Aerospace Design

-wikipedia

-eos.tuwien.ac.at

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