Kap. 7.6 Verbesserungsheuristiken (letzte VO)

Ähnliche Dokumente
Überblick. Motivation. Kap. 7.6 Verbesserungsheuristiken. Nachbarschaft einer Lösung Einfache lokale Suche

Verbesserungsheuristiken

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

Heuristische Verfahren

Konstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS)

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

v R n ist Abstiegsrichtung in x R n wenn f(x) v < 0 v R n ist Abstiegsrichtung in x R n wenn i=1,,d: f i

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

11. Übung zu Algorithmen I 6. Juli 2016

Synthese Eingebetteter Systeme. Übung 6

Survival of the Fittest Optimierung mittels Genetischer Algorithmen

Dynamisches Routing in der Logistik

Seminararbeit: K-Opt und die Lin-Kernighan-Heuristik für das allgemeine TSP

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Exkurs Modelle und Algorithmen

Ant Colony Optimization (ACO)

Kap. 4.7 Skiplisten. 14./15. VO DAP2 SS /16. Juni 2009

Bisher: Suche durch Lösungsveränderung Neuer Begriff: Nachbarschaft einer Lösung

Hauptseminar Repräsentationen für Optimierungsalgorithmen

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

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching

Einführung in Heuristische Suche

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

Populationsbasierte Suche. Evolutionäre Algorithmen (1)

Kap. 4.3: Das Dualitätstheorem der linearen Optimierung

Optimale Produktliniengestaltung mit Genetischen Algorithmen

Motivation Binäre Suchbäume

Sandro Pirkwieser, (Bin Hu, Jakob Puchinger) SS 2010

Bayesianische Netzwerke - Lernen und Inferenz

Approximationsalgorithmen

Genetische und Evolutionäre Algorithmen (Vol. 1)

Kap. 6.6: Kürzeste Wege

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Inhalt. 8.1 Motivation. 8.2 Optimierung ohne Nebenbedingungen. 8.3 Optimierung unter Nebenbedingungen. 8.4 Lineare Programmierung

2. Optimierungsprobleme 6

Ameisenkolonien (2) Ameisenkolonien (1)

Kap. 4.2: Binäre Suchbäume

Kap. 3: Sortieren. Überblick. Unser Sortierproblem. Motivation. Laufzeitmessung. Warum soll ich hier bleiben? Sortierverfahren sind WICHTIG!!!

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern

Systematische Suche. Alle (sinnvollen) Möglichkeiten ausprobieren. Anwendungen: Idee:

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis

Genetische Algorithmen von der Evolution lernen

Kap. 5: Graphen. Carsten Gutwenger Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund. 17. VO DAP2 SS

Heuristiken im Kontext von Scheduling

SIMULATED ANNEALING IM RAHMEN DES PS VIRTUAL LAB MARTIN PFEIFFER. Simulated Annealing Virtual Lab 1 /42

Kap. 4.2 Binäre Suchbäume ff Kap. 4.3: AVL-Bäume

Der Branching-Operator B

Softwareprojektpraktikum Maschinelle Übersetzung

Optimierung für Nichtmathematiker

Tabu Suche. Allgemein. Simple Tabu-Suche. Praktisches Beispiel. Erweiterungsmöglichkeiten. Aspirationskriterien. Verbesserungen.

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

Die Theorie der Toleranzen und deren Anwendung auf das Traveling Salesman Problem

Heuristiken und exakte Algorithmen für das verallgemeinerte Traveling Salesman Problem. Gerold Jäger

15. Elementare Graphalgorithmen

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Motivation Kap. 6: Graphen

Algorithmen und Datenstrukturen VO 3.0 Vorlesungsprüfung 19. Oktober 2007

Hochflexibles Workforce Management: Herausforderungen und Lösungsverfahren

Algorithmen und Datenstrukturen

Termine für Übungstests. Kap. 3 Sortieren HeapSort ff Priority Queues. Motivation. Überblick. Analyse SiftDown

