30
Heuristike zasnovane na lokalnom pretraživanju MPIO, Beograd, 2012.

Heuristike zasnovane na lokalnom pretra živanju

  • Upload
    abel

  • View
    74

  • Download
    0

Embed Size (px)

DESCRIPTION

Heuristike zasnovane na lokalnom pretra živanju. MPIO, Beograd, 2012. Heurističke metode. Namenjene su za rešavanje raznih optimizacijskih problema prilagođene su svojstvima i specifičnostima problema koji se rešava Najpre je potrebno definisati prostor rešenja za dati problem - PowerPoint PPT Presentation

Citation preview

Page 1: Heuristike zasnovane na lokalnom pretra živanju

Heuristike zasnovane na lokalnom pretraživanju

MPIO, Beograd, 2012.

Page 2: Heuristike zasnovane na lokalnom pretra živanju

Heurističke metodeNamenjene su za rešavanje raznih optimizacijskih problema

prilagođene su svojstvima i specifičnostima problema koji se rešava

Najpre je potrebno definisati prostor rešenja za dati problem

Zatim se odabere početno rešenje, pa se nakon toga prostor rešenja pretražuje u potrazi za što boljim rešenjima

Razlika među heurističkim algoritmima je u tome na koji način obavljaju to pretraživanje.

Page 3: Heuristike zasnovane na lokalnom pretra živanju

Lokalno pretraživanjeopšti heuristički pristup

često se primenjuje u kontinualnoj i diskretnoj optimizaciji.

lokalno pretraživanje nastoji pronaći optimalno/najbolje rešenje smanjujući prostor pretraživanja

Svakom elementu x iz prostora dopustivih rešenja X pridružuje se neki podskup N(x) X koji se naziva okolina od x, a njeni članovi y N(x) su susedi od x.

Page 4: Heuristike zasnovane na lokalnom pretra živanju

Lokalno pretraživanjeZa početno rešenje bira se proizvoljna tačka iz prostora

dopustivih rešenja.

U svakoj iteraciji pretražuje se okolina trenutnog rešenja i u njoj nalazi, prema nekom kriterijumu, sused koji predstavlja sledeće rešenje.

Ukoliko se sused ne može pronaći, pretraživanje staje i za aproksimaciju optimalnog rešenja uzima se ono za koje je vrednost funkcije cilja najmanja.

Osnovni nedostatak lokalnog pretraživanja je što se zaustavlja pri nailasku prvog lokalnog minimuma koji ne mora biti globalni minimum, a to zavisi od početnog rešenja

Page 5: Heuristike zasnovane na lokalnom pretra živanju

Šema lokalnog pretraživanjaInicijalizacija: Izabrati početno rešenje x1 ∈ X; x* = x1 , f* =f(x1)

Iterativni korak: n = 1, 2, . . . U okolini N( xn) trenutnog rešenja naći sledeće rešenje xn+1 ,

prema nekom kriterijumu izbora. Ako je f( xn+1 ) < f* , tada x* = xn+1 i f* =f(xn+1) (ako je

problem tipa min)

Kraj: Ako kriterijum izbora nije zadovoljan ni za jednog suseda iz okoline N( xn) ili je zadovoljen neki drugi kriterijum zaustavljanja metoda staje, a x* se uzima za aproksimaciju optimalnog rešenja.

Page 6: Heuristike zasnovane na lokalnom pretra živanju

Efikasnost lokalnog pretraživanja zavisi od strukture okolina koje se koriste, kao i od kriterijuma koji se koristi u svakoj iteraciji za izbor sledećeg rešenja.

Pri definisanju okoline treba težiti da budu zadovoljeni sledeći uslovi:

• Okolina svake tačke treba da bude simetrična

• Okolina ne treba da bude ni suviše velika, ni suviše mala

• Polazeći od proizvoljne tačke prostora X, nizom uzastopnih pomaka možemo doći do bilo koje druge tačke ovog prostora

• Pomak treba da obezbedi što jednostavnije i brže generisanje susednih rešenja

Page 7: Heuristike zasnovane na lokalnom pretra živanju

