Klassifikation von Heuristiken Meta-Heuristiken § Problembezogen: § Was sind Meta-Heuristiken? • Problemspezifische Heuristiken • Problemunabhängige Heuristiken • Kombinieren unterschiedliche Suchstrategien - § Nach Komplexität: • Einfache Heuristiken • Hybride Heuristiken § Nach Methodik: 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 • Konstruktionsheuristiken • Verbesserungsheuristiken § Deterministisch vs. Zufallsgesteuert Folie 38 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken Folie 39 Konstruktionsheuristiken § Vorgehen: Eine Lösung wird schrittweise aufgebaut In jedem Schritt wird eine Lösungskomponente gewählt Wahl in Abhängigkeit von Regeln Ziel der Regeln: Eine möglichst gute Lösung zu produzieren • 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: à Maximierung der erwarteten Lösungsgüte - 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 § Häufig verwendete Strategie: • „Greedy“ (gierige) Auswahl der Lösungskomponenten, d.h. momentane Gewinnmaximierung Folie 40 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken Moderne heuristische Optimierungsverfahren: Meta -Heuristiken GBP: Greedy-Heuristiken § Vorgehen: • • • • Dr. Peter Merz Folie 41 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken 1 GBP: Differential Greedy (1) GBP: Differential Greedy (2) § Vorgehen § Vorgehen 4 (Wahl der Knoten): • Minimierung der Differenz der neuen Kanten zwischen den Mengen (externe Kanten, Ei) und den Kanten innerhalb der Mengen (interne Kanten, I i) • Bei mehreren Kandidaten zufällige Auswahl Folie 42 Dr. Peter Merz 9 8 6 12 2 1 3 11 5 10 7 Rot:12, d(12)=E12-I 12 =0–1= -1 d(4)=-1, d(3)=0, d(6)=2 Folie 43 Moderne heuristische Optimierungsverfahren: Meta -Heuristiken 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 (Wahl der Knoten): • Minimierung der Differenz der neuen Kanten zwischen den Mengen (externe Kanten, Ei) und den Kanten innerhalb der Mengen (interne Kanten, I i) • Bei mehreren Kandidaten zufällige Auswahl Dr. Peter Merz 9 8 6 12 2 1 3 11 5 10 7 Blau: 6, d(6)=E6-I 6 =1-2=-1 d(4)=1-0=1, d(3)=2-1=1 Moderne heuristische Optimierungsverfahren: Meta -Heuristiken TSP: Greedy Heuristik § Greedy Heuristic: 4 • 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 9 8 6 2 1 3 10 Moderne heuristische Optimierungsverfahren: Meta -Heuristiken 5 7 Folie 45 Dr. Peter Merz 4 9 8 6 2 1 3 10 5 7 Moderne heuristische Optimierungsverfahren: Meta -Heuristiken 2 TSP: Einfüge-Heuristiken (1) TSP: Einfüge-Heuristiken (2) § Insertion Heuristics: § Insertion-Heuristik: • Beispiel der Nearest Insertion Strategie: • Beginnend mit einer Tour bestehend aus einer Stadt werden Städte hinzugefügt bis alle Städte besucht sind • Verschiedene Strategien existieren: 4 - 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 4 9 8 6 9 8 6 2 1 2 1 3 3 5 • Einfügeposition: 10 7 - Wahl durch Minimierung der Tourlängenzunahme (insertion) - Nach der nächstgelegenen Stadt in der Tour (addition) 5 10 7 Einfügereihenfolge: 1, 10, 6, 3, 7, 8, 4, 9, 2, 5 Folie 46 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken Folie 47 Moderne heuristische Optimierungsverfahren: Meta -Heuristiken TSP: Vergleich Konstruktionsheuristiken (1) TSP: Vergleich Konstruktionsheuristiken (2) § 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 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken 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(n 2) O(n 2 log n) O(n 2) O(n 2) O(n 2 log n) O(n log n ) O(n log n ) O(n) O(n 2) O(n) O(n) O(n 2) 26.27% 11.96% 20.98% 13.99% 17.23% O(n) O(n) ca. 16% ca. 26% Moderne heuristische Optimierungsverfahren: Meta -Heuristiken 3 Verbesserungsheuristiken Lokale Suche § 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) 1. 2. 3. 4. § 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 Algorithmus (Maximierung): 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 Veränderung mit geringfügiger Zielfunktionsveränderung Veränderung einzelner Komponenten des Lösungsvektors Beachtung der Nebenbedingungen Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken GBP: Lokale Suche GBP: 2-opt Lokale Suche § Lösungsveränderung durch § 2-opt: (Pairwise Exchange) • Tausch eines Knotens aus Menge 1 mit einem Knoten aus Menge 2 • 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ß ∆c = E3 – I 3 + E6 – I 6 – 2 aij =2 – 1 + 3 – 1 + 0 = 3 4 Moderne heuristische Optimierungsverfahren: Meta -Heuristiken 8 2 1 12 3 11 3 5 10 7 5 10 Cut, c(vb,vr) = 6 Folie 53 Dr. Peter Merz 2 1 11 - aij ist die Adjazenzmatrix des Graphen Dr. Peter Merz 9 6 12 • 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 – Ii + E j - Ij – 2 a ij Folie 52 8 6 § Berechnung des Gewinns: 4 9 7 Cut, c(vb,vr) = 3 Moderne heuristische Optimierungsverfahren: Meta -Heuristiken 4 GBP: Kernighan-Lin Lokale Suche TSP: Lokale Suche § 2-opt: Austausch von 2 Knoten § Lösungsveränderung durch • 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 Dr. Peter Merz § 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 Moderne heuristische Optimierungsverfahren: Meta -Heuristiken Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken TSP: Knotentausch (node exchange) TSP: Knotenwiedereinfügen (node insertion) § Bsp.: Knoten 6 und 3 werden vertauscht § Bsp.: Knoten 3 wird zwischen 5 und 7 eingefügt 4 4 9 8 6 4 9 8 6 1 7 5 1 3 5 10 7 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) ) Moderne heuristische Optimierungsverfahren: Meta -Heuristiken 2 3 Gewinn: Dr. Peter Merz 8 6 1 3 10 9 2 1 10 8 2 3 5 4 9 6 2 Folie 56 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) 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 5 TSP: Zwei-Kantentausch (2-opt) TSP: Drei-Kantentausch (3-opt) § Bsp.: Kanten (1,3) + (6,7) werden mit (1,6) + (3,7) getauscht § Bsp.: Kanten (1,8) + (3,4) + (5,6) werden mit (1,6) + (4,8) + (3,5) getauscht 4 4 9 8 6 4 9 8 6 1 3 5 10 7 7 10 5 7 Gewinn: g = d(1,3) + d(6,7) – ( d(1,6) + d(3,7) ) Dr. Peter Merz 3 5 10 7 Gewinn: Folie 58 2 1 3 5 8 2 1 3 9 6 2 1 10 8 6 2 4 9 g = d(1,8) + d(3,4) + d(5,6) – ( d(1,6) + d(4,8) + d(3,5) ) Folie 59 Moderne heuristische Optimierungsverfahren: Meta -Heuristiken Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken TSP: Lokale Suche im Vergleich TSP: Schnelle lokale Suche (1) § Ergebnisse: § Ziel: Laufzeitreduktion auf O(n) pro Iteration • 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% • 2-opt: d(t 2,t1) + d(t 4,t3) > d(t 2,t3) + d(t 4,t1) à d(t2,t 3) < d(t 2,t 1) oder d(t4,t 1) < d(t 2,t 1) à Übertragung auf 3-opt möglich à Kandidaten für t 3 (t5) in aufsteigender Reihenfolge betrachten bis d(t2,t 3) > d(t 2,t 1) oder bis k nächsten Nachbarn von t 2 (t4) 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 Folie 61 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken 6 TSP: Schnelle lokale Suche (2) TSP: Konstruktionsheuristik + Lokale Suche § Zu Berechnen: Für jede Stadt k nächste Nachbarn § Ergebnisse: • A priori durch Heapsort : O(n 2 log k) • A priori durch 2-dim. Suchbäume: O(n log n + nk) • 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 § 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 t1 gesetzt • Ein don‘t look bit für t1 wird gelöscht, wenn t1 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 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken 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% 3-opt 3-opt 3.8% 3.8% 3.6% 3.6% 3.1% 3.1% Moderne heuristische Optimierungsverfahren: Meta -Heuristiken TSP: Die Lin-Kernighan-Heuristik (1) TSP: Die Lin-Kernighan-Heuristik (2) § Idee von Lin-Kernighan (LK): § Algorithmus: • 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 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken Schrittweiser Tausch von x i gegen y i Gewinn in Schritt i: g i = d( u2i − 1,u2 i ) − d( u2 i , u2i +1 ) =| xi | − | yi | i Bedingung für Tiefensuche: Gi = ∑ gk > 0 k =1 Effektiver Tausch nach n Schritten: k Kanten mit Gk* = Gk −1 + d (u2 k −1, u2k ) − d( u2 k ,u1 ) > 0 maximal (2 ≤ k ≤ n) Folie 65 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken 7 TSP: Die Lin-Kernighan-Heuristik (3) TSP: Vergleich 3-opt und LK-Heuristik § Backtracking: § Ergebnisse nach Johnson’96: • Betrachtung von Alternativen zu y1, x 2, y2 • Dadurch: Alle 2-opt und 3-opt Züge enthalten • 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 § Reduktion des Suchraums: • Nur sequentieller Kantentausch, d.h. x i und yi teilen sich einen Endpunkt Nicht-Sequentieller Kantentausch 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 66 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken Folie 67 Dr. Peter Merz Moderne heuristische Optimierungsverfahren: Meta -Heuristiken 8