Moderne Heuristische Optimierungsverfahren: Meta-Heuristiken

Größe: px
Ab Seite anzeigen:

Download "Moderne Heuristische Optimierungsverfahren: Meta-Heuristiken"

Transkript

1 Moderne Heuristische Optimierungsverfahren: Meta-Heuristiken Wilhelm-Schickard-Institut für Informatik - WSI-RA Sand 1, Raum A 316

2 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

3 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

4 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

5 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

6 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, Z. Michalewicz und D. B. Fogel: How to Solve It: Modern Heuristics, Springer-Verlag, C. Reeves: Modern Heuristic Techniques for Combinatorial Problems, McGraw Hill, E.H.L. Aarts, J.K. Lenstra (editors): Local search in Combinatorial Optimization, John Wiley Sons, Folie 6

7 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

8 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

9 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

10 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

11 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

12 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 Constraints verletzt! Folie 12

13 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 Constraints verletzt! Folie 13

14 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 Alle Constraints erfüllt! Folie 14

15 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

16 Graph-Bipartitionierungsproblem Graph Bipartitioning Problem (GBP): Zerlegung eines Graphen in k=2 gleich große Teilmengen Cut, c(v b,v r ) = 3 Folie 16

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 Komplexität Wachstum des Suchraums: n n n n n! Vergleich: Anzahl der Atome im Universum ca Alter des Universums ca. 5 x 10 7 s Folie 24

25 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

26 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

27 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

28 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

29 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

30 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

31 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

32 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

33 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

34 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

35 Exakte Lösung des TSP (2) Aktueller Rekord: n=15112 Städte ergibt Suchraumgröße S > 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

36 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

37 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

38 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

39 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

40 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

41 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

42 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 Rot:12, d(12)=e 12 -I 12 =0 1= -1 d(4)=-1, d(3)=0, d(6)= Folie 42

43 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 Blau: 6, d(6)=e 6 -I 6 =1-2=-1 d(4)=1-0=1, d(3)=2-1= Folie 43

44 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 Folie 44

45 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 Folie 45

46 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

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

48 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

49 TSP: Vergleich Konstruktionsheuristiken (2) Ergebnisse: Aus Reinelt 94, gemittelt über 24 Instanzen (n= ) 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

50 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

51 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

52 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

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

54 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

55 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

56 TSP: Knotentausch (node exchange) Bsp.: Knoten 6 und 3 werden vertauscht 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

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

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

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

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

61 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

62 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

63 TSP: Konstruktionsheuristik + Lokale Suche Ergebnisse: Aus Merz 96, gemittelt über 18 Instanzen (n= ) 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

64 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

65 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

66 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

67 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= 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

68 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

69 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

70 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

71 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

72 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

73 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

74 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

75 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

76 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

77 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

78 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

79 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

80 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

81 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

82 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= mal langsamer Folie 82

83 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

84 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

85 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

86 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

87 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

88 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

89 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

90 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