Simulirano kaljenje (Simulated annealing)

opšta heuristika za rešavanje problema kombinatorne optimizacije (metaheuristika)

ime je dobila zbog analogije sa procesom kaljenja metala iz čije se simulacije i razvila

metoda pokušava pronaći globalni optimum, ili mu se bar približiti, u zatom prostoru konfiguracija

Page 8: Heuristike zasnovane na lokalnom pretra živanju

Šema simuliranog kaljenjaInicijalizacija: Izabrati početno rešenje x1 ∈ X x* = x1 , f* =f(x1)Iterativni korak: n = 1, 2, . . . Na slučajan način izabrati rešenje x u okolini N( xn ) trenutnog rešenja xn

Ako je f (x) ≤ f(xn) , tada xn+1 = x (za problem tipa min) Ako je f (x) < f*, tada x* = x , f* =f(x) Ako je f (x) > f(xn), izabrati slučajan broj p uniformno na [0,1] Ako je p ≤ pn , tada xn = x Ako je p > pn , tada xn+1 = x

Kraj: Ako je zadovoljen kriterijum zaustavljanja staje se , a x* se uzima za aproksimaciju optimalnog rešenja.

Page 9: Heuristike zasnovane na lokalnom pretra živanju

Tabu pretraživanjeTabu search se bazira na principu lokalnog pretraživanja

Važna komponenta je tzv. adaptivna memorija, tj. pamćenje nekih podataka o prethodnim fazama procesa pretraživanja, koji utiču na izbor sledećih tačaka u ovom procesu.

Kada pronađemo potencijalno rešenje, označimo ga kao tabu (zabranjeno) kako se više ne bi vraćali na njega.

Sva rešenja označena kao tabu pamte se u takozvanoj tabu listi

Tabu vreme je broj iteracija za vreme kojih je rešenje sadržano u tabu listi zabranjeno.

Page 10: Heuristike zasnovane na lokalnom pretra živanju

Šema Tabu pretraživanjaInicijalizacija:

odaberi početno rešenje postavi: x= x0, x*=x0 , f*= f(x0 ), TL= ;∅

 Pretraga:dok (uslov_zaustavljanja nije zadovoljen) radi{ odaberi najbolje dozvoljeno rešenje x' iz N(x); postavi x= x'; ako je f(x) < f*, onda postavi f* = f(x), x* = x; stavi x u TL na TV iteracija;}vrati rešenje x*;

Page 11: Heuristike zasnovane na lokalnom pretra živanju

Tabu pretraživanje U TL se smeštaju POTEZI a ne i KONTEKST u kojem je taj potez

zabranjen,

Moguć je gubitak dela pretraživačkog prostora

Uvodi se aspiracijska funkcija pomoću koje se poništava tabu status nekog

Klasična implementacija aspiracijske funkcije poništava potezu tabu status ukoliko taj potez vodi do rešenja koje je bolje od dosada najboljeg pronađenog rešenja.

Predloženo da aspiracijska funkcija ne poklanja uopšte pažnju vrednosti funkcije cilja već da vrši ulogu diversifikacije rešenja

(npr. potez zadovoljava aspiracijsku funkciju ukoliko vodi na lokaciju koja nije bila okupirana unutar zadnjih t iteracija)

Page 12: Heuristike zasnovane na lokalnom pretra živanju

Tabu pretraživanjeNajčešći uslovi zaustavljanja su:

• nakon fiksnog broja iteracija (ili fiksnog vremena procesora),

• nakon određenog broja iteracija bez napretka u minimizaciji/maksimizaciji funkcije,

• nakon što funkcija dostigne neku unapred definisanu vrednost,

• kombinacije gore navedenih uslova.

Page 13: Heuristike zasnovane na lokalnom pretra živanju

Tabu pretraživanje Veličina tabu liste?

ukoliko je lista premala, može doći do ciklinkog ponavljanja poteza,

u slučaju da je ona prevelika, zanimljivi potezi mogu biti odbačeni

Prema dosadašnjim istraživanjima, veličina tabu liste je proporcionalna veličini problema koji se rešava

