Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tomislav Novak voditelj: doc.dr.sc. Domagoj Jakobović

Similar presentations


Presentation on theme: "Tomislav Novak voditelj: doc.dr.sc. Domagoj Jakobović"— Presentation transcript:

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, ( )


Download ppt "Tomislav Novak voditelj: doc.dr.sc. Domagoj Jakobović"

Similar presentations


Ads by Google