劉 璐,張紹陽,冉思雨,沈柳彤
(長安大學(xué)信息工程學(xué)院,陜西 西安 710064)
隨著城市工業(yè)化的迅速發(fā)展,大氣污染已成為眾多城市無法避免且必須解決的普遍性問題[1]。根據(jù)2022年陜西省生態(tài)環(huán)境質(zhì)量狀況報告可知,全省12 個市(區(qū))優(yōu)良天數(shù)為184~349天,平均274.8天,同比減少15.7天。同時報告指出,主要污染物中二氧化硫、二氧化氮、一氧化碳濃度監(jiān)測值均達(dá)到《環(huán)境空氣質(zhì)量標(biāo)準(zhǔn)》一級標(biāo)準(zhǔn)[2],但可吸入顆粒物(PM10)和細(xì)顆粒物(PM2.5)平均濃度均同比上升,可見顆粒物是環(huán)境空氣中的首要污染物。這些顆粒物大多由工業(yè)排放、建筑施工、垃圾焚燒等造成,具有一定的突發(fā)性、發(fā)生點多、難以排查等特點。然而,要對污染物進(jìn)行有效控制,首先就必須確定其主要來源,但由于地形環(huán)境的復(fù)雜性、人身安全以及污染形成復(fù)雜等因素,直接對污染物源點進(jìn)行定位和排放量測量具有很大的挑戰(zhàn)。因此,利用可測量地提供的監(jiān)測數(shù)據(jù)以及擴(kuò)散模型推演出源項的源強(qiáng)和地理位置已成為一種較為可行的方法,即源項反演[3]。
目前,許多新型優(yōu)化算法被應(yīng)用于源項反演問題的求解,例如遺傳-模擬退火算法(GA-SA)、粒子濾波算法、粒子群-單純形算法(PSO-NM)、BP 神經(jīng)網(wǎng)絡(luò)等。文獻(xiàn)[4]采用遺傳-模擬退火算法對核輻射源項反演,源強(qiáng)和高度在監(jiān)測數(shù)據(jù)理想時的相對均方根誤差可達(dá)10-4量級;文獻(xiàn)[3]采用粒子濾波算法對多重噪音干擾下的源項進(jìn)行反演,當(dāng)粒子數(shù)為100 時,反演結(jié)果與監(jiān)測值的相對誤差小于20%,隨著粒子數(shù)增加,反演效果會進(jìn)一步提高,但同時也會增加計算機(jī)的耗能;文獻(xiàn)[5]研究了三維、四維參數(shù)下的反演情形,發(fā)現(xiàn)PSO-NM 的反演精度略高于PSO,但穩(wěn)定性和時間性能較差;文獻(xiàn)[6]基于BP 神經(jīng)網(wǎng)絡(luò)對核事故四核素進(jìn)行釋放率源項反演,當(dāng)釋放數(shù)據(jù)集中于某一數(shù)量級時,平均相對誤差高于90%,且節(jié)點數(shù)和學(xué)習(xí)速率等關(guān)鍵參數(shù)調(diào)整難度大,需進(jìn)行多次實驗確定。大氣污染源項反演過程應(yīng)具備高效性和實時性,而上述方法均未在合理的時間內(nèi)生成準(zhǔn)確的源項分布信息,無法及時對污染源進(jìn)行防控和管理。
考慮到大氣污染源項反演為非線性、非凸優(yōu)化問題,本文提出了一種新的耦合算法——粒子群-模擬退火算法(PSO-SA),該算法既保留了PSO 算法反演精度高、收斂速度快等特點,又充分利用了SA 算法面對非凸優(yōu)化問題具有更好的穩(wěn)定性等優(yōu)點。通過將PSO 算法和SA 算法相結(jié)合,不僅更好地解決了PSO 算法可能出現(xiàn)局部最優(yōu)解的問題,而且在不過多增加時間消耗的情況下進(jìn)一步提高了反演精度,從而快速實現(xiàn)對大氣污染源強(qiáng)和位置的準(zhǔn)確估計。
高斯煙羽模型是一種經(jīng)典的數(shù)學(xué)模型,用于模擬大氣點源污染物的擴(kuò)散和傳遞過程[7],本文基于此模型進(jìn)行源項的反演研究。高斯煙羽模型的假設(shè)有四點:風(fēng)向垂直,風(fēng)的平均流場保持穩(wěn)定,風(fēng)速均勻;y、z軸方向的污染物濃度符合正態(tài)分布;污染物在輸送擴(kuò)散過程中質(zhì)量守恒;污染源的源強(qiáng)均勻連續(xù)。設(shè)有效源位于坐標(biāo)原點處,平均風(fēng)向設(shè)定為x軸正方向,y軸垂直于x軸為垂直風(fēng)向,z軸正方向即垂直于水平面向上,如圖1 所示。

