1 / 38

Heuristike zasnovane na lokalnom pretra živanju

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

Download Presentation

Heuristike zasnovane na lokalnom pretra živanju

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. Heuristikezasnovanenalokalnompretraživanju MPIO MF, Beograd, 2013/14.

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

  3. 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 yN(x) su susedi od x.

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

  5. Š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.

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

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

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

  9. Šema ILS

  10. Princip ILS

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

  12. 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?

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

  14. Š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*;

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

  16. Tabu pretraživanje Najčešćiuslovizaustavljanjasu: • nakonfiksnogbrojaiteracija (ilifiksnogvremenaizvršavanja), • nakonodređenogbrojaiteracijabeznapretka u minimizaciji/maksimizacijifunkcije, • nakonštofunkcijadostignenekuunapreddefinisanu (optimalnu) vrednost, • kombinacije gore navedenihkriterijuma.

  17. 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?

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

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

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

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

  22. Š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.

  23. Šema simuliranog kaljenja

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

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

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

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

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

  29. Grafički prikaz VNDS

  30. Šematski prikaz VNDS

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

  32. Šematski prikaz RVNS

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

  34. (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

  35. (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

  36. (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

  37. Šema (osnovne) metode promenljivih okolina

More Related