65
Natürliche Optimierung Sven Schirmer

Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Embed Size (px)

Citation preview

Page 1: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Natürliche Optimierung

Sven Schirmer

Page 2: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Inhalt• Überblick traditionelle Optimierung• Überblick heuristische Optimierungsmethoden• Wirkungsweise Evolutionäre Algorithmen

– Genetik und Evolution– Kostenfunktion und Suchraum– Selektion– Binärer GA– Kontinuierlicher GA – Anpassung GA-Operatoren: Spezialfall TSP (??)– MOO Multi Objective Optimization

• Ant Colony Optimization (TSP)• Particle Swarm Optimization

Page 3: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Optimierung

Ziel: Finden geeigneter Lösungen für komplexe Problemstellungen

Beispiele:• Traveling Salesman• Chip-Layout• Produktions- und Einsatzplanung• Modellparametrisierung• Mustererkennung

Page 4: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Problem

• oft unbekannte, ggf. multimodale und nicht vollständig berechenbare Fehleroberfläche

• Hohe Anzahl freier Variablen = hochdimensionaler Suchraum

• Kostenfunktion/Fehlerfunktion Berechnung der Qualität einer Lösung

Page 5: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Traditionelle Optimierung

Lineare Optimierung • Nur für Lineare (Un-) Gleichungssysteme

z.B. Produktionsplanung

• Lösungsmethoden– Simplex-Algo (Dantzig)– Innere Punkte

Analytische Optimierung• Über Ableitung zu Minima und Maxima• Nur bei differenzierbaren Kostenfunktionen

Page 6: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Traditionelle Optimierung II

• Brute Force; Exhaustive Search– Extrem rechenaufwendig– Erfolg intervallabhängig

• Nelder Mead Downhill Simplex – Oft werden nur lokale Minima gefunden– Aufwendige Berechnungsmethoden– Ursprünglich wenig parallelisierbar

• Gradientenabstiegsverfahren (Cauchy 1847)

Page 7: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Traditionelle Optimierung

• Oft gefangen in lokalen Minima

• Ergebnis von Startpunkt abhängig

• Deterministisch

• Matlab-Tool: optimtool

Page 8: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Überblick Natürliche Optimierungsmethoden

Methode Operatoren WertebereichGenetische Algorithmen(1975, Holland)

Selektion,

Rekombination,

Mutation

Binär

Diskret

KontinuierlichEvolutionäre Algorithmen(Schwefel, 1995)

Particle Swarm Optimization(Kennedy 1985)

Follow the best kontinuierlich

Ant Colony Optimization(Dorigo,Maria 1997)

Pherom Update Traveling Salesman(Permutation)

Page 9: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

In Summe sind verschiedene Optimierungsmethoden

auf unterschiedlichen Problemen gleich gut geeignet

Kein „perfektes“ Optimierungsverfahren

No Free Lunch Theorem(Wolpert / McReady 1997)

Page 10: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Vorteile Natürlicher Optimierungsmethoden

• Massiv-parallele Suche nach brauchbaren Lösungen

• Ohne Ableitungen der Kostenfunktion

• Weniger anfällig für lokale Minima

• Auch für diskrete und nichtkontinuierliche Kostenfunktionen

Page 11: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Nachteile Natürlicher Optimierungsmethoden

• Nicht deterministisch – unterschiedlichste Lösungen bei mehreren Durchgängen möglich

• Erzeugen gute, jedoch nicht unbedingt die beste Lösung

• rechenintensiv

Page 12: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Genetische / Evolutionäre Optimierung

• Heutige Artvielfalt = Resultat vieler Millionen Iterationen natürlicher (stochastischer) Optimierung

• Unterschiedlichste Eigenschaften der Lebewesen ermöglichen Leben in verschiedensten „Nischen“

• Dynamische Änderung der Umweltbedingungen bedingt Weiterentwicklung oder Aussterben

Page 13: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Wie funktioniert das?Genetik - skizzenhaft

• Chromosomen (DNA + viel Protein)

• Gen = Abschnitt auf DNA

• Enthält RNA/Protein Bauanleitungen

Erb-Informationen in 20 Aminosäuren

Art Anz. Chromosomen Anzahl GeneMücke 6 16.047

Frosch 26 20.000

Mensch 46 23.700

Kartoffel 48 …

Goldfisch 96 …

Page 14: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

• Allel Ausprägung eines Gens• Paarung Informationen beider

Gene werden kombiniert• Dominante / rezessive Allele• Genotyp bedingt Phänotyp