Međutim, pojavljivanje cikličnih ponavljanja poteza nije nužno u direktnoj vezi sa veličinom tabu liste.

Predloženo je da veličina tabu liste ne bude konstantna već da se slučajno menja unutar nekog intervala sa određenom frekvencijom.

Page 14: Heuristike zasnovane na lokalnom pretra živanju

Tabu pretraživanjePrilikom definisanja liste zabranjenih poteza primenjuju se dva pristupa.

1. pristup: Zabranjuju se potezi zamene dve jedinke koje su bile zamenjene tokom zadnjih s iteracija (s je dužina tabu liste).

Pogodniji za tabu liste fiksne dužine

2. pristup: Za svaku jedinku i svaku lokaciju zapisuje zadnja iteracija kada je ta jedinka bila na toj lokaciji. Potez se proglašava tabu potezom ukoliko se njime obe jedinke dodjeljuje na lokacije koje su zauzimale u ne vise od poslednjih s iteracija.

Pogodniji za tabu liste koja je promenjive veličine.

Page 15: Heuristike zasnovane na lokalnom pretra živanju

Reaktivno tabu pretraživanjeReactive tabu search

Modifikacija tabu pretraživanja

Predložena je da bi se izbegle zavisnosti tabu search algoritama od spoljnih faktora (veličina tabu liste, odabir aspiracijske funkcije)

Glavna osobina: automatski se obavljaju modifikacije parametara u potrazi za što boljim rešenjem

Page 16: Heuristike zasnovane na lokalnom pretra živanju

Reaktivno tabu pretraživanjeOsobine:pored standardnih elemenata tabu pretraživanja

definiše se automatizovano prilagođavanje veličine liste zabranjenih poteza u skladu sa trenutnim stanjem pretraživanja.

Pored toga se definiše i način diversifikacije pretraživanja kada standardni mehanizam tabu-search procedure zakaže.

Reaktivni tabu-search algoritam se u praksi pokazao superiornijim, iako su zahtevi za memorijske resurese puno veći

u sebi ima ugrađen mehanizam dugotrajne memorije koja se iskorišćava za praćenje napredovanja algoritma, uočavanje graničnih kola i haotičnih atraktora.

Page 17: Heuristike zasnovane na lokalnom pretra živanju

Metoda promenljivih okolinazasniva na lokalnom pretraživanju, pri čemu se u svakoj

iteraciji može vršiti prestruktuiranje okoline trenutnog rešenja

Osnovna ideja metode je sistematska promena okolina unutar lokalnog pretraživanja

Okoline se mogu menjati:

promenom metrike u odnosu na koju se defniše okolina,

povećavanjem rastojanje u odnosu na istu metriku.

Page 18: Heuristike zasnovane na lokalnom pretra živanju

Metoda promenljivih okolinaU trenutku kada se dođe do nekog lokalnog optimuma izvrši se

slučajno pomeranje u tekućoj okolini do nekog rešenja (koje može biti i veoma loše)

iz tog rešenja lokalnim pretraživanjem pokušava se pronalaženje nekog drugog lokalnog ekstremuma.

Ovim pomeranjem, do rešenja koje se nalazi relativno daleko od trenutnog, postiže se sistematično pretraživanje prostora rešenja i sprečava konvergencija metode ka lošijem lokalnom ekstremumu.

U slučajevima kada pomeranje nije dovelo do boljeg rešenja, zadržavanje u trenutno najboljem rešenju smanjuje mogućnost nepotrebnog širenja pretraživanja na nove oblasti prostora dopustivih rešenja.

Page 19: Heuristike zasnovane na lokalnom pretra živanju
Page 20: Heuristike zasnovane na lokalnom pretra živanju

Metoda promenljivih okolina VNS metaheuristika je zasnovana je na tri činjenice:

lokalni minimum u odnosu na jednu okolinu ne mora biti i lokalni minimum u odnosu na neku drugu okolinu;

globalni minimum je lokalni minimum u odnosu na sve okoline;

za većinu problema lokalni minimumi u odnosu na razne okoline su međusobno bliski.

