- PSO算法使用如下心理學假設:在尋求一致的認知過程中,個體往往記住自身的信念,並同時考慮同事們的信念。當其察覺同事的信念較好的時候,將進行適應性地調整。
- 標準PSO的算法流程如下:
a). 初始化一羣微粒(羣體規模爲m),包括隨機的位置和速度;
b). 評價每個微粒的適應度;
c). 對每個微粒,將它的適應值和它經歷過的最好位置pbest的作比較,如果較好,則將其作爲當前的最好位置pbest;
d). 對每個微粒,將它的適應值和全局所經歷最好位置gbest的作比較,如果較好,則重新設置gbest的索引號;
e). 根據如下更新公式變化微粒的速度和位置;
f). 如未達到結束條件(通常爲足夠好的適應值或達到一個預設最大代數Gmax),回到b)。 - 更新公式:
a).速度:
Vid=ωVid+C1random(0,1)(Pid−Xid)+C2random(0,1)(Pgd−Xid)
b).位置:Xid=Xid+Vid
式中,ω 爲慣性因子,C1,C2 爲加速常數(又名學習因子),一般C1=C2∈[0,4] ,Pid 表示第i 個變量的個體極值的第d 維。 - 慣性權值取值策略
目前,採用較多的慣性權值是 Shi 建議的線性遞減權值(Linearly Decreasing Weight,簡稱 LDW)策略,即
w=(wint−wend)(Tmax−t)/Tmax+wend
式中,Tmax 爲最大進化代數,wint 爲初始慣性權值,wend 爲進化至最大迭代數時的慣性權值。 - PSO經常會與其他一些算法進行結合,以下爲兩篇與梯度結合的論文
1 陳旭. 基於進化計算的動態多目標優化方法研究[D]. 華東理工大學, 2015.
2 王俊偉, 汪定偉. 一種帶有梯度加速的粒子羣算法[J]. 控制與決策, 2004, 19(11):1298-1300.
PSO粒子羣算法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.