圖1 高斯煙羽擴(kuò)散模型示意圖
連續(xù)釋放的高斯地面點源擴(kuò)散公式為:
式中:C(x,y,z)為監(jiān)測點在(x,y,z)位置處的污染物濃度,單位為mg/m3;σy、σz分別為水平、垂直方向的標(biāo)準(zhǔn)差,即y、z方向的擴(kuò)散參數(shù);u為平均風(fēng)速,單位為m/s;Q為釋放源強(qiáng),單位為g/s;x為風(fēng)向軸上空間點到點源的距離,單位為m;y為風(fēng)向軸垂直方向上空間點到點源的距離,單位為m;z為空間點的高度,單位為m。
粒子群算法(PSO)是一種群體性智能搜索算法[8],其中心思想來源于自然界中鳥群或者魚群捕食的過程[9-10]。在一個群體中,總會存在某個個體對食源有較好的感知能力,該個體會通過種群中特有的方式與其他個體相互傳遞消息,最終找到食源,也就是求得所要求解問題的全局最優(yōu)解。
假設(shè)在一個N維目標(biāo)搜索空間中,由m個粒子組成一個群落,其中第i個粒子在N維空間里的位置表示為Xi= (xi1,xi2,…,xiN)T,i= 1,2,…,m;飛行速度表示為Vi=(vi1,vi2,…,viN)T,i= 1,2,…,m;第i個粒子適應(yīng)度函數(shù)值為Fiti= Fitness(Xi);Pbesti和分別為第i個粒子曾經(jīng)達(dá)到的最大適應(yīng)度值及其對應(yīng)的位置;Gbesti為群體中所有粒子經(jīng)歷過的最好位置。則對每一代粒子,其第d維根據(jù)如下方程變化:
式中:vid為粒子飛行速度矢量;xid為粒子位置矢量;r1、r2為[ 0,1 ]之間的隨機(jī)數(shù);c1、c2為加速度系數(shù);w為慣性權(quán)重。
模擬退火算法(SA)最早由N.Metropolis 等人提出[11],其思想是通過模擬晶體冷卻的過程來解決優(yōu)化問題[12],將當(dāng)前解看作晶體,通過隨機(jī)擾動來模擬晶體內(nèi)部的粒子運(yùn)動,并在一定概率下接受劣解,以避免陷入局部最優(yōu)解,隨著溫度的不斷降低,算法的搜索范圍也逐漸縮小,最終得到全局最優(yōu)解。SA 算法可以在有限的時間內(nèi)找到接近最優(yōu)解的較優(yōu)解,在處理高維、復(fù)雜、非線性問題時表現(xiàn)尤為突出。
本文所采用的PSO-SA 耦合算法,首先采用PSO 算法隨機(jī)生成初始種群,其中每個種群個體作為源項,其基因作為源項參數(shù),包括源強(qiáng)和位置信息等。算法運(yùn)行過程中,通過PSO 算法選擇出種群中的最優(yōu)解,在更新粒子的速度和位置時,利用SA 算法的思想以一定概率替換掉現(xiàn)有解,對PSO 算法得到的最優(yōu)解進(jìn)行進(jìn)一步優(yōu)化。PSO-SA 耦合算法的核心思想是聯(lián)合PSO 算法和SA 算法,克服PSO 算法可能陷入局部最優(yōu)的缺陷,并保留SA 算法全局搜索和大范圍跳躍的優(yōu)勢,在求解污染源項反演的復(fù)雜優(yōu)化問題時表現(xiàn)尤為突出。
對于任一監(jiān)測站點i,根據(jù)高斯地面點源擴(kuò)散公式計算得到的污染物濃度為Ci,監(jiān)測站測量到的污染物濃度為Qi,F(xiàn)itness(Ci,Qi)為適應(yīng)度函數(shù)。算法模型可以表示為:
式中:輸出(Q0,X0,Y0)為源項信息,Q0為源強(qiáng),(X0,Y0)為釋放源位置。
PSO-SA 算法具體步驟總結(jié)如下:
1)設(shè)定算法參數(shù),包括粒子群算法中的慣性權(quán)重和適應(yīng)度函數(shù),以及模擬退火算法中的初始溫度、終止溫度、衰減參數(shù)等;
2)運(yùn)行粒子群算法,獲得初始解;
3)將步驟2)獲得的初始解輸入模擬退火算法,并接受當(dāng)前的反演結(jié)果作為最終反演結(jié)果;
4)若滿足終止條件,則停止算法;否則,返回步驟3)。
需要注意的是,PSO-SA 算法的性能和結(jié)果可能會受到算法參數(shù)的影響,因此算法參數(shù)的選擇也是PSOSA 算法優(yōu)化效果的重要因素。
根據(jù)粒子群算法中慣性權(quán)重系數(shù)[13-15]選取的相關(guān)文獻(xiàn)可知,慣性權(quán)重系數(shù)較大時,有利于全局搜索最優(yōu)解,但是效率較低;慣性權(quán)重系數(shù)較小時,有利于局部搜索最優(yōu)解,也有助于加快算法收斂速度,但也容易導(dǎo)致算法陷入局部最優(yōu)。
綜合考慮慣性權(quán)重的大小對算法性能的影響,本文采用自適應(yīng)方法對粒子群算法的慣性權(quán)重進(jìn)行調(diào)整,旨在平衡其精度和收斂速度。具體地,當(dāng)某個粒子的適應(yīng)度值優(yōu)于群體平均適應(yīng)度值時,該粒子被認(rèn)為具有較高的搜索效率和可行性,因此賦予更小的慣性權(quán)重系數(shù),以保留該粒子的搜索軌跡。相反,如果某個粒子的適應(yīng)度值較差,很可能導(dǎo)致其搜索軌跡與目標(biāo)偏離較遠(yuǎn),為了盡快將其調(diào)整回正確搜索軌跡,應(yīng)該賦予較大的慣性權(quán)重,使其向更優(yōu)的搜索區(qū)域靠攏。該自適應(yīng)慣性權(quán)重調(diào)整方法能夠兼顧全局搜索和局部搜索的需求,從而提高算法的搜索效率和求解準(zhǔn)確度。
慣性權(quán)重w的選取如下:
式中:f表示當(dāng)前適應(yīng)度值;favg表示平均適應(yīng)度值;fmin表示最小適應(yīng)度值;wmin表示設(shè)置的最小慣性權(quán)重因子;wmax表示設(shè)置的最大慣性權(quán)重因子。
為合理評估針對某一假設(shè)源項的各監(jiān)測站點數(shù)據(jù)的準(zhǔn)確性,適應(yīng)度函數(shù)應(yīng)滿足以下要求:
1)對于任一監(jiān)測站點i,根據(jù)高斯地面點源擴(kuò)散公式計算得到的污染物濃度為Ci,監(jiān)測站測量到的污染物濃度為Oi,當(dāng)|Ci-Oi|增大,即觀測值與計算值的差距增大時,適應(yīng)度函數(shù)值應(yīng)減小。
2)不同監(jiān)測站點的貢獻(xiàn)值所占權(quán)重應(yīng)根據(jù)觀測數(shù)據(jù)的可信度而變化,對于可信度較高、誤差較小的觀測數(shù)據(jù),其權(quán)重占比應(yīng)更大,反之則更小。
3)對于檢測器來說,觀測值越小,相對誤差越大,因此較小的觀測值數(shù)據(jù)應(yīng)在適應(yīng)度函數(shù)的計算中給予更小的權(quán)重。
按照如上要求,有助于保證適應(yīng)度函數(shù)對假設(shè)源項的各監(jiān)測站點數(shù)據(jù)的準(zhǔn)確性進(jìn)行合理評估,并促進(jìn)尋找最優(yōu)解。本文適應(yīng)度函數(shù)選擇如下:
式中:Ci為第i個監(jiān)測站根據(jù)高斯地面點源擴(kuò)散公式計算得到的污染物濃度;Oi為第i個監(jiān)測站實際測量的污染物濃度;N為監(jiān)測站的總個數(shù),i= 1,2,…,N。適應(yīng)度越大表示反演結(jié)果與準(zhǔn)確數(shù)據(jù)的差值越小,反演精度越高。
本文以監(jiān)測濃度值最大的監(jiān)測點作為相對坐標(biāo)原點(0,0),以此為基準(zhǔn)計算其他剩余監(jiān)測點的相對坐標(biāo),最后求得釋放源的源強(qiáng)Q以及相對于坐標(biāo)原點的位置(X,Y)。
在源項反演中,扇形布點方式是一種常用的監(jiān)測站點布置方法。其主要原理是將核心監(jiān)測站點設(shè)為扇形的中心點,向周圍散布一定數(shù)量的監(jiān)測站點,使監(jiān)測點均勻分布在源區(qū)周圍,從而最大程度地覆蓋源區(qū)范圍。該方法具有布點均勻、覆蓋面積廣、適應(yīng)性強(qiáng)等優(yōu)點。因此本文選取扇形布點方式進(jìn)行監(jiān)測。
預(yù)設(shè)源項的源強(qiáng)Q為400 mg/s,位置向量x的相對坐標(biāo)為-20,位置向量y的相對坐標(biāo)為-5,風(fēng)速u為0.5 m/s,大氣穩(wěn)定度為B 類,取部分點作為監(jiān)測點,以此獲取實驗監(jiān)測數(shù)據(jù)。將所獲取數(shù)據(jù)中各點的計算濃度值作為監(jiān)測濃度Oi,分別使用PSO算法和PSO-SA耦合算法進(jìn)行源項反演,反演優(yōu)化過程如圖2和圖3所示,反演結(jié)果見表1,其中表1的誤差為反演值與預(yù)設(shè)值之間的總差值。

