黃浪塵, 許 諾, 張 誠
(湖南工業(yè)大學(xué)電氣與信息工程學(xué)院,湖南 株洲 412007)
實驗室中的實驗用品種類繁多、關(guān)系復(fù)雜,生物、化學(xué)等專業(yè)的實驗室更是不乏有毒有害、易燃易爆的實驗試劑與實驗氣體[1],一旦發(fā)生意外事故導(dǎo)致實驗氣體泄漏,短時間內(nèi)很難察覺并排除,這給實驗人員的安全帶來了極大的隱患[2]。對于泄漏氣體源的定位、排查成為處理氣體泄漏事故的關(guān)鍵,應(yīng)用準(zhǔn)確高效的氣體源定位算法可有效降低事故危害。
當(dāng)前泄漏氣體源定位方法主要有無線傳感器網(wǎng)絡(luò)法[3-4]、機器人定位法[5-6]、無人機定位法[7]等。機器人定位法主要應(yīng)用于二維平面,不易推廣到三維空間,且機器人移動受地形影響較大,存在搜索死角;無人機定位法不易在充滿障礙物的室內(nèi)飛行,且在飛行過程中有可能引爆泄露的易燃易爆氣體;無線傳感器網(wǎng)絡(luò)法相對而言具有部署成本低、符合三維空間氣體擴散特性、受室內(nèi)地形與障礙物影響較小等優(yōu)點。無線傳感器網(wǎng)絡(luò)(wireless sensor network,WSN)利用分布式氣體傳感器監(jiān)測室內(nèi)多個固定位置的氣體濃度,根據(jù)氣體濃度與相應(yīng)監(jiān)測傳感器的空間坐標(biāo)對泄漏氣體源進行源強反算[8]。常見的源強反算算法包括三邊定位法、最小二乘法、加權(quán)質(zhì)心法等。近年來,有關(guān)群智能算法的研究逐漸深入,將群智能算法應(yīng)用于氣體源定位問題取得了重要成果[9]。
在無風(fēng)條件下,鄭艷華等[10]采用加權(quán)質(zhì)心法對室內(nèi)泄漏氣體源進行定位,根據(jù)多個傳感器的測量值與權(quán)重得到預(yù)測源點,以預(yù)測源點為中心遍歷周圍小塊區(qū)域,搜索出最符合實際測量值的位置作為定位結(jié)果;黃曉明等[11]提出一種基于傳感網(wǎng)絡(luò)和種群保優(yōu)破壞自我修復(fù)的改進遺傳算法,通過破壞傳統(tǒng)遺傳算法的自修復(fù)機制抑制種群早熟收斂,更為準(zhǔn)確地定位泄漏氣體源。在有風(fēng)條件下,陳立偉等[12]依據(jù)氣體濃度測量結(jié)果得到泄漏氣體源潛在范圍,采用最小二乘法遍歷潛在范圍中的位置,求取泄漏氣體源坐標(biāo)最優(yōu)解;張苗苗等[13]提出一種改進的加權(quán)質(zhì)心定位算法,根據(jù)風(fēng)速對氣體擴散的影響,將風(fēng)速作為權(quán)值因子,可適用不同風(fēng)速和風(fēng)向場景下泄漏氣體源定位。本文提出一種基于風(fēng)場特征與bounding-box方法的改進遺傳粒子群(Genetic Algorithm-Particle Swarm Optimization,GAPSO)算法。在三維風(fēng)場空間中,將改進算法與多種定位算法相對比,測試表明,本文提出的改進算法在定位準(zhǔn)確度和定位效率兩方面都普遍優(yōu)于常規(guī)算法。
氣體擴散模型應(yīng)根據(jù)環(huán)境條件和氣體泄漏特點建立。在無風(fēng)環(huán)境下,當(dāng)泄漏氣體是連續(xù)泄漏點源時,氣體擴散模型一般采用源于高斯模型的氣體湍流擴散模型。根據(jù)菲克擴散定律可推導(dǎo)出無風(fēng)條件下的經(jīng)典氣體擴散方程
式中:C(x,y,z,t)為t 時刻(x,y,z)坐標(biāo)處的氣體濃度,mg/m3;k為擴散系數(shù),m2/s。
從初始時刻t0開始,在初始位置(x0,y0,z0)處,氣體以源強Q向周圍擴散,由初始條件可推導(dǎo)出氣體擴散函數(shù)
式中:d 為(x,y,z)到初始位置(x0,y0,z0)的距離;erfc(·)為誤差補償函數(shù)。
在實際監(jiān)測定位時,通常氣體擴散已達(dá)到平衡狀態(tài),在氣體擴散函數(shù)中表現(xiàn)為t→∞,因此可將函數(shù)簡化為
圖1 為無風(fēng)情況下在泄漏點源平面上擴散氣體的濃度分布情況。
圖1 無風(fēng)情況下擴散氣體的濃度分布
無風(fēng)擴散模型常受到實際應(yīng)用場景限制,模型實用性較差。在實際氣體監(jiān)測場景下,自然風(fēng)對氣體擴散的影響通常難以忽略,有風(fēng)條件下的氣體擴散方程
式中,v為三維風(fēng)速向量(vx,vy,vz)。
與無風(fēng)擴散模型同理,根據(jù)式(4)推導(dǎo)出有風(fēng)情況下氣體擴散公式
式中,Δr為(x,y,z)指向(x0,y0,z0)的方向向量。
圖2 所示為當(dāng)v =vx時在泄漏點源平面上擴散氣體的濃度分布情況。
圖2 有風(fēng)情況下擴散氣體的濃度分布
圖2 對應(yīng)的有風(fēng)情況下氣體擴散公式
將PSO算法應(yīng)用于氣體源定位問題,PSO 算法初始化生成n個粒子,則第t代第i個粒子的位置信息和移動速度分別為:
迭代時粒子速度更新與粒子位置更新分別為:
式中:ω 為慣性權(quán)重;c1、c2為個體認(rèn)知參數(shù)與社會認(rèn)知參數(shù);r1、r2為隨機數(shù);pbiest、gbest為個體最優(yōu)粒子與全局最優(yōu)粒子。
設(shè)n個監(jiān)測結(jié)點與某個粒子的空間距離分別為d1、d2、…、dn,由式(3)、(5)得到以該粒子位置為氣體源情況下各個監(jiān)測結(jié)點處的理論氣體濃度c1、c2、…、cn。n個監(jiān)測結(jié)點處實際測量的氣體濃度值為C1、C2、…、Cn,將適應(yīng)度函數(shù)f定義為濃度誤差之和,即
由適應(yīng)度函數(shù)定義可知,粒子的適應(yīng)度值越小,粒子距離氣體泄漏點越近。
每代粒子迭代完成后根據(jù)適應(yīng)度值更新個體最優(yōu)解pbesti、全局最優(yōu)解gbest,不斷迭代直至達(dá)到最大迭代次數(shù)T。
在基本PSO算法中選擇性地引入GA算法中的交叉、變異、自然選擇操作。令適應(yīng)度較優(yōu)的粒子之間相互交叉,加快局部收斂速度;令適應(yīng)度較差粒子自我變異,提高全局搜索能力[14]。在交叉操作中,隨機交換兩個粒子的x、y或z坐標(biāo)值;在變異操作中,根據(jù)變異概率隨機改變粒子的坐標(biāo)值。即:
式中:Pc為粒子交叉概率;Pm為粒子變異概率;fmax為每一代粒子最大適應(yīng)度值;fmin為每一代粒子最小適應(yīng)度值。
在改進算法中,粒子群在每一代實際上進行了2次種群迭代。第1 次是粒子根據(jù)慣性參數(shù)、個體認(rèn)知、社會認(rèn)知對粒子速度和位置進行迭代;第2 次是交叉變異后種群擴增,通過自然選擇淘汰適應(yīng)度值較差粒子;為減少計算以提高算法效率,兩次迭代只需要在自然選擇時計算1 次適應(yīng)度值,同時更新全局與個體最優(yōu)粒子,在下一輪根據(jù)適應(yīng)度值對粒子采取交叉或變異操作時,仍使用原適應(yīng)度值。第1 次迭代在上一輪產(chǎn)生的相對適應(yīng)度值較優(yōu)的種群中進行,為避免種群陷入局部最優(yōu)解,應(yīng)提高慣性權(quán)重、個體認(rèn)知的比重,進而提高算法的全局搜索能力。第2 次迭代有幾率更新當(dāng)前種群最優(yōu)粒子,并且淘汰了當(dāng)前種群中已知的較差粒子,避免較差粒子影響種群下一代整體適應(yīng)度值。
利用傳統(tǒng)的群智能算法進行源強反算需要在整個氣體泄漏空間內(nèi)進行搜索,而遠(yuǎn)離氣體源的適應(yīng)度值平庸的粒子耗費了大量的計算資源,導(dǎo)致算法收斂速度慢、搜索效率低。為提高粒子群搜索的目的性,利用bounding-box 方法對搜索空間進行優(yōu)化處理,當(dāng)前提出的bounding-box方法大多都應(yīng)用于二維平面區(qū)域,與三維空間下氣體源泄漏問題的實際研究場景不符,基于此提出一種三維bounding-box 方法,并利用該方法優(yōu)化粒子群搜索空間。
如圖3 所示,在三維bounding-box方法中,假設(shè)傳感器si監(jiān)測到的濃度值為ci,通過式(3)、(5)反算出氣體源與傳感器si的距離di,以傳感器si為中心構(gòu)建出棱長為2λdi的立方體空間,利用WSN 中所有立方體空間的重疊部分構(gòu)建出bounding-box 空間。定義λ為拓展系數(shù),氣體源通常位于立方體空間的邊界處,以一定比例拓展每個立方體空間的范圍,使氣體源盡可能落于bounding-box 空間范圍內(nèi)。若WSN 包括n 個傳感器,則bounding-box空間中的點(x,y,z)滿足:
圖3 bounding-box空間示意
確定bounding-box 空間后首先初始化粒子群,由于氣體源實際位置落在bounding-box空間內(nèi)的概率較大,故將初始粒子群生成位置限定在bounding-box 空間內(nèi),以確保粒子群集中在氣體源附近,加快算法收斂;設(shè)置動態(tài)慣性權(quán)重,慣性權(quán)重表征粒子對自身當(dāng)前移動速度的信任程度,在本研究中,氣體源實際位置大概率處于bounding-box空間內(nèi)或其附近[15],若希望粒子集中在此空間區(qū)域內(nèi)搜索,則應(yīng)令bounding-box 空間外的粒子具有較小的慣性權(quán)重,以使其向boundingbox空間附近靠攏。
某些生物在覓食時表現(xiàn)出逆風(fēng)搜索行為,即感知到獵物氣味時,會逆風(fēng)向著氣體源位置靠近,最終找到獵物位置[16]。根據(jù)有風(fēng)環(huán)境下的風(fēng)場特征,將逆風(fēng)性特點應(yīng)用于改進GA-PSO 算法中,引入風(fēng)速修正權(quán)重ωv,將速度更新公式修改為[17]
式中:Vw為風(fēng)速;-ωvVw為表征粒子趨向于逆風(fēng)方向的速度分量。通過風(fēng)速修正權(quán)重ωv調(diào)節(jié)粒子對該分量的信任程度。
圖4 為有風(fēng)條件下氣體濃度的平面等勢圖,氣體泄漏點位置坐標(biāo)為(3,5),當(dāng)前風(fēng)速為3 m/s。當(dāng)粒子處于泄漏點下風(fēng)位置時,由于存在逆風(fēng)方向的速度分量,相較于基本PSO 算法,改進算法中的粒子有更大的概率朝向距泄漏點更近的位置移動;當(dāng)粒子處于泄漏點上風(fēng)位置時,逆風(fēng)方向的速度分量使粒子趨向于遠(yuǎn)離泄漏點,導(dǎo)致粒子的適應(yīng)度值增大,由于改進算法每輪迭代都會清除適應(yīng)度值較差的粒子,因此粒子不會大量聚集在上風(fēng)處。
圖4 有風(fēng)條件下氣體濃度的平面等勢
改進算法的實現(xiàn)流程如圖5 所示。
圖5 算法流程
步驟1建立搜索空間。在三維實驗室空間內(nèi)設(shè)置若干氣體傳感器,隨機生成氣體泄漏點坐標(biāo)。
步驟2優(yōu)化處理搜索空間。利用bounding-box方法確定主要搜索空間。
步驟3初始化粒子群。在bounding-box 方法中隨機生成n個粒子的位置、速度數(shù)據(jù),設(shè)置最大迭代次數(shù)T代。
步驟4粒子群迭代。根據(jù)自適應(yīng)慣性權(quán)重、認(rèn)知參數(shù)、風(fēng)速修正權(quán)重對粒子速度和位置進行迭代。
步驟5交叉變異。根據(jù)適應(yīng)度值計算粒子交叉變異概率,使種群粒子總數(shù)擴增。
步驟6自然選擇。淘汰適應(yīng)度值較差的粒子,使種群中粒子數(shù)量恒定。
步驟7最優(yōu)粒子更新。根據(jù)適應(yīng)度值更新全局最優(yōu)粒子與個體最優(yōu)粒子。
步驟8判斷停止迭代。若達(dá)到最大迭代次數(shù)T,則終止算法,否則返回步驟4。
設(shè)置搜索區(qū)域為10 m×10 m×4 m的三維實驗室空間,在其四周與上方設(shè)置9 個氣體監(jiān)測結(jié)點。隨機生成氣體泄漏點后,根據(jù)式(3)、(5)生成空間氣體濃度數(shù)據(jù),考慮到實際情況下存在傳感器測量誤差、實驗環(huán)境等因素影響,對模型的氣體濃度空間分布引入5%的隨機誤差,則
式中:C為氣體濃度理論值;rand(·)為隨機數(shù)函數(shù),用于生成(0,1)范圍內(nèi)的隨機數(shù)。
泄露氣體源定位算法主要有最小二乘法、加權(quán)質(zhì)心法等非進化算法,也包括PSO算法、GA算法等進化算法。為驗證改進算法在性能上具有優(yōu)勢,將其分別與上述算法在定位準(zhǔn)確度上作比較。定義相對誤差為泄露點和定位點之間的距離與搜索空間邊長的比,搜索空間邊長設(shè)置為10 m。
在無風(fēng)條件下定位泄漏氣體源,文獻(xiàn)[10]中采用加權(quán)質(zhì)心法,文獻(xiàn)[18]中采用多邊定位法。將本文的改進算法與上述兩種算法進行50 次對比實驗,3 種算法測試結(jié)果如圖6 所示,平均相對誤差及相對誤差范圍見表1。
圖6 無風(fēng)場算法測試結(jié)果
表1 無風(fēng)算法測試結(jié)果對比
在有風(fēng)條件下定位泄漏氣體源,文獻(xiàn)[12]中采用最小二乘法,文獻(xiàn)[13]中采用改進加權(quán)質(zhì)心法。設(shè)置風(fēng)速Vw=(2,1,0)m/s,將本文的改進算法與上述2種算法進行50 次對比實驗,3 種算法測試結(jié)果如圖7所示,平均相對誤差及相對誤差范圍見表2。
圖7 有風(fēng)場算法測試結(jié)果
表2 3 種算法測試結(jié)果對比
將本文的改進算法與GA、PSO 算法進行對比測試,為強調(diào)風(fēng)場特征對群智能算法搜索效率的影響以及充分顯示改進GA-PSO 算法對有風(fēng)場景的適應(yīng)性,這里比較有風(fēng)情況下的算法性能,設(shè)置風(fēng)速Vw=(2,1,0)m/s,改進GA-PSO算法參數(shù)取值見表3。
表3 改進GA-PSO算法參數(shù)
對3 種算法進行對比測試,改進算法與PSO算法各10 次的氣體源定位結(jié)果如圖8 所示,改進算法與GA算法各10 次的氣體源定位結(jié)果如圖9 所示。由圖8、9 可見,改進算法所得到的定位點普遍更接近于實際氣體泄漏源。
圖8 與粒子群算法定位結(jié)果對比
圖9 與遺傳算法定位結(jié)果對比
3 種算法的適應(yīng)度值迭代曲線如圖10 所示,由圖10 可知,相較于GA 和PSO 算法,改進算法可更早地達(dá)到其最優(yōu)適應(yīng)度值,且改進算法所得到定位點的適應(yīng)度值更優(yōu)。
圖10 適應(yīng)度值迭代曲線
針對三維空間中不同風(fēng)場下泄漏氣體源定位,本文提出一種改進的GA-PSO 算法,將bounding-box 方法推廣到三維空間,優(yōu)化GA-PSO算法的搜索區(qū)域,減少粒子群無效搜索;根據(jù)風(fēng)場特征,提出風(fēng)速修正權(quán)重,使粒子趨向于氣體源上風(fēng)處,提高算法搜索目的性。在無風(fēng)條件下,將改進算法與其他學(xué)者提出的加權(quán)質(zhì)心法、多邊定位法對比;在有風(fēng)條件下,將改進算法與其他學(xué)者提出的最小二乘法、加權(quán)質(zhì)心法以及進化算法中的GA、PSO算法對比。兩種情況下改進算法的平均相對誤差分別為2.66%、2.84%,表現(xiàn)出顯著高于其他算法的定位準(zhǔn)確度。后續(xù)研究方向擬將改進算法應(yīng)用于傳感器網(wǎng)絡(luò)中,通過實物模型驗證改進算法的定位準(zhǔn)確度與搜索效率。