Presentation is loading. Please wait.

Presentation is loading. Please wait.

Metoda zasnovana na rojevima čestica Particle Swarm Optimization - PSO

Similar presentations


Presentation on theme: "Metoda zasnovana na rojevima čestica Particle Swarm Optimization - PSO"— 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 2015/2016.

2 Optimizacija zasnovana na rojevima cestica (Particle Swarm Optimization)
Population-based metaheuristic Zasnovana je na ponašanju čestica u rojevima koje se kreću u dopustivom prostoru rešenja Svaka čestica odgovara jednom potencijalnom rešenju i kreće se koristeći svoje iskustvo iz prethodnih pozicija, ali i iskustva drugih čestica (celog roja ili podskupa-okoline čestice) Sve čestice istovremeno pokušavaju da poprave svoje pozicije Uključeni su stohastički elementi i brojni parametri (promena brzine, kognitivnog učenja, socijalnog učenja, slučajnost, itd.. )

3 Particle Swarm Optimization

4 Optimizacija zasnovana na rojevima čestica (Particle Swarm Optimization)
Svaka čestica i=1,2,…,N odgovara jednom potencijalnom (dopustivom) rešenje u pretraživačkom prostoru i ima sledeće elemente 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!

5 Particle Swarm Optimization Neighborhood of a Particle

6 Particle Swarm Optimization Movement of a Particle and Velocity Update

7 Optimizacija zasnovana na rojevima čestica (Particle Swarm Optimization)
PSO radi nad skupom čestica i=1,2,...,N koje čine roj. U fazi inicijalizacije generiše se početni roj (obično na slučajan način). U svakoj iteraciji, svaka čestica iz trenutne prelazi u narednu poziciju na osnovu svog iskustva i iskustva ostalih čestica i koristeći trenutni vektor brzine Ako je nova pozicija čestice bolja od najbolje (lokalne) pozicije čestice, vrši se njeno ažuriranje - Ako je nova pozicija čestice bolja od globalne najbolje pozicije, vrši se njeno ažuriranje Ako je zadovoljen kriterijum zaustavljanja, algoritam staje, a najbolja globalna pozicija čestice se uzima za aproksimaciju optimalnog rešenja

8 Particle Swarm Optimization
ρ1, ρ2 =slučajno izabrane konstante iz [0,1] C1=koeficijent kognitivnog učenja (uticaj iskustva čestice) C2= koeficijent socijalnog učenja (uticaj iskustva roja/okoline)

9 Particle Swarm Optimization
Promena brzine čestice Standardni pristup: Unapređeni pristup: ρ1, ρ2 =slučajno izabrane konstante iz [0,1] C1=koeficijent kognitivnog učenja (uticaj iskustva čestice) C2= koeficijent socijalnog učenja (uticaj iskustva roja/okoline) vrednosti Vi se ograničavaju na segment [-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: Dvonivoski lokacijski probem sa afinitetima klijenata
(Bilevel Uncapacitated Facility Location Problem With Clients’ Preferences ) Notacija: I={1,….,M} skup potencijalnih lokacija za snabdevača J={1,….,N} skup lokacija klijenata C=[cij] matrica troškova; cij ≥ 0 su troškovi pridruživanja klijenta j snabdevaču i fi su troškovi uspostavljanja skladišta na lokaciji iI

11 Primer: Dvonivoski lokacijski probem sa afinitetima klijenata
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 modela: 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 za rešavanje BLUFLP sa preferencama klijenata
Implementirane su tri metaheuristike PSO, SA i VNS za rešavanje ovog problema Metaheuristike su testirane na instancama velikih dimenzija i upoređivani su rezultati i performanse heuristika u pogledu a) kvaliteta rešenja b) brzine izvršavanja Zajedničko kodiranje i računanje funkcije cilja Rešenje je kodirano binarnim nizom dužine M za M=10 primer koda je (izgrađena su skladišta/uspostavljeni snabdevači na lokacijama 2,5,6,8 i 10) Nema nekorektnih kodova!

15 PSO, SA, VNS za rešavanje BLUFLP sa preferencama klijenata
Računanje funkcije cilja se odvija u nekoliko koraka: Korak 1. Iz koda se dobijaju indeksi i1,..., ik izgrađenih skladišta Korak 2. Za svakog klijenta j niz potencijalnih skladišta se sortira u rastućem poretku prema preferencama datog klijenta koje se dobijaju iz matrice G Korak 3. Formira se matrica sortiranih preferenci Gs Korak 4. Za svakog klijenta j prolazimo kroz j-tu vrstu matrice Gs tražeći indeks prvog izgrađenog skladišta, i klijenta j pridružujemo tom skladištu Korak 5. Troškovi pridruživanja se dodaju na sumu troškova pridruživanja (inicijalno postavljena na nulu) Korak 6. Izračunaju se troškovi uspostavljanja skladišta (na osnovu indeksa i1,..., ik iz koda) Korak 7. Troškovi pridruživanja se saberu sa troškovima uspostavljanja skladišta

