You are on page 1of 9

ETFRIIOR4755 Optimizacija resursa Samim Konjicija

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.

7.2. Razvoj simuliranog taljenja

7.2.1. Osnovna ideja algoritma i nastanak


Algoritmi lokalnog pretraživanja, zbog neizbježnog zapadanja u lokalne ekstremume, vrlo teško
pronalaze globalni optimum problema. Da bi se ovaj nedostatak algoritama lokalnog pretraživanja
umanjio, često se koriste različite modifikacije osnovnog algoritma motivirane pojavama koje se susreću
u prirodi. Jedna od takvih pojava dolazi iz statističke mehanike, odnosno termičkog kretanja čestica.
Simulirano taljenje (SA – Simulated Annealing) predstavlja metaheuristički algoritam lokalnog
pretraživanja, koji je u stanju izbjeći zapadanje u lokalne ekstremume. Jednostavnost implementacije i
svojstva konvergencije su doprinijela popularnosti ovog algoritma u primjeni za rješavanje praktičnih
problema. Osim naziva simulirano taljenje, u literaturi se još spominju i nazivi simulirano hlađenje, te
simulirano kaljenje.
Algoritam simuliranog taljenja su razvili S. Kirkpatrick, C. D. Gelatt i M. P. Vecchi 1983. godine [1].
Simulirano taljenje se najčešće primjenjuje za rješavanje diskretnih problema traženja optimuma, ali ga
je moguće primjeniti i za rješavanje kontinualnih problema.
Naziv algoritma dolazi iz analogije sa procesom zagrijavanja i hlađenja čvrstih materijala, pri čemu se
čvrsta materija koja formira kristalnu rešetku zagrijava do otapanja, a nakon toga polako hladi, da bi se
postigla što je moguće pravilnija kristalna rešetka bez defekata. Ponašanje materije pri hlađenju opisuje
statistička mehanika. Preciznije definirano, statistička mehanika se bavi ponašanjem složenih sistema,
koje se opisuje sa velikim brojem varijabli. Veliki broj varijabli onemogućava određivanje tačnog stanja
sistema, te se umjesto toga određuje očekivano ili vjerovatno ponašanje.
Ono se iskazuje vjerovatnoćom da će se sistem pri temperaturi T naći u k-tom stanju sa energijom Ek.

1/9
ETFRIIOR4755 Optimizacija resursa Samim Konjicija

Ova vjerovatnoća je proporcionalna tzv. Boltzmannovom faktoru:


Ek

kBT
e
gdje je Ek energija sistema u stanju k, kB Boltzmannova konstanta, a T temperatura.
Prema Boltzmannovom faktoru, što je temperatura veća, vjerovatnoća da će se sistem naći u k-tom
stanju je veća. Ovo je posljedica intenzivnijeg termičkog (slučajnog) kretanja čestica (slika 7.1). Materija
u prirodi teži zauzimanju stanja sa minimalnom energijom, tako da su ta stanja vjerovatnija. Međutim,
zbog termičkog kretanja se materija može naći i u stanjima sa drugim vrijednostima energije.

Slika 7.1. Termalno kretanje čestica


Kako se sistem hladi, ta vjerovatnoća opada, da bi pri T = 0 postala jednaka nuli. Drugim riječima, kada
temperatura opadne na nulu, sistem više ne mijenja stanje i nalazi se u stanju minimalne energije (slika
7.2).

t
Slika 7.2. Promjena energije sa vremenom (hlađenjem)

2/9
ETFRIIOR4755 Optimizacija resursa Samim Konjicija

7.2.2. Simulirano hlađenje materije


Algoritam simuliranog taljenja uspostavlja analogiju između opisanog termodinamičkog procesa i
problema traženja globalnog optimuma diskretnog problema.
Na svakoj iteraciji algoritma SA se određuje novo potencijalno rješenje problema. Vrijednost kriterija za
novo potencijalno rješenje se upoređuje sa vrijednošću kriterija tekućeg rješenja. Ukoliko novo
potencijalno rješenje daje bolju vrijednost kriterija, ono se bezuslovno usvaja. Međutim, čak i u slučaju
kada novo potencijalno rješenje daje lošiju vrijednost kriterija, ono ipak može biti prihvaćeno, sa nekom
manjom vjerovatnoćom. Ovakav pristup omogućava da algoritam napusti lokalni ekstremum.
Vjerovatnoća prihvatanja novog potencijalnog rješenja sa lošijom vrijednošću kriterija ovisi o parametru
koji se naziva temperaturom. Vrijednost ovog parametra je na početku izvođenja algoritma veća, a
postepeno se smanjuje kroz iteracije. Zahvaljujući tome, algoritam u početku posjeduje svojstva
algoritma sa slučajnim pretraživanjem, da bi postepeno kako se temperatura smanjuje poprimao
svojstva algoritma lokalnog pretraživanja koji se kreće u pravcu najvećeg poboljšanja vrijednosti
kriterija.
Neka je tekuće rješenje problema na k-toj iteraciji xk. Primjenom nekog operatora δ(x) na tačku x se
generira tačka x '= x  iz okolina tekućeg rješenja, tj. x ' ∈N  x ,  . Ta tačka se usvaja za novo
potencijalno rješenje problema sa vjerovatnoćom:
∣ f x ' − f  x ∣

