Klassifikation von Heuristiken Problembezogen: Nach Komplexität

advertisement
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
Herunterladen