Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 220 Dr. Peter Merz
Konstruktions-Verbesserungsheuristiken
§ Idee:• 2-Phasen-Suche• 1. Phase: Randomisierte
Konstruktionsheuristik• 2. Phase: Lokale Suche
§ Beispiele:• Multi-Start lokale Suche• GRASP: Greedy Randomized
Adaptive Search Procedure (Feo und Resendre, 1995), ohne Gedächtnis
• ACS+LS, verwendet Gedächtnis (h)
Initialisiere(h)Initialisiere(h)
s = konstruiere(h)s = konstruiere(h)
s* = lokaleSuche(s, h)s* = lokaleSuche(s, h)
EndeEnde
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 221 Dr. Peter Merz
Iterierte lokale Suche (ILS)
§ ILS:• Idee von mehreren Wissenschaftlern unabhängig von
einander verfolgt à Viele Namen:- Iterated Descent (Baum, 1986)- Large Step Markov Chains (Martin, Otto, Felten, 1991)- Iterated Lin-Kernighan (Johnson, 1990)- Chained Local Optimization (Martin und Otto, 1996)
• Weiterentwicklungen:- Reactive Search (Battiti und Protasi, 1997)- Variable Neighborhood Search (Hansen und Mladenovic, 1998)
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 222 Dr. Peter Merz
ILS - Ablauf
§ Initialisierung:• Zufallslösung oder
heuristische Lösung
§ Perturbation:• Zufällig (Mutation) • Oder deterministisch• Verwendung eines
Gedächtnisses (h : history)
§ Akzeptanzkriterien:• Nur bessere Lösungen• Nach Wkeitsverteilung• Mit Hilfe des
Gedächtnisses
s0 = erzeugeStartLösungs0 = erzeugeStartLösung
s‘ = perturbation(s*, h)s‘ = perturbation(s*, h)
s*‘ = lokaleSuche(s‘)s*‘ = lokaleSuche(s‘)
EndeEnde
s* = lokaleSuche(s0)s* = lokaleSuche(s0)
s* = akzeptiere(s*, s*‘, h)s* = akzeptiere(s*, s*‘, h)
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 223 Dr. Peter Merz
ILS – Akzeptanzkriterien (1)
§ Nur bessere Lösungen:• Häufig verwendet• Lokale Meta-Suche
* ', wenn ( * ') ( *)( *, * ', )
*, wenn ( * ') ( *)s f s f s
best s s hs f s f s
<=
≥
( *, * ', ) * 'rw s s h s=
§ Random Walk:• Immer neue Lösung s*‘ akzeptieren• Zufällige Meta-Suche
(Im folgenden: Minimierung)
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 224 Dr. Peter Merz
ILS – Akzeptanzkriterien (2)
§ LSMC:• Bessere Lösungen akzeptieren• Schlechtere Lösungen mit geringer Wahrscheinlichkeit
akzeptieren à Metropolis-Kriterium• Simulated Annealing Meta-Suche
( )( *) ( *') /* ', wenn ( * ') ( *)( *, * ', )*, sonst
: Annealing Temperatur: Zufallszahl zwischen 0 und 1
f s f s Ts f s f s r elsmc s s hs
Tr
− < ∨ <=
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 225 Dr. Peter Merz
ILS – Akzeptanzkriterien (3)
§ Restart:• Bessere Lösungen akzeptieren• Wenn seit ∆ir Iterationen keine Verbesserung, erzeuge
neue Lösung
r
* ', wenn ( * ') ( *)( *, * ', ) ( *, ), wenn ( * ') ( *) -
* sonst
: aktuelle Iteration: Letze Iteration mit besserer Lösung
i : restart-Parameter
last r
last
s f s f srestart s s h new s h f s f s i i i
s
ii
<= ≥ ∧ > ∆
∆
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 226 Dr. Peter Merz
ILS - Pertubation
§ Ziel:• Suche eines nahe gelegenen lokalen Optimums• Verlassen des Attraktionsgebietes des aktuellen lokalen
Optimums
§ Mögliche Vorgehensweise:• Perturbation kann über Nachbarschaften definiert werden• Auswahl aus Nachbarschaft zufällig oder deterministisch• Nachbarschaft der lokalen Suche und der Perturbation
disjunkt à Wähle s∈Npert mit Nls ∩ Npert =∅
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 227 Dr. Peter Merz
Variable Neighborhood Search
§ Idee:• Von Hansen und Mladenovic, 1998• VNS und ILS sind ähnlich• Dynamische Änderung der Nachbarschaften der lokalen
Suche• Wie ILS mit schrittweiser Veränderung der
Pertubationsnachbarschaft N1, N2, N1 ,..., Nkmax
• Akzeptanzkriterium: Akzeptanz besserer Lösungen
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 228 Dr. Peter Merz
Variable Neighborhood Search
§ Ablauf VNS:
Procedure VNS;
begins = konstruiereLösung();k = 1;repeat
wähle zufällig s‘ ∈ Nk(s);s* = lokaleSuche(s‘);if f(s*) < f(s) then
s = s*;k = 1;
elsek = k + 1;
endifuntil k > kmax;
end;
Procedure VNS;
begins = konstruiereLösung();k = 1;repeat
wähle zufällig s‘ ∈ Nk(s);s* = lokaleSuche(s‘);if f(s*) < f(s) then
s = s*;k = 1;
elsek = k + 1;
endifuntil k > kmax;
end;
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 229 Dr. Peter Merz
VNS - Varianten
§ VNDS:• Variable Neighborhood Decomposition Search• Wie VNS, aber eingeschränkte lokale Suche• Einschränkung erfolgt durch fixieren von Attributen
(Lösungskomponenten)• Drastische Laufzeitreduktion möglich à nötig bei großen
Problem-Instanzen
§ VND:• Variable Neighborhood Descent• Lokale Suche mit variierter Nachbarschaft
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 230 Dr. Peter Merz
Variable Neighborhood Descent
§ Ablauf VND:
Procedure VND;
begins = konstruiereLösung();k = 1;repeat
Finde bestes s* ∈ Nk(s);if f(s*) < f(s) then
s = s*;else
k = k + 1;endif
until k > kmax;end;
Procedure VND;
begins = konstruiereLösung();k = 1;repeat
Finde bestes s* ∈ Nk(s);if f(s*) < f(s) then
s = s*;else
k = k + 1;endif
until k > kmax;end;
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 231 Dr. Peter Merz
Scatter Search
§ Idee:• Von Glover 1968, 1998• Meta-Heurisitik, sehr allgemein gehaltenes Template• Gewichtung von Nebenbedingungen und Kombination zur
Erzeugung neuer Nebenbedingungen –Surrogate Constraints
• Neue Lösungen werden durch Kombination von Lösungen aus einer Referenzmenge erzeugt
àpopulationsbasierter Ansatz ähnlich zu evolutionären Algorithmen bzw. memetischen Algorithmen
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 232 Dr. Peter Merz
Scatter Search Phasen
1. Phase: Erzeugung einer Referenzmenge• Erzeugung einer Initialen Menge an Lösungen• Verbesserung der Lösungen (lokale Suche, Tabu
Search,...)• Die besten Lösungen ergeben die Referenzmenge unter
Berücksichtigung der Diversität
2. Phase: Scatter Search Evolution• Erzeuge systematisch neue Lösungen durch Kombination
mehrerer Lösungen• Gewährleistung der Gültigkeit der Lösungen durch Rundung• Verbessung der Lösungen wie oben• Aktualisierung der Referenzmenge
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 233 Dr. Peter Merz
Scatter Search Template (1)
1. Diversification Generation Method:• Aus einer Lösung werden mehrere Kandiatenlösungen
erzeugt
2. Improvement Method:• Verbesserungsheuristik: Lokale Suche, Tabu Search
3. Reference Set Update Method:• Methode/Strategie zum Hinzufügen und Löschen von
Lösungen aus der Referenzmenge• Größe der Menge (z.B. b=20) soll konstant gehalten werden
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 234 Dr. Peter Merz
Scatter Search Template (2)
4. Subset Generation Method:• Auswahl von Teilmengen der Referenzmenge zur
Lösungskombination
5. Solution Combination Method:• Kombination mehrer Lösungen zu einer Lösung
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 235 Dr. Peter Merz
Scatter Search Ablaufschema
Erzeuge Startlösung(en)Erzeuge Startlösung(en)
ImprovementImprovement
Reference Set UpdateReference Set Update
Diversification GeneratorDiversification Generator Solution CombinationSolution Combination
ImprovementImprovement
Subset GenerationSubset Generation
Reference Set UpdateReference Set Update
EndeEnde
Phase I Phase II
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 236 Dr. Peter Merz
Scatter Search vs. Memetische Algorithmen
§ Begriffe:• Referenzmenge = Population• Improvement = Lokale Suche• Reference Set Update = Überlebensselektion• Subset Generation = Variationsselektion• Solution Combination = Rekombination (Multi-Parent)
§ Wichtigste Unterschiede:• Deterministisch vs. Zufallsgesteuert• Vollständige, systematische Kombination
(erst alle Paare dann alle 3er Kombinationen, usw.)vs. zufällige oder fitnessbasierte Selektion
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 237 Dr. Peter Merz
Scatter Search Methoden (1)
§ Diversifikation:• Beispiel binäres Problem f: S→¡ mit S={0,1}l
• Startlösung x=(0,...,0)
1 1
1 1
1
1 1,..., /
1 1,...,hk hk
i i
x x
x x k n h
x x i n+ +
′ = −′ = − ∀ =′′ ′= − ∀ =
§ Improvement:• 1-opt lokale Suche (single bit-flip)
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 238 Dr. Peter Merz
Scatter Search Methoden (2)
§ Referenzmengen Update:• Unterteilung in zwei Mengen• Menge B der sehr guten Lösungen und• Menge D der sich stark unterscheidenden Lösungen• Hinzufügen zu Menge B, wenn Fitness besser als
schlechteste Lösung der Menge B ist• Hinzufügen der Lösung, die die minimale Distanz zu einer
Lösung der Menge D maximiert
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 239 Dr. Peter Merz
Scatter Search Methoden (3)
§ Teilmengen-Erzeugung:• Alle 2-elementigen Teilmengen• 3-elementige Teilmengen durch Hinzunahme der besten,
nicht enthaltenen Lösung zu allen Paaren• 4-elementige Teilmengen durch Hinzunahme der besten,
nicht enthaltenen Lösung zu 3-elementigen Teilmengen• Alle Teilmengen der i besten Lösungen von 5 bis zur Größe
der Referenzmenge
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 240 Dr. Peter Merz
Scatter Search Methoden (4)
§ Lösungskombination:• Für jede Lösungskomponente (jedes Bit) wird ein score
berechnet
,( )( )
( )
1, wenn ( ) 0.50, sonst
: Lösungen/Teilmenge für Kombination
j j ij R
jj R
i
f x xscore i
f x
score ix
R
∈
∈
⋅=
>′ =
∑∑
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 241 Dr. Peter Merz
Scatter Search und Path Relinking (1)
§ Lösungskombination:• Kann aufgefasst werden als finden eines Punktes auf dem
Pfad von einer zur anderen Lösung• Verallgemeinerbar auf m Lösungen
§ Path Relinking:• Erzeugen von Pfaden zwischen Lösungen und darüber
hinaus• Lösungen auf einem Pfad können zur Erzeugung weiterer
Pfade herangezogen werden• Pfade werden über die Nachbarschaftsstruktur der
Suchlandschaft definiert
Moderne heuristische Optimierungsverfahren: Meta-HeuristikenFolie 242 Dr. Peter Merz
11 00 11
11 00 11
11 00 11
11 00 11
11 00 11
Scatter Search und Path Relinking (2)
§ Path RelinkingVorgehen:• Nachbarschaftssuche durch
schrittweise Einfügen von Lösungskomponenten anderer Lösungenà Transformation einer Lösung in die andere
• Pfad ist von der Nachbarschaftssuche besuchte Sequenz von Lösungen
11 00 00 11 11 00 00 11 00 11
11 11 00 00 11 00 11
11 11 11 00 11 00 11
00 11 11 00 11 00 11
00 11 11 00 11 00 00
00 11 11 11 11 00 00
Beispiel: Binäre Kodierung