530 likes | 686 Views
Anwendungen evolutionärer Algorithmen. kontinuierliche Parameter diskrete Parameter in kombinatorischen Problemen Design Optimierung. Evolutionäre Algorithmen. Evolutionäre Algorithmen. Evolutionsstrategien Genetische Algorithmen Genetische Programmierung Evolutionäre Programmierung.
E N D
Anwendungen evolutionärer Algorithmen • kontinuierliche Parameter • diskrete Parameter in kombinatorischen Problemen • Design Optimierung
Evolutionäre Algorithmen Evolutionäre Algorithmen • Evolutionsstrategien • Genetische Algorithmen • Genetische Programmierung • Evolutionäre Programmierung Algorithmus: t = 0 Initialisiere Do Reproduktion Rekombination Mutation Dekodierung Evaluierung Selektion t := t + 1 Until stop
Eigenschaften und Anwendungen Eigenschaften: populationsbasiert (erlauben parallele Suche) wenig Problemwissen nötig (z.B. keine Gradienteninformation) stochastisches Suchverfahren Anwendung: • diskontinuierliche Probleme • diskrete / kombinatorische Probleme • multimodale Probleme • multikriterielle Probleme • verrauschte Qualitätsfunktion
Parameter Optimierung (Teil I) kontinuierliche Parameter Evolutionsstrategien
Globale Schrittweitensteuerung Schrittweite zufällige Mutation Nachkomme Eltern Chromosome: Wahrscheinlichkeit für die Erzeugung eines Nachkommens x1 x2 xn Eltern x2 1 2 1 > 2 x1
1/5 - Erfolgsregel Anpassung der Schrittweite: basiert auf der Analyse der Fortschrittsgeschwindigkeit für das Korridormodell und Kugelmodell. Maximaler Fortschritt, wenn 1/5 der Nachkommen besser sind Mutation bei pe = 0.2 • bestimmen wie viele Nachkommen besser als die Eltern sind • vergrößern / verkleinern der Schrittweite je nach Ergebnis Nur Nachkommen die besser sind als ihre Eltern ergeben nicht den maximalen Fortschritt!!!
mutative Anpassung - Selbstadaptation Chromosom: Idee: für die Adaptation des Strategieparameters den gleichen Prozeß zu nutzen wie bei der Optimierung der Objektparameter xi. „Waren die Objektparameter gut, so war auch die Schrittweite gut die zu ihrer Erzeugung genutzt wurde!“ Anpassung der Schrittweite Anpassung der Objektparameter
mutative Schrittweitensteuerung • pseudoCode t = 0 Initialisiere Objektparameter der Eltern Population Initialisiere Strategieparameter der Eltern Population do // alle Generationen für alle Nachkommen wähle Eltern Rekombination Objektparameter Rekombination Strategieparameter Mutation der Objektparameter Mutation der Strategieparameter Evaluieren end Selektion (neue Elternpopulation) t := t + 1 Until stop
Selektionsdruck Wie stark wird selektiert? - Größe der Elternpopulation - Größe der Nachkommenpopoulation Notation: ES(10,100): = 10, = 100 Selektionsdruck: s = / s = 1: keine Selektion -> kein Fortschritt zufällige Suche bei der Kommastrategie s 0: hoher Fortschritt geringer Einfluß des Zufalls z.B. geringe Wk. lokale Optima zu überwinden
Selektionsdruck - Beispiel unimodale Funktion geringer Selektionsdruck ES(50,100) ES(20,100) ES(10,100) multimodale Funktion (40 dimensional) ES(10,100) ES(50,100) ES(20,100)
Individuelle Schrittweiten Chromosome: Jede Variable hat eine eigene Schrittweite xi i Standard Werte: lokale Anpassung globale Anpassung
Kugel Funktion Kugelfunktion globale Schrittweite individuelle Schrittweite
Ellipsoidal Funktion globale Schrittweite individuelle Schrittweite schnelle „grobe“ Anpassung bei globaler Schrittweite • besser in den ersten Generationen • schlechter in der Nähe des Optimums
Beispiel – individuelle Schrittweiten kleine Populationen ES(1,10) globale Schrittweite individuelle Schrittweite
Probleme Prinzip der mutativen Schrittweitenanpassung Koppelung von Strategieparameter an das Individuum Selektionsdruck zu optimaler Schrittweite Probleme durch stochastische Fluktuationen der Schrittweite verstärkt durch kleine Populationen hohe Anzahl an Strategieparametern
Ursachen Zwei mögliche Ursachen sind: Selbst bei großen Schrittweiten kann die tatsächlich realisierte Schrittweite sehr klein sein. Würde ein solches Individuum selektiert, wird eine große Schrittweite vererbt, obwohl eine Mutation durch eine kleine Schrittweite realisiert wurde. Die Anpassung der Schrittweite funktioniert in diesem Fall nicht. • Die Stärke der Variationen von Schrittweiten innerhalb einer Population ist ähnlich zu den Variationen in aufeinander folgenden Generationen. • Innerhalb der Population wird eine ausreichende Variation der Parameter benötigt um eine wirkungsvolle Selektion zu gewährleisten. • In aufeinander folgenden Generationen sind allerdings wesentlich kleinere Variationen vorteilhaft, um stochastische Fluktuationen bei der Anpassung der Strategieparameter zu vermeiden.
Derandomisierte Verfahren • Anpassung der Schrittweite aufgrund der realisierten Schrittweite • Dämpfungsfaktor der Adaptation erwartete Stärke der Mutation realisierte Mutation des selektierten Individuums Dämpfung
Kumulation der Schrittweiten Nutzung der Informationen aus vorhergehenden Generationen Pfad der Evolution: Anpassung der Schrittweite:
Richtung der Mutation individuelle Schrittweite Kovarianzmatrix globale Schrittweite 1 Parameter 2 Parameter 2 Parameter 2 2 1 2 Parameter 1 Parameter 1 Parameter 1 Wahrscheinlichkeit für die Erzeugung eines Nachkommen 1 Parameter n Parameter n2 / 2 Parameter
CMA Ellipsoidal Funktion Kovarianzmatrix-Adaptation Eigenschaften: • derandomisiert • Dämpfung der Schrittweitenadaptation • Anpassung der Kovarianzmatrixbasierend auf dem Pfad der Evolution • (n2 + n)/2 freie Parameter • zusätzl. globale Schrittweite Ackley Funktion Mutation • Bestimmung der „selektierten“ Mutation • Berechnung des Pfades • Anpassung einer globalen Schrittweite • Anpassen der Kovarianzmatrix • Anpassen der Objektparameter korrelierte Mutationen
Selektionsstrategie + Strategie: Aus ( + ) Individuen werden die besten Individuen selektiert , Strategie: Aus den Nachkommen werden die besten Individuen selektiert plus Strategie: • nur Verbesserungen möglich • „Hängenbleiben“ in lokalen Minima • zufällig gute Lösungen (verrauschte Qualitätsfunktion) bleiben in der Population
Zusammenfassung • Optimierung kontinuierlicher Parameter • Selektionsdruck • Selektionsmechnismen (Komma, Plus) • Schrittweitenanpassung • globale mutative Schrittweitenanpassung • Skalierung der Parameter • individuelle mutative Schrittweitenanpassung • aufwendige Anpassung • Probleme bei mutativer Anpassung durch hohe Anzahl von Parametern (große Populationen nötig) • CMA Strategie (Covarianz Matrix Adaptation) • „Derandomisierte“ Anpassung der Schrittweiten • Kummulation der Schrittweiten • korrelierte Mutationen
Teil II Diskrete Probleme
Das Travelling Salesman Problem Gesucht: Route zwischen n Städten, die jede Stadt genau einmal besucht • NP-vollständig • unwahrscheinlich effiziente Algorithmen zur Lösung dieses Problems zu finden • Der „primitive“ Algorithmus, der einfach alle Möglichkeiten durchprobiert hat eine Komplexität von o(n!) • häufig „völlig ausreichend“ eine „gute“ Lösung zu finden
Kodierung Wie kodiere ich das Problem: • Kodierung ist problemspezifisch zu wählen • Es gibt kein allgemeines „Kochrezept“, um eine gute Kodierung zu finden Prinzipien: • Ähnliche Phänotypen sollten durch ähnliche Genotypen dargestellt werden • Ähnlich kodierte Lösungskandidaten sollten eine ähnliche Fitneß haben • Starke Kausalität • Der Suchraum (die Menge möglicher Lösungskandidaten) sollte, soweit möglich, unter den verwendeten genetischen Operatoren abgeschlossen sein • Alle Lösungen sollten darstellbar sein
Repräsentation/Kodierung Binärstrings: 1 0 0 1 0 1 0 1 0 1 0 1 Stadt 1 Stadt 2 Mutation 1 0 0 1 0 1 0 1 0 0 0 1 Stadt 1 ? 5 bei (fast) jeder Operation (sei es Crossover oder Mutation) entstehen ungültige Lösungen 4 6 7 2 Allgemein sind Binärdarstellungen für Permutationen nur sehr bedingt geeignet 3 1
Adjacency Representation Tour der Länge n wird durch eine Liste natürlicher Zahlen dargestellt Die Zahl (Stadt) j ist an i-ter Stelle aufgelistet, falls die Tour von i nach j führt. Beispiel für n = 7: (6 1 5 3 2 7 4) repräsentiert die Tour 1-6-7-4-3-5-2 Jede Tour hat somit genau eine Adjazenzdarstellung ungültige Tour möglich: 6 1 5 3 6 7 4 Crossover: klassischer Crossover nicht praktikabel, da er ungültige Lösungen erzeugt (z.B. können Zahlen danach mehrfach in der Liste vorkommen).
1 klassischer Crossover nicht praktikabel, da er ungültige Lösungen erzeugt (z.B. können Zahlen danach mehrfach in der Liste vorkommen). 7 2 6 3 Spezielle Crossover Operatoren sind nötig 5 4 3 1 7 6 2 5 1 klassischer Crossover Eltern 1 Eltern 2 1 7 1 7 2 2 6 6 3 3 5 5 4 4 3 1 7 2 4 5 6 4 3 7 6 2 5 1
Alternating Edges Crossover • abwechselnd (und auch zufällig) Kanten vom ersten und zweiten Elternteil wählen • sollte eine dieser Kanten vorzeitig ein Kreis erzeugen, so wird eine zufällige Kanten aus der Menge der noch übrigen Kanten gewählt. Beispiel für n = 7: p1 = (3 1 7 2 4 5 6) p2 = (4 3 7 6 2 5 1) könnten folgenden Nachkommen erzeugen: o = (3 1 7 6 2 5 4) vom ersten Elternteil wird der erste Knoten (die 3) gewählt, dann vom ersten Elternteil die 1 und 7, dann die 6, 2 und die 5 vom zweiten Eltern An die letzte Position kann weder die 6 vom ersten noch die 1 vom zweiten Elternteil eingefügt werden, ohne den Kreis frühzeitig zu schließen. Es wird also die 4 gewählt, da sie noch übrig ist.
Alternating Edges Crossover 1 7 1 7 2 2 6 6 3 3 5 5 4 4 3 1 7 2 4 5 6 4 3 7 6 2 5 1 1 7 2 6 3 5 4 3 1 7 6 2 5 4
Ordinal Representation Diese Liste repräsentiert eine Tour unter Zunahme einer sortierten Referenzliste C (z.B. C= (1 2 3 4 5 6 7)) (2 3 1 4 1 2 1) Tour 2-4-1-7-3-6-5. Die 2 am Anfang besagt: Nehme das zweite Element in C als ersten Wegpunkt und lösche es aus C. Die nächsten Zahlen in der Darstellung werden auf die selbe Art und Weise interpretiert. Die letzte Zahl ist immer 1, da C zu diesem Zeitpunkt nur noch 1 Element enthält.
Ordinal Representation Vorteil: keine ungültigen Routen klassische Crossover funktioniert Beispiel für n=7: p1 = (2 3 1 | 4 1 2 1) und p2 = (6 4 5 | 2 3 1 1) o1 = (2 3 1 2 3 1 1) o2 = (6 4 5 4 1 2 1) 2-4-1-5-7-3-6 6-4-7-5-1-3-2 Nachteil: Teil-Tour linksseitig des Crossover Punktes wird nicht verändert. Die rechte Seite wird stark verändert. Mutation ist möglich, indem z.B. einzelne Werte im Rahmen des für ihre Position gültigen Wertebereiches verändert werden.
Path Representation Die einfachste Art eine Tour darzustellen ist die Reihenfolge der Elemente in einer Liste direkt als Weg zu interpretieren. Beispiel: Problem: Mutation (3 4 7 6 1 2 5) (3 4 7 3 1 2 5) Tour 3-4-7-6-1-2-5 5 5 4 4 6 6 7 7 2 2 3 3 1 1
Mutation Zufälliges Einfügen Displacement / Insertion (3 4 7 6 1 2 5) (3 4 6 1 2 7 5) Zufälliges Vertauschen Reciprocal Exchange (3 4 7 6 1 2 5) (3 4 2 6 1 7 5) Inversion (3 4 |7 6 1| 2 5) (3 4 1 6 7 2 5)
Partially Matched Crossover (PMX) Idee: Es wird eine Teiltour aus einem Elternteil übernommen und versucht die Reihenfolge und Position möglichst vieler Städte aus dem anderen Elternteil zu erhalten. Algorithmus • zwei zufällige Crossoverpunkte wählen • Werte zwischen den Punkten vertauschen • Städte links und rechts der Crossoverpunkte wieder an ihrer Orginalposition einfügen, sofern sie die Gültigkeit der Darstellung nicht verletzen • Sollte dies aber der Fall sein: statt dessen den Wert einfügen, der vor der Crossover Operation an der Stelle stand, an der nun der gleiche Wert steht wie der, der eingetragen werden soll.
Beispiel für n = 7 Schritt 1: Vertauschung der Städte zwischen den Crossover Punkten p1 = (1 4 |6 7 5 3| 2) p2 = (5 2 |7 6 4 3| 1) o1 = (x x |7 6 4 3| x) o2 = (x x |6 7 5 3| x) Schritt 2: ohne Konflikt an den ursprünglichen Positionen: o1 = (1 x |7 6 4 3| 2) o2 = (x 2 |6 7 5 3| 1) Schritt 3: Lösen der Konflikte In o1 konnte die 4 nicht eingefügt werden, da sie schon an Stelle 5 steht. Also wird sie durch das Element, welches zuvor an Stelle 5 stand, ersetzt (die 5). o1 = (1 5 7 6 4 3 2) o2 = (4 2 6 7 5 3 1)
Qualitätsfunktion Mij : Distanz von Stadt i zu Stadt j Mii = 0 für alle i M symmetrisch der Weg ist nicht richtungsabhängig Qualitätsfunktion:
Beispiel • PMX crossover • zufälliges Vertauschen bester Pfad Fitnessverlauf
Path beste Lösung
Zusammenfassung • Dauer der Optimierung (bzw. Qualität der gefundenen Lösung) wird durch die Genotype – Phänotyp Transformation und den Operatoren beeinflußt • Kodierung im Chromosom sollte dem Problem angepaßt sein • (Binärstrings / diskret / kontinuierlich) • Angepaßte Operatoren • Crossover: Erhalten von Informationen aus allen Eltern • Mutation: beibehalten wesentlicher Informationen des Individuums (lokale und kleine Mutationen) • Verbesserung der Lösungen auch bei ungünstiger Kodierung • Beurteilung der Qualität der gefundenen Lösung • Testprobleme generieren
Kodierung / Modelle geometrisch p pitch stagger angle w1,w2 wedge length 1,2 wedge angle tmax maximal thickness R1, R2 radius of trailing and leading edge Spline p pitch xi = (xi,yi) cart. coordinates of control points
Druckverlust Abströmwinkel 2D Schaufel Optimierung Qualitätsfunktion: geometrische Randbedingungen Druckverlust Abströmwinkel f(x) = 1 f1() + 2 f2(2) + 3 f3(xmin) + 4 f4(xmax) Optimierung in zwei Phasen: 1 << 2 Ergebnisse: 45% Reduktion des Druckverlustes Original evolutionär optimiert pressure loss
Multikriterielle Optimierung multikriterielle Optimierung dominated solutions Qualiät – Kosten Stabilität – Gewicht Stabilität infeasible region standard Methoden: Pareto optimale Lösungen Gewicht Randbedingungen Q1 <= Q1,s (maximal weight <= Mmax) weighted aggregation Q = w1 Q1 + w2 Q2 pareto optimisation non-dominated solutions pareto basierte evolutionäre Optimierung NSGAII
Dynamic Weighted Aggregation w1 w2 Mechanismus: DWA: Änderung der Gewichtung während der Optimierung Fitness Dynamik von w1,2 Simulation Turbinenblatt 1. Druckverlust 2. Auslasswinkel
3D Schaufel Optimierung Repräsentation B-Spline Fläche 2D 3D 1h/Evaluation 16h/Evaluation 7Tage/Optimierung 4Monat/Optimierung 12 CPUs 64 CPUs
Qualitätsfunktion outlet angle geometry geometry geometry static outlet pressure pressure loss (to include mixing loss) outlet angle engine axis