Genetische Algorithmen zur Lösung kombinatorischer Optimierungsprobleme aus dem Bereich Produktion und Logistik S. Häckel, S. Lemke TU Chemnitz Fakultät für Wirtschaftswissenschaften Professur für Produktionswirtschaft und Industriebetriebslehre Entscheidungsunterstützungssysteme Nur für den internen Gebrauch an der TUC bestimmt! 18. Dezember 2012, Chemnitz Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 1
Gliederung 1. Teil 1: Problem des Handlungsreisenden 2. Teil 2: Problem der Maschinenbelegungsplanung 3. Kontakt Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 2
Gliederung 1. Teil 1: Problem des Handlungsreisenden 2. Teil 2: Problem der Maschinenbelegungsplanung 3. Kontakt Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 3
Einführung Problem des Handlungsreisenden Rundreiseproblem, engl. Travelling Salesman Problem (TSP) Ein Handlungsreisender hat die Aufgabe, eine Menge von Kunden zu besuchen. Jeder Kunde soll genau einmal besucht werden Ziel: Finde eine Besuchsreihenfolge der Kunden, bei der eine möglichst kurze Gesamtstrecke zurückgelegt wird. Alternativ: Rundreise mit möglichst kurzer Dauer Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 4
Problemstellung Gegeben: Gewichteter Graph G = (V, E) V ist eine Menge von n Knoten V E ist eine Menge von Kanten zwischen den Knoten e j E Jeder Kante ist ein Gewicht c j (Entfernung, Dauer, Kosten) zugeordnet B 2 2 A 5 C 1 4 5 6 5 5 7 E 4 D Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 5
Problemstellung Gesucht: Kürzeste Rundreise Jeder Knoten muss genau einmal besucht werden. Startknoten der Rundreise ist beliebig Bewertung: Aufsummierte Kantengewichte c j aller besuchten Kanten B 2 2 A 5 C 1 4 5 6 5 5 7 E 1+2+2+7+4=16 4 D Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 6
Beispiel: Bohrungen auf Leiterplatten Es wird eine Vielzahl von Bohrungen auf einer Leiterplatte ausgeführt. Der Bohrer fährt sämtliche Positionen nacheinander an und führt Bohrung aus. Anschließend kehrt der Bohrer zur Ausgangslage zurück. Problemstellung: Anfahrreihenfolge der festgelegten Bohrpunkte Ziel: Kürzeste Gesamtzeit über alle Bohrungen Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 7
Exakte Lösungsverfahren: Brute-Force-Algorithmus Optimierungsverfahren für kombinatorische Problemstellungen Exakte Lösung Heuristische Lösung + - Exakte Verfahren Optimale Lösung Zeitdauer prohibitiv groß Metaheuristiken + Angemessene Zeitdauer + Hohe Lösungsqualität Problemspez. Heuristiken + Sehr kurze Antwortzeiten - Lösungsqualität Beispiele Vollständige Enumeration (z.b. Brute-Force-Alg.) Begrenzte Enumeration (z.b. Branch & Bound) Dynamic Programming Beispiele Lokale Suchverfahren (z.b. Threshold Accepting) Evolutionäre Algorithmen (z.b. Genetische Algorithmen) Schwarmintelligenz (z.b. Ameisenalgorithmen) Beispiele Eröffnungsverfahren (z.b. Prioritätsregeln) Verbesserungsverfahren (z.b. Hillclimber) Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 8
Exakte Lösungsverfahren: Brute-Force-Algorithmus Brute Force brute force, dt. rohe Gewalt Durchführen einer erschöpfenden Suche durch vollständige Enumeration Andere exakte Verfahren sind teilweise deutlich schneller Aber: Verfahren beschreibt die Worst-Case-Laufzeit eines Algorithmus für ein Problem Vorgehen Generiere vollständig alle möglichen Lösungen des Problems Bewerte alle generierten Lösungen mit Hilfe der Zielfunktion Wähle eine optimale Lösung aus (mit dem besten Zielfunktionswert) Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 9
Brute-Force am Beispiel TSP: Vollständige Enumeration Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 10 A E B C D A E B C D A E B C D A E B C D A E B C D A E B C D A E B C D A E B C D A E B C D A E B C D A E B C D A E B C D 16 18 22 23 19 21 17 25 22 19 20 20
Brute-Force am Beispiel TSP: Vollständige Enumeration 2 2 B A 5 C 1 4 5 6 5 5 7 E 1+2+2+7+4=16 4 D Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 10
Komplexität von Rundreiseproblemen Fragestellung: Wie viele Lösungen besitzt ein Rundreiseproblem mit n Städten? Dem Handlungsreisenden stehen in jedem Schritt noch die Knoten zur Auswahl, die er noch nicht besucht hat. Jede Rundreise kann über n mögliche Startpunkte beginnen Asymmetrische Probleme: (n 1)! mögliche Rundreisen Symmetrische Probleme: Nur (n 1)! 2 Lösungen (Reiserichtung irrelevant) Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 11
Komplexität von Rundreiseproblemen Fragestellung: Wie viele Lösungen besitzt ein Rundreiseproblem mit n Städten? Dem Handlungsreisenden stehen in jedem Schritt noch die Knoten zur Auswahl, die er noch nicht besucht hat. Jede Rundreise kann über n mögliche Startpunkte beginnen Asymmetrische Probleme: (n 1)! mögliche Rundreisen Symmetrische Probleme: Nur (n 1)! 2 Lösungen (Reiserichtung irrelevant) Symmetrisches Beispielproblem mit 5 Knoten Anzahl der Lösungen: (5 1)! 2, d.h. 4 3 2 2 = 12 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 11
Komplexität von Rundreiseproblemen Fragestellung: Wie viele Lösungen besitzt ein Rundreiseproblem mit n Städten? Dem Handlungsreisenden stehen in jedem Schritt noch die Knoten zur Auswahl, die er noch nicht besucht hat. Jede Rundreise kann über n mögliche Startpunkte beginnen Asymmetrische Probleme: (n 1)! mögliche Rundreisen Symmetrische Probleme: Nur (n 1)! 2 Lösungen (Reiserichtung irrelevant) Symmetrisches Beispielproblem mit 5 Knoten Anzahl der Lösungen: (5 1)! 2, d.h. 4 3 2 2 = 12 Beispielproblem mit 120 Knoten Anzahl der Lösungen: (120 1)! 2, d.h. 119 118 117... 2 2, 79 10 196 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 11
Demo Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 12
Heuristische Lösungsverfahren: Eröffnungsverfahren Optimierungsverfahren für kombinatorische Problemstellungen Exakte Lösung Heuristische Lösung + - Exakte Verfahren Optimale Lösung Zeitdauer prohibitiv groß Metaheuristiken + Angemessene Zeitdauer + Hohe Lösungsqualität Problemspez. Heuristiken + Sehr kurze Antwortzeiten - Lösungsqualität Beispiele Vollständige Enumeration (z.b. Brute-Force-Alg.) Begrenzte Enumeration (z.b. Branch & Bound) Dynamic Programming Beispiele Lokale Suchverfahren (z.b. Threshold Accepting) Evolutionäre Algorithmen (z.b. Genetische Algorithmen) Schwarmintelligenz (z.b. Ameisenalgorithmen) Beispiele Eröffnungsverfahren (z.b. Prioritätsregeln) Verbesserungsverfahren (z.b. Hillclimber) Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 13
Eröffnungsverfahren: Greedy-Algorithmus Greedy-Algorithmus greedy, dt. gierig, habsüchtig, verfressen Algorithmen, die auf Basis ausschließlich lokaler Entscheidungen sukzessive eine Lösung konstruieren. Vorteil: sehr schnell Problem: Lösungsqualität, da das Vorgehen myopisch (kurzsichtig) ist Beispiel: Heuristik des besten Nachfolgers Vorgehen 1. Wähle einen zufälligen oder den vorgegebenen Startknoten als aktuellen Knoten 2. Wähle immer denjenigen noch nicht besuchten Knoten aus, dessen Kante vom aktuellen Knoten aus das geringste Gewicht hat. Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 14
Eröffnungsverfahren: Greedy-Algorithmus am Beispiel 2 2 B A 5 C 1 4 5 6 5 5 7 E 4 D Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 15
Eröffnungsverfahren: Greedy-Algorithmus am Beispiel 2 2 B A 5 C 1 4 5 6 5 5 7 E 4 D Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 15
Eröffnungsverfahren: Greedy-Algorithmus am Beispiel 2 2 B A 5 C 1 4 5 6 5 5 7 E 4 D Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 15
Eröffnungsverfahren: Greedy-Algorithmus am Beispiel 2 2 B A 5 C 1 4 5 6 5 5 7 E 4 D Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 15
Eröffnungsverfahren: Greedy-Algorithmus am Beispiel B 2 2 A 5 C 1 4 5 6 5 5 7 E 4 D Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 15
Eröffnungsverfahren: Greedy-Algorithmus am Beispiel B 2 2 A 5 C 1 4 5 6 5 5 7 E 4 Gesamtstrecke:1+4+5+2+5=17 D Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 15
Demo Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 16
Heuristische Lösungsverfahren: Metaheuristiken Optimierungsverfahren für kombinatorische Problemstellungen Exakte Lösung Heuristische Lösung + - Exakte Verfahren Optimale Lösung Zeitdauer prohibitiv groß Metaheuristiken + Angemessene Zeitdauer + Hohe Lösungsqualität Problemspez. Heuristiken + Sehr kurze Antwortzeiten - Lösungsqualität Beispiele Vollständige Enumeration (z.b. Brute-Force-Alg.) Begrenzte Enumeration (z.b. Branch & Bound) Dynamic Programming Beispiele Lokale Suchverfahren (z.b. Threshold Accepting) Evolutionäre Algorithmen (z.b. Genetische Algorithmen) Schwarmintelligenz (z.b. Ameisenalgorithmen) Beispiele Eröffnungsverfahren (z.b. Prioritätsregeln) Verbesserungsverfahren (z.b. Hillclimber) Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 17
Grundlagen zu Genetischen Algorithmen Genetische Algorithmen (GA) GA sind zufallsbasierte heuristische Optimierungsverfahren GA adaptieren die Ideen der Evolutionstheorie Grundprinzipien: Variation und Selektion Evolutionstheorie: Variation und Selektion Die Natur produziert einen potentiellen Überschuss an Lebewesen, die Größe der Population bleibt aber nahezu konstant. Individuen sind nicht identisch, es findet eine Variation statt. survival of the fittest: Besser an die Umwelt angepasste Individuen werden bevorzugt für die Genweitergabe selektiert. Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 18
Genetische Algorithmen - Grundbegriffe Biologischer Begriff Individuum Chromosom Population Fitness Eltern Kinder Genetischer Algorithmus in geeigneter Weise repräsentierte Lösungsmöglichkeit des Problems (z.b. Rundreise) meist identisch mit dem Begriff Individuum Menge von Individuen Lösungsqualität einer Lösung (Individuum) bezüglich der Zielkriterien die zur Reproduktion ausgewählten Individuen (mittels Selektion abhängig von der Fitness) die aus Eltern generierten Individuen (mittels Rekombination und Mutation) Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 19
Problemrepräsentation in Genetischen Algorithmen Jedes Individuum ist eine Lösung des Problems und besitzt zwei Repräsentationsformen: Genotyp: Repräsentation des Erbgutes in einer Kodierung Phänotyp: Tatsächliche Ausprägung der Lösung (z.b. Rundreise) Suchraum des GA Lösungsraum des Problems Eindeutige Abbildung Genetische Repräsentation als Genotyp (Chromosom) Phänotyp-Repräsentation (z.b. Tourenplanungsproblem) Individuum Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 20
Problemrepräsentation in Genetischen Algorithmen Dekodierung Kodierte Lösung Genetische Repräsentation als Genotyp (Chromosom) Individuum Dekodierte Lösung Phänotyp-Repräsentation (z.b. Tourenplanungsproblem) Genetische Variation mit Crossover und Mutation Aufgabe: Durchmustererung des Suchraums und Finden neuer Lösungen Fitnessevaluierung mit der Fitnessfunktion Aufgabe: Bewertung der gefundenen Lösungen im Lösungsraum Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 21
Problemrepräsentation in Genetischen Algorithmen Dekodierung Kodierte Lösung Dekodierte Lösung Genetische Repräsentation als Genotyp (Chromosom) Individuum Phänotyp-Repräsentation (z.b. Tourenplanungsproblem) Genetische Variation mit Crossover und Mutation Aufgabe: Durchmustererung des Suchraums und Finden neuer Lösungen Fitnessevaluierung mit der Fitnessfunktion Aufgabe: Bewertung der gefundenen Lösungen im Lösungsraum Fitnessevaluierung Die Güte der Lösung bestimmt die Fitness des Individuums Fitness beeinflusst maßgeblich den Erfolg des Individuums, die eigenen Gene in der Population zu verbreiten. Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 21
Kodierung mit Permutationschromosomen Permutationschromosom Gen wird durch ein eindeutiges Symbol beschrieben Gene werden in einer Sequenz angeordnet Genreihenfolge bzw. Genpositionen beschreiben die Genzustände Permutationschromosom Positionen 1 2 3 4 5 6 7 8 9 Gensequenz G1 G3 G2 G6 G4 G7 G8 G5 G9 Gen G2 mit dem Zustand Position 3 nach den Genen G1 und G3 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 22
Kodierung im Rundreiseproblem Genetische Repräsentation als Permutationschromosom Phänotypische Repräsentation als tatsächliche Rundreise Positionen 1 2 3 4 5 B 2 2 Gensequenz A C B D E A 5 C Fitnessevaluierung Zielfunktion vs. Fitness Zielfunktionswert (Minimierung) 1+4+5+2+5 = 17 Fitnesswert ist reziprok (Maximierung) 1 / ZF = 1 / 17 1 E 4 5 4 6 5 5 D 7 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 23
Grundablauf des Genetischen Algorithmus Crossover Mischen des Erbgutes Mutation Zufällige Variation des Erbgutes Fitnessevaluierung Dekodierung und Fitnessberechn. Gesamtstrecke Selektion von Eltern fitnessabhängig und stochastisch Genetischer Algorithmus als iterativer Prozess Ersetzung von Individuen in der Population X Population mit Individuen Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 24
Grundablauf des Genetischen Algorithmus Crossover Mischen des Erbgutes Mutation Zufällige Variation des Erbgutes Fitnessevaluierung Dekodierung und Fitnessberechn. Gesamtstrecke Selektion von Eltern fitnessabhängig und stochastisch Genetischer Algorithmus als iterativer Prozess Ersetzung von Individuen in der Population X Population mit Individuen Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 24
Population Anforderungen an die Population Hohe Diversität der Individuen (niedrige Diversität beschränkt die Suchbreite) Hohe Qualität der Individuen in Bezug auf den Fitnesswert Balance zwischen Suchbreite und Suchtiefe wird durch Populationsgröße und Zusammensetzung beeinflusst Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 25
Population Anforderungen an die Population Hohe Diversität der Individuen (niedrige Diversität beschränkt die Suchbreite) Hohe Qualität der Individuen in Bezug auf den Fitnesswert Balance zwischen Suchbreite und Suchtiefe wird durch Populationsgröße und Zusammensetzung beeinflusst Generieren einer zufälligen Initialpopulation Zufällige Generierung von Individuen sorgt für eine hohe Diversität Lösungsqualität der Individuen ist zumeist schlecht Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 25
Population Anforderungen an die Population Hohe Diversität der Individuen (niedrige Diversität beschränkt die Suchbreite) Hohe Qualität der Individuen in Bezug auf den Fitnesswert Balance zwischen Suchbreite und Suchtiefe wird durch Populationsgröße und Zusammensetzung beeinflusst Generieren einer zufälligen Initialpopulation Zufällige Generierung von Individuen sorgt für eine hohe Diversität Lösungsqualität der Individuen ist zumeist schlecht Aufbau der Initialpopulation mit Eröffnungsverfahren Eröffnungsverfahren sorgt für bessere Fitness z. B. Greedy-Algorithmus mit zufälligen Startknoten Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 25
Initialpopulation für das Beispielproblem Individuum 1 Population Positionen 1 2 3 4 5 Individuum 2 A C D B E Positionen 1 2 3 4 5 Individuum 3 C E D A B Positionen 1 2 3 4 5 Gensequenz Gensequenz Gensequenz A B D E C Fitness 1/22 Fitness 1/18 Fitness 1/21 Größe der Population: n = 3 Methode: zufällig generiert Praktische Anwendung: n = 25 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 26
Grundablauf des Genetischen Algorithmus Crossover Mischen des Erbgutes Mutation Zufällige Variation des Erbgutes Fitnessevaluierung Dekodierung und Fitnessberechn. Gesamtstrecke Selektion von Eltern fitnessabhängig und stochastisch Genetischer Algorithmus als iterativer Prozess Ersetzung von Individuen in der Population X Population mit Individuen Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 27
Roulette-Selektion Selektion entspricht der natürlichen Auslese Selektion der Individuen erfolgt zufallsbasiert aus der Population P Selektionswahrscheinlichkeit p ist proportional zur Fitness ƒ Individuen P erhalten einen Kreisausschnitt auf einem Roulette-Rad Größe des Kreisausschnittes repräsentiert die Fitness ƒ Berechnung: p = ƒ P ƒ Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 28
Roulette-Selektion am Beispiel Zufallsbasierte Selektion des 1. Individuums Individuum 1 Positionen 1 2 3 4 5 Gensequenz Gensequenz A B C E D Fitness 1/18 Zufallsbasierte Selektion des 2. Individuums Individuum 2 Positionen 1 2 3 4 5 A C D B E Fitness 1/22 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 29
Grundablauf des Genetischen Algorithmus Crossover Mischen des Erbgutes Mutation Zufällige Variation des Erbgutes Fitnessevaluierung Dekodierung und Fitnessberechn. Gesamtstrecke Selektion von Eltern fitnessabhängig und stochastisch Genetischer Algorithmus als iterativer Prozess Ersetzung von Individuen in der Population X Population mit Individuen Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 30
Grundablauf des Genetischen Algorithmus Crossover Mischen des Erbgutes Mutation Zufällige Variation des Erbgutes Fitnessevaluierung Dekodierung und Fitnessberechn. Gesamtstrecke Selektion von Eltern fitnessabhängig und stochastisch Genetischer Algorithmus als iterativer Prozess Ersetzung von Individuen in der Population X Population mit Individuen Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 30
Crossover - Ein Beispiel Order Crossover (OX1): Operator wird hier immer auf paarweise selektierte Individuen angewendet. Schritt 1 Wähle ein zufälliges Teilstück in beiden Elternteilen Zufälliges Teilstück: Positionen 2-3 1 2 3 A C D 4 5 B E Chromosom von Elter 1 C E D 1 2 3 A B 4 5 Chromosom von Elter 2 Eltern-Individuen Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 31
Crossover - Ein Beispiel Order Crossover (OX1): Operator wird hier immer auf paarweise selektierte Individuen angewendet. Schritt 2 Erzeuge zwei Kind-Individuen und übernehme wechselseitig das Teilstück aus dem jeweils anderen Chromosom 1 2 3 4 5 1 2 3 4 5 A C D B E C D C E D A B E D 1 2 3 4 5 1 2 3 4 5 Eltern-Individuen Kind-Individuen (Zwischenstufe) Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 31
Crossover - Ein Beispiel Order Crossover (OX1): Operator wird hier immer auf paarweise selektierte Individuen angewendet. Schritt 3 Übernehme die übrigen Knoten aus dem Chromosom, von dem noch nichts gererbt wurde, entsprechend der dortigen Reihenfolge 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 A C D B E E D A E D C B C E D A B C D E C D A B 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 Eltern-Individuen Kind-Individuen (Zwischenstufe) Kind-Individuen Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 31
Mutationsoperatoren - Beispiele Mutation: Operator wird nur mit einer bestimmten Wahrscheinlichkeit auf die Kind-Individuen angewendet. Sublist Shift Mutation Wähle ein zufälliges Teilstück und verschiebe dessen Position innerhalb des Chromosoms um eine zufällige Anzahl von Stellen Sublist Inversion Mutation Wähle ein zufälliges Teilstück im Chromosom und invertierte die Reihenfolge innerhalb dieses Teilstücks 1 2 3 A C D 4 5 B E 1 2 3 A C D 4 5 B E D B A C E A B D C E 1 2 3 4 5 1 2 3 4 5 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 32
Grundablauf des Genetischen Algorithmus Crossover Mischen des Erbgutes Mutation Zufällige Variation des Erbgutes Fitnessevaluierung Dekodierung und Fitnessberechn. Gesamtstrecke Selektion von Eltern fitnessabhängig und stochastisch Genetischer Algorithmus als iterativer Prozess Ersetzung von Individuen in der Population X Population mit Individuen Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 33
Grundablauf des Genetischen Algorithmus Crossover Mischen des Erbgutes Mutation Zufällige Variation des Erbgutes Fitnessevaluierung Dekodierung und Fitnessberechn. Gesamtstrecke Selektion von Eltern fitnessabhängig und stochastisch Genetischer Algorithmus als iterativer Prozess Ersetzung von Individuen in der Population X Population mit Individuen Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 33
Ersetzungsschemata Generational Replacement Vollständige Ersetzung der gesamten Population durch Nachkommen in jeder Iteration (Generation) Vorteil: Wirkt stark diversitätserhaltend Evolution kann neues Wissen nur generationsweise verwenden Stetige Ersetzung (steady state) In jeder Iteration (Generation) wird nur ein Individuum (oder mehrere) durch Nachkommen ersetzt Evolution wird zum kontinuierlichen Prozess Problem: Welches Individuum soll ersetzt werden? Ersetzung des Schlechtesten: Einfach realisierbar, aber es findet eine Gendrift statt Ersetzung des Ähnlichsten: Erhält Diversität aufrecht, ist aber aufwendig Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 34
Demo Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 35
Gliederung 1. Teil 1: Problem des Handlungsreisenden 2. Teil 2: Problem der Maschinenbelegungsplanung 3. Kontakt Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 36
Einführung Maschinenbelegungsplanungsproblem (Shop Scheduling Problem) In einer Fertigung sollen n Aufträge gefertigt werden. Die Bearbeitung erfolgt auf m Maschinen und wird jeweils als Operation bezeichnet. Jeder Auftrag wird auf jeder Maschine einmalig (Standardproblem) bearbeitet. Ziel: Finde Bearbeitungsreihenfolge der Aufträge auf den Maschinen, bei der eine möglichst kurze Zykluszeit benötigt wird. Alternativ: Reihenfolge mit möglichst geringen Kosten, kurzer Durlaufzeit der Aufträge M4 M3 M2 M1 M6 M8 M1 n Aufträge M3 M7 M4 m Maschinen Zykluszeit M2 M5 Belegungsplanung Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 37
Shop Scheduling Probleme Unterscheidung von Standardproblemen nach der Auftragsstruktur Job Shop Scheduling Problem Aufträge werden von allen Maschinen in unterschiedlicher aber fest vorgegebener Reihenfolge (Arbeitsplan). Geeignet für Werkstattfertigung Flow Shop Scheduling Problem Aufträge werden von allen Maschinen in gleicher, vorgegebener Reihenfolge. Geeignet für Fließfertigung Open Shop Scheduling Problem Aufträge werden von allen Maschinen bearbeitet, wobei die Reihenfolge nicht festgeschrieben ist. Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 38
Problemstellung Shop Scheduling Werkstattfertigung (Job Shop) Fertigungsorganisation Fließfertigung (Flow Shop) Fertigungsorganisation M6 M1 M7 M2 M6 M7 M4 M8 M3 M4 M5 M1 M2 M3 Werkstätten mit ähnlichen Maschinen Maschinenanordnung nach Fertigungsobjekt Auftragsstruktur Auftragsstruktur Auftrag A1 Arbeitsplan M1 M2 M3 Auftrag A1 Arbeitsplan M1 M2 M3 Auftrag A2 Arbeitsplan M2 M1 M3 Auftrag A2 Arbeitsplan M1 M2 M3 Auftrag A3 Arbeitsplan M3 M1 M2 Auftrag A3 Arbeitsplan M1 M2 M3 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 39
Problemstellung Shop Scheduling Werkstattfertigung (Job Shop) Einplanungsreihenfolge Auftrag A1 Arbeitsplan M1 M2 M3 Fließfertigung (Flow Shop) Einplanungsreihenfolge Auftrag A1 Arbeitsplan M1 M2 M3 Bearbeitungszeit: 9 ZE Bearbeitungszeit: 9 ZE Bearbeitungszeit: 10 ZE Bearbeitungszeit: 9 ZE Bearbeitungszeit: 9 ZE Bearbeitungszeit: 10 ZE Auftrag A2 Arbeitsplan M2 M1 M3 Auftrag A2 Arbeitsplan M1 M2 M3 Bearbeitungszeit: 15 ZE Bearbeitungszeit: 7 ZE Bearbeitungszeit: 9 ZE Bearbeitungszeit: 6 ZE Bearbeitungszeit: 7 ZE Bearbeitungszeit: 9 ZE Auftrag A3 Arbeitsplan M3 M1 M2 Auftrag A3 Arbeitsplan M1 M2 M3 Bearbeitungszeit: 14 ZE Belegungsplan Job Shop Bearbeitungszeit: 8 ZE Bearbeitungszeit: 10 ZE Bearbeitungszeit: 14 ZE Belegungsplan Flow Shop Bearbeitungszeit: 8 ZE Bearbeitungszeit: 5 ZE Maschine M1 1/1 2/2 3/2 Zeit Maschine M1 1/1 3/1 2/1 Zeit Maschine M2 2/1 1/2 3/3 Zeit Maschine M2 1/2 3/2 2/2 Zeit Maschine M3 3/1 2/3 1/3 Zeit Maschine M3 1/3 3/3 2/3 Zeit Zykluszeit Zykluszeit Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 40
Komplexität von Maschinenbelegungsproblemen Fragestellung: Wie viele Lösungen besitzt ein Maschinenbelegungsproblem mit n Aufträgen und m Maschinen? Flow-Shop-Problem: Die Bearbeitungsreihenfolge der Aufträge ist für alle Maschinen gleich. Die erste Maschine kann mit jedem Auftrag beginnen und besitzt damit n Startmöglichkeiten. Bei jedem folgenden einzuplanenden Auftrag reduziert sich die Alternativenanzahl um 1. n! mögliche Bearbeitungsreihenfolgen Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 41
Komplexität von Maschinenbelegungsproblemen Fragestellung: Wie viele Lösungen besitzt ein Maschinenbelegungsproblem mit n Aufträgen und m Maschinen? Flow-Shop-Problem: Die Bearbeitungsreihenfolge der Aufträge ist für alle Maschinen gleich. Die erste Maschine kann mit jedem Auftrag beginnen und besitzt damit n Startmöglichkeiten. Bei jedem folgenden einzuplanenden Auftrag reduziert sich die Alternativenanzahl um 1. n! mögliche Bearbeitungsreihenfolgen Beispielproblem mit 20 Aufträgen auf 20 Maschinen Anzahl der Lösungen: (20)! d.h. 20 19 18... 2, 433 10 18 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 41
Komplexität von Maschinenbelegungsproblemen Fragestellung: Wie viele Lösungen besitzt ein Maschinenbelegungsproblem mit n Aufträgen und m Maschinen? Job-Shop-Problem: Die Bearbeitungsreihenfolge der Aufträge ändert sich an den einzelnen Bearbeitungsstationen. Reihenfolge muss für alle Maschinen festgelegt werden. Jede Maschine kann mit jedem Auftrag beginnen und besitzt damit n Startmöglichkeiten. Bei jedem folgenden einzuplanenden Auftrag (auf jeder Maschine) reduziert sich die Alternativenanzahl um 1. n! m mögliche Bearbeitungsreihenfolgen Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 42
Komplexität von Maschinenbelegungsproblemen Fragestellung: Wie viele Lösungen besitzt ein Maschinenbelegungsproblem mit n Aufträgen und m Maschinen? Job-Shop-Problem: Die Bearbeitungsreihenfolge der Aufträge ändert sich an den einzelnen Bearbeitungsstationen. Reihenfolge muss für alle Maschinen festgelegt werden. Jede Maschine kann mit jedem Auftrag beginnen und besitzt damit n Startmöglichkeiten. Bei jedem folgenden einzuplanenden Auftrag (auf jeder Maschine) reduziert sich die Alternativenanzahl um 1. n! m mögliche Bearbeitungsreihenfolgen Beispielproblem mit 20 Aufträgen und 20 Maschinen Anzahl der Lösungen: (20)! 20 d.h. (20 19... ) (20 19...)... 5, 278 10 367 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 42
Heuristische Lösungsverfahren: Hybridverfahren Optimierungsverfahren für kombinatorische Problemstellungen Exakte Lösung Heuristische Lösung + - Exakte Verfahren Optimale Lösung Zeitdauer prohibitiv groß Metaheuristiken + Angemessene Zeitdauer + Hohe Lösungsqualität Problemspez. Heuristiken + Sehr kurze Antwortzeiten - Lösungsqualität Beispiele Vollständige Enumeration (z.b. Brute-Force-Alg.) Begrenzte Enumeration (z.b. Branch & Bound) Dynamic Programming Beispiele Lokale Suchverfahren (z.b. Threshold Accepting) Evolutionäre Algorithmen (z.b. Genetische Algorithmen) Schwarmintelligenz (z.b. Ameisenalgorithmen) Beispiele Eröffnungsverfahren (z.b. Prioritätsregeln) Verbesserungsverfahren (z.b. Hillclimber) Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 43
Grundablauf des hybriden Algorithmus Fitnessevaluierung Dekodierung und Fitnessberechn. Schwellwertprüfung Fitness innerhalb Toleranzbereich Zykluszeit Zykluszeit Erhalt oder Ersetzung Bei Toleranzüberschreitung X Mutation Zufällige Variation des Erbgutes Toleranzschwellenanpassung durch Erhöhung oder Reduktion Bei Toleranzeinhaltung X Population mit genau einem Individuum Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 44
Grundablauf des hybriden Algorithmus Fitnessevaluierung Dekodierung und Fitnessberechn. Schwellwertprüfung Fitness innerhalb Toleranzbereich Zykluszeit Zykluszeit Erhalt oder Ersetzung Bei Toleranzüberschreitung X Mutation Zufällige Variation des Erbgutes Toleranzschwellenanpassung durch Erhöhung oder Reduktion Bei Toleranzeinhaltung X Population mit genau einem Individuum Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 44
Hybrider Individualgenetischer Algorithmus (IGA) Kein "klassischer" Genetischer Algorithmus Reduktion der Population auf ein Individuum keine Mechanismen zur Vermeidung einer Gendrift in der Population notwendig Genetische Operationen beschränken sich auf Mutation Keine Rekombination und keine Chromosomenreparatur Genetische Repräsentation als Permutationschromosom Positionen 1 2 3 4 5 6 7 8 9 Gensequenz A1 A2 A2 A2 A1 A3 A3 A3 A1 Einplanungsreihenfolge Gen des Auftrag 2 mit dem Zustand erstmaliges Auftauchen im Chromosom von Auftrag 2 d.h. 1. Operation des Auftrags Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 45
Grundablauf des hybriden Algorithmus Fitnessevaluierung Dekodierung und Fitnessberechn. Schwellwertprüfung Fitness innerhalb Toleranzbereich Zykluszeit Zykluszeit Erhalt oder Ersetzung Bei Toleranzüberschreitung X Mutation Zufällige Variation des Erbgutes Toleranzschwellenanpassung durch Erhöhung oder Reduktion Bei Toleranzeinhaltung X Population mit genau einem Individuum Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 46
Grundablauf des hybriden Algorithmus Fitnessevaluierung Dekodierung und Fitnessberechn. Schwellwertprüfung Fitness innerhalb Toleranzbereich Zykluszeit Zykluszeit Erhalt oder Ersetzung Bei Toleranzüberschreitung X Mutation Zufällige Variation des Erbgutes Toleranzschwellenanpassung durch Erhöhung oder Reduktion Bei Toleranzeinhaltung X Population mit genau einem Individuum Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 46
Mutation zur Veränderung des Erbgutes Order Based Mutation Operator wird in jeder Iteration einmalig auf das Individuum angewendet. Operator mit begrenzter Veränderung des Chromosoms Positionen 1 2 3 4 5 6 7 8 9 A1 A2 A2 A2 A1 A3 A3 A3 A1 Positionen 1 2 3 4 5 6 7 8 9 Gensequenz Gensequenz Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 47
Mutation zur Veränderung des Erbgutes Order Based Mutation Operator wird in jeder Iteration einmalig auf das Individuum angewendet. Operator mit begrenzter Veränderung des Chromosoms Positionen 1 2 3 4 5 6 7 8 9 A1 A2 A2 A2 A1 A3 A3 A3 A1 Zufallsbasierte Wahl von 2 Genen im Chromosom Gen 1 für Mutation Gen 2 für Mutation Positionen 1 2 3 4 5 6 7 8 9 Gensequenz Gensequenz Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 47
Mutation zur Veränderung des Erbgutes Order Based Mutation Operator wird in jeder Iteration einmalig auf das Individuum angewendet. Operator mit begrenzter Veränderung des Chromosoms Positionen 1 2 3 4 5 6 7 8 9 A1 A2 A2 A2 A1 A3 A3 A3 A1 Positionen 1 2 3 4 5 6 7 8 9 Gensequenz Gensequenz A3 A2 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 47
Mutation zur Veränderung des Erbgutes Order Based Mutation Operator wird in jeder Iteration einmalig auf das Individuum angewendet. Operator mit begrenzter Veränderung des Chromosoms Positionen 1 2 3 4 5 6 7 8 9 A1 A2 A2 A2 A1 A3 A3 A3 A1 Positionen 1 2 3 4 5 6 7 8 9 Gensequenz Gensequenz A1 A3 A2 A2 A1 A2 A3 A3 A1 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 47
Grundablauf des hybriden Algorithmus Fitnessevaluierung Dekodierung und Fitnessberechn. Schwellwertprüfung Fitness innerhalb Toleranzbereich Zykluszeit Zykluszeit Erhalt oder Ersetzung Bei Toleranzüberschreitung X Mutation Zufällige Variation des Erbgutes Toleranzschwellenanpassung durch Erhöhung oder Reduktion Bei Toleranzeinhaltung X Population mit genau einem Individuum Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 48
Grundablauf des hybriden Algorithmus Fitnessevaluierung Dekodierung und Fitnessberechn. Schwellwertprüfung Fitness innerhalb Toleranzbereich Zykluszeit Zykluszeit Erhalt oder Ersetzung Bei Toleranzüberschreitung X Mutation Zufällige Variation des Erbgutes Toleranzschwellenanpassung durch Erhöhung oder Reduktion Bei Toleranzeinhaltung X Population mit genau einem Individuum Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 48
Dekodierung und Fitnesswertbestimmung 1. Sequenzing Positionen 1 2 3 4 5 6 7 8 9 Gensequenz A1 A3 A2 A2 A1 A2 A3 A3 A1 Einplanungsreihenfolge Auftrag A1 Arbeitsplan M1 M2 M3 Auftrag A2 Arbeitsplan M2 M1 M1 M3 Auftrag A3 Arbeitsplan M1 M3 M2 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 49
Dekodierung und Fitnesswertbestimmung 1. Sequenzing Positionen 1 2 3 4 5 6 7 8 9 Gensequenz A1 A3 A2 A2 A1 A2 A3 A3 A1 Einplanungsreihenfolge Auftrag A1 Arbeitsplan M1 M2 M3 Auftrag A2 Arbeitsplan M2 M1 M1 M3 Auftrag A3 Arbeitsplan M1 M3 M2 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 49
Dekodierung und Fitnesswertbestimmung 1. Sequenzing Positionen 1 2 3 4 5 6 7 8 9 Gensequenz A1 A3 A2 A2 A1 A2 A3 A3 A1 Einplanungsreihenfolge Auftrag A1 Arbeitsplan M1 M2 M3 Auftrag A2 Arbeitsplan M2 M1 M1 M3 Auftrag A3 Arbeitsplan M1 M3 M2 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 49
Dekodierung und Fitnesswertbestimmung 1. Sequenzing Positionen 1 2 3 4 5 6 7 8 9 Gensequenz A1 A3 A2 A2 A1 A2 A3 A3 A1 Einplanungsreihenfolge Auftrag A1 Arbeitsplan M1 M2 M3 Auftrag A2 Arbeitsplan M2 M1 M1 M3 Auftrag A3 Arbeitsplan M1 M3 M2 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 49
Dekodierung und Fitnesswertbestimmung 1. Sequenzing Positionen 1 2 3 4 5 6 7 8 9 Gensequenz A1 A3 A2 A2 A1 A2 A3 A3 A1 Einplanungsreihenfolge Auftrag A1 Arbeitsplan M1 M2 M3 Auftrag A2 Arbeitsplan M2 M1 M1 M3 Auftrag A3 Arbeitsplan M1 M3 M2 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 49
Dekodierung und Fitnesswertbestimmung 1. Sequenzing Positionen 1 2 3 4 5 6 7 8 9 Gensequenz A1 A3 A2 A2 A1 A2 A3 A3 A1 Einplanungsreihenfolge Auftrag A1 Arbeitsplan M1 M2 M3 Auftrag A2 Arbeitsplan M2 M1 M1 M3 Auftrag A3 Arbeitsplan M1 M3 M2 Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 49
Dekodierung und Fitnesswertbestimmung 2. Scheduling Zeitliche Einplanung der Operationen der Aufträge auf den Maschinen. Bestimmung der Zykluszeit Auftrag A1 Arbeitsplan M1 M2 M3 Dauer: 9 Dauer: 9 Dauer: 10 Auftrag A2 Arbeitsplan M2 M1 M3 Dauer: 15 Dauer: 7 Dauer: 9 Auftrag A3 Arbeitsplan M3 M1 M2 Dauer: 14 Dauer: 8 Dauer: 10 Vollständiges Gantt-Diagramm: Phänotyp der Lösung Maschine M1 Maschine M2 Zeit Zeit Maschine M3 Zeit Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 50
Dekodierung und Fitnesswertbestimmung 2. Scheduling Zeitliche Einplanung der Operationen der Aufträge auf den Maschinen. Bestimmung der Zykluszeit Auftrag A1 Arbeitsplan M1 M2 M3 Dauer: 9 Dauer: 9 Dauer: 10 Auftrag A2 Arbeitsplan M2 M1 M3 Dauer: 15 Dauer: 7 Dauer: 9 Auftrag A3 Arbeitsplan M3 M1 M2 Dauer: 14 Dauer: 8 Dauer: 10 Vollständiges Gantt-Diagramm: Phänotyp der Lösung Maschine M1 1/1 Zeit Maschine M2 Zeit Maschine M3 Zeit Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 50
Dekodierung und Fitnesswertbestimmung 2. Scheduling Zeitliche Einplanung der Operationen der Aufträge auf den Maschinen. Bestimmung der Zykluszeit Auftrag A1 Arbeitsplan M1 M2 M3 Dauer: 9 Dauer: 9 Dauer: 10 Auftrag A2 Arbeitsplan M2 M1 M3 Dauer: 15 Dauer: 7 Dauer: 9 Auftrag A3 Arbeitsplan M3 M1 M2 Dauer: 14 Dauer: 8 Dauer: 10 Vollständiges Gantt-Diagramm: Phänotyp der Lösung Maschine M1 1/1 Zeit Maschine M2 Zeit Maschine M3 3/1 Zeit Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 50
Dekodierung und Fitnesswertbestimmung 2. Scheduling Zeitliche Einplanung der Operationen der Aufträge auf den Maschinen. Bestimmung der Zykluszeit Auftrag A1 Arbeitsplan M1 M2 M3 Dauer: 9 Dauer: 9 Dauer: 10 Auftrag A2 Arbeitsplan M2 M1 M3 Dauer: 15 Dauer: 7 Dauer: 9 Auftrag A3 Arbeitsplan M3 M1 M2 Dauer: 14 Dauer: 8 Dauer: 10 Vollständiges Gantt-Diagramm: Phänotyp der Lösung Maschine M1 1/1 Zeit Maschine M2 2/1 Zeit Maschine M3 3/1 Zeit Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 50
Dekodierung und Fitnesswertbestimmung 2. Scheduling Zeitliche Einplanung der Operationen der Aufträge auf den Maschinen. Bestimmung der Zykluszeit Auftrag A1 Arbeitsplan M1 M2 M3 Dauer: 9 Dauer: 9 Dauer: 10 Auftrag A2 Arbeitsplan M2 M1 M3 Dauer: 15 Dauer: 7 Dauer: 9 Auftrag A3 Arbeitsplan M3 M1 M2 Dauer: 14 Dauer: 8 Dauer: 10 Vollständiges Gantt-Diagramm: Phänotyp der Lösung Maschine M1 1/1 2/2 Zeit Maschine M2 2/1 Zeit Maschine M3 3/1 Zeit Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 50
Dekodierung und Fitnesswertbestimmung 2. Scheduling Zeitliche Einplanung der Operationen der Aufträge auf den Maschinen. Bestimmung der Zykluszeit Auftrag A1 Arbeitsplan M1 M2 M3 Dauer: 9 Dauer: 9 Dauer: 10 Auftrag A2 Arbeitsplan M2 M1 M3 Dauer: 15 Dauer: 7 Dauer: 9 Auftrag A3 Arbeitsplan M3 M1 M2 Dauer: 14 Dauer: 8 Dauer: 10 Vollständiges Gantt-Diagramm: Phänotyp der Lösung Maschine M1 1/1 2/2 3/2 Zeit Maschine M2 2/1 1/2 3/3 Zeit Maschine M3 3/1 2/3 1/3 Zeit Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 50
Dekodierung und Fitnesswertbestimmung 2. Scheduling Zeitliche Einplanung der Operationen der Aufträge auf den Maschinen. Bestimmung der Zykluszeit Auftrag A1 Arbeitsplan M1 M2 M3 Dauer: 9 Dauer: 9 Dauer: 10 Auftrag A2 Arbeitsplan M2 M1 M3 Dauer: 15 Dauer: 7 Dauer: 9 Auftrag A3 Arbeitsplan M3 M1 M2 Dauer: 14 Dauer: 8 Dauer: 10 Vollständiges Gantt-Diagramm: Phänotyp der Lösung Maschine M1 1/1 2/2 3/2 Zeit Maschine M2 2/1 1/2 3/3 Zeit Maschine M3 3/1 2/3 1/3 Zeit Zykluszeit Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 50
Grundablauf des hybriden Algorithmus Fitnessevaluierung Dekodierung und Fitnessberechn. Schwellwertprüfung Fitness innerhalb Toleranzbereich Zykluszeit Zykluszeit Erhalt oder Ersetzung Bei Toleranzüberschreitung X Mutation Zufällige Variation des Erbgutes Toleranzschwellenanpassung durch Erhöhung oder Reduktion Bei Toleranzeinhaltung X Population mit genau einem Individuum Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 51
Grundablauf des hybriden Algorithmus Fitnessevaluierung Dekodierung und Fitnessberechn. Schwellwertprüfung Fitness innerhalb Toleranzbereich Zykluszeit Zykluszeit Erhalt oder Ersetzung Bei Toleranzüberschreitung X Mutation Zufällige Variation des Erbgutes Toleranzschwellenanpassung durch Erhöhung oder Reduktion Bei Toleranzeinhaltung X Population mit genau einem Individuum Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 51
Schwellwertprüfung der evaluierten Kindlösung Prüfung der erzeugten Lösung auf Einhaltung einer geforderten Toleranz (Threshold Accepting) Notwendig zur Überwindung lokaler Optima Zielfunktionswert besser schlechter Unzulässige Verschlechterung durch neue Lösung Toleranzschwelle Zulässige Verschlechterung durch neue Lösung (Toleranzbereich) Funktionswert der gefundenen Lösung mit dem besten Zielfunktionswert X Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 52
Grundablauf des hybriden Algorithmus Fitnessevaluierung Dekodierung und Fitnessberechn. Schwellwertprüfung Fitness innerhalb Toleranzbereich Zykluszeit Zykluszeit Erhalt oder Ersetzung Bei Toleranzüberschreitung X Mutation Zufällige Variation des Erbgutes Toleranzschwellenanpassung durch Erhöhung oder Reduktion Bei Toleranzeinhaltung X Population mit genau einem Individuum Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 53
Grundablauf des hybriden Algorithmus Fitnessevaluierung Dekodierung und Fitnessberechn. Schwellwertprüfung Fitness innerhalb Toleranzbereich Zykluszeit Zykluszeit Erhalt oder Ersetzung Bei Toleranzüberschreitung X Mutation Zufällige Variation des Erbgutes Toleranzschwellenanpassung durch Erhöhung oder Reduktion Bei Toleranzeinhaltung X Population mit genau einem Individuum Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 53
Anpassung der Toleranzschwelle Evaluierung der Lösungsentwicklung bisheriger Iterationen und Anpassung des Toleranzbereichs Steuerung des Suchverhaltens des Algorithmus kleiner Toleranzbereich zur Tiefensuche (Exploitation) großer Toleranzbereich zur Breitensuche (Exploration) Zielfunktionswert besser schlechter Toleranzerhöhung zur Breitensuche aufgrund Verharren im Bereich des lokalen Optimum Toleranzreduktion zur Exploitation des neuen Suchbereichs Toleranzschwelle Toleranzbereich Funktionswert der gefundenen Lösung mit dem besten Zielfunktionswert Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 54
Grundablauf des hybriden Algorithmus Fitnessevaluierung Dekodierung und Fitnessberechn. Schwellwertprüfung Fitness innerhalb Toleranzbereich Zykluszeit Zykluszeit Erhalt oder Ersetzung Bei Toleranzüberschreitung X Mutation Zufällige Variation des Erbgutes Toleranzschwellenanpassung durch Erhöhung oder Reduktion Bei Toleranzeinhaltung X Population mit genau einem Individuum Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 55
Demo Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 56
Zusammenfassung Methaheuristiken eignen sich zur Lösung von äußerst komplexen Problemstellungen. Sie besitzen eine ausgewogenes Verhältnis von Antwortzeit und Lösungsgüte. Metaheuristiken erzielen bessere Ergebnisse als einfache Problemheuristiken. Sie können in vielfälten Anwendungen eingesetzt werden und eignen sich besonders für kombinatorische Optimierungsprobleme. Entscheidend für die Güte dieser Verfahren ist die Wahl einer geeigneten Kombination aus Repräsentationsform, genetischen Operatoren und Steuerungsparamtern. Metaheuristiken stellen leistungsfähige Methoden dar. Sie finden Einsatz, wenn exakte Verfahren an ihre Grenzen stoßen. Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 57
Gliederung 1. Teil 1: Problem des Handlungsreisenden 2. Teil 2: Problem der Maschinenbelegungsplanung 3. Kontakt Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 58
Interesse?! OPT SYS - Arbeitskreis Optimierungssysteme Wer wir sind Interessierte Studenten aus verschiedenen Studienrichtungen und Fachsemestern Wissenschaftliche Mitarbeiter der Professur Produktionswirtschaft & IBL Kurse und Vortragsreihen Veröffentlichung von Zeitschriftenartikeln und Konferenzbeiträgen Was wir machen Modellieren und Lösen von praxisnahen Optimierungsproblemen Forschung an naturanalogen Optimierungsverfahren Mitwirken an aktuellen Forschungsprojekten Unser Labor Unsere Ausstattung Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 59
Weiterführende Informationen: Unsere Webseite http://www.optsys-framework.de Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 60
Fakultät für Wirtschaftswissenschaften Professur für Produktionswirtschaft und Industriebetriebslehre Prof. Dr. Joachim Käschel Ansprechpartner Dipl.Wirt.Inf. Sascha Häckel Thüringer Weg 7/207 Chemnitz E-Mail: shae@hrz.tu-chemnitz.de Tel. 0371 / 531-36889 Dipl.Wirt.Ing. Sascha Lemke Thüringer Weg 7/209 Chemnitz E-Mail: lems@hrz.tu-chemnitz.de Tel. 0371 / 531-37248 http://www.tu-chemnitz.de/wirtschaft/bwl7/ Genetische Algorithmen für kombinatorische Probleme S. Häckel, S. Lemke 61