usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

29
Usporedba heurističkih algoritama za rješavanje optimizacijskih problema Tomislav Novak voditelj: doc.dr.sc. Domagoj Jakobović

Upload: yates

Post on 20-Mar-2016

62 views

Category:

Documents


2 download

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

TRANSCRIPT

Page 1: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Usporedba heurističkih algoritama za

rješavanje optimizacijskih

problema

Tomislav Novakvoditelj: doc.dr.sc. Domagoj

Jakobović

Page 2: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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

Page 3: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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

Page 4: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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)

Page 5: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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

Page 6: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Penjanje uzbrdo - primjer•početno rješenje x = -2

Page 7: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Penjanje uzbrdo - primjer•prelazak u točku x = -1

Page 8: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Penjanje uzbrdo - primjer•konačno, pronađen je optimum u točki x =

0

Page 9: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Penjanje uzbrdo – primjer•primjer funkcije s dva ekstrema

Page 10: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Penjanje uzbrdo – primjer•pronađen je lokalni ekstrem, koji u ovom

slučaju nije i globalni

Page 11: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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 α

Page 12: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Simulirano kaljenje - pseudokod

Page 13: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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

Page 14: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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

Page 15: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Problem naprtnjače•neka je S skup

predmeta, a C kapacitet naprtnjače

•definira se:▫težina predmeta: w(x)▫vrijednost predmeta:

p(x)

Page 16: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Problem naprtnjače•cilj: odabrati podskup P predmeta iz S

tako da se maksimizira

pod uvjetom da je

Page 17: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Problem naprtnjače•iscrpno pretraživanje – O(2N)•dinamičko programiranje – O(N∙W),

prostorne složenosti O(W)

Page 18: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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’

Page 19: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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

Page 20: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Problem naprtnjače – rješenje tabu pretraživanjem (primjer)

Težina Vrijednost

1. 3 52. 2 33. 2 3

Page 21: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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

Page 22: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Problem trgovačkog putnika•u potpunom grafu G = (V, E) traži se

Hamiltonov ciklus (ciklus koji prolazi svim vrhovima grafa) najmanje duljine

Page 23: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Problem trgovačkog putnika•iscrpna pretraga – O(N!)•dinamičko programiranje – O(N2∙2N)

Page 24: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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

Page 25: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Problem trgovačkog putnika•početno rješenje – pohlepnim algoritmom•genetski algoritam – križanje s jednom

točkom prekida nije moguće

Page 26: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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

Page 27: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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

Page 28: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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

Page 29: Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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