粒子群演算法

2021-09-27 13:51:15 字數 1408 閱讀 7775

粒子群演算法

現代演算法分為硬計算和軟計算,這個概念是由美國加州大學的一名教授提出的。硬計算需要建立數學模型,軟計算是一種動態的自適應求解方式,不需要建立深入的數學模型。智慧型演算法都屬於軟計算。

自然界中的一些生物行為特徵呈現群體特徵,可以用簡單的幾條規格將這些群體的行為在計算機中建模,實際上就是在計算機中用簡單的幾條規則建立個體的運動模型。例如使用下面三條簡單的規則來約束乙個群體:

在這個群體中,每個個體都遵循這三條原則,通過這個模型來模擬整個群體的運動。粒子群演算法就是依託群鳥覓食的模型來尋找最優值。

粒子群演算法基本理論

首先我們介紹群鳥覓食模型的理論與作用。

群鳥覓食實際上是乙個最佳決策的過程,與人類決策的過程相似。通常人類在決策的時候會綜合兩個重要資訊:第一種是自己以往的經驗;第二種是其他人的經驗,即從周圍人的行為中獲取知識。

群鳥在覓食的時候,每只鳥的初始狀態處於隨機位置,且飛行方向也是隨機的。每只鳥都不知道食物在**,但是隨著時間的推移,這些鳥類群體通過不斷的探索和資訊共享會朝著目標(食物)前進。每只鳥能通過一定的經驗和資訊估計目前所處的位置對於能尋找到食物有多大的價值,即多大的適應度。每只鳥能記住所找到的最好位置,稱之為區域性最優;群鳥中所有個體所能找到的最好位置,稱之為全域性最優。整個鳥群的覓食都是在不斷地趨向於全域性最優,在生物學中稱為「同步效應」。通過覓食位置的不斷移動,可以使鳥群向食物步步逼近。

粒子群模型

在群鳥覓食的模型中,每個個體可以被看做乙個粒子,則鳥群可以被看成乙個粒子群。假設乙個n維的目標搜尋空間裡,有m個粒子組成乙個群體,其中第i個粒子(i=1,2,…,m)位置表示為xi=(xi1,xi2,xi3, … ,xin),即第i個粒子在n維搜尋空間中的位置是xi。換言之,每個粒子的位置就是乙個潛在解,將xi帶入目標函式就可以計算出其適應值,根據適應值的大小來衡量優劣。設粒子經歷過的最好的位置記作pi=(pi1.pi2, … ,pin),整個種群所有粒子經歷過的最好位置記為pg = (pg1,pg2, … ,pgn),粒子i的速度記為

粒子群演算法採用下面的公式對粒子的位置進行不斷更新

其中,i=1,2,…,m;d=1,2,…,n;ω是非負數,稱為慣性因子;加速常數c1和c2是非負常數;r1和r2是[0,1]f範圍內的隨機數;α稱為約束因子,控制速度的權重。同時我們應該設定最大速度對其個體速度進行約束,可以具體問題具體分析。

迭代的終止條件應該根據具體問題進行設定,一般達到預訂的最大迭代次數或粒子 群目前搜尋到的最優位置滿足目標函式最小容許差誤差。

粒子群演算法優點

不依賴於問題資訊,採用實數進行求解,演算法具有較強的通用性

原理簡單,易於實現,需要調整的引數少

收斂速度快,對計算機的記憶體要求不大

粒子群演算法所具有的飛躍性使得其更容易找到全域性最優值,而不會被困在區域性最優

粒子群優化演算法 粒子群演算法

粒子群演算法 particle swarm optimization,pso 屬於進化演算法的一種,該演算法最初是受到飛鳥集群活動的規律性啟發,進而利用群體智慧型建立的乙個簡化模型。粒子群演算法在對動物集群活動行為觀察基礎上,利用群體中的個體對資訊的共享使整個群體的運動在問題求解空間中產生從無序到有...

粒子群演算法

如前所述,pso模擬鳥群的捕食行為。設想這樣乙個場景 一群鳥在隨機搜尋食物。在這個區域裡只有一塊食物。所有的鳥都不知道食物在那裡。但是他們知道當前的位置離食物還有多遠。那麼找到食物的最優策略是什麼呢。最簡單有效的就是搜尋目前離食物最近的鳥的周圍區域。pso從這種模型中得到啟示並用於解決優化問題。ps...

粒子群演算法

一 粒子群演算法的歷史 粒子群演算法源於複雜適應系統 complex adaptive system,cas cas理論於1994年正式提出,cas中的成員稱為主體。比如研究鳥群系統,每個鳥在這個系統中就稱為主體。主體有適應性,它能夠與環境及其他的主體進行交流,並且根據交流的過程 學習 或 積累經驗...