表1 PSO 算法與PSO-SA 算法反演結(jié)果

圖2 PSO 算法優(yōu)化過程

圖3 PSO-SA 算法優(yōu)化過程
由圖2 可知,PSO 算法在100 代以內(nèi)可以很好收斂,反演結(jié)果與預(yù)設(shè)值的誤差為0.09,適應(yīng)度值數(shù)量級可達(dá)106。由圖3 可知,在PSO 算法的基礎(chǔ)上繼續(xù)運(yùn)行SA 算法進(jìn)行局部尋優(yōu),反演結(jié)果與預(yù)設(shè)值的誤差為0.01,適應(yīng)度值數(shù)量級可達(dá)107。通過表1 對比發(fā)現(xiàn),相較于PSO算法的反演值,PSO-SA 算法的反演值更接近預(yù)設(shè)值,誤差更小,適應(yīng)度更高,這說明PSO-SA 耦合算法可以有效地優(yōu)化問題,獲得更為準(zhǔn)確和可靠的反演結(jié)果。
將粒子群-模擬退火算法(PSO-SA)與遺傳算法-模擬退火算法(GA-SA)進(jìn)行比較,結(jié)果見表2。PSO-SA 算法與GA-SA 算法相比,更加接近預(yù)設(shè)值,表現(xiàn)出更好的反演效果。通過分析可知,遺傳算法易陷入局部最優(yōu)解,即在反演過程中可能會找到并停留在一個局部最小值,而無法繼續(xù)搜索更好的解,同時模擬退火算法的最終結(jié)果對初始值的依賴性較強(qiáng),當(dāng)初始值與預(yù)設(shè)值相差較大時,最終的反演結(jié)果會產(chǎn)生較大偏差。

