Moderne Heuristische Optimierungsverfahren: Meta-Heuristiken



Ähnliche Dokumente
Repräsentation von Lösungen (1)

x x x x Repräsentation von Lösungen (2) Repräsentation von Lösungen (1)

Deterministisch vs. Zufallsgesteuert

Klassifikation von Heuristiken. Meta-Heuristiken. Problembezogen: Problemspezifische Heuristiken Problemunabhängige Heuristiken

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

Moderne Heuristische Optimierungsverfahren: Meta-Heuristiken

Populationsbasierte Suche. Evolutionäre Algorithmen (1)

Konstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS)

Verbesserungsheuristiken

Kap. 7 Optimierung. Überblick. Optimierung: Einführung. Motivation. Beispiele für Optimierungsprobleme. Rundreiseprobleme (TSP)

Betriebliche Optimierung

Heuristische Verfahren

Hauptseminar Repräsentationen für Optimierungsalgorithmen

Optimierung. Vorlesung 12

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

Teil II Optimierung. Modellgestützte Analyse und Optimierung Kap. 5 Einführung Optimierung. Peter Buchholz 2006

Einführung in das Seminar Algorithmentechnik

Synthese Eingebetteter Systeme. Übung 6

Betriebliche Optimierung

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

Theoretische Grundlagen der Informatik

Ameisenkolonien (1) Idee: Reale Ameisen:

Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung. Gerold Jäger

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

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

Probleme aus NP und die polynomielle Reduktion

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

Heuristische und exakte Lösungsansätze für das Handelsreisendenproblem. Dr. Gerold Jäger

Algorithmische Methoden für schwere Optimierungsprobleme

Toleranzbasierte Algorithmen für das Travelling Salesman Problem. Gerold Jäger

Formale Grundlagen der Informatik F3: Berechenbarkeit un

10. Vorlesung Stochastische Optimierung

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

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

11. Übung zu Algorithmen I 6. Juli 2016

09. Übung zu Algorithmen I 12. Juli 2017

Die Klasse NP und die polynomielle Reduktion

Rundreisen und Touren

Theoretische Informatik II

Kap. 7.6 Verbesserungsheuristiken (letzte VO)

1 Heuristiken für das Traveling Salesman Problem

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

Der Branching-Operator B

lineare Programmierung

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

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

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Kap. 3: Exakte Lösungsverfahren für NPschwierige. Optimierungsprobleme VO Algorithm Engineering

Theoretische Grundlagen der Informatik

Ü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

Algorithmische Methoden für schwere Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme

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

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Local Search Algorithmen 1

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

Einführung in Heuristische Suche

Genetische und Evolutionäre Algorithmen (Vol. 1)

Optimale Produktliniengestaltung mit Genetischen Algorithmen

BERGISCHE UNIVERSITÄT WUPPERTAL FB B: SCHUMPETER SCHOOL OF BUSINESS AND ECONOMICS. Master of Science

Effektive Heuristiken für große Instanzen des Handelsreisendenproblems. Gerold Jäger

Große Lösungsräume. Leon Schmidtchen Hallo Welt Seminar - LS Leon Schmidtchen Große Lösungsräume Hallo Welt Seminar - LS2

2. Optimierungsprobleme 6

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

Lokale Suche. 31. Januar / 28

Betriebswirtschaftliche Optimierung

21. Dynamic Programming III

Approximation im Sinne der Analysis:

Informatik III - WS07/08

Betriebliche Optimierung

Dynamisches Routing in der Logistik

Grundlagen der Künstlichen Intelligenz

Konstruktive Heuristiken

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3

Survival of the Fittest Optimierung mittels Genetischer Algorithmen

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

Theoretische Grundlagen der Informatik

Polynomialzeit- Approximationsschema

Genetische und Evolutionäre Algorithmen (Vol. 2)

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

Wiederholung. Divide & Conquer Strategie

ADS: Algorithmen und Datenstrukturen 2

Approximationsalgorithmen. 19. Dezember / 28

Theoretische Informatik 1

Hamiltonsche Graphen

Vorlesung Kombinatorische Optimierung (Wintersemester 2007/08)

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Euklidische Distanzmatrizen. Andrei Grecu

3.6 Branch-and-Bound-Verfahren

Laufzeit einer DTM, Klasse DTIME

Vorlesung Kombinatorische Optimierung (Wintersemester 2014/15)

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.

Transkript:

Moderne Heuristische Optimierungsverfahren: Meta-Heuristiken pmerz@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik - WSI-RA Sand 1, Raum A 316

Lerninhalte Einführung in Optimierungsprobleme Lösungsverfahren für kombinatorische und nichtlineare Optimierungsprobleme Lokale Suchverfahren und deren Vor- und Nachteile Moderne Ansätze (Meta-Heuristiken) und deren Leistungsfähigkeit Methoden zur systematischen empirischen Untersuchung von (Meta-)Heuristiken Anwendungsmöglichkeiten von (Meta-)Heuristiken Folie 2

Gründe Driving Forces Kombinatorische/nichtlineare Optimierungsprobleme treten in sehr vielen Anwendungsbereichen auf Es gibt keine generelle/universelle Lösungsmethode Neue algorithmische Ideen Naturinspirierte Suchverfahren Hybride Algorithmen Verständnis des Verhaltens der Algorithmen notwendig Übertragung der Verfahren auf neue Anwendungsgebiete durch schnelle Hardwareentwicklung möglich Folie 3

Inhalte der Vorlesung (1) Vorläufiger Inhalt: Einleitung Optimierungsprobleme Exakte Verfahren vs. Heuristiken Klassifikation von Heuristiken Konstruktionsheuristiken Problemabhängige Heuristiken Greedy-Strategien Nachbarschaftssuche Lokale Suche Simulated Annealing Tabu Search Folie 4

Inhalte der Vorlesung (2) Fitnesslandschaften Modell und Definition Effektivität von Heuristiken Populationsbasierte Heuristiken Evolutionäre Algorithmen Partikel-Schwärme Populationsbasiertes Inkrementelles Lernen Ameisenkolonien Scatter Search,... Anwendungsgebiete Optimierung in der Bioinformatik und Bildverarbeitung Folie 5

Literatur zur Vorlesung Folien zur Vorlesung im Netz als PDF. Weitere Literatur: D. Corne, M. Dorigo und F. Glover: New Ideas in Optimization, McGraw Hill, 1999. Z. Michalewicz und D. B. Fogel: How to Solve It: Modern Heuristics, Springer-Verlag, 1999. C. Reeves: Modern Heuristic Techniques for Combinatorial Problems, McGraw Hill, 1995. E.H.L. Aarts, J.K. Lenstra (editors): Local search in Combinatorial Optimization, John Wiley Sons, 1997. Folie 6

Optimierungsprobleme Was ist ein Optimierungsproblem? Betriebswirtschaftlich: Entscheidungssituation, in der ein vorgegebener Nutzen in kostenminimaler Weise zu realisieren ist, wobei aus mehreren Alternativen eine nach speziellen Kriterien ausgewählt wird. Mathematisch: Zu einer Funktion soll ein Eingabewert gefunden werden, so dass die Funktion einen minimalen Wert annimmt, wobei i. A. eine Beschränkung für die Eingabewerte existiert. Folie 7

Arten von Optimierungsproblemen (1) Lineare Programmierung (LP): Lineare Zielfunktion, lineare Nebenbedingungen Effizient lösbar durch Simplexmethode, Interior Point Methode min f mit ( x) Ax x x = c b 0 R T n x Nichtlineare Programmierung (NLP): Minimierungsfunktion ist mindestens quadratisch Varianten: linear beschränkte Optimierung, quadratische Programmierung Allgemein nicht effizient lösbar Folie 8

Arten von Optimierungsproblemen (2) Integer Programmierung (IP) Wie LP/NLP jedoch: x Z n Spezialfall: 0/1 IP mit bool schen Variablen Linear (ILP) oder nicht linear (IP) Mixed Integer Programmierung (MIP) Mischung von reellwertigen und ganzen Zahlen MILP oder MIP Kombinatorische Optimierung Mathematisch gleichbedeutend mit IP/ILP Permutations-, Reihenfolge-Probleme, Zuordnungs- Probleme, Finden von Teilmengen Folie 9

Kombinatorische Optimierungsprobleme Definition: Ein KOP ist ein Maximierungs- oder Minimierungsproblem und besteht aus: 1. Einer Menge D P von Instanzen, 2. Einer endlichen Menge S P (I) von (möglichen) Lösungen für jede Instanz I D P,und 3. Einer Funktion m P, die jeder Lösung x S P (I) zu jeder Instanz I D P, einen positiven, reellwertigen Lösungswert m P (x,i) zuordnet. Optimale Lösung: x* S P (I) mit m P (x,i) m P (x*,i) x S P (I) (Maximierung) x* S P (I) mit m P (x*,i) m P (x,i) x S P (I) (Minimierung) Folie 10

