資源描述:
《粒子群優(yōu)化算法(PSO)綜述介紹》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、粒子群優(yōu)化算法(ParticleSwarmOptimization——PSO),是由J.Kennedy和R.C.Eberhart于1995年提出的一種基于種群的隨機的優(yōu)化算法。背景知識:JamesKennedyRussellEberhartPSO算法基于早期的Boids模型,這個模型由CraigW.Reynolds建立,最初是為了圖形化的模擬鳥群的運動而設(shè)計的。該模型滿足三條基本規(guī)則:1.分隔規(guī)則:當(dāng)個體與某些鄰居靠的太近的時候就會盡量避開。2.匹配規(guī)則:每個個體的飛行方向盡量同周圍的鄰居的飛行方向保持一致。3.吸引規(guī)則:
2、每個個體都要盡量靠近他的鄰居所在的中心位置?;谶@個模型,給每個個體一個隨機的初始速度和位置,程序運行的每一步都根據(jù)以上三條規(guī)則迭代,很快就會使得所有點的速度變得一樣。由于Boids模型太簡單而且遠離真實情況,于是Heppner對該模型進行了改進,提出了一個“谷地”模型,用來模擬鳥類的覓食行為。假設(shè)在平面上存在一個“谷地”,即食物所在地,鳥群開始時隨機的分散在平面上,尋找食物時鳥群按照如下三條規(guī)則運動:1.每個個體都會被谷地的位置吸引;2.每個個體會記住在運動過程中離“谷地”最近的點;3.每個個體會將自己離“谷地”最近的點
3、分享給其他個體。用當(dāng)前位置到谷地的距離:來衡量當(dāng)前位置和速度的“好壞程度”,離谷地的距離越近,則越“好”,反之越“壞”。由于每只鳥都能記住自己到達的最優(yōu)位置pbest,并且每只鳥都能同種群中其他鳥通信,能夠知道種群中的最優(yōu)位置gbest,則它們的速度會按照如下公式變化:在計算機上模擬該模型的結(jié)果顯示:當(dāng)g_increment較大時,所有的個體很快地聚集到“谷地”上;反之,粒子緩慢地搖擺著聚集到“谷地”的四周。受此模型啟發(fā)Kennedy和Eberhart設(shè)計出了一種演化優(yōu)化算法,并通過不斷的試驗和試錯,最后將此算法的基本型固
4、定為:形成了PSO算法的最初版本。對公式的說明:分別稱為“認知學(xué)習(xí)因子”和“社會學(xué)習(xí)因子”取值一般取2;為0-1之間的一個隨機值。對公式的說明:第一部分為微粒先前行為的慣性。表示微粒依據(jù)自身的速度進行慣性運動。對公式的說明:第二部分取決于微粒當(dāng)前位置與自身最優(yōu)位置之間的距離,為“認知(cognition)”部分,表示微粒本身的思考。對公式的說明:第三部分取決于微粒當(dāng)前位置與群體中全局(或局部)最優(yōu)位置之間的距離,為“社會(social)”部分,表示微粒間的信息共享與相互合作。算法思想:1.初始化種群數(shù)量,使他們隨機的分布在
5、平面上;2.根據(jù)模型評估每個粒子的位置;3.如果一個粒子當(dāng)前的位置比它之前的的位置好,則記錄下新位置,記為pbest;4.確定種群中最好的粒子的位置,記為gbest;5.根據(jù)公式:更新每個粒子的速度;6.根據(jù)公式:更新每個粒子的位置;7.返回第2步重新迭代,直到滿足停止條件;2.根據(jù)模型評估每個粒子的位置;3.如果一個粒子當(dāng)前的位置比它之前的的位置好,則記錄下新位置,記為pbest;4.確定種群中最好的粒子的位置,記為gbest;5.根據(jù)公式:更新每個粒子的速度;6.根據(jù)公式:更新每個粒子的位置;7.返回第2步迭代,直到滿
6、足停止條件。算法改進:初始算法提出不久之后就出現(xiàn)了一種改進算法,在速度迭代公式中引入了慣性權(quán)重ω,速度迭代公式變?yōu)椋簯T性權(quán)重ω在迭代過程中一般在0.9-0.4之間呈線性遞減。雖然該改進算法與初始版本相比復(fù)雜程度并沒有太大的增加,但是性能卻有了很大的提升,因而被廣泛使用。帶收縮因子的PSO算法:收縮因子保證了收斂性并提高了收斂速度。顯然,該迭代公式和標準迭代公式相比并無本質(zhì)區(qū)別,只要適當(dāng)選取參數(shù),二者完全相同。局部PSO算法:在全局版本中,微粒跟蹤的兩個極值為自身最優(yōu)位置pbest和種群最優(yōu)位置gbest。對應(yīng)的,在局部版本
7、中,微粒除了追隨自身最優(yōu)位置pbest之外,不跟蹤種群最優(yōu)位置gbest,而是跟蹤拓撲鄰域中的所有微粒的最優(yōu)位置lbest。PSO算法的優(yōu)缺點:PSO算法的優(yōu)點在于不要求被優(yōu)化函數(shù)具有可微、可導(dǎo)、連續(xù)等性質(zhì),收斂速度較快,算法簡單,容易編程實現(xiàn)。該算法也存在很明顯的缺點:1.對于有多個局部極值點的函數(shù),容易陷入到局部極值點中,得不到正確的結(jié)果;2.PSO算法并沒有很充分地利用計算過程中獲得的信息,因此,往往不能得到精確的結(jié)果;3.PSO算法雖然提供了全局搜索的可能,但是并不能保證收斂到全局最優(yōu)點上;4.PSO算法是一種啟發(fā)
8、式的仿生優(yōu)化算法,目前還沒有嚴格的理論基礎(chǔ)。謝謝大家!2012年9月14日