王應(yīng)虎 范勤勤 顏學(xué)峰
(華東理工大學(xué)化工過程先進(jìn)控制和優(yōu)化技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,上海 200237)
粒子群優(yōu)化(PSO)算法是Kennedy J和Eberhart R在1995年通過模擬鳥群覓食過程中的遷徙和群聚行為而提出的一種基于群體智能的啟發(fā)式算法[1]。PSO算法有較快的收斂速度且對(duì)非線性、多峰問題具有較強(qiáng)的全局搜索能力,在PID控制器優(yōu)化及系統(tǒng)辨識(shí)等領(lǐng)域得到了廣泛的應(yīng)用[2~4]。為了提高PSO算法的穩(wěn)定性并避免早熟收斂,文獻(xiàn)[5]通過一個(gè)模糊慣性權(quán)重和模糊控制器實(shí)現(xiàn)速度和位置的更新;文獻(xiàn)[6]通過K均值分類技術(shù)將種群分為3個(gè)簇,根據(jù)簇中最優(yōu)和最差粒子的變化實(shí)現(xiàn)加速因子自適應(yīng);文獻(xiàn)[7]基于相對(duì)距離提出了一種自適應(yīng)參數(shù)改進(jìn)算法,使個(gè)體在進(jìn)化中有不同的慣性權(quán)重和社會(huì)因子。相關(guān)的研究工作均表明:通過算法參數(shù)的自適應(yīng),可以有效提高PSO算法的尋優(yōu)性能。但何種自適應(yīng)策略是算法參數(shù)最佳自適應(yīng)策略仍是一個(gè)廣泛研究的問題。
筆者針對(duì)PSO算法參數(shù)自適應(yīng)策略進(jìn)行研究,提出一種多樣性分布參數(shù)的粒子群算法(DDPPSO)。該算法在初始化時(shí)增加了參數(shù)種群,即每個(gè)粒子在迭代中擁有自己的控制參數(shù),由當(dāng)前適應(yīng)度值確定每個(gè)粒子的參數(shù)權(quán)重,進(jìn)而計(jì)算下一代的控制參數(shù)均值,通過控制參數(shù)均值與自適應(yīng)方差的正態(tài)分布來(lái)產(chǎn)生下一代控制參數(shù),控制參數(shù)呈現(xiàn)多樣性分布,使粒子群體與參數(shù)群體通過交互協(xié)同進(jìn)化,優(yōu)秀的參數(shù)個(gè)體能使粒子獲得良好的進(jìn)化,粒子的進(jìn)化性能又作為參數(shù)個(gè)體多樣性分布的評(píng)價(jià),進(jìn)而為優(yōu)化算法提供實(shí)時(shí)的最佳參數(shù),提高算法的搜索性能。假設(shè)優(yōu)化函數(shù)為求最小值問題,粒子xi的參數(shù)種群為ωiG、c1iG、c2iG,DDPPSO算法的步驟為:
a. 隨機(jī)生成粒子種群和參數(shù)種群,種群規(guī)模為NP,最大進(jìn)化代數(shù)為Gm,當(dāng)前進(jìn)化代數(shù)G=0;
b. 計(jì)算個(gè)體適應(yīng)度值f(xiG),令個(gè)體最優(yōu)值pbestiG=xiG,最小適應(yīng)度值個(gè)體作為種群最優(yōu)值gbestG;
c. 更新粒子速度和位置;
d. 計(jì)算最大適應(yīng)度值和參數(shù)權(quán)重;
e. 計(jì)算參數(shù)的加權(quán)平均值;
f. 計(jì)算參數(shù)的自適應(yīng)方差;
g. 參數(shù)加權(quán)平均值與自適應(yīng)方差通過正態(tài)分布產(chǎn)生下一代參數(shù)群體,并隨機(jī)一對(duì)一地分配給粒子種群;
h. 更新局部最優(yōu)和全局最優(yōu);
i. 重復(fù)步驟c~h的操作,直到進(jìn)化代數(shù)超過最大進(jìn)化代數(shù)或已找到全局極值。
更新粒子速度和位置的公式為;
viG+1=viG×ω+c1×rand1×(pbesti-xiG)+
c2×rand2×(gbest-xiG)
(1)
xiG+1=xiG+viG+1
(2)
計(jì)算最大適應(yīng)度值和參數(shù)權(quán)重公式為:
計(jì)算參數(shù)的加權(quán)平均值公式為:
計(jì)算參數(shù)自適應(yīng)方差的公式為:
為了實(shí)現(xiàn)多樣性分布參數(shù)的粒子群算法,對(duì)參數(shù)的選取進(jìn)行了多次實(shí)驗(yàn),主要是參數(shù)種群中各個(gè)參數(shù)初始化的范圍和自適應(yīng)方差的計(jì)算公式。在實(shí)驗(yàn)中,種群大小為40、30維,最大迭代次數(shù)為1 000,算法獨(dú)立運(yùn)行20次的均值和方差作為比較結(jié)果(表1),其中參數(shù)1、2、3分別表示慣性權(quán)重、認(rèn)知因子和社會(huì)因子。
表1 參數(shù)選取實(shí)驗(yàn)結(jié)果
由實(shí)驗(yàn)結(jié)果可以看出,在參數(shù)初始化中,慣性權(quán)重為0~1的均勻分布,認(rèn)知因子、社會(huì)因子為0~4的均勻分布時(shí),方差和均值均最優(yōu);在自適應(yīng)方差中,慣性權(quán)重在0.2~0.5之間變化,認(rèn)知因子、社會(huì)因子在0.7~1.0之間變化時(shí)結(jié)果較好。
為了檢驗(yàn)DDPPSO算法的全局搜索能力,將DDPPSO算法與4種新改進(jìn)的粒子群算法進(jìn)行比較。這4種算法分別是:文獻(xiàn)[8]提出的鄰域搜索多樣性增強(qiáng)的粒子群算法(DNSPSO)、文獻(xiàn)[9]提出的全面學(xué)習(xí)粒子群算法(CLPSO)、文獻(xiàn)[10]提出的自適應(yīng)粒子群算法(APSO)和文獻(xiàn)[11]中基于相反學(xué)習(xí)的粒子群算法(GOPSO)。算法的參數(shù)設(shè)置如下:種群大小統(tǒng)一為40,維數(shù)為30時(shí)目標(biāo)函數(shù)評(píng)價(jià)次數(shù)為200 000,維數(shù)為100時(shí)目標(biāo)函數(shù)評(píng)價(jià)次數(shù)為500 000。為排除隨機(jī)性,實(shí)驗(yàn)以30次獨(dú)立實(shí)驗(yàn)的統(tǒng)計(jì)結(jié)果進(jìn)行分析,各種算法的其他參數(shù)設(shè)置可參考其文獻(xiàn)。實(shí)驗(yàn)系統(tǒng)基于Intel Core(TM)2 Duo CPU E7500@2.93GHz,2.00GB,Windows7,MATLAB R2010b環(huán)境。
表2列出了DDPPSO與對(duì)比的4種算法對(duì)15個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)獨(dú)立運(yùn)行30次的均值和方差,除了DDPPSO之外,其他各種算法的結(jié)果均來(lái)自于文獻(xiàn)[8]。在用于比較的各種算法中,CLPSO和APSO算法在15個(gè)測(cè)試函數(shù)中均未找到最優(yōu)解,其優(yōu)化性能較差;GOPSO算法在6個(gè)測(cè)試函數(shù)中找到極值,其尋優(yōu)性能和優(yōu)化精度較好;DNSPSO算法在15個(gè)測(cè)試函數(shù)中,有8個(gè)測(cè)試函數(shù)能找到全局極值,3個(gè)測(cè)試函數(shù)搜索結(jié)果較好,在尋優(yōu)精度和穩(wěn)定性方面有更好的性能;但DDPPSO算法有10個(gè)測(cè)試函數(shù)找到全局極值,有13個(gè)測(cè)試函數(shù)的均值和方差較其他4種算法表現(xiàn)更優(yōu),特別在Rosenbrock函數(shù)的尋優(yōu)上有著非常優(yōu)秀的表現(xiàn),有兩個(gè)測(cè)試函數(shù)的結(jié)果相比文獻(xiàn)最優(yōu)值較接近。從總體而言,DDPPSO算法比其他4種改進(jìn)算法在全局搜索和穩(wěn)定性方面有更強(qiáng)的優(yōu)勢(shì)。
表2 測(cè)試函數(shù)運(yùn)行30次的均值和方差
Park和Ramirez提出了生物反應(yīng)器的優(yōu)化模型,其物理意義為:生物反應(yīng)器中酵母菌在生產(chǎn)內(nèi)源蛋白質(zhì)時(shí),通過流加的方式為菌體新陳代謝提供補(bǔ)料,過程優(yōu)化數(shù)學(xué)模型如下[12]:
maxJ=x1(tf)x5(tf)
使用Runge-Kutta法求解微分方程,計(jì)算出J來(lái)進(jìn)行比較,算法獨(dú)立運(yùn)行10次的比較結(jié)果見表3。
表3 動(dòng)態(tài)優(yōu)化結(jié)果對(duì)比
文獻(xiàn)[14]采用Restricted second-order information法進(jìn)行求解,因時(shí)間劃分越多控制操作越復(fù)雜,考慮實(shí)際問題,筆者只對(duì)區(qū)間進(jìn)行20等分,文獻(xiàn)[14]未記載種群大小和迭代次數(shù)。從表4的實(shí)驗(yàn)結(jié)果可以看出,在種群規(guī)模和迭代次數(shù)明顯減少的情況下,DDPPSO所得優(yōu)化結(jié)果較文獻(xiàn)[13~15]有較大改進(jìn)。可見,利用DDPPSO求解生物反應(yīng)器的動(dòng)態(tài)優(yōu)化問題是有效的,解的精度較高而且比較穩(wěn)定。
基于多樣性分布參數(shù)的粒子群算法通過迭代過程中適應(yīng)度值的變化更新參數(shù)權(quán)重,在實(shí)現(xiàn)在粒子進(jìn)化尋優(yōu)的同時(shí),慣性權(quán)重和加速因子能實(shí)現(xiàn)自適應(yīng)進(jìn)化。15個(gè)測(cè)試函數(shù)的仿真研究表明,DDPPSO算法能保證算法的全局尋優(yōu)性能與局部搜索能力,提高算法的收斂速度和解的精度。最后,將DDPPSO算法應(yīng)用于生物反應(yīng)器的動(dòng)態(tài)優(yōu)化,其結(jié)果較文獻(xiàn)報(bào)道的數(shù)據(jù)有較大的提高。
[1] Kennedy J,Eberhart R.Particle Swarm Optimization[C].IEEE International Conference on Neural Networks,IV.Piscataway,NJ:IEEE,1995:1942~1948.
[2] 應(yīng)明峰,鞠全勇,高峰.基于粒子群優(yōu)化的PID控制器設(shè)計(jì)與應(yīng)用[J].計(jì)算機(jī)仿真,2012,28(11):283~287.
[3] 黃宇,韓璞,劉長(zhǎng)良,等.改進(jìn)量子粒子群算法及其在系統(tǒng)辨識(shí)中的應(yīng)用[J].中國(guó)電機(jī)工程學(xué)報(bào),2011,31(20):114~120.
[4] 嚴(yán)巳杰,胡建華,黃炳瓊,等.基于粒子群優(yōu)化算法的板翅式換熱器優(yōu)化設(shè)計(jì)[J].化工機(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] 林可鴻,賀益君,陳德釗.混合優(yōu)化人工免疫網(wǎng)絡(luò)用于過程動(dòng)態(tài)優(yōu)化[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2008,42(12):2181~2186.
[13] 莫愿斌,陳德釗,胡上序.混沌粒子群算法及其在生化過程動(dòng)態(tài)優(yōu)化中的應(yīng)用[J].化工學(xué)報(bào),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] 劉賀同,莫愿斌.粒子群復(fù)形法求解生物反應(yīng)器的補(bǔ)料優(yōu)化[J].機(jī)床與液壓,2007,35(5):94~97.