Download presentation
Presentation is loading. Please wait.
Published bySukarno Tan Modified over 6 years ago
1
Tomislav Novak voditelj: doc.dr.sc. Domagoj Jakobović
Usporedba heurističkih algoritama za rješavanje optimizacijskih problema Tomislav Novak voditelj: doc.dr.sc. Domagoj Jakobović
2
Sadržaj heuristički algoritmi problem naprtnjače
penjanje uzbrdo simulirano kaljenje tabu pretraživanje genetski algoritam problem naprtnjače problem trgovačkog putnika usporedba različitih implementacija
3
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
4
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)
5
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
6
Penjanje uzbrdo - primjer
početno rješenje x = -2
7
Penjanje uzbrdo - primjer
prelazak u točku x = -1
8
Penjanje uzbrdo - primjer
konačno, pronađen je optimum u točki x = 0
9
Penjanje uzbrdo – primjer
primjer funkcije s dva ekstrema
10
Penjanje uzbrdo – primjer
pronađen je lokalni ekstrem, koji u ovom slučaju nije i globalni
11
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 α
12
Simulirano kaljenje - pseudokod
13
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
14
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
15
Problem naprtnjače neka je S skup predmeta, a C kapacitet naprtnjače
definira se: težina predmeta: w(x) vrijednost predmeta: p(x)
16
Problem naprtnjače cilj: odabrati podskup P predmeta iz S tako da se maksimizira pod uvjetom da je
17
Problem naprtnjače iscrpno pretraživanje – O(2N)
dinamičko programiranje – O(N∙W), prostorne složenosti O(W)
18
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’
19
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
20
Problem naprtnjače – rješenje tabu pretraživanjem (primjer)
Težina Vrijednost 1. 3 5 2. 2 3.
21
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 GA 4 3 6 5.7 100 10 2677 1594.8 2469.4 2546.2 20 2748 1940.2 2687.8 1000 30 2562 1452.5 2541 2538.8 2545 50 4533 2392.9 4293.4 4335.6 4358.8
22
Problem trgovačkog putnika
u potpunom grafu G = (V, E) traži se Hamiltonov ciklus (ciklus koji prolazi svim vrhovima grafa) najmanje duljine
23
Problem trgovačkog putnika
iscrpna pretraga – O(N!) dinamičko programiranje – O(N2∙2N)
24
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
25
Problem trgovačkog putnika
početno rješenje – pohlepnim algoritmom genetski algoritam – križanje s jednom točkom prekida nije moguće
26
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 SA 4 12 195 6 179 223 252 10 172 228 174.2 20 207 305 239.4
27
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
28
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
29
Literatura T.H.Cormen, C.E.Leiserson, R.L.Rivest, C.Stein: Introduction to Algorithms, The MIT Press, 2001. A. Nakić: Heuristički algoritmi za 0-1 problem naprtnjače, M. Golub: Genetski algoritam, ( ), Fakultet elektrotehnike i računarstva, 2004. J.S.Cameron: An Overview Of Artificial Life With A Focus On Gen etic Algorithm And Genetic Programming, ( ) C. Nilsson: Heuristics for the Traveling Salesman Problem, ( ) S.Jayaswal: A Comparative Study of Tabu Search and Simulated Annealing for Traveling Salesman Problem, ( ) CodeProject: Genetic Algorithms and the Traveling Salesman Problem, ( )
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.