Praktische Optimierung

Slides:



Advertisements
Ähnliche Präsentationen
Lehrgebietsvorstellung
Advertisements

G.Heyer Algorithmen und Datenstrukturen II 1 Algorithmen und Datenstrukturen II Wintersemester 2000 / 2001 Prof. Dr. Gerhard Heyer Institut für Informatik.
Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
Anwendung und Visual Basic
Heuristiken Automatic Problem Solving Institut für Informatik
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Algorithmen und Komplexität
Praktische Optimierung
Praktische Optimierung Sommersemester 2010 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Praktische Optimierung
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Mehrkriterielle Optimierung mit Metaheuristiken
Fundamente der Computational Intelligence
Fundamente der Computational Intelligence
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung
Mehrkriterielle Optimierung mit Metaheuristiken
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Praktische Optimierung
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Praktische Optimierung
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Mehrkriterielle Optimierung mit Metaheuristiken
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Mehrkriterielle Optimierung mit Metaheuristiken
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Praktische Optimierung – Präludium
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Nichtlineare Optimierung
Vom Neuron bis zur Boltzmann Maschine Miguel Domingo & Marco Block Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
Map Labeling mittels Simulated Annealing und Genetischen Algorithmen Seminar Label Placement Leiter: Dr. A. Wolff Referent: Tim Hoffmann Trassenheide 16./17.Juni.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Praktische Optimierung
 Präsentation transkript:

Praktische Optimierung Wintersemester 2007/08 Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering (LS XI) Fachgebiet Computational Intelligence

MOP: Pareto-Gradientenabstiegsverfahren Annahme: Zielfunktion differenzierbar d = 1: (monokriteriell) v 2 Rn ist Abstiegsrichtung in x 2 Rn wenn rf(x)‘ v < 0 d > 1: (multikriteriell) v 2 Rn ist Abstiegsrichtung in x 2 Rn wenn 8 i=1,…,d: rfi(x)‘ v < 0 bzw. max { rfi(x)‘ v : i=1,…,d } < 0 ) Bewegung von x in Richtung v mit geeigneter Schrittweite s führt zu einer Lösung y = x + s ¢ v, die x dominiert: f(y) Á f(x) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Pareto-Gradientenabstiegsverfahren Berechnung einer Abstiegsrichtung v für gegebenes x Ansatz: max { rfi(x)‘ v : i=1,…,d } → min! unter || v ||1 ≤ 1 , v0 → min! unter 8 i=1,…,d: r fi(x)‘ v ≤ v0 8 i=1,…,d: –1 ≤ vi ≤ 1 lineares Optimierungsproblem (LP) Bestimmung der Schrittweite s finde größtes s mit f(x + s ¢ v) ≤ f(x) + s ¢ J(x) v , J(x) Jacobi-Matrix bzw. 8 i=1,…,d: fi(x + s ¢ v) ≤ fi(x) + s ¢ rfi(x)‘ v und echt kleiner für mindestens ein i Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden Arbeitsdefinition: Metaheuristik =def Algorithmischer Rahmen für eine Lösungsstrategie, bei der viele Bestandteile initial unspezifiziert sind. ■  viele algorithmische Bestandteile können ausgetauscht werden, ohne die generelle Lösungsstrategie zu verändern  viele verschiedene Algorithmen  Aufbau einer Theorie mühsam Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden Beispiel: Monokriterieller (1+1) – EA („evolutionärer Algorithmus“) Mutation Selektion : Zufallsvektor (hier: unspezifiziert) R Zielfunktion (→ min!) Zielwerte, die besser als z0 sind Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden Multikriterieller (1+1)-EA: Was wäre zu ändern? 1. Mutationsvektoren → keine Änderung nötig! 2. Selektion → Neudefinition: B(z0) = { z 2 F : z ¹ z0 } ) keine Änderung an der Rahmenstruktur des Algorithmus! Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden B(z0) I(z0) W(z0) = { z 2 F : z ¹ z0 } “better than“ z0 = { z 2 F : z || z0 } “incomparable to“ z0 = { z 2 F : z0 ¹ z } “worse than“ z0 Multikriterieller (1+1)-EA: I1(z0) W(z0) ) z0 B(z0) I2(z0) akzeptieren verwerfen Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden Beispiel: Monokriterielles Threshold Accepting (TA) Threshold Tk ≥ 0 Tk monoton fallend → 0 : Zufallsvektor (hier: unspezifiziert) R Zielfunktion (→ min!) Zielwerte, die besser als z0 sind Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden Idee bei monokriteriellem Threshold Accepting (TA) Akzeptiere jede Verbesserung Akzeptiere zu Anfang der Suche auch große Verschlechterungen Akzeptiere danach immer geringere Verschlechterungen ) am Ende nahezu keine Akzeptanz von Verschlechterungen mehr ) Verlassen von lokalen Optima durch Akzeptanz von Verschlechterungen Regeln für Tk: Tk = c Tk-1, c 2 (0,1) Tk = T0 / (k+1)a , a > 0 Tk = T0 / log(k+1) weitere Regeln denkbar und wohl auch im Einsatz Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden Multikriterielles Threshold Accepting: Was wäre zu ändern? 1. Tk wird m-dimensionaler Vektor (ein Threshold je Zielgröße oder einer für alle) 2. ggf. m verschiedene Tk – Verringerungsregeln Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden B(z0) I(z0) W(z0) = { z 2 F : z ¹ z0 } “better than“ z0 = { z 2 F : z || z0 } “incomparable to“ z0 = { z 2 F : z0 ¹ z } “worse than“ z0 Multikriterielles TA: I1(z0) W(z0) ) z0 B(z0) I2(z0) akzeptieren verwerfen Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden Alternative Akzeptanzregeln für multikriterielles TA i > 0 ) Verschlechterung bzgl. Ziel i Sei i = fi(yk) – fi (xk). i < 0 ) Verbesserung bzgl. Ziel i max{ i : i = 1,…,m} ≤ Tk  i wi max{ i, 0 } ≤ Tk  i wi i ≤ Tk … f(yk) 2 B( f(xk) + Tk ¢ (1,…,1)‘ ) Konvexkombination w1,…wm Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden B(z0) I(z0) W(z0) = { z 2 F : z ¹ z0 } “better than“ z0 = { z 2 F : z || z0 } “incomparable to“ z0 = { z 2 F : z0 ¹ z } “worse than“ z0 MTA:  i wi max{ i, 0 } ≤ Tk I1(z0) W(z0) ) z0 B(z0) I2(z0) akzeptieren verwerfen Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden B(z0) I(z0) W(z0) = { z 2 F : z ¹ z0 } “better than“ z0 = { z 2 F : z || z0 } “incomparable to“ z0 = { z 2 F : z0 ¹ z } “worse than“ z0 MTA:  i wi i ≤ Tk I1(z0) W(z0) ) z0 B(z0) I2(z0) akzeptieren verwerfen Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden Beispiel: Monokriterielles Simulated Annealing (SA) : Zufallsvektor u » U[0,1], Tk → 0 monoton fallend Zielwerte, die besser als z0 sind Zielwerte, die schlechter als z0 sind Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden Idee beim monokriteriellem Simulated Annealing: Akzeptiere auch schlechtere Lösungen mit abnehmender Wahrscheinlichkeit, um aus lokalen Optima zu entkommen! Satz (Hayek 1988, Haario & Saksman 1991) Tk = T0 / log(k + 1), mk mit beschränktem Träger ) SA konvergiert gegen globales Optimum mit W‘keit 1 ■ → sehr langsame Temperaturverringerung! → Praxis: Tk+1 = c · Tk mit c 2 (0,1) Satz (Belisle 1992) Tk = ck ¢ T0 , c 2 (0,1) und supp(mk) = Rn ) SA konvergiert zum globalen Optimum mit W‘keit 1 ■ Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden Multikriterielles Simulated Annealing: Was wäre zu ändern? i(k) = fi(yk) – fi(xk) k = max{ i(k) : i = 1,..,m } Zielwerte, die besser als z0 sind Zielwerte, die schlechter als z0 sind Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden B(z0) I(z0) W(z0) = { z 2 F : z ¹ z0 } “better than“ z0 = { z 2 F : z || z0 } “incomparable to“ z0 = { z 2 F : z0 ¹ z } “worse than“ z0 Multikriterielles SA: I1(z0) W(z0) ) z0 B(z0) I2(z0) akzeptieren verwerfen Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden Multikriterielles Simulated Annealing: Serafini (1992) : Rm x R+ → [0,1]  (k) = ( 1(k), …, m(k) )‘ mit i(k) = fi(yk) – fi(xk) supp(mk) kann beschränkt sein Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden MSA (Serafini 1992) zzgl. zusammengesetzte Regeln: Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

