陳增強,高藝博,陳成功,呂寶源,王心哲
(北京石油化工學院 信息工程學院,北京102617)
?;沸孤┦鹿实陌l(fā)生,可能造成人員和財產的巨大損失。確定泄漏源的源強和位置信息,明確泄漏影響范圍,是對人員和重要財產進行疏散和轉移的關鍵。
泄漏源定位的典型策略有:煙羽跟蹤[1]、多機器人合作[2-4]、概率估計[5]、反算尋優(yōu)[6]等。近些年,許多學者將群智能算法與擴散模型相結合,用于泄漏源定位的研究,如遺傳算法[7]、模擬退火算法[8]、粒子群算法[9]、蟻群算法[10]、果蠅優(yōu)化算法[11]等。由于單一的優(yōu)化算法在泄漏源源強反算中存在一定的局限,許多學者開始關注混合算法,例如:陳增強[12]將遺傳算法和模式搜索算法相結合,用于毒氣泄漏源源強反算,不僅避免了遺傳算法過早收斂問題,而且避免了模式搜索算法對初值敏感的問題;張建文等[13]提出混合遺傳-Nelder Mead單純形算法反算泄漏源源強及位置,通過實驗證明混合后的算法可以快速準確地反算出結果;蔣彥等[14]將差分進化算法和模式搜索算法結合,將差分進化算法計算過程中沒有達到收斂的結果作為模式搜索算法的初始值,計算出最終的結果,提高了算法精度。相關研究表明,通過不同算法的優(yōu)勢互補,可以快速準確地反算出泄漏源源強及位置。
差分進化(Differential Evolution,DE)算法于1997年由Storn等[15]提出,該算法的參數較少,易于實現;但是算法精度不高,尋優(yōu)效果較差,尤其是在算法后期,種群趨于逐漸收斂的狀態(tài),個體間差異性較小,容易造成早熟收斂,搜索停滯的問題[16]。因此本文提出1種混合差分進化-Nelder Mead單純形算法(DE-NM)應用于危化品泄漏源定位。首先用DE算法進行全局尋優(yōu),在執(zhí)行變異、交叉、選擇操作之后,將得到的種群結果作為NM算法的初值,進一步搜索最優(yōu)結果。
(1)
式中:(x0,y0,z0)是泄漏源的位置坐標,m;Q0是泄漏源的源強,g。
利用優(yōu)化算法進行迭代尋優(yōu),使得目標函數值最小的1組參數,就是要求的最優(yōu)泄漏源強和位置。
差分進化算法主要是利用變異、交叉、選擇操作進行優(yōu)化。差分進化算法步驟如下:
1)設置算法參數:種群規(guī)模NP、基因長度D、初始放大因子F0、交叉概率CR、迭代次數iter_max、范圍domx等。
2)初始化種群,隨機生成初始個體,如式(2)所示:
(2)
式中:domx(i,1)是范圍矩陣;rand(NP,1)是隨機函數。
3)計算種群的適應度值,選出當前最優(yōu)個體zbest以及最優(yōu)適應度值bestfitness。
4)迭代開始,先執(zhí)行變異操作。對于當代第i個個體Xi(t),i=1,2,…,NP,進行差分變異如式(3)所示:
Xi(t+1)=Xi(t)+F*[Xj(t)-Xk(t)]
(3)
式中:Xi(t+1)是產生的新個體;Xj(t),Xk(t)表示種群中除去當前個體,隨機選取的2個互不相同的個體;F為放大因子,在此引入1種新的自適應性函數,以提高算法后期的收斂精度。動態(tài)變化的放大因子F表達式如式(4)所示:
F=F0*{exp[iter_max/(iter_max+gen)]-1}
(4)
式中:gen是當前代數。
5)執(zhí)行交叉操作,如式(5)所示:
(5)
6)利用“貪婪原則”進行選擇操作,即在每一次迭代計算中,將當前個體Xi(t)和Xi(t+1)進行適應度函數值的比較,如果Xi(t+1)的適應度值優(yōu)于Xi(t),就代替當前個體成為下一代的父代;否則,直接進入下一代。
7)計算新種群的適應度值,如果優(yōu)于全局最優(yōu)適應度值,則更新全局最優(yōu)解zbest以及最優(yōu)適應度值bestfitness;否則,不更新。
8)判斷是否達到預先設定的最大迭代次數。若達到,則輸出群體最優(yōu)解;否則,返回4)。
(6)
對單純形頂點進行一系列的反射、擴張和收縮操作,如式(7)~(9)所示:
(7)
(8)
(9)
(10)
重復進行反射、擴張和收縮操作,直到構造的單純形滿足要求為止。Nelder等[17]提出了Nelder Mead單純形算法的終止準則,如式(11)所示:
(11)
式中:ε是1個大于0的常數。
DE算法雖然有可能實現全局最優(yōu)解搜索,但也有可能出現過早收斂的弊端;NM算法對初值的要求較高。因此將2種算法結合,首先,利用DE算法進行全局尋優(yōu),執(zhí)行變異、交叉、選擇操作,然后,將得到的新種群作為NM算法的初值,每隔5代執(zhí)行1次NM算法,進一步搜索最優(yōu)結果。DE-NM算法的流程圖如圖1所示。
圖1 混合差分進化-NM單純形算法流程Fig.1 Flow chart of hybrid differential evolution-NM simplex algorithm
高斯瞬時模型如式(12)所示:
(12)
式中:C(x,y,z,t)是(x,y,z)點t時刻的濃度值,g/m3;Q是污染源的釋放強度,即源強,g;(σx,σy,σz)是x,y,z方向濃度分布的標準差,即擴散系數,m;u是風速,m/s;t為釋放經歷的時長,s。擴散系數計算可參考文獻[13]。
(13)
將式(13)代入式(1),則目標函數如式(14)所示:
(14)
為驗證DE-NM算法對危險化學品泄漏源定位的可行性,假設泄漏源強為Q0=2 000 g,泄漏位置為x0=50 m,y0=15 m(考慮地面的情況,設z0=0),大氣穩(wěn)定度為F級,平均風速為2 m/s,時間為100 s。
DE-NM算法的參數設置如下:種群規(guī)模NP=100,基因長度D=3,放大因子F0=0.4,交叉概率CR=0.1,迭代次數iter_max=100。
利用DE-NM算法對目標函數式(14)進行優(yōu)化,得到的反算結果如表1所示。
表1 DE-NM算法反算結果Table 1 Inverse calculation results of DE-NM algorithm
從表1可以看到Q0,x0,y0的反算結果相對誤差分別為3.0%,0.2%,0.7%,反算結果誤差較小,表明利用該算法進行事故源定位能夠較為精確獲取源強和位置信息。
DE-NM算法反算參數Q0、x0,y0的尋優(yōu)過程如圖2所示。圖2中實線表示源強Q0、位置x0,y0的變化,虛線表示對應參數的期望值。從圖2中可見,在搜索過程中3個參數都能夠快速收斂到期望值;搜索過程中即使初值遠離期望值,最終也能夠收斂到期望值。表1和圖2的結果驗證DE-NM算法在?;沸孤┰炊ㄎ粏栴}中的可行性。
圖2 DE-NM算法反算結果尋優(yōu)過程Fig.2 Optimization searching process on inverse calculation results of DE-NM algorithm
由于DE-NM算法初值選取的隨機性,每次運行結果不完全相同。算法獨立運行20次的結果分布如圖3所示。
圖3 DE-NM算法獨立運行20次的結果分布圖Fig.3 Distribution of results of DE-NM algorithm running 20 times independently
從圖3可以看出3個變量20次反算結果離散程度較小,反算結果較為穩(wěn)定。
進一步,表2統(tǒng)計DE-NM算法獨立運行20次得到Q0,x0,y0的平均值、相對誤差以及標準差。
表2的統(tǒng)計結果表明獨立運行20次的平均值相對誤差較小,各參數的標準差也較小,驗證DE-NM算法穩(wěn)定性較好。
表2 DE-NM算法獨立運行20次的結果Table 2 Results of DE-NM algorithm running 20 times independently
為了驗證DE-NM算法的優(yōu)勢,將其結果與DE算法、NM算法進行比較,對比結果如表3所示。DE-NM算法以及DE算法不受初始值的影響,采用隨機生成的方式,NM算法對初始值有較高的要求,因此分別選取距離期望值較近的1組數據以及距離期望值較遠的1組數據。
表3 不同算法的泄漏源反算結果對比Table 3 Comparison on inverse calculation results of leakage source by different algorithms
由表3分析可知:DE-NM算法的反算結果與期望值的誤差較小,反算結果較為精確。NM算法在初值選取接近于期望值時,誤差較?。欢敵踔颠x取遠離期望值時,誤差較大。DE算法的反算結果與期望值誤差較大。比較結果表明DE-NM算法的反算結果,優(yōu)于單獨使用DE算法或單獨使用NM算法的反算結果。
對DE-NM算法中NM算法不同間隔代數的結果進行比較分析,結果比較如表4所示。
表4 執(zhí)行NM算法不同間隔的結果對比Table 4 Comparison on results of NM algorithm executing different intervals
表4結果表明,NM單純形算法執(zhí)行的間隔代數對結果的精度影響較小,在運行時間上有所不同。因此可以根據具體問題對運行時間的要求進行間隔代數的合理選取。
1)利用DE-NM算法對?;沸孤┰催M行定位,可避免DE的過早收斂問題,以及NM的初值依賴性,進而提高定位精度。
2)基于DE-NM算法的定位結果與期望值誤差較小,定位精度較高,并且多次運行結果離散程度較小,算法具有較好的穩(wěn)定性。
3)對比單一算法,DE-NM算法可以快速準確地對泄漏源進行估計,能夠為應急決策提供幫助。