Ove tri činjenice mogu se iskoristiti na tri različita načina: deterministički, stohastički ili kombinovano.

Page 21: Heuristike zasnovane na lokalnom pretra živanju

Metoda promenljivog spusta

Variable Neighborhood Descent, VNDS

deterministička varijanta

Sastoji se u odabiru kmax okolina, Nk, k = 1, 2, ..., kmax, odredi se početno rešenje x i startuje LS procedura u odnosu na svaku od okolina, a počev od izabranog rešenja x.

Ukoliko je kmax = 1, reč je o običnom lokalnom pretraživanju.

Page 22: Heuristike zasnovane na lokalnom pretra živanju

Grafički prikaz VNDS

Page 23: Heuristike zasnovane na lokalnom pretra živanju

Šematski prikaz VNDS

Page 24: Heuristike zasnovane na lokalnom pretra živanju

Redukovana metoda promenljivih okolinaReduced Variable Neighborhood Search, RVNS

Stohastički pristup

metoda se sastoji u sistematskoj promeni okolina i izboru jednog slučajnog rešenja u svakoj od okolina.

Koraci odlučivanja bazirani su na tom jednom slučajnom rešenju

koraci su utoliko jednostavniji što ne postoji proces lokalnog pretraživanja

Page 25: Heuristike zasnovane na lokalnom pretra živanju

Šematski prikaz RVNS

Page 26: Heuristike zasnovane na lokalnom pretra živanju

Redukovana metoda promenljivih okolinaRVNS je izuzetno korisna kod primera velikih dimenzija jer

se izbegava složena i dugotrajna LS procedura.

Ova metoda veoma liči na Monte-Carlo metodu, mada je donekle sistematičnija. Dok Monte-Carlo bira slučajno rešenje u celom prostoru pretraživanja, RVNS se u svakom koraku ograničava na neku, strogo definisanu okolinu.

Ipak, obzirom na stepen slučajnosti, najbolji rezultati se postižu kombinacijom ove metode sa nekom drugom varijantom.

Na primer, RVNS se koristi za dobijanje početnog rešenja, a zatim se primenjuje neka varijanta koja sistematično pretražuje okoline tako dobijenog početnog rešenja

Page 27: Heuristike zasnovane na lokalnom pretra živanju

(Osnovna) metoda promenljivih okolina(Basic) Variable Neighborhood Search, VNS

Kombinacija prethodna dva principa

Sastoji se u sistematskoj (determinističkoj) promeni okolina, slučajnim izborom početnog rešenja u tekućoj okolini i primenom LS procedure počev od tog, slučajnog rešenja

najrasprostranjenija varijanta metode promenljivih okolina jer obezbeđuje više preduslova za dobijanje kvalitetnijih konačnih rešenja.

Page 28: Heuristike zasnovane na lokalnom pretra živanju

(Osnovna) metoda promenljivih okolina Osnovni koraci VNS metode sadržani su u petlji u okviru koje

se: menja indeks okoline k, određuje slučajno rešenje iz k-okoline, izvršava se procedura lokalnog pretraživanja proverava kvalitet dobijenog lokalnog minimuma.

Ovi koraci se ponavljaju sve dok ne bude zadovoljen neki kriterijum zaustavljanja:

maksimalno dozvoljeno CPU vreme,maksimalan broj iteracija maksimalan broj iteracija između dve popravkeKombinacija gore navedenog

Page 29: Heuristike zasnovane na lokalnom pretra živanju

(Osnovna) metoda promenljivih okolina

Početno rešenje u okolini k generiše se na slučajan način kako bi se obezbedilo pretraživanje različitih regiona prilikom sledećeg razmatranja okoline k.

Okoline se mogu razlikovati po osnovu rastojanja (broja transformacija) ili po osnovu metrike (vrste transformacija).

Važno je napomenuti da okoline za razmrdavanje (izbor slučajnog rešenja) i lokalno pretraživanje ne moraju biti istog tipa

Page 30: Heuristike zasnovane na lokalnom pretra živanju

Šema metode promenljivih okolina