380 likes | 517 Views
Heuristike zasnovane na lokalnom pretra živanju. MPIO MF, Beograd, 201 3/14. 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 MF, Beograd, 2013/14.
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, sused koji je prema nekom kriterijumu boljiodtekućeg rešenja, i predstavlja sledeće rešenje. • Ukoliko se takav 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 (obično) zaustavljaprinailaskuprvoglokalnogminimumakoji ne morabitiglobalni minimum • Uspeh zavisiodpočetnogrešenja, strukture okoline i kako pretražujemo okolinu
Šema lokalnog pretraživanja Inicijalizacija:Izabratipočetnorešenje x1 ∈ X; x* = x1, f* =f(x1) Iterativni korak: n = 1, 2, 3, . . . U okolini N( xn ) trenutnog rešenja naći sledeće rešenje xn+1 , prema zadatom kriterijumu 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 početnog rešenja, 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
Iterirano lokalno pretraživanje • Iterated Local Search (ILS) • Kvalitet rešenja dobijenog LS između ostalog zavisi od početnog rešenja u čijoj okolini tražimo poboljšanje • Kako poboljšati performanse LS? • Strategija 1: Multistart pristup (Multistart Local Search-MLS) Početno rešenje se bira na slučajan način, a zatim vrši LS u njegovoj okolini. Izbori početnog rešenja u svakoj iteraciji su međusobno nezavisni
Iterirano lokalno pretraživanje • Kako poboljšati performanse LS? • Strategija 2: Unaprediti MLS Rešenje dobijeno kao rezultat u jednoj MLS iteraciji uzeti kao početno rešenje za narednu iteraciju ili Perturbaciju rešenja dobijenog kao rezultat u jednoj MLS iteraciji uzeti kao početno rešenje za narednu iteraciju Perturbacija se vrši u skladu sa prethodnim iskustvom (istorijom pretraživanja) Ovaj drugi pristup se naziva Iterated Local Search ILS
Iterated Local Search • Perturbacija rešenja • Značajne promene tekućeg rešenja (za razliku od standardne LS) • Veliki slučajni pomaci od tekućeg rešenja, koji nas vode u udaljene regione pretraživačkog prostora - Moguća strategija: jedan deo rešenja se zadrži a drugi značajnije promeni • Kriterijum prihvatanja novog rešenja - uslovi koje novo rešenje (lokalni optimum) mora zadovoljiti da bi zamenio tekuće rešenje - Najčešćevrednost funkcije cilja
Iterated Local Search Za Local Seach u šemi ILS može se koristiti bilo koja deterministička ili stohastička S-heuristika (tabu seach, simulated annealing, VNS,...) P-heuristike?
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 TL • TabuvremeTV je 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 nekogpoteza Klasičnaimplementacijaaspiracijskefunkcijeponištava nekompotezutabu status ukolikotajpotezvodi do rešenjakoje je boljeod dosadanajboljegpronađ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 (ilifiksnogvremenaizvršavanja), • nakonodređenogbrojaiteracijabeznapretka u minimizaciji/maksimizacijifunkcije, • nakonštofunkcijadostignenekuunapreddefinisanu (optimalnu) vrednost, • kombinacije gore navedenihkriterijuma.
Tabu pretraživanje Dužinatabu liste? • Strategija 0: konstantna? • ukoliko je listapremala, možedoći do cikličkogponavljanjapoteza, • u slučajudaje onaprevelika, perspektivni potezimogubitiodbačeni • Strategija 1: dužina tabulistejeproporcionalna dimenzijiproblemakoji se rešava • Na nekim problemima eksperimentalnoje pokazanopojavljivanjecikličnihponavljanjapotezanijenužnou direktnojvezisaveličinomtabuliste. • Strategija 2: dužina tabuliste nijekonstantnaveć se slučajnomenjaunutarnekogintervalasaodređenomfrekvencijom. • Strategija 3?
Tabu pretraživanje Prilikomdefinisanjalistezabranjenihpoteza (tabu liste) najčešće se primenjujudvapristupa. 1. pristup: Zabranjujuse potezizamenedvejedinkekojesu bilezamenjene tokomzadnjihs iteracija (s je dužina tabu liste). Pogodniji za tabu liste fiksne dužine 2. pristup: Za svakujedinkuisvakupoziciju (lokaciju)zapisujezadnjaiteracija kadaje tajedinkabilanatojpoziciji. Potez se proglašavatabupotezom ukoliko senjimeobejedinkedodjeljujenapozicije kojesuzauzimale u ne više odposlednjihsiteracija. Pogodniji za tabulistekoje supromenjivedužine.
Reaktivno tabu pretraživanje • Reactive tabu search • Modifikacija tabu pretraživanja • Predložena je da bi se izbegle prevelikezavisnostitabu search algoritamaodfaktora/parametara (dužinatabuliste, odabiraspiracijskefunkcije, tabu vreme, itd) • Glavna osobina: automatski seobavljajumodifikacijeparametara u potrazizaštoboljimrešenjem
Reaktivno tabu pretraživanje • pored standardnihelemenatatabu pretraživanja definiše se automatizovanoprilagođavanjedužinetabu listezabranjenih poteza u skladusatrenutnimstanjempretraživanja. • definišese inačindiversifikacijepretraživanjakadastandardnimehanizamtabu-search pretraživanjazakaže. • imaugrađenmehanizamdugotrajnememorije(long term memory) koja se iskorišćavazapraćenjenapredovanjaalgoritma, uočavanjegraničnihslučajeva, ciklusaistohastičkih elemenata. • Reaktivnitabu-search algoritam se u praksipokazaosuperiornijim, iakosuzahtevizamemorijskeresurseznatnoveći
Simulirano kaljenjeSimulated Annealing (SA) • (meta)heuristikazarešavanjeproblemakombinatorneoptimizacije • ime je dobilazboganalogijesa procesomkaljenja metalaizčije se simulacijeirazvila • metodapokušavapronaćiglobalni optimum, ili mu se bar približiti, u zatomprostorukonfiguracija • dozvoljeni su potezi koji vode ka lošijem rešenju
Šema simuliranog kaljenja Inicijalizacija: Izabrati početno rešenje x0 ∈ X, početnu temp. T, Šemu hlađenja Tn, n=0,1,2,..(To=T) x* = x0 , f* =f(x0) Iterativni korak:n = 0,1, 2, . . . Pri temperaturi Tn određen broj puta realizujemo sledeći ciklus: 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 pritomf (x) < f*, tadax* = x, f* =f(x) Akoje f (x) > f(xn), izabratinaslučajannačinbrojp uniformnona[0,1] Akoje p ≤pn=pn(Tn, ∆f), tada ostajemo uxni pokušavamo ponovo sa pretragom u okolini N(xn ) Akoje p > pn(Tn, ∆f), tadaxn+1 = x Kraj:Ako je zadovoljenkriterijumzaustavljanja(npr. Tn <eps, n=nmax) stajese, a x*se uzimazaaproksimacijuoptimalnogrešenja.
Metoda promenljivih okolinaVariable Neighborhood Search-VNS • 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ćavanjemrastojanjau odnosunaistumetriku.
Metoda promenljivih okolina • Prilikomrealizacije VNS-a menjamookolinetekućeg rešenja u kojima se krećemo u potrazi za boljim rešenjem • Zasvakuizabranuokolinu tekućeg lokalnog optimuma 1) Izvršise slučajnopomeranje u tekućojokolini do nekogrešenja (kojemožebitiiveomaloše) Faza “razmrdavanja” - SHAKING PHASE 2) Iztog novog rešenjalokalnimpretraživanjempokušava sepronalaženjeboljeg lokalnog optimuma Faza lokalne pretrage – LOCAL SEARCH PHASE • U svakoj iteraciji menja se tekuća okolina po nekom pravilu
Metoda promenljivih okolina • SHAKE: pomeranjemdo rešenjakoje se nalazirelativnodalekoodtrenutnog lokalnog optimuma, postiže se sistematičnopretraživanjeprostorarešenjaisprečavakonvergencijametode ka lošijemlokalnomoptimumu. • LOCAL SEARCH: 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: 1) lokalniminimum u odnosunajednuokolinu ne morabitiilokalni minimum u odnosunanekudruguokolinu 2) globalniminimum je lokalni minimum u odnosunasveokoline 3) 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 • Nemamo SHAKE fazu • Sastoji se u odabiru kmaxokolina, Nk, k = 1, 2, ..., kmax, odredise početnorešenje x istartujeLOCAL SEARCH 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 • Nema LOCAL SEARCH fazu • Sastoji se u odabiru kmaxokolina, Nk, k = 1, 2, ..., kmax koje se sistematski menjaju iizborujednogslučajnogrešenja u svakojodokolina. • Koraciodlučivanjabaziranisuna tom jednomslučajno izabranomrešenju
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 • Najrasprostranjenijavarijantametodepromenljivihokolinajerobezbeđujevišepreduslovazadobijanjekvalitetnijihkonačnihrešenja • Sastoji se usistematskojpromeniokolina, slučajnimizborompočetnogrešenja u tekućojokoliniiprimenom LS procedure počevodnovoizabranogrešenja
(Osnovna) metoda promenljivih okolina Osnovnikoraci VNS metodesadržanisu u petlji u okvirukoje se: • menjaindeksokoline k, • određuje naslučajan načinrešenjeizk-te okoline (Shake), • izvršavaproceduralokalnogpretraživanja (Local Search) • 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 mogurazlikovati - naosnovurastojanja (brojatransformacija nad rešenjem) - na osnovumetrike (vrstetransformacija nad rešenjem) • Okolinezarazmrdavanje (izborslučajnogrešenja) ilokalnopretraživanje ne morajubitiistogtipa