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 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken 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 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken 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 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken 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, Ei), bei mehreren Kandidaten: maximiere Kanten innerhalb der Mengen (interne Kanten, Ii) - Minimierung der Differenz zwischen externen und internen Kanten Folie 41 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken GBP: Differential Greedy (1) § Vorgehen (Wahl der Knoten): • Minimierung der Differenz der neuen Kanten zwischen den Mengen (externe Kanten, Ei) und den Kanten innerhalb der Mengen (interne Kanten, Ii) • Bei mehreren Kandidaten zufällige Auswahl Folie 42 Dr. Peter Merz 4 9 8 6 12 2 1 11 3 5 10 7 Rot:12, d(12)=E12-I12 =0–1= -1 d(4)=-1, d(3)=0, d(6)=2 Moderne heuristische Optimierungsverfahren: Meta-Heuristiken GBP: Differential Greedy (2) § Vorgehen (Wahl der Knoten): • Minimierung der Differenz der neuen Kanten zwischen den Mengen (externe Kanten, Ei) und den Kanten innerhalb der Mengen (interne Kanten, Ii) • Bei mehreren Kandidaten zufällige Auswahl Folie 43 Dr. Peter Merz 4 9 8 6 12 2 1 11 10 Moderne heuristische Optimierungsverfahren: Meta-Heuristiken 3 5 7 Blau: 6, d(6)=E6-I6 =1-2=-1 d(4)=1-0=1, d(3)=2-1=1 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 Dr. Peter Merz 4 9 8 6 2 1 3 10 Moderne heuristische Optimierungsverfahren: Meta-Heuristiken 5 7 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 Dr. Peter Merz 4 9 8 6 2 1 3 10 Moderne heuristische Optimierungsverfahren: Meta-Heuristiken 5 7 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 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken TSP: Einfüge-Heuristiken (2) § Insertion-Heuristik: • Beispiel der Nearest Insertion Strategie: 4 4 9 8 6 9 8 6 2 1 2 1 3 10 3 5 7 10 Einfügereihenfolge: 1, 10, 6, 3, 7, 8, 4, 9, 2, 5 Folie 47 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken 5 7 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) L ( xheu ) q( x) = − 1 ⋅ 100% L( x ) opt • q(x)=100%: Doppelte Tourlänge • q(x)=0.0%: Optimale Tourlänge Folie 48 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken TSP: Vergleich Konstruktionsheuristiken (2) § Ergebnisse: • Aus Reinelt’94, gemittelt über 24 Instanzen (n=198 – 5934) 1. 2. 3. 4. 5. Nearest Neighbor: Greedy: Nearest Insertion: Farthest Insertion: Cheapest Insertion: • Es existieren schelle Varianten, wie 1. Bentley‘s Greedy: 2. Bentley‘s NN: Folie 49 Dr. Peter Merz O(n2) O(n2 log n) O(n2) O(n2) O(n2 log n) O(n log n) O(n log n) Moderne heuristische Optimierungsverfahren: Meta-Heuristiken O(n) O(n2) O(n) O(n) O(n2) 26.27% 11.96% 20.98% 13.99% 17.23% O(n) O(n) ca. 16% ca. 26% 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 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken Lokale Suche § Algorithmus (Maximierung): 1. 2. 3. 4. § Lösungsveränderung: • • • Folie 51 Verändere Lösung x → x‘ Wenn f(x‘) > f(x) x = x‘; Wenn für alle x‘ gilt: f(x‘) < f(x), dann stop sonst weiter mit Schritt 1 Dr. Peter Merz Veränderung mit geringfügiger Zielfunktionsveränderung Veränderung einzelner Komponenten des Lösungsvektors Beachtung der Nebenbedingungen Moderne heuristische Optimierungsverfahren: Meta-Heuristiken 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 = Ei – Ii + Ej - Ij – 2 aij - aij ist die Adjazenzmatrix des Graphen Folie 52 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken GBP: 2-opt Lokale Suche § 2-opt: (Pairwise Exchange) • Tausch eines Knotens aus Menge 1 mit einem Knoten aus Menge 2 ∆c = E3 – I3 + E6 – I6 – 2 aij=2 – 1 + 3 – 1 + 0 = 3 4 4 9 8 6 2 1 12 3 11 5 7 10 Cut, c(vb,vr) = 6 Dr. Peter Merz 2 1 11 Folie 53 8 6 12 10 9 Moderne heuristische Optimierungsverfahren: Meta-Heuristiken 3 5 7 Cut, c(vb,vr) = 3 GBP: Kernighan-Lin Lokale Suche § 2-opt: Austausch von 2 Knoten • O(n2) Möglichkeiten für Tausch (n=|V|) § k-opt: Austausch von k Knoten • O(nk) Möglichkeiten für Tausch • Laufzeitreduktion auf O(n2) 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 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken 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 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken TSP: Knotentausch (node exchange) § Bsp.: Knoten 6 und 3 werden vertauscht 4 4 9 8 6 9 8 6 2 1 2 1 3 3 5 10 7 10 5 7 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 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken TSP: Knotenwiedereinfügen (node insertion) § Bsp.: Knoten 3 wird zwischen 5 und 7 eingefügt 4 4 9 8 6 9 8 6 2 1 2 1 3 3 5 10 7 10 5 7 Gewinn: g = d(6,3) + d(3,4) + d(5,7) – ( d(6,4) + d(5,3) + d(3,7) ) Folie 57 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken TSP: Zwei-Kantentausch (2-opt) § Bsp.: Kanten (1,3) + (6,7) werden mit (1,6) + (3,7) getauscht 4 4 9 8 6 9 8 6 2 1 2 1 3 3 5 10 7 10 Gewinn: g = d(1,3) + d(6,7) – ( d(1,6) + d(3,7) ) Folie 58 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken 5 7 TSP: Drei-Kantentausch (3-opt) § Bsp.: Kanten (1,8) + (3,4) + (5,6) werden mit (1,6) + (4,8) + (3,5) getauscht 4 4 9 8 6 9 8 6 2 1 2 1 3 3 5 10 7 10 5 7 Gewinn: g = d(1,8) + d(3,4) + d(5,6) – ( d(1,6) + d(4,8) + d(3,5) ) Folie 59 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken TSP: Lokale Suche im Vergleich § Ergebnisse: • Aus Reinelt’94, gemittelt über 24 Instanzen (n=198 – 5934) Heuristik Heuristik Zeit/Iteration Zeit/Iteration Kanten Kanten q(x) q(x) RT RT ++ Node Node exchange exchange RT RT ++ Node Node insertion insertion (ni) (ni) NN NN ++ Node Node insertion insertion (ni) (ni) RT RT ++ 2-opt 2-opt NN NN ++ 2-opt 2-opt RT RT ++ 2-opt/ni 2-opt/ni NN NN ++ 2-opt/ni 2-opt/ni RT RT ++ 3-opt 3-opt NN NN ++ 3-opt 3-opt O(n O(n22)) O(n O(n22)) O(n O(n22)) O(n O(n22)) O(n O(n22)) O(n O(n22)) O(n O(n22)) O(n O(n33)) O(n O(n33)) 44 33 33 22 22 33 33 33 33 >100% >100% 97.18% 97.18% 16.59% 16.59% 14.67% 14.67% 8.42% 8.42% 9.62% 9.62% 5.80% 5.80% 8.01% 8.01% 5.00% 5.00% RT: RT: Zufällige Zufällige Startlösungen, Startlösungen, NN: NN: Nearest-Neighbor Nearest-Neighbor Lösungen Lösungen Folie 60 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken TSP: Schnelle lokale Suche (1) § Ziel: Laufzeitreduktion auf O(n) pro Iteration • 2-opt: d(t2,t1) + d(t4,t3) > d(t2,t3) + d(t4,t1) à d(t2,t3) < d(t2,t1) oder d(t 4,t1) < d(t2,t1) à Übertragung auf 3-opt möglich à Kandidaten für t3 (t5) in aufsteigender Reihenfolge betrachten bis d(t 2,t3) > d(t2,t1) oder bis k nächsten Nachbarn von t2 (t4) Folie 61 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken TSP: Schnelle lokale Suche (2) § Zu Berechnen: Für jede Stadt k nächste Nachbarn • A priori durch Heapsort : O(n2 log k) • A priori durch 2-dim. Suchbäume: O(n log n + nk) § Weitere Laufzeitreduktion - don‘t look bits: • Wenn für ein t1 kein tourverkürzender Kantentausch gefunden werden konnte, wird don‘t look bit für t1 gesetzt • Ein don‘t look bit für t1 wird gelöscht, wenn t1 Endpunkt einer entfernten Kante ist • Alle Kandidaten für t1, deren don‘t look bit gesetzt ist, werden nicht betrachtet • Anfangs sind alle don‘t look bits gelöscht Folie 62 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken TSP: Konstruktionsheuristik + Lokale Suche § Ergebnisse: • Aus Merz’96, gemittelt über 18 Instanzen (n=51 – 3038) Heuristik Heuristik Nearest Nearest Neighbor Neighbor Nearest Nearest Insertion Insertion Farthest Farthest Insertion Insertion Cheapest Cheapest Insertion Insertion Ohne Ohne LS LS 20.75% 20.75% 21.70% 21.70% 10.38% 10.38% 17.36% 17.36% 2-opt 2-opt 5.35% 5.35% 9.67% 9.67% 7.48% 7.48% 7.79% 7.79% • Aus Johnson’96, (n=1000) Heuristik Heuristik Random Random Nearest Nearest Neighbor Neighbor Greedy Greedy Folie 63 Dr. Peter Merz Ohne Ohne LS LS 2150% 2150% 25.9% 25.9% 17.6% 17.6% 2-opt 2-opt 7.9% 7.9% 6.6% 6.6% 4.9% 4.9% Moderne heuristische Optimierungsverfahren: Meta-Heuristiken 3-opt 3-opt 3.8% 3.8% 3.6% 3.6% 3.1% 3.1% 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(nk) Möglichkeiten • Ab k=4 nicht mehr praktikabel und Tourlängenreduktion gering • Betrachtung einer kleinen Teilmenge aller O(nk) 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 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken TSP: Die Lin-Kernighan-Heuristik (2) § Algorithmus: Schrittweiser Tausch von xi gegen y i Gewinn in Schritt i: g i = d (u2i −1, u 2i ) − d (u2i , u2i +1 ) = | xi | − | y i | i Bedingung für Tiefensuche: Gi = ∑ g k > 0 k =1 Effektiver Tausch nach n Schritten: k Kanten mit Gk* = Gk −1 + d (u 2k −1, u 2k ) − d (u2 k , u1 ) > 0 maximal (2 ≤ k ≤ n ) Folie 65 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken TSP: Die Lin-Kernighan-Heuristik (3) § Backtracking: • Betrachtung von Alternativen zu y1, x2, y2 • Dadurch: Alle 2-opt und 3-opt Züge enthalten § Reduktion des Suchraums: • Nur sequentieller Kantentausch, d.h. xi und yi teilen sich einen Endpunkt Folie 66 Dr. Peter Merz Nicht-Sequentieller Kantentausch Moderne heuristische Optimierungsverfahren: Meta-Heuristiken 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 Heuristik n=1000 n=1000 10000 10000 100000 100000 3-opt 3-opt <3.1% <3.1% 0.41s 0.41s <3.0% <3.0% 4.7s 4.7s <3.0% <3.0% 69s 69s Lin-Kernighan Lin-Kernighan <2.0% <2.0% 0.77s 0.77s <2.0% <2.0% 9.8s 9.8s <2.0% <2.0% 151s 151s • CPU-Zeiten: 150 MHz SGI Challenge Folie 67 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta-Heuristiken