王應虎 范勤勤 顏學峰
(華東理工大學化工過程先進控制和優化技術教育部重點實驗室,上海 200237)
粒子群優化(PSO)算法是Kennedy J和Eberhart R在1995年通過模擬鳥群覓食過程中的遷徙和群聚行為而提出的一種基于群體智能的啟發式算法[1]。PSO算法有較快的收斂速度且對非線性、多峰問題具有較強的全局搜索能力,在PID控制器優化及系統辨識等領域得到了廣泛的應用[2~4]。為了提高PSO算法的穩定性并避免早熟收斂,文獻[5]通過一個模糊慣性權重和模糊控制器實現速度和位置的更新;文獻[6]通過K均值分類技術將種群分為3個簇,根據簇中最優和最差粒子的變化實現加速因子自適應;文獻[7]基于相對距離提出了一種自適應參數改進算法,使個體在進化中有不同的慣性權重和社會因子。相關的研究工作均表明:通過算法參數的自適應,可以有效提高PSO算法的尋優性能。但何種自適應策略是算法參數最佳自適應策略仍是一個廣泛研究的問題。
筆者針對PSO算法參數自適應策略進行研究,提出一種多樣性分布參數的粒子群算法(DDPPSO)。該算法在初始化時增加了參數種群,即每個粒子在迭代中擁有自己的控制參數,由當前適應度值確定每個粒子的參數權重,進而計算下一代的控制參數均值,通過控制參數均值與自適應方差的正態分布來產生下一代控制參數,控制參數呈現多樣性分布,使粒子群體與參數群體通過交互協同進化,優秀的參數個體能使粒子獲得良好的進化,粒子的進化性能又作為參數個體多樣性分布的評價,進而為優化算法提供實時的最佳參數,提高算法的搜索性能。假設優化函數為求最小值問題,粒子xi的參數種群為ωiG、c1iG、c2iG,DDPPSO算法的步驟為:
a. 隨機生成粒子種群和參數種群,種群規模為NP,最大進化代數為Gm,當前進化代數G=0;
b. 計算個體適應度值f(xiG),令個體最優值pbestiG=xiG,最小適應度值個體作為種群最優值gbestG;
c. 更新粒子速度和位置;
d. 計算最大適應度值和參數權重;
e. 計算參數的加權平均值;
f. 計算參數的自適應方差;
g. 參數加權平均值與自適應方差通過正態分布產生下一代參數群體,并隨機一對一地分配給粒子種群;
h. 更新局部最優和全局最優;
i. 重復步驟c~h的操作,直到進化代數超過最大進化代數或已找到全局極值。
更新粒子速度和位置的公式為;
viG+1=viG×ω+c1×rand1×(pbesti-xiG)+
c2×rand2×(gbest-xiG)
(1)
xiG+1=xiG+viG+1
(2)
計算最大適應度值和參數權重公式為:
計算參數的加權平均值公式為:
計算參數自適應方差的公式為:
為了實現多樣性分布參數的粒子群算法,對參數的選取進行了多次實驗,主要是參數種群中各個參數初始化的范圍和自適應方差的計算公式。在實驗中,種群大小為40、30維,最大迭代次數為1 000,算法獨立運行20次的均值和方差作為比較結果(表1),其中參數1、2、3分別表示慣性權重、認知因子和社會因子。

表1 參數選取實驗結果
由實驗結果可以看出,在參數初始化中,慣性權重為0~1的均勻分布,認知因子、社會因子為0~4的均勻分布時,方差和均值均最優;在自適應方差中,慣性權重在0.2~0.5之間變化,認知因子、社會因子在0.7~1.0之間變化時結果較好。
為了檢驗DDPPSO算法的全局搜索能力,將DDPPSO算法與4種新改進的粒子群算法進行比較。這4種算法分別是:文獻[8]提出的鄰域搜索多樣性增強的粒子群算法(DNSPSO)、文獻[9]提出的全面學習粒子群算法(CLPSO)、文獻[10]提出的自適應粒子群算法(APSO)和文獻[11]中基于相反學習的粒子群算法(GOPSO)。算法的參數設置如下:種群大小統一為40,維數為30時目標函數評價次數為200 000,維數為100時目標函數評價次數為500 000。為排除隨機性,實驗以30次獨立實驗的統計結果進行分析,各種算法的其他參數設置可參考其文獻。實驗系統基于Intel Core(TM)2 Duo CPU E7500@2.93GHz,2.00GB,Windows7,MATLAB R2010b環境。
表2列出了DDPPSO與對比的4種算法對15個標準測試函數獨立運行30次的均值和方差,除了DDPPSO之外,其他各種算法的結果均來自于文獻[8]。在用于比較的各種算法中,CLPSO和APSO算法在15個測試函數中均未找到最優解,其優化性能較差;GOPSO算法在6個測試函數中找到極值,其尋優性能和優化精度較好;DNSPSO算法在15個測試函數中,有8個測試函數能找到全局極值,3個測試函數搜索結果較好,在尋優精度和穩定性方面有更好的性能;但DDPPSO算法有10個測試函數找到全局極值,有13個測試函數的均值和方差較其他4種算法表現更優,特別在Rosenbrock函數的尋優上有著非常優秀的表現,有兩個測試函數的結果相比文獻最優值較接近。從總體而言,DDPPSO算法比其他4種改進算法在全局搜索和穩定性方面有更強的優勢。

