Praktische Optimierung

Slides:



Advertisements
Ähnliche Präsentationen
Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Advertisements

Knapsack & Bin Packing Sebastian Stober
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Schnelle Matrizenoperationen von Christian Büttner
Genetische Algorithmen für die Variogrammanpassung
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
Genetische Algorithmen
Genetische Algorithmen
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prinzipien des Algorithmenentwurfs Backtracking Prof. Dr. Th. Ottmann
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
WS 06/07 Algorithmentheorie 01 - Einleitung Prof. Dr. Th. Ottmann Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Genetische Algorithmen
Minimum Spanning Tree: MST
Effiziente Algorithmen
Effiziente Algorithmen
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Einführung in die Programmierung
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Mehrkriterielle Optimierung mit Metaheuristiken
Fundamente der Computational Intelligence
Fundamente der Computational Intelligence
Einführung in die Programmierung
Mehrkriterielle Optimierung mit Metaheuristiken
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 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.
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.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
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.
Praktische Optimierung
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 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 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.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Analyse der Laufzeit von Algorithmen
ANN - Simulator Rainer Trummer Ferdinand Schober Christian Spielberger.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Foliendesign: Jörg Steinrücken & Tobias Kahn Vorlesung
Evolutionäre Algorithmen Rüdiger Brause
Algorithmen und Datenstrukturen
Gliederung der Vorlesung
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Algorithmen und Datenstrukturen
Praktische Optimierung
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
 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

