Documente Academic
Documente Profesional
Documente Cultură
particule
(Particle Swarm Optimization)
Rețele Neuronale & Tehnici de Calcul Evolutiv
Laborator 6
Algoritmul PSO
• La un moment dat de timp t, fiecare particulă este caracterizată de
trei vectori care definesc:
• poziția curentă a particulei în spațiul n – dimensional al problemei
Xi ( t ) = xi ,1 ( t ) , xi ,2 ( t ) ,..., xi ,k ( t ) ,..., xi ,n ( t )
G b (t ) = [ gb ,1 (t ), gb ,2 (t ),..., gb ,k (t ),...gb ,n (t )]
Algoritmul PSO
P1. Stabilirea parametrilor algoritmului
• dimensiunea roiului de particule –Dr (DimRoi)
• numărul maxim de iterații – Tmax
• coeficienții de încredere – C1 și C2
• coeficientul de limitare a vitezei – α
Algoritmul PSO
P2. Inițializarea roiului de particule
Se inițializează roiul de particule cu valori generate aleator:
• pentru pozițiile particulelor – cuprinse în intervalul [Xmin ; Xmax], folosind relația:
Xi ( t ) dacă yi ( t ) yP ,i ( t − 1)
PB ,i ( t ) =
PB ,i ( t − 1) dacă yi ( t ) yP ,i ( t − 1)
yi ( t ) dacă yi ( t ) yP ,i ( t )
y P ,i ( t ) =
yP ,i ( t − 1) dacă yi ( t ) yP ,i ( t )
Algoritmul PSO
P3. Evaluarea fiecărei particule
Se determină Gb (t)
yi ( t ) dacă yi ( t ) yG ( t − 1)
yG ( t ) =
yG ( t − 1) dacă yi ( t ) yG ( t − 1)
Xi ( t ) dacă yi ( t ) yG ( t − 1)
GB ( t ) =
GB ( t − 1) dacă yi ( t ) yG ( t − 1)
Algoritmul PSO
P4. Modificarea poziției și vitezei particulelor
DACĂ t < Tmax
ATUNCI
Modifică viteza și poziția fiecărei particule conform relațiilor
Vi (t + 1) = wVi (t ) + C1r1 ( Pbi (t ) − Vi (t )) + C2 r2 (G b (t ) − Vi (t ))
Xi (t + 1) = Xi (t ) + Vi (t + 1)
Stabilește t =t+1
Se revine la pasul 3
ALTFEL
Stop
Algoritmul PSO
Parametrizarea algoritmului roiului de particule
Se recomandă modificarea valorii parametrului w în mod dinamic pe parcursul
procesului de optimizare folosind o relație de forma:
t
w(t ) = wmax − ( wmax − wmin )
Tmax
wmax = 0.9 wmin = 0.4
C1, C2 ∈ [0,2]