320 likes | 540 Views
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
E N D
Heuristikezasnovanenalokalnompretraž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 jepotrebnodefinisatiprostorrešenjazadati problem • Zatim se odaberepočetnorešenje, pa se nakon toga prostorrešenjapretražuje u potrazizaštoboljimrešenjima • Razlikameđuheurističkimalgoritmima je u tome nakojinačinobavljaju to pretraživanje.
Lokalno pretraživanje • opš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 yN(x) su susedi od x.
Lokalno pretraživanje • Za 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. • Osnovninedostataklokalnogpretraživanja je što se zaustavljaprinailaskuprvoglokalnogminimumakoji ne morabitiglobalni minimum, a to zavisiodpočetnogrešenja
Šema lokalnog pretraživanja Inicijalizacija:Izabratipočetnoreš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: Akokriterijumizboranijezadovoljannizajednogsusedaizokoline N( xn) ili je zadovoljennekidrugikriterijumzaustavljanjametodastaje, a x* se uzimazaaproksimacijuoptimalnogrešenja.
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
Simulirano kaljenje (Simulated annealing) • opštaheuristikazarešavanjeproblemakombinatorneoptimizacije (metaheuristika) • ime je dobilazboganalogijesa procesomkaljenja metalaizčije se simulacijeirazvila • metodapokušavapronaćiglobalni optimum, ili mu se bar približiti, u zatomprostorukonfiguracija
Šema simuliranog kaljenja Inicijalizacija: 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šenjaxn Ako je f (x) ≤f(xn) , tadaxn+1 = x(za problem tipa min) Ako je f (x) < f*, tadax* = x, f* =f(x) Ako je f (x) > f(xn), izabratislučajanbroj p uniformnona[0,1] Ako je p ≤pn, tadaxn= x Ako je p > pn, tadaxn+1 = x Kraj:Ako je zadovoljenkriterijumzaustavljanjastaje se , a x* se uzimazaaproksimacijuoptimalnogrešenja.
Tabu pretraživanje • Tabu 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. • Kadapronađemopotencijalnorešenje,označimo gakaotabu (zabranjeno) kako se više ne bi vraćalinanjega. • Sva rešenjaoznačenakaotabupamte se u takozvanojtabulisti • Tabuvremeje brojiteracijazavremekojih je rešenjesadržano u tabulistizabranjeno.
Šema Tabu pretraživanja Inicijalizacija: odaberipočetnorešenje postavi: x= x0, x*=x0 , f*= f(x0 ), TL=∅ ; Pretraga: dok (uslov_zaustavljanjanijezadovoljen) radi { odaberinajboljedozvoljenorešenje x' iz N(x); postavi x= x'; ako je f(x) < f*, ondapostavi f* = f(x), x* = x; stavi x u TL na TV iteracija; } vratirešenje x*;
Tabu pretraživanje • U TLse smeštaju POTEZI a ne iKONTEKST u kojem je tajpotezzabranjen, • Moguć je gubitak dela pretraživačkog prostora • Uvodi se aspiracijskafunkcijapomoćukoje se poništavatabu status nekog Klasičnaimplementacijaaspiracijskefunkcijeponištavapotezutabu status ukolikotajpotezvodi do rešenjakoje je boljeoddosadanajboljegpronađenogrešenja. Predloženodaaspiracijskafunkcija ne poklanjauopštepažnjuvrednostifunkcijeciljavećdavršiulogudiversifikacijerešenja (npr. potezzadovoljavaaspiracijskufunkcijuukoliko vodi na lokacijukoja nije bilaokupiranaunutarzadnjiht iteracija)
Tabu pretraživanje Najčešćiuslovizaustavljanjasu: • nakonfiksnogbrojaiteracija (ilifiksnogvremenaprocesora), • nakonodređenogbrojaiteracijabeznapretka u minimizaciji/maksimizacijifunkcije, • nakonštofunkcijadostignenekuunapreddefinisanu vrednost, • kombinacije gore navedenihuslova.
Tabu pretraživanje Veličinatabu liste? • ukoliko je listapremala, možedoći do ciklinkogponavljanjapoteza, • u slučajudaje onaprevelika, zanimljivipotezimogubitiodbačeni • Premadosadašnjimistraživanjima, veličinatabuliste je proporcionalnaveličiniproblemakoji se rešava • Međutim, pojavljivanjecikličnihponavljanjapotezanijenužnou direktnojvezisaveličinomtabuliste. • Predloženo jedaveličinatabuliste ne budekonstantnavećda se slučajnomenjaunutarnekogintervalasaodređenomfrekvencijom.
Tabu pretraživanje Prilikomdefinisanjalistezabranjenihpotezaprimenjuju se dva pristupa. 1. pristup: Zabranjujuse potezizamenedvejedinkekojesu bile zamenjenetokomzadnjihs iteracija (s je dužina tabu liste). Pogodniji za tabu liste fiksne dužine 2. pristup: Za svakujedinkuisvakulokacijuzapisujezadnjaiteracijakada je tajedinkabilanatojlokaciji. Potez se proglašavatabupotezomukoliko se njimeobejedinkedodjeljujenalokacijekojesuzauzimaleu ne viseodposlednjihs iteracija. Pogodniji za tabulistekoja je promenjiveveličine.
Reaktivno tabu pretraživanje • Reactive tabu search • Modifikacija tabu pretraživanja • Predložena je da bi se izbeglezavisnostitabu search algoritamaodspoljnihfaktora (veličinatabuliste, odabiraspiracijskefunkcije) • Glavna osobina: automatski seobavljajumodifikacijeparametara u potrazizaštoboljimrešenjem
Reaktivno tabu pretraživanje Osobine: • pored standardnihelemenatatabu pretraživanja definiše se automatizovano prilagođavanjeveličinelistezabranjenih poteza u skladusatrenutnimstanjempretraživanja. • Pored toga se definišeinačindiversifikacijepretraživanjakadastandardnimehanizamtabu-search procedure zakaže. • Reaktivnitabu-search algoritam se u praksipokazaosuperiornijim, iakosuzahtevizamemorijskeresuresepunoveći • u sebiimaugrađenmehanizamdugotrajnememorijekoja se iskorišćavazapraćenjenapredovanjaalgoritma, uočavanjegraničnih kola ihaotičnihatraktora.
Metoda promenljivih okolina • zasnivanalokalnompretraživanju, pričemu se u svakojiteracijimoževršitiprestruktuiranjeokolinetrenutnogrešenja • Osnovnaidejametode je sistematskapromenaokolinaunutarlokalnogpretraživanja Okoline se mogu menjati: • promenommetrike u odnosunakoju se defnišeokolina, • povećavanjemrastojanje u odnosunaistumetriku.
Metoda promenljivih okolina • U trenutkukada se dođe do nekoglokalnogoptimumaizvrši se slučajnopomeranje u tekućojokolini do nekogrešenja (kojemožebitiiveomaloše) • iz tog rešenjalokalnimpretraživanjempokušava sepronalaženjenekogdrugoglokalnogekstremuma. • Ovimpomeranjem, do rešenjakoje se nalazirelativnodalekoodtrenutnog, postiže se sistematičnopretraživanjeprostorarešenjaisprečavakonvergencijametode ka lošijemlokalnomekstremumu. • U slučajevimakadapomeranjenijedovelo do boljegrešenja, zadržavanje u trenutnonajboljemrešenjusmanjujemogućnostnepotrebnogširenjapretraživanjananoveoblastiprostoradopustivihrešenja.
Metoda promenljivih okolina VNS metaheuristikaje zasnovana je na tri činjenice: • lokalni minimum u odnosunajednuokolinu ne morabitiilokalni minimum u odnosunanekudruguokolinu; • globalni minimum je lokalni minimum u odnosunasveokoline; • zavećinuproblemalokalniminimumi u odnosunarazneokolinesumeđusobnobliski. Ove tri činjenicemogu se iskoristitina tri različitanačina: deterministički,stohastičkiilikombinovano.
Metoda promenljivog spusta • Variable Neighborhood Descent, VNDS • determinističkavarijanta • Sastoji se u odabiru kmaxokolina, Nk, k = 1, 2, ..., kmax, odredise početnorešenje x istartuje LS procedura u odnosunasvakuodokolina, a počevodizabranogrešenja x. • Ukoliko je kmax = 1, reč je o običnomlokalnompretraživanju.
Redukovana metoda promenljivih okolina • Reduced Variable Neighborhood Search, RVNS • Stohastički pristup • metoda se sastoji u sistematskojpromeniokolinaiizborujednogslučajnogrešenja u svakojodokolina. • Koraciodlučivanjabaziranisuna tom jednomslučajnomrešenju • koracisuutolikojednostavnijišto ne postojiproceslokalnogpretraživanja
Redukovana metoda promenljivih okolina • RVNS je izuzetnokorisnakodprimeravelikihdimenzijajer se izbegavasloženaidugotrajna LS procedura. • Ova metodaveomaličina Monte-Carlo metodu, mada je doneklesistematičnija. Dok Monte-Carlo biraslučajnorešenje u celomprostorupretraživanja, RVNS se u svakomkorakuograničavananeku, strogodefinisanuokolinu. • Ipak, obziromnastepenslučajnosti, najboljirezultati se postižukombinacijomovemetodesanekomdrugomvarijantom. • Na primer, RVNS se koristizadobijanjepočetnogrešenja, a zatim se primenjujenekavarijantakojasistematičnopretražujeokolinetakodobijenogpočetnogrešenja
(Osnovna) metoda promenljivih okolina • (Basic) Variable Neighborhood Search, VNS • Kombinacijaprethodnadvaprincipa • Sastoji se usistematskoj (determinističkoj) promeniokolina, slučajnimizborompočetnogrešenja u tekućojokoliniiprimenom LS procedure počevod tog, slučajnogrešenja • najrasprostranjenijavarijantametodepromenljivihokolinajerobezbeđujevišepreduslovazadobijanjekvalitetnijihkonačnihrešenja.
(Osnovna) metoda promenljivih okolina Osnovnikoraci VNS metodesadržanisu u petlji u okvirukoje se: • menjaindeksokoline k, • određujeslučajnorešenjeiz k-okoline, • izvršava se proceduralokalnogpretraživanja • proveravakvalitetdobijenoglokalnogminimuma. Ovikoraci se ponavljajusvedok ne budezadovoljennekikriterijumzaustavljanja: • maksimalnodozvoljeno CPU vreme, • maksimalanbrojiteracija • maksimalanbrojiteracijaizmeđu dvepopravke • Kombinacija gore navedenog
(Osnovna) metoda promenljivih okolina • Početnorešenje u okolini k generiše se naslučajannačinkako bi se obezbedilopretraživanjerazličitihregionaprilikomsledećegrazmatranjaokoline k. • Okoline se mogurazlikovatipoosnovurastojanja (brojatransformacija) ilipoosnovumetrike (vrstetransformacija). • Važno je napomenutidaokolinezarazmrdavanje (izborslučajnogrešenja) ilokalnopretraživanje ne morajubitiistogtipa