(Augenfarbe, Hautfarbe…)

Genetik und Evolution - skizzenhaft

• Veränderung innerhalb der Art durch Rekombination und Mutation Mendel 1860

• Erfolgreiche Änderungen pflanzen sich fort Evolution Darwin 1858

Page 15: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Terminologie und Synonyme

• Chromosom = Lösungsvorschlag, Parametersatz, Ausprägung, Genotyp

• Population = Menge von Lösungen in einer Generation

• Anzahl Generationen = Anzahl der GA-Iterationen

• Fitness = Kosten = Qualität

Page 16: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

GA - Allgemeiner Ablauf

Wiederholen für N Generationen

Kosten bestimmen

Selektion

Lösung evaluieren

Mutation

Rekombination

Startpopulation bestimmen

Kostenfunktion und Suchraum definieren

Abbruchj/n

Startpopulation bestimmen

Kostenfunktion und Suchraum definieren

Rekombination

Startpopulation bestimmen

Kostenfunktion und Suchraum definieren

Mutation

Rekombination

Startpopulation bestimmen

Kostenfunktion und Suchraum definieren

Page 17: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Suchraum festlegen

• Anzahl freier Variablen = Dimension des Suchraumes

• Wertebereiche sinnvoll eingrenzen!• Binäre GA: Wertebereich quantifizieren =

Chromosomenkodierung

X Y

0 00000 0 0000000

0.2 00001 1 0000001

0.4 00010 2 0000010

0.6 00011 … 3 0000011 ...

3.1 11111 127 1111111

= 12 bit Genom

Page 18: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Kostenfunktion

• Problembeschreibung– analytische Funktion

– Modell– Gleichungssystem

• bewertet die Qualität der Lösung

• GA Optimierung auf Minimum oder Maximum

• tKostenfunktion ~ tGA

Page 19: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Startpopulation

• Gleichmäßige (!?) Verteilung der Lösungen im gesamten Suchraum

• Binär: round(rand(npop,nbit))

• Kontinuierlich: rand(npop,nparam) * (og – ug) + ug

Page 20: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Selektion

• Kosten aller (noch nicht berechneten) Chromosomen bestimmen

• Generationswechsel: Survival of the fittest– Selektionsrate (e.g. 50%) – (wahrscheinlich) die Besten– Oder Grenzwertbasiert – anfangs „überleben“

wenige Chromosomen, später mehr

Page 21: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Rekombination, Reproduktion

• Austausch von Allelen immitiert biolog. Paarungsprozess zur Weitergabe von Eigenschaften

• Auswahl der Partner-Chromosomen– Sortiert: bestes mit zweitbesten usw.– Roulette

– gewichtetes Roulette – Tournament

Page 22: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Rekombination - Binär

• Crossover: Position zufällig auswählen

parents

children

• Multiple Crossover: mehrere Bereiche austauschen; Positionen zufällig auswählen

1 1 0 1 0 0 1 1 1 0 1 0 1 1 0 1

1 1 0 1 1 1 0 1 1 0 1 0 0 0 1 1

Page 23: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Mutation• „verbreitert“ Suchspektrum• ermöglicht das Verlassen lokaler Minima

• Mutationsrate ggf. 20% der Population sehr hoch im Vergleich zur Natur

Elitarismus „schützt“ beste Lösungen

Page 24: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

• Binäre Mutation– Z.B.: Für gesamte Populationsmatrix: an zufällig

bestimmten Reihen/Spalten Bits umkehren

• Bereiche rotieren

… ggf. an eigene Problemstellung anpassen

Mutation - Binär

Page 25: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Für jede weitere Generation

1. Qualität der Nachkommen berechnen

2. Selektion

3. Rekombination, Mutation

4. Abbruchkriterium prüfen

Abbruchkriterien1. Anzahl Generationen erreicht

2. Optimierungsziel erreicht

3. Timeout

Page 26: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Konvergenz - TraceAnzeige der Kosten der besten Lösung je Generation

Wenn nicht, liegt ggf. ein Problem in Kostenfunktion vor

Page 27: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Trace für mehrere Durchläufe

Page 28: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Beispiel

Page 29: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Fehleroberfläche

for i=1:70for j=1:70

err_s(i,j)=ga_testfun_bin([-2+i*0.1 - 2+j*0.1]);end

end

Approximierte Lösungen: x=5.0000 y=5.0000 min = -7.5568X=4.3000 y=4.0000 max = 8.6398

