王麗亞 賀興輝 姜君娜

摘 要:為研究各種各樣的優化問題,文章結合粒子群算法,分別選取一個簡單的三維函數和一個復雜的三維高斯函數為例,分別進行研究,得出:微粒在整個群體的最佳位置與維度、迭代次數和種群數有關,粒子群算法通過減少運算量得到近似解,來達到優化的目的;對于高斯函數而言,其結果表明:紅色越深的點即是微粒的最佳位置。
關鍵詞:粒子群算法;高斯函數
粒子群優化算法是近年來發展起來的一種新的進化算法,源于觀察鳥類的覓食行為,對其進行模擬而提出的。PSO算法比遺傳算法規則更為簡單,參數較少,不過多的依賴于求解問題的信息,并且它沒有遺傳算法的“交叉”和“變異”操作,更具有收斂速度快,全局搜索能力強等優點,它通過追隨當前搜索到的最優值來尋找全局最優,因此具有較強的通用性。
1 PSO算法基本原理的由來
受到鳥類覓食行為的啟發,國內外一些學者提出了一種新的智能優化算法,就是粒子群優化算法。PSO算法是一種隨機性尋優算法,將需要求解的實際問題所需要的空間類比于鳥類覓食飛行的空間,將優化問題所要求的最優解比作鳥類覓食要找的食物,將每只鳥比作質點一樣的微粒,使其在一定的空間、法則來求得最優值。
2 粒子群算法步驟PP[ 1 ]
Step1:對加速常數進行設置并且隨機的開始設置種群中各粒子的位置和速度若所需搜索空間為d維;
Step2:把種群中的各個粒子當前所處的位置及各個微粒目標值儲存于pbest中;
Step3:根據相關公式不斷地重新更新種群中微粒當前的速度和所處的位置;
Step4:對種群中所有的微粒的位置作出評估和分析;
Step5:對種群中每個微粒的當前的目標解與其pbest的目標值進行比較;
Step6:比較種群中微粒的當前所有pbest和gbes的目標值。
3 優化問題數學模型的建立
解決優化問題首先需要建立數學模型,主要包括:目標函數、約束條件和可行域。目標函數一般用表示,兩者并沒有本質區別。
約束條件分為等式約束和不等式約束兩種:
4 基于PSO算法的優化問題
為驗證粒子群算法能否解決優化問題,編寫粒子群算法程序來求解函數優化問題。利用軟件進行編程。
本文先選取一個簡單的三維函數為例:
隨著維度的不同,微粒的初始位置和微粒的初始速度,都存在一個不同的范圍。本文再選取一個三維函數,以高斯函數為例[ 3 ]。運行結果為:
由實驗結果可知:運行剛開始的時候,微粒以低速頻繁運動,見圖中藍色區域;隨后微粒通過共享信息資源,逐漸集中,最后聚集在一小片區域,其變化過程如圖中顏色變化所示,由最開始的深藍、天藍、嫩綠、橘黃、淺紅逐漸變化到深紅。圖中紅色越深的點表示微粒最佳的位置。由此可知,該算法可以解決這一類問題,但仍有需要改進的地方,可進一步研究。
參考文獻:
[1] Singh G,Serra L,Ping W,et al. BrickNet:Sharing object behaviors on the Net [C] //Proc of IEEE VRAIS95.Piscataway,NJ:IEEE,1995:19-25.