z.Z. am häufigsten eingesetzt MOP: Metaheuristiken – Multipunktmethoden Bisher: je Iteration wird ein Entscheidungsvektor variiert und bewertet Jetzt: je Iteration werden mehrere Entscheidungsvektoren variiert und bewertet ● Historisches: VEGA, VOES, MOGA, PPES unvollständige Liste ● Aktuelles: NSGA-2, SPEA-2, SMS-EMOA, MSOPS z.Z. am häufigsten eingesetzt Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Schaffer 1984: VEGA (vector-evaluated genetic algorithm) d Ziele → d Teilpopulationen P1, … ,Pd der Größe s Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Kursawe 1990: VOES (vector optimization evolution strategy) d Ziele → diploide bzw. polyploide Chromosomen Idee: „Reservelager“ für Umweltveränderungen Ersatzzielfunktion mit Wichtungsvektor w = (w1, …, wd) fix oder zufällig ändernd VOES (skizziert) Mutation + Rekombination „wie üblich“ Austausch dominanter Gene mit rezessiven Genen mit W'keit 1/3 (+)-Selektion via Ersatzzielfunktion neue Eltern ins Archiv Archiv filtern (nur nicht-dominierte Elemente) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Fonseca & Fleming 1993: MOGA (multi-objective genetic algorithm) → Fitness abh. von Rang und Einnischungsmaß Rangzuordnung: Rang(x) = 1 + card({y 2 Pop: f(y) ¹ f(x)} ) → wenn f(x) 2 A1 dann Rang(x) = 1 Einnischungsmaß (sharing distance) d(x,y) = Abstand im Zielraum  = Einnischungsradius  = Parameter > 0 Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Fonseca & Fleming 1993: MOGA (multi-objective genetic algorithm) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Hilfsmittel: Erzeugen einer Antikettenhierachie → Grundlage vieler Verfahren! Satz: (Dilworth 1950) Sei (F, ¹) eine partiell geordnete Menge der Höhe h. Dann existiert eine Partition (F1, F2, …, Fh) von F aus Antiketten Fi. Beweis: (konstruktiv) Sei F1 = M(F, ¹), also die Menge minimaler Elemente von F. Setze Fi = M(F \ (F1 [ F2 [ … [ Fi-1), ¹) für i = 2, …, h. ■ Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Goldberg 1989: NDS (non-dominated sorting) Grundidee: Population aufteilen in Antikettenhierarchie F1, …, Fh h: Höhe der partiell geordneten Menge erzeuge Anfangspopulation per Zufall repeat bestimme d Zielwerte je Individuum Einteilung der Individuen gemäß Antikettenhierachie Zuordnung: Individuum x hat Rang i, falls f(x) 2 Fi rangbasierte Selektion Crossover & Mutation until Stoppkriterium erfüllt → anscheinend nie implementiert → aufgegriffen von NSGA (Srinivas & Deb 1994) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Laumanns et al. 1998: PPES (predator/prey evolution strategy) Idee: Räuber/Beute-Ansatz Nachbarschaftsstruktur: Individuen/Beutetiere leben auf Ecken eines Graphen; Nachbarschaft definiert durch Kanten des Graphen → üblich: Torus je Ziel r ≥ 1 Räuber Räuber geht Zufallsweg über Graphen frisst Beute mit schlechtester Fitness bzgl. Räubers Ziel Lücke auffüllen durch Rekombination/Mutation in Nachbarschaft Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Laumanns et al. 1998: PPES (predator/prey evolution strategy) Warum Torus? → Räuber sollte jede Beuteposition gleichhäufig sehen → z.B. m-reguläre nicht-bipartite Graphen → max. erwartete Zeit bis Räuber jede Beute 1x besucht hat: entspricht der sogenannten cover time C(n); bei eckensymmetrischen Graphen: (n-1) log n ≤ C(n) ≤ 2 (n-1)2 Variationen: Räuber hat andere Graphstruktur als Beute Räuber nicht zufällig → in Richtung der schlechtesten Fitness Räuber hat gewichtete Ziele (Deb 2001) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden bisher: „historische“ Verfahren jetzt: aktuelle Verfahren NSGA-2 SPEA-2 SMS-EMOA MSOPS Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Deb et al. 2000: NSGA-2 (nondominated sorting GA, version 2) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Deb et al. 2000: NSGA-2 (nondominated sorting GA, version 2) crowding-sort: Sortieren der Individuen einer Front Fi bzgl. ‘crowding distance‘ crowding distance: („Besiedelungsdistanz“) Sei Xi = { x 2 P(t): f(x) 2 Fi }. 8 k = 1, …, d: Sortiere alle x 2 Xi bzgl. fk(x): ergibt x(1) , …, x(). Setze dc(x(1)) = dc(x()) = 1. 8 i = 2, …,  - 1: dc(x(i)) += fk(x(i+1)) – fk(x(i-1)) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Deb et al. 2000: NSGA-2 (nondominated sorting GA, version 2) Auswahl der Eltern zur Rekombinaton: je Elter einmal ‘crowded tournament selection‘ durchführen crowded tournament selection: 1. falls Rang(x) < Rang(y) dann selektiere x 2. falls Rang(x) > Rang(y) dann selektiere y 3. falls dc(x) > dc(y) dann selektiere x sonst y dc(x) = crowding distance (etwa: „Besiedelungsabstand“) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Zitzler et al. (2002): SPEA-2 (Strength Pareto EA, Version 2) Population P(t) und Archiv A(t) mit |A(t)| = N > 1 „Stärke“ von Individuum x: strength(x) = | { y 2 P(t): f(x) Á f(y) } | + | { y 2 A(t): f(x) Á f(y) } | = Anzahl dominierter Individuen in Population und Archiv „Grundfitness“ (raw fitness) von Individuum x: ) nur nicht-dominierte Individuen x haben raw(x) = 0 Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

