Stochastische Verfahren und Evolutionäre Algorithmen
Stochastische Verfahren und Evolutionäre Algorithmen
Stochastische Verfahren und Evolutionäre Algorithmen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong> <strong>Verfahren</strong> <strong>und</strong> Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Frühlingssemester 2010
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
Teil I<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden
Inhalt<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Typen von Optimierungsproblemen<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
1 <strong>Stochastische</strong> Optimierungsmethoden<br />
Typen von Optimierungsproblemen<br />
2 Eigenschaften <strong>Stochastische</strong>r Optimierungsmethoden<br />
Was sind stochastische Optimierungsmethoden?<br />
Ein allgemeiner stochastischer<br />
Optimierungsalgorithmus<br />
3 Vom <strong>Stochastische</strong>n Abstieg zu Simulated Annealing<br />
<strong>Stochastische</strong>r Abstieg<br />
Metropolis-Algorithmus<br />
Simulated Annealing
Terminologie<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Typen von Optimierungsproblemen<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
Definition (Suchraum)<br />
Der Suchraum (search space) X beschreibt den Raum in<br />
dem die Optimierungsvariablen dargestellt werden.<br />
Definition (Entscheidungsraum)<br />
Der Entscheidungsraum D beschreibt den Raum in dem die<br />
möglichen Lösungen (candidate solutions) des<br />
Optimierungsproblems dargestellt werden.<br />
Definition (Zielraum)<br />
Der Zielraum Y beschreibt den Raum in dem die Lösungen<br />
miteinander verglichen werden.
Terminologie<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Typen von Optimierungsproblemen<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
Beispiel: Onsertoptimierung<br />
Suchraum: Alle Polynomkoeffizienten<br />
x = {x 0 , x 2 , . . . , x n−1 , x n } |x ∈ R n+1 der<br />
reellwertigen Polynome vom Grad n.<br />
Entscheidungsraum: Alle axisymmetrischen<br />
Onsertgeometrien mit polynomialer<br />
Dickenverteilung mit Koeffizienten x.<br />
Zielraum: y ∈ R, wobei y = var(σ bond ). σ bond sind<br />
Spannungen, die mittels einer<br />
Finite-Elemente-Simulation berechnet werden.
Typen von Optimierungsproblemen<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Typen von Optimierungsproblemen<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Ein allgemeines Optimierungsproblem (Minimierung):<br />
x ∗ = arg min<br />
x∈X F(x) = {x∗ ∈ X : F(x ∗ ) ≼ F(x) für alle x ∈ X}<br />
Was charakterisiert ein Optimierungsproblem?<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing
Typen von Optimierungsproblemen<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Typen von Optimierungsproblemen<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
Mögliche Einteilungen eines Optimierungsproblems:<br />
Nach der Struktur des Suchraums X:<br />
kontinuierlich (z.B. R) / diskret (z.B. N oder<br />
x ∈ {x 0 , x 1 , x 2 , x 3 })<br />
homogen / heterogen<br />
Nach der Struktur des Zielraums Y:<br />
kontinuierlich / diskret<br />
skalar (z.B. R) / vektorwertig (z.B. R n )<br />
Nach der Topologie der Zielfunktion F (x):<br />
konvex / multimodal<br />
glatt / stückweise glatt / schroff
Typen von Optimierungsproblemen<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Typen von Optimierungsproblemen<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
Die bisher vorgestellten Optimierungsmethoden der<br />
Mathematischen Programmierung finden das globale<br />
Optimum für Probleme mit<br />
kontinuierlichem, homogenem Suchraum,<br />
kontinuierlichem, skalarem Zielraum <strong>und</strong><br />
glatter, konvexer Zielfunktion.
Typen von Optimierungsproblemen<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Typen von Optimierungsproblemen<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
Beispiel: Cutting Stock Problem<br />
Eine Papierfabrik stellt Papierrollen der Breite 100cm her.<br />
Die Rollen werden für jeden K<strong>und</strong>en auf die gewünschte<br />
Breite zugeschnitten. Vier K<strong>und</strong>en bestellen Papier wie folgt:<br />
K<strong>und</strong>e Menge Breite (cm)<br />
A 97 45<br />
B 610 36<br />
C 395 31<br />
D 211 45<br />
Bestimme die Art, wie die Rollen geschnitten werden<br />
müssen, um eine möglichst kleine Anzahl Rollen zu<br />
zerschneiden <strong>und</strong> trotzdem alle Bestellungen zu erfüllen.
Typen von Optimierungsproblemen<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Typen von Optimierungsproblemen<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Beispiel: Travelling Salesman Problem<br />
Gegeben sind n Städte <strong>und</strong> die jeweiligen Distanzen<br />
dazwischen. Gesucht ist eine Reiseroute, die auf dem<br />
kürzesten Weg alle Städte genau einmal besucht <strong>und</strong> am<br />
Ende wieder den Ausgangspunkt erreicht.<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing
Typen von Optimierungsproblemen<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Typen von Optimierungsproblemen<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Beispiel: Topological Optimum Truss Design<br />
Es soll ein Fachwerk gebaut werden, das bei gegebener<br />
Beanspruchung eine geforderte Mindestsicherheit gegen<br />
Fliessen <strong>und</strong> Knicken in allen Stäben aufweist <strong>und</strong><br />
minimales Gewicht hat. Als Stäbe sollen Rohre verwendet<br />
werden. Die Rohre können von einem Hersteller in fünf<br />
Querschnitten (definiert durch Durchmesser <strong>und</strong><br />
Wandstärke) <strong>und</strong> zwei Materialien bezogen werden.<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing
Typen von Optimierungsproblemen<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Typen von Optimierungsproblemen<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Beispiel: Topological Optimum Laminate Design<br />
Die erste Eigenfrequenz eines laminierten, rechteckigen<br />
Panels soll maximiert werden unter der Nebenbedingung,<br />
dass die Masse eine obere Grenze von m nicht<br />
überschreiten darf. Es stehen drei Materialien in Form von<br />
Prepregs zur Verfügung. Gesucht ist ein optimaler<br />
Laminataufbau, d.h. die Anzahl Lagen <strong>und</strong> für jede Lage die<br />
Materialwahl <strong>und</strong> ein Lagewinkel.<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing
Inhalt<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Was sind<br />
stochastische Optimierungsmethoden?<br />
Ein allgemeiner<br />
stochastischer Optimierungsalgorithmus<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
1 <strong>Stochastische</strong> Optimierungsmethoden<br />
Typen von Optimierungsproblemen<br />
2 Eigenschaften <strong>Stochastische</strong>r Optimierungsmethoden<br />
Was sind stochastische Optimierungsmethoden?<br />
Ein allgemeiner stochastischer<br />
Optimierungsalgorithmus<br />
3 Vom <strong>Stochastische</strong>n Abstieg zu Simulated Annealing<br />
<strong>Stochastische</strong>r Abstieg<br />
Metropolis-Algorithmus<br />
Simulated Annealing
Optimierung durch Zufall<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Was sind<br />
stochastische Optimierungsmethoden?<br />
Ein allgemeiner<br />
stochastischer Optimierungsalgorithmus<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
Ist Optimierung durch Zufall möglich?<br />
Beispiel: Random Search<br />
1: Initialisiere den Speicher M<br />
2: Initialisiere den Iterationszähler t ← 0<br />
3: while continue(M, t) = 1 do<br />
4: t ← t + 1<br />
5: Wähle zufällig x aus X<br />
6: Berechne F (x)<br />
7: Speichere {x, F(x)} in M : M ← M ∩ {x, F(x)}<br />
8: end while<br />
9: Gib die beste Lösung x ∗ in M aus
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Ein allgemeiner stochastischer<br />
Optimierungsalgorithmus<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Was sind<br />
stochastische Optimierungsmethoden?<br />
Ein allgemeiner<br />
stochastischer Optimierungsalgorithmus<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
1: Generiere eine Menge von Startlösungen {x i } ∈ X<br />
2: Berechne F(x i )<br />
3: Initialisiere den Speicher M ← {(x i , F(x i ))}<br />
4: Initialisiere den Iterationszähler t ← 0<br />
5: while continue(M, t) = 1 do<br />
6: t ← t + 1<br />
7: Generiere eine Menge alternativer Lösungen {ˆx i } ∈ X<br />
8: Berechne F(ˆx i )<br />
9: Aktualisiere den Speicher<br />
M ← update (M, {(ˆx i , F(ˆx i ))})<br />
10: end while<br />
11: Gib die beste Lösung x ∗ in M aus<br />
Die Schritte 1, 7 <strong>und</strong> 9 können zufällig sein.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Annahmen stochastisch-heuristischer<br />
Optimierungsmethoden<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Im folgenden werden direkte <strong>Verfahren</strong> 0-ter Ordnung<br />
vorgestellt. Sie basieren auf zwei schwachen Annahmen:<br />
Punktweises Abtasten erlaubt es, mindestens lokal<br />
einen Eindruck der Topologie der Zielfunktion zu<br />
bekommen (problem landscape).<br />
Bessere Lösungen können in der Nähe bekannter,<br />
guter Lösungen gef<strong>und</strong>en werden.<br />
Diese Annahmen gelten nicht für alle Probleme:<br />
Was sind<br />
stochastische Optimierungsmethoden?<br />
Ein allgemeiner<br />
stochastischer Optimierungsalgorithmus<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
Beispiel: problem landscape<br />
F(x)<br />
x<br />
F(x)<br />
x
Das Nachbarschaftskonzept<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Was sind<br />
stochastische Optimierungsmethoden?<br />
Ein allgemeiner<br />
stochastischer Optimierungsalgorithmus<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
Anstelle des gesamten Suchraums X wird in jeder<br />
Iteration nur ein Teil in der Nähe einer bekannten<br />
Lösung x betrachtet.<br />
Dazu wird eine Nachbarschaftsfunktion eingeführt:<br />
neighborhood(x) = { x ′ ∈ X|x ′ nahe x } ⊆ X<br />
Die Nachbarschaftsfunktion ist Problem-abhängig.
Das Nachbarschaftskonzept<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Was sind<br />
stochastische Optimierungsmethoden?<br />
Beispiel (Nachbarschaft in R 2 )<br />
√ ∑<br />
X = R 2 . Die Euklidische Distanz E(x, x ′ ) = x<br />
′2<br />
i<br />
− xi<br />
2<br />
wird als Mass für die Nähe zweier Lösungen verwendet. Die<br />
Nachbarschaft zu x kann geschrieben werden als<br />
neighborhood(x) = { x ′ ∈ X|E(x, x ′ ) < r } ⊆ X,<br />
wobei r die Grösse der Nachbarschaft angibt.<br />
Ein allgemeiner<br />
stochastischer Optimierungsalgorithmus<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Das Nachbarschaftskonzept<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Was sind<br />
stochastische Optimierungsmethoden?<br />
Ein allgemeiner<br />
stochastischer Optimierungsalgorithmus<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
Beispiel (Nachbarschaft bei Bit-Strings)<br />
X = {0, 1} 3 . Die Hamming-Distanz H(x, x ′ ) gibt an, wieviele<br />
Bits sich zwischen x <strong>und</strong> x ′ unterscheiden. Die<br />
Nachbarschaft zu x kann geschrieben werden als<br />
neighborhood(x) = { x ′ ∈ X|H(x, x ′ ) ≤ d } ⊆ X,<br />
wobei d die Grösse der Nachbarschaft angibt. Die<br />
gegebene<br />
⎧<br />
Lösung<br />
⎫<br />
[0, 1, 0] hat für d = 1 die Nachbarschaft:<br />
⎨ [0, 0, 0] ⎬<br />
[1, 1, 0]<br />
⎩ ⎭ .<br />
[0, 1, 1]
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Ausk<strong>und</strong>schaften <strong>und</strong> Verwerten<br />
Exploration and Exploitation<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Was sind<br />
stochastische Optimierungsmethoden?<br />
Ein allgemeiner<br />
stochastischer Optimierungsalgorithmus<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
<strong>Stochastische</strong> Suchalgorithmen basieren auf zwei<br />
gegensätzlichen Strategien:<br />
Exploration: Ausk<strong>und</strong>schaften neuer Lösungen um den<br />
Suchraum überall abzusuchen<br />
Exploitation: neue Lösungen in der Nachbarschaft<br />
bekannter, guter Lösungen um vorhandene<br />
Information effizient zu verwerten<br />
Die Balance zwischen den Strategien ist Problem-abhängig:<br />
Bei konvexen Zielfunktionen: Exploitation alleine<br />
erfolgreich<br />
Bei multimodalen Zielfunktionen: Exploration wichtiger
Inhalt<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
<strong>Stochastische</strong>r<br />
Abstieg<br />
Metropolis-<br />
Algorithmus<br />
Simulated Annealing<br />
1 <strong>Stochastische</strong> Optimierungsmethoden<br />
Typen von Optimierungsproblemen<br />
2 Eigenschaften <strong>Stochastische</strong>r Optimierungsmethoden<br />
Was sind stochastische Optimierungsmethoden?<br />
Ein allgemeiner stochastischer<br />
Optimierungsalgorithmus<br />
3 Vom <strong>Stochastische</strong>n Abstieg zu Simulated Annealing<br />
<strong>Stochastische</strong>r Abstieg<br />
Metropolis-Algorithmus<br />
Simulated Annealing
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong>r Abstieg<br />
Stochastic Descent/Hill Climbing – Bergsteigeralgorithmus<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
<strong>Stochastische</strong>r<br />
Abstieg<br />
Metropolis-<br />
Algorithmus<br />
Simulated Annealing<br />
1: Generiere eine zufällige Startlösungen x ∈ X<br />
2: Berechne F(x)<br />
3: Initialisiere den Iterationszähler t ← 0<br />
4: while continue(x, t) = 1 do<br />
5: t ← t + 1<br />
6: Wähle eine zufällige Lösung ˆx ∈ neighborhood(x)<br />
7: Berechne F(ˆx)<br />
8: if F(ˆx) ≺ F(x) then<br />
9: x ← ˆx<br />
10: end if<br />
11: end while<br />
12: Gib die Lösung x aus
<strong>Stochastische</strong>r Abstieg<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
Der <strong>Stochastische</strong> Abstieg ist ein lokales<br />
Suchverfahren.<br />
Da immer nur in Abstiegsrichtung gesucht wird, können<br />
lokale Optima nicht wieder verlassen werden.<br />
<strong>Stochastische</strong>r<br />
Abstieg<br />
Metropolis-<br />
Algorithmus<br />
Simulated Annealing
Metropolis-Algorithmus<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
<strong>Stochastische</strong>r<br />
Abstieg<br />
Metropolis-<br />
Algorithmus<br />
Simulated Annealing<br />
Der Metropolis-Algorithmus ist eine Abwandlung des<br />
<strong>Stochastische</strong>n Abstiegs.<br />
Die Zielfunktion F (x) wird als Energie E interpretiert.<br />
Der Unterschied zwischen zwei Zuständen F(x) <strong>und</strong><br />
F(ˆx) wird als Energiedifferenz ∆E = F(ˆx) − F(x)<br />
bezeichnet.<br />
Es wird eine Temperatur T eingeführt.<br />
Es wird eine Funktion für die<br />
Übergangswahrscheinlichkeit von einem Zustand in<br />
einen anderen eingeführt:<br />
p(∆E) = e − ∆E<br />
T .
Metropolis-Algorithmus<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
<strong>Stochastische</strong>r<br />
Abstieg<br />
Metropolis-<br />
Algorithmus<br />
Simulated Annealing<br />
1: Generiere eine zufällige Startlösungen x ∈ X<br />
2: Berechne F(x)<br />
3: Initialisiere den Iterationszähler t ← 0<br />
4: while continue(x, t) = 1 do<br />
5: t ← t + 1<br />
6: Wähle eine zufällige Lösung ˆx ∈ neighborhood(x)<br />
7: Berechne ∆E = F(ˆx) − F(x)<br />
8: Wähle eine Zufallszahl k aus [0, 1]<br />
9: if ∆E > 0 then<br />
10: x ← ˆx<br />
11: else if k ≤ p(∆E) then<br />
12: x ← ˆx<br />
13: end if<br />
14: end while<br />
15: Gib die Lösung x aus
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Metropolis-Algorithmus<br />
Übergangswahrscheinlichkeit<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
Probability<br />
1<br />
0.75<br />
0.5<br />
0.25<br />
2.5 5 7.5 10 12.5 15 17.5 20 E<br />
T⩵1<br />
T⩵2<br />
T⩵3<br />
T⩵4<br />
T⩵5<br />
T⩵6<br />
T⩵7<br />
T⩵8<br />
T⩵9<br />
T⩵10<br />
<strong>Stochastische</strong>r<br />
Abstieg<br />
Metropolis-<br />
Algorithmus<br />
Simulated Annealing<br />
Die Wahrscheinlichkeit, dass eine schlechtere Lösung<br />
angenommen wird, ist für ∆E > −T log 0.5 über 50%.
Metropolis-Algorithmus<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
<strong>Stochastische</strong>r<br />
Abstieg<br />
Metropolis-<br />
Algorithmus<br />
Simulated Annealing<br />
Da auch Schritte bergauf möglich sind, kann der<br />
Metropolis-Algorithmus kleine Hügel überwinden. Das<br />
macht ihn zu einem globalen Suchverfahren.<br />
Die Wahrscheinlichkeit, dass in einem Schritt eine<br />
schlechtere Lösung akzeptiert wird, hängt von der<br />
Temperatur T ab. Je höher die Temperatur gewählt<br />
wird, umso grössere Hügel können überw<strong>und</strong>en<br />
werden (Exploration). Wird die Temperatur T sehr tief<br />
gewählt, hat das <strong>Verfahren</strong> lokalen Charakter<br />
(Exploitation).<br />
Bei vielen Optimierungsaufgaben erscheint es sinnvoll,<br />
erst den Suchraum weiträumig abzusuchen<br />
(Exploration) <strong>und</strong> anschliessend an gef<strong>und</strong>enen,<br />
vielversprechenden Stellen lokal weiterzusuchen. Dies<br />
verlangt nach einem variablen Temperaturverlauf<br />
T = T (t).
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Simulated Annealing<br />
Simulierte Abkühlung<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
<strong>Stochastische</strong>r<br />
Abstieg<br />
Metropolis-<br />
Algorithmus<br />
Simulated Annealing<br />
Simulated Annealing ist eine Abwandlung des<br />
Metropolis-Algorithmus’.<br />
Die Methode ist inspiriert vom physikalischen<br />
Auskühlungsprozess von Schmelzen. Dabei wird durch<br />
die Temperaturabsenkung die Bewegungsmöglichkeit<br />
einzelner Teilchen zunehmend eingeschränkt <strong>und</strong><br />
damit die Übergangswahrscheinlichkeit für<br />
Zustandsänderungen stetig kleiner.<br />
Die Temperatur T ist keine Konstante mehr, sondern<br />
wird nach einem vorgegebene Gesetz in jeder Iteration<br />
verkleinert. Eine gebräuchliche Regel (unter vielen) ist<br />
T = αT ,<br />
wobei α als Abkühlungskonstante bezeichnet wird.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Simulated Annealing<br />
Simulierte Abkühlung<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
<strong>Stochastische</strong>r<br />
Abstieg<br />
Metropolis-<br />
Algorithmus<br />
Simulated Annealing<br />
1: Generiere eine zufällige Startlösungen x ∈ X<br />
2: Berechne F(x)<br />
3: Initialisiere den Iterationszähler t ← 0<br />
4: while continue(x, t) = 1 do<br />
5: t ← t + 1<br />
6: T ← update(T , t)<br />
7: Wähle eine zufällige Lösung ˆx ∈ neighborhood(x)<br />
8: Berechne ∆E = F(ˆx) − F(x)<br />
9: Wähle eine Zufallszahl k aus [0, 1]<br />
10: if ∆E > 0 then<br />
11: x ← ˆx<br />
12: else if k ≤ p(∆E) then<br />
13: x ← ˆx<br />
14: end if<br />
15: end while<br />
16: Gib die Lösung x aus
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Simulated Annealing<br />
Simulierte Abkühlung<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
<strong>Stochastische</strong><br />
Optimierungsmethoden<br />
Eigenschaften<br />
<strong>Stochastische</strong>r<br />
Optimierungsmethoden<br />
Vom <strong>Stochastische</strong>n<br />
Abstieg zu<br />
Simulated<br />
Annealing<br />
<strong>Stochastische</strong>r<br />
Abstieg<br />
Metropolis-<br />
Algorithmus<br />
Simulated Annealing ist ein globales Suchverfahren<br />
Es kann gezeigt werden, dass die Wahrscheinlichkeit<br />
P t , dass Simulated Annealing in t Iterationen das<br />
globale Optimum x ∗ von F(x) findet gegen 1<br />
konvergiert: lim t→∞ P t = 1<br />
Diese Eigenschaft zeichnet Simulated Annealing<br />
gegenüber vielen anderen stochastischen Methoden<br />
aus.<br />
Die Eigenschaft wird in der Anwendung dadurch<br />
relativiert, dass für eine Wahrscheinlichkeit P nahe bei<br />
1 die Anzahl Iterationen t riesige Werte annehmen<br />
muss.<br />
Simulated Annealing
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Teil II<br />
Evolutionäre <strong>Algorithmen</strong>
Inhalt<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
4 Evolutionäre <strong>Algorithmen</strong><br />
Von der Biologie zur Optimierung<br />
Komponenten Evolutionärer <strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile von EA
Mechanismen der natürlichen Evolution<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
P.J. Bentley (1999), Evolutionary Design by Computers :<br />
Zitat (P.J. Bentley)<br />
. . . , as long as some individuals generate copies of<br />
themselves which inherit their parents’<br />
characteristics with some small variation, and as<br />
long as some form of selection preferentially<br />
chooses some of the individuals to live and<br />
reproduce, evolution will occur.
Charakterisierung der natürlichen Evolution<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Evolutionäre Mechanismen betreffen eine Gruppe<br />
(Population) von Individuen.<br />
Eine Population ist Umgebungseinflüssen ausgesetzt<br />
(Environmental pressure).<br />
Die Information, die ein Individuum charakterisiert, wird<br />
kompakt in seinem Genotyp gespeichert.<br />
Die Ausprägung gewisser Eigenschaften eines<br />
Individuums (genannt Phänotyp) werden massgeblich<br />
vom Genotyp bestimmt.<br />
Phänotyp-Eigenschaften entscheiden über die Fitness<br />
eines Individuums. Die Fitness eines Individuum ist ein<br />
Mass dafür, wie gut es die Anforderungen der<br />
Umgebung erfüllen kann.
Genotyp-Kodierung (Design Encoding)<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
In der Natur wird die genetische Information in einem<br />
einfachen Alphabet bestehend aus vier<br />
Gr<strong>und</strong>bausteinen gespeichert.<br />
Diese Information wird während des Lebens des<br />
Individuums nicht verändert.<br />
Die Information kodiert einen Bauplan eines<br />
Individuums.<br />
Die Übersetzung des Codes zu einem Individuum (d.h.<br />
die Umsetzung des Bauplans) wird Mapping genannt.<br />
Beispiel: Genotyp
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Reproduktion (Reproduction) <strong>und</strong> Vererbung<br />
(Inheritance)<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Nachkommen tragen genetische Informationen ihrer<br />
Eltern.<br />
Die Information kann durch blosses Kopieren<br />
übergeben werden (Klonen) oder durch Rekombination<br />
(Crossover). Bei der Rekombination tragen<br />
Nachkommen genetische Information beider (oder<br />
allgemein mehrerer) Elternteile.<br />
Beispiel: Reproduktion
Variation<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Ein Teil der Information wird bei der Übergabe von den<br />
Elternindividuen zu den Nachkommen verändert (Mutation).<br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Beispiel: Variation<br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA
Selektion<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Aus der Population wird zweimal eine Auswahl getroffen:<br />
Mating Selection (Paarungsselektion): Welche Individuen<br />
reproduzieren?<br />
Environmental Selection (Umweltselektion): Welche<br />
Nachkommen überleben?<br />
Beispiel: Selektion
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Von der natürlichen Evolution zu einem<br />
Evolutionären Algorithmus<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Initialisierung<br />
Mapping<br />
Evaluation<br />
Mating Selection (welche Individuen reproduzieren?)<br />
Reproduktion (Rekombination, Mutation)<br />
Environmental Selection (welche Individuen<br />
überleben?)<br />
Abbruchkriterium
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Von der natürlichen Evolution zu einem<br />
Evolutionären Algorithmus<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Initialisierung<br />
Mapping<br />
Evaluation<br />
Mating Selection (welche Individuen reproduzieren?)<br />
Reproduktion (Rekombination, Mutation)<br />
Environmental Selection (welche Individuen<br />
überleben?)<br />
Abbruchkriterium
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Evolutionärer Algorithmus<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
1: Generiere eine Startpopulation {x i } ∈ X<br />
2: Berechne F (x i )<br />
3: Initialisiere den Speicher M ← {(x i , F(x i ))}<br />
4: Initialisiere den Iterationszähler t ← 0<br />
5: Weise jedem x i einen Fitnesswert F i zu<br />
6: while continue(M, t) = 1 do<br />
7: M ′ ← Mating Selection aus M<br />
8: M ′′ ← Mutation <strong>und</strong> Rekombination aus M ′<br />
9: Berechne F(ˆx i ) für jedes x i in M ′′<br />
10: Inkrementiere t ← t + 1<br />
11: M ← Environmental Selection aus M <strong>und</strong> M ′′<br />
12: end while<br />
13: Gib die beste Lösung x ∗ in M aus
Evolutionärer Algorithmus<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA
Das Gen<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Definition (Gen)<br />
Ein Gen ist eine Informationseinheit. Ein Gen ist nicht<br />
teilbar, d.h. die gespeicherte Information in einem Gen wird<br />
nur als Ganzes weitergegeben. Ein Gen entspricht einem<br />
Optimierungsparameter x i in der mathematischen<br />
Programmierung.<br />
Definition (Allel)<br />
Ein Allel entspricht einem Zustand, den ein Gen annehmen<br />
kann.<br />
Beispiel (Bool’sches-Gen)<br />
Ein Bool’sches Gen x i hat zwei Allele: WAHR <strong>und</strong> FALSCH.
Terminologie<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Individuum: Eine mögliche Lösung d.h. eine Struktur aus<br />
Genen.<br />
Population: Eine Gruppe von Individuen<br />
Generation: Die Population M innerhalb des Evolutionären<br />
Zyklus’ (Schritt 10).<br />
Generationsnummer: Iterationszähler t<br />
Genotyp-Raum: Der Suchraum X<br />
Phenotyp-Raum: Der Entscheidungsraum D<br />
Fitness: Der Zielfunktionswert F(x) (bzw. in speziellen<br />
Implementationen eine Funktion ˆF (F(x), M))
Repräsentation<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Die Repräsentation beschreibt die Art des Suchraums<br />
X. Welche Phenotyp-Eigenschaften werden mit<br />
welchen Genen kodiert? Welche Art Gene werden<br />
verwendet?<br />
Die Repräsentation entspricht der Parametrisierung in<br />
der mathematischen Programmierung.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Repräsentation<br />
Beispiel Fachwerktopologie<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Beispiel (Fachwerk)<br />
Es ist ein Fachwerk gesucht, dessen maximale<br />
Verschiebung bei minimalem Gewicht eine zulässige<br />
Verschiebung von u zul nicht überschreitet. Es stehen Stäbe<br />
mit E · A = 1 zur Verfügung. Die Knotenpositionen sind fest<br />
vorgegeben, nicht aber, die Anzahl der Stäbe. Die<br />
horizontalen <strong>und</strong> vertikalen Stäbe haben Länge 1.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Repräsentation<br />
Beispiel Fachwerktopologie<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Beispiel (Fachwerk)<br />
Die Gr<strong>und</strong>struktur des Fachwerks besteht aus 11 Stäben.<br />
Eine sehr einfache Repräsentation eines Fachwerks besteht<br />
aus einem Vektor mit 11 Bool’schen Genen (Bit-String). Gen<br />
i besagt, ob der Stab i vorhanden ist oder nicht.<br />
Vor- <strong>und</strong> Nachteile<br />
von EA
Initialisierung<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Die erste Population M (initial population) muss mit<br />
einer definierten Anzahl Individuen gefüllt werden.<br />
Die erste Population soll eine hohe genetische Vielfalt<br />
aufweisen (search space scanning).<br />
Genotypen, die keine gültige Lösung für das Problem<br />
darstellen (illegal solutions), <strong>und</strong> Lösungen, die<br />
Randbedingungen verletzen (infeasible solutions),<br />
können ausgefiltert werden.<br />
Die Initialisierung kann zufällig sein oder von<br />
bekannten Lösungen ausgehen.
Mapping<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Das Mapping beschreibt die Abbildung vom<br />
Genotyp-Raum in den Phenotyp-Raum y = f (x).<br />
Das Mapping ist idealerweise bijektiv. Wenn das nicht<br />
erreichbar ist, verbleibt die Forderung nach einem<br />
surjektiven Mapping.<br />
injektiv: ∀x, x ′ ∈ X|f (x) = f (x ′ ) ⇒ x = x ′<br />
surjektiv: ∀y ∈ Y∃x ∈ X<br />
bijektiv: injektiv <strong>und</strong> surjektiv<br />
(a) bijektiv (b) injektiv (c) surjektiv
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Mapping<br />
infeasible and illegal solutions<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Definition (Illegal Solution)<br />
Eine Lösung, die im Genotyp-Raum existiert, aber nicht in<br />
den Phenotyp-Raum übertragen werden kann wird als<br />
illegal bezeichnet. Die Anzahl dieser Lösungen kann durch<br />
die Art der Repräsentation beeinflusst werden. Im Idealfall<br />
können sie ganz vermieden werden.<br />
Definition (Infeasible Solution)<br />
Eine Lösung, die eine oder mehrere Nebenbedingung<br />
verletzt, wird als unzulässig oder infeasible bezeichnet. Die<br />
Anzahl dieser Lösungen kann durch die Repräsentation<br />
beeinflusst werden. Ungültige Lösungen können wertvolle<br />
Information für die Entwicklung guter, erlaubter Lösungen<br />
enthalten.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Mapping<br />
Beispiel Fachwerktopologie<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Beispiel (Illegale Stabtragwerke)<br />
Die vorgestellte Repräsentation erlaubt illegale<br />
Stabtragwerke (die keine Fachwerke mehr sind):<br />
Mechanismen:<br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Nicht verb<strong>und</strong>ene Komponenten oder Lasten:
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Mapping<br />
Beispiel Fachwerktopologie<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Beispiel (Ungültige Stabtragwerke)<br />
Die vorgestellte Repräsentation erlaubt unzulässige<br />
Fachwerke. Diese verletzen die Nebenbedingung:<br />
max(u i ) > u zul<br />
i
Evaluation<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Die Evaluation bezeichnet den Prozess, der einem<br />
Individuum x eine Fitness zuweist.<br />
Meist entspricht die Evaluation der Auswertung der<br />
Zielfunktion F(x). Je nach Problem kann in der Fitness<br />
auch Information über die anderen Individuen in einer<br />
Generation verwertet werden (z.B. um die Vielfalt<br />
innerhalb einer Population zu fördern).<br />
In der Strukturoptimierung wird in der Evaluation i.d.R.<br />
eine Struktursimulation durchgeführt. D.h. die<br />
Evaluation ist der rechenintensivste Teil des<br />
Optimierungsalgorithmus.<br />
Da immer eine Population von Individuen gleichzeitig<br />
evaluiert wird, kann die Evaluation relativ einfach auf<br />
mehrere Rechner aufgeteilt werden.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Evaluation<br />
Beispiel Fachwerktopologie<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Beispiel (Fachwerkauswertung)<br />
Da auch illegale Konfigurationen auftreten können,<br />
muss die Lösung vor der Evaluation untersucht werden.<br />
Illegale Lösungen können mit einer Errorfitness<br />
versehen werden. Eine Errorfitness ist ein sehr hoher<br />
Wert (bei Maximierung entsprechend sehr tief), der<br />
dafür sorgt, dass sich diese Lösungen nicht<br />
durchsetzen können.<br />
Die Auswertung kann mit FEM durchgeführt werden.<br />
D.h. es wird ein Stabmodell aufgebaut <strong>und</strong> gelöst.<br />
Aus der Masse <strong>und</strong> der maximalen Verschiebung kann<br />
mittels einer der bekannten Strafmethoden eine skalare<br />
Fitness berechnet werden.
Mating Selection<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Die Mating Selection wählt aus einer Population diejenigen<br />
Individuen aus, die später reproduzieren.<br />
<strong>Stochastische</strong> Selektion Jedem Individuum wird eine Rate<br />
p i zugeordnet. Die Rate p i entspricht der<br />
Wahrscheinlichkeit, dass das i-te Individuum<br />
gewählt wird. Es werden n Individuen<br />
entsprechend ihrer Auswahlwahrscheinlichkeit<br />
gewählt.<br />
Deterministische Selektion Wähle die fittesten n Individuen.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Mating Selection<br />
Auswahlwahrscheinlichkeiten<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Beispiel: Fitness proportionale Selektion<br />
p i = 1 −<br />
F i<br />
∑ size(M)<br />
j=1 F j<br />
Nachteil: Empfindlich gegenüber Addition einer<br />
Konstanten zur Fitness.<br />
Beispiel: Rang-basierte Selektion<br />
ˆp i = α (size(M) − rank(F i )) + β<br />
p i =<br />
ˆp j<br />
∑ size(M)<br />
j=1<br />
ˆp j<br />
Unabängig von der Differenz der Fitnesswerte.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Mating Selection<br />
Turnier-Selektion<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
1 Es werden zufällig T Individuen ausgewählt. T wird als<br />
Turniergrösse bezeichnet.<br />
2 Von den T Individuen wird das beste in die Population<br />
M ′ kopiert.<br />
3 Der Vorgang wird solange wiederholt, bis M ′ die<br />
Grösse n hat.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Mating Selection<br />
Roulette-Rad-Selektion<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Die Raten p i werden proportional auf ein Roulette-Rad<br />
aufgeteilt.<br />
Es werden mit dem Rad soviele Ziehungen<br />
durchgeführt, wie Individuen gewählt werden sollen.<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Mating Selection<br />
Stochastic Universal Sampling<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Die Roulette-Rad-Selektion erfordert zur Auswahl von n<br />
Individuen n-Ziehungen/verschiedene Zufallszahlen.<br />
Das führt zu einer grossen Varianz des<br />
Selektionsergebnisses bei wiederholter Anwendung auf<br />
dieselben Elternindividuen.<br />
Stochastic Universal Sampling wählt in einer Ziehung n<br />
Individuen. Es ist also eine kleinere Streuung zu<br />
erwarten.
Reproduktion<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Reproduktion produziert neue Lösungen<br />
(Nachkommen, Offspring) durch Variation der<br />
ausgewählten Elternindividuen.<br />
Es gibt zwei Hauptkategorien der Varation:<br />
Mutation: ein Elternindividuum<br />
Kreuzung: zwei (oder mehr) Elternindividuen
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Reproduktion<br />
Uniforme Mutation<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Beispiel (Mutation am Fachwerk)<br />
Es wird zufällig ein Eltern-Gen i bestimmt, dessen Wert<br />
dann ausgetauscht wird.<br />
Vor- <strong>und</strong> Nachteile<br />
von EA
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Reproduktion<br />
One-Point-Crossover<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Beispiel (One-Point-Crossover am Fachwerk)<br />
Es wird zufällig ein Eltern-Gen i bestimmt. Die Gene 1 bis i<br />
des ersten Elternindividuums rekombinieren mit den Genen<br />
i + 1 bis 11 des zweiten Elternindiviuums <strong>und</strong> umgekehrt.<br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Environmental Selection<br />
Replacement<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Die Environmental Selection wählt aus dem Offspring <strong>und</strong><br />
der Elternpopulation diejenigen Individuen aus, die in die<br />
nächste Generation übernommen werden (überleben).<br />
Es sind dieselben Mechanismen anwendbar wie bei<br />
der Mating Selection.<br />
Oft wird eine deterministische Selektion angewandt:<br />
Comma: Die besten Individuen aus dem Offspring<br />
bilden die neue Generation.<br />
Plus: Die besten Individuen aus dem Offspring<br />
<strong>und</strong> der Elterngeneration zusammen<br />
bilden die neue Generation.
Termination<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Es gibt kein anwendbares hinreichendes Kriterium, das ein<br />
globales Optimum identifiziert. Deshalb wird oft ein<br />
künstliches Abbruchkriterium entweder alleine oder in<br />
Kombination mit anderen angewandt:<br />
Abbruch nach t max Generationen.<br />
Abbruch nach k max Funktionsauswertungen.<br />
Abbruch nach h Zeiteinheiten.<br />
Abbruch, wenn die Fitness des besten Individuums<br />
eine Grenze von F ult durchbrochen hat.<br />
Abbruch, wenn die Fitness innerhalb der letzten t s<br />
Generationen nicht mehr verbessert wurde.
Vorteile Evolutionärer <strong>Algorithmen</strong><br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Keine Annahmen über die Zielfunktion (Black-Box)<br />
Akzeptable Performance für eine grosse Auswahl von<br />
Problemtypen<br />
Universell einsetzbar<br />
Robust gegenüber ungültiger Lösungen durch<br />
Parallelität<br />
Geringer Entwicklungsaufwand, einfach zu<br />
parallelisieren<br />
Gibt eine Gruppe von Lösungen aus<br />
Auch für Pareto-Optimierung geeignet
Nachteile Evolutionärer <strong>Algorithmen</strong><br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Keine Garantie, dass ein globales Optimum in endlicher<br />
Zeit gef<strong>und</strong>en wird<br />
Schwache theoretische Basis (Heuristik)<br />
Oft grosse Anzahl von Einstellmöglichkeiten, die die<br />
Konvergenz beeinflussen<br />
Oft ist eine grosse Anzahl Evaluationen erforderlich, um<br />
gute Lösungen zu erzielen
Anwendungsgebiete Evolutionärer <strong>Algorithmen</strong><br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Numerische <strong>und</strong> kombinatorische Optimierung<br />
System-Modellierung<br />
Regelungs- <strong>und</strong> Steuertechnik<br />
Strukturoptimierung<br />
Software-Entwicklung<br />
Lernfähige Maschinen <strong>und</strong> Programme<br />
Künstliche Intelligenz
Forschungsschwerpunkte<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Von der Biologie zur<br />
Optimierung<br />
Komponenten<br />
Evolutionärer<br />
<strong>Algorithmen</strong><br />
Vor- <strong>und</strong> Nachteile<br />
von EA<br />
Mehrzieloptimierung<br />
Hybridisierung: Einbetten von lokalen Suchverfahren<br />
(z.B. mathematische Programmierung)<br />
Einbetten von Adaptionsmechanismen: Lernfähige<br />
<strong>Algorithmen</strong><br />
Parallele <strong>und</strong> verteilte Evolutionäre <strong>Algorithmen</strong><br />
(Inselsysteme)<br />
Unsicherheiten in der Evaluation <strong>und</strong><br />
Robustheitsbewertung<br />
Anwendung auf ökonomische <strong>und</strong> soziale Simulationen<br />
Abstrakte Repräsentationskonzepte
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Teil III<br />
Repräsentationskonzepte für<br />
Evolutionäre <strong>Algorithmen</strong><br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype
Inhalt<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
5 Anforderungen an ein Repräsentationskonzept<br />
6 Binäre Repräsentation<br />
7 Reell-wertige Repräsentation<br />
8 Heterogene Repräsentation - Universal Genotype
Anforderungen<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Vollständig: Es existiert zu jedem Genotyp ein<br />
Phänotyp.<br />
Uniform: Jeder Genotyp x kodiert k Phänotypen,<br />
wobei k für jedes x gleich ist.<br />
Nicht red<strong>und</strong>ant: Jeder Phänotyp wird von genau<br />
einem Genotyp kodiert.<br />
Legal: Zu jedem Genotyp x existiert ein gültiger<br />
Phänotyp.<br />
Lokal: Eine kleine Veränderung des Genotyps<br />
verursacht eine kleine Veränderung am Phänotyp.<br />
Diese Anforderungen werden nicht von jeder<br />
Repräsentation erfüllt. Was nicht bedeuten muss, dass die<br />
Evolutionäre Suche in solchen Fällen nicht funktioniert.
Anforderungen an Variationsoperatoren<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Jede Repräsentation braucht eine entsprechende Auswahl<br />
an Variationsoperatoren, die die kodierte Information<br />
verändern können. Die Anforderungen an<br />
Variationsoperatoren sind:<br />
Legal: Es entstehen nur legale Nachkommen.<br />
Vererbung: Nachkommen tragen Information ihrer<br />
Elternindividuen weiter.<br />
Lokal: Nachkommen sind in der Nähe der<br />
Elternindividuen.<br />
Building Blocks bewahren: Building Blocks werden<br />
bewahrt (non-disruptive variation).
Inhalt<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
5 Anforderungen an ein Repräsentationskonzept<br />
6 Binäre Repräsentation<br />
7 Reell-wertige Repräsentation<br />
8 Heterogene Repräsentation - Universal Genotype
Kombinatorische Probleme<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Kombinatorische Probleme können bei der<br />
Topologieoptimierung auftreten<br />
Die Struktur besteht aus einer Gr<strong>und</strong>menge M von<br />
unabhängigen Merkmalen (Features, Items).<br />
Mögliche Lösungen können aus einer Untermenge<br />
ˆM ⊂ M bestehen.<br />
Die Repr¨sentation erlaubt das Ein- bzw. Ausschalten<br />
von einzelnen Merkmalen
Kombinatorische Probleme<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Beispiel (Flügel Topologie)<br />
Die Gr<strong>und</strong>struktur eines Flugzeugflügels kann maximal n<br />
Rippen enthalten. Die Position jeder Rippe ist fest<br />
vorgegeben. Einzelne Rippen können weggelassen werden.<br />
Gesucht ist eine Konfiguration x bestehend aus k Rippen,<br />
die ein bestimmtes Gütekriterium F(x) minimiert. Die<br />
Anzahl k ist nicht fest vorgegeben, sondern soll durch<br />
Optimierung bestimmt werden.
Kombinatorische Probleme<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Beispiel (Flügel Topologie)<br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Abbildung : Flügel Gr<strong>und</strong>struktur (Bild: Florian Hürlimann)
Kombinatorische Probleme<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Beispiel (Flügel Topologie)<br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Abbildung : Mögliche optimale Konfiguration (Bild: Florian<br />
Hürlimann)
Binäre Repräsentation<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Der Genotyp x besteht aus n Genen x 1 , x 2 , . . . , x n , die<br />
die Allele WAHR (1) oder FALSCH (0) tragen können<br />
(x i ∈ {0, 1}).<br />
X = {0, 1} n<br />
Gen x i besagt, ob das i-te Merkmal vorhanden ist oder<br />
nicht.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Binäre Repräsentation<br />
Bit-Flip Mutation<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Beispiel<br />
Eine Mutation mit Nachbarschaftsgrösse d kann durch<br />
das wechseln der Allele von d zufällig gewählten<br />
Genen erstellt werden.<br />
[0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1] → [0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1]<br />
Die Lokalität wird durch die Repräsentation von ganzen<br />
Zahlen im Binären System nicht bewahrt:<br />
Beispiel: Mutation von [1, 0, 1] = 5<br />
[0, 0, 1] = 1<br />
[1, 1, 1] = 7<br />
[1, 0, 0] = 4
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Binäre Repräsentation<br />
Uniform-Crossover<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Es werden zufällig k Gen-Paare gewählt <strong>und</strong> ausgetauscht:<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Uniform-Crossover bewahrt keine Building Blocks.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Binäre Repräsentation<br />
One-Point-Crossover<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Es wird zufällig eine Crossover-Punkt gewählt, an dem die<br />
Elterngenotypen aufgeschnitten werden:<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Binäre Repräsentation<br />
Two-Point-Crossover <strong>und</strong> n-Point-Crossover<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Der One-Point-Crossover bewahrt oft<br />
zusammenhängende Blöcke am Anfang <strong>und</strong> Ende des<br />
Genotyps. Es ist schwierig, einen Block in der Mitte<br />
auszutauschen.<br />
Der Two-Point-Crossover ermöglicht das, durch die<br />
Wahl von zwei zufälligen Crossover-Punkten<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Durch die zufällige Wahl von n Crossover-Punkten<br />
entsteht ein n-Point-Crossover. Entspricht n der<br />
Genotyp-Länge resultiert ein Uniform-Crossover.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Binäre Repräsentation<br />
Zur Effizienz der Crossover-Operatoren<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Die Effizienz der vorgestellten Variationsoperatoren für die<br />
binäre Represenation wurde in verschiedenen Arbeiten auf<br />
sehr unterschiediche Zielfunktionen angewandt. Nach der<br />
Building Blocks Hypothese könnte man einen Vorteil von<br />
One-Point- <strong>und</strong> Two-Point-Crossover gegenüber<br />
Uniform-Crossover erwarten. Experimentelle Ergebnisse<br />
können das nicht belegen:<br />
Zitat (Fogel, 1995)<br />
Generally, uniform crossover yielded better<br />
performance than two-point crossover, which in<br />
turn yielded better performance than one-point<br />
crossover.
Inhalt<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
5 Anforderungen an ein Repräsentationskonzept<br />
6 Binäre Repräsentation<br />
7 Reell-wertige Repräsentation<br />
8 Heterogene Repräsentation - Universal Genotype
Reell-wertige Repräsentation<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Beispiel (Bolzen)<br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Abbildung : Baugruppe mit Kolben, Pleuel <strong>und</strong> Bolzen (Bild: Oliver<br />
König)
Reell-wertige Repräsentation<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Beispiel (Bolzen)<br />
Der Bolzen verbindet den Pleuel <strong>und</strong> den Kolben <strong>und</strong><br />
überträgt damit die Last, die bei der Verbrennung des<br />
Gemischs entsteht. Da der Bolzen zur zu beschleunigenden<br />
Masse zählt, entsteht bei Hochleistungsmotoren das<br />
Bedürfnis, das Gewicht des Bolzens zu minimieren.<br />
Minimiere<br />
Masse<br />
Nebenbedingung σ max ≤ σ zul<br />
Die Aussenfläche ist durch die Funktion bestimmt, für die<br />
Optimierung bleibt also nur die Innenfläche.
Reell-wertige Repräsentation<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Beispiel (Bolzen-Parametetrisierung)<br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Abbildung : Eine Spline-Kurve wird durch 10 Punkte interpoliert,<br />
um den Innendurchmesser des Bolzens wiederzugeben. Die<br />
Radien r i sind variabel.
Reell-wertige Repräsentation<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Der Genotyp x besteht aus n Genen x 1 , x 2 , . . . , x n , die<br />
eine unendliche Anzahl Allele tragen können (x i ∈ R).<br />
X = R n<br />
Gen x i kann direkt einem Geometrie-Parameter<br />
entsprechen.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Reell-wertige Repräsentation<br />
Gauss-Mutation<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Die Genwerte werden durch Zufallszahlen aus einer<br />
Normalverteilung ersetzt:<br />
x ∼ N (x, Σ)<br />
Als Kovarianzmatrix wird üblicherweise eine<br />
Diagonalmatrix (Σ = σ 2 E) eingesetzt.<br />
σ kann auch für jedes Gen separat vorgegeben werden<br />
(Σ = [ σ 2 1 , σ2 2 , . . . , σ2 n] T<br />
E)
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Reell-wertige Repräsentation<br />
Crossover<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Die Crossover-Operatoren der Binären Repräsentation<br />
lassen sich auch auf Reell-wertige Repräsentationen<br />
anwenden.<br />
Der Austausch von unveränderten Genen führt zu<br />
neuen Lösungen, die nur auf gegenüberliegenden<br />
Eckpunkten von (Hyper-)Kuben liegen können.<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Reell-wertige Repräsentation<br />
Arithmetic-Crossover<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Um auch Lösungen innerhalb des (Hyper-)Kubus’<br />
zwischen den Eltern zu erzeugen werde arithmetische<br />
Crossover-Operatoren definiert.<br />
Aus den beiden Elternindividuen x 1 <strong>und</strong> x 2 werden<br />
zwei Nachkommen o 1 <strong>und</strong> o 2 generiert<br />
Die Allele der Nachkommen ergeben sich aus:<br />
oi 1 = xi 1 λ + xi 2 (1 − λ)<br />
oi 2 = xi 2 λ + xi 1 (1 − λ)<br />
Beim Segment Crossover wird λ einmal pro<br />
Operator-Anwendung als Zufallszahl in [0, 1] bestimmt.<br />
Beim Hypercube Crossover wird λ für jede<br />
Gen-Paarung neu als Zufallszahl in [0, 1] bestimmt.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Reell-wertige Repräsentation<br />
Implementation von Nebenbedingungen<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Beispiel (Bolzen)<br />
Der maximale Innendurchmesser <strong>und</strong> damit der maximale<br />
Wert der Gene ist fest vorgegeben: Sobald der<br />
Innendurchmesser grösser wird, als der<br />
Aussendurchmesser, entsteht eine illegale Konfiguration.<br />
Aus Fertigungsgründen ist der minimale Innendurchmesser<br />
ebenfalls bestimmt. Der Innendurchmesser darf nicht<br />
kleiner als 8mm sein, um mit einem Drehwerkzeug noch die<br />
gewünschte Kontur erzeugen zu können.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Reell-wertige Repräsentation<br />
Implementation von Nebenbedingungen<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Nebenbedingungen, die nur von einem einzelnen<br />
Gen-Wert abhängen, lassen sich direkt<br />
implementieren.<br />
Solche Nebenbedingungen können den Suchraum<br />
verkleinern:<br />
X = { x ∈ R n |x i,min ≤ x i ≤ x i,max<br />
}
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Reell-wertige Repräsentation<br />
Implementation von Nebenbedingungen<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Jedem Gen x i kann ein Wertebereich<br />
x i,min ≤ x i ≤ x i,max zugeordnet werden.<br />
Gen-Werte x<br />
i ′ , die den Wertebereich verlassen (bei der<br />
Initialisierung oder innerhalb der Variationsoperatoren)<br />
werden in den zulässigen Bereich zurück gesetzt:<br />
Harte Grenze:<br />
⎧<br />
⎨ x i,min wenn x<br />
i ′ < x i,min<br />
x i = x i,max wenn x<br />
i ′ > x i,max<br />
⎩<br />
x ′<br />
i<br />
sonst<br />
Spiegelung:<br />
⎧<br />
⎨ x i,min + (x i,min − x<br />
i ′)<br />
wenn x i ′ < x i,min<br />
x i = x i,max − (x<br />
i ′ − x i,max ) wenn x<br />
i ′ > x i,max<br />
⎩<br />
sonst<br />
x ′<br />
i
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Reell-wertige Repräsentation<br />
Uniform-Mutation<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Es werden zufällig d Gene gewählt.<br />
Für jedes der gewählten Gene wird der aktuelle Wert α i<br />
ersetzt durch eine Zufallszahl. Als Zufallsverteilung wird<br />
eine uniforme Verteilung innerhalb des Wertebereichs<br />
angenommen für Gene mit beschränktem<br />
Wertebereich bzw. eine uniforme Verteilung innerhalb<br />
[α i − ɛ, α i + ɛ] für Gene ohne Beschränkung.<br />
ɛ kann für jedes Gen separat vorgegeben werden.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Reell-wertige Repräsentation<br />
Zyklische Gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Beispiel (Faserwinkel)<br />
Wird ein Faserwinkel mit einem Gen x i ohne Grenzen<br />
kodiert, ist die Repräsentation nicht eineindeutig: Es<br />
entsteht derselbe Phänotyp für alle Genwerte<br />
x i = ˆx i + k · 180 ◦ (k ∈ G). Ein Gen mit einem Wertebereich<br />
von 180 ◦ bewahrt die Lokalität nicht. Es gibt keine Mutation,<br />
die vom Zustand x i,min zum Zustand x i,max oder umgekehrt<br />
führen kann, obwohl beide Zustände den gleichen Phänotyp<br />
kodieren.<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Reell-wertige Repräsentation<br />
Zyklische Gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Ein Gen mit beschränktem Wertebereich<br />
x i,min ≤ x i ≤ x i,max kann zyklisch Zustände kodieren.<br />
Dazu muss die Behandlung der Grenzen innerhalb der<br />
Initialisierung <strong>und</strong> der Variationsoperatoren verändert<br />
werden.<br />
Zyklische Grenzen:<br />
⎧<br />
⎨ x i,max − (x i,min − x<br />
i ′)<br />
wenn x i ′ < x i,min<br />
x i = x<br />
⎩ i,min + (x<br />
i ′ − x i,max ) wenn x<br />
i ′ > x i,max<br />
sonst<br />
x ′<br />
i
Inhalt<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
5 Anforderungen an ein Repräsentationskonzept<br />
6 Binäre Repräsentation<br />
7 Reell-wertige Repräsentation<br />
8 Heterogene Repräsentation - Universal Genotype
Heterogene Repräsentation<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Beispiel (Motorradrahmen)<br />
Das Gewicht eines Rennmotorradrahmens soll reduziert<br />
werden, gleichzeitig sollen Steifigkeits- <strong>und</strong><br />
Festigkeitseigenschaften nicht beeinträchtigt werden. Um<br />
den Fertigungsaufwand gegenüber dem herkömlichen<br />
Rahmen nicht zu vergrösseren, werden nur die<br />
Rohrdimensionen verändert. Der Rahmen ist symmetrisch<br />
aufgebaut. Es verbleiben 15 Rohre für die Optimierung.<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype
Heterogene Optimierungsprobleme<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Beispiel (Motorradrahmen)<br />
Es sollen drei Varianten untersucht werden:<br />
Frei: Die 15 Rohre werden nach Mass gefertigt. D.h.<br />
es ist jeweils ein Durchmesser <strong>und</strong> eine<br />
Wandstärke frei wählbar.<br />
Katalog: Es steht ein Rohrkatalog mit 52 Rohren zur<br />
Auswahl.<br />
3-Sonderanfertigungen: Drei Rohrtypen können nach<br />
Wunsch hergestellt werden. Es muss<br />
entschieden werden, welcher Typ an welcher<br />
Stelle verbaut werden soll.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Heterogene Repräsentation<br />
Gen-Typen<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Float-gene : x ∈ R oder x ∈ R|x ∈ [x min , ∞) oder<br />
x ∈ R|x ∈ (−∞, x max ] oder<br />
x ∈ R|x ∈ [x min , x max ]<br />
Integer-gene : x ∈ G oder x ∈ G|x ∈ [x min , ∞) oder<br />
x ∈ G|x ∈ (−∞, x max ] oder<br />
x ∈ G|x ∈ [x min , x max ]<br />
Bool-gene : x ∈ {0, 1}<br />
Float-list-gene : x ∈ {x 1 , x 2 , . . . , x n } |x i ∈ R<br />
Const-float-list-gene : x ∈ {x 1 , x 2 , . . . , x n } |x i ∈ R<br />
x i+1 = x i + ∆<br />
String-list-gene : x ∈ {x 1 , x 2 , . . . , x n } |x i ∈ S
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Heterogene Repräsentation<br />
Float-gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Beispiel<br />
Das Float-gene ist geeignet für die Repräsentation<br />
kontinuierlicher, reell-wertiger Grössen.<br />
Es können untere <strong>und</strong> obere Grenzen für den<br />
Wertebereich zugewiesen werden.<br />
Die Grenzen können zyklisch sein.<br />
Ein Float-gene kann die Wandstärke eines Profils kodieren.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Heterogene Repräsentation<br />
Float-gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Beispiel (Freie Repräsentation des Motorradrahmens)<br />
Für die 15 Rohre des Motorradrahmens werden jeweils zwei<br />
Float-genes verwendet. Diese kodieren den Durchmesser<br />
<strong>und</strong> die Wandstärke eines Profils.<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Heterogene Repräsentation<br />
Integer-gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Beispiel<br />
Das Integer-gene ist geeignet für die repräsentation<br />
ganzzahliger Grössen.<br />
Es können untere <strong>und</strong> obere Grenzen für den<br />
Wertebereich zugewiesen werden.<br />
Die Grenzen können zyklisch sein.<br />
Ein Integer-gene kann die Anzahl eines Merkmals<br />
(Features, z.B. Bohrungen, Speichen u.ä.) kodieren.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Heterogene Repräsentation<br />
Integer-gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Beispiel (Katalog Repräsentation des Motorradrahmens)<br />
Die 52 Profile aus dem Katalog werden aufsteigend nach<br />
Querschnittsfläche sortiert <strong>und</strong> durchnummeriert. Jedes der<br />
15 Rohre im Rahmen wird mit einem Integer-gene kodiert.<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Heterogene Repräsentation<br />
Bool-gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Beispiel<br />
Das Bool-gene ist von der binären Repräsentation<br />
bekannt.<br />
Ein Bool-gene kann die An-/Abwesenheit eines Merkmals<br />
(Features) kodieren.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Heterogene Repräsentation<br />
Float-list-gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Beispiel<br />
Das Float-list-gene ist geeignet für die Repräsentation<br />
diskreter, reell-wertiger Grössen.<br />
Das Gen hat eine zählbare Anzahl Allele.<br />
Das Gen kann zyklisch sein.<br />
Ein Float-list-gene kann die Durchmesser von Rohren aus<br />
einem Profilkatalog kodieren.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Heterogene Repräsentation<br />
Float-list-gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Beispiel (Katalog Repräsentation des Motorradrahmens)<br />
Die Rohrdurchmesser <strong>und</strong> Wandstärken werden mit je<br />
einem Float-list-gene kodiert. Es werden zwei Gene für<br />
jedes Rahmenrohr gebraucht. Der Katalog muss zu jeder<br />
Kombination der kodierten Durchmesser <strong>und</strong> Wandstärken<br />
ein Rohr enthalten, sonst entstehen illegale Konfigurationen.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Heterogene Repräsentation<br />
Const-float-list-gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Beispiel<br />
Das Const-float-list-gene ist geeignet für die<br />
Repräsentation diskreter, reell-wertiger Grössen.<br />
Das Gen hat eine zählbare Anzahl Allele.<br />
Die einzelnen Allele sind mit gleichen Abständen über<br />
eine Wertebereich verteilt.<br />
Das Gen kann zyklisch sein.<br />
Ein Const-float-list-gene kann Lagewinkel kodieren, wenn<br />
dieser aus Fertigungsgründen nur in 5 ◦ Schritten variiert<br />
werden soll.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Heterogene Repräsentation<br />
String-gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Das String-gene ist geeignet für die Repräsentation<br />
diskreter Grössen in einem Raum S, in dem keine<br />
Norm <strong>und</strong> Ordnung definiert ist.<br />
Das Gen hat eine zählbare Anzahl Allele.<br />
Durch das Fehlen einer Ordnung <strong>und</strong> Norm ist die<br />
Distanz zwischen allen Allelen gleich.<br />
Jedes Allel ist direkter Nachbar aller anderen.<br />
Beispiel (Farbe)<br />
Ein String-gene kann eine Farbe kodieren. Mögliche Allele<br />
sind z.B. {rot,blau,grün,gelb}.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Heterogene Repräsentation<br />
String-gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Beispiel (3-String-Repräsentation des Motorradrahmens)<br />
Die Rohrdurchmesser <strong>und</strong> Wandstärken der drei Rohrtypen<br />
werden mit insgesammt sechs Float-genes repräsentiert.<br />
Jedem Rohr im Rahmen wird ein String-gene zugeteilt mit<br />
drei Allelen {r 1 , r 2 , r 3 }. Diese stehen für den jeweiligen<br />
Rohrtyp. Da die Werte der Float-genes nicht vorbestimmt<br />
sind, existiert keine Ordnung unter {r 1 , r 2 , r 3 }.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Heterogene Repräsentation<br />
String-gene vs. Integer-gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Die Allele eines String-genes lassen sich<br />
durchnummerieren <strong>und</strong> werden so mit einem<br />
Integer-gene kodierbar.<br />
Die Nummerierung führt eine Ordnung ein, die im<br />
Raum S nicht exisitiert.<br />
Beispiel (Material)<br />
Ein String-gene kann ein Material kodieren. Materialien<br />
lassen sich nach einzelnen Kennwerten ordnen, eine<br />
globale Ordnung existiert aber nicht. Wir betrachten die<br />
Wahl {Aluminium,Stahl,Titan,Wolfram}. Die Kodierung mit<br />
einem String-gene ist unvoreingenommen, d.h. die<br />
Reihenfolge der Aufzählung der Allele ist nicht relevant. Bei<br />
der Kodierung mit einem Integer-gene wird die Reihenfolge<br />
abgebildet. Titan wird bei der Mutation eher zu Wolfram<br />
oder Stahl, als zu Aluminium.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Heterogene Repräsentation<br />
String-gene<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Beispiel (Vergleich Motorradrahmen)<br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
8<br />
7.5<br />
Double-list genotype<br />
Integer-list genotype<br />
3-tubes-string-list genotype<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype<br />
Weight [kg]<br />
7<br />
6.5<br />
6<br />
5.5<br />
0 50 100 150 200 250 300<br />
Generations [#]
Fragen?<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Anforderungen<br />
an ein<br />
Repräsentationskonzept<br />
Binäre Repräsentation<br />
Reell-wertige<br />
Repräsentation<br />
Heterogene<br />
Repräsentation<br />
- Universal<br />
Genotype
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
Teil IV<br />
Spezielle Konzepte <strong>und</strong><br />
Anwendungen
Inhalt<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
9 Variable Genotyp-Länge<br />
10 Graph-basierte Repräsentation
Variable Genotyp-Länge<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
Beispiel: Topological Optimum Laminate Design<br />
Die erste Eigenfrequenz eines laminierten, rechteckigen<br />
Panels soll maximiert werden unter der Nebenbedingung,<br />
dass die Masse eine obere Grenze von m nicht<br />
überschreiten darf. Es stehen drei Materialien in Form von<br />
Prepregs zur Verfügung. Gesucht ist ein optimaler<br />
Laminataufbau, d.h. die Anzahl Lagen <strong>und</strong> für jede Lage die<br />
Materialwahl <strong>und</strong> ein Lagewinkel.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Variable Genotyp-Länge<br />
Patch-Konzept<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
Ein Patch ist ein globaler Layer (z.B. ein Stück<br />
Prepreg).<br />
Ein Patch ist definiert durch<br />
seine Position (X, Y ),<br />
geometrische Attribute (B, H),<br />
ein Lagewinke φ <strong>und</strong><br />
Material-Attribute (CFK ).
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Variable Genotyp-Länge<br />
Patch-Konzept<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
Die Überlagerung mehrer Patches erlaubt ein Laminat<br />
mit verschiedenen Zonen aufzubauen.<br />
Beispiel (2 Patches)<br />
Zwei Patches mit den Eigenschaften<br />
(x 1 , y 1 , b 1 , h 1 , φ 1 , CFK , x 2 , y 2 , b 2 , h 2 , φ 2 , GFK ):
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Variable Genotyp-Länge<br />
Patch-Konzept<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Beispiel (2 Patches)<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation
Variable Genotyp-Länge<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
Die Dimension des Suchraums (Anzahl Gene, Länge<br />
des Genotyps) ist nicht fest vorgegeben, sondern ein<br />
Ergebnis der Optimierung.<br />
Der Genoyp ist nach einem festen Muster aufgebaut.<br />
Deshalb ist bekannt, wie er vergrössert <strong>und</strong> verkleinert<br />
werden kann.<br />
Variable Genotylänge erfordert Anpassungen der<br />
Initialisierung <strong>und</strong> der Variationsoperatoren.
Variable Genotyp-Länge<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
Beispiel (Laminatoptimierung)<br />
Der Genotyp besteht aus einer heterogenen Liste:<br />
x = {x 1 , y 1 , b 1 , h 1 , φ 1 , m 1 , . . . , x k , y k , b k , h k , φ k , m k }<br />
wobei x i <strong>und</strong> y i die Position kodieren, b i <strong>und</strong> h i die<br />
Geometrie, φ i den Lagewinkel <strong>und</strong> m i das Material. Der<br />
Genotyp kodiert k Patches. Die Reihenfolge der Gene gibt<br />
die Reihenfolge der Lagen im Laminat wieder. Soll der j-te<br />
Patch entfernt werden, müssen die Gene x j , y j , b j , h j , φ j , m j<br />
aus der Liste entfernt werden. Dadurch ändert sich die<br />
Länge der Liste. Soll ein neuer Patch vor dem j-ten Patch<br />
hinzugefügt werden, wird die Liste zwischen m j−1 <strong>und</strong> x j<br />
aufgetrennt <strong>und</strong> an der Stelle die Gene x l , y l , b l , h l , φ l , m l<br />
eingesetzt.
Variationsoperatoren<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
Die bekannten Mutationsoperatoren lassen sich<br />
unverändert anwenden.<br />
Die Mutationsoperatoren werden ergänzt durch<br />
spezielle Operatoren, die einzelne Gengruppen<br />
(Patches) entfernen oder hinzufügen können.<br />
Die vorgestellten One- bzw. n-Point-Crossover lassen<br />
sich anwenden.
Inhalt<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
9 Variable Genotyp-Länge<br />
10 Graph-basierte Repräsentation
Graph Theory in a Nutshell<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
v1<br />
e1<br />
v2<br />
e3<br />
e2<br />
e4<br />
v3<br />
Ein Graph besteht aus einem Set V von Knoten v <strong>und</strong><br />
einem Set E von Kanten e.<br />
Der Graph G = g(V , E) gibt eine relation von V <strong>und</strong> E<br />
wieder.<br />
Die Kanten stellen Nachbarschaftsinformationen<br />
zwischen den Knoten dar.<br />
Die Knoten <strong>und</strong> Kanten können zusätzliche<br />
Eigenschaften tragen.<br />
e5<br />
e6<br />
v4<br />
v5
Graph-basierte Repräsentation<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
Graphen können komplexe Zusammenhänge in<br />
kompakter Form abspeichern.<br />
Graphen lassen sich effizient durchsuchen <strong>und</strong><br />
verändern.<br />
In der Strukturoptimierung können Graphen eingesetzt<br />
werden, wenn gleichzeitig die Anordnung struktureller<br />
Bestandteile als auch deren Eigenschaften optimiert<br />
werden soll.<br />
Im folgenden wird die Anwendung von Graphen als<br />
Repräsentation für Fachwerkstrukturen vorgestellt.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Graph-basierte Repräsentation<br />
Graph-Fachwerk-Analogie<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
Fachwerkstrukturen können als Graphen dargestellt<br />
werden. Dabei werden die Knoten des Fachwerks zu<br />
Knoten im Graph <strong>und</strong> Stäbe zu Kanten.<br />
y<br />
(1,1,0)<br />
F<br />
v2<br />
e3<br />
v3<br />
e1<br />
e4<br />
e5<br />
x<br />
v1<br />
e2<br />
v4
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Graph-basierte Repräsentation<br />
Eigenschaften<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
Die Knoten können Eigenschaften über die Position im<br />
Raum, angreifende Kräfte oder Lager tragen.<br />
Die Kanten können Informationen über den Querschnitt<br />
<strong>und</strong> das Material des Stabes speichern.<br />
Die Informationen können mit den bekannten<br />
(heterogenen) Gen-Typen versehen werden <strong>und</strong> sind<br />
damit für die Optimierung zugänglich.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Graph-basierte Repräsentation<br />
Variationsoperatoren<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
Die Eigenschaften auf den Kanten <strong>und</strong> Knoten können<br />
mit den bekannten Variationsoperatoren verändert<br />
werden.<br />
Für topologische Veränderungen des Graphen werden<br />
neue Operatoren erf<strong>und</strong>en.<br />
Beispiel (Proportional edge crossover)<br />
v2 v3 v5<br />
v2 v3 v5<br />
A<br />
p1<br />
A p2<br />
o2<br />
v1 v4 v6<br />
v2 v3 v5<br />
C<br />
v1 v4 v6<br />
v2 v3 v5<br />
A<br />
o1<br />
A<br />
v1<br />
v4<br />
v6<br />
v1<br />
v4<br />
v6
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Graph-basierte Repräsentation<br />
Anwendung<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
Die Repräsentation erlaubt eine gleichzeitig Auslegung<br />
der Topologie, Gestalt <strong>und</strong> Dimensionierung eines<br />
Fachwerks (Layout-Optimierung).<br />
Die Optimierung ist unabhängig von einer<br />
Gr<strong>und</strong>struktur.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Graph-basierte Repräsentation<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
Beispiel (52-Stab-Fachwerk)<br />
Fy Fy Fy Fy<br />
Fy<br />
Fy Fy Fy<br />
David Keller<br />
50 51 52<br />
v17 v18 v19 v20<br />
Fx Fx Fx Fx<br />
44 46 48<br />
45 47 49<br />
14 15 16<br />
v9 v10 v11 v12<br />
Fx Fx Fx<br />
Fx<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation<br />
3 m<br />
3 m<br />
40 41 42 43<br />
v13 v14 v15 v16<br />
37 38 39<br />
31 33 35<br />
32 34 36<br />
27 28 29 30<br />
v9 v10 v11 v12<br />
24 25 26<br />
20<br />
22<br />
18 21<br />
19 23<br />
12 m<br />
9 10<br />
v5 5<br />
v6<br />
6<br />
11<br />
v7<br />
12<br />
7<br />
13<br />
3 m<br />
14 15 16 17<br />
v5 v6 v7 v8<br />
11 12 13<br />
1<br />
2<br />
3<br />
v8<br />
5 7 9<br />
6 8 10<br />
4<br />
8<br />
3 m<br />
1 2 3 4<br />
v1 v2 v3 v4<br />
v1 v2 v3 v4<br />
2 m 2 m 2 m<br />
2 m 2 m 2 m<br />
Fach-<br />
(b) Optimiertes<br />
werk<br />
(a) Ursprüngliche Fachwerkstruktur
Fragen?<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Variable<br />
Genotyp-<br />
Länge<br />
Graphbasierte<br />
Repräsentation
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Teil V<br />
Fitness-Bewertung
Inhalt<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
11 Fitness für beschränkte Probleme<br />
12 Fitness-Sharing
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Fitnessdefinition<br />
Ein beschränktes Optimierungsproblem<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Typische Strukturoptimierungsprobleme sind beschränkt,<br />
d.h. mindestens einer Nebenbedingung unterworfen.<br />
Definition (Beschränktes Optimierungsproblem)<br />
Minimiere F(x)<br />
mit g i (x) ≤ 0 für alle i<br />
<strong>und</strong> h j (x) = 0 für alle j
Fitnessdefinition<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Die im Folgenden vorgestellte Fitnessdefinition ist eine<br />
Möglichkeit (aus vielen) ein beschränkes Problem über<br />
ein Strafmethode in ein unbeschränktes Problem<br />
überzuführen.<br />
Die Fitnessfunktion muss bei EAs nicht glatt<br />
(stetig-differenzierbar) sein.<br />
Beispiel (Äussere Strafmethode)<br />
Die äusseren Strafmethode kann auch für die Evolutionäre<br />
Optimierung verwendet werden. Die Verschlechterung der<br />
Topologie der Fitnessfunktion ist weniger kritisch als bei<br />
Methoden der Mathematischen Programmierung. So sind<br />
sehr hohe Strafparameter R – im Grenzfall sogar<br />
Stufenfunktionen (R → ∞) möglich.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Fitnessdefinition<br />
Weighted Demands<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Idee<br />
Die im Folgenden vorgestellte Methode ist darauf<br />
bedacht mit relativ wenigen, einfach interpretierbaren<br />
Parametern eine robuste Abbildung der Zielwerte auf<br />
eine skalare Fitness zu erreichen.<br />
Bei der vorgeschlagenen Methode wird die Stufenfunktion<br />
bewusst geglättet: Individuen, die eine Nebenbedingung<br />
leicht verletzen, werden so nur leicht bestraft. Ihre<br />
Eigenschaften können weiter verwendet werden um neue<br />
Lösungen zu generieren.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Fitnessdefinition<br />
Zusammengesetzte Fitness für beschränkte Probleme<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Idee<br />
Die Fitness F ′ ist ein skalarer Wert, der sich aus Beiträgen<br />
verschiedener Demands D i mit jeweiligen Gewichten w i<br />
zusammensetzt.<br />
F ′ = ∑ w i D i (x)<br />
i<br />
Die Demands D i sind skalare Grössen im Interval (0, 1),<br />
was eine unverzerrte Gewichtung mit w i erlaubt. Die Fitness<br />
F ′ ist zu minimieren.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Fitnessdefinition<br />
Demands<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Die Demands stellen Straffunktionen für die messbaren<br />
oder simulierten Qualitäten einer Struktur dar (z.B.<br />
Masse, Maximale Spannung, Maximale Verschiebung<br />
usw.)<br />
Es gibt drei verschieden Typen von Demands:<br />
Objective : Bildet die Werte der Zielfunktion F(x) ab.<br />
Constraint : Bildet die Werte von<br />
Ungleichheitsnebenbedingungen g(x) ab.<br />
TargetConstraint : Bildet die Werte der<br />
Gleichheitsnebenbedingungen h(x) ab.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Fitnessdefinition<br />
Objective Demand<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Die Objective-Funktion ist durch zwei (drei) Parameter<br />
definiert:<br />
O init : ein Ausgangswert.<br />
O estim : ein erhoffter Zielwert.<br />
α : ein Wert, der die Steigung einstellt<br />
(typischerweise 5)<br />
Die Funktion eignet sich für Minimierungs- <strong>und</strong><br />
Maximierungsprobleme.<br />
Fitness rating D o<br />
(O’) [a.u.]<br />
1.3<br />
1.2<br />
1.1<br />
1<br />
0.9<br />
0.8<br />
0.7<br />
0.6<br />
0.5<br />
0.4<br />
0.3<br />
0.2<br />
0.1<br />
0<br />
−0.1<br />
O init<br />
= 100<br />
O = 0 estim<br />
α = 5<br />
α = 3 −10<br />
0 20 40 60 80 100<br />
Objective value O’ [a.u.]
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Fitnessdefinition<br />
Constraint Demand<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Die Constraint-Funktion ist durch zwei Parameter<br />
definiert:<br />
C limit : der Wert auf der Nebenbedingung<br />
O feas_tol : ein Wert, der die Toleranz einstellt<br />
Die Funktion eignet sich für untere <strong>und</strong> obere Grenzen<br />
1.1<br />
1<br />
C limit<br />
= 5<br />
Fitness rating D j<br />
(C) [a.u.]<br />
0.9<br />
0.8<br />
0.7<br />
0.6<br />
0.5<br />
0.4<br />
0.3<br />
0.2<br />
C feas_tol<br />
= 0.6, ... , 6<br />
0.1<br />
0<br />
0.01<br />
−0.1<br />
0 5 10 15 20<br />
Constraint value C [a.u.]
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Fitnessdefinition<br />
Target Demand<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Die Target-Funktion ist durch drei Parameter definiert:<br />
C limit : der geforderte Zielwert<br />
C adm_tol : eine Abweichung, die ohne Strafe toleriert<br />
wird<br />
O feas_tol : ein Wert, der die Toleranz einstellt<br />
1.1<br />
1<br />
0.9<br />
C target<br />
= 25<br />
Fitness rating D j<br />
(C) [a.u.]<br />
0.8<br />
0.7<br />
0.6<br />
0.5<br />
0.4<br />
0.3<br />
0.2<br />
0.1<br />
C feas_tol<br />
=6−14<br />
0<br />
C adm_tol<br />
= 2.5<br />
−0.1<br />
0 5 10 15 20 25 30 35 40 45 50<br />
Constraint value C [a.u.]
Inhalt<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
11 Fitness für beschränkte Probleme<br />
12 Fitness-Sharing
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Fitness-Sharing<br />
Motivation<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Beispiel: Tellerfederstapel<br />
Es soll mittels verschiedener Tellerfedern ein Stapel erstellt<br />
werden, der ein vorgegebenes (nicht-lineares)<br />
Kraft-Weg-Verhalten aufweist.<br />
Fitness-<br />
Sharing<br />
Bild: Wikipedia
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Fitness-Sharing<br />
Motivation<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Beispiel: Tellerfederstapel (2)<br />
Bei der Optimierung mittels EA wird folgendes beobachtet:<br />
Der Algorithmus konvergiert <strong>und</strong> findet gute Lösungen.<br />
Wird der der Algorithmus mehrmals auf dieselbe<br />
Problemstellung angewandt, findet er oft verschiedene<br />
Lösungen.<br />
Die Lösungen aus mehreren Anwendungen<br />
unterscheiden sich in ihrem Genotypen z.T. sehr<br />
deutlich, nicht aber in der Fitness.
Fitness-Sharing<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Fx<br />
1.0<br />
0.8<br />
0.6<br />
0.4<br />
0.2<br />
0.0<br />
0.2 0.4 0.6 0.8 1.0 x<br />
Abbildung : Population nach 50 Generationen mit 50 Individuen<br />
für eine multimodale Testfunktion (Maximierung, ohne Sharing)
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Fitness-Sharing<br />
Genetic Drift<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
In einem EA vermeheren sich erfolgreiche Allele<br />
innerhalb der Population von einer Generation zur<br />
nächsten.<br />
Dieser Effekt wird Genetic Drift genannt <strong>und</strong> ist im<br />
Allgemeinen erwünscht.<br />
Bei multimodale Funktionen führt Genetic Drift dazu,<br />
dass sich innerhalb weniger Generationen ein einmal<br />
entdecktes Optimum durchsetzt <strong>und</strong> sich die Population<br />
um das beste Individuum gruppiert.<br />
Besitzt die Funktion mehrere lokale Optima kann der<br />
Algorithmus durch Genetic Drift frühzeitig in einem<br />
lokalen Optimum konvergieren (Premature<br />
Convergence).
Fitness-Sharing<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Um eine frühzeitige Konvergenz zu vermeiden bzw. um bei<br />
multimodalen Zielfunktionen möglichst alle lokalen Optima<br />
zu identifizieren, wurde das Konzept Fitness-Sharing<br />
vorgeschlagen:<br />
Idee<br />
Genetic Drift führt zu einer ungleichmässigen Besiedelung<br />
des Suchraums. In der Natur wird das vermieden: Die<br />
Ressourcen sind beschränkt, ist eine Nische (zu) dicht<br />
besiedelt erwächst ein zusätzlicher Umgebungsdruck. D.h.<br />
die Fitness eines Individuum ist nicht nur von seinen<br />
eigenen Qualitäten abhängig, sondern auch von der<br />
Besiedelungsdichte in seiner Nachbarschaft.
Fitness-Sharing<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Basierend auf der Idee der beschränkten Ressourcen<br />
wurde von Holland die Methode des Fitness-Sharings<br />
entwickelt. Sie wurde ursprünglich für<br />
Maximierungsprobleme vorgeschlagen. Die folgenden<br />
Darstellungen <strong>und</strong> Formeln beziehen sich deshalb alle auf<br />
die Maximierung der Fitness (eine Übertragung auf<br />
Minimierungsprobleme ist möglich).<br />
Idee<br />
Die Individuen in derselben Nische teilen sich die Fitness.
Fitness-Sharing<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Die Fitness eines Individuums wird nach der folgenden<br />
Regel abgemindert:<br />
F ′<br />
i = F i<br />
m i<br />
F i ist dabei die ursprüngliche Fitness <strong>und</strong> m i der<br />
sogenannte niche count.
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Fitness-Sharing<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Definition (Niche Count)<br />
Der niche count m i ist ein approximatives Mass für die<br />
Anzahl Individuen innerhalb derselben Nische.<br />
Er berechnet sich aus einer Summe über eine sog.<br />
sharing function innerhalb der Population:<br />
m i =<br />
N∑<br />
sh(d ij )<br />
j=1
Fitness-Sharing<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Definition (Sharing Function)<br />
Die sharing function sh(d ij ) misst die Ähnlichkeit zweier<br />
Individuen i <strong>und</strong> j innerhalb der Population anhand<br />
deren Distanz d ij .<br />
Die sharing function ist eins für identische Individuen<br />
(d ij = 0), null für Individuen die weiter als eine<br />
vorgegebene Distanz σ s (niche radius) voneinander<br />
entfernt sind <strong>und</strong> dazwischen im Intervall (0, 1).<br />
sh(d ij ) =<br />
{ 1 − (dij /σ s ) α , für d ij < σ s<br />
0, sonst
Fitness-Sharing<br />
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Fx<br />
1.0<br />
0.8<br />
0.6<br />
0.4<br />
0.2<br />
0.0<br />
0.2 0.4 0.6 0.8 1.0 x<br />
Abbildung : Population nach 50 Generationen mit 50 Individuen<br />
für eine multimodale Testfunktion (Maximierung, mit Sharing)
Zentrum für Strukturtechnologien<br />
www.structures.ethz.ch<br />
Fitness-Sharing<br />
Diskussion<br />
<strong>Stochastische</strong><br />
<strong>Verfahren</strong> <strong>und</strong><br />
Evolutionäre<br />
<strong>Algorithmen</strong><br />
David Keller<br />
Fitness für<br />
beschränkte<br />
Probleme<br />
Fitness-<br />
Sharing<br />
Fitness Sharing ermöglicht bei stark multimodalen<br />
Zielfunktionen in einem Optimierungslauf mehrere<br />
Optima zu finden.<br />
Es gibt einen wesentlichen Einstellparameter: den<br />
niche radius σ s . Dieser beeinflusst sehr stark die<br />
Qualität der gef<strong>und</strong>enen Lösungen <strong>und</strong> ist<br />
Problem-abhängig.<br />
Fitness Sharing erfordert grössere Populationen als<br />
eine Optimierung ohne Sharing.<br />
Fitness Sharing verlangsamt die Konvergenz eines EA,<br />
weil dicht besiedelte Gebiete im Suchraum bestraft<br />
werden.