• Ausgeprägte lokale Maxima und Minima• Zwei Variablen• Wertebereich: [-2 5]; Intervall 0.1

Page 30: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Matlab GA-Toolboxen

• Gatool – GUI für GA Optimierung minimiert Kosten

• Gaot Toolbox maximiert Kosten

• GPLab– http://gplab.sourceforge.net/features.html

Page 31: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

GAOT Toolbox, binäres Problem

[pop] = initializega(init_pop_size,bounds,'ga_testfun_bin',... options, [accuracy 0]);

[sol,endPop,bestSols,trace,allPops]=ga_disp(bounds,'ga_testfun_bin',... options,pop,... %options for evalFN [accuracy 0 0],... %[epsilon prob_ops display] ['maxGenTerm'],... %termination function [generations],... %termination options ['normGeomSelect'],... %selection function [0.08],... %selection function options ['simpleXover'],... %XOverFn [wurst], ... %XOverFn options don’t matter ['binaryMutation shiftMutation'],...

[prob_of_mutation; wurst]);

Page 32: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Demo: „ga_run_bin“

Page 33: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Einfluss der Mutation

• 20 Durchläufe a 60 Generationen über 20 Individuen

Page 34: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Populationsgröße und Konvergenz

Page 35: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Kontinuierlich vs. Binär

• Kontinuierliche EA sind – schneller

– leichter zu adaptieren– genauer

(Michalewicz 1992)

• Gleiche Selektionsmethoden

• Vielfalt genetischer Operatoren

Page 36: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Konvergenzvergleich

Gleiches Optimierungsproblemgleiche Variablengrenzendefault-GA Einstellungen

Page 37: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

• Simple / diskrete Rekombination

• ArithmetischC = a*P1 + (1-a)*P2

• HeuristischC = a * (Pbetter – Pworse) + Pbetter)

Rekombination - Kontinuierlich

Page 38: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Mutation - Kontinuierlich

• boundaryMutation

• unifMutation ein Parameter wird in Bereichsgrenzen mutiert

• nonUnifMutation kleinere Mutation in späteren Generationen

• multiNonUnifMutation wie nunUnifMutation, aber für alle Variablen eines Chromosoms

Page 39: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

GAOT Toolboxkontinuierliches Problem