Datenstrukturen, Algorithmen und Programmierung 2

Das Problem des Handlungsreisenden

Algorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web:

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

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Algorithmen und Datenstrukturen II

Kap. 6.5: Minimale Spannbäume

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

Algorithmen und Datenstrukturen

9 Minimum Spanning Trees

Paper Computer Science Experiment. Computation (NP-Vollständigkeit) Traveling Salesman

Clausthal C G C C G C. Informatik II Bäume. G. Zachmann Clausthal University, Germany Beispiele.

Algorithmische Graphentheorie

1. Inhaltsverzeichnis

Optimierung und Simulation

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

Evolutionäre Algorithmen - Kapitel 15

Heuristiken Greedy-Algorithmen Lokale Suche Tabu Suche

Theoretische Informatik 1

Lösungen zu Kapitel 5

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

14. Rot-Schwarz-Bäume

Polygontriangulierung

Pro Informatik 2009: Objektorientierte Programmierung Tag 18. Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik

MOP: Metaheuristiken Multipunktmethoden. Bisher: je Iteration wird ein Entscheidungsvektor variiert und bewertet. Praktische Optimierung

Simulation von Zufallszahlen. Grundlage: zufällige Quelle von Zufallszahlen, durch einfachen rekursiven Algorithmus am Computer erzeugt

Numerische Methoden und Algorithmen in der Physik

Graphenalgorithmen. Kurz-Vorstellung. Forschungsinteressen. Algorithm Engineering. Themen der VO: Probleme

Theoretische Analyse evolutionärer Algorithmen unter dem Aspekt der Optimierung in diskreten Suchräumen. Thomas Jansen

Approximationsklassen für Optimierungsprobleme

Partikelschwarmoptimierung für diskrete Probleme

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)

Approximation im Sinne der Analysis:

Kap. 4: Lineare Programmierung

Clausthal C G C C G C. Informatik II Bäume. G. Zachmann Clausthal University, Germany Beispiele. Stammbaum.

Algorithmische Methoden für schwere Optimierungsprobleme

Lösung von Optimierungsproblemen mit Monte Carlo Methoden

NP-vollständige Probleme

Transkript:

Kap. 7.6 Verbesserungsheuristiken (letzte VO) Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 25. VO DAP2 SS 2009 23. Juli 2009 1

Überblick Verbesserungsheuristiken Einfache lokale Suche Simulated Annealing Evolutionäre Algorithmen Alternative Verfahren Klausur: noch etwas unklar? 2

Motivation Warum soll ich heute hier bleiben? interessant + höchst praxisrelevant! Was gibt es heute Besonderes? Ankündigung bzgl. Klausur!!! 3

Kap. 7.6 Verbesserungsheuristiken Verbesserungsheuristiken nehmen als Input eine zulässige Lösung für ein OP und versuchen diese durch lokale Änderungen zu verbessern. 4

7.6.1 Einfache lokale Suche Local Search Def.: Die Nachbarschaft N(x) (engl: neighborhood) einer Lösung x ist die Menge aller Lösungen, die von einer aktuellen Lösung x aus durch eine kleine Änderung einen sogenannten Zug erreichbar sind. Z.B. r-nachbarschaft von x bei Rucksackproblem für festes r: Menge aller Lösungen, die sich von der Lösung x um maximal r Gegenstände unterscheiden. 5

Nachbarschaft einer Lösung Für Probleme, die sich durch binäre Vektoren kodieren lassen, ist der Hammingabstand ein sinnvoller Nachbarschaftsbegriff. Der Hammingabstand von x,y {0,1} n ist die Anzahl der i mit x i y i für i=1,,n. Nachbarn von x sind alle Punkte (entspricht Lösungen), die von x einen durch d beschränkten Hammingabstand haben. 6