tk
e , f x f x ' 
pa= { 1, f  x'  f x
U ovom izrazu tk predstavlja parametar algoritma na iteraciji k, pri čemu je:
t k 0, ∀ k
lim t k =0
k ∞

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

7.3. Osnovni algoritam simuliranog taljenja


Pseudokod osnovnog algoritma simuliranog taljenja je dat na slici 7.3 [2].

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 

Slika 7.3. Pseudokod osnovnog algoritma simuliranog taljenja

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.

7.4. Mehanizam hlađenja

7.4.1. Elementi mehanizma hlađenja


Performansa algoritma simuliranog taljenja izrazito ovisi o mehanizmu hlađenja, odnosno mehanizmu
umanjenja parametra temperature. Radi toga će u nastavku biti predstavljene osnovne verzije ovog
mehanizma.

Mehanizam hlađenja je u potpunosti definiran:

– početnom vrijednošću parametra temperature,

– krajnjom vrijednošću parametra temperature,

– funkcijom umanjenja temperature,

– brojem iteracija koje se provode pri određenoj vrijednosti parametra temperature i

– uslovom zaustavljanja.

Funkcija umanjenja temperature bitno utiče na vrijeme potrebno za pronalazak optimuma.

Generalno, svi mehanizmi hlađenja koji se koriste u algoritmu simuliranog taljenja se mogu podijeliti u:

– statičke mehanizme,

– adaptivne mehanizme.

Statički mehanizmi su u potpunosti specificirani prije početka izvršavanja algoritma i ne mijenjaju se


tokom njegovog izvršavanja. Za razliku od toga, adaptivni mehanizmi prilagođavaju brzinu umanjivanja
temperature u skladu sa informacijama pribavljenim tokom izvršavanja algoritma. Ovi mehanizmi su u
pravilu heuristički.

5/9
ETFRIIOR4755 Optimizacija resursa Samim Konjicija

7.4.2. Početna vrijednost parametra temperature


Početna vrijednost parametra temperature treba biti dovoljno visoka da omogući da se u početnoj fazi
izvršavanja algoritma prihvataju i lošija potencijalna rješenja. Međutim, ova vrijenost ne smije biti toliko
visoka da algoritam pretvori u potpuno slučajno pretraživanje.

7.4.3. Krajnja vrijednost parametra temperature


Često se dozvoljava da se temperatura smanjuje dok ne dosegne vrijednost 0. Međutim, ovakav pristup
je nepogodan ukoliko se koriste geometrijske funkcije umanjenja temperature, pošto se time jako
povećava trajanje izvršavanja algoritma. Radi toga se u praksi najčešće usvaja neka konačno mala krajnja
vrijednost temperature.

7.4.4. Funkcija umanjenja parametra temperature


Funkcija umanjenja temperature bi trebala biti takva da se pri svakoj vrijednosti temperature
pretraživanje stabilizira, međutim može se pokazati da je za to potreban broj iteracija pri svakoj od
vrijednosti temperature koji eksponencijalno ovisi o dimenzionalnosti problema.

Postoje dvije osnovne forme funkcije umanjenja temperature:

– linearna funkcija umanjenja temperature,

– geometrijska funkcija umanjenja temperature.

Linearna funkcija umanjenja temperature

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.

Geometrijska funkcija umanjenja temperature

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.

Slika 7.4. Linearno umanjenje temperature, uz Δk=1

Slika 7.5. Geometrijsko umanjenje temperature, uz αk=0,95

7.4.5. Broj iteracija algoritma pri nekoj vrijednosti temperature


Broj iteracija algoritma pri nekoj vrijednosti parametra temperature se obično drži konstantnim,
odnosno nakon što se odredi neka vrijednost temperature, konstantan broj iteracija se provodi
pretraživanje uz korištenje takve vrijednosti temperature.

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).

Može se uočiti da se brzina opadanja temperature smanjuje sa smanjenjem temperature.

Slika 7.5. Umanjenje temperature ovisno o vrijednosti temperature, uz β=0,002

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

You might also like