Nur nicht-dominierte Individuuen und nur diese haben fitness < 1 MOP: Metaheuristiken – Multipunktmethoden Zitzler et al. 2002: SPEA-2 (Strength Pareto EA, Version 2) Problem: Viele Individuen mit gleicher Grundfitness (z.B. wenn alle nicht-dominiert) ) additives Maß density(x) 2 (0,1) zur Differenzierung Sei y 2 P(t) [ A(t) n { x } das Individuum mit dem k-größten euklidischen Abstand zu x. Dann ist (k)(x) = || x – y ||2 und Schließlich: fitness(x) = raw(x) + density(x) Nur nicht-dominierte Individuuen und nur diese haben fitness < 1 Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Zitzler et al. 2002: SPEA-2 (Strength Pareto EA, Version 2) k = ( |P(t)| + |A(t)| )1/2 für k-ter Nachbar 8 x 2 P(t) und x 2 A(t): berechne fitness(x) Alle Individuen mit fitness < 1 ins neue Archiv A(t+1) Falls Archiv noch nicht voll dann auffüllen mit Individuen mit kleinsten fitness-Werten  1 sonst falls Archiv überfüllt dann iterativ ausdünnen mit der Regel: entferne Individuum y falls y  x für alle x 2 A(t+1) y  x =def 8k: (k)(y) = (k)(x) oder 9 j: (j)(y) < (j)(x): 8k ≠ j: (k)(y) = (k)(x) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Emmerich, Beume, Naujoks 2005: SMS-EMOA Fakten: - EA muss etwas sinnvolles mit unvergleichbaren Lösungen machen. - Gewünscht sind Lösungen nahe der Paretofront. - Gewünscht ist eine gute Repräsentation der Paretofront. Idee: Nutze S-Metrik als Selektionskriterium! ) erfüllt alle Forderungen! Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Emmerich, Beume, Naujoks 2005: SMS-EMOA Initialisiere Population von  Individuen repeat wähle zwei Individuen zufällig gleichverteilt rekombinieren und mutieren ersetze das Individuum mit geringstem S-Metrik-Beitrag until Stoppkriterium erfüllt Berechnungskomplexität: S-Metrik muss  mal für  Individuen berechnet werden ) O(d/2+1 log ) via Overmars/Yap (Beume, März 2006) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

Resultate für Problem DTLZ1 (d = 3, n = 20) MOP: Metaheuristiken – Multipunktmethoden Emmerich, Beume, Naujoks 2005: SMS-EMOA Resultate für Problem DTLZ1 (d = 3, n = 20) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

Resultate für Problem DTLZ2 (d = 3, n = 20) MOP: Metaheuristiken – Multipunktmethoden Emmerich, Beume, Naujoks 2005: SMS-EMOA Resultate für Problem DTLZ2 (d = 3, n = 20) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Diskussion: Liefert max. S-Metrik wirklich geeignete Repräsentation der Paretofront? f2 f1 f2 f1 PL-Metrik: äquidistant ) S-Metrik Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Gesucht: N Punkte auf der Kurve mit möglichst gleichmäßiger Verteilung! d = 2 L(S2) L(SN-1) L(S1) Maß soll genau dann maximal sein, wenn Länge L(Si) aller Liniensegmente identisch! ) bekanntes Optimierungsproblem! Lösung: Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden PL-Metrik: PL = Path Length T. Wagner, J. Mehnen, GR (März 2006) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden PL-Metrik: Probleme: Paretofront muss • bekannt sein und • eine Länge haben!  Benötigt Länge L der Kurve!  8 i: Berechne L(Si) aller Kurvensegmente  Paretofront nur approximiert ) Lösung: definiere ein  > 0; falls Abstand zwischen i-ten Punkt und Paretofront >  dann L(Si) = 0  funktioniert nur für zwei Ziele Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Hughes 2003/2005: MSOPS (multiple single objective Pareto sampling) N Gewichtsvektoren w 2 W mit dim(w) = d Empfehlung: 1,5 N    2 N, wobei  Populationsgröße P(t) = P(t – 1) [  Nachkommen 8 x 2 P(t): 8 w 2 W: score sx(w) = max { wi fi(x) : i = 1, …, d } → ergibt ‘score matrix‘ S ersetze Werte je Spalte durch Ränge → ergibt Matrix Q (in jeder Zeile stehen Ränge eines x für verschiedene Gewichte w) wähle  beste Individuen gemäß lexikographischer Ordnung von Q Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Effektivität der Verfahren für d > 4 ? (Ergebnis nach gleichem Aufwand) Vergleich von Resultaten für Problem DTLZ1 (d = 6, n = 30) Anmerkung: typische Werte; nur 3 Dimensionen aufgetragen Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden

MOP: Metaheuristiken – Multipunktmethoden Offene Fragen (2006): NSGA-2 und SPEA-2 nur effektiv bis d  3 ? MSOPS und SMS-EMOA effektiv für d > 3 ? Ja! Bestätigt durch  3 num. Studien (Stand 2008) Rudolph: PO (WS 2007/08) ● MOP: Metaheuristiken – Multipunktmethoden