表2 測試函數運行30次的均值和方差
Park和Ramirez提出了生物反應器的優化模型,其物理意義為:生物反應器中酵母菌在生產內源蛋白質時,通過流加的方式為菌體新陳代謝提供補料,過程優化數學模型如下[12]:
maxJ=x1(tf)x5(tf)

使用Runge-Kutta法求解微分方程,計算出J來進行比較,算法獨立運行10次的比較結果見表3。

表3 動態優化結果對比
文獻[14]采用Restricted second-order information法進行求解,因時間劃分越多控制操作越復雜,考慮實際問題,筆者只對區間進行20等分,文獻[14]未記載種群大小和迭代次數。從表4的實驗結果可以看出,在種群規模和迭代次數明顯減少的情況下,DDPPSO所得優化結果較文獻[13~15]有較大改進。可見,利用DDPPSO求解生物反應器的動態優化問題是有效的,解的精度較高而且比較穩定。
基于多樣性分布參數的粒子群算法通過迭代過程中適應度值的變化更新參數權重,在實現在粒子進化尋優的同時,慣性權重和加速因子能實現自適應進化。15個測試函數的仿真研究表明,DDPPSO算法能保證算法的全局尋優性能與局部搜索能力,提高算法的收斂速度和解的精度。最后,將DDPPSO算法應用于生物反應器的動態優化,其結果較文獻報道的數據有較大的提高。
[1] Kennedy J,Eberhart R.Particle Swarm Optimization[C].IEEE International Conference on Neural Networks,IV.Piscataway,NJ:IEEE,1995:1942~1948.
[2] 應明峰,鞠全勇,高峰.基于粒子群優化的PID控制器設計與應用[J].計算機仿真,2012,28(11):283~287.
[3] 黃宇,韓璞,劉長良,等.改進量子粒子群算法及其在系統辨識中的應用[J].中國電機工程學報,2011,31(20):114~120.
[4] 嚴巳杰,胡建華,黃炳瓊,等.基于粒子群優化算法的板翅式換熱器優化設計[J].化工機械,2012,39(1):55~57.
[5] Liu C X,Ouyang C J.An Adaptive Fuzzy Weight PSO Algorithm[C].International Conference on Genetic and Evolutionary Computing.Shenzhen:ICGEC,2010:8~10.
[6] Bao G Q, Mao K F. Particle Swarm Optimization Algorithm with Asymmetric Time Varying Acceleration Coefficients[C]. International Conference on Robotics and Biomimetics.Gulin:ROBIO,2009:2134~2139.
[7] Li G,Xu C.A Novel Particle Swarm Optimization Based on the Self-Adaptation Strategy of Acceleration Coefficients[C]. International Conference on Computational Intelligence and Security.Beijing:Computational Intelligence and Security,2009:277~281.
[8] Wang H,Sun H,Li C G,et al.Diversity Enhanced Particle Swarm Optimization with Neighborhood Search[J].Information Sciences,223:119~135.
[9] Liang J J,Qin A K,Suganthan P N. Comprehensive Learning Particle Swarm Optimizer for Global Optimization of Multimodal Functions[J]. IEEE Transactions on Evolutionary Computation,2006,10(3):281~295.
[10] Zhan Z H,Zhang J,Li Y,et al.Adaptive Particle Swarm Optimization[J].IEEE Transactions on Man and Cybernetics,2009,39(6):1362~1381.
[11] Wang H,Wu Z J,Rahnamayan S,et al.Enhancing Particle Swarm Optimization Using Generalized Opposition-based Learning[J]. Information Sciences,2011,181(20):4699~4714.
[12] 林可鴻,賀益君,陳德釗.混合優化人工免疫網絡用于過程動態優化[J].浙江大學學報(工學版),2008,42(12):2181~2186.
[13] 莫愿斌,陳德釗,胡上序.混沌粒子群算法及其在生化過程動態優化中的應用[J].化工學報,2006,57(9):2123~2127.
[14] Balsa-Canto E,Banga J R,Alonso A A, et al.Dynamic Optimization of Chemical and Biochemical Processes Using Restricted Second-order Information[J]. Computers & Chemical Engineering,2001,25(4):539~546.
[15] 劉賀同,莫愿斌.粒子群復形法求解生物反應器的補料優化[J].機床與液壓,2007,35(5):94~97.