粒子群算法(Particle Swarm Optimization,PSO)是一種模仿鳥群、魚群覓食行為發展起來的一種進化算法。其概念簡單易于程式設計實作且運作效率高、參數相對較少,應用非常廣泛。粒子群算法于1995年提出。
粒子群算法是優化算法中最簡單,最沒有心機的算法了,也是入門優化算法的不二選擇。
設想這樣一個場景:一群鳥在随機搜尋食物,在這個區域裡隻有一塊食物,所有的鳥都不知道食物在哪裡,但是它們知道目前的位置離食物還有多遠。最簡單有效的政策?尋找鳥群中離食物最近的個體來進行搜素。PSO算法就從這種生物種群行為特性中得到啟發并用于求解優化問題。
用一種粒子來模拟上述的鳥類個體,每個粒子可視為N維搜尋空間中的一個搜尋個體,粒子的目前位置即為對應優化問題的一個候選解,粒子的飛行過程即為該個體的搜尋過程.粒子的飛行速度可根據粒子曆史最優位置和種群曆史最優位置進行動态調整.粒子僅具有兩個屬性:速度和位置,速度代表移動的快慢,位置代表移動的方向。每個粒子單獨搜尋的最優解叫做個體極值,粒子群中最優的個體極值作為目前全局最優解。不斷疊代,更新速度和位置。最終得到滿足終止條件的最優解。
求解例子
https://blog.csdn.net/qq_27755195/article/details/62216762