Evolutionäre Algorithmen Mehrkriterienoptimierung Prof. Dr. Rudolf Kruse Christian Moewes {kruse,cmoewes}@iws.cs.uni-magdeburg.de Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Wissens- und Sprachverarbeitung Prof. R. Kruse, C. Moewes EA – Mehrkriterienoptimierung 27.06.2011 1 / 47
51
Embed
Evolution re Algorithmen - Mehrkriterienoptimierungfuzzy.cs.ovgu.de/ci/ea/ea2011_v10_pareto.pdfProf. R. Kruse, C. Moewes EA – Mehrkriterienoptimierung 27.06.2011 1 / 47 Übersicht
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
• besserer Ansatz: nutze Dominanzbegriff zur Selektion
• Aufbau einer Rangskala der Individuen einer Population:• finde alle nicht dominierten Lösungskandidaten der Population• ordne Lösungskandidaten höchsten Rang zu und entferne sie aus
Population• wiederhole Bestimmen und Entfernen der nicht dominierten
Lösungskandidaten für weiteren Ränge, bis Population leer
• führe mithilfe der Rangskala Rangauswahl durch
• Problem: alle Individuen der Pareto-Front werden gleich bewertet
⇒ Gendrift: Pareto-Front konvergiert an beliebigem Punkt durchZufallseffekte
Prof. R. Kruse, C. Moewes EA – Mehrkriterienoptimierung 27.06.2011 11 / 47
1: I ← 2: for t → 1, . . . , s 3: a← U(1, . . . , r)4: b ← U(1, . . . , r)5: Q ← Teilmenge von 1, . . . , r der Größe Ndom
6: da ← ∃i ∈ Q : A(i) >dom A(a)
7: db ← ∃i ∈ Q : A(i) >dom A(b)
8: if da and not db 9: I ← I ∪ b
10: else 11: if not da and db 12: I ← I ∪ a13: else
14: na ←∣
∣
1 ≤ i ≤ r | d(A(i), A(a)) < ε
∣
∣
15: nb ←∣
∣
1 ≤ i ≤ r | d(A(i), A(b)) < ε
∣
∣
16: if na > nb 17: I ← I ∪ b18: else 19: I ← I ∪ a20: 21: 22: 23: 24: return I
NSGA-Selektion
• trotzdem mangelhafte Approximation der Pareto-Front, Gründe:
• Parametereinstellung von ε
• Population wird für zwei Zwecke genutzt• als Speicher für nicht-dominierte Individuen (Pareto-Front)• als lebendige Population (zur Durchforstung des Suchraums)
• Abhilfe: Trennung des Archivs für nicht-dominierte Individuen vonPopulation
• Archiv hat (meistens) endliche Größe• Test aller Individuen auf Dominanz durch Archivindividuen• bei Neuzugängen: dominierte Individuen aus Archiv entfernen
Prof. R. Kruse, C. Moewes EA – Mehrkriterienoptimierung 27.06.2011 15 / 47
1: t ← 02: P(t)← erzeuge Population mit µ Individuen3: R(t)← ∅4: while Terminierungsbedingung nicht erfüllt 5: bewerte P(t) durch F1, . . . , Fk6: for each A ∈ P(t) ∪ R(t) 7: AnzDom(A)← |B ∈ P(t) ∪ R(t) | A >dom B|8: 9: for each A ∈ P(t) ∪ R(t)
10: d ← Distanz von A und seinen
√
µ + µ nächsten Individuen in P(t) ∪ R(t)
11: A.F ← 1d+2
+∑
B∈P(t)∪R(t),B>domAAnzDom(B)
12: 13: R(t + 1)← A ∈ P(t) ∪ R(t) | Aist nicht-dominiert14: while |R(t + 1)| > µ 15: entferne dasjenige Individuum aus R(t + 1) mit dem kürzesten/zweitkürzesten Abstand16: 17: if |R(t + 1)| < µ 18: fülle R(t + 1) mit den gütebesten dominierten Individuen aus P(t) ∪ R(t)19: 20: if Terminierungsbedingung nicht erfüllt 21: Selektion aus P(t) mittels Turnier-Selektion
22: P(t + 1)← wende Rekombination und Mutation an23: t ← t + 124: 25: 26: return nicht-dominierte Individuen aus R(t + 1)
Pareto-Archived ES (PAES)
• (1 + 1)-Evolutionsstrategie
• Akzeptanzbedingung: Archivindividuum wird dominiert oderFunktionswertebereich is wenig frequentiert
• Nischen: ergeben sich aus Organisation des Archivs alsmehrdimensionale Hash-Tabelle
Prof. R. Kruse, C. Moewes EA – Mehrkriterienoptimierung 27.06.2011 18 / 47
1: t ← 02: A← erzeuge ein zufälliges Individuen3: R(t)← A als mehrdimensionale Hash-Tabelle organisiert4: while Terminierungsbedingung nicht erfüllt 5: B ← Mutation auf A
6: bewerte B durch F1, . . . , Fk7: if ∀C ∈ R(t) ∪ A : not (C >dom B) 8: if ∃C ∈ R(t) : (B >dom C) 9: entferne alle durch B dominierten Individuen aus R(t)
10: R(t)← R(t) ∪ B11: A← B
12: else 13: if |R(t)| = µ 14: g∗ ← Hash-Eintrag mit meisten Einträgen15: g ← Hash-Eintrag für B
16: if Einträge in g < Einträge in g∗ 17: entferne einen Eintrag aus g∗
18: R(t)← füge B in R(t) ein19: 20: else 21: R(t)← füge B in R(t) ein22: gA ← Hash-Eintrag für A
23: gB ← Hash-Eintrag für B
24: if Einträge in gB < Einträge in gA 25: A← B
26: 27: 28: 29: 30: t ← t + 131: 32: return nicht-dominierte Individuen aus R(t + 1)
Zusammenfassung
• selbst modernste Verfahren haben bei mehr als 3 KriterienProbleme, Pareto-Front anzunähern
• Grund: Rechenzeit zur Detektion ist riesig
• Abhilfe: iterative Präsentation der bisherigen Lösungen
• Nutzer fällt Entscheidungen über Konzentration der Suche aufTeilbereich
Prof. R. Kruse, C. Moewes EA – Mehrkriterienoptimierung 27.06.2011 20 / 47
• Problem bestehender Algorithmen (z.B. SPEA):• Individuum wird mit O(µ2) in Archiv der Größe µ integriert• schlecht für „steady state“-Ansatz (siehe Grundsatzentscheidung!)
⇒ schnelle Alternative benötigt
• Elternselektion als Turnierselektion basierend auf• Dominiert(A) = Menge der von A dominierten Individuen in
Population• WirdDominiert(A) = Menge der Individuen, die A dominieren
• Rang zuweisen
Rang(A) = #WirdDominiert(A) · µ +#Dominiert(A)
• einziges Problem: Gendrift, wenn alle Individuen gleichwertig
Prof. R. Kruse, C. Moewes EA – Mehrkriterienoptimierung 27.06.2011 37 / 47
Input: Antennenproblem1: t ← 02: P(t)← initialisiere µ Individuen mit Reparaturfunktion3: berechne Rang für Individuen in P(t)4: while t ≤ G /* maximale Generationenzahl G */5: A, B ← selektiere aus P(t) gemäß Rang und Turnier-
Selektion
6: C ← wende Operator auf A (und bei Rekombination auf B) an7: berechne Mengen Dominiert(C) und WirdDominiert(C)8: P(t + 1)← integriere C in P(t) und aktualisiere Ränge9: t ← t + 1
10: 11: return nicht-dominierte Individuen aus P(t)
Prof. R. Kruse, C. Moewes EA – Mehrkriterienoptimierung 27.06.2011 41 / 47
Arrow, K. J. (1951).Social Choice and Individual Values.PhD thesis, Wiley, New York, USA.
Weicker, N., Szabo, G., Weicker, K., and Widmayer, P. (2003).Evolutionary multiobjective optimization for base stationtransmitter placement with frequency assignment.In IEEE Trans. on Evolutionary Computing, volume 7, page189–203.
Prof. R. Kruse, C. Moewes EA – Mehrkriterienoptimierung 27.06.2011 1