vermutlich nicht alle Lösungen erreichbar! MOP: Metaheuristiken – Einzelpunktmethoden MSA (Engrand et al. 1998) Skalarisierung! Ersatzzielfunktion  → erfordert 8 i : 8 x: fi(x) > 0 vermutlich nicht alle Lösungen erreichbar! Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden MSA (Engrand et al. 1998) Ersatzzielfunktion Ansatz: gi(x) = exp(fi(x)) 8 i : 8 x : gi(x) > 0 lokale und globale Minimalstellen identisch! Ersatzzielfunktion mit wi = 1/m ) kann nur Pareto-optimale Lösungen im konvexen Zielbereich finden! Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

zugeschnitten für diskrete Probleme MOP: Metaheuristiken – Einzelpunktmethoden Beispiel: Monokriterielles Tabu Search (TS) Tabu-Liste Lk mit max. Länge Nachbarschaft N(x) von x 2 X → auch schlechtere neue Punkte werden akzeptiert! zugeschnitten für diskrete Probleme Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden Bisher: Ein Lauf → ein Lösungskandidat Erwünscht: Approximation der Paretomenge Ansatz: Einsammeln nicht-dominierter Lösungen → Knowles & Corne (2000): Pareto-Archived ES (PAES) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden (1+1)-PAES (Knowles & Corne 2000) Ak : Archiv zum Zeitpunkt k Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden (1+1)-PAES (Knowles & Corne 2000) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden

MOP: Metaheuristiken – Einzelpunktmethoden (1+1)-PAES (Knowles & Corne 2000) Idee: Zielraum unterteilen in Raster mit 2d ¢ s Zellen (cells); d = dim(F) f1 f2 most crowded (size = 3) Speichereffiziente Implementierung möglich → quadtree Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Einzelpunktmethoden