粒子群演算法又稱粒子優化、粒子群最佳化
Kennedy and Eberhart在觀察鳥兒飛行和魚兒游泳的群體習性中所發展出來的一種基於群體協作的隨機搜尋演算法。其主要其主要的概念是利用一顆顆單獨的粒子模擬鳥兒,鳥兒會各自去尋找食物,漸漸的鳥兒會開始聚集到食物較多較好覓食的區域,而鳥兒找尋食物進而群體朝著同一方式移動,並會告訴其他鳥兒訊息,使得所有的鳥兒都會集中在最佳的覓食區域。
目前此項概念也應用在系統控制、路徑規劃和辨識技術上等等的應用。
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閱讀