16 PSO algoritam za rešavanje BLUFLP sa preferencama klijenata
Roj (swarm) se sastoji od S=60 čestica (particles) koje “lete” u M- dimenizionom prostoru Svakoj čestici i, i=1,2,...,S pridružuje se 1) trenutna pozicija xi tj. M-dimenizioni vektor koji odgovara jednom rešenju u prostoru pretrage 2) brzina čestice vi (može se shvatiti kao pravac kretanja čestice) 3) najbolja do sada posećena pozicija čestice bi 4) najbolja do sada posećena pozicija g na nivou celog roja

17 PSO algoritam za rešavanje BLUFLP sa preferencama klijenata
Inicijalizacija: početne pozicije čestica se generišu na slučajan način najbolja lokalne pozicije čestica bi se postavljaju na početne pozicije računa se najbolja globalna pozicija roja g inicijalne brzine čestica se biraju na slučajan način iz (-vmax, vmax) Iterativni niz: U svakoj iteraciji svaka od čestica podešava svoj u brzinu na osnovu svoje trenutne brzine, koristeći sopstveno iskustvo (pozicijama bi) i iskustvu celog roja (pozicija g) Svaka čestica prelazi iz trenutne pozicije u narednu poziciju u pravcu dobijenog vektora brzine

18 PSO algoritam za rešavanje BLUFLP sa preferencama klijenata
Pravac kretanja čestice zavisi od - kognitivnog parametra (cognitive learning parameter) φ p - socijalnog parametra (social learning parameter) φ g - parametar inercije (inertia weight parameter) ω Funkcija Sigmoid (v)=1/(1+exp(-v)) služi da bi normalizovala brzinu u interval (0,1) ; koristi se za diskretne probleme Ako se u datoj iteraciji čestica pomerila na bolju (lokalnu) poziciju, ažurira se najbolja lokalna pozicija i eventualno najbolja globalna pozicija Kriterujum zaustavljanja: najbolje rešenje se nije promenilo tokom određenog broja PSO iteracija (max non-improving iterations)

19

20 PSO algoritam za rešavanje BLUFLP sa preferencama klijenata
Funkcija Sigmoid (v) koristi se u slučaju diskretnih problema Sigmoid (v) =1/(1+exp(-v)) Ova funkcija služi da bi normalizovala brzinu iz intervala [-vmax , vmax]u interval (0,1) Kako je pozicija čestice binarni kod potrebno je Na slucajan nacin se bira se u iz (0,1) Ako je u manje od odgovarajuće vrednosti Sigmoid funkcije , koordinata pozicije dobija vrednost 1, a 0 inače.

21 SA algoritam za rešavanje BLUFLP sa preferencama klijenata
Inicijalna faza SA: Inicijalizuje se početno rešenje ω (binarni niz dužine M) Početno rešenje se generiše na slučajan način Inicijalizuju se SA parametri - početna temperatura - raspored “hlađenja” - broj iteracija SA koji se izvršava pri svakoj temperaturi,... U svakoj iteraciji SA generišemo rešenje ω’ iz okoline tekućeg rešenja ω invertovanjem slučajno izabranog bita

22 SA algoritam za rešavanje BLUFLP sa preferencama klijenata
Kriterijumi za prihvatanje novog rešenja ω’ iz okoline tekućeg rešenja ω: Potezi koji vode ka poboljšanju funkcije cilja se uvek prihvataju Potezi koji ne vode ka poboljšanju funkcije cilja se prihvataju sa određenom verovatnoćom (koja zavisi od trenutne temperature i od stepena degradacije funkcije cilja) Temperatura se snižava nakon dobijanja poboljšanja ili nakon određenog broja iteracija Kriterujum zaustavljanja: najbolje rešenje se nije promenilo tokom određenog broja SA iteracija

23

24 RVNS-VNS algoritam za rešavanje BLUFLP sa preferencama klijenata
Definicija okoline: Rešenje x pripada k-toj okolini rešenja x’ (i obrnuto) ukoliko se njihovi kodovi razlikuju u tačno k bitova RVNS faza: - Početno rešenje x (binarni niz dužine M) se generiše na slučajan način - U svakoj iteraciji RVNS generišemo rešenje x’ iz okoline tekućeg rešenja x invertovanjem slučajno izabranog bita - Inverzije koje vode ka poboljšanju funkcije cilja se prihvataju i azurira se najbolje rešenje Kriterujum zaustavljanja: dostignut maksimalan broj RVNS iteracija Najbolje rešenje dobijeno RVNS algoritmom je početno rešenje VNS algoritma

25 RVNS-VNS algoritam za rešavanje BLUFLP sa preferencama klijenata
VNS faza: -Početno rešenje x dobijeno je iz RVNS faze - Postavljamo red okoline na k=1 - U svakoj iteraciji VNS slučajno biramo rešenje x’ iz k-te okoline tekućeg rešenja x (Shaking phase) - U okolini rešenja x’ tražimo najbolje rešenje x” (Local Search phase) - Ako je novo rešenje x” bolje od najboljeg poznatog, pomeramo se do njega, ažuriramo najbolje rešenje i k vraćamo na 1 - Ukoliko nije, zadržavamo se na x i povećavamo red okoline k=k+1 Kriterujum zaustavljanja: dostignut maksimalan broj VNS iteracija bez poboljšanja

26

27 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

28


Download ppt "Metoda zasnovana na rojevima čestica Particle Swarm Optimization - PSO"

Similar presentations


Ads by Google