表2 算法對比結(jié)果
在實際的監(jiān)測過程中,監(jiān)測數(shù)據(jù)的準(zhǔn)確性易受到各種客觀因素和人為因素的影響,監(jiān)測數(shù)據(jù)存在誤差難以避免。在這種情況下,根據(jù)統(tǒng)計學(xué)的理論推測,增加監(jiān)測點數(shù)量可以獲得更多的監(jiān)測數(shù)據(jù),從而提高反演結(jié)果的準(zhǔn)確性,而過多的監(jiān)測數(shù)據(jù)又會帶來巨大的工作量,降低了算法的可行性。
為了能準(zhǔn)確且高效地獲得反演結(jié)果,本文針對監(jiān)測點個數(shù)對源項反演結(jié)果的影響進(jìn)行了進(jìn)一步研究,并分別比較分析了監(jiān)測點數(shù)量為5、10、15、20、25 和30 的6 種情況下的反演結(jié)果。反演結(jié)果見表3。

表3 監(jiān)測點數(shù)量對反演結(jié)果的影響
由表3 可知,在一定范圍里,增加監(jiān)測點的數(shù)量可以減小反演誤差,得到更精確的反演結(jié)果。當(dāng)監(jiān)測點數(shù)量較少時,適應(yīng)度值隨監(jiān)測點數(shù)量的增加而增加,誤差隨之減小,但隨著監(jiān)測點數(shù)量的繼續(xù)增加,適應(yīng)度值不再有較大的變化且誤差不再明顯減小。因此在實際應(yīng)用中,應(yīng)當(dāng)根據(jù)需求和資源狀況布置適當(dāng)數(shù)量的監(jiān)測點,既避免了監(jiān)測點數(shù)量過少導(dǎo)致反演結(jié)果不準(zhǔn)確,也避免了因監(jiān)測點數(shù)量過多造成的資源浪費(fèi)。本文仿真實驗中,當(dāng)監(jiān)測點數(shù)量為20 時,獲得了最大適應(yīng)度值和最小誤差,反演結(jié)果最為準(zhǔn)確。
在監(jiān)測數(shù)據(jù)無誤差時,使用PSO-SA 算法可以得到相對較高的精確度,然而在實際監(jiān)測中由于各種因素的影響,監(jiān)測點數(shù)據(jù)不可避免地會存在一定誤差。因此,對計算出來的每個監(jiān)測點污染物濃度分別添加了1%、5%和10%以內(nèi)的隨機(jī)誤差,來模擬“實際”監(jiān)測數(shù)據(jù)并進(jìn)行反演。反演結(jié)果見表4。

