520 likes | 876 Views
Multikriterielle Optimierung. Lars Boshold. Inhaltsverzeichniss. 1. Optimierung unter Nebenbedingungen 2. Multikriterielle Optimierung 3. Pareto-Optimierung 4. Quellenverzeichnis. Optimierung unter Nebenbedingungen. Optimierung unter Nebenbedingungen Problemstellung:
E N D
Multikriterielle Optimierung Lars Boshold
Inhaltsverzeichniss 1. Optimierung unter Nebenbedingungen 2. Multikriterielle Optimierung 3. Pareto-Optimierung 4. Quellenverzeichnis
Optimierung unter Nebenbedingungen Optimierung unter Nebenbedingungen Problemstellung: Minimiere Funktion f(x) unter Nebenbedingungen gi(x) ≥ 0 und hj(x) =0
Optimierung unter Nebenbedingungen Praktischer Hinweis: In der Praxis müssen die Nebenbedingungen nicht zwingend mit Maschinengenauigkeit eingehalten werden.
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
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))
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
Optimierung unter Nebenbedingungen Beispiel: minimiere f(x)=x2 unter der Nebenbedingung x=1(d.h. h(x)=x-1) =>F(x, λ)= x2 – λ*(x-1)
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)-aj2)
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
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.
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.
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.
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
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:
Optimierung unter Nebenbedingungen • möglichst rasche Minimierung der Fkt. • 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
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.
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.
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.
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
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
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)>
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“)
Optimierung unter Nebenbedingungen Vorteil/Nachteil dieser Modifikation: Minima, welche sich an der Grenze des zulässigen Bereiches befinden, werden nicht gefunden.
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
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 = λjk - 2ckhj (x)k h, ck+1 = 2ck d
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
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.
Multikriterielle Optimierung Multikriterielle Optimierung Problemstellung: Behandlung von Optimierungsproblemen, bei denen mehrere, sich u.U. widersprechende Zielsetzungen, vorliegen
Multikriterielle Optimierung Beispiele: • Portfolio-Optimierung: Gewinnmaximierung – Risikominimierung • MKOP min(x2-4x+4) min(-x2+4x+2)
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.
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)
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
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
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
Multikriterielle Optimierung Nachteile dieser Methode: • nur für Probleme mit kleiner Anzahl Zielsetzungen anwendbar(<10) • Konsistenz ist in der Praxis meist nicht gegeben
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.
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.
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
Pareto-Optimierung Eine Möglichkeit besteht zum Beispiel darin, anstelle von F(x)=Σλifi(x) die Funktion G(x)=Σλifik(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:
Pareto-Optimierung Fuzzy Logic Anstatt jeder Zielsetzung eine feste Wertigkeit zuzuordnen, verwende Funktionen wie in Abbildung.
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
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.
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:
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
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
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
Pareto-Optimierung Eine weitere Möglichkeit, mit welcher man die Pareto-Front eines MKOP ausfindig machen kann, liefert die Methode „Nash Equlibria“:
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
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.