iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 29
0
AI & Data

GA Note - 基因演算法的世界系列 第 29

【Day29】GA with you - Particle Swarm Optimization Algorithm 粒子群演算法

粒子群演算法

粒子群演算法又稱粒子優化粒子群最佳化
Kennedy and Eberhart在觀察鳥兒飛行和魚兒游泳的群體習性中所發展出來的一種基於群體協作的隨機搜尋演算法。其主要其主要的概念是利用一顆顆單獨的粒子模擬鳥兒,鳥兒會各自去尋找食物,漸漸的鳥兒會開始聚集到食物較多較好覓食的區域,而鳥兒找尋食物進而群體朝著同一方式移動,並會告訴其他鳥兒訊息,使得所有的鳥兒都會集中在最佳的覓食區域。

目前此項概念也應用在系統控制路徑規劃辨識技術上等等的應用。

Pseudocode 虛擬碼

while
    for  i=1,2,...,n      // 每個粒子,粒子數量 n
        if f(i)<y then    // 設定每個個體的最佳位置
            y=f(i);
        end
        if y<Y then
            Y=y;
        end
    end
    for  i=1,2,...,n      // 每個粒子,粒子數量 n
        UpdateSpeed();    // 更新速度
        UpdateLocation(); // 更新位置
    end
end while // 滿足終止條件

終止條件和基因演算法的終止條件相似
可以設定迭代的次數、適應程度等等
可依據需求來設定


說實在,我真的沒有想到可以堅持到這一天
今天是第29天了
第一次參賽堅持到此
期待在明天與大家迎來第30天的完賽之日><


相關參考資料
莊凱智(2011)。應用改良式粒子群演算法於旅行銷售員問題。工程科技與教育學刊, 2011, 8.3: 533-546.
粒子群優化演算法-MBA智庫
基本粒子群優化演算法(PSO)的matlab實現 - IT閱讀


上一篇
【Day28】GA with you - Simulation Annealing 模擬退火法
下一篇
【Day30】GA with you - Final Day
系列文
GA Note - 基因演算法的世界30

尚未有邦友留言

立即登入留言