1 / 26

Metoda zasnovana na rojevima čestica Particle Swarm Optimization - PSO

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

winka
Download Presentation

Metoda zasnovana na rojevima čestica Particle Swarm Optimization - PSO

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

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

  3. Particle Swarm Optimization

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

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

  6. Particle Swarm OptimizationNeighborhood of a Particle

  7. Particle Swarm OptimizationMovement of a Particle and Velocity Update

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

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

  10. 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 iI

  11. Primer: Dvonivoskilokacijskiprobemsaafinitetimaklijenata • Afiniteti (prioriteti, preference) klijenata su zadati matricom G=[gij], gij≥ 0 , iI, jJ • 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

  12. Matematička formulacija problema

  13. Reformulacija problema

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

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

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

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

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

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

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

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

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

More Related