270 likes | 524 Views
Metoda zasnovana na rojevima čestica Particle Swarm Optimization - PSO. + Primer i poređenje PSO,SA and VNS metaheuristika dizajniranih za rešavanje jedne varijante problema BLUFLP . MPIO 2013/2014. Optimizacija zasnovana na rojevima cestica (Particle Swarm Optimization).
E N D
Metoda zasnovana na rojevima čestica Particle Swarm Optimization - PSO +Primer i poređenje PSO,SA and VNS metaheuristika dizajniranih za rešavanje jedne varijante problema BLUFLP MPIO 2013/2014
Optimizacija zasnovana na rojevima cestica(Particle Swarm Optimization) • Population-based metaheuristic • Zasnovana je naponašanjučestica u rojevimakoje se kreću u dopustivomprostorurešenja • Svakačesticaodgovarajednompotencijalnomrešenjuikreće se koristećisvojeiskustvoizprethodnihpozicija, aliiiskustvadrugihčestica (celogrojailipodskupa-okolinečestice) • Svečesticeistovremenopokušavajudapopravesvojepozicije • Uključenisustohastičkielementi i brojni parametri (promena brzine, kognitivnog učenja, socijalnog učenja, slučajnost, itd.. )
Optimizacijazasnovananarojevimačestica(Particle Swarm Optimization) Inicijalizacija: Na slučajannačingenerisatičesticei=1,2,...,Nkoječineroj čestica Svakojčestici se pridružujenjenatrenutnapozicija(jednorešenje u pretraživačkomprostoru) ibrzina Svaka čestica pamtisvoju najboljupozicijuinajboljupozicijunanivouroja Iterativnikorak: n = 1, 2, . . . • Svakačesticaiztrenutneprelazi u narednupozicijunaosnovusvogiskustvaiiskustvaostalihčestica • Akoje nova pozicijačesticeboljaodlokalnenajboljepoziciječestice, vršise ažuriranje • -Ako je nova pozicijačesticeboljaodglobalnenajboljepozicije, vrši se ažuriranje Kraj:Ako je zadovoljenkriterijumzaustavljanjastaje se, a najboljaglobalnapozicija se uzimazaaproksimacijuoptimalnogrešenja
Optimizacijazasnovananarojevimačestica(Particle Swarm Optimization) Svaka čestica i=1,2,…,N odgovara jednompotencijalnom (dopustivom)rešenje u pretraživačkom prostoru i ima sledeće elemente (vektore) xi=trenutna pozicija čestice (trenutno rešenje) vi=brzina, tačnije gradijent (pravac) u kojem bi se čestica kretala bez drugih uticaja pi=najbolja pozicija čestice do sada (local best solution) pg=najbolje rešenje celog roja (global best solution) ili najbolje rešenje okoline čestice roja (neighborhood best solution) Dve strategije: korišćenje iskustva celog roja ili korišćenje iskustva okoline čestice Okolina čestice se može definisati na različite načine!
Particle Swarm OptimizationMovement of a Particle and Velocity Update
Particle Swarm Optimization ρ1, ρ2 =slučajno izabrane konstante iz [0,1] C1=koeficijentkognitivnog učenja (uticaj iskustva čestice) C2=koeficijent socijalnog učenja (uticaj iskustva roja/okoline)
Particle Swarm Optimization Promenabrzinečestice Standardni pristup: Unapređeni pristup: ρ1, ρ2 =slučajno izabrane konstante iz [0,1] C1=koeficijentkognitivnog učenja (uticaj iskustva čestice) C2=koeficijent socijalnog učenja (uticaj iskustva roja/okoline) vrednosti vise ograničavaju na[-Vmax, +Vmax] ω = parametar inercije (inertia weight) koji kontroliše uticaj prethodnih brzina čestice na trenutnu, ωse obično bira iz (0,1) za veće vrednosti ω pojačavamo global exploration (diversifikujemo pretragu) za manje vrednosti ω pojačavamo local exploration (inteziviramo lokalnu pretragu)
Primer: Dvonivoskilokacijskiprobemsaafinitetimaklijenata BilevelUncapacitated Facility Location Problem With Clients’Preferences Notacija: I={1,….,M} skuppotencijalnihlokacijaza snabdevača J={1,….,N} skuplokacijaklijenata C=[cij] matricatroškova; cij≥ 0 sutroškovi pridruživanja klijenta j snabdevaču i fisu troškovi uspostavljanja skladišta na lokaciji iI
Primer: Dvonivoskilokacijskiprobemsaafinitetimaklijenata • Afiniteti (prioriteti, preference) klijenata su zadati matricom G=[gij], gij≥ 0 , iI, jJ • Afiniteti su definisani na sledeći način: Ako je gi1j ≤ gi2j, znači da klijent j preferira snabdevača i1 u odnosu na snabdevača i2 • Promenljive: dva skupa binarnih promenljivih yi =1, ako je snabdevač uspostavljen na lokaciji i , 0 inače xij =1, ako klijenta j opslužuje snabdevači, 0 inače
PSO, SA, VNS zarešavanjeBLUFLP sapreferencamaklijenata • Implementiranesutri metaheuristike PSO, SA i VNS zarešavanjeovogproblema • Metaheuristikesutestiranenainstancamavelikihdimenzijaiupoređivanisurezultatiiperformanseheuristikau pogledu a) kvalitetarešenja b) brzineizvršavanja • Zajedničkokodiranjeiračunanjefunkcijecilja • Rešenje je kodiranobinarnimnizomdužine M za M=10 primer koda je 0100110101 (izgrađenasuskladišta/uspostavljenisnabdevačinalokacijama2,5,6,8 i 10) • Nemanekorektnihkodova!
PSO, SA, VNS zarešavanjeBLUFLP sa preferencamaklijenata Računanjefunkcijeciljase odvija u nekolikokoraka: Korak 1. Izkoda se dobijajuindeksii1,..., ikizgrađenihskladišta Korak 2. Zasvakogklijentajnizpotencijalnihskladišta se sortira u rastućemporetkupremapreferencamadatogklijentakoje se dobijajuizmatriceG Korak 3. Formira se matricasortiranihpreferenci Gs Korak 4. Zasvakogklijenta j prolazimokrozj-tuvrstumatriceGstražećiindeksprvogizgrađenogskladišta, iklijentaj pridružujemo tom skladištu Korak 5. Troškovipridruživanja se dodajunasumutroškovapridruživanja (inicijalnopostavljenananulu) Korak 6. Troškoviuspostavljanjaskladišta se dodajunasumu trоškova pridruživanja
PSO algoritamzarešavanjeBLUFLP sa preferencamaklijenata • Roj (swarm) se sastojiod S=60 čestica (particles) koje“lete” u M-dimenizionomprostoru • Svakojčesticii, i=1,2,...,S je predstavljenapridružuje se 1)trenutnapozicijaxitj. M-dimenizionivektorkojiodgovarajednomrešenju u prostorupretrage (početnepozicije se generišunaslučajannačin) 2)najbolja do sada“posećena” pozicijabi (lokalni minimum) 3)brzina česticevi 4) najboljado sada“posećena” pozicijag nanivoucelogroja (globalni minimum) • U svakojiteracijisvakaodčesticapodešavasvojpravac (flying direction) premasopstvenomiskustvu(pozicijama bi) iiskustvucelogroja(pozicija g)
PSO algoritamzarešavanjeBLUFLP sa preferencamaklijenata • Pravackretanjačesticezavisiod - kognitivnogparametra (cognitive learning parameter) φ p - socijalnogparametra (social learning parameter) φ g - parametarinercije (inertia weight parameter) ω • FunkcijaSigmoid (v)=1/(1+exp(-v)) služida bi normalizovalabrzinu u interval (0,1) ; koristi se za diskretne probleme • Ako se u datojiteracijičesticapomerilanabolju (lokalnu) poziciju, ažurira se najboljalokalnapozicijaieventualnonajboljaglobalnapozicija • Kriterujumzaustavljanja: najboljerešenje se nijepromenilotokomodređenogbroja PSO iteracija (max non-improvingiterations)
SA algoritamzarešavanjeBLUFLP sa preferencamaklijenata • InicijalnafazaSA: Inicijalizuje se početnorešenjeω (binarninizdužine M) Početno rešenje se generišenaslučajannačin Inicijalizujuse SA parametri - početnatemperatura - raspored“hlađenja” - brojiteracija SA koji se izvršavaprisvakojtemperaturi,... • U svakojiteraciji SA generišemorešenjeω’ izokolinetekućegrešenja ωinvertovanjemslučajnoizabranogbita
SA algoritamzarešavanjeBLUFLP sa preferencamaklijenata Kriterijumi za prihvatanje novog rešenjaω’ izokolinetekućegrešenjaω: • Potezikojivodeka poboljšanjufunkcijeciljase uvekprihvataju • Potezikojine vode ka poboljšanjufunkcijecilja se prihvatajusaodređenomverovatnoćom(kojazavisiodtrenutne temperature iodstepenadegradacijefunkcijecilja) • Temperatura se snižavanakondobijanjapoboljšanjailinakonodređenogbrojaiteracija • Kriterujumzaustavljanja: najboljerešenje se nijepromenilotokomodređenogbroja SA iteracija
RVNS-VNS algoritamzarešavanjeBLUFLP sa preferencamaklijenata • Definicijaokoline: Rešenjexpripadak-tojokolinirešenjax’ (iobrnuto) ukolikose njihovikodovirazlikujuu tačno k bitova • RVNS faza: - Početnorešenjex (binarninizdužine M) se generišenaslučajannačin - U svakojiteraciji RVNS generišemorešenjex’ izokolinetekućegrešenja xinvertovanjemslučajnoizabranogbita - Inverzijekojevode ka poboljšanjufunkcijecilja se prihvatajuiazurira se najboljerešenje • Kriterujumzaustavljanja: dostignutmaksimalanbroj RVNS iteracija • Najboljerešenjedobijeno RVNS algoritmom je početnorešenjeVNS algoritma
RVNS-VNS algoritamzarešavanjeBLUFLP sa preferencamaklijenata • VNS faza: -Početnorešenjexdobijeno je iz RVNS faze - Postavljamo red okoline na k=1 - U svakojiteraciji VNS slučajnobiramorešenjex’ izk-teokoline tekućegrešenjax (Shaking phase) - U okolinirešenjax’ tražimonajboljerešenje x” (Local Search phase) - Akoje novo rešenjex” boljeodnajboljegpoznatog, pomeramo se do njega, ažuriramonajboljerešenjei k vraćamona 1 - Ukolikonije, zadržavamo se na x ipovećavamo red okolinek=k+1 • Kriterujumzaustavljanja: dostignutmaksimalanbroj VNS iteracijabezpoboljšanja
Testiranja i poređenje • Testiranja su izvršenja na modifikovnim test instancama iz literature (ORLIB za UFLP, M* za multi-level UFLP) • Sva testiranja na istoj konfiguraciji • Do 2000 klijenata i 2000 potencijalnih lokacija za skladišta • Parametri za PSO, SA, RVNS-VNS su eksperimentalno određeni • Instance su rešavane i CPLEX solverom