91 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. ` Folie 91

92 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

93 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

94 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

95 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

96 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 Folie 96

97 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 Zuordnungsmatrix: X = Folie 97

98 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} X = Π={π 1,π 2,π 3,π 4 }={4,3,1,2} Folie 98

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

100 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

101 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

102 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

103 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

104 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 X Axis Y Axis Folie 104

105 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

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

107 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

108 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

109 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

110 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

111 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

112 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

113 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

114 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

115 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

116 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

117 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

118 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)

119 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

120 Lösungsrepräsentation / Fitnesslandschaften Funktion f(x) = (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 Folie 120

121 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

122 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

123 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

124 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

125 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

126 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

127 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

128 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

129 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 a b cc d e ff g h Folie 129

130 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

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

132 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 Folie 132

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

134 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

Repräsentation von Lösungen (1)

Repräsentation von Lösungen (1) 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

Mehr

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

x x x x Repräsentation von Lösungen (2) Repräsentation von Lösungen (1) Repräsentation von Lösungen () Repräsentation von Lösungen () Kontinuierliche Optimierung: x x x x n Binäre Optimierung: n = (,,, ) R x = ( x, x,, x ) {0,} n n Lokale Suche: x i = x i + ε Lokale Suche:

Mehr

Deterministisch vs. Zufallsgesteuert

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

Mehr

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

Klassifikation von Heuristiken. Meta-Heuristiken. Problembezogen: Problemspezifische Heuristiken Problemunabhängige Heuristiken Klassifikation von Heuristiken Meta-Heuristiken Problembezogen: Problemspezifische Heuristiken Problemunabhängige Heuristiken Nach Komplexität: Einfache Heuristiken Hybride Heuristiken Nach Methodik: Konstruktionsheuristiken

Mehr

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

Bisher: Suche durch Lösungsveränderung Neuer Begriff: Nachbarschaft einer Lösung 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

Mehr

Moderne Heuristische Optimierungsverfahren: Meta-Heuristiken

Moderne Heuristische Optimierungsverfahren: Meta-Heuristiken 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

Mehr

Populationsbasierte Suche. Evolutionäre Algorithmen (1)

Populationsbasierte Suche. Evolutionäre Algorithmen (1) 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

Mehr

Konstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS)

Konstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS) Konstruktions-Verbesserungsheuristiken Iterierte lokale Suche (ILS) Idee: 2-Phasen-Suche 1. Phase: Randomisierte Konstruktionsheuristik 2. Phase: Lokale Suche Beispiele: Multi-Start lokale Suche GRASP:

Mehr

Verbesserungsheuristiken

Verbesserungsheuristiken Verbesserungsheuristiken Bestandteile der Lokalen Suche Für schwierige Optimierungsaufgaben haben Verbesserungsheuristiken eine große praktische Bedeutung. Sie starten mit Ausgangslösungen, die von z.b.

Mehr

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

Kap. 7 Optimierung. Überblick. Optimierung: Einführung. Motivation. Beispiele für Optimierungsprobleme. Rundreiseprobleme (TSP) Kap. 7 Optimierung Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 22. VO 2. TEIL DAP2 SS 2009 9. Juli 2009 Überblick Einführung Einige klassische Optimierungsprobleme,

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Joachim Schauer Betriebliche Optimierung 1 / 31 1 Metaheuristische Verfahren 2 Joachim Schauer Betriebliche Optimierung 2 / 31 Einleitendes Metaheuristische Verfahren

Mehr

Heuristische Verfahren

Heuristische Verfahren Heuristische Verfahren Bei heuristischen Verfahren geht es darum in polynomieller Zeit eine Näherungslösung zu bekommen. Diese kann sehr gut oder sogar optimal sein, jedoch gibt es keine Garantie dafür.

Mehr

Hauptseminar Repräsentationen für Optimierungsalgorithmen

Hauptseminar Repräsentationen für Optimierungsalgorithmen Stefan Bens Hauptseminar Dresden, 03.07.2008 Inhalt 1. Motivation 2. Einleitung 3. Repräsentationsarten und Eigenschaften 4. Beispiel 5. Zusammenfassung Folie 2 Als Repräsentation bezeichnet man die Kodierung

Mehr

Optimierung. Vorlesung 12

Optimierung. Vorlesung 12 Optimierung Vorlesung 12 Letze Woche Approximieren von ILP durch randomisiertes Runden. Beispiel Set Cove Relaxiertes LP lösen und runden. Probleme: 1. Zielfunktionswert 2. Zulässigkeit 1. Linearität des

Mehr

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

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

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

Teil II Optimierung. Modellgestützte Analyse und Optimierung Kap. 5 Einführung Optimierung. Peter Buchholz 2006 Teil II Optimierung Gliederung 5 Einführung, Klassifizierung und Grundlagen 6 Lineare Optimierung 7 Nichtlineare Optimierung 8 Dynamische Optimierung (dieses Jahr nur recht kurz) (9 Stochastische Optimierungsmethoden

Mehr

Einführung in das Seminar Algorithmentechnik

Einführung in das Seminar Algorithmentechnik Einführung in das Seminar Algorithmentechnik 10. Mai 2012 Henning Meyerhenke, Roland Glantz 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Roland undglantz: nationales Einführung Forschungszentrum

Mehr

Synthese Eingebetteter Systeme. Übung 6

Synthese Eingebetteter Systeme. Übung 6 12 Synthese Eingebetteter Systeme Sommersemester 2011 Übung 6 Michael Engel Informatik 12 TU Dortmund 2011/07/15 Übung 6 Evolutionäre Algorithmen Simulated Annealing - 2 - Erklären Sie folgende Begriffe

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 19 1 Joachim Schauer ( Institut für

Mehr

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

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff Adaptive Systeme Evolutionäre Algorithmen: Überlebenskampf und Evolutionäre Strategien Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff Überblick Einleitung Adaptive Filter Künstliche

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Ameisenkolonien (1) Idee: Reale Ameisen:

Ameisenkolonien (1) Idee: Reale Ameisen: Ameisenkolonien (1) Idee: Von M. Dorigo, 1992 Verhalten von Ameisen bei der Futtersuche Ameisen hinterlassen Pheromon-Spur (Chem. Substanz) Pfade mit hoher Pheromon-Konzentration werden bevorzugt Indirekte

Mehr

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

Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung. Gerold Jäger Das Traveling Salesman Problem und das Assignment Problem zweiter Ordnung Gerold Jäger Martin-Luther-Universität Halle-Wittenberg Zusammenarbeit mit Frank Fischer, Anja Lau, Paul Molitor DFG-Projekt: Toleranzbasierte

Mehr

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

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Einführung in Berechenbarkeit, Komplexität und Formale Sprachen V17, 10.12.09 Willkommen zur Vorlesung Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Friedhelm Meyer auf der Heide 1 Rückblick:

Mehr

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

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus 5. Lokale Suchverfahren Lokale Suche 5. Lokale Suchverfahren Beispiel TSP: k-change Nachbarschaft Optimale Lösungen können oft nicht effizient ermittelt werden. Heuristiken liefern zwar zulässige Lösungen,

Mehr

Probleme aus NP und die polynomielle Reduktion

Probleme aus NP und die polynomielle Reduktion Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

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

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen Kapitel Optimierungsalgorithmen Gunnar Klau Institut für Computergraphik und Algorithmen Gliederung Kombinatorische vs. Ganzzahlige Optimierung Exakte Verfahren Branch-and-Bound Schnittebenenverfahren

Mehr

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

Heuristische und exakte Lösungsansätze für das Handelsreisendenproblem. Dr. Gerold Jäger Heuristische und exakte Lösungsansätze für das Handelsreisendenproblem Dr. Gerold Jäger Arbeitsgruppe Prof. Dr. Paul Molitor Institut für Informatik Martin-Luther-Universität Halle-Wittenberg 30. September

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

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

Toleranzbasierte Algorithmen für das Travelling Salesman Problem. Gerold Jäger Toleranzbasierte Algorithmen für das Travelling Salesman Problem Gerold Jäger (Zusammenarbeit mit Jop Sibeyn, Boris Goldengorin) Institut für Informatik Martin-Luther-Universität Halle-Wittenberg gerold.jaeger@informatik.uni-halle.de

Mehr

Formale Grundlagen der Informatik F3: Berechenbarkeit un

Formale Grundlagen der Informatik F3: Berechenbarkeit un Formale Grundlagen der Informatik F3: Berechenbarkeit und Komplexität Fachbereich Informatik AB Theoretische Grundlagen der Informatik (TGI) Universität Hamburg farwer@informatik.uni-hamburg.de 14. Dezember

Mehr

10. Vorlesung Stochastische Optimierung

10. Vorlesung Stochastische Optimierung Soft Control (AT 3, RMA) 10. Vorlesung Stochastische Optimierung Genetische Algorithmen 10. Vorlesung im Aufbau der Vorlesung 1. Einführung Soft Control: Definition und Abgrenzung, Grundlagen "intelligenter"

Mehr

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

Überblick. Motivation. Kap. 7.6 Verbesserungsheuristiken. Nachbarschaft einer Lösung Einfache lokale Suche Kap. 7.6 Verbesserungsheuristiken (letzte VO) Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 7. VO DAP SS 008 17. Juli 008 Überblick Verbesserungsheuristiken

Mehr

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

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 26 Optimierungsprobleme und ihre Entscheidungsvariante Beim Rucksackproblem

Mehr

11. Übung zu Algorithmen I 6. Juli 2016

11. Übung zu Algorithmen I 6. Juli 2016 11. Übung zu Algorithmen I 6. Juli 2016 Lisa Kohl lisa.kohl@kit.edu mit Folien von Lukas Barth Roadmap Ausblick: Was sind schwierige Probleme? Travelling Salesman Problem - Reprise ein ILP ein Algorithmus

Mehr

09. Übung zu Algorithmen I 12. Juli 2017

09. Übung zu Algorithmen I 12. Juli 2017 09. Übung zu Algorithmen I 12. Juli 2017 Björn Kaidel bjoern.kaidel@kit.edu mit Folien von Lukas Barth 1 / 67 Roadmap Ausblick: Was sind schwierige Probleme? Travelling Salesman Problem - Reprise ein ILP

Mehr

Die Klasse NP und die polynomielle Reduktion

Die Klasse NP und die polynomielle Reduktion Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Rundreisen und Touren

Rundreisen und Touren Logistik: Rundreisen und Touren von Prof. Dr. Dr. b.c. Wolfgang Domschke TU Darm Stadt und Prof. Dr. Armin Scholl Universität Jena 5., überarbeitete und aktualisierte Auflage Oldenbourg Verlag München

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 5.2 Das P N P Problem 1. Nichtdeterministische Lösbarkeit 2. Sind N P-Probleme handhabbar? 3. N P-Vollständigkeit Bei vielen schweren Problemen ist Erfolg leicht zu testen

Mehr

Kap. 7.6 Verbesserungsheuristiken (letzte VO)

Kap. 7.6 Verbesserungsheuristiken (letzte VO) 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

Mehr

1 Heuristiken für das Traveling Salesman Problem

1 Heuristiken für das Traveling Salesman Problem Praktikum Diskrete Optimierung (Teil 5) 15.06.2011 1 1 Heuristiken für das Traveling Salesman Problem Wir betrachten das folgende Problem. Wir wollen einen gegebenen Graphen möglichst schnell so durchlaufen,

Mehr

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

Inhalt. 8.1 Motivation. 8.2 Optimierung ohne Nebenbedingungen. 8.3 Optimierung unter Nebenbedingungen. 8.4 Lineare Programmierung 8. Optimierung Inhalt 8.1 Motivation 8.2 Optimierung ohne Nebenbedingungen 8.3 Optimierung unter Nebenbedingungen 8.4 Lineare Programmierung 8.5 Kombinatorische Optimierung 2 8.1 Motivation Viele Anwendungen

Mehr

Der Branching-Operator B

Der Branching-Operator B Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte

Mehr

lineare Programmierung

lineare Programmierung lineare Programmierung Viele Probleme sind durch lineare Gleichungssysteme charakterisiert lineare Programmiermethoden Der Lösungsraum ist häufig auf ganze Zahlen oder gar natürliche Zahlen eingeschränkt!

Mehr

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

Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier. Henning Fernau Universität Trier Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Zum Umgang mit NP-harten Problemen In manchen Anwendungen ist das garantierte Auffinden exakter

Mehr

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

Die Theorie der Toleranzen und deren Anwendung auf das Traveling Salesman Problem Die Theorie der Toleranzen und deren Anwendung auf das Traveling Salesman Problem Gerold Jäger 4. Februar 2010 Gerold Jäger Theorie der Toleranzen 4. Februar 2010 1 / 35 Überblick 1 Theorie der Toleranzen

Mehr

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann Grundlagen der Informatik Kapitel 20 Harald Krottmaier Sven Havemann Agenda Klassen von Problemen Einige Probleme... Approximationsalgorithmen WS2007 2 Klassen P NP NP-vollständig WS2007 3 Klasse P praktisch

Mehr

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

Kap. 3: Exakte Lösungsverfahren für NPschwierige. Optimierungsprobleme VO Algorithm Engineering Kap. 3: Exakte Lösungsverfahren für NPschwierige kombinatorische Optimierungsprobleme VO Algorithm Engineering 3.1 Einführung Professor Dr. Petra Mutzel 3.2 Komb. vs. Ganzzahlige Opt. Lehrstuhl für Algorithm

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 16.12.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

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

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick

Mehr

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

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 18 Was tun mit NP-harten Problemen? Viele praxisrelevante

Mehr

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

Seminararbeit: K-Opt und die Lin-Kernighan-Heuristik für das allgemeine TSP Seminararbeit: K-Opt und die Lin-Kernighan-Heuristik für das allgemeine TSP Tobias Boelter 28. Mai 2013 bei Prof. Dr. Rainer Schrader, Universität zu Köln Inhaltsverzeichnis 1 Einleitung 2 2 Lokale Suche

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 4. Januar 2011 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

Local Search Algorithmen 1

Local Search Algorithmen 1 Local Search Algorithmen 1 Seminar über Algorithmen Manuel Gellfart 18.05.2012 Fachbereich Mathematik und Informatik 18.05.2012 2 Gliederung 1. Einleitung 2. Theorie 3. Beispiel: Vertex Cover 4. Beispiel:

Mehr

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

Heuristiken und exakte Algorithmen für das verallgemeinerte Traveling Salesman Problem. Gerold Jäger Heuristiken und exakte Algorithmen für das verallgemeinerte Traveling Salesman Problem Gerold Jäger Martin-Luther-Universität Halle-Wittenberg (in Zusammenarbeit mit Paul Molitor) DFG-Projekt: Toleranzbasierte

Mehr

Einführung in Heuristische Suche

Einführung in Heuristische Suche Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?

Mehr

Genetische und Evolutionäre Algorithmen (Vol. 1)

Genetische und Evolutionäre Algorithmen (Vol. 1) Vortrag über Genetische und Evolutionäre Algorithmen (Vol. ) von Adam El Sayed Auf und Kai Lienemann Gliederung: ) Einführung 2) Grundkonzept 3) Genaue Beschreibung des Genetischen Algorithmus Lösungsrepräsentation

Mehr

Optimale Produktliniengestaltung mit Genetischen Algorithmen

Optimale Produktliniengestaltung mit Genetischen Algorithmen Optimale Produktliniengestaltung mit Genetischen Algorithmen 1 Einleitung 2 Produktlinienoptimierung 3 Genetische Algorithmen 4 Anwendung 5 Fazit Seite 1 Optimale Produktliniengestaltung mit Genetischen

Mehr

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

BERGISCHE UNIVERSITÄT WUPPERTAL FB B: SCHUMPETER SCHOOL OF BUSINESS AND ECONOMICS. Master of Science Name: Vorname: Matrikel-Nr.: BERGISCHE UNIVERSITÄT WUPPERTAL FB B: SCHUMPETER SCHOOL OF BUSINESS AND ECONOMICS Master of Science Wintersemester 2014/2015 Prüfungsgebiet: MWiWi 4.1 Advanced OR methods in

Mehr

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

Effektive Heuristiken für große Instanzen des Handelsreisendenproblems. Gerold Jäger Effektive Heuristiken für große Instanzen des Handelsreisendenproblems Gerold Jäger Christian-Albrechts-Universität zu Kiel DFG-Projekt: Auf Toleranzen basierende Methoden zur Lösung des Handelsreisendenproblems

Mehr

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

Große Lösungsräume. Leon Schmidtchen Hallo Welt Seminar - LS Leon Schmidtchen Große Lösungsräume Hallo Welt Seminar - LS2 Große Lösungsräume Leon Schmidtchen 1.06.201 Hallo Welt Seminar - LS 2!1 Gliederung Motivation Brute Force Backtracking Pruning Leon Schmidtchen Branch & Bound 1.06.201 Hallo Welt Seminar - LS 2 Wann soll

Mehr

2. Optimierungsprobleme 6

2. Optimierungsprobleme 6 6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen

Mehr

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016 Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithms and Complexity Group 186.815 Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS 2016 5. Oktober 2016 Machen Sie

Mehr

Lokale Suche. 31. Januar / 28

Lokale Suche. 31. Januar / 28 Lokale Suche 31. Januar 2018 1 / 28 Lokale Suche Wir betrachten das allgemeine Minimierungsproblem min y f (x, y) so dass L(x, y). Wir nehmen an, dass zu jeder Lösung y auch eine Nachbarschaft N (y) benachbarter

Mehr

Betriebswirtschaftliche Optimierung

Betriebswirtschaftliche Optimierung Institut für Statistik und OR Uni Graz 1 Das Travelling Salesperson Problem 2 Das Travelling Salesperson Problem Zentrales Problem der Routenplanung Unzählige wissenschaftliche Artikel theoretischer sowie

Mehr

21. Dynamic Programming III

21. Dynamic Programming III Approximation 21. Dynamic Programming III FPTAS [Ottman/Widmayer, Kap. 7.2, 7.3, Cormen et al, Kap. 15,35.5] Sei ein ε (, 1) gegeben. Sei I eine bestmögliche Auswahl. Suchen eine gültige Auswahl I mit

Mehr

Approximation im Sinne der Analysis:

Approximation im Sinne der Analysis: 1 Approximation im Sinne der Analysis: Satz von Weierstrass: (1815-1897) Sei f eine stetige Funktion auf [a, b]. Dann gibt es zu jedem ε > 0 ein Polynom P ε mit: max x [a,b] f(x) P ε(x) < ε Numerische

Mehr

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 4 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 4 : Komplexitätsklassen Informatik III - WS07/08 Kapitel 4 2 Sprachen, Probleme, Zeitkomplexität

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 22 1 Das Travelling Salesperson Problem

Mehr

Dynamisches Routing in der Logistik

Dynamisches Routing in der Logistik Informatik, Angewandte Informatik, Technische Informationssysteme Dynamisches Routing in der Logistik Tobias Dimmel Dresden, 24.05.2012 Agenda 1. Begriffe 2. Traveling Salesman Problem 3. Ameisenalgorithmus

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 21. Kombinatorische Optimierung und lokale Suche Malte Helmert Universität Basel 10. April 2015 Kombinatorische Optimierung Kombinatorische Optimierung: Einführung

Mehr

Konstruktive Heuristiken

Konstruktive Heuristiken Konstruktive Heuristiken Konstruktive Heuristik: Ein Plan oder ein Schedule wird durch das schrittweise Ein- oder Anfügen einer Operation oder einer Menge von Operationen erzeugt: - Reihungsregeln (Dispatching

Mehr

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

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1 Zeitkomplexität (1) Proseminar Theoretische Informatik Proseminar Theoretische Informatik: Lisa Dohrmann 1 Warum Komplexitätsbetrachtung? Ein im Prinzip entscheidbares und berechenbares Problem kann in

Mehr

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

21. Greedy Algorithmen. Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 581 21. Greedy Algorithmen Aktivitätenauswahl, Fractional Knapsack Problem, Huffman Coding Cormen et al, Kap. 16.1, 16.3 Aktivitäten Auswahl 582 Koordination von Aktivitäten, die gemeinsame Resource exklusiv

Mehr

Survival of the Fittest Optimierung mittels Genetischer Algorithmen

Survival of the Fittest Optimierung mittels Genetischer Algorithmen Übung zu Organic Computing Survival of the Fittest Optimierung mittels Genetischer Algorithmen Sabine Helwig Lehrstuhl für Informatik 12 (Hardware-Software-Co-Design) Universität Erlangen-Nürnberg sabine.helwig@informatik.uni-erlangen.de

Mehr

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

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften 1 Michael Beetz Technische Universität München Wintersemester 2004/05 Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche 2 3 der Eigenschaften der 4 : 8-Puzzle 5 Heuristiken und ihre Eigenschaften

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 16.11.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Polynomialzeit- Approximationsschema

Polynomialzeit- Approximationsschema Polynomialzeit- Approximationsschema 27.01.2012 Elisabeth Sommerauer, Nicholas Höllermeier Inhalt 1.NP-Vollständigkeit Was ist NP-Vollständigkeit? Die Klassen P und NP Entscheidungsproblem vs. Optimierungsproblem

Mehr

Genetische und Evolutionäre Algorithmen (Vol. 2)

Genetische und Evolutionäre Algorithmen (Vol. 2) Vortrag über Genetische und Evolutionäre Algorithmen (Vol. 2) von Adam El Sayed Auf und Kai Lienemann Gliederung: 4) Rückblick 5) Allgemeine Einführung 6) Genauere Beschreibung von Evolutionären Strategien

Mehr

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

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering Das Linear Ordering Problem Exakte Lösungsverfahren VO Algorithm Engineering für NP-schwierige Professor Dr. Petra Mutzel kombinatorische Lehrstuhl für Algorithm Engineering, LS11 Optimierungsprobleme

Mehr

Wiederholung. Divide & Conquer Strategie

Wiederholung. Divide & Conquer Strategie Wiederholung Divide & Conquer Strategie Binäre Suche O(log n) Rekursives Suchen im linken oder rechten Teilintervall Insertion-Sort O(n 2 ) Rekursives Sortieren von a[1..n-1], a[n] Einfügen von a[n] in

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 6 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 16. Mai 2018 [Letzte Aktualisierung: 18/05/2018,

Mehr

Approximationsalgorithmen. 19. Dezember / 28

Approximationsalgorithmen. 19. Dezember / 28 Approximationsalgorithmen 19. Dezember 2017 1 / 28 Optimierungsprobleme Das Ziel: Bearbeite schwierige Optimierungsprobleme der Form opt y f (x, y) so dass L(x, y). Die Zielfunktion f (x, y) ist zu minimieren

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die

Mehr

Hamiltonsche Graphen

Hamiltonsche Graphen Hamiltonsche Graphen Definition 3.2. Es sei G = (V, E) ein Graph. Ein Weg, der jeden Knoten von G genau einmal enthält, heißt hamiltonscher Weg. Ein Kreis, der jeden Knoten von G genau einmal enthält,

Mehr

Vorlesung Kombinatorische Optimierung (Wintersemester 2007/08)

Vorlesung Kombinatorische Optimierung (Wintersemester 2007/08) 1 Vorlesung Kombinatorische Optimierung (Wintersemester 2007/08) Kapitel 5: NP-schwierige Probleme Volker Kaibel Otto-von-Guericke Universität Magdeburg (Version vom 21. Dezember 2007) Rucksack Problem

Mehr

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

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte

Mehr

Euklidische Distanzmatrizen. Andrei Grecu

Euklidische Distanzmatrizen. Andrei Grecu Euklidische Distanzmatrizen Andrei Grecu Übersicht Motivation Definition und Problemstellung Algo 1: Semidefinite Programmierung Algo 2: Multidimensional Scaling Algo 3: Spring Embedder Algo 4: Genetischer

Mehr

3.6 Branch-and-Bound-Verfahren

3.6 Branch-and-Bound-Verfahren 36 Branch-and-Bound-Verfahren Die Branch-and-Bound -Methode beruht darauf, auf eine intelligente Weise alle zulässigen Lösungen eines kombinatorischen Optimierungsproblems aufzulisten und mit Hilfe von

Mehr

Laufzeit einer DTM, Klasse DTIME

Laufzeit einer DTM, Klasse DTIME Laufzeit einer DTM, Klasse DTIME Definition Laufzeit einer DTM Sei M eine DTM mit Eingabealphabet Σ, die bei jeder Eingabe hält. Sei T M (w) die Anzahl der Rechenschritte d.h. Bewegungen des Lesekopfes

Mehr

Vorlesung Kombinatorische Optimierung (Wintersemester 2014/15)

Vorlesung Kombinatorische Optimierung (Wintersemester 2014/15) 1 Vorlesung Kombinatorische Optimierung (Wintersemester 2014/15) Kapitel 5: NP-schwierige Probleme Volker Kaibel Otto-von-Guericke Universität Magdeburg (Version vom 13. April 2015) Rucksack Problem 2

Mehr

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.

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. Ein polynomieller Algorithmus für das N-Damen Problem 1 Einführung 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

Mehr