Implementation und Evaluierung innovativer Heuristiken für die Anordnung von Entwurfsentscheidungen

Ähnliche Dokumente
Betriebliche Optimierung

Betriebliche Optimierung

Survival of the Fittest Optimierung mittels Genetischer Algorithmen

Synthese Eingebetteter Systeme. Übung 6

Optimale Produktliniengestaltung mit Genetischen Algorithmen

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff

Evolution und Algorithmen

Künstliche Intelligenz - Optimierungsprobleme - Suche in Spielbäumen

Einführung in Heuristische Suche

10. Vorlesung Stochastische Optimierung

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften

General Video Game AI Competition 2016

8.1 Einleitung. Grundlagen der Künstlichen Intelligenz. 8.1 Einleitung. 8.2 Lokale Suchverfahren. 8.3 Zusammenfassung. Suchprobleme: Überblick

Genetische und Evolutionäre Algorithmen (Vol. 2)

Lokale Suche. 31. Januar / 28

1 Heuristiken für das Traveling Salesman Problem

Local Search Algorithmen 1

Hauptseminar Repräsentationen für Optimierungsalgorithmen

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff

GP-Music: An Interactive Genetic Programming System for Music Generation with Automated Fitness

Heuristische Verfahren

Genetische und Evolutionäre Algorithmen (Vol. 1)

Genetische Algorithmen. Uwe Reichel IPS, LMU München 8. Juli 2008

Optimierung. Vorlesung 12

Uninformierte Suche in Java Informierte Suchverfahren

Populationsbasierte Suche. Evolutionäre Algorithmen (1)

Dynamisches Huffman-Verfahren

15 Grundlagen der Simulation

Grundlagen der Künstlichen Intelligenz

Warum konvergieren Genetische Algorithmen gegen ein Optimum?

Anwendung genetischer Algorithmen zur Lösung des n Dame Problems und zur Optimierung von Autoprofilen

11. Übung zu Algorithmen I 6. Juli 2016

Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2 Seminar

Verbesserungsheuristiken

ADS: Algorithmen und Datenstrukturen 2

Modelle und Verfahren zur innerbetrieblichen Standortplanung

Konstruktive Heuristiken

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen

Intelligente Systeme

Bayesianische Netzwerke - Lernen und Inferenz

Exkurs Modelle und Algorithmen

ADS: Algorithmen und Datenstrukturen 2

InformatiCup 2009 EvolutionConsole

Technische Universität Chemnitz. Ein Genetischer Algorithmus zur simultanen Dimensionierung und Strukturierung von Fertigungssystemen

Programmierung 2 Studiengang MI / WI

Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen

Algorithmische Methoden zur Netzwerkanalyse

09. Übung zu Algorithmen I 12. Juli 2017

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Kodierung Genetische Algorithmen und Simulated Annealing

Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier. Henning Fernau Universität Trier

Maschinelles Lernen: Symbolische Ansätze

2. Evolution als Optimierungsprinzip

Formale Grundlagen der Informatik F3: Berechenbarkeit un

Evolutionäre (Genetische) Algorithmen

Genetische Algorithmen

Effizienter Planaritätstest Vorlesung am

Theoretische Informatik II

MoGo Seminar Knowledge Engineering und Lernern in Spielen Sommersemester 2010

2.5 Evolutionäre (Genetische) Algorithmen

Genetische Algorithmen von der Evolution lernen

Logistische Tourenplanung auf der Basis hierarchischer Kunden-Clusterungen

Uninformierte Suche in Java Informierte Suchverfahren

Computational Intelligence 1 / 28. Computational Intelligence Evolutionsstrategien 3 / 28

Evolutionäre Algorithmen

Evolutionäre / Genetische Algorithmen. Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre / Genetische Algorithmen (2) Beispiel

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Maschinelles Lernen: Symbolische Ansätze

lineare Programmierung

Nr. 4: Pseudo-Zufallszahlengeneratoren

11. Vorlesung Stochastische Optimierung

1 DFS-Bäume in ungerichteten Graphen

1 DFS-Bäume in ungerichteten Graphen

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007

Algorithmen und Datenstrukturen 2

Seminar-Vortrag von Michael Vollmer

Systempartitionierung. Hw-Sw-Co-Design

MATHEMATIK 3 STUNDEN

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus

Trim Size: 176mm x 240mm Lipow ftoc.tex V1 - March 9, :34 P.M. Page 11. Über die Übersetzerin 9. Einleitung 19

Konstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS)

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Wasserfall-Ansätze zur Bildsegmentierung

Vorlesung Stetige Verteilungen / Mathematische Behandlung

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)

9. Heuristische Suche

Statistik I. Methodologie der Psychologie

Theoretische Informatik 1

a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein:

Algorithmische Graphentheorie