sol= ga(bounds,'ga_testfun_bin',... options,pop,... %options for evalFN [accuracy 1 0],... %[epsilon prob_ops display] ['maxGenTerm'],... %termination function [generations],... %termination options ['normGeomSelect'],... %selection function [0.08],... %selection options ['arithXover heuristicXover simpleXover'],... %XOverFn [2 0;2 3;2 0], ... %XOverFn options ['boundaryMutation nonUnifMutation …

multiNonUnifMutation unifMutation'], ... %Mutation fun [4 0 0;6 100 3;4 100 3;4 0 0]); %Mutation options

Page 40: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Demo GA-Kontinuierlich

• ga_run_float.m

Page 41: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Knapsack - Problem

Gegeben: Rucksack mit bestimmten Volumen Vmax; Gegenstände mit unterschiedlichen Volumina v und Wert w

Gesucht: optimale Rucksack-Beladung für maximalen Wert C

max1

=⋅= ∑=

i

N

ii wnC i

N

ii vnV ⋅≥ ∑

=1maxbei und Ν∈n

Page 42: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Knapsack Rahmenbedingungen

• Maximales Volumen = 100

• Welche Parametergrenzen?

ID Volumen Wert

1 5 8 1,6

2 5 8 1,6

9 15 20 1,333

8 15 17 1,133

5 10 10 1

3 6 6 1

7 12 10 0,833

10 30 20 0,667

4 8 5 0,625

6 11 5 0,455

Wert / Volumen

Page 43: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Knapsack Problem

• Diskrete Werte für i ?

Runden der kontinuierlichen Werte vor Berechnung

• Constraints (max. Volumen) einbeziehen?

• Beispiel: ga_knapsack.m

Page 44: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Einfluss der Mutationsoperatoren

ga_diskret(bounds,'costfun_knapsack',... ['boundaryMutation multiNonUnifMutation unifMutation'],… [4 0 0;4 0 0;4 0 0] );

ga_diskret(bounds,'costfun_knapsack',... ['boundaryMutation unifMutation'],… [4 0 0;8 0 0] );

Page 45: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

• Rundreiseproblem mit N Orten (2D) und festem Ausgangs- und Endpunkt, jeder Ort nur einmal

• Diskretes Permutations- bzw. Sortierproblem (NP-vollständig – nicht deterministisch, polynomiale Zeit)

• Kostenfunktion :

Traveling Salesman Problem (TSP)

∑=

++−+−=

N

nnnnn yyxxc

1

2

1

2

1)()(

Page 46: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Sortieren mit EA

Bisherige Rekombinations- und Mutationoperatoren unbrauchbar - Permutationsoperatoren notwendig!

Page 47: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Zyklische Rekombination

index = find(p1==1)

while c1(index)==0

{

c1(index)=p1(index)

index=find(p1==p2(index))

}

p1 2 1 7 4 6 5 3 8p2 3 7 2 5 6 4 8 1c1 1

p1 2 1 7 4 6 5 3 8p2 3 7 2 5 6 4 8 1c1 1 8

p1 2 1 7 4 6 5 3 8p2 3 7 2 5 6 4 8 1c1 1 3 8

p1 2 1 7 4 6 5 3 8p2 3 7 2 5 6 4 8 1c1 2 1 3 8

p1 2 1 7 4 6 5 3 8p2 3 7 2 5 6 4 8 1c1 2 1 7 3 8

p1 2 1 7 4 6 5 3 8p2 3 7 2 5 6 4 8 1c1 2 1 7 5 6 4 3 8

left=find(c1==0);c1(left)=p2(left);

Page 48: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Reihenfolgen - Rekombinationcut1 = round(rand*(n-1)+0.5);cut2 = round(rand*(sz-cut1-1)+1+cut1); pm1=p1(1:end-1);pm2=p2(1:end-1);c1=p1;c2=p2;for i=[1:cut1 (cut2+1):size] pm1=strrep(pm1,p2(i),-1); pm2=strrep(pm2,p1(i),-1);endc1((cut1+1):cut2)=…

p2(find(pm2>0));c2((cut1+1):cut2)=…

p1(find(pm1>0));

cut1 cut2+1

1 5 6 7 8

p1 7 2 1 8 4 5 6 3

p2 5 6 7 1 3 8 2 4

pm1 7 -1 1 -1 -1 -1 6 -1

c1 7 1 8 2 4 5 6 3

p1 7 2 1 8 4 5 6 3

p2 5 6 7 1 3 8 2 4

pm1 7 -1 1 -1 -1 -1 6 -1

c1 7 1 8 2 4 5 6 3

p1 7 2 1 8 4 5 6 3

p2 5 6 7 1 3 8 2 4

pm1 7 -1 1 -1 -1 -1 6 -1

c1 7 1 8 2 4 5 6 3

c2 5 7 1 6 3 8 2 4

Page 49: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

PMX-Operator (Partially Mapped Crossover)

Pos1 = 3 SS1 = [7 6]

Pos2 = 4 SS2 = [8 6]

p1 5 3 7 6 4 8 1 2

p2 5 4 8 6 1 2 7 3

c1 5 3 8 6 4 7 1 2

c2 5 4 7 6 1 2 8 3

Pos1 = 4 SS1 = [8 1 3 7 6]

Pos2 = 8 SS2 = [1 7 3 6 5]

p1 5 4 2 8 1 3 7 6

p2 2 4 8 1 7 3 6 5

c1 8 4 2 1 7 3 6 5

c2 2 4 5 8 1 3 7 6

Wozu jetzt das?

Ggf. gute Teilgebiete weiterentwickeln

Page 50: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Mutation für Permutation

• Swap Mutation– verdreht zwei zufällig ausgewählte Zahlen

• AdjacentSwap Mutation– Verdreht eine zufällig ausgewählte Zahl mit

ihrem Nachbarn

Page 51: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Mutation für Permutation

• Shift Mutation

• Inversionsmutation

3 5 6 7 4 2 8 1

chi 3 5 6 7 2 8 1 4

par

P1 = 1; P2 = 6

2 4 8 1 7 3 6 5

chi 3 7 1 8 4 2 6 5

par

Page 52: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Wie Qualität der Lösung bewerten?

• Visuell: wenn sich Bewegungslinien nicht schneiden

Page 53: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Demo „orderbasedExample“

Page 54: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Multikriterielle Optimierung

• Engl.: Multi-Objective Optimization (MOO)

• Konkurrierende Ziele gleichzeitig:

432211 xxxxf +++=

432

212

111

xx

xxf +++=

Page 55: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

MOOP• values = rand(700,4)

• f1_ = f1(values)

• f2_ = f2(values)

Methode 1: gewichtete Teilfunktionen nur eine Lösung je GA-Durchlauf

Page 56: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

MOOP: Pareto-optimale Lösung

Kein Funktionswert läßt sich verbessern ohne einen anderen zu verschlechtern

Wenn Pareto-Menge bekannt, kann Benutzer selbst das „richtige“ auswählen

Page 57: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Pareto-Lösung mit EA suchen

• Dominanz von Lösungen: x1 dominiert x2

wenn:)()( 2111 xfxf <

• MOGA: Nach jedem Durchlauf werden Lösungen iterativ nach Dominanz gerankt: jeweils alle nichtdominierten Chromosomen werden einem Rang zugeordnet (Fonesca/Flemming 1993)

• Cluster vermeiden: Zu nahe Lösungen werden mit höheren Kosten bestraft

)()( 2212 xfxf ≤UND

Page 58: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Futtersuche der Ameisen – Wege - Optimierung

• Ameisen bewegen sich auf Futtersuche anfangs zufällig

• legen Duftmarke (Pherome)– langer Weg wenig Pherom– wenige Ameisen wenig Pherom

• Wegfindung durch Intensität der Pheromspur an Gabelungen

• Pheromspur degeneriert mit Zeitverlauf

Page 59: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

ACO – Ant Colony Optimization

• Anwendungsgebiete:– Wegefindung in Graphen – TSP

– Machine Learning– Knapsack– Dynamisches Netzwerkrouting

Page 60: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

ACO – TSP - Algorithmus

1. Starttouren initialisieren

2. Für jede Ameise: a) Gesamt-Tour Schritt für Schritt anhand Distanz zur

nächsten Stadt und deren Pherom-Intensität berechnen

b) Gesamt-Tourlänge bestimmen