Prinzip der einfachen lokalen Suche Methode: 1. Sei x eine zulässige Lösung (Input) 2. Repeat 3. Wähle y N(x) 4. If y besser als x then 5. x:=y y wird akzeptiert 6. until Abbruchkriterium erfüllt Kritisch ist Schritt 3 7

Auswahlstrategien für Schritt (3) (1) Random neighbor: Es wird eine Nachbarlösung zufällig abgeleitet schnell, aber y ist oft schlechter als x (2) Best improvement: die beste Lösung aus N(x) wird ausgewählt oft langsam (3) First improvement: N(x) wird systematisch durchsucht, bis die erste Lösung besser als x gefunden wird oder alle Nachbarn betrachtet wurden. Beste Strategie? problemabhängig aktive Forschung zu (2)

Abbruchkriterium (1) Wenn in N(x) keine Lösung existiert, die besser als die aktuelle Lösung ist, dann hat man ein lokales Optimum erreicht. (2) Definition: x ist lokales Optimum wenn f(y) f(x) für alle y N(x) bei Minimierungsaufgabe, und f(y) f(x) für alle y N(x) für Maximierungsaufgabe. (3) i.a. ist jedoch ein lokales Optimum nicht ein globales Optimum (das wir suchen) (4) Der Wert eines lokalen Optimum kann beliebig weit vom Wert eines globalen Optimum entfernt sein. 9

p T: Beispiel: 2-OPT für TSP (1) Wähle eine beliebige Anfangstour T. Die Knoten seien so nummeriert, wie sie in der Tour vorkommen: T={(1,2),(3,4),(5,6),,(n,n+1)} mit n+1=1. (2) Für alle nicht-adjazenten Kantenpaare (p,p+1),(q,q+1) Falls c p,p+1 + c q,q+1 > c pq +c p+1,q+1 dann setze: T := T \ {(p,p+1),(q,q+1)} {(p,q),(p+1,q+1)} Wiederhole (2) q q+1 p+1 p q+1 q p+1

Beispiel: r-opt für TSP (1) Wähle eine beliebige Anfangstour T. (2) Sei Z die Menge aller r-elementigen Teilmengen von T (3) Für alle R Z: setze S:=T \ R und konstruiere alle Touren, die S enthalten. Gibt es eine unter diesen, die besser als T ist, wird diese unser neues T (4) Gehe zu (2) Eine Tour, die durch einen r-austausch nicht mehr verbessert werden kann, heißt r-optimal. 11

Diskussion Einfache lokale Suche ist in der Praxis sehr beliebt: deutliche Verbesserung innerhalb kurzer Zeit möglich. Für das TSP kommt 3-Opt meist sehr nahe an die optimale Lösung (ca. 3-4% nahe am Optimum). Jedoch erhält man bereits für N 200 Städte sehr hohe Rechenzeiten, da der Aufwand pro Iteration bei O(N 3 ) liegt. In der Praxis am besten: Lin-Kernighan Heuristik (1973): r variabel, meist r {2,3}: führt zu Lösungen, die 1-2% nahe am Optimum sind. 12

7.6.2 Simulated Annealing (SA) Problem bei einfacher lokaler Suche: man bleibt relativ schnell in lokalen Optima hängen, die relativ weit von der Optimallösung entfernt sind. Denn: es werden nur bessere Lösungen akzeptiert. Simulated Annealing ist eine allgemeine Erweiterung (Meta-Heuristik) der einfachen lokalen Suche. Idee: Akzeptiere manchmal (nicht allzu-oft) auch schlechtere Lösungen 13

Idee von Simulated Annealing Kirkpatrick, Gelatt und Vecchi 1983 einfache Variante: Metropolis et al. 1953 Idee: simuliert physikalischen Prozess, ein Metall in einen Zustand möglichst geringer innerer Energie zu bringen, in dem die Teilchen möglichst strukturiert angeordnet sind. Dabei wird das Metall erhitzt und sehr langsam abgekühlt. Die Teilchen verändern anfangs ihre Positionen und damit ihre Energieniveaus sehr stark, mit sinkender Temperatur aber geringer. 14

