Genetische Algorithmen



Ähnliche Dokumente
Grundlagen und Basisalgorithmus

1 topologisches Sortieren

Informatik-Sommercamp Mastermind mit dem Android SDK

Konzepte der Informatik

Einsatz Evolutionärer Algorithmen zur Optimierung der Tourenplanung eines Wachschutzunternehmens

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Zeichen bei Zahlen entschlüsseln

Kapiteltests zum Leitprogramm Binäre Suchbäume

Eine molekulare Lösung des Hamiltonkreisproblems mit DNA

Anmerkungen zur Übergangsprüfung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Grundbegriffe der Informatik

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Grundlagen der Theoretischen Informatik, SoSe 2008

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung

Maschinenrichtlinie 2006/42/EG 150 Fragen und Antworten zum Selbststudium

Ressourceneinsatzplanung in der Fertigung

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Hilfe zur Urlaubsplanung und Zeiterfassung

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Kapitalerhöhung - Verbuchung

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

2.11 Kontextfreie Grammatiken und Parsebäume

Primzahlen und RSA-Verschlüsselung

WAS finde ich WO im Beipackzettel

Doing Economics with the Computer Sommersemester Excel Solver 1

Zimmertypen. Zimmertypen anlegen

Die Verbindung von Linearer Programmierung und Graphentheorie

EPOS. Kurzanleitung Modul Mailing. Logex AG IT-Solutions. Copyright (c) 2008 by Logex ag, Switzerland, all Rights reserved

Erfahrungen mit Hartz IV- Empfängern

WS 2013/14. Diskrete Strukturen

ARCHIV- & DOKUMENTEN- MANAGEMENT-SERVER DATEIEN ARCHIVIEREN

Bestimmen des Werkstücks in der Vorrichtung

Virtuelle Fotografie (CGI)

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Einführung in. Logische Schaltungen

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

15 Optimales Kodieren

Übungen zur Softwaretechnik


Aufgabe 1 Berechne den Gesamtwiderstand dieses einfachen Netzwerkes. Lösung Innerhalb dieser Schaltung sind alle Widerstände in Reihe geschaltet.

y P (Y = y) 1/6 1/6 1/6 1/6 1/6 1/6

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

DUALIS Web-Client Kurzanleitung für Studierende

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik)

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender FHNW, Services, ICT

2 Darstellung von Zahlen und Zeichen

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor:

Lehrer: Einschreibemethoden

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Erhebung von Anforderungen an den Einsatz von ebusiness-standards in kleinen und mittleren Unternehmen

Subpostfächer und Vertretungen für Unternehmen

Theoretische Grundlagen der Informatik WS 09/10

ACDSee 2009 Tutorials: Rote-Augen-Korrektur

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wasserfall-Ansätze zur Bildsegmentierung

Übungen zur Vorlesung Induktive Statistik Bedingte Wahrscheinlichkeiten

HIT-Software Installieren und Starten der Netzwerklizenz als Download-Anwendung

Eine Bürokratiekostenfolgenabschätzung zum zweiten Gesetz für moderne Dienstleistungen am Arbeitsmarkt im Hinblick auf die Einführung einer Gleitzone

Programmiersprachen und Übersetzer

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Agile Prozessverbesserung. Im Sprint zu besseren Prozessen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Bearbeitungshinweise. (20 Punkte)

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Projekte für reale Herausforderungen Projektarbeit: Einleitung und Gliederung. Projekte für reale Herausforderungen

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Klausur zur Vorlesung Informationsökonomik

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

Industrie 4.0 in Deutschland

Anleitung für die Registrierung und das Einstellen von Angeboten

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße Neckargemünd

BMW ConnectedDrive. connecteddrive. Freude am Fahren BMW CONNECTED DRIVE. NEUERUNGEN FÜR PERSONALISIERTE BMW CONNECTED DRIVE DIENSTE.

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Fragebogen zur Erhebung der Zufriedenheit und Kooperation der Ausbildungsbetriebe mit unserer Schule

Wir empfehlen Ihnen eine zeitnahe Bewerbung, da in jedem Halbjahr nur eine limitierte Anzahl an Bündnissen bewilligt werden können.

Seminararbeit zum Thema Genetische Algorithmen

Arbeiten Sie gerne für die Ablage?

Senkung des technischen Zinssatzes und des Umwandlungssatzes

Grundlagen für den erfolgreichen Einstieg in das Business Process Management SHD Professional Service

SEPA Lastschriften. Ergänzung zur Dokumentation vom Workshop Software GmbH Siemensstr Kleve / /

Dies ist nur ein Beispielfall!

Klausur zur Veranstaltung Industrielle Produktionssysteme im SS 04

Algorithmen und Datenstrukturen. Große Übung vom Nils Schweer

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Grundfunktionen und Bedienung

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Transkript:

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