粒子群演算法 PSO 詳解以及使用

2021-10-09 17:40:39 字數 1517 閱讀 7199

根據名字: 粒子群優化,其實就界定了該演算法是作為乙個優化演算法的,優化的目的是什麼?使得某個loss 函式最小或者最大吧,這裡可以容易使人聯想到梯度下降求最小值(缺陷較為明顯->有可能在區域性達到最小或者最大,並且不適用於帶約束條件的問題,優點就是:容易實現,演算法思路簡單。),於是我們現在考慮pso,該演算法能夠適應於帶約束條件的問題的求解。

主要參考

很容易得出:演算法本身僅僅依賴於函式和約束條件,和之前你使用的任何樣本資料都無關。

演算法如下:

foreach particle i = 1, …, sdo

initialize the particle』s position with a uniformly distributed random vector:xi ~ u(blo,bup)

initialize the particle』s best known position to its initial position:pi ←xi

iff(pi) < f(g)then

update the swarm』s best known position:gpi

initialize the particle』s velocity:vi ~ u(-|bup-blo|, |bup-blo|)

whilea termination criterion is not metdo:

foreach particle i = 1, …, sdo

foreach dimension d = 1, …, ndo

pick random numbers: r

p, r

g ~ u(0,1)

update the particle』s velocity:vi,d ← ωvi,d + φp

rp (pi,d-xi,d) + φg

rg (gd-xi,d)

update the particle』s position:xi ←xi +lr vi

iff(xi) < f(pi)then

update the particle』s best known position:pi ←xi

iff(pi) < f(g)then

update the swarm』s best known position:gpi

應用到具體例項中,各個引數的實際意義:

(待實現)

可以先參考:

粒子群(pso)演算法

一 粒子群演算法的概念 粒子群優化演算法 pso particle swarm optimization 是一種進化計算技術 evolutionary computation 源於對鳥群捕食的行為研究。粒子群優化演算法的基本思想 是通過群體中個體之間的協作和資訊共享來尋找最優解 pso的優勢 在於簡...

粒子群演算法 PSO

1995年美國社會心理學家kennedy和電氣工程師eberhart共同提出粒子群優化演算法 particle swarm optimization,pso pso演算法的基本思想利用生物學家heppner的生物群體模型,模擬鳥類覓食過程。鳥類飛行過程相互交流,當乙個鳥飛向棲息地時,其他鳥兒也會跟著...

粒子群優化演算法 PSO

粒子群優化演算法 pso particle swarm optimization 是一種進化計算技術 evolutionary computation 源於對鳥群捕食的行為研究。粒子群優化演算法的基本思想 是通過群體中個體之間的協作和資訊共享來尋找最優解 pso的優勢 在於簡單容易實現並且沒有許多引...