Simulated Annealing (1) Sei x: zulässige Lösung (Input), t: Zeit; T: aktuelle Temperatur; T 0 : InitTemperatur, Z: Zufallszahl [0,1) (2) t:=0; T:=T 0 (3) Repeat (4) Wähle y N(x) zufällig (5) If y besser als x then (6) x:=y (7) else if Z < e - f(y)-f(x) / T then x:=y nur geringfügig schlechtere Lösungen werden mit höherer Wahrscheinlichkeit akzeptiert als viel schlechtere (8) t:=t+1; T:=g(T,t) (9) until Abbruchkriterium erfüllt anfangs ist T höher, d.h. Akzeptanz für schlechtere Lösungen anfangs höher 15

Steuerung von T Die Akzeptanzwahrscheinlichkeit wird von Temperatur T und Fitnessdifferenz f(y)-f(x) gesteuert. Wichtig: Geeignete Steuerung von T: anfangs T eher groß (d.h. Verschlecherung wird fast immer akzeptiert) und zuletzt T sehr klein (selten akzeptiert). T=0 entspricht der einfachen lokalen Suche, bei der immer nur bessere Lösungen akzeptiert werden. g(t,t) ist Funktion, die von T und t abhängt. 16

Steuerung von T Das Cooling-Schema beschreibt, wie T in Abhängigkeit der Zeit t vermindert wird. Geometrisches Cooling: z.b. g(t,t):=α t-1 T 0, α<1 (z.b. 0,999) Adaptives Cooling: Der Anteil der Verbesserungen an den letzten erzeugten Lösungen wird gemessen und auf Grund dessen T stärker oder schwächer reduziert. 17

Abbruchkriterien Einige Möglichkeiten: Ablauf einer bestimmten Zeit eine gefundene Lösung ist gut genug keine Verbesserung in den letzten k Iterationen 18

Bedingungen, damit SA gut funktioniert: Lokalitätsbedingung: hohe Lokalität: Eine Nachbarlösung muss aus ihrer Ausgangslösung durch eine kleine Änderung abgeleitet werden können. Dieser kleine Unterschied muss i.a. auch eine kleine Änderung der Bewertung bewirken. Erreichbarkeit eines Optimums: Ausgehend von jeder möglichen Lösung muss eine optimale Lösung durch wiederholte Anwendung der Nachbarschaftsfunktion grundsätzlich mit einer Wahrscheinlichkeit >0 erreichbar sein. 19

7.6.3 Evolutionäre Algorithmen Unter dem Begriff evolutionäre Algorithmen (EA) werden eine Reihe von Meta-Heuristiken zusammengefasst, die Grundprinzipien der natürlichen Evolution in einfacher Weise nachahmen. Z.B. genetische Algorithmen, Evolutionsstrategien, Evolutionary Programming, Genetic Programming, Unterschied zu Simulated Annealing: Es wird nicht mehr nur mit einer aktuellen Lösung gearbeitet, sondern mit einer Population (Menge) von Lösungen.

Evolutionäre Algorithmen Durch diese größere Vielfalt ist die Suche nach einer optimalen Lösung breiter und robuster, d.h. die Chance lokalen Optima zu entkommen ist größer. 21

Schema zu EA var Q s : selektierte Eltern, Q r : Zwischenlösungen (1) P:= Menge von Ausgangslösungen (2) bewerte(p) (3) Repeat (4) Q s := Selektion(P) (5) Q r := Rekombination(Q s ) (6) P := Mutation(Q r ) (7) bewerte(p) (8) until Abbruchkriterium erfüllt 22

