Upload
yates
View
61
Download
2
Embed Size (px)
DESCRIPTION
Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema. Tomislav Novak voditelj: doc.dr.sc. Domagoj Jakobović. Sadržaj. heuristički algoritmi penjanje uzbrdo simulirano kaljenje tabu pretraživanje genetski algoritam problem naprtnjače problem trgovačkog putnika - PowerPoint PPT Presentation
Citation preview
Usporedba heurističkih algoritama za
rješavanje optimizacijskih
problema
Tomislav Novakvoditelj: doc.dr.sc. Domagoj
Jakobović
Sadržaj•heuristički algoritmi
▫penjanje uzbrdo▫simulirano kaljenje▫tabu pretraživanje▫genetski algoritam
•problem naprtnjače•problem trgovačkog putnika•usporedba različitih implementacija
Heuristički algoritmi•velikih broj problema za koje ne postoji
učinkovito rješenje (klasa NP)•npr. problem trgovačkog putnika•heuristički algoritmi – najčešće daju dobra
rješenja u prihvatljivom vremenu, no ne može se dokazati da će uvijek biti tako
•aproksimacijski algoritmi
Heuristički algoritmi•optimizacijski problem – uređena
četvorka (I, f, m, g), gdje je▫I skup instanci problema▫za instancu x iz skupa I, f(x) je skup
mogućih rješenja (prostor rješenja)▫za instancu x i rješenje y iz skupa f(x),
m(x,y) je mjera tog rješenja▫g je funkcija cilja (min ili max)
•susjedstvo rješenja, N(y)
Penjanje uzbrdo•početak: slučajno odabrano rješenje
problema y•u svakoj iteraciji to se rješenje poboljšava
– zamjenjuje se s najboljim y’ iz N(y)•primjer: pronalaženja maksimuma
funkcije
Penjanje uzbrdo - primjer•početno rješenje x = -2
Penjanje uzbrdo - primjer•prelazak u točku x = -1
Penjanje uzbrdo - primjer•konačno, pronađen je optimum u točki x =
0
Penjanje uzbrdo – primjer•primjer funkcije s dva ekstrema
Penjanje uzbrdo – primjer•pronađen je lokalni ekstrem, koji u ovom
slučaju nije i globalni
Simulirano kaljenje•poboljšanje u odnosu na penjanje uzbrdo•inspiracija: proces kaljenja u metalurgiji•mogućnost prelaska u lošije rješenje s
određenom vjerojatnošću, najčešće
•parametri:▫temperatura▫brzina hlađenja α
Simulirano kaljenje - pseudokod
Tabu pretraživanje•memorijska struktura (tabu lista) –
sadrži rješenja koja nisu dopuštena•najčešće su to prethodno posjećena
rješenja (izbjegavanje ciklusa)•tzv. aspiracijski kriterij – ukoliko je
rješenje bolje od trenutno najboljeg, ono se dopušta bez obzira na tabu listu
Genetski algoritam• algoritam koji oponaša mehanizme prirodne
selekcije• jedinka – potencijalno rješenje; genom –
računalna reprezentacija jedinke (najčešće niz nula i jedinica)
• kroz niz generacija vrše se genetske operacije – selekcija, mutacija, rekombinacija
Problem naprtnjače•neka je S skup
predmeta, a C kapacitet naprtnjače
•definira se:▫težina predmeta: w(x)▫vrijednost predmeta:
p(x)
Problem naprtnjače•cilj: odabrati podskup P predmeta iz S
tako da se maksimizira
pod uvjetom da je
Problem naprtnjače•iscrpno pretraživanje – O(2N)•dinamičko programiranje – O(N∙W),
prostorne složenosti O(W)
Problem naprtnjače•rješenje je predstavljeno vektorom x = (x1,
x2,...,xn)•xi jednako je jedinici ukoliko je u rješenju
sadržan predmet s indeksom i•rješenja x i x’ su susjedna ako postoji
samo jedan j takav da je xj ≠ xj’
Problem naprtnjače – rješenje tabu pretraživanjem•tabu lista sadrži indekse predmeta koje nije
moguće dodavati ili uklanjati iz trenutnog rješenja
•u svakoj iteraciji radi se jedno od sljedećeg:▫odabire se onaj indeks j koji nije na tabu listi,
za koji je xj = 0 te je omjer pj/wj maksimalan; xj se postavi na 1
▫u protivnom, odabire se indeks j takav da je xj = 1, a pj/wj minimalno; xj se postavi na 0
Problem naprtnjače – rješenje tabu pretraživanjem (primjer)
Težina Vrijednost
1. 3 52. 2 33. 2 3
Problem naprtnjače – usporedba rezultata•tablica prikazuje prosječan rezultat
izvršavanja heurističkih algoritama na problemu naprtnjače
W N opt. HC SA TS GA4 3 6 5.7 6 6 6
100 10 2677 1594.8
2677 2469.4
2546.2
100 20 2748 1940.2
2748 2687.8
2748
1000 30 2562 1452.5
2541 2538.8
2545
1000 50 4533 2392.9
4293.4
4335.6
4358.8
Problem trgovačkog putnika•u potpunom grafu G = (V, E) traži se
Hamiltonov ciklus (ciklus koji prolazi svim vrhovima grafa) najmanje duljine
Problem trgovačkog putnika•iscrpna pretraga – O(N!)•dinamičko programiranje – O(N2∙2N)
Problem trgovačkog putnika•rješenje označimo vektorom v = (v1, v2, ...,
vn) koji predstavlja redosljed obilaska vrhova
•susjedno rješenje v’ je svako rješenje koje se može dobiti iz v odabirom bilo koja dva vrha te zamjenom redosljeda obilaska ta dva vrha
•dobrota rješenja – duljina puta
Problem trgovačkog putnika•početno rješenje – pohlepnim algoritmom•genetski algoritam – križanje s jednom
točkom prekida nije moguće
Problem trgovačkog putnika – usporedba rezultata•tablica prikazuje prosječan rezultat
izvršavanja penjanja uzbrdo i simuliranog kaljenja na problemu trgovačkog putnika
N opt. HC SA4 12 12 124 195 195 1956 179 179 1796 223 252 22310 172 228 174.220 207 305 239.4
Zaključak•velik broj problema čije se optimalno
rješenje ne može pronaći u razumnom vremenu (npr. problem N kraljica, ispitivanje izomorfnosti grafova, n-SAT itd.)
•zadovoljavajuće i ono rješenje koje je približno jednako optimalnom
•heuristički algoritmi – pametni način pretrage prostora problema u ograničenom vremenu
Zaključak•ključni dio konstrukcije algoritma:
definicija zapisa rješenja•velik utjecaj parametara (npr. temperature
kod SA, veličine tabu liste kod TS itd.), koji se podešavaju ovisno o instanci problema
•primjenjivost na velikom broju optimizacijskih problema
•uz dobru implementaciju i zapis rješenja mogu dati iznenađujuće dobre rezultate
Literatura1. T.H.Cormen, C.E.Leiserson, R.L.Rivest, C.Stein: Introduction to
Algorithms, The MIT Press, 2001.2. A. Nakić: Heuristički algoritmi za 0-1 problem naprtnjače,
http://e.math.hr/heuristicki/3. M. Golub: Genetski algoritam,
http://www.zemris.fer.hr/~golub/ga/ga.html (10.3.2008.), Fakultet elektrotehnike i računarstva, 2004.
4. J.S.Cameron: An Overview Of Artificial Life With A Focus On Gen etic Algorithm And Genetic Programming, http://www.alesdar.org/oldSite/IS/ (10.3.2008.)
5. C. Nilsson: Heuristics for the Traveling Salesman Problem, http://www.ida.liu.se/~TDDB19/reports_2003/htsp.pdf (10.3.2008.)
6. S.Jayaswal: A Comparative Study of Tabu Search and Simulated Annealing for Traveling Salesman Problem, http://www.eng.uwaterloo.ca/~sjayaswa/projects/MSCI703_project.pdf (10.3.2008.)
7. CodeProject: Genetic Algorithms and the Traveling Salesman Problem, http://www.codeproject.com/KB/recipes/tspapp.aspx (10.3.2008.)