PSO粒子羣算法

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