Professional Documents
Culture Documents
L10 Metaheuristieken
L10 Metaheuristieken
L10 Metaheuristieken
Ben Hermans
TvOO, les 10 1 / 41
Een samenvatting
Optimalisatiemethoden
TvOO, les 10 2 / 41
Vandaag: metaheuristieken
Optimalisatiemethoden
TvOO, les 10 3 / 41
Ontsnappen uit lokale optima (Metaheuristics, El-Ghazali Talbi)
Metaheuristieken
Single-solution based:
Population-based
verbeteren van local search
Metaheuristieken
Single-solution based:
Population-based
verbeteren van local search
TvOO, les 10 6 / 41
Hoe verstoren en wanneer aanvaarden?
• Een zeer kleine wijziging kan resulteren in cycling, een heel grote wijziging
kan leiden tot het verliezen van de goede eigenschappen van het lokaal
optimum. Voor de verstoring kan een andere move gebruikt worden dan de
local search move.
• Aanvaardingscriteria: De twee uitersten zijn enerzijds het enkel aanvaarden
van betere oplossingen en anderzijds het aanvaarden van eender welke
toelaatbare oplossing. De aanvaarding kan ook random zijn of gebaseerd zijn
op een threshold (aanvaard enkel die oplossingen die niet veel slechter zijn
dan de huidige beste oplossing).
TvOO, les 10 7 / 41
Ontsnappen uit lokale optima (Metaheuristics, El-Ghazali Talbi)
Metaheuristieken
Single-solution based:
Population-based
verbeteren van local search
TvOO, les 10 11 / 41
Ontsnappen uit lokale optima (Metaheuristics, El-Ghazali Talbi)
Metaheuristieken
Single-solution based:
Population-based
verbeteren van local search
• Eens we een lokaal optimum bereiken, zouden we naar een oplossing kunnen
gaan die geen verbetering meer is. Dit gebeurt na shaking.
• Dit kan riskant zijn! Waarom?
• Als we naar een oplossing gaan die geen verbetering is, kan het zijn dat we in
de volgende iteratie terug naar de vorige oplossing gaan. In dat geval kan het
algoritme in een (oneindige) loop komen (‘cycling’).
• Twee ideeën om cycling te voorkomen:
• Verbied moves die je terug naar een eerder bezochte oplossing brengen gedurende een
aantal iteraties (tabu search)
• Introduceer randomness (simulated annealing)
TvOO, les 10 13 / 41
Tabu search (Fred Glover, 1989)
TvOO, les 10 14 / 41
0-1 knapzak
• Geen betere buur. De huidige oplossing (1,0,1,1) is lokaal optimaal m.b.t. deze
neighborhood. Ze heeft doelfunctiewaarde 21.
• Deze oplossing is geen globaal optimum.
• Laten we tabu search proberen waarbij we een move taboe houden gedurende 2 iteraties.
We stoppen na 6 iteraties.
TvOO, les 10 16 / 41
max 10x1 + 20x2 + 7x3 + 4x4
Tabu search voor 0-1 knapzak
s.t. 3x1 + 5x2 + 2x3 + 2x4 ≤ 7
xi ∈ {0, 1} i = 1, . . . , 4
iter beste opl huidige opl taboe lijst buur 1 buur 2 buur 3 buur 4 beste buur
1 (1,0,0,0) (1,0,0,0) ∅ (0,0,0,0) (1,1,0,0) (1,0,1,0) (1,0,0,1) (1,0,1,0)
10 10 0 infeasible 17 14 17
2 (1,0,1,0) (1,0,1,0) 3 (0,0,1,0) (1,1,1,0) - (1,0,1,1) (1,0,1,1)
17 17 7 infeasible 21 21
3 (1,0,1,1) (1,0,1,1) 3, 4 (0,0,1,1) (1,1,1,1) - - (0,0,1,1)
21 21 11 infeasible 11
4 (1,0,1,1) (0,0,1,1) 4, 1 - (0,1,1,1) (0,0,0,1) - (0,0,0,1)
21 11 infeasible 4 4
5 (1,0,1,1) (0,0,0,1) 1,3 - (0,1,0,1) - (0,0,0,0) (0,1,0,1)
21 4 24 0 24
6 (0,1,0,1) (0,1,0,1) 3,2 (1,1,0,1) - - (0,1,0,0) (0,1,0,0)
24 24 infeasible 20 20
• We hebben een betere oplossing gevonden met waarde 24. De optimale oplossing is
(0,1,1,0) met waarde 27.
• We zouden de optimale oplossing vinden in de volgende iteratie.
TvOO, les 10 17 / 41
Tabu search voor het TSP
• De neighborhood bestaat uit alle oplossingen die kunnen bereikt worden door
het verwisselen van 2 steden in de tour.
• De lengte van de taboe lijst is 3, dus de 3 meest recente moves zijn taboe.
TvOO, les 10 18 / 41
Tabu search algoritme - trade-offs
TvOO, les 10 19 / 41
Simulated annealing
• to anneal: ‘to heat and then cool (a material, such as steel or glass) usually
for softening and making less brittle’ (definitie uit Merriam-Webster)
• Simulated annealing is geı̈nspireerd door het annealing proces bij metalen
waarbij metalen traag afgekoeld worden om ze sterker te maken.
• Het maakt gebruik van randomness om uit een lokaal optimum te
ontsnappen. De kansen zijn afhankelijk van een parameter, genaamd de
“temperatuur” die steeds kleiner wordt.
TvOO, les 10 20 / 41
Simulated annealing
TvOO, les 10 21 / 41
Simulated annealing: over de kans op aanvaarding
kans op aanvaarding
1 −δ
Kans op aanvaarding e T hangt af van
f (x ′ )−f (x)
e− T • de kwaliteit van de nieuwe oplossing (hoe
slechter de oplossing, hoe kleiner de kans)
• de temperatuur (hoe lager de temperatuur,
f (x ′ )−f (x) hoe kleiner de kans)
T
0
De temperatuur verlaagt doorheen de tijd
• Als T zeer hoog is, dan is de aanvaardingskans groot (random search)
• Als T kleiner wordt, gaat het algoritme zich gedragen zoals local search
→ Als het afkoelen te snel gebeurt, bereikt het algoritme snel een lokaal optimum en is de
kans om er nog uit te kunnen ontsnappen klein
TvOO, les 10 22 / 41
max 10x1 + 20x2 + 7x3 + 4x4
Simulated annealing voor 0-1 knapzak s.t. 3x1 + 5x2 + 2x3 + 2x4 ≤ 7
• Neem T = 10 en verlaag met 1 eenheid bij elke iteratie xi ∈ {0, 1} i = 1, . . . , 4
• Gebruik de random getallen 0.85, 0.18, 0.72, 0.63, 0.13, 0.22, 0.83, 0.89 ...
• Stop na vijf iteraties
it T beste opl huidige opl random getal random buur kans random getal /
random move beslissing
1 10 (1,0,0,0) (1,0,0,0) 0.85 (1,0,0,1) aanvaard met −
10 10 14 kans 1 (verbetering) aanvaard
2 9 (1,0,0,1) (1,0,0,1) 0.18 (0,0,0,1) aanvaard met kans 0.72
14 14 4 e −10/9 = 0.33 weiger
3 8 (1,0,0,1) (1,0,0,1) 0.63 (1,0,1,1) aanvaard met −
14 14 21 kans 1 (verbetering) aanvaard
4 7 (1,0,1,1) (1,0,1,1) 0.13 (0,0,1,1) aanvaard met kans 0.22
21 21 11 e −10/7 = 0.24 aanvaard
5 6 (1,0,1,1) (0,0,1,1) 0.83 (0,0,1,0) aanvaard met kans 0.89
21 11 7 e −4/6 = 0.51 weiger
TvOO, les 10 23 / 41
Afkoelschema’s in simulated annealing
TvOO, les 10 24 / 41
Ontsnappen uit lokale optima (Metaheuristics, El-Ghazali Talbi)
Metaheuristieken
Single-solution based:
Population-based
verbeteren van local search
TvOO, les 10 26 / 41
Genetische algoritmes
TvOO, les 10 27 / 41
Genetische algoritmes
TvOO, les 10 28 / 41
Genetische algoritmes
TvOO, les 10 29 / 41
Selectiemethodes
TvOO, les 10 30 / 41
Selectiemethodes (Metaheuristics, El-Ghazali Talbi)
TvOO, les 10 31 / 41
Selectiemethodes (Metaheuristics, El-Ghazali Talbi) - vervolg
Tornooi selectie:
TvOO, les 10 32 / 41
Voorbeeld TSP met 10 steden: 10 tours en hun lengte
TvOO, les 10 33 / 41
Roulette wiel selectie
TvOO, les 10 34 / 41
Alternatief: tornooi selectie
TvOO, les 10 35 / 41
Reproductie
TvOO, les 10 36 / 41
Crossover: voorbeeld voor het TSP
• P1: 1-2-3-4-5-6-7-8-9-10
• P2: 7-8-6-5-4-3-2-1-9-10
• 1-point crossover (crossover punt 5)
• C1: 1-2-3-4-5-7-8-6-9-10
• C2: 7-8-6-5-4-1-2-3-9-10
• 2-point crossover (crossover punten 3 en 6)
• C1: 1-2-3-6-5-4-7-8-9-10
• C2: 7-8-6-3-4-5-2-1-9-10
• 2-point crossover: C1: Kopiëer punt 1 tot punt 3 van P1, en punt 7 tot punt 10 van P1. Dit
resulteert in 1-2-3 . . . 7-8-9-10. Vervolgens voegen we steden toe in de volgorde dat ze voorkomen in
P2, dus: 1-2-3-6-5-4-7-8-9-10. Idem voor C2, maar kopiëer nu het eerste en laatste deel van P2 en
vul aan met het middelste deel in de volgorde dat ze voorkomen in P1. 1-point crossover werkt op
dezelfde manier, maar met slechts één crossover punt, dus kopiëer het eerste deel en vervolledig het
tweede deel in de volgorde dat ze voorkomen in de andere ouder.
TvOO, les 10 37 / 41
Vervanging
TvOO, les 10 38 / 41
Genetische algoritmes
TvOO, les 10 39 / 41
Opmerkingen over genetische algoritmes
• Het is belangrijk om een goede genetische voorstelling van een oplossing als
chromosoom te kiezen zodat crossover gemakkelijk kan toegepast worden.
• Een genetisch algoritme creëert een set van oplossingen ipv slechts één
oplossing. Dit kan nuttig zijn, zeker wanneer er meerdere objectieven moeten
geoptimaliseerd worden.
TvOO, les 10 40 / 41
Samenvatting