30.08.2014 Aufrufe

Stochastische Verfahren und Evolutionäre Algorithmen

Stochastische Verfahren und Evolutionäre Algorithmen

Stochastische Verfahren und Evolutionäre Algorithmen

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!