肖楊
摘 要:針對粒子群算法收斂速率慢,多樣性差的缺陷,文中提出了一種簡化的混合粒子群算法。首先利用簡化的粒子群算法和細菌群體趨藥性算法共同優(yōu)化粒子的個體最優(yōu)位置,同時采用精英保留策略以保存粒子的最優(yōu)位置,算法后期再添加全局擾動算子使得粒子跳出局部最優(yōu)。經(jīng)典測試函數(shù)的實驗結(jié)果表明,與其他粒子群優(yōu)化算法相比,此算法在尋找優(yōu)化解的質(zhì)量、收斂速度及魯棒性等方面具有優(yōu)異的性能。
關鍵詞:簡化粒子群算法;細菌群體趨藥性算法;全局擾動;精英保留
中圖分類號:TP301 文獻標識碼:A 文章編號:2095-1302(2017)02-00-02
0 引 言
粒子群算法(Particle Swarm Optimization,PSO)具有參數(shù)少、收斂速度快、計算簡單等優(yōu)點,尤其是在解決復雜的多峰問題上表現(xiàn)出良好的優(yōu)化性能,但其仍然存在早熟收斂的缺陷。為了解決這些問題,各種改進算法被陸續(xù)提出,可將這些算法大致分為如下幾類:
(1)對PSO參數(shù)的更改[1]。主要是針對線性權(quán)重、學習因子的更改;
(2)混合粒子群算法[2];
(3)二進制粒子群算法[3];
(4)協(xié)同粒子群算法[4];
(5)簡化粒子群算法[5,6]。
本文在簡化粒子群算法的基礎上引入細菌群體趨藥性算法(Bacterial Colony Chemotaxis algorithm,BCC)增加粒子的多樣性。通過與幾種經(jīng)典算法比較,發(fā)現(xiàn)該改進算法能夠提高收斂精度,收斂速度快。
1 簡化的混合粒子群算法
1.1 簡化粒子群優(yōu)化算法
傳統(tǒng)的粒子群算法通過速度和位置兩個變量更新本身位置。胡旺[7]等人證明了粒子的更新與速度無關。
1.2 細菌群體趨藥性算法
在BCC算法中,由于其速度設為恒定值,通常取速度為常數(shù),默認其搜索與速度無關,所以BCC算法也只有位置項。因此我們可以把它和PSO算法結(jié)合起來,共同更新粒子的位置信息。
1.3 改進的混合粒子群算法
其中,ω采用隨機慣性權(quán)重的策略。Gbest是全局擾動算子,式中δ1=0.4,δ2=0.001,itermax為最大迭代次數(shù),α取值0.4,學習因子c1=c2=1.494 45。
為了避免傳統(tǒng)算法的隨機性而丟失一些位置較好的點,本文引入精英保留策略,在每次迭代中,改變位置最差粒子的位置,引導其移動到位置最好的粒子附近。
1.4 簡化的混合粒子群算法PSOBCC
具體的更新粒子位置信息過程如下:
(1)均勻初始化初始種群;
(2)按照式(1)、(2)更新粒子位置,選取前sz/2粒子直接進入下一次迭代;
(3)用BCC算法更新表現(xiàn)較差的sz/2個粒子,并與原適應度值進行比較,更新得到粒子的最好位置;
(4)將表現(xiàn)優(yōu)秀的前sz/2個粒子和BCC算法更新后的后sz/2個粒子一起進入下一代;
(5)更新全局最優(yōu)值,并利用公式(3)對全局最優(yōu)值進行擾動;
(6)采用精英保留策略,將最差粒子的位置移動到最好粒子的附近;
(7)若滿足判斷終止條件,則輸出優(yōu)化解,否則轉(zhuǎn)到(2)。
2 仿真實驗及結(jié)果分析
為了驗證算法的可行性,本文選用5個復雜高維多峰函數(shù)進行測試。并引用“區(qū)域尺度”和“中心偏移”方法對5個函數(shù)進行旋轉(zhuǎn)和偏移。相對于原始函數(shù),旋轉(zhuǎn)偏移后的函數(shù)局部最優(yōu)點極多且不確定,求解也變得更加復雜。
2.1 算法參數(shù)設置
在本實驗中,仿真軟件為Matlab R2014a,仿真運行環(huán)境為Windows 7操作系統(tǒng),Intel i3 處理器,4 GB內(nèi)存,所得的測試結(jié)果用PSOBCC表示,并同時與PSO、超球面加速效應粒子群算法(HAEP-SO)、指數(shù)分布粒子群優(yōu)化算法(EPSO)、維分區(qū)和自適應速度控制協(xié)同粒子群算法(CPSO-DA)和適應度距離比率粒子群算法(FDRPSO)進行對比(此處所用數(shù)據(jù)出自文獻[8])。為了保證結(jié)果的可對比性,每個實驗迭代1 000次,每個函數(shù)獨立運行25次,選取粒子數(shù)目為25個,空間維數(shù)30維。其中Mean表示平均值,Std表示標準差。
2.2 測試函數(shù)
測試函數(shù)見表1所列。
2.3 測試結(jié)果
6種算法在原始測試函數(shù)上的測試結(jié)果對比見表2所列。在表2中可以直觀看到,PSOBCC在函數(shù)f1,f3,f4,f5上表現(xiàn)較好,其平均值和標準差均優(yōu)于其他函數(shù)。在f2上CPSO-DA表現(xiàn)較好??傮w而言,在原始測試函數(shù)上,PSOBCC整體性能最優(yōu),每次運行結(jié)果也最為穩(wěn)定。
為了證明本文算法的普遍適用性,對表1中的5個函數(shù)進行旋轉(zhuǎn)和偏移,在相同測試條件下,表3列出了PSOBC和其他對比算法對旋轉(zhuǎn)偏移函數(shù)的測試結(jié)果。從表3可以看出,PSOBC在f2,f3,f4函數(shù)上平均值表現(xiàn)較好,在f1上PSOBCC的標準差最為穩(wěn)定。雖然在f5上表現(xiàn)不足,但總體而言,PSOBCC整體表現(xiàn)優(yōu)異。
3 結(jié) 語
本文可通過去掉速度項來有效降低算法對可調(diào)參數(shù)的敏感程度,同時粒子位置更新策略有效提升了算法的種群多樣性,保存了高性能的粒子,增強了算法搜索到全局最優(yōu)解的能力。
由于本文算法中增加了細菌群體趨藥性算法,算法計算復雜度有所提高,但考慮算法在大部分測試函數(shù)上都能得到理想的結(jié)果。接下來的研究工作包括提高粒子的搜索精度。
參考文獻
[1]溫濤,盛國軍,郭權(quán),等.基于改進粒子群算法的Web服務組合[J].計算機學報,2013,36(5):1031-1046.
[2]黃凱鋒,李莉,李永亮.多種群粒子群與人工蜂群融合的改進算法[J].計算機工程與設計,2014,35(6): 2250-2254.
[3] Mirjalili S,Lewis-A.S-shaped versus V-shaped transfer functions for binary Particle Swarm Optimization[J].Swarm & Evolutionary Computation,2013(9): 1-14.
[4] Hu Y F,Ding Y S,Ren L H,et al.An endocrine cooperative particle swarm optimization algorithm for routing recovery problem of wireless sensor networks with multiple mobile sinks[J].Information Sciences,2015(300):100-113.
[5]周丹,南敬昌,高明明.改進的簡化粒子群算法優(yōu)化模糊神經(jīng)網(wǎng)絡建模[J].計算機應用研究,2015,32(4):1000-1003.
[6]雷敏,楊萬里,彭曉波,等.基于改進簡化粒子群算法的含DG的配電網(wǎng)無功優(yōu)化[J].華北電力大學學報(自然科學版),2015,42(1): 39-44.
[7]胡旺,李志蜀.一種更簡化而高效的粒子群優(yōu)化算法[J].軟件學報,2007,18(4):861-868.
[8]陳偉,項鐵銘,徐捷.基于PSO的隊伍演化算法[J].模式識別與人工智能,2015,28(6): 521-527.
[9]李威武,王慧,鄒志君,等.基于細菌群體趨藥性的函數(shù)優(yōu)化方法[J].新能源進展,2005, 10(1): 58-63.