1 / 53

Anwendungen evolutionärer Algorithmen

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.

bliss
Download Presentation

Anwendungen evolutionärer Algorithmen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. Parameter Optimierung (Teil I) kontinuierliche Parameter Evolutionsstrategien

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

  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: lokale Anpassung globale 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 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

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

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

  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: (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).

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

  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 = (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.

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

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

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

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

  38. 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)

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

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

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

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

  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

More Related