1 / 29

Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

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

yates
Télécharger la présentation

Usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  21. Problem naprtnjače – usporedba rezultata • tablica prikazuje prosječan rezultat izvršavanja heurističkih algoritama na problemu naprtnjače

  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

  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, http://e.math.hr/heuristicki/ • M. Golub: Genetski algoritam, http://www.zemris.fer.hr/~golub/ga/ga.html (10.3.2008.), Fakultet elektrotehnike i računarstva, 2004. • 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.) • C. Nilsson: Heuristics for the Traveling Salesman Problem, http://www.ida.liu.se/~TDDB19/reports_2003/htsp.pdf (10.3.2008.) • 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.) • CodeProject: Genetic Algorithms and the Traveling Salesman Problem, http://www.codeproject.com/KB/recipes/tspapp.aspx (10.3.2008.)

More Related