Problemlösen in grafischen Strukturen

5. Spezielle stetige Verteilungen

1. Inhaltsverzeichnis

Aufgaben zur Klausurvorbereitung

Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

Algorithmen für Sensornetze

Transkript:

Implementation und Evaluierung innovativer Heuristiken für die Anordnung von Entwurfsentscheidungen Diplomarbeit Thomas Scharler Universität Hamburg, FB Informatik, AB Tech

Implementation und Evaluierung innovativer Heuristiken für die Anordnung von Entwurfsentscheidungen Einleitung Entscheidungsgraph Lösungsraum, Nachbarschaft Lösungsverfahren für Entscheidungsgraphen Testsystem Testdaten Ergebnisse Ausblick Diskussion

Computerunterstützung des Planungsprozesses ist sinnvoll bei Problemen, die komplex, neuartig, unübersichtlich, kostenintensiv oder kritisch sind.

Ein System zur Planungsunterstützung sollte schnell, zuverlässig, verzögerungsfrei und bedienungsfreundlich sein. Das Problem sollte grafisch dargestellt werden können.

Bestehende Systeme haben folgende Einschränkungen: Nur Beschreibung rein sequenzieller und paralleler Abhängigkeiten (li, co). Beschreibungen müssen widerspruchsfrei sein. Problembeschreibung kann nicht grafisch dargestellt werden. Lange Verzögerungen wegen Tiefensuche. Trotz der Einschränkungen bleibt das grundlegende Scheduling-Problem NP-schwer.

Ansatz von Rauscher: Der Designer erstellt selbst einen Entscheidungsgraphen für ein Planungsproblem. Der Graph hat folgende Eigenschaften: Die Knoten repräsentieren die Entscheidungen Die bewerteten Kanten repräsentieren die kausalen Abhängigkeiten. Es gibt Kanten für serielle, parallele und andere Abhängigkeiten. Der Graph darf Widersprüche und Mehrfachkanten enthalten.

Automatische Umwandlung eines Entscheidungsgraphen in einen Plan:

Kantentypen: Präzedenz, a vor b Simultan, a gleichzeitig mit b Attraktor, a möglichst nahe bei b Distraktor, a möglichst weit entfernt von b Mindestabstand Maximalabstand Abstand

Beispielgraph // Beispielgraph graph beispiel { nodes { a, b, c, d, e, f } constraints { a before b; a before f; b near f; b before c; c parallel d; d before c, priority = 5.0; d before e, priority = 5.0; f before e; } } Beste Lösung: [ a ] [ b, f ] [ d ] [ c ] [ e ] Qualität=1

Kodierung einer Lösung Den Knoten werden ganze Zahlen > 0 zugeordnet Die Null ist Trennzeichen zwischen Schritten Beispiel: [ (a) (b, f) (d) (c) (e) ] Knoten: a:1, b:2, c:3, d:4, e:5, f:6 Kodierung: [ 1, 0, 2, 6, 0, 4, 0, 3, 0, 5 ]

Zwei Lösungen sind benachbart, wenn: zwei benachbarte Schritte vertauscht sind. Beispiel: [ (1) (2) (3) (4) ] und [ (2) (1) (3) (4) ] zwei nicht-benachbarte Schritte vertauscht sind. Beispiel: [ (1) (2) (3) (4) ] und [ (3) (2) (1) (4) ] zwei Schritte zusammengefasst sind. Beispiel: [ (1) (2) (3) (4) ] und [ (1,2) (3) (4) ] ein Schritt aufgebrochen wird. Beispiel: [ (1) (2, 3) (4) ] und [ (1) (3) (2) (4) ] eine Lösung gespiegelt wird. Beispiel: [ (1) (2) (3) (4) ] und [ (4) (3) (2) (1) ]

Die Bewertungsfunktion liefert ein Maß für die Qualität einer Lösung. Addiert man die Bewertungen aller verletzten Kanten, dann besitzt jede optimale Lösung eine Qualität q=0. Bewertung einer verletzten seriell-, parallel- oder Abstand-Kante: Bewertung einer verletzten Attraktor-Kante: q i =c w i d j, k q i =w i Bewertung einer verletzten Distraktor-Kante: q i =c w i l d j, k 1

Für die Lösung eines Entscheidungsgraphen gibt es verschiedene Möglichkeiten: Tiefensuche Uninformierte Heuristiken (First-Best, Simulated Annealing, genetische Algorithmen) Informierte Heuristiken (Tabu-Suche, schrittweises Verfeinern)

First-Best

Als Steuerfunktion findet ab der 1. Verzweigung die (modifizierte) Bewertungsfunktion Anwendung. In der ersten Ebene muss eine separate Funktion verwendet werden. auf serielle Kanten reduzieren f(v) = 5-2 = 3

