Multiobjective Optimization

Werbung
Universität Paderborn
Wissensbasierte Systeme
Ausarbeitung des Seminarvortrags
Multiobjective Optimization
von Markus Bzdurek
1 / 18
Universität Paderborn
Wissensbasierte Systeme
Inhaltsverzeichnis
1 Einleitung
2 Grundlagen
2.1 Evolutionsmodell
2.2 Vom Evolutionsmodell zu Evolutionären Algorithmen
2.3 Begriffe
3 Mehrkriterienoptimierung
3.1 Definition Mehrkriterienoptimierungsproblem
3.2 Fitnessfunktionen für Mehrkriterienoptimierung
3.2.1 Definition Pareto-optimal
3.2.2 Fitness für Geteilte Selektion
3.2.3 Beispiel
3.2.4 Rangbasierte Fitness
3.2.5 Fitnessfunktion mit Zusatzbedingungen
3.2.5.1 Definition Lösungsansatz bei Randbedingungen
3.2.5.2 Definition Lösungsansatz bei Nebenbedingungen
3.3 Selektion
3.3.1 Definition Statische Selektion
3.3.2 Definition Dynamische Selektion
3.3.3 Roulettrad Selektion
3.3.4 Wettkampf Selektion
3.3.5 Deterministisches Crowding
3.4 Rekombination und Reparaturmechanismen
3.5 Mutation
3.5.1 Definition Non uniform Mutation
4 Zusammenfassung
5 Referenzen
2 / 18
3
4
4
4
5
5
6
7
8
8
9
9
9
10
11
11
12
12
12
13
13
14
15
16
17
18
Universität Paderborn
Wissensbasierte Systeme
1 Einleitung
Viele praktische Optimierungsprobleme bestehen aus mehreren Zielfunktionen und einer
Vielzahl von Variablen. Diese Optimierungsprobleme nennt man Mehrkriterienoptimierungsprobleme
(Multiobjective
Optimization).
In
der
Praxis
treten
die
Mehrkriterienoptimierungsprobleme sehr häufig auf. Dadurch begründen sich die intensiven
Forschungen auf diesem Gebiet. Es existieren zahlreiche Methoden zur
Mehrkriterienoptimierung, von denen die evolutionären Algorithmen in den letzen 15 Jahren
zunehmen an Bedeutung gewonnen haben. Heutzutage kategorisiert man Evolutionäre
Algorithmen in drei Bereiche, die Evolutionsstrategien, die Genetische Programmierung und
die die Genetischen Algorithmen.
Die
Ansätze
der
Mehrkriterienoptimierung
sind
von
dem
gewählten
Evolutionsalgorithmusmodell unabhängig. Die ersten Studien im Gebiet der
Evolutionsstrategie gehen bis in die frühen 60er Jahre zurück. Rechenberg begann zu dieser
Zeit, Ingenieurprobleme mit Hilfe von der Evolution abstrahierter Verfahren zu lösen. Die
Theorie der Evolutionsstrategien ist zielfunktions-bezogen und baut auf der analytischen
Behandlung der Erfolgswahrscheinlichkeit und der Fortschrittsgeschwindigkeit auf.
Parallel zu den Arbeiten von Rechenberg hat Fogel 1966 in den USA ähnliche Verfahren
entwickelt. Die Arbeiten von Fogel sind unter dem Begriff Genetische Programmierung
veröffentlicht worden. Diese Verfahren sind aber nie so bekannt geworden wie die Arbeiten
von Rechenberg.
Der Ansatz der Genetischen Algorithmen geht auf die Arbeiten von John Holland im Jahr
1975 zurück. Diese wurden durch Goldberg 1989 weiterentwickelt und gewannen dadurch an
Popularität. Die Theoretische Basis der Genetischen Algorithmen ist das Schematheorem und
die daraus ableitbare Baustein Hypothese.
Es hat sich aber im Laufe der Jahre gezeigt, dass sich die Forschungen auf die beiden
Bereiche Evolutionsstrategien und die Genetischen Algorithmen konzentriert haben und der
Bereich der Genetischen Programmierung vernachlässigt wurde. Aus diesem Grund werden
wir in diesem Dokument nur auf die Mehrkriterienoptimierungsverfahren für
Evolutionsstrategien und Genetische Algorithmen eingehen. Es wird eine Übersicht über die
existierenden Mehrkriterienoptimierungsverfahren vorgestellt. Diese werden dann analysiert,
verglichen und ihre Stärken und Schwächen aufgezeigt, um herauszufinden, wie sie sich
unterscheiden und wo sie sich ergänzen.
3 / 18
Universität Paderborn
Wissensbasierte Systeme
2 Grundlagen
2.1 Evolutionsmodell
Das Evolutionsmodell geht auf den Forscher Charles Darwin zurück. Seine Hypothese lautet:
„Die Selektion ist die treibende Kraft für die Evolution“. Das heißt, dass durch die Selektion
die Weiterentwicklung der Individuen vollzogen wird. Dennoch hat uns erst die
molekularbiologische Sichtweise die eigentliche Wirkungsweise der Evolution erklärt. Die
Basis der Molekularbiologie ist die DNA. Sie codiert die Informationen, die das Individuum
charakterisieren (von seiner Gestalt über seine Fähigkeiten bis hin zu seinem Verhalten).
Der Lebenszyklus ist ein indirekter Bestandteil der Evolution. Durch die Selektion und andere
Verfahren wird das Überleben der einzelnen Lebewesen und die Anzahl ihrer Nachkommen
reguliert. Ein wichtiger Aspekt ist daher die Vermehrung, die bei einer Algorithmischen
Beschreibung der Evolution mit betrachtet werden müsste. Um die Beschreibung zu
vereinfachen, kann man sich auf die Vermehrung des Informationsträgers beschränken, weil
die Variationsmechanismen wie Mutation und Crossover, die den Nachkommen vom
Elternindividuum unterscheiden, hier angesiedelt sind.
2.2 Vom Evolutionsmodell zu Evolutionären Algorithmen
Also müssten die kleinsten Bausteine, die die Evolution charakterisieren, also Selektion und
Mutation, für ein Minimalmodell ausreichen. Man kann also behaupten, dass jede
algorithmische Implementierung, die eine Variation durchführt und das bessere Individuum
überleben lässt, als eine Imitation der Evolution angesehen werden kann. Diese
Betrachtungsweise ist leider zu trivial, denn sie würde eine Menge anderer Verfahren
einschließen, die man nicht als Evolutions-Verfahren klassifizieren würde. Als Beispiel
betrachte man das Gradientenverfahren. Ein Schritt in die negative Gradientenrichtung kann
ja verschieden groß sein, das stellt auch das grundsätzliche Problem bei diesen Verfahren dar.
Das heißt ein Elternindividuum würde Nachkommen erzeugen, die in negativer
Gradientenrichtung liegen, aber vom Elter verschieden weit entfernt sind. Die Selektion
optimiert das Problem in dem der Nachkommen mit dem besten Funktionswert (auch Fitness
genant) überlebt. Wenn man nun noch die Nachkommen deterministisch wählt so erkennt
man, dass diese Strategie das konventionelle Gradientenverfahren beschreibt.
Natürlich kann man bei diesem Verfahren von einer übergeordneten Strategie sprechen.
Deshalb ist es sinnvoll den Begriff evolutionärer Algorithmus weiter zu spezifizieren. Die
wichtigste und wesentliche Eigenschaft eines Evolutionären Algorithmus ist die Zufälligkeit.
Ein EA sollte ein stochastisches Optimierungsverfahren sein. Denn der natürliche
Evolutionsprozess ist auch ein stochastisches Verfahren. Die Selektion und oder die Mutation
können zufällig sein. Alle drei Möglichkeiten, die stochastische Selektion (simulated
annealing), die stochastische Variation (Evolutionsstrategie) und die stochastische Selektion
und Variation (Genetische Algorithmen) können in Evolutionären Algorithmen vorkommen.
Aber auch hier kann man sagen, dass darunter alle randomisierten Verfahren (z.B.
Montecarlo- Verfahren) fallen. Aus diesem Grund sollte man die Frage was einen
Evolutionären Algorithmus kennzeichnet nicht damit beantworten, dass der Ansatz von der
Natur abstammt. Vielmehr sollte die Frage anders gestellt werden: „Was unterscheidet die
evolutionären Algorithmen von randomisierten Verfahren?“[1]
Ein Ansatz ist die Strategie wie Evolutionäre Algorithmen lokale Optima überwinden und
globale Optima finden, letztere allerdings nur zufällig.
4 / 18
Universität Paderborn
Wissensbasierte Systeme
2.3 Begriffe
Begriff
Chromosom:
Gen:
Allel:
Locus:
Phänotyp:
Genotyp:
Population:
Fitness:
Generation:
Reproduktion:
S
c
popsize
l
pt
pc
fit
p(c )
P(t)
P*(t)
Erklärung
String, Zeichen- oder Zahlenkette (variabler Länge)
Character, Feature, Zeichen, Variable
Wert eines Zeichens
Position eines Zeichens
Chromosom-Kodierte Problemlösung
Formale Kodierung einer Lösung. Unterschiedliche Genotypen
können den gleichen Phänotyp zur Folge haben.
Menge bzw. Familie (Bag) von Chromosomen
Güte einer durch ein Chromosom kodierten Lösung
Population zu einem Zeitpunkt
Erzeugen von Chromosomen aus einem oder mehreren
Chromosomen
Suchraum
Chromosom
Populationsgröße: Anzahl der Chromosomen pro Generation
Länge des Chromosoms
Wahrscheinlichkeit für Mutation eines Gens
Wahrscheinlichkeit für Crossover zweier Chromosomen
Zielfunktion, Evaluierungsfunktion, Bewertung, Fitness
Überlebenswahrscheinlichkeit, Auswahlwahrscheinlichkeit
Population zum Zeitpunkt t
Hilfspopulation für die Population P(t), auf die die genetischen
Operationen angewendet werden
z.B. Durchlauf von tmax Generationen; bis eine genügend gute
Lösung gefunden ist; bis keine Verbesserungen pro Generation
auftreten; bis die mittlere Verbesserung der Chromosomen in den
Abbruchkriterium letzten t last Generationen einen Wert unterschreiten
3 Mehrkriterienoptimierung
Ein Mehrkriterienoptimierungsproblem kann man durch das Vorkommen verschiedener
Zielfunktionen erkennen, die entweder minimiert oder maximiert werden sollen. Man kann
zusätzlich noch Nebenbedingungen formulieren, die von allen Lösungen erfüllt werden
müssen. Die Motivation zur Mehrkriterienoptimierung nehmen wir aus dem täglichen Leben.
Wir werden ständig mit solchen Problemen konfrontiert. Bei jedem Einkauf versucht man ein
möglichst hochwertiges Produkt zu einem möglichst niedrigen Preis zu erwerben. Es sollen
also zwei Ziele (Kriterien), die im Gegensatz zu einander stehen, verfolgt werden. Häufig
stehen sogar mehr als zwei Ziele in Konkurrenz. Zum Beispiel beim Kauf eines Hauses
wünscht man sich
• Ein großes Grundstück
• Einen niedrigen Preis
5 / 18
Universität Paderborn
•
•
•
Wissensbasierte Systeme
Möglichst viel Wohnraum
Eine ruhige Umgebung
Kurze Wege zur Schule, Kindergarten, Geschäfte, Bahnhof...
3.1 Definition Mehrkriterienoptimierungsproblem
minimize/maximize:
subject to:
f m ( x),
g j ( x) ≥ 0,
m = 1, 2, ..., M
j = 1, 2, ..., J
hk ( x) = 0,
( L)
i
y
k = 1, 2, ..., K
≤ yi ≤ y
(U )
i
,
i = 1, 2, ..., n
Die M Funktionen f m gilt es zu optimieren, wobei die Nebenbedingungen g j und hk erfüllt
sein müssen. Der Vektor x = ( y 1 , y2 ,..., yn ) beinhaltet die n-Variablen, die eine Lösung
beschreiben. Diese sind meistens nach oben und unten beschränkt. Alle Lösungen, die sowohl
die Nebenbedingungen als auch die Grenzen der Variablen erfüllen, bilden zusammen den
möglichen n-dimensionalen Lösungsraum X f , der wie folgt definiert ist:
T
X f := {x ∈ X : g j ( x) ≥ 0 ∧ hk ( x) = 0}
Jeder Lösung x wird über die M Zielfunktionen ein Vektor f ( x ) = z = ( z1 , z2 ,..., z M )
zugeordnet, der einen Punkt im M-dimensionalen Zielfunktionsraum beschreibt. Das ist auch
der Unterschied zum gewöhnlichen Optimierungsproblem für ein Ziel.
Die Aufgabe des Mehrkriterienoptimierungsprozesses besteht, darin Vektoren aus dem
Urbildvektorraum zu finden, die alle Nebenbedingungen erfüllen und deren Abbildung in dem
Lösungsraum optimale Werte liefert.
T
Im Allgemeinen gilt bei k Optimierungskriterien existieren auch k Funktionen fi : S → \ (i =
1, ..., k). Wobei fi die i Funktion ist und S der Suchraum. Im Prinzip gibt es zwei Ansätze
Mehrkriterienoptimierungsprobleme zu lösen.
1. Ansatz
Man kann die einzelnen Zielfunktionen fi zu einer geeigneten Gesamtzielfunktion f
zusammenfassen. Eine häufig verwendete Technik dafür ist die Bildung der Gewichteten
Summe über die Einzelkriterien
k
f ( s ) = ∑ wi f i ( s ).
i =1
6 / 18
Universität Paderborn
Wissensbasierte Systeme
Um das korrekte Zusammenwirken der einzelnen Kriterien sicherzustellen, müssen die
Vorzeichen der Gewichte korrekt gewählt werden. Als Beispiel soll die Gesamtzielfunktion f
maximiert werden, dann erhalten die Zielfunktionen fi die auch zu maximieren sind, ein
positives Gewicht wi > 0 . Analog erhalten die zu minimierenden Zielfunktionen fi negative
Gewichte wi < 0 . In dem Fall, dass die Gesamtzielfunktion minimiert werden soll, erhalten die
Gewichte genau die umgekehrten Vorzeichen.
Folglich kann man mit dem Absolutbetrag der Gewichte die Wichtigkeit der einzelnen
Kriterien verändern. Das bedeutet aber nicht zwangsläufig, dass ein großer Absolutbetrag
eines Gewichtes, auch einen großen Einfluss des Kriteriums auf die Optimierung hat. Um das
zu verdeutlichen muss man sich folgendes vorstellen. Wenn die Werte der Zielfunktion fi im
Vergleich zu den anderen Zielfunktionen in einem sehr kleinen Bereich schwanken, dann
spielt diese Funktion auch trotz eines großen Gewichtes nur eine kleine Rolle bei der
Optimierung. Daraus kann man nun schließen, dass neben der Wichtigkeit des Kriteriums
(das durch die Zielfunktion repräsentiert wird) auch die Schwankungsbreite der einzelnen
Zielfunktionen berücksichtigt werden muss.
2. Ansatz
Man verändert die Zielfunktionen nicht und betrachtet diese einzeln. In diesem Fall sucht man
nach so genanten pareto-optimalen Lösungen. Man nennt eine Lösung s0 ∈ S pareto-optimal
bzgl. der Zielfunktionen fi (i = 1, ..., k), wenn es keine Lösung s ∈ S gibt, die für alle
Zielfunktionen mindestens gleichgute Werte wie s0 und für mindestens eine Zielfunktion
sogar einen besseren Wert liefert. Eine Lösung s1 dominiert eine Lösung s2 , wenn s1 bei
keiner der Zielfunktionen einen schlechteren Wert erhält als s2 . Falls s1 die Lösung s2
dominiert und in mindestens einem Kriterium besser als s2 ist, so wird s2 von s1 echt
dominiert. Somit ist eine Lösung pareto-optimal genau, dann wenn sie von keiner anderen
Lösung echt dominiert wird.
Nach dem Bestimmen der pareto-optimalen Lösungen muss dann noch der Anwender
entscheiden, welche dieser Lösungen ausgewählt werden sollte.
3.2 Fitnessfunktionen für Mehrkriterienoptimierung
Die Fitnessfunktion ist ein wesentlicher Bestandteil zur Berechung der Überlebenswahrscheinlichkeit eines Chromosoms. Die Funktionswerte, die die Fitnessfunktion liefert,
sollten ausnahmslos positiv sein, sonst würden bei der Selektionswahrscheinlichkeit negative
Werte berechnet. Weil der Fitnesswert in unmittelbarem Zusammenhang mit der
Überlebenschance steht, kann man durch eine geeignete Skalierung der Fitnessfunktion auch
Probleme wie vorzeitige oder zu langsame Konvergenz zu verhindern. Zu diesem Zweck wird
die Fitnessfunktion mit populations- oder generationsabhängigen Exponenten versehen. Über
diese Exponenten kann die Fitness nach Belieben vergrößert oder verkleinert werden.
In dem Fall der Mehrkriterienoptimierung benutzt die Fitnessfunktion alle Zielfunktionen, die
die k einzelnen Kriterien beschreiben. Diese müssen so aufeinander abgestimmt sein, dass alle
hieraus resultierenden Lösungen auch alle möglichen Aspekte berücksichtigen. Das heißt eine
7 / 18
Universität Paderborn
Wissensbasierte Systeme
mittlere Bewertung bzgl. eines Kriteriums darf also keinen höheren Fitnesswert besitzen als
die gute Bewertung eines anderen. Also gilt:
k
fit (c) = ∑ α i fiti (c) mit
i =1
∀i ∈ {1,..., k}: fiti (c) : S → [0, ∞)
Es stehen viele verschiedene Varianten zur Auswahl einer Fitnessfunktion zur Verfügung:
•
Die Chromosomen werden jeweils vollständig von allen Fitnessfunktionen fiti
ausgewertet, jedoch nach unterschiedlichen Aspekten. Beispiel: Ein Traveling
Salesman Problem, bei dem nicht nur die insgesamt zurückgelegte Strecke minimiert
werden soll, sondern auch die Fahrtzeit, was aufgrund verschiedener Straßentypen zu
einer völlig anderen Bewertung führen kann.
•
Die Chromosomen können sich aus Teilketten zusammensetzen, die aus dem gleichen
Suchraum stammen, jedoch von unterschiedlichen Fitnessfunktionen ausgewertet
werden. Beispiel: Prozentuale Verteilung einer Anzahl herzustellender Gegenstände
auf k Maschinen, wobei das Chromosomen die Anteile jeder Maschine an der Arbeit
enthält. Die Fitnessfunktion kann beispielsweise unterschiedliche Rüst- und
Reparaturkosten berücksichtigen.
•
Die Chromosomen setzen sich aus Teilketten zusammen, die jeweils aus einem
speziellen Suchraum stammen und deren zugehörige Fitnessfunktion unabhängig
voneinander sind.
3.2.1 Definition Pareto-optimal
Gegeben seien r Gütekriterien in Form der totalen Ordnung ≤i , i = 1,..., r , auf dem
Suchraum S . Dann bedeutet die Schreibweise c1 ≤i c2 , dass c1 das Gütekriterium r mindestens
genauso gut wie c2 erfüllt. c1 ∈ S dominiert c2 ∈ S (in Zeichen c1 ≤ p c2 ), wenn gilt:
⇔ ∀i ∈ {1,..., r}: c1 ≤i c2 ∧ ∃i0 ∈ {1,..., r}: c1 < i0 c2
c1 ∈ S heißt pareto-optimal, wenn c1 von keinem c ∈ S dominiert wird.
3.2.2 Fitness für Geteilte Selektion
Bei der Mehrkriterienoptimierung existieren noch andere Ansätze für die Fitnessfunktion. Bei
dieser Vorgehensweise wird die Selektion auf die r Kriterien aufgeteilt, statt eine
popsize
Gesamtfitness bzgl. aller Kriterien zu betrachten. Es werden also
Chromosomen
r
nach fiti , (i = 1,..., r ) ausgewählt. Dieses Verfahren hat aber einen großen Nachteil, es
vernachlässigt Lösungen, die einen Kompromiss (Trade-Off) zwischen zwei verschiedenen
Kriterien beinhalten. Somit werden extreme Lösungen bevorzugt, die ein Kriterium besonders
8 / 18
Universität Paderborn
Wissensbasierte Systeme
gut optimieren. Lösungen, die alle Kriterien relativ gut, aber keines optimal erfüllen, erhalten
geringere Überlebenschancen.
3.2.3 Beispiel
Man betrachte den Suchraum S = R mit zwei Gütekriterien: G1 (t ) = t 2 , G2 (t ) = (t − 2) 2 .
Gesucht ist t ∈ R, so dass G1 (t ) und G2 (t ) möglichst klein sind. Desto weiter links und desto
weiter unten sich ein Punkt in der Funktion der Abbildung 1.0 befindet desto besser ist er.
Das geteilte Selektionsverfahren würde die Lösungen t = 0 und t = 2 bevorzugen, obwohl
alle Lösungen 0 < t < 2 auch pareto-optimale Lösungen sind, würden diese benachteiligt
werden.
Wichtig: Eine Fitnessfunktion der Form ∑ α i fiti liefert immer eine pareto-optimale Lösung.
Abbildung 1.0
3.2.4 Rangbasierte Fitness
Diese Verfahren basiert auf einer Rangordnung. Zu diesem Zweck wird die Population P (t )
mit Hilfe der totalen Ordnung sortiert. Alle Chromosomen, die nicht von anderen
Chromosomen dominiert werden, erhalten den Rang 1. Anschließend werden alle
Chromosomen mit dem Rang 1 in die Menge P1 verschoben, also P '(t ) = P(t ) − P1. Jetzt wird
das Verfahren wieder auf die Menge P '(t ) angewendet, allerdings erhalten alle nicht
dominierten Chromosomen den Rang 2 zugewiesen. Diese werden dann in die Menge P2
verschoben. Das wird solange wiederholt bis alle Chromosomen einen Rang erhalten haben.
3.2.5 Fitnessfunktion mit Zusatzbedingungen
In der Regel existieren zu dem untersuchten Problem einige Nebenbedingungen. Diese sollten
in zwei Gruppen aufgeteilt werden, die Randbedingungen (diese müssen nur auf Erfülltheit
überprüft werden) und die Nebenbedingungen (die in Form von Gleichungen oder
Ungleichungen vorliegen). In jedem Fall bedeuten solche zusätzlichen Bedingungen, dass der
9 / 18
Universität Paderborn
Wissensbasierte Systeme
Lösungsraum verbotene Bereiche (so genante Sperrgebiete) enthält. Eine korrekte Lösung
darf nicht in solch einen verbotenen Bereich abbilden. Es gilt also S = S Korrekt ∪ SVerboten .
Durch die Abbildung 1.1 soll gezeigt werden, dass es manchmal sehr schwierig sein kann eine
Population vom Startpunkt aus langsam in die viel versprechenden Regionen driften zu lassen,
da diese unter Umständen nicht an den Barrieren vorbeikommen. Das gilt besonders bei
Verfahren bei denen die Anzahl der Mutationen pro Chromosom auf Eins beschränkt ist. Der
Grund hierfür ist, dass diese Lösungsregionen in der Regel durch die Werte mehrerer Gene
getrennt sind. Die Sperrgebiete erfordern auch eine zusätzliche Schwierigkeit beim Kodieren
weil man nicht zulässige Lösungen vermeiden muss.
Es gibt verschiedene Möglichkeiten unzulässige Lösungen zu verhindern. Eine Möglichkeit
ist die Verwendung von Reparaturmechanismen. Eine andere Möglichkeit ist, die verbotenen
Bereiche zu benutzen unter Verwendung eines Strafwertes, der so genanten Penalty. Der
Penalty-Wert kann statisch (unabhängig vom Fehler) oder variabel (abhängig vom Fehler)
sein.
Bei der statischen Penalty Zuweisung ist ein Nachteil, dass der Übergang zwischen richtigen
und falschen Lösungen nicht fließend ist, umgekehrt kann man so nicht in die Situation
kommen, in der fehlerhafte Lösungen bessere Bewertungen erhalten als korrekte Lösungen.
Was häufig vorkommt wenn das Optimum dicht an einem Sperrgebiet liegt.
Auf jeden Fall muss zu beiden Möglichkeiten eine Straffunktion pen : S → \ +0 definiert
werden. Die Notation pen(c) beschreibt den Penalty-Wert des Chromosoms c. Weiter sollte
man pen so wählen, dass folgendes gilt:
pen(c) = 0 ⇔ c ist eine korrekte Lösung, d.h. es werden alle Bedingungen erfüllt.
Abbildung 1.1
3.2.5.1 Definition Lösungsansatz bei Randbedingungen
Im Fall der Optimierung mit Randbedingungen hat die Fitnessfunktion fit (c) die folgende
Form:
fit (c) = fit * (c) + w(t ) ⋅ max{0, pen(c)}
10 / 18
Universität Paderborn
Wissensbasierte Systeme
wobei w(t ) eine populationsabhängige Gewichtsfunktion ist.
Bei dieser Fitnessfunktion besteht das Problem darin das richtige Verhältnis w(t ) zwischen
pen(c) und der ursprünglichen Fitnessfunktion zu finden. Die Aufgabe der Penalty-Funktion
besteht darin das Durchforschen nicht erlaubter Bereiche zu ermöglichen, umgekehrt muss sie
aber sicherstellen, dass Lösungen, die in diesen Bereich liegen, nicht bevorzugt werden.
Wenn w(t ) zu groß gewählt wird dann hat fit (c) kaum einen Einfluss auf die Lösung, es
wird stattdessen eine relativ schlechte aber korrekte Lösung erzeugt. Wird w(t ) zu klein
gewählt dann werden Verletzungen der Nebenbedingungen kaum bestraft. Somit wird eine
gute aber nicht zulässige Lösung erzeugt. In der Praxis tritt häufig das Problem auf das zwar
w(t ) groß genug gewählt wird die Startpopulation aber nur wenige oder keine unzulässigen
Lösungen beinhaltet. Aus diesem Grund setzen sich dann die schlechten aber korrekten
Lösungen gegenüber den unzulässigen Lösungen durch, das Ergebnis ist vorzeitige
Konvergenz.
Geschickter ist es w(t ) als eine Zeit oder populationsabhängige monoton steigende Funktion
zu wählen.
t
Ein Ansatz ist w(t ) = w ⋅ , mit w Konstant und T ist die maximale Anzahl von Populationen.
T
3.2.5.2 Definition Lösungsansatz bei Nebenbedingungen
Es seien Nebenbedingungen in Form von Ungleichungen gi ≤ 0 (i = 1,..., q ) und Gleichungen
h j = 0 ( j = q + 1,..., m) gegeben. Außerdem sei
max{0, g j (c)}
j≤q
∀j ∈ {1,..., m}: f j := 
falls
h j (c )
j>q

