26
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

Metoda zasnovana na rojevima čestica Particle Swarm Optimization - PSO

  • Upload
    winka

  • View
    69

  • Download
    1

Embed Size (px)

DESCRIPTION

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). - PowerPoint PPT Presentation

Citation preview

Page 1: 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

Page 2: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

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

Optimizacija zasnovana na rojevima cestica(Particle Swarm Optimization)

Page 3: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

Particle Swarm Optimization

Page 4: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

Optimizacija zasnovana na rojevima čestica(Particle Swarm Optimization)

Inicijalizacija: Na slučajan način generisati čestice i=1,2,...,N koje čine roj česticaSvakoj čestici se pridružuje njena trenutna pozicija (jedno rešenje u pretraživačkom prostoru) i brzinaSvaka čestica pamti svoju najbolju poziciju i najbolju poziciju na nivou roja

Iterativni korak: n = 1, 2, . . .- Svaka čestica iz trenutne prelazi u narednu poziciju na osnovu svog iskustva i iskustva ostalih čestica

- Ako je nova pozicija čestice bolja od lokalne najbolje pozicije čestice, vrši se ažuriranje

- Ako je nova pozicija čestice bolja od globalne najbolje pozicije, vrši se ažuriranje Kraj: Ako je zadovoljen kriterijum zaustavljanja staje se, a najbolja globalna pozicija se uzima za aproksimaciju optimalnog rešenja

Page 5: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

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 (vektore)

xi=trenutna pozicija čestice (trenutno rešenje)vi=brzina, tačnije gradijent (pravac) u kojem bi se čestica kretala bez drugih uticajapi=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!

Page 6: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

Particle Swarm Optimization

Neighborhood of a Particle

Page 7: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

Particle Swarm Optimization

Movement of a Particle and Velocity Update

Page 8: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

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)

Page 9: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

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)vrednosti vi se 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)

Promena brzine česticeStandardni pristup:

Unapređeni pristup:

Page 10: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

Bilevel Uncapacitated Facility Location Problem With Clients’ PreferencesNotacija: 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 iI

Primer: Dvonivoski lokacijski probem sa afinitetima klijenata

Page 11: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

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

Primer: Dvonivoski lokacijski probem sa afinitetima klijenata

Page 12: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

Matematička formulacija problema

Page 13: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

Reformulacija problema

Page 14: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

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 0100110101 (izgrađena su

skladišta/uspostavljeni snabdevači na lokacijama 2,5,6,8 i 10)

Nema nekorektnih kodova!

PSO, SA, VNS za rešavanje BLUFLP sa preferencama klijenata

Page 15: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

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 GKorak 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. Troškovi uspostavljanja skladišta se dodaju na sumu trоškova pridruživanja

PSO, SA, VNS za rešavanje BLUFLP sa preferencama klijenata

Page 16: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

Roj (swarm) se sastoji od S=60 čestica (particles) koje “lete” u M-dimenizionom prostoru

Svakoj čestici i, i=1,2,...,S je predstavljena pridružuje se 1) trenutna pozicija xi tj. M-dimenizioni vektor koji odgovara jednom

rešenju u prostoru pretrage (početne pozicije se generišu na slučajan način) 2) najbolja do sada “posećena” pozicija bi (lokalni minimum) 3) brzina čestice vi

4) najbolja do sada“posećena” pozicija g na nivou celog roja (globalni minimum)

U svakoj iteraciji svaka od čestica podešava svoj pravac (flying direction) prema sopstvenom iskustvu (pozicijama bi) i iskustvu celog

roja (pozicija g)

PSO algoritam za rešavanje BLUFLP sa preferencama klijenata

Page 17: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

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)

PSO algoritam za rešavanje BLUFLP sa preferencama klijenata

Page 18: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO
Page 19: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

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

SA algoritam za rešavanje BLUFLP sa preferencama klijenata

Page 20: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

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

SA algoritam za rešavanje BLUFLP sa preferencama klijenata

Page 21: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO
Page 22: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

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

RVNS-VNS algoritam za rešavanje BLUFLP sa preferencama klijenata

Page 23: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

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

RVNS-VNS algoritam za rešavanje BLUFLP sa preferencama klijenata

Page 24: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO
Page 25: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO

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

Testiranja i poređenje

Page 26: Metoda zasnovana na rojevima čestica  Particle Swarm Optimization  - PSO