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
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
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)
Particle Swarm Optimization
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
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!
Particle Swarm Optimization
Neighborhood of a Particle
Particle Swarm Optimization
Movement of a Particle and Velocity Update
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)
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:
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
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
Matematička formulacija problema
Reformulacija problema
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
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
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
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
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
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
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
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
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