Dann lässt sich die Fitness wie folgt definieren:
falls c eine korrekte Lösung ist

fit * (c)
fit (c) =  *
sonst.
 fit (c) + pen(c)
Dabei ist pen eine Straffunktion zur Berücksichtigung der Nebenbedingungen, die von den
Werten fi abhängt.
Dieser Ansatz unterscheidet sich von den Randbedingungen dadurch, dass sich die Werte der
Funktionen problemlos und direkt für die Penalty-Funktion verwenden lassen. Außerdem
erübrigt sich das Sicherstellen der Verhältnismäßigkeit zur eigentlich zu optimierenden
Funktion.
3.3 Selektion
Die Fitness und die Selektion entscheiden über die Qualität der Lösung. Sie steuern den
Verlauf der Konvergenz innerhalb der Population. Aus diesem Grund wurde eine Vielzahl
11 / 18
Universität Paderborn
Wissensbasierte Systeme
von Selektionsverfahren entwickelt, in der Praxis haben sich aber nur wenige dieser
Verfahren durchsetzen können. In dem folgenden Abschnitt werden die gängigen Verfahren
anhand der von Bäck und Hoffmeister entwickelten Klassifizierung vorgestellt.
Der Einfachheit halber wird im Folgenden davon ausgegangen, dass die Chromosomen bzgl.
ihrer Fitness in absteigender sortierter Form vorliegen. Es gibt eine Vielzahl von
Selektionsverfahren, daher kann hier nur eine Auswahl der bekanntesten Verfahren vorgestellt
werden.
Man kann die Selektionswahrscheinlichkeiten der Chromosomen in zwei Gruppen einteilen,
die statische und die dynamische Selektion. Eine Selektion nennt man dann statisch, wenn die
Selektionswahrscheinlichkeiten statt von dem Fitnesswert vom Rang abhängen.
3.3.1 Definition Statische Selektion
Eine Selektionsfunktion bezeichnet man als statisch, wenn gilt:
∀i ∈ {1,..., popsize}∀t ≥ 0 : pt (ci ) = K i mit K i konstant
Bei einem dynamischen Selektionsverfahren variiert die Selektionswahrscheinlichkeit für ein
Chromosom.
3.3.2 Definition Dynamische Selektion
Eine Selektionsfunktion wird als dynamisch bezeichnet, wenn gilt:
∃i ∈ {1,..., popsize}: ¬(∀t ≥ 0 : pt (ci ) = K i ) mit K i konstant
3.3.3 Roulettrad Selektion
Die Selektionswahrscheinlichkeit ist durch p (co ) =
fit (c0 )
definiert. Die Auswahl der
∑ c∈P (t ) fit (c)
Folgepopulation P (t ) aus der Vorgängerpopulation P (t − 1) wird wie folgt durchgeführt:
•
Berechne eine Zufallszahl r aus dem Intervall r ∈ [0,1].
•
Wähle ci ∈ P(t − 1), i ∈ {1,..., popsize} genau dann, wenn gilt:
j <i
j ≤i
j =0
j =0
∑ p (c j ) ≤ r < ∑ p ( c j )
Dann wähle zufällig popsize-mal ein Chromosom aus P(t − 1) (mit Zurücklegen) mit der
Wahrscheinlichkeit p (c)1 für c ∈ P (t − 1) aus und speichere sie in der Hilfsmenge P* (t ).
In der Abbildung 1.2 wird dies visualisiert. Die Größen, der zu den fünf Chromosomen
gehörenden Bereiche des Rades, sind proportional zu ihrer Selektionswahrscheinlichkeit.
12 / 18
Universität Paderborn
Wissensbasierte Systeme
Abbildung 1.2
Chromosom Eval(c )
1
30
2
150
3
15
4
75
5
30
fit(c )
0.1
0.5
0.05
0.25
0.1
3.3.4 Wettkampf Selektion
Bei der Wettkampf Selektion (auch q-Wettkampf Selektion genant) werden zufällig q
Chromosomen aus der Population gewählt. Das Chromosom mit der besten Fitness wird in
die neue Generation übernommen. Das Verfahren wird popsize-mal ausgeführt, wobei vorher
ausgewählte Chromosomen zurück in die Ursprungspopulation gelegt werden. Der Index
entspricht dem Platz in der fitnessbasierten Reihenfolge. Eine mögliche Formel für die
Selektionswahrscheinlichkeit ist:
pi =
1
⋅ (( popsize − i + 1) q − ( popsize − i ) q )
popsizeq
3.3.5 Deterministisches Crowding
Bei diesem Verfahren versucht man möglichst viele Lösungen aus unterschiedlichen
Bereichen des Suchraums zu erhalten. Der Unterschied zum kanonischen Genetischen
Algorithmus liegt darin, dass insgesamt popsize Teilnehmer für die Anwendung des
Crossover Operators ausgewählt werden (mit zurücklegen). Diese werden dann in zweier
Gruppen gefasst und mit der Wahrscheinlichkeit 1 gekreuzt. Anschließend werden auf die neu
erzeugten Chromosomen noch weitere Evolutionäre Operatoren angewendet. Diese
Chromosomen werden dann mit den Elternchromosomen verglichen und jedes wird dem Elter
zugeordnet dem es am ähnlichsten ist. Die Zuweisung erfolgt phänotypisch und das Paar mit
13 / 18
Universität Paderborn
Wissensbasierte Systeme
der besten Fitness überlebt. Sonst ist dieser Algorithmus identisch zum kanonisch
Genetischen Algorithmus.
Mit diesem Vorgehen versucht man zu verhindern, dass einige wenige Lösungen die
Population überfluten. Dadurch, dass im Gegensatz zur Fitnessteilung die Bewertung
unverändert bleibt und zumindest immer ein Vertreter jeder Lösungsklasse übernommen wird,
wird eine zügige Konvergenz nicht verhindert. Damit man diese Selektion verwenden kann,
muss man vorher ein Ähnlichkeitsmaß definieren. Das könnte im Fall der Optimierung reeller
Funktionen beispielsweise die Chromosomen sein, die auf der y-Achse relativ nah zusammen
liegen und deren Fitnesswerte sich nur gering unterscheiden.
3.4 Rekombination und Reparaturmechanismen
Die Rekombinationsoperatoren (Crossover-Operatoren) werden häufig in drei Gruppen
klassifiziert:
•
Allgemeine Crossover-Operatoren
•
Crossover-Operatoren für Reihenfolgeprobleme
•
Inversion
Der wesentliche Unterschied der ersten zwei Gruppen besteht darin, dass bei
Reihenfolgeproblemen die Chromosomen aus einer Abfolge von Nummern untersuchter
Objekte bestehen. Das One-Point-Crossover gehört zur ersten Gruppe, es ist wohl das
Verfahren,
dass
am
meisten
untersucht
wurde.
Leider
haben
die
Austauschwahrscheinlichkeiten im One-Point-Crossover Abhängigkeiten. Wegen der
Normalverteilung der Austauschwahrscheinlichkeiten des Crossoverpunktes ist sie für das
erste Allel 0 und für das letzte 1. Dieser Effekt ist meistens nicht erwünscht, da gute Schemata
sich zumindest teilweise auf hintere Allele erstrecken, so schneller zerstört werden als vordere
Bereiche. Man kann generell sagen, dass die Wahrscheinlichkeit einer Zerstörung bei langen
Chromosomen größer ist als bei kurzen. Ein weiteres Problem besteht darin, dass nur wenige
neue Chromosomen aus dem Elter generiert werden. Es werden nur neue Varianten von
Teilketten erzeugt.
Der Inversion ist ein von der Natur nachgebildetes Verfahren. Er vertauscht zwischen zwei
zufällig gewählten Punkten die Gene eines Chromosoms. In Anbetracht der Tatsache, dass ein
evolutionärer Algorithmus versucht mit wachsender Generationenzahl gute Lösungen für
Probleme zu erzielen, scheint es unsinnig, diese sehr zeitaufwändig errechneten Lösungen
durch die Methode der Inversion zu zerstören. Daher muss hier erwähnt werden, dass dieses
Verfahren von J. Holland für Stellenunabhängige Kodierungen entwickelt wurde, damit die
Gene, die zu einer gute Lösung führen, hintereinander in einem Chromosomen platziert
werden. Bei den beiden Verfahren One- und Two-Point-Crossover nimmt die
Zerstörungswahrscheinlichkeit mit der Länge des Schemas zu.
Dieses Problem wird am folgenden Beispiel deutlich, bei dem One-Point-Crossover liegt der
Building-Block 00*...*00 vor. Damit dieser eine hohe Fitness, mit geringer Ordnung und
kleiner Länge erhält, müsste er anders kodiert werden. Die Kodierung sollte von
14 / 18
Universität Paderborn
Wissensbasierte Systeme
c1c2 ...cl −1cl auf c1c2 cl −1cl − 2 ...c3 , dann würde die Kodierungsfolge 00*...*00 in die Folge
0000*...* übertragen.
Bei der Verwendung des unten definierten Inversionsverfahrens, mit den beiden Schnittstellen
3 und l, würden die Gene entsprechend sortiert werden. Damit die Bedeutung des
Chromosomen nicht zerstört wird, sollte zu jedem Gen auch seine Platznummer ν gespeichert
werden (1, c1 )(2, c2 )...(l , cl ). Beispiel Inversionsverfahren:
Sei c ein Chromosom mit l Genen. Bestimme zufällig zwei Stellen i, j mit 1 ≤ i < j ≤ l. Ordne
die Gene in dem Chromosom nun so um, dass die Reihenfolge der Gene zwischen i und
j umgedreht wird.
Sei i, j ∈ {1,..., l}, i < j :
(ν 1 , cν1 )...(ν i −1 , cν i−1 ) | (ν i , cν i )...(ν j , cν j ) | (ν j +1 , cν j+1 )...(ν l , cν l )
(ν 1 , cν1 )...(ν i −1 , cν i−1 ) | (ν j , cν j )...(ν i , cν i ) | (ν j +1 , cν j+1 )...(ν l , cν l )
3.5 Mutation
Die Aufgabe der Mutation besteht darin Informationen, die in den Genen gespeichert sind,
zufällig zu variieren. Die Variation sollte mit einer geringen Wahrscheinlichkeit angewendet
werden, um das Auslöschen von wichtigen Allelen zu vermeiden. Eine vernünftige und in der
1
Theorie gut untersuchte Mutationswahrscheinlichkeit ist
, n ist die Anzahl der Gene
n
innerhalb eines Chromosoms. Es gibt zwei Möglichkeiten wie die Mutation angewendet
werden kann.
•
Verwenden der Mutation als Hill-Climbing-Variante. Durch das Erzeugen zielgerichteter kleiner Veränderungen innerhalb eines Chromosoms kann man auf das
lokale Optimum zusteuern.
•
Verwendung der Mutation um weitläufige Veränderungen in der Population
durchzuführen. Dadurch können lokale Optima überwunden werden um das globale
Optimum zu finden.
Bei der Hill-Climbing-Variante sollte man vorher einen Wert für die Nachbarschaftsbeziehung definieren. Sonst ist es nahezu unmöglich ein vorhandenes Allel in der
Nachbarschaft zu verändern.
Leider müssen die Mutationsoperatoren wie auch die Selektionsoperatoren an das Problem
angepasst werden. Durch die Mutationsoperatoren können Bereiche im Lösungsraum
gefunden werden, in denen eine Lösungssuche viel versprechend erscheint.
Bei der Verwendung von Chromosomen aus \ kann man die oben vorgestellten
Mutationsverfahren nicht benutzen. Man muss eine andere Mutationsform wählen, die Non
Uniform Mutation, diese ist von der Generation der Population abhängig.
15 / 18
Universität Paderborn
Wissensbasierte Systeme
3.5.1 Definition Non uniform Mutation
Es sei c = (a1 ,..., al ) ein Chromosom und ak gewählt für die Mutation und [uk ,..., ok ] der
Definitionsbereich von ak . ∆ ( x, y ) sei eine mit x monoton fallende Funktion mit
Wertebereich [0,..., y ] . Dann geht ak unter dem Mutationsoperator über nach a 'k mit:
z=0
a + ∆ (t , ok − ak )
falls
a 'k =  k
z =1
ak − ∆ (t , ak − uk )
wobei es sich bei z um eine binäre Zufallszahl handelt.
Ein weiteres Verfahren um variable Mutationsraten zu erhalten basiert auf dem Locus eines
Gens. Damit lässt sich eine geringe Mutationswahrscheinlichkeit für die Gene erzeugen,
deren Änderungen eine große Auswirkung auf die Fitness eines Lösungschromosoms haben
und eine große Mutationswahrscheinlichkeit für die Gene, die eine geringe Auswirkung auf
selbige haben. Die Motivation für diese Funktion verdeutlichen wir am folgenden Beispiel:
Aufgabe: Maximiere ϕ :[0,1] → [0,1] (stetig).
Kodierung: Chromosom mit 20 binären Genen.
20
(a1 ,..., a20 ) ≈ x = ∑ 2− i ai
i =1
Um so größer der Exponent ist um so geringer ist die Wirkung auf x durch eine Veränderung
der zugehörigen Variablen ai . Folglich wird die Mutation von indexabhängig definiert.
Mutation: pm (i ) abhängig vom Locus i mit
pm(20) > pm(19) > ... > pm(2) > pm(1)
Somit sollte als Nebenbedingung gelten, dass die Mutationswahrscheinlichkeit pm(i ) für das i te Gen kleiner ist als die des vorherigen und größer als die des folgenden. Dadurch versucht
man gute Lösungen durch Mutation nicht kaputt zu machen. Andererseits ist die
Mutationswahrscheinlichkeit für die niederwertigen Bits groß genug, um eine Mutation auf
diese anzuwenden.
Zu beachten ist, dass durch die Mutation unzulässige Lösungen entstehen können, diese
müssen dann durch Reparaturverfahren, die im Kapitel 3.3 vorgestellt wurden, wieder
korrigiert werden.
16 / 18
Universität Paderborn
Wissensbasierte Systeme
4 Zusammenfassung
Das Konzept der Evolutionären Algorithmen ist sehr leistungsfähig und liefert sehr gute
Lösungen zu Mehrkriterienoptimierungsproblemen. Allerdings ist es von großem Vorteil,
wenn der Anwender Kenntnisse über die Struktur des Suchraums hat, das ermöglicht ihm ein
geeignetes Konzept auszuwählen und die Parameter sinnvoll zu wählen.
Falls der Anwender aber keine Kenntnisse über das Problem besitzt, haben sich in der Praxis
die Algorithmen, die pareto-optimale Lösungen berechnen, als sehr robust und zuverlässig
herausgestellt. Leider muss nach Anwendung dieses Verfahrens der Anwender eine von
vielen Lösungen auswählen, und zwar die Lösung die sein Problem am besten optimiert.
Man kann anhand der Vielfalt der im Internet veröffentlichten Evolutionären Algorithmen
vermuten dass noch einige neue Entwicklungen auf diesem Gebiet zu erwarten sind.
17 / 18
Universität Paderborn
Wissensbasierte Systeme
5 Referenzen
[1] I. Gerdes, F. Klawonn, R. Kruse. Evolutionäre Algorithmen. Vieweg, Wiesbaden, 2004.
[2] S. Blum. Implementation und Anwendung von Mehrzieloptimierung. Diplomarbeit,
Bauhaus Universität Weimar, 2004.
[3] N. Srinivas, K. Deb. Multiobjective Optimization Using Nondominanted Sorting in
Genetic Algorithms. Department of Mechanical Engineering, Indian Institute of Technology
Kanpur, Kanpur, 2004.
[4] K. Deb, A. Pratrap, S. Agarwal, T. Meyarivan. A Fast and Elitist Multi-Objective Genetic
Algorithm: NSGA-II. Kanpur Genetic Algorithms Laboratory (KanGAL), Indian Institute of
Technology Kanpur, Kanpur, 2004.
18 / 18
Herunterladen