f(v) für die erste Ebene: 1 a -inf (Quelle) 2 d -inf (Quelle) 3 b 0 4 f 0 5 c +inf (Senke) 6 e +inf (Senke)

First-Best: Momentaufnahme

Hillclimbing Generiere eine Nachbarlösung und bestimme deren Qualität. Ersetze Ausgangspunkt, wenn die neue Lösung besser ist.

Simulated Annealing Simuliert das Erstarren von flüssigem Metall. Bei langsamer Abkühlung entsteht ein Kristallgitter mit minimalen Spannungen, d.h. minimaler Gesamtenergie. Übertragen auf Optimierungsprobleme: Die Bewertungsfunktion wird als,,energie'' interpretiert. Eine schlechte Bewertung entspricht einer hohen Energie. Ein Abkühlungsschema führt zu einer Lösung mit einer geringen Energie.

Simulated Annealing: Algorithmus Erzeuge Nachbar-Konfiguration und bewerte diese. Ist die Bewertung schlechter als die augenblickliche, dann ersetze die augenblickliche Konfiguration mit der Wahrscheinlichkeit P=e dq k Tabs Wiederhole, bis Abbruchkriterium erreicht ist.

Da k=const, wird im Folgenden der Term k Tabs durch einen Steuerfaktor T ersetzt. Abkühlungsschema: In jedem Zeitschritt wird die Temperatur reduziert und der Suchraum somit eingeengt. Die theoretisch beste Abkühlung verwendet den Metropolis-Algorithmus T '= c T, der zu einer logarithmischen Abkühlung führt.

Die Wahl der Starttemperatur ist kritisch. Einen guten Anfangswert erhält man durch Generierung einiger zufälliger Lösungen anhand der Formel T s = ln P 0

Statistik - Nomenklatur Mittelwert X = 1 n n X i Varianz DX = 1 n n x k X 2 Standardabweichung = DX Standardfehler se= n

Produktive Suche Ziel: Abbrechen der Suche wenn diese unproduktiv, d.h. nicht zufällig ist. Vorgehen: Bestimmung des Mittelwerts und des mittleren Standardfehlers in einem Zeitfenster. Verlässt die Suche das Fenster von X ±2 se, wird die Temperatur verringert.

Genetische Algorithmen Übertragung des Effekts der Anpassung auf die Gebiete Ökonomie, Spiel-Theorie, KI etc. Jedes Individuum wird vollständig durch seine genetische Sequenz beschrieben. Eine Funtion f() liefert für ein Individuum ein Maß für dessen Fitness. Mit Hilfe von genetischen Operationen werden neue Individuen erzeugt.

Grundform eines genetischen Algorithmus': Wiederhole bis zum Erreichen eines Abbruchkriteriums: 1) Wähle aus der Population eine Anzahl Individuen aus (evtl. mit Bevorzugung fitterer Individuen) 2) Wende auf die Auswahl die genetischen Operationen Mutation, Rekombination und Reproduktion an. 3) Ersetze zufällig gewählte Individuen durch die in 2 erzeugten Individuen. 4) Bestimme die Fitness der neuen Population.

Punkt 1): Auswahlmethoden Gleichverteilung Best of n (n, µ)-auswahl Roulette-Auswahl Lineares Ranking Negativ-exponentielles Ranking

Roulette-Auswahl Nachteil: In jedem Zeitschritt muss die Fitness der Gesamtpopulation bestimmt werden.

Lineares Ranking

Punkt 2) Genetische Operationen Mutation Rekombination Reproduktion Selektion Mutationsoperationen entsprechen den Nachbarschaftsoperationen.

Rekombination Zwei Individuen werden jeweils zweigeteilt und über Kreuz zusammengefügt. Beispiel: [ (a) (b) (c) (d) (e) (f) ] [ (a, d) (e) (b, c) (f) ] [ (a) (b) ] [ (c) (d) (e) (f) ] [ (a, d) (e) ] [ (b, c) (f) ] [ (a) (b) (b, c) (f) ] [ (a, d) (e) (c) (d) (e) (f) ] [ (a) (b, c) (d) (e) (f) ] [ (a, d) (e) (c) (b) (f) ]

Freiheitsgrade der ausgewählten Algorithmen First Best 0 Hillclimbing 5 Simulated Annealing, t=const 9 Simulated Annealing, produktiv 14 Genetischer Algorithmus 11

Als Testdaten standen zur Verfügung: 10 Graphen zu realen Projekten im AB TECH

Je 10 generierte Graphen mit 20 bzw. 100 Knoten

Ausblick Steuerfunktionen für First-Best verfeinern Hybride Verfahren Nutzung des Blackboards durch verteilte Verfahren Erstellen weiterer Entscheidungsgraphen für reale Projekte