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