袁 巖,曹萃文
(華東理工大學(xué) 化工過(guò)程先進(jìn)控制和優(yōu)化技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,上海 200237)
群體生物有各自獨(dú)特的群體規(guī)律性,學(xué)者們根據(jù)這些規(guī)律發(fā)掘出眾多群智能優(yōu)化算法[1-3]。這些算法常被應(yīng)用于復(fù)雜數(shù)學(xué)求解問(wèn)題[4,5]和實(shí)際工程建模優(yōu)化[6-8]問(wèn)題,并取得了很好的效果?;依撬惴╗9](grey wolf optimizer,GWO)作為新型的仿生智能優(yōu)化算法之一,因其算法結(jié)構(gòu)清晰、靈活,調(diào)節(jié)參數(shù)較少,尋優(yōu)精度相對(duì)較高等優(yōu)點(diǎn)被許多研究學(xué)者廣泛采用。為進(jìn)一步提升灰狼算法的性能,文獻(xiàn)[10]提出了基于末尾探索者策略的改進(jìn)灰狼算法,此算法提升了算法規(guī)避局部最優(yōu)的能力;文獻(xiàn)[11]提出了基于貪婪思想和變異策略的改進(jìn)灰狼算法,此算法提升了標(biāo)準(zhǔn)灰狼算法開發(fā)能力不足的問(wèn)題。以上提出的兩種改進(jìn)方式都在一定程度上解決標(biāo)準(zhǔn)灰狼算法的全局勘探開發(fā)能力,但是以上改進(jìn)的兩種方式中位置更新策略和標(biāo)準(zhǔn)灰狼算法的位置更新策略大致相同,仍然存在容易陷入局部最優(yōu)解的可能,算法的開發(fā)能力還有提升的空間。
針對(duì)以上問(wèn)題,提出了一種改進(jìn)的多策略灰狼算法(multi-strategy grey wolf optimizer,MSGWO)。MSGWO算法在標(biāo)準(zhǔn)GWO算法基礎(chǔ)上,在算法初始化階段加入對(duì)立搜索策略,在迭代計(jì)算過(guò)程中引入正弦余弦搜索策略和自適應(yīng)局部搜索策略,加強(qiáng)算法全局探索開發(fā)能力、收斂速度和尋優(yōu)精度。最后將MSGWO算法應(yīng)用于8個(gè)測(cè)試函數(shù)的求解問(wèn)題和加氫裂化數(shù)據(jù)建模參數(shù)的優(yōu)化問(wèn)題,對(duì)該算法的有效性和實(shí)際工程應(yīng)用效果進(jìn)行驗(yàn)證。
(1)包圍獵物
當(dāng)狼群發(fā)現(xiàn)獵物時(shí),灰狼會(huì)迅速向獵物前進(jìn),其灰狼的位置更新及灰狼與獵物的距離如式(1)-式(3)描述(設(shè)搜索空間為d維)
X(t)={Xi(t)|i=1,2,…,d}
(1)
(2)
X(t+1)=XP(t)-AD
(3)
其中,t表示當(dāng)前迭代次數(shù),X(t)表示第t代灰狼的位置向量,D表示灰狼與獵物間的距離向量,XP(t)表示第t代獵物的位置向量(用當(dāng)前種群的當(dāng)前最優(yōu)解代入),C和A為系數(shù)變量,分別由式(5)和式(6)計(jì)算得到
(4)
C=2r2
(5)
A=2ar1-a
(6)
其中,a在迭代過(guò)程中按式(4)線性從2降到0,max_it為最大迭代次數(shù),r1和r2為[0,1]上均勻分布的隨機(jī)數(shù)。
(2)追捕獵物
當(dāng)狼群包圍獵物以后,狩獵行為開始,根據(jù)適應(yīng)度排序得到最優(yōu)解Xα、次優(yōu)解Xβ和當(dāng)前第三優(yōu)解Xδ。其中α、β、δ灰狼的位置更新如式(8),剩下灰狼的位置更新受到α、β、δ灰狼的引導(dǎo),其更新方式如式(9)所述
(7)
X1=Xα-ADαX2=Xβ-ADβX3=Xδ-ADδ
(8)
(9)
(3)攻擊獵物
如上所述,待獵物停止移動(dòng)時(shí),灰狼開始攻擊獵物。此過(guò)程可用數(shù)學(xué)描述為,A為[-a,a]之間的一個(gè)隨機(jī)值,當(dāng)A的值在[-1,1]范圍之外時(shí),搜索代理可以在灰狼當(dāng)前位置和獵物位置之間的任意位置進(jìn)行局部搜索,當(dāng)A的值在[-1,1]范圍之內(nèi)時(shí),灰狼必須攻擊獵物。
GWO算法初始化種群位置采用的是隨機(jī)初始化的方式,隨機(jī)初始化種群個(gè)體位置有可能導(dǎo)致可行解的搜索范圍變大,搜索時(shí)間延長(zhǎng),搜索速度較慢等缺點(diǎn),進(jìn)而影響整個(gè)算法的收斂速度。
本文在隨機(jī)初始化的基礎(chǔ)上添加對(duì)立搜索策略,其基本思想是在隨機(jī)初始化的種群個(gè)體時(shí),產(chǎn)生其對(duì)立個(gè)體,并將對(duì)立個(gè)體和此隨機(jī)初始化個(gè)體進(jìn)行適應(yīng)度評(píng)價(jià)對(duì)比,當(dāng)對(duì)立個(gè)體適應(yīng)度評(píng)價(jià)優(yōu)于此個(gè)體時(shí)就采用此個(gè)體,否則使用隨機(jī)初始化的個(gè)體。數(shù)學(xué)表達(dá)式如下
(10)
其中,Ub、Lb為X的上下界,X(0)為初始化位置向量
(11)
在GWO算法中,狼群的位置更新主要受到α、β、δ灰狼的引導(dǎo),為提高GWO算法搜索精度,本文引入Seyedali Mirjalili的正余弦搜索算法[12]。即狼群在α、β、δ灰狼按式(9)的引導(dǎo)進(jìn)行位置更新之后,再進(jìn)行一次正弦余弦搜索。正弦余弦搜索的數(shù)學(xué)表達(dá)式如下
(12)
(13)
(14)
r4∈(0,360°)
(15)
式中:r3隨迭代次數(shù)的增加而自適應(yīng)減少,a為常數(shù)此處取值為2。r5,r6為[0,1]上的均勻分布的隨機(jī)數(shù)。正余弦交叉搜索策略可以防止算法早熟從而提高算法的尋優(yōu)精度。
為提高GWO算法規(guī)避局部最優(yōu)的能力,提出自適應(yīng)局部搜索策略。GWO算法將α狼的位置作為算法的最優(yōu)解,加入自適應(yīng)局部搜索策略后,對(duì)最優(yōu)位置Xα進(jìn)行局部搜索,即在最優(yōu)位置進(jìn)行鄰域搜索。最后將得到的新的最優(yōu)解的鄰域值與最優(yōu)解逐個(gè)進(jìn)行適應(yīng)度比較,選取適應(yīng)度好的個(gè)體作為新的最優(yōu)解。
在迭代更新過(guò)程中,鄰域搜索范圍也會(huì)隨迭代次數(shù)逐漸縮小,平衡了搜索速度和尋優(yōu)精度,達(dá)到自適應(yīng)搜索的目的,其數(shù)學(xué)表達(dá)式如式(16)描述
Xα(t+1)=(1-ε)Xα(t)+εRand
(16)
式中:ε為自適應(yīng)系數(shù),其元素值由式(17)決定
(17)
其中,Rand為d維的向量,其向量元素值為[0,1]上的均勻分布的隨機(jī)數(shù)。
MSGWO算法的計(jì)算步驟如下:
(1)設(shè)置種群規(guī)模、最大迭代次數(shù)、待優(yōu)化問(wèn)題維度;
(2)初始化種群位置,對(duì)隨機(jī)初始化位置進(jìn)行對(duì)立搜索計(jì)算,比較隨機(jī)初始值和對(duì)立值的適應(yīng)度值,選取適應(yīng)度好的種群個(gè)體作為初始化種群;
(5)對(duì)狼群個(gè)體進(jìn)行適應(yīng)度排序得到最優(yōu)個(gè)體,對(duì)最優(yōu)個(gè)體位置進(jìn)行一次局部自適應(yīng)搜索,并計(jì)算其適應(yīng)度與最優(yōu)值進(jìn)行比較,選取適應(yīng)度好的解作為新的最優(yōu)個(gè)體;
(6)判斷運(yùn)算結(jié)果是否滿足終止條件,滿足則算法結(jié)束,否則轉(zhuǎn)至步驟(2)。
為檢驗(yàn)改進(jìn)后的灰狼算法性能,選取表1中的8個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)進(jìn)行測(cè)試。仿真實(shí)驗(yàn)采用的計(jì)算機(jī)配置詳細(xì)情況為:CPU為Intel Core i7-8550U,主頻為2.0 GHz,16 G RAM,操作系統(tǒng)為Microsoft Windows10 64位操作系統(tǒng)。計(jì)算環(huán)境為Matlab2017(b)。實(shí)驗(yàn)測(cè)試中為檢驗(yàn)改進(jìn)算法對(duì)不同維度問(wèn)題的處理能力,依次對(duì)表1中的8個(gè)測(cè)試函數(shù)分別進(jìn)行20、30、50維測(cè)試。首先將MSGWO算法測(cè)試結(jié)果與GWO算法測(cè)試結(jié)果對(duì)比分析如圖1中的8個(gè)收斂曲線圖所示。然后將MSGWO算法和粒子群算法(particle swarm,optimization,PSO)、人工蜂群算法(artificial bee colony,ABC)、改進(jìn)人工蜂群算法(improved artificial bee colony,I-ABC)對(duì)比分析,算法尋優(yōu)求解結(jié)果使用求解平均值(Mean)和標(biāo)準(zhǔn)差(Std)作為對(duì)比指標(biāo)在表2中展示,其中ABC、I-ABC算法中的數(shù)據(jù)源自文獻(xiàn)[13]。
表1 無(wú)約束測(cè)試函數(shù)
為客觀公正評(píng)價(jià)算法的性能,對(duì)算法選取以下的參數(shù)設(shè)置:4個(gè)算法種群規(guī)模均設(shè)置為40,最大40 000次適應(yīng)度評(píng)價(jià),分別獨(dú)立運(yùn)行50次取平均值。運(yùn)行結(jié)果見表2,黑體加粗?jǐn)?shù)據(jù)表示MSGWO算法較GWO算法尋優(yōu)結(jié)果更好。
(1)由表2可以看出,MSGWO算法相比較GWO算法對(duì)8個(gè)測(cè)試函數(shù)在20、30、50維尋得7次最優(yōu),尤其對(duì)f1、f2、f3、f6、f8測(cè)試函數(shù)尋優(yōu)時(shí),尋優(yōu)精度提升明顯,說(shuō)明改進(jìn)后的算法是有效的。表2數(shù)據(jù)顯示,在測(cè)試函數(shù)高維(50維)尋優(yōu)求解時(shí),MSGWO算法同樣表現(xiàn)出色。
(2)標(biāo)準(zhǔn)差用于反映算法求解尋優(yōu)的穩(wěn)定性,由表2的標(biāo)準(zhǔn)差列數(shù)據(jù)對(duì)比可以看出,MSGWO算法對(duì)8個(gè)測(cè)試函數(shù)的標(biāo)準(zhǔn)差值7次小于GWO算法,說(shuō)明MSGWO算法的穩(wěn)定性較好。
圖1 測(cè)試函數(shù)的收斂效果
(3)圖1中8個(gè)收斂曲線圖顯示,對(duì)于8個(gè)測(cè)試函數(shù)的20維、30維、50維等3個(gè)不同維度上的求解計(jì)算,MSGWO 算法收斂速度均快于GWO算法的收斂速度,表明MSGWO算法的收斂速度較快,改進(jìn)效果很好。
(4)表2可以得到,MSGWO算法對(duì)Rastrigin、Griewank兩個(gè)測(cè)試函數(shù)取得全局最優(yōu)值,對(duì)于測(cè)試函數(shù)Schwefel,GWO算法求解時(shí)易陷入局部最優(yōu),而MSGWO算法能夠跳出局部最優(yōu)更接近理論最優(yōu)值,說(shuō)明改進(jìn)灰狼算法采用局部自適應(yīng)搜索策略能夠一定程度上規(guī)避局部最優(yōu)解,從而提升算法的全局勘探開發(fā)能力。
支持向量機(jī)(support vector machine,SVM)是一種二分類算法模型,采用最大間隔的學(xué)習(xí)策略,是數(shù)據(jù)驅(qū)動(dòng)建模技術(shù)中的一種重要方法。最小二支持向量機(jī)(least squares support vector machine,LSSVM)是SVM的改進(jìn),把SVM中的優(yōu)化約束中的不等式約束轉(zhuǎn)化為等式約束問(wèn)題,避免了求解二次規(guī)劃問(wèn)題,降低了計(jì)算復(fù)雜性,使得易于實(shí)際應(yīng)用和大規(guī)模的數(shù)據(jù)建模場(chǎng)景。LSSVM優(yōu)化問(wèn)題的數(shù)學(xué)描述為:
設(shè)有n個(gè)樣本組成的樣本訓(xùn)練集
T={(xk,yk)|xk∈Rn,yk∈R,k=1,2,…,n}
(18)
其中,xk為輸出向量,yk為輸出變量。
可以構(gòu)造一個(gè)分類函數(shù)
y(x)=wTφ(x)+b
(19)
其中,b為偏置變量,φ(·)∶Rn→Rnk為非線性映射函數(shù),即將原輸入特征空間映射到一個(gè)高維特征空間,w∈Rnk為權(quán)重系數(shù)向量。
那么LSSVM的最優(yōu)化目標(biāo)問(wèn)題可以表述為
表2 算法優(yōu)化對(duì)比結(jié)果
表2(續(xù))
(20)
為解決該最優(yōu)化問(wèn)題構(gòu)建拉格朗日函數(shù)為
L(w,b,,k))
(21)
對(duì)其求偏導(dǎo)數(shù),得到
(22)
通過(guò)引入核函數(shù)
K(xk,xl)=φ(xk)·φ(xl),k,l=1,2,…,n
(23)
擴(kuò)展到非線性領(lǐng)域,可獲得線性方程組
(24)
通過(guò)上式,可以求得LSSVM的模型
(25)
其中本文中選用的函數(shù)為高斯徑向基核函數(shù)
(26)
單段串聯(lián)加氫裂化工藝原理:原料油與氫氣經(jīng)加熱爐后進(jìn)入加氫精制反應(yīng)器、加氫裂化反應(yīng)器進(jìn)行加氫精致、加氫裂化反應(yīng)。反應(yīng)產(chǎn)物降溫后經(jīng)熱高壓分離器后進(jìn)入冷高壓分離器進(jìn)行油、水、氣三相分離。冷高壓分離器底部的生成油經(jīng)減壓后送入低壓分離器,其流出物進(jìn)入汽提塔,塔底流出物經(jīng)加熱后送入分餾塔,得到輕石腦油、重石腦油、航空煤油、柴油以及渣油[14,15]。
根據(jù)加氫裂化工藝原理以及使用Aspen Hysys模擬加氫裂化工藝流程靈敏度分析,得到影響加氫裂化產(chǎn)品產(chǎn)量以及產(chǎn)品性質(zhì)的主要操作條件是[16]:原料油流量、反應(yīng)氫油比、反應(yīng)空速、反應(yīng)壓力、新氫補(bǔ)充量、循環(huán)氫耗量、反應(yīng)器1床層1溫度、反應(yīng)器1床層2溫度、反應(yīng)器2床層1溫度、反應(yīng)器2床層2溫度,所以選取以上10個(gè)變量作為數(shù)據(jù)建模的輸入變量。選取航空煤油產(chǎn)量、航空煤油硫含量、航空煤油氮含量、航空煤油烷烴量、柴油產(chǎn)量、柴油硫含量、柴油氮含量、柴油烷烴含量共計(jì)8個(gè)輸出變量作為預(yù)測(cè)目標(biāo)變量。
實(shí)驗(yàn)數(shù)據(jù)為某煉油廠實(shí)際采集的288組數(shù)據(jù),隨機(jī)選取220組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,剩余68組數(shù)據(jù)作為測(cè)試數(shù)據(jù)集。為說(shuō)明改進(jìn)算法的有效性,本文在Matlab2017(b)環(huán)境下,構(gòu)建以下5種預(yù)測(cè)模型:①BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型;②RBF神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型;③PSO-LSSVM預(yù)測(cè)模型;④GWO-LSSVM預(yù)測(cè)模型;⑤MSGWO-LSSVM預(yù)測(cè)模型等共5個(gè)加氫裂化裝置產(chǎn)品預(yù)測(cè)模型。
建模過(guò)程中的參數(shù)設(shè)置為:BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)率為0.1,神經(jīng)網(wǎng)絡(luò)訓(xùn)練次數(shù)為1000;為保證所建模型使用算法對(duì)比的公平性,PSO、GWO、MSGWO等優(yōu)化算法種群數(shù)統(tǒng)一設(shè)置為40,算法迭代次數(shù)均設(shè)置為500次。
預(yù)測(cè)目標(biāo)誤差選擇:誤差評(píng)價(jià)指標(biāo)選擇平均絕對(duì)誤差(mean absolute deviation,MAD),相對(duì)平均百分誤差(mean absolute percentage error,MAPE)和均方根誤差(root mean square error,RMSE),其計(jì)算方式分別如式(27)-式(29)所示
(27)
(28)
(29)
目標(biāo)函數(shù):待優(yōu)化的LSSVM模型的參數(shù)為式(20)中懲罰因子γ, 以及式(26)中核參數(shù)σ, 參數(shù)區(qū)間設(shè)置為γ∈[0.01 500],σ∈[0.01 30], 優(yōu)化的目標(biāo)函數(shù)為
(30)
PSO、GWO、MSGWO算法尋優(yōu)γ和σ結(jié)果見表3。
表3 算法尋優(yōu)γ和σ結(jié)果
本文選用MAPE和RMSE作為預(yù)測(cè)效果檢驗(yàn)指標(biāo),預(yù)測(cè)結(jié)果見表4,黑體表示4種模型中結(jié)果最優(yōu)值。其中表4中以“D_”開頭表示柴油性質(zhì),以“J_”開頭表示航煤油性質(zhì)。預(yù)測(cè)效果如圖2所示(為使圖形清晰直觀,程序中選取68組測(cè)試數(shù)據(jù)集中的前20組數(shù)據(jù)作圖分析對(duì)比)。
表4 5種預(yù)測(cè)模型預(yù)測(cè)對(duì)比結(jié)果
由表4和圖2可以看出,相比較其它4種預(yù)測(cè)模型,對(duì)于8個(gè)預(yù)測(cè)目標(biāo)變量在MAPE和RMSE兩個(gè)指標(biāo)上MSGWO-LSSVM模型的預(yù)測(cè)精度6次最好,在航煤油氮含量預(yù)測(cè)上MAPE指標(biāo)不是最好但是和其它模型相比差距很小,
圖2 各模型預(yù)測(cè)值對(duì)比
RMSE指標(biāo)相對(duì)其它預(yù)測(cè)模型是最小的。在柴油硫含量預(yù)測(cè)上RMSE指標(biāo)不是最好的,但是MAPE指標(biāo)是最小的。說(shuō)明所建MSGWO-LSSVM模型的預(yù)測(cè)效果是比較好的,具有一定的預(yù)測(cè)價(jià)值。這也進(jìn)一步說(shuō)明MSGWO算法在解決實(shí)際工程應(yīng)用上的有效性和可行性。
本文針對(duì)GWO算法開發(fā)能力不足、收斂速度慢、易陷入局部最優(yōu)等問(wèn)題,提出了MSGWO算法,主要進(jìn)行以下3個(gè)方面的改進(jìn):加入對(duì)立搜索策略進(jìn)行種群位置初始化;加入正弦余弦搜索策略,提高算法的尋優(yōu)精度和開發(fā)探索能力;加入自適應(yīng)局部搜索策略,以提高算法的全局搜索能力防止陷入局部最優(yōu)。使用8個(gè)Benchmark函數(shù)對(duì)MSGWO算法進(jìn)行實(shí)驗(yàn)測(cè)試,并與GWO算法以及PSO、ABC、I-ABC算法進(jìn)行比較,仿真實(shí)驗(yàn)結(jié)果表明,MSGWO算法在求解精度和收斂速度以及尋優(yōu)穩(wěn)定性上表現(xiàn)較好。
最后將MSGWO算法用于加氫裂化數(shù)據(jù)建模參數(shù)優(yōu)化問(wèn)題,建立MSGWO-LSSVM加氫裂化產(chǎn)品預(yù)測(cè)模型,并和其它4種預(yù)測(cè)模型對(duì)比分析,仿真結(jié)果說(shuō)明MSGWO-LSSVM模型的預(yù)測(cè)精度較高,可靠性好。此模型可以較準(zhǔn)確地預(yù)測(cè)出在操作工況條件變化下加氫裂化裝置產(chǎn)品的產(chǎn)量以及產(chǎn)品性質(zhì),進(jìn)一步驗(yàn)證了算法的有效性。