黃珍+潘穎+曹曉麗
摘 要 粒子算法是一種隨機優(yōu)化的技術,它的理論來自于兩位博士在觀察鳥群尋找食物和魚群們學習行為中。這樣的理論,在世界上許多領域都被應用的十分廣泛。而在優(yōu)化的過程之中,粒子群算法很多自己獨特的地方。比如它們需要調整的參數(shù)不多,結構也不復雜,收斂速度快。文章著重介紹對粒子群算法在不同地方的不同作用,討論粒子群算法的改進以及未來的粒子算法的發(fā)展。
關鍵詞 粒子群算法;學習因子;收斂性
中圖分類號:TP301 文獻標識碼:A 文章編號:1671-7597(2014)05-0037-01
在1995年,Ebrhart博士和Kennedy博士在日常的學習觀察中發(fā)現(xiàn)鳥群在尋找自己的食物時,魚群的學習行為。粒子群算法是由幾種思想集合而成。它們分別是生命、鳥群覓食、魚群學習、群理論。它還吸納了進化算法的特長之處。標準粒子群算法也被稱為PSO,它的算法的基本原理十分簡單,它所用到的參數(shù)也很少,在進化初期收斂的速度很快,也相對容易被實現(xiàn)。很多學者對它有極大的關注,在它被第一次提出來的時候。它發(fā)展很快,短短的時間內,就得到極大的發(fā)展。對于不同的需求方向,粒子群優(yōu)化算法有不同的應用。訓練博弈代理、圖像和數(shù)據聚類、優(yōu)化設計、模型選擇、生物信息學、數(shù)據挖掘、機器學習與訓練、模式識別、信號控制、函數(shù)優(yōu)化等等的方面。
1 標準粒子群算法原理
粒子群算法被提出至今,就在數(shù)學家,工程師,物理學家,心理學家等等不同領域的人們中被進行了無數(shù)次的分析,和無數(shù)次的實驗中被進行了無數(shù)次的變形和改造。這些不同領域的人們通過大量實驗得到了十分有益的研究成果很大量有價值的經驗資料。他們也為粒子群算法的發(fā)展提出了很多值得注意的假設和合理的解釋基礎。這些珍貴的資料和合理假設大大推動了粒子群算法的發(fā)展歷程。這些假設還為實際工業(yè)應用開辟了一個新天地。在第一屆國際群智能研討會在美國的印度第安納州開展后,引起的極佳的反響。至此,每年都會舉辦一次群智能國際研討會。因為提供了一個平臺給所有研究它的人,關于PSO的論文如同雨后春筍般越來越多。甚至在我國,PSO的研究也被列為重點項目,并且我國的科研人員已經在這個項目上取得驕人成績。
標準粒子群算法的算法和其他演化算法有很多共同之處,它的理論基礎來自群體,在一個群體范圍中將每一個個體的位置變化都是速度來體現(xiàn)的。在每個單獨的個體都會記錄自己曾經到達的最佳位置在它自己的記憶單元之中。它會改變自己的位置和速度,改變位置和速度是由自己曾經到達的最佳位置和其他粒子到達過的最佳位置來確定的,改變速度和位置從而趨向全局的最優(yōu)值的聚集加速過程。
在標準粒子群優(yōu)化算法中,它是要要求每一個粒子維護兩個向量。它的運動方向和它的速率決定著粒子自身的速度,而粒子所在的位置表示它的解在空間中所處的位置。對比遺傳算法,粒子群算法缺少了一些東西。它們是選擇算子、交叉算子和變異算子。在t+1時刻的速度以及在這個時間段時的位置更新公式為:
Vt+1lid=X@vtid+c1@r1@(pbesttid-xtid)+c2@r2@(gBesttgd-xtida)
Xt+lid=xtid+vt+lid
在上述公式之中,c1和c2是加速系數(shù),也被我們叫做學習因子,而X是慣性權重,r1和r2是兩個(0,1)區(qū)間上的隨機數(shù)。
2 粒子群算法的流程
粒子群算法的基本計算流程是這樣的。第一步,任意初始化的種群中每次粒子自身的速度和粒子自身的位置。而且把單獨個體在曾經達到的最佳值pBest設置為當前位置,并且將群體中的最優(yōu)個體作為當前的gBest。第二步,在每一次的進化中,要去計算每個粒子的適應度函數(shù)值。第三步,計算進行到第三步。就到了非常重要的一步了,可能粒子會出現(xiàn)此時的適應度函數(shù)值比歷史最優(yōu)值都要好,此時就可以用當前的位置去替換這個個體的歷史最優(yōu)值位置。第四步,粒子在歷史上所達到的最優(yōu)值要比全局最優(yōu)值都還要好,就有可能發(fā)生全局的最優(yōu)值被代替的情況。第五步則是對每一個粒子的i的第d維的速度和位置要按照公式去更新計算。第六步是最后一步,在這個時候如果還沒有達成結束的條件,就要跳轉到第二步,否則輸出GBest并且結束計算。
3 粒子群算法的改進
對于不一樣的領域,粒子群算法得到了豐富的應用。但同樣的,粒子群算法也由于自身的原因受到了很多的局限。比如在問題的維數(shù)、粒子的個數(shù)、加速系數(shù)、慣性權重、迭次代次數(shù)等等方面的影響。這些不同方面的影響也許會導致一些問題的產生。例如算法的收斂性,精確性都不能達到應用的要求。要改變粒子群算法的性能,就要通過提高粒子群算法求解最優(yōu)精度問題,粒子群算法是一種隨機性的算法,它在大多數(shù)時間里都被用于優(yōu)化問題,但粒子算法容易進入一個“怪圈”,它的特點是簡單易懂。但它的不足之處也是因為它的參數(shù)少,所以容易得到局部最優(yōu)解。至以于,許多研究者在不同的方面對它進行了深入的探討和改進方法。要去改進粒子群算法,他們從以下幾個大的方面入手。
1)混合其他智能優(yōu)化算法。當我們在進行粒子群全算法時,我們計算的目的和使用進化算法本質上是一致的。但事實上,它們兩個之間存在著很大的不同之處,這是因為它們在被建立之初,建立它們的原理本就不同。其次,這兩種算法的技術方法也存在著很大的不同點。但這不能因為某些方面就認為進化算法沒有一點可取之處。相反的是它們有各自的優(yōu)點與缺點,并且粒子群算法與進化算法這兩種方法被放在一起應用的時候,我們就會得到一個非常準確的計算結果。我國的高海兵研究員,就對此提出了廣義粒子群優(yōu)化模型,這個廣義粒子群優(yōu)化模型非常適用于解決一些特定的優(yōu)化問題,比如組合優(yōu)化的問題。廣義粒子群優(yōu)化模型在本質上是符合粒子群優(yōu)化原則的。除此之外,它還有許多值得注意的技術優(yōu)勢。比如,廣義粒子群優(yōu)化模型的粒子會根據情況來設計更新策略。另外,粒子群算法也和微分進化算法進行混合,同樣也得到了很好的效果。
2)慣性權重改進算法。當慣性權重比普通值還要大的時候,在這個時候非常適合來進行全局搜索。這是因為收斂的速度很快,這樣不容易得到較為精確的結果,反之我們在進行局部搜索是會得到精確的結果,由于收斂速度慢且有時會局部的極值中。由于上述的種種問題,研究員們在對慣性權重研究方向上分為了兩個策略,它們分別為線性策略和非線性策略。線性策略在計算方法上會減輕了經典遞減策略的局限性,在計算方法的自身性質上會得到極大的改善。
4 結束語
經過上述的兩種的改進方法,我們可以得到一個結論,那就是粒子群算法的改進要從混合其他智能優(yōu)化算法和慣性權重改進算法著手。粒子群算法在世界范圍內得到了廣泛的應用,而在現(xiàn)今的研究中,還有許多關于優(yōu)化的問題需要對多個目標同時進行優(yōu)化,所以粒子群算法被利用到多目標優(yōu)化問題。這是未來粒子群算法研究的重點。
參考文獻
[1]金欣磊,馬龍華,吳鐵軍,錢積新.基于隨機過程的PSO收斂性分析[J].自動化學報,2007(12).
[2]劉建華,樊曉平,瞿志華.一種慣性權重動態(tài)調整的新型粒子群算法[J].計算機工程與應用,2007(07).
[3]李寧,孫德寶,鄒彤,等.基于差分方程的PSO算法粒子運動軌跡分析[J].計算機學報,2006(11).endprint