c) Pherom-Updates für alle Teilstrecken bestimmen

∑=

q

bmn

amn

bmn

amnk

mn d

dp

/

/

ττ

a) ∑−

=+=

1

11,/

n

i

kii

kmn dQτc)

Page 61: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

ACO – TSP - Algorithmus

3. Beste Tour ermitteln (Elite-Pheromspur)

4. Pherom-Matrix aktualisieren (inkl. zeitl. Verfall)

5. Zurück zu 2. bis max. Iterationen erreicht

elitemn

N

k

kmnmnmn

ants

ετττξτ ++−= ∑=1

)1(

Page 62: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Demo ACO - antcolony.m

Page 63: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Simple Regeln im natürlichen Schwarmverhalten

• Vorgänger folgen (Heuschrecken)

• Kollisionen vermeiden– Gleiche Richtung– Gleiche Geschwindigkeit

• Anonyme „Anführer“ kennen beste Lösung (Bienen)

• Kommunikation zwischen Individuen

Page 64: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Particle Swarm Optimization (PSO)

• Kennedy / Edward 1985

• Viele Partikel „fliegen“ durch Lösungsraum

• Aktuelle „Kosten“ aller Individuen bekannt

• Partikel streben zur besten Lösung:

newnm

oldnm

newnm

oldnm

bestglobalnm

oldnm

bestlocalnm

oldnm

newnm

vpp

pprpprvv

,,,

,_

,22,_

,11,, )()(

+=

−××Γ+−××Γ+=

VektorParameterp

gkeitGeschwindiv

lenZufahlszahrr

Lernfaktor

−==

==ΓΓ

21

11

,

,

Page 65: Natürliche Optimierung - mastersong.de · Methode Operatoren Wertebereich Genetische Algorithmen (1975, Holland) Selektion, Rekombination, Mutation Binär Diskret Kontinuierlich

Literatur

• Haupt, Randy L. (2004): Practical Genetic Algorithms (Second Edition). 2. Aufl.

• Kost, Bernd (2003): Optimierung mit Evolutionsstrategien. Eine Einführung in Methodik und Praxis mit Visualisierungsprogrammen. 1. Aufl. Frankfurt am Main: Deutsch.

• Mitchell, Melanie (1998, c1996): An introduction to genetic algorithms. 1. Aufl. Cambridge, Mass: MIT Press.

• Deb, Kalyanmoy (2001): Multi-objective optimization using evolutionary algorithms. 1. Aufl. Chichester ;, New York: John Wiley & Sons.

• Dorigo, Marco; Stützle, Thomas (2004): Ant colony optimization. Cambridge, Mass: MIT Press.