Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Anwendungen evolutionärer Algorithmen

Ähnliche Präsentationen


Präsentation zum Thema: "Anwendungen evolutionärer Algorithmen"—  Präsentation transkript:

1 Anwendungen evolutionärer Algorithmen
kontinuierliche Parameter diskrete Parameter in kombinatorischen Problemen Design Optimierung

2 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

3 Eigenschaften und Anwendungen
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

4 Parameter Optimierung (Teil I)
kontinuierliche Parameter Evolutionsstrategien

5 Globale Schrittweitensteuerung
zufällige Mutation Nachkomme Eltern Chromosome: Wahrscheinlichkeit für die Erzeugung eines Nachkommens x1 x2 xn Eltern x2 1 2 1 > 2 x1

6 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!!!

7 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

8 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

9 Source

10 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

11 Sphere Function

12 Ackley‘s Testfunktion

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

14 Ellipsoidal function

15 Individuelle Schrittweiten
Chromosome: Jede Variable hat eine eigene Schrittweite xi i Standard Werte: globale Anpassung lokale Anpassung

16 Kugel Funktion Kugelfunktion globale Schrittweite
individuelle Schrittweite

17 Ellipsoidal Funktion globale Schrittweite individuelle Schrittweite
schnelle „grobe“ Anpassung bei globaler Schrittweite besser in den ersten Generationen schlechter in der Nähe des Optimums

18 Beispiel – individuelle Schrittweiten
kleine Populationen ES(1,10) globale Schrittweite individuelle Schrittweite

19 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

20 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.

21 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

22 Kumulation der Schrittweiten
Nutzung der Informationen aus vorhergehenden Generationen Pfad der Evolution: Anpassung der Schrittweite:

23 Richtung der Mutation globale Schrittweite individuelle Schrittweite
Kovarianzmatrix 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

24 CMA Kovarianzmatrix-Adaptation Ellipsoidal Funktion Eigenschaften:
derandomisiert Dämpfung der Schrittweitenadaptation Anpassung der Kovarianzmatrix basierend auf dem Pfad der Evolution (n2 + n)/2 freie Parameter zusätzl. globale Schrittweite Mutation Ackley Funktion Bestimmung der „selektierten“ Mutation Berechnung des Pfades Anpassung einer globalen Schrittweite Anpassen der Kovarianzmatrix Anpassen der Objektparameter korrelierte Mutationen

25 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

26 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

27 Teil II Diskrete Probleme

28 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

29 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

30 Repräsentation/Kodierung
Binärstrings: 1 1 1 1 1 1 Stadt 1 Stadt 2 Mutation 1 1 1 1 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

31 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: ( ) repräsentiert die Tour Jede Tour hat somit genau eine Adjazenzdarstellung ungültige Tour möglich: Crossover: klassischer Crossover nicht praktikabel, da er ungültige Lösungen erzeugt (z.B. können Zahlen danach mehrfach in der Liste vorkommen).

32 klassischer Crossover
Eltern 1 Eltern 2 1 7 1 7 2 2 6 6 3 3 5 5 4 4 1 4 5 6 7 3 2 klassischer Crossover nicht praktikabel, da er ungültige Lösungen erzeugt (z.B. können Zahlen danach mehrfach in der Liste vorkommen). Spezielle Crossover Operatoren sind nötig

33 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 = ( ) p2 = ( ) könnten folgenden Nachkommen erzeugen: o = ( ) 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.

34 Alternating Edges Crossover
1 7 1 7 2 2 6 6 3 3 5 5 4 4 1 7 2 6 3 5 4

35 Ordinal Representation
Diese Liste repräsentiert eine Tour unter Zunahme einer sortierten Referenzliste C (z.B. C= ( )) ( ) Tour 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.

36 Ordinal Representation
Vorteil: keine ungültigen Routen klassische Crossover funktioniert Beispiel für n=7: p1 = (2 3 1 | ) und p2 = (6 4 5 | ) o1 = ( ) o2 = ( ) 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.

37 Path Representation Beispiel: Problem: Mutation (3 4 7 6 1 2 5)
Die einfachste Art eine Tour darzustellen ist die Reihenfolge der Elemente in einer Liste direkt als Weg zu interpretieren. Beispiel: Problem: Mutation ( ) ( ) Tour 5 5 4 4 6 6 7 7 2 2 3 3 1 1

38 Mutation Zufälliges Einfügen Displacement / Insertion ( ) ( ) Zufälliges Vertauschen Reciprocal Exchange ( ) ( ) Inversion (3 4 |7 6 1| 2 5) ( )

39 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.

40 Beispiel für n = 7 Schritt 1: Vertauschung der Städte zwischen den Crossover Punkten p1 = (1 4 | | 2) p2 = (5 2 | | 1) o1 = (x x | | x) o2 = (x x | | x) Schritt 2: ohne Konflikt an den ursprünglichen Positionen: o1 = (1 x | | 2) o2 = (x 2 | | 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 = ( ) o2 = ( )

41 Qualitätsfunktion 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:

42 Beispiel PMX crossover zufälliges Vertauschen bester Pfad
Fitnessverlauf

43 Path beste Lösung

44 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

45 Kodierung / Modelle geometrisch Spline 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

46 2D Schaufel Optimierung
Druckverlust Abströmwinkel 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

47 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

48 Dynamic Weighted Aggregation
Mechanismus: DWA: Änderung der Gewichtung während der Optimierung Fitness Dynamik von w1,2 Simulation w1 w2 Turbinenblatt 1. Druckverlust 2. Auslasswinkel

49 3D Schaufel Optimierung
Repräsentation B-Spline Fläche 2D 3D 1h/Evaluation 16h/Evaluation 7Tage/Optimierung 4Monat/Optimierung 12 CPUs 64 CPUs

50 Qualitätsfunktion outlet angle geometry geometry geometry
static outlet pressure pressure loss (to include mixing loss) outlet angle engine axis

51 The Pareto Front I Optimierung minimaler Druckverlust
„guter“ Kompromiss multi objective minimale Schwankung

52 Zusammenfassung Definition der Repräsentation
wenige Parameter -> schnelle Konvergenz hochdimensional -> Flexibilität der Repräsentation Darstellbarkeit des Optimums lokale und stark kausale Repräsentation Reale Probleme sind häufig multikriteriell Lösung: Aggregation der Kriterien ist effizient aber benötigen Vorwissen Spezielle Algorithmen existieren (z.B. DWA / NSGAII) Qualitätsfunktion Berücksichtigung aller Kriterien Welche Lösungen sind wirklich optimal? Iterativer Prozeß zwischen Optimierung und Analyse

53 EA –Library:


Herunterladen ppt "Anwendungen evolutionärer Algorithmen"

Ähnliche Präsentationen


Google-Anzeigen