李翠然,王雪潔,謝健驪,呂安琪
(蘭州交通大學(xué)電子與信息工程學(xué)院,甘肅 蘭州 730070)
近年來,無線傳感器網(wǎng)絡(luò)(WSN,wireless sensor network)在鐵路、河流、礦井等鏈狀區(qū)域的環(huán)境監(jiān)測中得到了廣泛應(yīng)用[1-2]。在鏈狀區(qū)域監(jiān)測中,節(jié)點呈線性分布,構(gòu)成線性無線傳感器網(wǎng)絡(luò)(LWSN,linear wireless sensor network),越靠近sink 節(jié)點能耗越大,由此導(dǎo)致了“能量空洞”問題[3]。此外,WSN 具有較強的應(yīng)用相關(guān)性,鐵路沿線環(huán)境監(jiān)測場景下的LWSN 還需考慮數(shù)據(jù)傳輸?shù)膶崟r性要求[4]。如何有效地均衡節(jié)點能耗、降低傳輸時延是鐵路沿線LWSN 高效數(shù)據(jù)傳輸亟待解決的關(guān)鍵問題。
分簇路由協(xié)議通過構(gòu)建層次型網(wǎng)絡(luò)結(jié)構(gòu)實現(xiàn)資源的均衡分配,提高網(wǎng)絡(luò)能效,以最大化網(wǎng)絡(luò)生命周期[5]。已有不少學(xué)者基于深度強化學(xué)習(xí)[6]、模糊邏輯算法[7]及群智能優(yōu)化算法[8-10]等對WSN分簇路由展開研究,但相比于平面網(wǎng)狀拓撲結(jié)構(gòu),LWSN傳輸路徑較單一。簇頭是WSN 的重要節(jié)點,一旦簇頭故障,易造成LWSN 數(shù)據(jù)傳輸中斷;同時,簇頭的能耗遠大于簇成員節(jié)點,若沒有合理的能耗均衡策略,易造成簇頭的能量過早耗盡而死亡[11-12]。Ali 等[13]、Kong 等[14]分別對石油和天然氣管道、超高壓輸電線路等鏈狀區(qū)域進行能耗均衡的路由優(yōu)化,但針對監(jiān)測網(wǎng)絡(luò)的負載不均衡及其數(shù)據(jù)的實時傳輸問題并未給出解決方法,對鐵路監(jiān)測環(huán)境的適應(yīng)性較差。面向鐵路監(jiān)測場景提出的LWSN 路由算法較少考慮簇頭負載、簇頭間距等參數(shù)對能耗均衡的影響以及由此引起的監(jiān)測網(wǎng)絡(luò)生命周期特性的變化[15],缺乏節(jié)點能耗與監(jiān)測網(wǎng)絡(luò)傳輸時延的定量分析[16],在算法普適性方面有所欠缺。此外,在監(jiān)測網(wǎng)絡(luò)運行后期,由于個別節(jié)點能量耗盡可能導(dǎo)致數(shù)據(jù)傳輸中斷,因此設(shè)計合理的備選路徑更新與路由維護機制是十分必要的。以上研究內(nèi)容對實現(xiàn)鐵路沿線監(jiān)測數(shù)據(jù)的高效可靠傳輸、保障乘客安全、降低列車事故或中斷交通概率、促進高鐵智能無線通信技術(shù)的發(fā)展具有重大意義。
基于此,本文根據(jù)鐵路沿線LWSN 部署特點及應(yīng)用需求,提出一種基于粒子群優(yōu)化(PSO,particle swarm optimization)理論和廣度優(yōu)先搜索的節(jié)能路由算法。該算法研究思路為采用節(jié)點沿平行于軌道線兩側(cè)的非均勻部署方式;通過選取剩余能量較高的節(jié)點作為初始粒子并結(jié)合線性遞減慣性權(quán)重策略,有效避免粒子群優(yōu)化算法易陷入局部最優(yōu)的缺陷;以均衡節(jié)點能耗為優(yōu)化目標(biāo)構(gòu)建適應(yīng)度函數(shù)并完成優(yōu)化分簇。同時,考慮節(jié)點傳輸能耗與時延,構(gòu)建路徑成本函數(shù)并根據(jù)簇頭剩余能量動態(tài)調(diào)整路徑成本函數(shù);采取低能量節(jié)點保護機制和基于Q-learning 的備選路徑更新機制,緩解鐵路環(huán)境監(jiān)測區(qū)域狹長易造成的傳輸中斷,在延長網(wǎng)絡(luò)生命周期、降低網(wǎng)絡(luò)時延的同時提高網(wǎng)絡(luò)的可靠性。
針對WSN 能耗問題,已有大量研究成果。文獻[17]提出了基于等比數(shù)列遞增的LWSN 能耗均衡部署策略,可有效提高網(wǎng)絡(luò)能耗均衡性。LEACH(low energy adaptive clustering hierarchy)[18]協(xié)議通過周期性的簇頭輪換平衡節(jié)點能耗,但仍存在簇頭分布不均、網(wǎng)絡(luò)負載不均等問題,導(dǎo)致靠近sink 節(jié)點的簇頭能耗過大。文獻[19]在LEACH 基礎(chǔ)上提出了改進的EEUC(energy-efficient uneven clustering)非均勻分簇協(xié)議,成簇階段考慮了節(jié)點剩余能量、簇頭間負載以均衡簇頭能耗,但不適用于大規(guī)模網(wǎng)絡(luò)。文獻[16]提出了鐵路監(jiān)測WSN 非均勻分簇協(xié)議,基于簇頭能耗、簇頭數(shù)目和簇成員節(jié)點數(shù)目間的關(guān)系,構(gòu)建了直線軌道監(jiān)測區(qū)域內(nèi)的非均勻分簇模型以解決LWSN“能量空洞”問題,但未考慮簇頭節(jié)點的更新。文獻[20]在網(wǎng)絡(luò)模型中引入了移動匯聚節(jié)點,可以沿著特定移動軌跡收集各個簇頭節(jié)點的數(shù)據(jù),優(yōu)化了數(shù)據(jù)傳輸路徑。然而,鐵路沿線通常呈三維地形,無法支持匯聚節(jié)點的隨機移動。文獻[15]根據(jù)鐵路沿線WSN 節(jié)點采集信息的重要等級,提出了數(shù)據(jù)包轉(zhuǎn)發(fā)模型和數(shù)據(jù)包排隊模型,以減小高優(yōu)先級數(shù)據(jù)的傳輸時延,但忽略了轉(zhuǎn)發(fā)節(jié)點的負載均衡問題,當(dāng)個別節(jié)點負載過重死亡時,并沒有備選路由維護傳輸路徑。文獻[21]提出了一種基于強化學(xué)習(xí)的路由協(xié)議,在路由協(xié)議設(shè)計中考慮節(jié)點剩余能量和鏈路質(zhì)量,提高了網(wǎng)絡(luò)對動態(tài)環(huán)境的適應(yīng)能力并延長了網(wǎng)絡(luò)壽命。
PSO 算法具有實現(xiàn)容易、參數(shù)少、收斂速度快等優(yōu)勢,已廣泛用于WSN 分簇路由算法[22]。文獻[23]提出了POFC(PSO optimized fuzzy C-means)算法,基于PSO 優(yōu)化模糊C均值的初始聚類中心,根據(jù)簇成員節(jié)點的剩余能量和相對距離構(gòu)建適應(yīng)度函數(shù)以更新簇頭,并使用貓群算法搜索最優(yōu)傳輸路徑,但最優(yōu)分簇數(shù)及最佳傳輸距離的值僅適用于平面拓撲WSN 場景,且選舉簇頭時并未考慮相鄰簇頭間距離的均衡性。文獻[24]通過改進PSO 算法構(gòu)建非均勻簇結(jié)構(gòu),并調(diào)整慣性權(quán)重,該算法在分簇和構(gòu)建路徑時未考慮簇頭負載,能量有效性有待提高。文獻[25]提出基于改進PSO 算法的分簇路由機制,利用節(jié)點剩余能量、位置構(gòu)建適應(yīng)度函數(shù),優(yōu)化簇頭選舉,并基于最小生成樹建立平面拓撲結(jié)構(gòu)下的多跳路徑,但頻繁的簇頭輪換使轉(zhuǎn)發(fā)節(jié)點及傳輸路徑不斷更新,會增加額外的能量消耗,且該算法未對網(wǎng)絡(luò)時延性能進行分析。文獻[26]分析了最小化最大能耗與最小化最大端到端時延之間的權(quán)衡關(guān)系,提出的分簇策略通過考慮能耗和時延找到最優(yōu)簇頭,但其研究的平面拓撲缺乏對鐵路鏈狀區(qū)域的適應(yīng)性。
基于以上論述,現(xiàn)有WSN 分簇路由算法研究主要以節(jié)點能耗或負載均衡為優(yōu)化目標(biāo),針對LWSN 監(jiān)測場景綜合考慮能耗與時延的研究較少,且均未考慮主路徑故障時備選路徑的維護,無法滿足鐵路沿線監(jiān)測網(wǎng)絡(luò)的應(yīng)用需求。
在鏈狀區(qū)域中,一般采用雙側(cè)節(jié)點部署[27]。雙側(cè)部署減少了節(jié)點數(shù)量,且避免了傳輸路徑過于單一的問題。以鐵路環(huán)境監(jiān)測為應(yīng)用場景的節(jié)點部署模型如圖1 所示,令節(jié)點沿平行于軌道線的兩側(cè)部署,節(jié)點類型分為兩類:簇頭(CH,cluster head)節(jié)點和簇成員(CM,cluster member)節(jié)點。越靠近sink 節(jié)點的CH 節(jié)點通信負擔(dān)越重,為避免個別節(jié)點因過早死亡而造成的傳輸中斷,距離sink 節(jié)點越近則節(jié)點分布越密集。圖1 中,節(jié)點以公比為q的等比方式部署,令 CH 節(jié)點數(shù)目為 N,記為c1,c2,…,cN,CM 節(jié)點數(shù)目為M,CM 節(jié)點n1、n2間的水平距離為dt1,則nj、nj+1間的水平距離dtj為
圖1 節(jié)點部署模型
CM 將采集的信息發(fā)送至距離最近的CH 節(jié)點ci,ci在各自時分多址(TDMA,time division multiple access)時隙將接收的信息融合后傳輸至下一跳CH節(jié)點,并以多跳的方式傳輸至sink。
假設(shè)鐵路環(huán)境監(jiān)測LWSN 中的節(jié)點具有如下性質(zhì)[16]:sink 節(jié)點能量不受限,各節(jié)點初始能量相同,且只考慮節(jié)點發(fā)送、接收數(shù)據(jù)時的能耗。根據(jù)節(jié)點能量消耗模型[28],WSN 節(jié)點發(fā)送、接收lbit數(shù)據(jù)的能量消耗分別為
其中,Eelec為發(fā)送電路、接收電路傳輸單位比特數(shù)據(jù)的能耗;εfs和 εamp分別為自由空間信道和多徑衰減信道模型的功率放大系數(shù)為距離閾值,d為收發(fā)端的距離。
3.1.1 傳統(tǒng)PSO 算法
PSO 是一種群智能優(yōu)化算法,利用個體間的協(xié)作與信息共享搜索局部最優(yōu)值以獲取全局最優(yōu)值,可有效解決WSN 優(yōu)化分簇問題[29]?;綪SO 算法的數(shù)學(xué)描述為[24]:設(shè)粒子群規(guī)模為K,搜索空間為D維,粒子i(1≤i≤K)的位置為Xi=(xi1,xi2,···,xiD),且以Vi=(vi1,vi2,···,viD)的速度飛行。假設(shè)粒子i當(dāng)前搜索到的局部最優(yōu)解為Pi=(pi1,pi2,···,piD),所有粒子獲取的全局最優(yōu)解為Pg=(pg1,pg2,···,pgD)。在迭代過程中,各粒子根據(jù)Pi和Pg更新其速度與位置,分別為
其中,φ1和 φ2分別為認知學(xué)習(xí)因子和社會學(xué)習(xí)因子,ω 為慣性權(quán)重,rand∈(0,1)。
3.1.2 改進PSO 算法與CH 選舉
1) 粒子初始化
傳統(tǒng)PSO 算法中隨機選取初始粒子易使算法陷入局部最優(yōu)。改進PSO 算法選取剩余能量較高的粒子優(yōu)化分簇。各節(jié)點將剩余能量及其位置信息發(fā)送至sink 節(jié)點,由sink 節(jié)點實現(xiàn)分簇優(yōu)化及路徑選擇。sink 節(jié)點讀取各節(jié)點通信范圍內(nèi)鄰節(jié)點的剩余能量,并篩選能量大于鄰節(jié)點平均剩余能量Ebi的節(jié)點存入集合R。Ebi可表示為
其中,Nbi為CM 節(jié)點ni的鄰節(jié)點數(shù),Er(i)和Er(j)分別為ni及其鄰節(jié)點nj的剩余能量。sink 節(jié)點從集合R隨機選擇N個節(jié)點,作為一組候選CH,即一個粒子,多組候選CH 的集合即初始粒子群。
2) 基于能耗均衡的適應(yīng)度函數(shù)
適應(yīng)度函數(shù)可評估每組候選CH 與最優(yōu)CH 集的接近程度,周期更新候選CH 集的局部最優(yōu)與全局最優(yōu)值。相比CM 節(jié)點,CH 承擔(dān)的通信任務(wù)重、能耗大。CH 單跳傳輸距離的差異性越小,能耗越均衡,此外,簇規(guī)模(簇內(nèi)節(jié)點數(shù))也會影響CH能耗。因此,將候選CH 相對能耗、候選CH 間距標(biāo)準(zhǔn)差和候選CH 負載標(biāo)準(zhǔn)差作為粒子質(zhì)量評價指標(biāo)。
CH相對能耗是候選CH平均每輪次能耗與CM平均能耗的比值。令Ec(ci,ci+1)和Ec(ci,sink)分別為候選CH 節(jié)點ci傳輸數(shù)據(jù)至下一跳ci+1和sink 節(jié)點時的能耗,N個候選CH 的Ec(ci,ci+1)、Ec(ci,sink)之和為該組候選CH 總能耗為簇內(nèi)CM節(jié)點發(fā)送數(shù)據(jù)至CH 的能耗,其總能耗為的表達式分別為
其中,Ncj為第j個簇內(nèi)的成員節(jié)點數(shù),di_ch為CM節(jié)點到各自CH 的距離,di和di_sink分別為當(dāng)前候選CH 節(jié)點ci距下一跳ci+1和sink 節(jié)點的傳輸距離,di_sink具體計算式為
其中,W為圖1 中的軌道寬度。則相對能耗Enc 為
候選CH 間距標(biāo)準(zhǔn)差Dist 反映了CH 間傳輸距離的差異性,其計算式為
其中,di差異越小,各CH 消耗的能量越均衡。表示各個候選CH 間距的均值。
當(dāng)CH通信負擔(dān)過重時,節(jié)點能耗較高。令Er(ci)為ci的剩余能量,則ci的負載wi可定義為
基于上述粒子質(zhì)量評價指標(biāo),對候選CH 集采用加權(quán)方法建立多目標(biāo)適應(yīng)度函數(shù)
其中,α 、β 、γ∈(0,1)分別為能耗、間距及負載權(quán)重系數(shù),α+β+γ=1。當(dāng)候選CH 相對能耗、候選CH 間距標(biāo)準(zhǔn)差和候選CH 負載標(biāo)準(zhǔn)差越小,適應(yīng)度函數(shù)值越小,分簇結(jié)果越優(yōu)。
3) 線性分布約束下的粒子位置與速度更新
鐵路沿線環(huán)境監(jiān)測場景下,節(jié)點呈線性分布,粒子的搜索空間降為一維。算法迭代過程中,粒子的位置與速度更新式(4)和式(5)可分別簡化為式(16)和式(17)
初始化后的粒子,根據(jù)式(15)計算其適應(yīng)度函數(shù),在迭代過程中根據(jù)式(17)更新粒子位置,并根據(jù)式(16)更新下次迭代時粒子的速度,所得適應(yīng)度值最小的粒子即最優(yōu)解,該組的候選CH 節(jié)點即最優(yōu)CH 集。
4) 線性遞減慣性權(quán)重
迭代計算時,式(18)中慣性權(quán)重ω 可依據(jù)前一輪速度調(diào)整本輪的搜索能力。ω 較大時,算法全局搜索能力較強;ω 較小時,算法局部搜索能力較強。針對PSO 算法易陷入局部最優(yōu),采用線性遞減慣性權(quán)重法[25],動態(tài)調(diào)整ω 以獲取更均衡的CH 節(jié)點。ω 可表示為
其中,ωmin和ωmax分別為最大和最小慣性權(quán)重,fmin和favg分別為本輪迭代候選CH 適應(yīng)度值的最小值和平均值。當(dāng)初始時刻的候選CH 適應(yīng)度值與全局最優(yōu)粒子適應(yīng)度fmin差值較大時,所得ω 較大;反之,當(dāng)候選CH 趨于最優(yōu)時,ω 向全局最優(yōu)靠近的速度減小,以進行精細搜索。
基于改進PSO 的非均勻分簇算法如算法1 所示。
算法1基于改進PSO 的非均勻分簇算法
輸入LWSN 節(jié)點{n1,n2,···,nN+M}
輸出CH 節(jié)點{c1,c2,···,cN}
鐵路沿線 LWSN 可抽象為加權(quán)有向圖G=(V,E),CH 集是圖G中的頂點V={c1,c2,···,cN},圖G中的邊e={ci,cj}∈E 表示ci與cj間的傳輸路徑。廣度優(yōu)先搜索基本思想為:V 可分為已求出最短路徑的節(jié)點集合S與未確定節(jié)點集合U,從源節(jié)點出發(fā)依次搜索距離最小的下一跳CH 節(jié)點,更新與其相鄰的節(jié)點的距離,并將其加入S,直至U為空[30]。與之不同的是,本文構(gòu)建了能耗與時延驅(qū)動的路徑成本函數(shù),并將其作為廣度優(yōu)先搜索路由算法準(zhǔn)則。
3.2.1 路徑成本函數(shù)
為實現(xiàn)對監(jiān)測的有效預(yù)警,鐵路沿線LWSN 應(yīng)具備較高的實時性。路徑的端到端時延與轉(zhuǎn)發(fā)次數(shù)即傳輸跳數(shù)成正比[26],因此,本文以傳輸跳數(shù)來衡量網(wǎng)絡(luò)傳輸時延。此外,由式(2)和式(3)可知,WSN 節(jié)點接收、發(fā)送數(shù)據(jù)的能耗與節(jié)點間的距離及數(shù)據(jù)量有關(guān)。在構(gòu)建LWSN 路徑成本函數(shù)時,可通過調(diào)節(jié)接收、發(fā)送節(jié)點間距從而改變傳輸跳數(shù),同時為延長網(wǎng)絡(luò)生命周期,路徑成本還應(yīng)考慮節(jié)點能耗的均衡性。
ci接收數(shù)據(jù)的能耗為
ci發(fā)送數(shù)據(jù)至cj的能耗為
其中,dij為ci到cj的傳輸距離,可以表示為
ci的總能耗Ec(ci,ci+1)可以表示為
綜合考慮傳輸過程中CH 剩余能量、能耗、每跳CH 間的傳輸距離,構(gòu)建CH 路徑成本函數(shù)costij為
其中,λ1、λ2∈(0,1)分別為能耗因子、距離因子,E0為節(jié)點初始能量。網(wǎng)絡(luò)運行后期,節(jié)點剩余能量逐漸減少,λ1、λ2需動態(tài)更新,可表示為
3.2.2 路由算法設(shè)計
本文設(shè)計的路由算法同時考慮節(jié)點傳輸能耗與時延,基于廣度優(yōu)先搜索選取最優(yōu)的多跳主路徑,并在主路徑失敗后選擇備選路徑,以實現(xiàn)高效可靠的數(shù)據(jù)傳輸。
基于廣度優(yōu)先搜索的路由算法如算法2 所示。
算法2基于廣度優(yōu)先搜索的路由算法
輸入利用算法 1 選取的最優(yōu) CH 節(jié)點{c1,c2,···,cN}
輸出c1至sink 節(jié)點的最優(yōu)路徑
鐵路環(huán)境監(jiān)測區(qū)域狹長,當(dāng)個別CH 能量過低或出現(xiàn)故障時,易造成傳輸中斷。為此,將LWSN 路由維護問題建模為離散Markov 決策過程(MDP,Markov decision process)模型,并設(shè)計了基于Q-learning 的低能量節(jié)點保護與備選路徑更新機制,如圖2 所示。
3.3.1 基于Q-learning 的備選路徑更新
Q-learning 的基本思想是Agent 通過不斷與環(huán)境交互,以達到自主選擇最優(yōu)動作的目標(biāo)[31]。每個CH 可視為一個Agent,LWSN 即建模為多Agent系統(tǒng),每個Agent 在其鄰近的CH 中選擇下一跳,以建立最優(yōu)的備選路徑。在LWSN 中,狀態(tài)Sc(i)為ci及其相鄰簇頭的剩余能量、傳輸距離等信息;CH在 t 時刻根據(jù)環(huán)境狀態(tài)Sc(i)選擇動作ac(ij),分別表示選擇cj作為下一跳的立即獎賞和累計獎賞,則
t+1 時刻Q值更新為
其中,δ 為路徑更新學(xué)習(xí)因子。初始時刻Q值為0,各CH 收到相鄰CH 的學(xué)習(xí)信息,并根據(jù)信息選擇下一跳,Agent 根據(jù)接收的反饋信息獲得立即獎賞值來更新Q值,并不斷重復(fù)執(zhí)行動作和狀態(tài)轉(zhuǎn)移,直至Q(Sc(ij),ac(ij))滿足終止條件。
3.3.2 路由維護
為避免低能量節(jié)點擔(dān)任CH,在每一輪數(shù)據(jù)傳輸完成后,sink 節(jié)點將CH 剩余能量Er(ci)與能量閾值Eth進行比較,若Er(ci)小于Eth,則簇內(nèi)更新CH。Eth可表示為
設(shè)定路徑更新閾值 Δe,Δe 表示ci傳輸數(shù)據(jù)至下一跳所需的最小能量,可表示為
若ci滿足式(30),即說明主路徑失敗,從集合S中刪除該節(jié)點。
為了減少分簇過程中的能量消耗,不改變網(wǎng)絡(luò)分簇結(jié)構(gòu),在該簇內(nèi)找到競選能力值CE最大的cj擔(dān)任新簇頭,CE如式(31)所示。主路徑失敗后執(zhí)行3.3.1 節(jié)的Q-learning 路由算法,完成備選路徑更新。
基于Q-learning 的備選路徑更新與路由維護算法如算法3 所示。
算法3基于Q-learning 的備選路徑更新與路由維護算法
輸入算法2 選取的S中各節(jié)點的Er(ci),dij
輸出備選路徑
圖2 備選路徑更新與路由維護模型
利用MATLAB 仿真工具對本文設(shè)計的算法進行仿真分析,比較EEUC 算法[19]、分組傳輸機制[4]、POFC 算法[23]、IPSO(improved PSO)分簇路由算法[24]與本文算法的性能,并驗證本文算法在均衡節(jié)點能耗、延長網(wǎng)絡(luò)生命周期、降低傳輸時延等方面的有效性。具體仿真參數(shù)如表1 所示。
表1 仿真參數(shù)
適應(yīng)度權(quán)重系數(shù)α、β及γ分別體現(xiàn)了CH 能耗、CH 間距及CH 負載對分簇的影響。節(jié)點剩余能量均方差越小,網(wǎng)絡(luò)中節(jié)點能耗越均衡。
4.1.1 剩余能量均方差
為均衡網(wǎng)絡(luò)整體能耗,比較不同適應(yīng)度權(quán)重系數(shù)值對網(wǎng)絡(luò)剩余能量均方差的影響,以得到合理的適應(yīng)度函數(shù)權(quán)重系數(shù)。圖3 中,當(dāng)主要分析CH 能耗對分簇的影響時,能耗系數(shù)α取值較大,取α=0.7,令β=0.2、γ=0.1;當(dāng)主要考慮CH 間距對分簇的影響時,間距系數(shù)β較大,取β=0.7,令α=0.2、γ=0.1;當(dāng)主要考慮CH 負載對分簇的影響時,負載系數(shù)γ較大,取γ=0.7,令α=0.2、β=0.1;當(dāng)α、β及γ對分簇的影響較均衡時,權(quán)重系數(shù)取值差距減小,令α=0.4、β=0.3、γ=0.3,并與α=β=γ=1/3 時的情況進行對比。
圖3 節(jié)點剩余能量均方差對比
由圖3 可知,當(dāng)α較小時,曲線變化幅度較大,表明節(jié)點的剩余能量均方差較大;當(dāng)α較大,但β、γ較小時,曲線變化幅度有所減小;當(dāng)權(quán)重系數(shù)α、β、γ的差異性較小時,曲線變化平緩;當(dāng)權(quán)重系數(shù)取值為α=0.4、β=0.3、γ=0.3 時對應(yīng)的均方差最小,此時網(wǎng)絡(luò)生命周期最長。
4.1.2 分簇結(jié)構(gòu)
圖4 為不同適應(yīng)度權(quán)重系數(shù)值對分簇結(jié)果的影響。表2 給出了不同分簇結(jié)果中ci距相鄰下一跳ci+1的最大和最小CH 間距max(di)和min(di),最多和最少CM 節(jié)點數(shù)目max(Nci)和min(Nci)。表2 數(shù)據(jù)顯示,當(dāng)α值較大,但β、γ對分簇影響較小時,max(di)與min(di)之間的差值為229.58 m,max(Nci)與min(Nci)之間的差值為16,由于CH 間距差異較大且CM 節(jié)點數(shù)目差異較大造成CH 負載不均衡,如圖4(a)所示;當(dāng)β值較大時,CH 間距縮小,規(guī)模最小的簇僅加入了6 個CM 節(jié)點,3 個規(guī)模較大的簇吸引了53%的節(jié)點,導(dǎo)致CH 負載不均衡,如圖4(b)所示;當(dāng)γ值較大,但α、β對分簇影響較小時,CM 節(jié)點數(shù)目差異較小,但CH 位置趨于單側(cè)部署且CH 間距差異大、傳輸路徑單一,導(dǎo)致網(wǎng)絡(luò)穩(wěn)健性差,如圖4(c)所示;當(dāng)權(quán)重系數(shù)α、β、γ取值的差異性較小時,CH 節(jié)點位置分布均勻且CM 節(jié)點數(shù)目差異小,CH 負載較均衡,如圖4(d)和圖4(e)所示,且圖4(d)的CH 負載均衡性能最優(yōu)。因此,在后面的仿真分析中,選取適應(yīng)度權(quán)重系數(shù)值為α=0.4、β=0.3、γ=0.3。
圖4 不同適應(yīng)度權(quán)重系數(shù)值對分簇結(jié)果的影響
表2 不同分簇結(jié)果對比
圖5 為CH 節(jié)點能耗隨迭代次數(shù)的變化。由圖5 可知,不同權(quán)重系數(shù)對應(yīng)的CH 平均最低能耗分別為:α=0.7,β=0.2,γ=0.1 的CH 能耗為0.026 6 J;α=0.2,β=0.7,γ=0.1 的CH 能耗為0.028 5 J;α=0.2,β=0.1,γ=0.7 的CH 能耗為0.031 4 J;α=0.4,β=0.3,γ=0.3 的CH 能耗為的CH 能耗為0.024 7 J。α=0.4,β=0.3,γ=0.3的CH 能耗值相比其他權(quán)重系數(shù)對應(yīng)的CH 能耗值分別降低了11.28%、17.19%、24.84%、4.45%。
圖5 CH 節(jié)點能耗隨迭代次數(shù)的變化
網(wǎng)絡(luò)運行過程中節(jié)點平均剩余能量對比如圖6所示。EEUC 算法根據(jù)概率選取簇頭時僅考慮了CH與sink 節(jié)點的距離;IPSO 算法基于改進粒子群算法優(yōu)化分簇,在CH 選取及構(gòu)建路徑時忽略了整體負載均衡;在分組傳輸機制中,網(wǎng)絡(luò)中的數(shù)據(jù)通過多跳獨立路徑傳輸至sink 節(jié)點,CH 位置固定且各節(jié)點能耗不均勻;POFC 算法計算最優(yōu)分簇數(shù)時,假設(shè)CH 與sink 節(jié)點的距離均小于d0,所得最優(yōu)分簇數(shù)不適用于鏈狀監(jiān)測區(qū)域,導(dǎo)致CH 分布不合理,且分簇數(shù)發(fā)生變化時,重新成簇會增加額外的能量消耗。圖6 表明,與EEUC 算法、IPSO 算法、分組傳輸機制和POFC 算法相比,本文算法選擇CH及構(gòu)建非均勻分簇時考慮了網(wǎng)絡(luò)能耗均衡,且根據(jù)節(jié)點剩余能量動態(tài)調(diào)整傳輸路徑,并對低能量節(jié)點建立保護機制,因此能量消耗速度較慢,節(jié)點具有較多的剩余能量。
圖6 節(jié)點平均剩余能量對比
網(wǎng)絡(luò)生命周期對比如圖7 所示。隨著網(wǎng)絡(luò)運行,網(wǎng)絡(luò)中死亡節(jié)點數(shù)逐漸增加,直至節(jié)點全部死亡。本文將網(wǎng)絡(luò)中30%節(jié)點死亡時的輪數(shù)定義為網(wǎng)絡(luò)生命周期。相比于EEUC 算法、IPSO 算法、分組傳輸機制和POFC 算法,本文算法的網(wǎng)絡(luò)生命周期分別延長155.8%、66.7%、36.5%和49.6%。這是因為本文算法結(jié)合PSO 及廣度優(yōu)先搜索思想,綜合考慮CH 能耗、間距及負載對網(wǎng)絡(luò)整體能耗的影響,并采用基于Q-learning 的備選路徑更新機制,對低能量節(jié)點或故障節(jié)點進行路由維護,極大地延長了網(wǎng)絡(luò)生命周期。
圖7 網(wǎng)絡(luò)生命周期對比
式(24)中λ1和λ2分別體現(xiàn)了能耗因子和距離因子對路徑成本的影響。當(dāng)λ1取值較大時,改進路由算法趨于選取能耗較低的路徑;當(dāng)λ2取值較大時,改進路由算法趨于選取跳數(shù)較少的傳輸路徑。圖8、圖9 分別對比了不同λ1、λ2取值下CH 節(jié)點平均剩余能量、節(jié)點平均跳數(shù)的變化情況。表3 給出了不同λ1、λ2取值下運行至1 000 輪時節(jié)點的平均剩余能量、前1 000 輪的數(shù)據(jù)傳輸平均跳數(shù)和網(wǎng)絡(luò)生命周期。
圖8 節(jié)點平均剩余能量對比
圖9 節(jié)點平均跳數(shù)對比
表3 網(wǎng)絡(luò)傳輸時延與能耗均衡
由圖8、圖9 及表3 數(shù)據(jù)可知,當(dāng)λ1=1,λ2=0時,所選路徑能耗最?。ㄆ骄S嗄芰孔疃啵W(wǎng)絡(luò)生命周期也最長,但此時的平均跳數(shù)最大;當(dāng)λ1=0.2,λ2=0.8 時,平均跳數(shù)最少且在8 左右波動,但節(jié)點平均剩余能量最少,網(wǎng)絡(luò)生命周期最短。相比于這2 種情況,當(dāng)λ1=λ2=0.5 時,網(wǎng)絡(luò)能耗與時延達到了一定程度的均衡;隨著網(wǎng)絡(luò)的運行,節(jié)點平均剩余能量對網(wǎng)絡(luò)生命周期的影響更顯著,當(dāng)網(wǎng)絡(luò)運行至約1 000 輪時,網(wǎng)絡(luò)節(jié)點迅速死亡。若λ1、λ2動態(tài)更新,網(wǎng)絡(luò)運行至1 000 輪時節(jié)點平均剩余能量為0.214 J,比λ1=0.2、λ1=0.5 時分別提高0.188 J、0.047 J,比λ1=1 時降低0.069 J。當(dāng)λ1、λ2動態(tài)更新時,節(jié)點平均跳數(shù)為8.3,低于λ1=1、λ1=0.5 時的10.5 和9.1,高于λ1=0.2 時的7.6,因此,本文算法設(shè)計的路徑成本函數(shù)權(quán)值動態(tài)更新,優(yōu)化了CH 節(jié)點平均剩余能量與平均跳數(shù)的關(guān)系,在二者之間達到了良好的折中。
基于上述分析,令初始路徑成本因子λ1=λ2=0.5,并自適應(yīng)動態(tài)更新。EEUC 算法、分組傳輸機制、IPSO算法、POFC 算法與本文設(shè)計算法的平均跳數(shù)對比如圖10 所示。EEUC、IPSO、POFC 算法在數(shù)據(jù)傳輸階段僅以節(jié)點能耗均衡為目標(biāo)優(yōu)化傳輸路徑;本文算法構(gòu)建了能耗與時延驅(qū)動的路徑成本函數(shù),并基于廣度優(yōu)先搜索選取最優(yōu)的多跳傳輸路徑,前800 輪平均跳數(shù)最小。當(dāng)網(wǎng)絡(luò)運行至約1 100 輪時,EEUC 算法由于網(wǎng)絡(luò)能量耗盡跳數(shù)減小至0;IPSO 算法部分CH 死亡,CH 負載及傳輸距離增大,跳數(shù)減少的同時能耗增加;POFC 算法根據(jù)預(yù)設(shè)的節(jié)點傳輸距離計算的初始跳數(shù)值較大,使參與數(shù)據(jù)傳輸?shù)墓?jié)點數(shù)目較多,隨著網(wǎng)絡(luò)運行輪次的增加節(jié)點能耗增加,維持正常通信的CH 數(shù)目減少,平均跳數(shù)也隨之減少。分組傳輸機制中數(shù)據(jù)通過多條獨立的路徑傳輸至sink 節(jié)點,傳輸時延明顯較小,但該算法中CH 位置固定,當(dāng)網(wǎng)絡(luò)運行至約1 600 輪時,部分CH 節(jié)點死亡,平均跳數(shù)減少,每一跳的傳輸距離將增大,節(jié)點能耗急劇增加。可見,本文算法在均衡網(wǎng)絡(luò)能耗、延長網(wǎng)絡(luò)生命周期、降低傳輸時延等方面具有明顯優(yōu)勢。
圖10 不同算法的平均跳數(shù)對比
本文提出了一種適用于鏈狀監(jiān)測區(qū)域的基于PSO 優(yōu)化的線性WSN 分簇路由算法。改進PSO 算法綜合考慮能耗、距離及負載多個因素構(gòu)建非均勻分簇,低能量節(jié)點的保護機制也使網(wǎng)絡(luò)能耗更加均衡;數(shù)據(jù)傳輸階段基于節(jié)點剩余能量、能耗與傳輸距離規(guī)劃路徑,加入路徑成本函數(shù)權(quán)重系數(shù)的動態(tài)更新后,可根據(jù)節(jié)點剩余能量自適應(yīng)調(diào)整路徑;考慮到路由維護,本文算法還建立了基于Q-learning的備選路徑更新機制。仿真結(jié)果表明,本文算法與EEUC 算法、IPSO 算法、分組傳輸機制、POFC 算法相比,能夠有效均衡全局網(wǎng)絡(luò)能耗、延長網(wǎng)絡(luò)生命周期、降低傳輸時延。下一步研究將借助強化學(xué)習(xí)工具對算法的拓撲網(wǎng)絡(luò)進行優(yōu)化設(shè)計,進一步加快成簇階段的收斂速度、降低路由成本。