Problem des Handlungsreisenden Traveling Salesman Problem (TSP): Gesucht: eine Rundreise durch n Städte, jede Stadt darf nur einmal besucht werden. Ziel: Die zurückgelegte Wegstrecke soll minimal sein. n 1 ( π ) = dπ ( i), π ( i+ 1) dπ ( n), π i= 1 L + Lösung: Reihenfolge der Städte: {π(1),π(2),...,π(n)} eine Permutation der Menge {1,2,...,n}. Die Distanzmatrix (d i,j ) gibt die Entfernungen der Städte an. (1) Folie 11

Problem des Handlungsreisenden (1) Traveling Salesman Problem als ILP: min Lx ( ) = n i=1,i j n i=j,j i n i= 1 mit x = 1 j {1,..., n} ij ij ij x = 1 i {1,..., n} ij i Q j V Q d x x 1 Q {1,..., n} ij 1 10 4 9 6 8 2 3 5 7 Constraints verletzt! Folie 12

Problem des Handlungsreisenden (2) Traveling Salesman Problem als ILP: min Lx ( ) = n i=1,i j n i=j,j i n i= 1 mit x = 1 j {1,..., n} ij ij ij x = 1 i {1,..., n} ij i Q j V Q d x x 1 Q {1,..., n} ij 1 10 4 9 6 8 2 3 5 7 Constraints verletzt! Folie 13

Problem des Handlungsreisenden (3) Traveling Salesman Problem als ILP: min Lx ( ) = n i=1,i j n i=j,j i n i= 1 mit x = 1 j {1,..., n} ij ij ij x = 1 i {1,..., n} ij i Q j V Q d x x 1 Q {1,..., n} ij 1 10 4 9 6 8 2 3 5 7 Alle Constraints erfüllt! Folie 14

Graph-Partitionierungsproblem Graph Partitioning Problem (GPP): Gesucht: Zerlegung eines Graphen G=(V,E) in k gleich große Teilmengen. Ziel: Die Anzahl der Kanten zwischen den Teilmengen soll minimal sein. c( V 1,..., V k ) = e( V 1,..., V k ) e( V 1,..., V k ) = {( i, j) E l {1,..., k}: i V l i V l } Allgemeinerer Fall: gewichtete Kanten Minimierung der Summe der Kantengewichte von e Spezialfall k = 2: Graph Bipartitioning (GBP) Folie 15

Graph-Bipartitionierungsproblem Graph Bipartitioning Problem (GBP): Zerlegung eines Graphen in k=2 gleich große Teilmengen. 4 9 6 8 12 2 1 10 11 3 7 5 Cut, c(v b,v r ) = 3 Folie 16

Quadratisches Zuweisungsproblem Quadratic Assignment Problem (QAP): Gesucht: Zuordnung von n Objekten zu n Positionen Gegeben: - Fluß f ij von Objekt i nach Objekt j - Entfernung d ij von Position i und Position j Ziel: Minimierung des Produktes aus Fluß und Entfernung C n n ( π ) = d i, j fπ ( i), π i= 1 j= 1 ( j) Lösung: Permutation π, π(i)=j bedeutet eine Zuweisung von Objekt j zu Position i Folie 17

Binäre quadratische Optimierung Binary Quadratic Programming (BQP): Gesucht: binärer Vektor, der eine quadratische Funktion f(x) maximiert. Gegeben: n x n Matrix Q=(q ij ). f ( x) t = x Qx = q n n i= 1 j= 1 ij x i x j, x i {0,1} Spezialfälle: Maximum Clique, Maximum Independent Set, Maximum Cut Problem Folie 18