Selektion in EA Die Selektion kopiert aus der aktuellen Population P Lösungen, die in den weiteren Schritten neue Nachkommen produzieren werden. Dabei werden grundsätzlich bessere Lösungen mit höherer Wahrscheinlichkeit gewählt. Schlechtere Lösungen haben aber i.a. auch Chancen selektiert zu werden. z.b. Tournament Selektion: Wähle k Lösungen aus P gleichverteilt zufällig aus (Mehrfachauswahl erlaubt). Die beste der k Lösungen ist die selektierte. 23

Rekombination in EA Generiere eine neue Lösung aus zwei selektierten Elternlösungen. Beachte die Lokalitätsbedingung! Beispiel: Edge-Recombination (ERX) bei TSP: Ziel: Aus den Kanten der Elterntouren T1 und T2 soll eine neue Tour erstellt werden, die möglichst nur aus Kanten der Eltern aufgebaut ist. Beginne bei v. Wiederhole: Wähle als nächstes zufällig einen unbesuchten Knoten w, der in T1 T2 adjazent zu v ist (falls existiert); Sonst wähle w zufällig aus unbesuchten Knoten; setze v:=w

Mutation in EA Mutation entspricht der Nachbarschaftsfunktion beim Simulated Annealing. Sie dient meist dazu, neue oder verlorengegangene Merkmale in die Population hineinzubringen. 25

Diskussion Evolutionäre Algorithmen werden oft in der Praxis eingesetzt Vorteil: größere Vielfalt, deswegen gut geeignet für Optimierung mit mehreren Zielfunktionen (multiobjective) Nachteil: im Vergleich zu Simulated Annealing relativ langsam LS11 und LS2 forschen u.a. auf diesem Gebiet und bieten viele LVAs diesbezüglich an auch an Local-Search-Verfahren wird noch sehr viel geforscht.

Alternative Heuristiken Es gibt noch einige andere Klassen von Meta- Heuristiken: Tabu-Suche: ähnlich wie einfache lokale Suche, bei der man auch schlechtere Lösungen akzeptiert; um cycling zu verhindern merkt man sich Lösungen, bei denen man bereits war (tabu) Ameisen-Verfahren (Ant-Colony, ACO): Pheromone Sintflut-Verfahren: entspricht SA, aber Temperatur fällt wird ersetzt durch Wasser steigt DNA-Computing: Reagenzglas 27

Weiterführende Literatur zu Optimierung Papadimitriou und Steiglitz: Combinatorial Optimization: Algorithms and Complexity, Prentice Hall, Inc., New Jersey 1982 Cook, Cunningham, Pulleyblank und Schrijver: Combinatorial Optimization, John Wiley & Sons, Chichester 1998 Aarts und Lenstra: Local Search in Combinatorial Optimization, John Wiley & Sons, Chichester 1997 Michalewicz: Genetic Algorithms+Data Structures=Evolution Programs, Springer, 1996 28

Wichtigste Themen der VO Analyse: Ο/Θ/Ω-Notation ADT Sortieren: QuickS,MergeS, CountingS, RadixSort Heap+HeapSort+Priority Queues Suchen: Binary Search Binäre Suchbäume, AVL-Bäume, B-Bäume Skiplisten Hashing: Quadratic, Double (+Brent) Graphenalgorithmen: MST, Kürzeste Wege Optimierung: Greedy-Heuristiken, Approximationsalgorithmen, B&B, DynProg, Local-Search ff

Klausur Klausur am 31. Juli 2009 um 10:15-11:45 Uhr Wo? Bitte beachten Sie die Hörsaaleinteilung im Web Den in der Vorlesung+Übung behandelten Stoff (außer Kap. 3.3 Externe Sortierverfahren ) für die Juli-Klausur gilt: nicht Kapitel 7: Optimierung Alle Teilnehmer/innen müssen angemeldet sein (s. Informationen auf Web-Seite zu DAP2 Fragen zur Zulassung bzw. Anmeldung beantwortet: dap2klausur2009@ls2.cs.tu-dortmund.de VIEL ERFOLG! 30