表4 監(jiān)測點數(shù)據(jù)誤差對反演結(jié)果的影響
由表4 可知,隨機(jī)誤差的大小與反演結(jié)果的適應(yīng)度值成反比關(guān)系,隨機(jī)誤差越大,反演結(jié)果適應(yīng)度值越小,說明反演結(jié)果偏離預(yù)設(shè)值越大。當(dāng)隨機(jī)誤差范圍在5%以內(nèi)時,反演結(jié)果的誤差較小,反演結(jié)果較為準(zhǔn)確,但當(dāng)隨機(jī)誤差超過5%時,反演結(jié)果與預(yù)設(shè)值之間的誤差會變得明顯。因此,在實際應(yīng)用中需要注意隨機(jī)誤差的大小,合理設(shè)置反演參數(shù),從而得到更加準(zhǔn)確的反演結(jié)果。
本文采用基于粒子群算法和模擬退火算法的耦合算法(PSO-SA)對污染源的源強(qiáng)和位置進(jìn)行反演,并實現(xiàn)了較為精確的反演結(jié)果。該混合算法綜合了兩種算法的優(yōu)勢,彌補(bǔ)了各自算法的缺陷,更加穩(wěn)定可靠。
基于本文所述方法,通過實驗驗證可得到如下結(jié)論:
1)PSO-SA 算法具有較好的穩(wěn)定性和準(zhǔn)確性,當(dāng)監(jiān)測點的數(shù)據(jù)準(zhǔn)確性較高時,能夠得到較為精確的反演結(jié)果,反演誤差小,且預(yù)測結(jié)果與預(yù)設(shè)值接近。
2)監(jiān)測點數(shù)量對反演結(jié)果的準(zhǔn)確性產(chǎn)生一定影響,增加監(jiān)測點的數(shù)量能夠一定程度上減小反演誤差。然而在監(jiān)測點數(shù)量達(dá)到一定閾值后,繼續(xù)增加監(jiān)測點數(shù)量對反演結(jié)果的準(zhǔn)確性影響不大。
3)由于此算法對監(jiān)測點數(shù)據(jù)的準(zhǔn)確性要求較高,產(chǎn)生的誤差會對反演結(jié)果準(zhǔn)確性產(chǎn)生較大影響,因此建議此算法與修正算法配合使用,以提高反演結(jié)果的準(zhǔn)確性。