usporedba heuristi čkih algoritama za rješavanje optimizacijskih problema

Post on 20-Mar-2016

62 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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

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

top related