Professional Documents
Culture Documents
Or - Simulirano Taljenje
Or - Simulirano Taljenje
7. Simulirano taljenje
7.1. Uvod
U ovom poglavlju je predstavljen metaheuristički algoritam poznat kao simulirano taljenje. Ideja
algoritma se zasniva na načinu kristalizacije materijala pri postepenom hlađenju. Simulirano termičko
kretanje omogućava algoritmu da dosta uspješno izbjegne zapadanje u lokalne ekstremume. Simulirano
taljenje je popularan algoritam i zbog jednostavnosti implementacije.
1/9
ETFRIIOR4755 Optimizacija resursa Samim Konjicija
t
Slika 7.2. Promjena energije sa vremenom (hlađenjem)
2/9
ETFRIIOR4755 Optimizacija resursa Samim Konjicija
Ovako definirana vjerovatnoća prihvatanja lošijih potencijalnih rješenja predstavlja osnovni element
mehanizma pretraživanja algoritma simuliranog taljenja. Ukoliko se parametar tk umanjuje dovoljno
sporo, sistem će dostići ravnotežno stanje za svaku iteraciju k. Ravnotežna stanja sistema slijede
Boltzmannovu distribuciju, po kojoj je vjerovatnoća da će se sistem naći u stanju x ∈ koje daje
vrijednost kriterija f(x):
f x
−
tk
e
p x | t =k f y
−
∑e tk
y∈
3/9
ETFRIIOR4755 Optimizacija resursa Samim Konjicija
k 0
x x0
v f x0
tk t0
usvojiti M
repeat
m 0
repeat
izabrati x ' ∈N x ,
v ' f x '
odrediti p a x '
r rand 0,1
if r p a
x x'
endif
until m=M
k k 1
t k Hladjenje t k , k
until UslovZaustavljanja
Pretraživanje započinje od neke početne tačke x0. Vrijednost početne temperature tk i broja iteracija koje
se provode sa temperaturom tk predstavljaju parametre algoritma. Osnovni ciklus algoritma se ponavlja
do zadovoljenja nekog od uslova zaustavljanja. Osim do sada spominjanih uslova zaustavljanja, ovdje se
može koristiti i uslov kada temperatura padne ispod neke minimalne vrijednosti.
Unutar ovog osnovnog ciklusa se provodi ciklus pretraživanja pri temperaturi tk. U svakom od
unutrašnjih ciklusa se određuje jedna tačka x ' ∈N x , iz okoline tekućeg rješenja. Nakon toga se
određuje vjerovatnoća prihvatanja ove tačke kao novog potencijalnog rješenja problema, u skladu sa
izrazom:
∣ f x ' − f x ∣
−
tk
e , f x f x '
pa (x|tk)= { 1, f x' f x
Nakon toga se generiše slučajni broj između 0 i 1 koristeći uniformnu raspodjelu. Ukoliko je vrijednost
ovog slučajnog broja manja od vjerovatnoće prihvatanja, nova tačka se usvaja kao tekuće rješenje
problema. Lako je zaključiti da će ovo biti ispunjeno uvijek ukoliko nova tačka dovodi do poboljšanja
4/9
ETFRIIOR4755 Optimizacija resursa Samim Konjicija
vrijednosti kriterija. Ukoliko to nije slučaj, do smjene će dolaziti sa nekom malom vjerovatnoćom, pri
čemu će ta vjerovatnoća biti veća za veće vrijednosti parametra temperature.
Nakon završetka izvođenja unutrašnjeg ciklusa algoritma, određuje se nova umanjena vrijednost
temperature i ponavlja se osnovni ciklus algoritma.
Ukupan broj iteracija algoritma, odnosno evaluacija kriterija, je M·K, gdje je K broj iteracija vanjskog
ciklusa nakon kojih je zadovoljen uslov zaustavljanja algoritma.
– uslovom zaustavljanja.
Generalno, svi mehanizmi hlađenja koji se koriste u algoritmu simuliranog taljenja se mogu podijeliti u:
– statičke mehanizme,
– adaptivne mehanizme.
5/9
ETFRIIOR4755 Optimizacija resursa Samim Konjicija
Kod linearne funkcije umanjenja temperature, nova vrijednost parametra temperature se određuje
prema izrazu (slika 7.4):
t k 1=t k − k
odnosno vrijednost parametra temperature se svaki put umanjuje za neku malu vrijednost Δk. Ova
vrijednost je najčešće konstantna, ali se može i mijenjati kroz iteracije algoritma.
Kod geometrijske funkcije umanjenja temperature, nova vrijednost parametra temperature se određuje
prema izrazu:
t k 1=t k⋅k
6/9
ETFRIIOR4755 Optimizacija resursa Samim Konjicija
gdje je αk < 1 (slika 7.5). I ovdje je vrijednost koeficijenta umanjenja najčešće konstantna tokom
izvođenja algoritma, ali se može i mijenjati.
Drugi pristup je da se za svaku vrijednost temperature provede samo jedna iteracija pretraživanja, ali da
7/9
ETFRIIOR4755 Optimizacija resursa Samim Konjicija
se vrijednost temperature umanjuje jako sporo. Često se u takvim slučajevima nova vrijednost
temperature određuje prema izrazu:
tk
t k 1=
1⋅t k
gdje je β neki dovoljno mali pozitivan broj. Iz izraza se može zaključiti da će se sa opadanjem vrijednosti
temperature ona dalje sporije umanjivati (slika 7.6).
Treba napomenuti da se osim konstantnog broja iteracija pretraživanja koje se provode za neku
vrijednost temperature, ovaj broj iteracija može prilagođavati tokom izvršavanja algoritma. Pri tome je
važnije da se pri nižim vrijednostima parametra temperature provede veći broj iteracija pretraživanja
prostora, kako bi se dalo dovoljno šanse za sistematično pretraživanje prostora. Pri većim vrijednostima
temperature ovaj broj iteracija može biti manji.
7.6. Zaključak
U ovom poglavlju je dat pregled osnovnog algoritma simuliranog taljenja. Algoritam simuliranog
taljenja tokom izvođenja mijenja karakter od slučajnog pretraživanja do pretraživanja sa najvećim
poboljšanjem kriterija. Karakter algoritma ovisi o parametru temperature, koji postepeno opada od
neke početne vrijednosti. Predstavljeni su različiti mehanizmi koji se koriste za promjenu parametra
temperature.
8/9
ETFRIIOR4755 Optimizacija resursa Samim Konjicija
Literatura
[1] Kirkpatrick, S., Gelatt, C. D., Vecchi, M. P.: "Optimization by Simulated Annealing", Science,
Vol. 220, No. 4598, 1983
[2] Glover, F., Kochenberger, G. A.: "Handbook of Metaheuristics", Kluwer Academic Publishers,
2003
[3] Ingber, L.: "Very Fast Simulated Re-Annealing", Technical Report, Physics Department, Naval
Postgraduate School
[4] Michalewicz, Z., Fogel, D. B.: "How to solve it: Modern Heuristics", Springer Verlag, 1999
9/9