Transportoptimierung (1) Vehicle Routing Problem (VRP): Gegeben: n Kunden, m LKW und 1 Depot. Gesucht: m Touren um alle n Kunden zu bedienen. Ziel: Minimierung der zurückgelegten Wegstrecke: m L( π ) ( dπ i), π ( i+ 1) + dπ ( l ),0 + d0, π (1) ) j= 1 l j 1 = i= 1 j ( j j j j l j : Anzahl Kunden für LKW j π j : Besuchsreihenfolge für LKW j Folie 19

Transportoptimierung (2) Capacitated Vehicle Routing Problem (CVRP): Wie VRP nur mit zusätzlichen Restriktionen für die Beladung der LKW: Das Gesamtgewicht darf die Kapazität C j der einzelnen LKW nicht überschreiten: lj 1 i= 1 w π i C j j 1,..., m j ( ) = W k : Gewicht der Ware für Kunde k C j : Maximales Beladungsgewicht Time constrained VRP: Zeitlimit pro Kunde, Zeitlimit pro Route VRP with time windows: Für jeden Kunden gibt es ein Zeitfenster zur Belieferung. Folie 20

Rucksackproblem Multidimensional Knapsack Problem (MKP): Gegeben: m Rucksäcke und n Gegenstände Ziel: Profitmaximierung unter Berücksichtigung des Gewichtes P( x) = n i= 1 c i x i mit n i= 1 w ij x i W j c i : Profit zu Gegenstand i w ij : Gewicht von Gegenstand i in Rucksack j W j : Maximalgewicht von Rucksack j Folie 21

Klassifizierung von KOP Arten nach Aufgabenstellung, zum Beispiel: Zuweisung Reihenfolgebestimmung Partitionierung Teilmengenbestimmung Art der Nebenbedingungen: Keine Constraints (BQP) Implizite Constraints (TSP,QAP) Explizite Constraints (MKP) Implizite und explizite Constraints (VRP) Folie 22

Kombinatorische Optimierung Kombinatorische Optimierung heißt: Endliche Anzahl von möglichen Lösungen Schnell wachsende Zahl der Lösungen, idr. exponentiell mit der Problemgröße Problemgröße: Eigenschaft der Datenmenge einer Instanz bzw. Lösung Bsp. TSP: - Anzahl n der Städte - Länge der Permutation π zur Beschreibung der Besuchsreigenfolge - Der Lösungsraum S hat die Größe S =(n-1)!/2 Folie 23

Komplexität Wachstum des Suchraums: n 10 100 1000 10000 n 2 100 10000 10 6 10 8 n 3 10 3 10 6 10 9 10 12 2 n 1024 10 30 10 301 10 3010 n! 10 6 10 157 10 2567 10 35659 Vergleich: Anzahl der Atome im Universum ca. 10 80 Alter des Universums ca. 5 x 10 7 s Folie 24

Komplexitätstheorie (1) Theorie der NP-Vollständigkeit Klassifikation der Probleme aufgrund der Schwierigkeit ihrer algorithmischen Lösung Klassifikation aufgrund des besten bekannten Algorithmus für ein Problem Klassifikation über asymptotisches Verhalten der Algorithmen Beschränkungen der NP-Vollständigkeit Nur Zeitkomplexität Worst-Case Analyse der Algorithmen Nur Entscheidungsprobleme (Probleme die Ja oder Nein liefern) Folie 25

Komplexitätstheorie (2) Zeitkomplexität Wird gemessen an der Anzahl elementarer Operationen Formalisierung mittels O( )-Notation: - Sei f,g : N N - Dann f(n) O(g(n)), falls positive natürliche Zahlen c und n 0 existieren, so dass für alle n n 0 gilt: f(n) c g(n) Ein Algorithmus ist polynomial, falls seine Zeitkomplexität in O(p(n)) ist, wobei p(n) ein Polynom ist. Ein Algorithmus ist exponentiell, wenn Zeitkomplexität nicht polynomial beschränkbar ist. Polynomial beschränkt / polynomiell effizient Exponentiell ineffizient Folie 26

NP-Vollständigkeit (1) Grundlegende Klassen: Klasse P: Entscheidungsprobleme, die mit einem polynomiellen Algorithmus gelöst werden können Klasse NP: Entscheidungsprobleme, die mit einem nichtdeterministischen polynimiellen Algorithmus gelöst werden können Nichtdeterministischer Algorithmus: - In der ersten Phase wird eine Lösung geraten (nichtdet. Turingmaschine) - In der zweiten Phase wird deterministisch in polynomieller Zeit die Lösung verifiziert P NP, aber: P = NP? Allgemein anerkannte Annahme: P NP! Folie 27

NP-Vollständigkeit (2) Polynomielle Reduzierbarkeit: Ein Problem Π ist polynomiell reduzierbar auf ein Problem Π, falls ein poynomieller Algorithmus existiert, der jede Instanz von Π in eine Instanz von Π transformiert und für jede Instanz von Π ein Ja ausgegeben wird, gdw. Ja für die entsprechende Instanz von Π ausgegeben wird. NP-Vollständigkeit: Ein Problem P ist NP-vollständig, genau dann wenn 1. Π ist in NP und 2. Für alle Π in NP gilt, das Π polynomiell reduzierbar auf Π ist. Folie 28

NP-Vollständigkeit (3) Anmerkungen: Klasse der NP-vollständigen Probleme umfasst die schwersten in NP Wird ein polynimal beschränkter Algorithmus für ein Problem aus NP gefunden, gilt P=NP! Es ist unwahrscheinlich, dass für ein NP-vollständiges Problem ein polynomieller Algorithmus gefunden wird! Beweis der NP-Vollständigkeit: 1. Zeige, dass Problem in NP liegt 2. Wähle bekanntes, NP-vollständiges Problem und konstruiere Transformation auf das neue Problem 3. Zeige, dass Transformation polynomial beschränkt ist Folie 29

NP-harte Optimierungsprobleme Erweiterung auf Optimierungsprobleme: Offensichtlich nicht leichter als die Entscheidungsvariante Optimierungsvariante nicht in NP Optimierungsproblem löst das Entscheidungsproblem Neuer Begriff: NP-hart NP-harte Probleme: Ein Problem ist NP-hart, genau dann wenn für alle P in NP gilt, dass Π polynomiell reduzierbar auf Π ist. Viele kombinatorische Optimierungsprobleme sind NP-hart! Folie 30

Exakte Verfahren Vollständige Enumeration: Möglich, da endlich großer Suchraum Nicht praktikabel, da exponentielle Laufzeit Implizite Enumeration: Suchraum wird durch einen Suchbaum eingeteilt Effizienzsteigerung durch Elimination von Teilbäumen: - Branch Bound - Branch Cut Folie 31

Branch Bound Suchbaumverfahren für Optimierungsprobleme: Zusätzliche Berücksichtigung von Lösungskosten Branching: Verzweigung innerhalb des Suchbaums und Betrachtung von (disjunkten) Teilproblemen Bounding: Verwendung oberer und unterer Schranken für Zielfunktionswerte Obere Schranke: Beste gefundene Lösung (Minimierung) Untere Schranke: Günstigste Vervollständigung einer partiellen Lösung / (Diskrete) Relaxation des Problems Falls untere Schranke größer als obere Schranke, kann Teilbaum eliminiert werden. Folie 32

Branch Cut Ähnlich Branch Bound, aber: Verwendung der LP-Relaxation des Problems für untere Schranken: ILP LP Verwendung leistungsfähiger Heuristiken für obere Schranken Iterativer Ansatz: Stellt die aktuelle Lösung des LP-Problems nicht das Optimum dar, wird eine neue Gleichung eingefügt, um die Lösung zu entfernen (cut) und das neue LP wird mit Simplex-Algorithmus oder anderen LP-Algorithmen gelöst. Schwierigkeit: Das Finden zulässiger Cuts Relaxation: Entfernung von Constraints, um das Problem leichter lösbar zu machen Folie 33

Exakte Lösung des TSP (1) Historie der Rekorde bei der exakten Lösung von TSP-Instanzen mit Branch Cut: Jahr Forschergruppe n 1954 G. Dantzig, R. Fulkerson und S. Johnson 49 Städte 1971 M. Held und R.M. Karp 64 Städte 1975 P.M. Camerini, L. Fratta und F. Maffioli 100 Städte 1977 M. Grötschel 120 Städte 1980 H. Crowder und M.W. Padberg 318 Städte 1987 M. Padberg und G. Rinaldi 532 Städte 1987 M. Grötschel und O. Holland 666 Städte 1987 M. Padberg und G. Rinaldi 2,392 Städte 1994 D. Applegate, R. Bixby, V. Chvátal und W. Cook 7,397 Städte 1998 D. Applegate, R. Bixby, V. Chvátal und W. Cook 13,509 Städte 2001 D. Applegate, R. Bixby, V. Chvátal und W. Cook 15,112 Städte Folie 34

Exakte Lösung des TSP (2) Aktueller Rekord: n=15112 Städte ergibt Suchraumgröße S >10 56592 Netzwerk von 110 Prozessoren von der Rice University und der Princeton University Rechenzeit: 22.6 Jahre, skaliert auf Compaq EV6 Alpha Prozessor mit 500 MHz Folie 35

Exakte Verfahren vs. Heuristiken (1) Generell: Exakte Verfahren nur bei kleiner Problemgröße anwendbar Branch Cut: Sehr hohe Rechenzeit Bei TSP sehr leistungsfähig Aber nicht leicht übertragbar auf andere Probleme Theorie für das Finden von Cuts notwendig Gute Verfahren werden für obere Schranken benötigt Alternativen zu exakten Verfahren sind nötig! Folie 36

Exakte Verfahren vs. Heuristiken (2) Heuristik: Griechisch heuriskein: Finden, entdecken Eine Technik zur Suche von guten (nahezu optimalen) Lösungen für ein Optimierungsproblem in möglichst kurzer Zeit Ohne Gültigkeit oder Optimalität zu garantieren! In vielen Fällen wird nicht mal eine Aussage getroffen, wie nahe die gefundene Lösung am Optimum liegt. Folie 37

Klassifikation von Heuristiken Problembezogen: Problemspezifische Heuristiken Problemunabhängige Heuristiken Nach Komplexität: Einfache Heuristiken Hybride Heuristiken Nach Methodik: Konstruktionsheuristiken Verbesserungsheuristiken Deterministisch vs. Zufallsgesteuert Folie 38

Meta-Heuristiken Was sind Meta-Heuristiken? Kombinieren unterschiedliche Suchstrategien - Intensifikation und Diversifikation - Lokale und globale Suche - Konstruktion und Verbesserung - Populations- und Individuensuche - Meta-Algorithmus steuert eingebetteten Algorithmus Problemunabhängigkeit - Kapselung der problemspezifischen Komponenten - Leichte Übertragung auf neue Probleme Folie 39

Konstruktionsheuristiken Vorgehen: Eine Lösung wird schrittweise aufgebaut In jedem Schritt wird eine Lösungskomponente gewählt Wahl in Abhängigkeit von Regeln Ziel der Regeln: Eine möglichst gute Lösung zu produzieren Maximierung der erwarteten Lösungsgüte Häufig verwendete Strategie: Greedy (gierige) Auswahl der Lösungskomponenten, d.h. momentane Gewinnmaximierung Folie 40

GBP: Greedy-Heuristiken Vorgehen: Partitionierung der Knotenmenge durch schrittweises Zuweisen der Knoten zu den zwei Mengen Abwechselndes Hinzufügen von Knoten zu den 2 Mengen Greedy-Strategien zur Wahl der Knoten: - Minimierung der der neuen Kanten zwischen den Mengen (externe Kanten, E i ), bei mehreren Kandidaten: maximiere Kanten innerhalb der Mengen (interne Kanten, I i ) - Minimierung der Differenz zwischen externen und internen Kanten Folie 41

GBP: Differential Greedy (1) Vorgehen (Wahl der Knoten): Minimierung der Differenz der neuen Kanten zwischen den Mengen (externe Kanten, E i ) und den Kanten innerhalb der Mengen (interne Kanten, I i ) Bei mehreren Kandidaten zufällige Auswahl 1 10 4 11 6 3 7 8 12 Rot:12, d(12)=e 12 -I 12 =0 1= -1 d(4)=-1, d(3)=0, d(6)=2 9 5 2 Folie 42

GBP: Differential Greedy (2) Vorgehen (Wahl der Knoten): Minimierung der Differenz der neuen Kanten zwischen den Mengen (externe Kanten, E i ) und den Kanten innerhalb der Mengen (interne Kanten, I i ) Bei mehreren Kandidaten zufällige Auswahl 1 10 4 11 6 3 7 8 12 Blau: 6, d(6)=e 6 -I 6 =1-2=-1 d(4)=1-0=1, d(3)=2-1=1 9 5 2 Folie 43

TSP: Nächster-Nachbar Heuristik Nearest Neighbor Heuristic: Beginnend mit einem Startknoten wird als nächstes der verfügbare Knoten mit der kürzesten Entfernung gesucht und Kante eingefügt Gierig, da aktuell bestmögliche Wahl getroffen wird Ein Endpunkt der Kante ist fix 1 10 4 6 3 7 8 9 5 2 Folie 44

TSP: Greedy Heuristik Greedy Heuristic: Beginnend mit der kürzesten Kante werden schrittweise Kanten hinzugefügt, bis Tour komplett In jedem Schritt wird die kürzmöglichste Kante gewählt ohne die Constraints zu verletzen Gierig, da aktuell bestmögliche Wahl getroffen wird 1 10 4 6 3 7 8 9 5 2 Folie 45

TSP: Einfüge-Heuristiken (1) Insertion Heuristics: Beginnend mit einer Tour bestehend aus einer Stadt werden Städte hinzugefügt bis alle Städte besucht sind Verschiedene Strategien existieren: - Nearest Insertion: Einfügen der Stadt mit geringster Distanz zu einer Stadt aus der Tour - Farthest Insertion: Einfügen der Stadt, bei der die geringste Distanz zu einer Stadt aus der Tour maximal ist - Cheapest Insertion: Einfügen der Stadt, die die geringste Zunahme der Tourlänge bewirkt Einfügeposition: - Wahl durch Minimierung der Tourlängenzunahme (insertion) - Nach der nächstgelegenen Stadt in der Tour (addition) Folie 46

TSP: Einfüge-Heuristiken (2) Insertion-Heuristik: Beispiel der Nearest Insertion Strategie: 4 9 4 9 6 8 2 6 8 2 1 3 1 3 10 7 5 10 7 5 Einfügereihenfolge: 1, 10, 6, 3, 7, 8, 4, 9, 2, 5 Folie 47

TSP: Vergleich Konstruktionsheuristiken (1) Wie wird verglichen: Laufzeit: Durch Zeitkomplexität Speicherbedarf: Speicherkomplexität Vergleich anhand von TSP-Instanzen aus der TSPLIB Lösungsgüte: Abweichung vom Optimum in Prozent (Percentage Excess) Lx ( ) heu qx ( ) = 1 100% Lx ( opt ) q(x)=100%: Doppelte Tourlänge q(x)=0.0%: Optimale Tourlänge Folie 48

TSP: Vergleich Konstruktionsheuristiken (2) Ergebnisse: Aus Reinelt 94, gemittelt über 24 Instanzen (n=198 5934) 1. Nearest Neighbor: O(n 2 ) O(n) 26.27% 2. Greedy: O(n 2 log n) O(n 2 ) 11.96% 3. Nearest Insertion: O(n 2 ) O(n) 20.98% 4. Farthest Insertion: O(n 2 ) O(n) 13.99% 5. Cheapest Insertion: O(n 2 log n) O(n 2 ) 17.23% Es existieren schelle Varianten, wie 1. Bentley s Greedy: O(n log n) O(n) ca. 16% 2. Bentley s NN: O(n log n) O(n) ca. 26% Folie 49

Verbesserungsheuristiken Vorgehen: Eine bestehende Lösung wird schrittweise verbessert, bis keine Verbesserung mehr erreicht werden kann IdR. wird geprüft, ob geringfügige Veränderungen bessere Lösungen im Sinne der Zielfunktion liefern Lokale Suche (local search) Lokale Suche: Eigenschaft: Es werden lokal optimale Lösungen erzeugt Globale Optima sind auch lokale Optima, aber nicht umgekehrt Voraussetzung: eine gültige Lösung Folie 50

Lokale Suche Algorithmus (Maximierung): 1. Verändere Lösung x x 2. Wenn f(x ) > f(x) x = x ; 3. Wenn für alle x gilt: f(x ) < f(x), dann stop 4. sonst weiter mit Schritt 1 Lösungsveränderung: Veränderung mit geringfügiger Zielfunktionsveränderung Veränderung einzelner Komponenten des Lösungsvektors Beachtung der Nebenbedingungen Folie 51

GBP: Lokale Suche Lösungsveränderung durch Tausch eines Knotens aus Menge 1 mit einem Knoten aus Menge 2 Tausch von mehreren Knoten aus Menge 1 mit gleichviel Knoten aus Menge 2 Mengen bleiben gleich groß Berechnung des Gewinns: Nach Tausch von i und j werden von i und j externe Kanten zu internen Kanten und umgekehrt Summe aus Differenz von externen und internen Kanten: c = E i I i + E j - I j 2 a ij - a ij ist die Adjazenzmatrix des Graphen Folie 52

GBP: 2-opt Lokale Suche 2-opt: (Pairwise Exchange) Tausch eines Knotens aus Menge 1 mit einem Knoten aus Menge 2 4 9 Dc = E 3 I 3 + E 6 I 6 2 a ij =2 1 + 3 1 + 0 = 3 4 9 6 8 12 2 6 8 12 2 1 10 11 3 7 5 1 10 11 3 7 5 Cut, c(v b,v r ) = 6 Cut, c(v b,v r ) = 3 Folie 53

GBP: Kernighan-Lin Lokale Suche 2-opt: Austausch von 2 Knoten O(n 2 ) Möglichkeiten für Tausch (n= V ) k-opt: Austausch von k Knoten O(n k ) Möglichkeiten für Tausch Laufzeitreduktion auf O(n 2 ) durch Idee von Kernighan und Lin: nur eine Teilmenge aller Möglichkeiten wird betrachtet in Abhängigkeit eines Gewinnkriteriums Durch geeignete Datenstrukturen kann Laufzeit auf O( E ) pro Iteration reduziert werden Idee wird Kernighan-Lin Heuristik (1970) genannt Ähnlich zur Lin-Kernighan Heuristik (1973) fürs TSP Folie 54

TSP: Lokale Suche Lösungsveränderung durch Städtetausch (Knotentausch) Entfernen und Einfügen eines Knoten an anderer Position Entfernen und Einfügen einer Kante an anderer Position Kantentausch (2 Kanten, 3 Kanten, k Kanten) Berechnung des Gewinns Gewinn (Tourlängenverkürzung) = alte Tourlänge neue Tourlänge = Summe der Kanten, die entfernt werden minus Summe der Kanten die hinzugefügt werden Folie 55

TSP: Knotentausch (node exchange) Bsp.: Knoten 6 und 3 werden vertauscht 4 9 4 9 6 8 2 6 8 2 1 3 1 3 10 7 5 10 7 5 Gewinn: g = d(1,3) + d(3,4) + d(5,6) + d(6,7) ( d(1,6) + d(6,4) + d(5,3) + d(3,7) ) Folie 56

TSP: Knotenwiedereinfügen (node insertion) Bsp.: Knoten 3 wird zwischen 5 und 7 eingefügt 4 9 4 9 6 8 2 6 8 2 1 3 1 3 10 7 5 10 7 5 Gewinn: g = d(6,3) + d(3,4) + d(5,7) ( d(6,4) + d(5,3) + d(3,7) ) Folie 57

TSP: Zwei-Kantentausch (2-opt) Bsp.: Kanten (1,3) + (6,7) werden mit (1,6) + (3,7) getauscht 4 9 4 9 6 8 2 6 8 2 1 3 1 3 10 7 5 10 7 5 Gewinn: g = d(1,3) + d(6,7) ( d(1,6) + d(3,7) ) Folie 58

TSP: Drei-Kantentausch (3-opt) Bsp.: Kanten (1,8) + (3,4) + (5,6) werden mit (1,6) + (4,8) + (3,5) getauscht 4 9 4 9 6 8 2 6 8 2 1 3 1 3 10 7 5 10 7 5 Gewinn: g = d(1,8) + d(3,4) + d(5,6) ( d(1,6) + d(4,8) + d(3,5) ) Folie 59

TSP: Lokale Suche im Vergleich Ergebnisse: Aus Reinelt 94, gemittelt über 24 Instanzen (n=198 5934) Heuristik Zeit/Iteration Kanten q(x) RT + Node exchange O(n 2 ) 4 >100% RT + Node insertion (ni) O(n 2 ) 3 97.18% NN + Node insertion (ni) O(n 2 ) 3 16.59% RT + 2-opt O(n 2 ) 2 14.67% NN + 2-opt O(n 2 ) 2 8.42% RT + 2-opt/ni O(n 2 ) 3 9.62% NN + 2-opt/ni O(n 2 ) 3 5.80% RT + 3-opt O(n 3 ) 3 8.01% NN + 3-opt O(n 3 ) 3 5.00% RT: Zufällige Startlösungen, NN: Nearest-Neighbor Lösungen Folie 60

TSP: Schnelle lokale Suche (1) Ziel: Laufzeitreduktion auf O(n) pro Iteration 2-opt: d(t 2,t 1 ) + d(t 4,t 3 ) > d(t 2,t 3 ) + d(t 4,t 1 ) d(t 2,t 3 ) < d(t 2,t 1 ) oder d(t 4,t 1 ) < d(t 2,t 1 ) Übertragung auf 3-opt möglich Kandidaten für t 3 (t 5 ) in aufsteigender Reihenfolge betrachten bis d(t 2,t 3 ) > d(t 2,t 1 ) oder bis k nächsten Nachbarn von t 2 (t 4 ) Folie 61

TSP: Schnelle lokale Suche (2) Zu Berechnen: Für jede Stadt k nächste Nachbarn A priori durch Heapsort : O(n 2 log k) A priori durch 2-dim. Suchbäume: O(n log n + nk) Weitere Laufzeitreduktion - don t look bits: Wenn für ein t 1 kein tourverkürzender Kantentausch gefunden werden konnte, wird don t look bit für t 1 gesetzt Ein don t look bit für t 1 wird gelöscht, wenn t 1 Endpunkt einer entfernten Kante ist Alle Kandidaten für t 1, deren don t look bit gesetzt ist, werden nicht betrachtet Anfangs sind alle don t look bits gelöscht Folie 62

TSP: Konstruktionsheuristik + Lokale Suche Ergebnisse: Aus Merz 96, gemittelt über 18 Instanzen (n=51 3038) Heuristik Ohne LS 2-opt Nearest Neighbor 20.75% 5.35% Nearest Insertion 21.70% 9.67% Farthest Insertion 10.38% 7.48% Cheapest Insertion 17.36% 7.79% Aus Johnson 96, (n=1000) Heuristik Ohne LS 2-opt 3-opt Random 2150% 7.9% 3.8% Nearest Neighbor 25.9% 6.6% 3.6% Greedy 17.6% 4.9% 3.1% Folie 63

TSP: Die Lin-Kernighan-Heuristik (1) Idee von Lin-Kernighan (LK): Statt 2 oder 3 Kanten wie in 2-opt/3-opt in jeder Iteration k Kanten tauschen! Lauftzeit sehr hoch: O(n k ) Möglichkeiten Ab k=4 nicht mehr praktikabel und Tourlängenreduktion gering Betrachtung einer kleinen Teilmenge aller O(n k ) Kombinationen sequentieller Kantentausch Tiefensuche, k ist variabel Tiefensuche besteht aus k Tauschoperationen, die zur Verkürzung der Tour führen, einzelne Tauschop. Können Tour verlängern Folie 64

TSP: Die Lin-Kernighan-Heuristik (2) Algorithmus: Schrittweiser Tausch von * k k 1 2k 1 gegen Gewinn in Schritt i: g = du (, u ) du (, u ) = x y i 2i 1 2i 2i 2i+ 1 i i Bedingung für Tiefensuche: G = g > 0 k = 1 Effektiver Tausch nach n Schritten: k Kanten mit G = G + du (, u x 2k 2k 1 i i i y i k ) du (, u ) > 0 maximal (2 k n) Folie 65

TSP: Die Lin-Kernighan-Heuristik (3) Backtracking: Betrachtung von Alternativen zu y 1, x 2, y 2 Dadurch: Alle 2-opt und 3-opt Züge enthalten Reduktion des Suchraums: Nur sequentieller Kantentausch, d.h. x i und y i teilen sich einen Endpunkt Nicht-Sequentieller Kantentausch Folie 66

TSP: Vergleich 3-opt und LK-Heuristik Ergebnisse nach Johnson 96: Startlösungen: Randomized Greedy Zusätzliche Datentypen: (notwendig für große n) - Cache für Distanzberechungen, keine Distanzmatrix - Two-Level Tree für Touren Heuristik n=1000 10000 100000 3-opt <3.1% <3.0% <3.0% 0.41s 4.7s 69s Lin-Kernighan <2.0% <2.0% <2.0% 0.77s 9.8s 151s CPU-Zeiten: 150 MHz SGI Challenge Folie 67

Lokale Suche und Nachbarschaften Bisher: Suche durch Lösungsveränderung Neuer Begriff: Nachbarschaft einer Lösung Nachbarschaft ist Menge der Lösungen, die von einer gegebenen Lösung durch eine einfache (lokale) Veränderungsoperation (Zug/move) erreicht werden können TSP: N 2-opt (s) ist die Menge der Lösungen die durch einen Zweikantentausch von s erreicht werden können GBP: N 2-opt (s) ist die Menge der Lösungen die durch den Tausch von zwei Knoten erreicht werden können Folie 68

Lokale Suche - Pseudo Code Neue Definition (Minimierung): g(s*,s) = f(s) - f(s*) function localsearch(s : S) : S begin repeat Wähle s* N(s); if g(s*, s) > 0 then s = s*; until " s* N(s) : g(s*, s) 0; return s; end; Folie 69

Strategien zur Nachbarschaftssuche Strategien für die Wahl aus N(s): Auswahl in zufälliger Reihenfolge Auswahl in systematischer Reihenfolge First Improvement: Wähle erstes s das Gewinn erhöht Best Improvement: Wähle s mit maximalem Gewinn Unbekannte Größe: Anzahl der Iterationen bis lokales Optimum erreicht ist Begrenzung der Iterationen manchmal sinnvoll Folie 70

Effizienz der Nachbarschaftssuche Effizienzgrund: Geringfügige Änderung im Lösungsvektor kann meist sehr schnell evaluiert werden Berechnung des Gewinns um Größenordnungen schneller als die komplette Berechnung der Zielfunktion einer Lösung Beispiel TSP: - 2-opt Kantentausch-Berechnung in O(1) - Tourlängenberechnung in O(n) Durch Berechnung der Differenz des Gewinnes kann in manchen Fällen Effizienz noch gesteigert werden Folie 71

BQP: Effiziente Gewinnberechnung (1) Zielfunktion BQP: x ' k = 1 x k n n fx ( ) = qxx, x {0,1} i= 1 j= 1 Gewinn g k bei flippen von Bit k: n n ' ' k(, ') = ( ') ( ) = ij( i j i j) i= 1 j= 1 g xx fx fx q xx xx ij i j i n n ' ' ' kk( k k) ik( i k i k) kj( k j k j) i= 1, i k j= 1, j k = q x x + q xx xx + q xx xx n ' ' ( ) 2 ( ) kk k k ik i k k i= 1, i k = q x x + q x x x Folie 72

BQP: Effiziente Gewinnberechnung (2) Trick: Betrachtung der Änderung von Gewinn g: Update-Regel für Gewinn g i bei flippen von Bit k: g k = q x x x x i k ' ' i( ) 2 ik( i i)( k k) Update für Bit k: g k = -g k Update nur für g i mit q ik ¹0 nötig: g i =g i + g i Effizienzsteigerung: Berechnung von f(x) O(n 2 ) Berechnung von g k O(n) Berechnung von g k O(1) Folie 73

Nachteil der Nachbarschaftssuche Problematik: Bessere Lösungen außerhalb der Nachbarschaft werden nicht gefunden Lösungen sind lokal optimal Lösungsansätze: Starten der lokalen Suche mit verschiedenen Startkonfigurationen Meta-Heuristiken Working Definition: Eine Meta-Heuristik ist ein allgemein anwendbares Verfahren um zugrundeliegene, problemspezifische Heuristiken (wie lokale Suche) in erfolgversprechende Regionen des Suchraums zu leiten. Folie 74

Simulated Annealing (1) Idee: Lokale Suche, aber Gelegentliches akzeptieren schlechterer Lösungen Analogie zum physikalischen Verfahren zum Abkühlen von Kristallen Naturinspiriert Schlechtere Lösungen werden mit bestimmter Wahrscheinlichkeit angenommen Umsetzung: Kirkpatrick et al. 1883, Cerny 1985 Erstes Verfahren zur Vermeidung lokaler Optima Folie 75

Simulated Annealing (2) Physikalische Analogie: Thermischer Prozess zur Erlangung eines Zustandes sehr niedriger Energie in einem Festkörper (z.b. Kristall) 1. Der Festkörper wird in einem Hitzebad zum Schmelzen gebracht 2. Die Atome sind zufällig verteilt 3. Die Temperatur des Hitzebads wird langsam gesenkt und somit der Festkörper langsam abgekühlt 4. Bei jeder Temperatur stellt sich thermisches Gleichgewicht ein 5. Die Atome können sich in der energetisch günstigsten Struktur (Kristallgitter) anordnen Simulation: Monte Carlo-Algorithmus Folie 76

Simulated Annealing (3) Metropolis-Algorithmus: Monte-Carlo Simulation des Annealingprozesses Simuliert Entwicklung eines Festkörpers im Hitzebad Generiert Folge von Zuständen: 1. Vom aktuellen Zustand i mit Energie E i wird Nachfolgezustand j durch kleine Pertubation generiert 2. Falls E j E i 0, wird Zustand j akzeptiert 3. Falls E j E i > 0, wird j akzeptiert mit Wahrscheinlichkeit p k B exp ( E E ) kt = j B i : Bolzmannkonstante, T: Temperatur Folie 77

Simulated Annealing (4) Analogie zur Optimierung: Zustand zulässige Lösung Energie Zielfunktion Grundzustand optimale Lösung Nachfolgezustand Lösung aus Nachbarschaft Simulated Annealing: Oftmals wird benachbarte Lösung zufällig gewählt Annealing: Temperatur T wird langsam erniedrigt Metropolis-Akzeptanzkriterium für schlechtere Lösungen (Minimierung): exp ( f( s*) fs ( ) ) T Folie 78

Simulated Annealing - Pseudo Code function simulatedannealing(s : S) : S begin t = T(0), n = 0; s best =s; repeat Wähle s* N(s); if g(s*, s) > 0 then s = s*; else if exp(g(s*,s)/t) > rand[0,1) then s= s*; if g(s, s best ) > 0 then s best = s; t = T(n); n = n + 1; until n > nmax; return s best ; end; Folie 79

Anwendung von SA Anwendung: Festlegung des Abkühlungsplans (Wahl von T) - Anfangstemperatur T(0) - Rekursive Definition: T(n+1)=c T(n) (Geometrisches Abkühlen) - IdR. wird T für mehrere Iterationen konstant gehalten Problemspezifische Entscheidungen - Definition der Zielfunktion - Definition der Nachbarschaft - Ausgangslösung Folie 80

Theorie von SA Theoretische Konvergenz gegen das Optimum Bewertung: Unendliche Anzahl von Zustandsübergängen nötig Suchraum ist nur endlich groß!!! Konvergenzbeweise vor allem mathematisch interessant Aussagen über Konvergenzgeschwindigkeit nur sehr schwer zu treffen Praktische Bedeutung eher gering Folie 81

TSP: Simulated Annealing Beispiel: Zufällige Ausgangslösungen 2-opt Nachbarschaft Einfacher Abkühlungsplan: - T(0) so dass 3% der Züge abgelehnt werden - Geometrisches Abkühlen (c = 0.95) - Temperatur wird für n(n-1) Schritte konstant gehalten Nachbarschaftsgröße - Abbruch bei: 5 Temperaturen ohne Verbesserung und unter 2% Akzeptanzrate Ergebnisse: Besser als 2-opt, schlechter als 3-opt, bei n=1000 7500 mal langsamer Folie 82

Tabu Search (1) Idee: Meta-Heuristik, die auf der Ausnutzung eines Gedächtnisses des bisherigen Suchprozesses basiert Erste Ansätze von Glover, 1986, und Hansen, 1986 Ziel der effizienten Vermeidung lokaler Optima Ausnutzung eines Gedächtnisses Speichern des Lösungsverlaufes Deterministische Leitung der Suche Folie 83

Tabu Search (2) Gedächtnis: Vermeidung lokaler Minima und strategische Leitung Kurzzeitgedächtnis (short term memory): - Wesentlicher Teil, Vermeidung von Schleifen Mittelfristiges Gedächtnis (intermediate term memory): - Intensivierung der Suche Langzeitgedächtnis (long term memory): - Diversifizierung der Suche Folie 84

Tabu Search (3) Such-Strategie: TS verwendet aggressive Suche in der aktuellen Nachbarschaft (best improvement LS) In jedem Schritt wird die beste benachbarte Lösung angenommen, auch wenn diese schlechter ist Suchstrategie führt zu Zyklen Vermeidung von Zyklen durch Verbieten des wiederholten Besuchens von Lösungen Ausnutzung des Gedächtnis des Suchprozesses Daher der Name Tabu Search Folie 85

Einfacher Tabu Search Algorithmus Eigenschaften: Es wird nur Kurzzeitgedächtnis M st verwendet Zulässige Nachbarschaft wird durch Verbot früher besuchter Lösungen eingeschränkt Zulässige Nachbarschaft hängt vom Kurzzeitgedächtnis ab N(s, M st ) Verbot früher besuchter Lösungen Tabu-Liste Tabu-Liste: Explizites Speichern der zuletzt besuchten Lösungen - Sehr speicherintensiv - Überprüfung zeitaufwendig Folie 86

Tabu-Listen-Verwaltung (1) Tabu-Attribute: Alternative: Speichern von Lösungsattributen früher besuchter Lösungen Anhand der Lösungsattribute wird entschieden, ob Lösungen tabu sind Tabu-Attribute werden in einer Tabu-Liste gespeichert Wichtige Größe: Tabu-Listenlänge t l Lösungen sind verboten, falls sie Tabu-Attribute enthalten Als Tabuattribute werden oft Attribute von Zügen (lokalen Lösungsveränderungen) benutzt und die Umkehrung der Züge für t l Iterationen verboten Folie 87

Tabu-Listen-Verwaltung (2) Tabu-Liste: Oftmals werden verschiedene Tabuattribute verwendet mehrere Tabu-Listen Tabu-Liste wird meist nicht als Liste realisiert Effizientes Überprüfen des Tabu-Status: Speichern der Iterationszahl bis zu der ein Attribut tabu ist Aspirationskriterien: Überschreiben des Tabu-Status interessanter Lösungen Häufigstes Kriterium: Verbotene Lösung ist besser als beste, bisher gefundene Lösung Verschiedene andere Kriterien wurden entwickelt Folie 88

TS - Abbruchkriterien Abruch der Suche, wenn eine feste Anzahl Iterationen überschritten ist seit einer festen Anzahl von Lösungen keine neue beste Lösung mehr gefunden wurde die zulässige Nachbarschaft leer ist eine Lösung ausreichender Güte gefunden wurde Folie 89

Tabu Search Pseudo Code function simpletabusearch(s : S) : S begin T = {}; n = 0; s best =s; repeat Finde bestes s* N(s) mit s* ˇT oder g(s, s best ) > 0 ; s = s*; T = T {s}; if g(s, s best ) > 0 then s best = s; n = n + 1; until n > nmax; return s best ; end; Folie 90

Tabu Search - Kurzzeitgedächtnis Tabu-Listenlänge: Wesentlicher Parameter von TS Zu kurze Tabu-Listen Zyklen Zu lange Tabu-Listen Zu starke Beschränkung der Suche Geeignete Parameterwahl erfolgt experimentell Geeignete Parameter sind problemspezifisch oder gar Instanzabhängig Verschiedene Strategien: Robust Tabu Search, Taillard `91 Reactive Tabu Search, Battiti et al. `94-96. Folie 91

Tabu Search - Langzeitgedächtnis Mittel- und Langzeitgedächtnis: Basiert oft auf der Häufigkeit von bestimmten Zügen bzw. der Häufigkeit von Attributen in guten Lösungen Intensivierungsstrategien: Intensivieren die Suche in bestimmten Regionen des Suchraums - Neustart von Elitelösungen z.b. mit leerer Tabu-Liste - Häufig auftretende Lösungsattribute werden fixiert Diversifikationsstrategien: Lenken die Suche in zuvor ungenügend erkundete Suchraumregionen - Führen Lösungsattribute ein, die nicht häufig benutzt wurden Folie 92

Robust Tabu Search RoTS (Taillard 91): Entwickelt fürs QAP Tabu-Listenlänge t l wird zufällig aus dem Intervall [t l,min,t l,max ] gewählt In bestimmten Abständen (alle 2 t l,max Iterationen) wird t l neu bestimmt Dadurch Problem der Wahl der optimalen Tabu-Listenlänge umgegangen Zusätzliches Aspirationskriterium: - Lösung wird akzeptiert, wenn Lösungsattribut seit mehr als m Iterationen nicht geändert wurde - m idr. sehr groß Diversifikation Folie 93

Reactive Tabu Search ReTS (Battiti u. Tecchiolli 94): Entwickelt für QAP und Knapsack-Problem Tabu-Listenlänge wird dynamisch angepasst: - Erhöhung um konstanten Faktor bei Erkennen eines Zyklus - Sei m die durchschnittliche Zyklenlänge - Erniedrigung um konstanten Faktor, wenn letzte Erhöhung mehr als m Iterationen zurückliegt Diversifikationsmechanismus: - Wird ausgeführt, wenn die Anzahl der Lösungen, die öfter als ein vordefinierter Schwellwert wiederholt besucht wurden, ein Limit überschreitet - Eine Anzahl proportional zu m von zufälligen Schritten wird ausgeführt Folie 94

QAP: Vergleich SA und TS QAP Nachbarschaft: Tausch zweier Zuweisungen Ergebnisse aus Merz et al. 2000: Instanz SA RoTS ReTS Zeit Tai80a Tai80b Tai100a Sko100a Tai100b Tai150b Tai256c 3.29% 1.02% 0.48% 180s 5.10% 2.92% 1.60% 180s 1.85% 0.91% 0.39% 300s 2.94% 0.19% 0.40% 300s 6.70% 2.37% 1.47% 300s 3.79% 2.85% 1.78% 600s 0.37% 0.33% 0.27% 1200s Folie 95

Repräsentation von Lösungen (1) Kontinuierliche Optimierung: Binäre Optimierung: x x1 x2 x n n = (,,, ) R x = ( x1, x2,, x ) {0,1} n n Lokale Suche: x i = x i + ε Lokale Suche: x i = 1-x i 0.5 0.9 0.2 0.1 0.7 0.7 0 1 0 0 1 1 0.5 0.9 0.1 0.1 0.7 0.7 0 1 0 1 1 1 Folie 96

Repräsentation von Lösungen (2) Permutationsprobleme Lösung kann auf unterschiedliche Arten dargestellt werden 1. Permutationsvektor: Π={π 1,π 2,π 3,π 4 }={4,3,1,2} Lokale Suche: π i π j 6 4 1 5 3 2 2. Zuordnungsmatrix: 0 0 1 0 0 0 0 1 X = 0 1 0 0 1 0 0 0 6 5 1 4 3 2 Folie 97

TSP: Repräsentation von Lösungen Pfaddarstellung: Lösungsvektor gibt Besuchsreihenfolge an Matrizendarstellung: Matrix gibt an, ob Kante (i,j) in Tour enthalten ist (1) oder nicht (0) Adjazenzdarstellung: Lösungsvektor gibt zu jeder Stadt den Nachfolger an 4 Π={π 1,π 2,π 3,π 4 }={1,4,2,3} 1 3 2 0 0 1 0 0 0 0 1 X = 0 1 0 0 1 0 0 0 Π={π 1,π 2,π 3,π 4 }={4,3,1,2} Folie 98

TSP: Repräsentation und Lokale Suche Beispiel 2-opt lokale Suche: Kanten (1,3) + (6,7) werden mit (1,6) + (3,7) getauscht 4 9 4 9 6 8 2 6 8 2 1 10 3 7 5 d 1 10 3 7 5 Pfaddarstellung: 10 1 3 5 2 9 8 4 6 7 Adjazenzdarstellung: 3 9 5 6 2 7 10 4 8 1 10 1 6 4 8 9 2 5 3 7 6 5 7 8 3 4 10 9 2 1 Folie 99

Lösungsrepräsentation und Lokale Suche Welche Repräsentation für ein gegebenes Problem? Geringfügige Änderungen in der Lösung geringfügige Änderungen in der Lösungsrepräsentation (Lösungsvektor) Geringfügige Änderungen im Lösungsvektor geringfügige Änderungen in der Lösung (Fitness der Lösung) Lokale Suche sollte sehr wenige Lösungskomponenten ändern Nicht immer möglich (TSP) Effiziente Ausführung eines Zuges/Schrittes Effiziente Berechnung der Fitnessänderung Folie 100

Distanz zwischen Lösungen (1) Distanz: Maß für Unähnlichkeit bzw. Verschiedenheit von Lösungen Starker Zusammenhang mit Nachbarschaften Basiert auf Vergleich der Lösungskomponenten Beispiele: Hamming-Distanz: Definiert zwischen Bitstrings: - Anzahl der Bit in denen sich zwei Binärvektoren unterscheiden Euklidische Distanz: Definiert zwischen reellen Vektoren: - Summe der quadratischen Differenzen zwischen den Komponenten n 2 (, ) ( i i), i = 1 dxy = x y xy R n Folie 101

Distanz zwischen Lösungen (2) Definition: Anhand der unterschiedlichen Lösungskomponenten Anhand der Anzahl der Nachbarschaftzüge/lokalen Veränderungsoperationen Beispiel TSP: Anzahl der unterschiedlichen Kanten in zwei Lösungen (d 1 ) Minimale Anzahl der 2-opt Züge, um die eine in die andere Lösung zu transformieren (d 2 ) Es gilt: d 1 d 2 2 d 1 Beispiel BQP: Anzahl der Bit in denen sich zwei Binärvektoren unterscheiden (Hamming-Distanz) Minimale Anzahl der Bitflips um die eine in die andere Lösung zu transformieren (entspricht der Hamming-Distanz) Folie 102

Nachbarschaft und Distanz Nachbarschaftsdefinition: N(s)={s S: d(s,s ) d min Beispiel TSP: k-opt Nachbarschaft: N k-opt (s)={s S: d(s,s ) k Mit: d(s,s ) = { e E : e s e s Beispiel BQP: k-opt Nachbarschaft: N k-opt (s)={s S: d(s,s ) k d: Hamming-Distanz Folie 103

Fitnesslandschaften (1) Konzept zur Beschreibung von Suchräumen Jeder Lösung im Suchraum wird eine Höhe zugeordnet Punkt = Lösung Höhe des Punktes = Fitness der Lösung Punkte sind räumlich angeordnet Ähnliche Lösungen sind in der Fitnesslandschaft benachbart 1.0 Wichtige Begriffe: Nachbarschaft Distanz von Lösungen Z Axis 0.5 0.0 2 4 6 8 10 X Axis 6 8 10 2 4 Y Axis Folie 104

Fitnesslandschaften (2) Wichtige Eigenschaften: Verteilung der Fitnesswerte (Mittel und Varianz von f) Unebenheit der Landschaft (landscape ruggedness) Die Zahl der lokalen Optima / Bergspitzen in der Landschaft Die Verteilung der lokalen Optima im gesamten Suchraum Die Anzahl der Schritte auf eine Bergspitze Struktur und Größe von Attraktionsgebieten lokaler Optima Größe und Struktur von Ebenen mit gleicher Fitness Neutral Networks Folie 105

Fitnesslandschaften (3) Beispiele von Fitnesslandschaften (NK-Fitnessmodell): Stark uneben (links) und weniger zerklüftet/ ruckelig (rechts) Folie 106

Definition Fitnesslandschaften Formal: f: Fitnessfunktion / Zielfunktion S: Suchraum, Menge aller möglichen Lösungen d: Distanzmaß zwischen Lösungen N: Nachbarschaftsfunktion Landschaft: L=(f,S,d) oder L=(f,S, N) s S: Punkt in der Fitnesslandschaft F(s): Höhe des Punktes N(s)={s S: d(s,s )=d min } : (räumlich) benachbarte Punkte zu s Folie 107

Statistische Fitnesslandschaften Ziel: Messung/Ermittlung der Eigenschaften von Fitnesslandschaften Autokorrelation: Ermittlung lokaler Eigenschaften Ermittlung der Ruggedness (Unebenheit) Fitness-Distanz-Korrelation: Ermittlung globaler Eigenschaften Ermittlung der Verteilung lokaler Optima im Bezug auf das Optimum Folie 108

Autokorrelation Fragestellung: Sei: Wie stark sind die Fitnesswerte zweier Punkte mit Abstand d korreliert? f = µ () f = f( x) σ s S () f = (( f x) f) 2 2 x S 2 S d = xy S S dxy = d ( ) {(, ) (, ) } Dann ist die Autokorrelationsfunktion definiert als: 1 ρ( d ) (( fx ) f )( fy ( ) f ) = 2 2 σ () f S ( d) 2 ( xy, ) S Folie 109

Zufallslauf-Korrelation Random Walk: Autokorrelationsbestimmung durch Zufallslauf durch die Landschaft Die besuchten Punkte stellen eine Zeitreihe {f(x t ) dar Random Walk Korrelation r(s) gibt die Korrelation der Fitnesswerte s Schritte von einander entfernter Lösungen an m s 1 rs ( ) (( f x ) )( ( ) ) 2 t f fxt+ s f σ ()( f m s) t = 1 Leichte experimentelle Bestimmung Folie 110

Korrelationslänge Annahme: Isotropische Landschaft Autoregressive Zeitreihe y t =a y t-1 + e t AR(1) Landschaft, r(s) = r(1) s = e s/l l: Korrelationslänge l 1 1 = = ln( r(1) ) ln( ρ(1) ) Je kleiner l, desto zerklüfteter die Landschaft Je größer l, desto stärker korreliert sind benachbarte Punkte Folie 111

Fitness-Distanz-Korrelation Korrelation der Fitness und der Distanz zum Optimum von Lösungen (FDC): Cov(, fdopt ) ρ(, fd) = mit dopt( x) = dxx (, opt ) σ() f σ( d ) opt m 1 ρ(, fd ) (( fx ) f)( d ( x ) d ) opt i opt i opt σ() f σ ( dopt ) m i = 1 ρ=1.0: Mit steigender Entfernung zum Optimum steigt die Zielfunktion ρ=0: Kein Zusammenhang zwischen Fitness und Distanz ρ=-1.0: Mit steigender Entfernung zum Optimum sinkt die Zielfunktion Folie 112

Fitness-Distanz-Korrelation lokaler Optima Besonders wichtig: Ist die Fitness und die Distanz zum Optimum von lokalen Optima korreliert? Sind die lokalen Optima auf den gesammten Suchraum verteilt oder sind die sie um das globale Optimum herum verteilt? Strukturierte Suchräume: Lokale Optima konzentrieren sich in einem kleinen Bereich des Suchraums Je näher die Fitness an der Fitness des Optimum, desto mehr Lösungskomponenten stimmen überein (FDC!) Unstrukturierte Suchräume: Zufällige Verteilung der lokalen Optima Folie 113

Beispiele für Autokorrelation (1) TSP: AR(1) Landschaften mit r(s) =exp(-s/l) = exp(-s k / n) Mathematisch bewiesen k: Anzahl der Kanten beim Kantentausch Korrelationslänge (l = n/k) ist unabhängig von der Probleminstanz GBP: Mathematisch berechnet: l» 1/8 (n-3) Unabhängig von der Struktur des Graphen (Knotengrad) Folie 114

Beispiele für Autokorrelation (2) QAP: Korrelationslänge ist Instanzabhängig Keine mathematisch geschlossene Form bekannt Korrelationslänge: n/l liegt zwischen 2.8 und 4 AR(1)-Landschaft BQP: Korrelationslänge ist ebenfalls Instanzabhängig Korrelationslänge: n/l liegt zwischen 2 und 3 (Schnitt 2.6%) Folie 115

NK-Landschaften NK-Modell: zur Untersuchung von Fitnesslandschaften N und K sind Parameter, Fitness f(x): 1 f x f x x x f N K + 1 ( ) = i( i, i,, ) mit :{0,1} [0,1] (Zufallszahl) 1 ik i N i = 1 Der Fitnessbeitrag von Gen i hängt vom Wert von Gen i (xi) und K anderen Genen ab Unebenheit der Landschaft kann mit N und K verändert werden s K + 1 N Es gilt: rs ( ) 1 l N K + 1 Folie 116

Beispiele für Fitness-Distanz-Korrelation (1) Beispiel Graph-Bipartitioning (GBP): Zwei Instanzen mit stark unterschiedlichen Eigenschaften Links: keine Korrelation (r»0) Rechts: hohe Korrelation (r»1) Folie 117

Beispiele für Fitness-Distanz-Korrelation (2) Verteilung lokaler Optima: Hohe regionale Konzentration und zufällige Verteilung Folie 118 Links: strukturiert, r»-0.75 (BQP) Rechts: chaotisch, r»0 (NK landscape)

NK-Fitnesslandschaften Auswirkungen von K im NK-Fitnessmodell: K=2,N=64 K=11,N=64 K=2, N=1024: FDC ρ -0.6, l 341 K=11, N=1024: FDC ρ 0, l 85 Folie 119

Lösungsrepräsentation / Fitnesslandschaften Funktion f(x) = 100 - (x - 8) 2 Ein lokales Optimum = globales Optimum bei x = 8 - In der Integercodierung gibt es 2 Nachbarn pro Lösung (x+1/x-1) und ein lokales Optimum - In der Binärcodierung gibt es 4 Nachbarn pro Lösung (Bitflip) und zwei lokale Optima: 0111 (7) und 1000 (8) - In der Gray-Codierung gibt es 4 Nachbarn und ein lokales Optimum X f(x) binär gray-code 0 36 0000 0000 1 51 0001 0001 2 64 0010 0011 3 75 0011 0010 4 84 0100 0110 5 91 0101 0111 6 96 0110 0101 7 99 0111 0100 8 100 1000 1100 9 99 1001 1101 10 96 1010 1111 11 91 1011 1110 12 84 1100 1010 13 75 1101 1011 14 64 1110 1001 15 51 1111 1000 Folie 120

Meta-Heuristiken und Fitnesslandschaften Ziele von Meta-Heuristiken: Überwinden lokaler Optima Effektive Suche durch Ausnutzen der Eigenschaften des Suchraums Zu weit Globales Minimum Nicht weit genug Intensivierung (Exploitation) und Diversifikation (Exploration) Folie 121

Ideale Fitnesslandschaften Korrelation von Fitness und Distanz zum Optimum Globales Minimum Je näher die lokalen Minima am Optimum desto bessere Zielfunktionswerte Der Abstand zum Optimum nimmt ab, je geringer die Fitnessdifferenz des lokalen Minimums zum Optimum ist Folie 122

Populationsbasierte Suche Bisherige Meta-Heuristiken: Simulated Annealing Tabu Search Ausgehend von einer Lösung wird gesucht Populationsbasierte Heuristiken Suche erfolgt ausgehend von mehreren Lösungen Ausnutzen der in der Population gespeicherten Information Robuster als Individual-Suche Leichter parallelisierbar Folie 123

Evolutionäre Algorithmen (1) Idee: Simulation der natürlichen Evolution Anpassung der Arten ist ein Optimierungsprozess Populationsbasierte Optimierung Mechanismen der Evolution: Replikation Variation Selektion Mechanismen der Optimierung: Speichern guter Lösungen Variation/Lösungsänderung Verwerfen oder Beibehalten von Lösungen (Bewertung anhand der Zielfunktion) Folie 124

Evolutionäre Algorithmen (2) Analogien: Zielfunktion = Fitness (Überlebensfähigkeit/Fortpflanzungsfähigkeit) Lösung des Optimierungsproblems = Individuum/Species Repräsentation einer Lösung = Genetischer Code Lösungsveränderung = genetische Variation (Mutation und Rekombination) Lösungsauswahl = Selektion (Survival of the Fittest) Populationsbasierte Optimierung Folie 125

Historie der Evolutionären Algorithmen Historie: Genetische Algorithmen (Genetic Algorithms, GA) - Holland 1962 Evolutionsstrategien (Evolution Strategies, ES) Rechenberg, Schwefel 1969 Evolutionäre Optimierung (Evolutionary Programming, EP) Fogel, Owens, Walsh 1965 Genetische Programmierung (Genetic Programming, GP) Koza 1994 EA Flavors : 3 Entwicklungrichtungen (GA, ES, EP) GP, MA,... Folie 126

Ablauf eines EA Initialisierung: Erzeugung von Individuen Fitnessevaluation: Bestimmung Fitness der Individuen Elternselektion: Auswahl von Individuen zur Variation Variation: Rekombination Mutation Überlebensselektion: Übernahme von Individuen in die nächste Generation (Nachkommenselektion) Initialisierung Fitnessevaluation Elternselektion Variation Fitnessevaluation Überlebensselektion Ende Folie 127

Genetische Algorithmen - GA Kodierung: Binäre Repräsentation genetischer Code IdR. Decodierung zur Fitnessevaluation nötig Unterscheidung zwischen Genotyp und Phänotyp Elternselektion: Fitnessproportionale Selektion Variation: Rekombination/Crossover sexuelle Reproduktion Mutation, spielt geringe Rolle Überlebensselektion: Einfache Ersetzung der Nachkommen durch die Eltern Folie 128

Genetischer Code Epistasie: Pleiotropie: Ein Gen beeinflusst mehrere phänotypische Eigenschaften Polygenie: Viele Gene legen eine phänotypische Eigenschaft fest Mathematische Sicht: Abhängigkeit der Variablen untereinander Nichtlinearität 1 2 3 4 5 6 7 8 a b cc d e ff g h Folie 129

Genotyp vs. Phänotyp Genotyp: Genetische Kodierung einer Lösung ( Bauplan eines Organismus) Phänotyp: Lösung, Element des Lösungsraumes (Suchraumes) Fitness: Bewertung des Phänotyps P(t+1) G(t) Genotypen Phänotypen P (t) Dekodierungsfunktion G (t) Folie 130

Genetische Operatoren - Crossover Crossover: Dem Crossover in der Natur nachempfunden: Single-Point Crossover 1 0 0 1 1 0 0 1 1 0 x 1 1 1 0 1 0 0 1 Verallgemeinerungen: two-point crossover, uniform crossover Crossover-Stellen werden zufällig gewählt 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 1 Folie 131

Genetische Operatoren Uniform Crossover Uniform Crossover: Verallgemeinerung durch Einführen einer Crossover- Maske: - 0: Nehme Genwert (Allel) von Elter A - 1: Nehme Allel von Elter B Wichtige Eigenschaften: - Allele, die in den Eltern gleich sind, sind auch in den Kindern zu finden - Jedes Gen der Kinder stimmt mit mindestens einem Elter überein 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 Folie 132

Genetische Operatoren - Mutation Mutation: Bit-Flip mit geringer Wahrscheinlichkeit 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 0 Wahrscheinlichkeit 1/l pro Bit (l: Länge des Binärvektors) Im Schnitt wird ein Bit Pro Mutation geändert Folie 133

Genetische Operatoren - Selektion Roulette Wheel Fitnessproportionale Zufallsselektion Fitness bestimmt erwartete Anzahl der Kopien in temporärer Population 6% 31% 14% 49% Individuum 1 Individuum 2 Individuum 3 Individuum 4 fs ( i ) ps ( i ) = fs ( ) j j Rekombination und Mutation wird auf temporäre Population angewendet Temporäre Population ergibt Population der nächsten Generation Folie 134