pdf-Datei

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