劉天凱,劉洪,鄭敏,譚沖?
(1 中國(guó)科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所, 上海 200050; 2 中國(guó)科學(xué)院大學(xué), 北京 100049)
隨著供電需求的增大和技術(shù)的發(fā)展,電網(wǎng)的容量在不斷增加,維護(hù)和檢測(cè)的成本也不斷提高。因此,在變電站或輸電線路上建立各類檢測(cè)系統(tǒng),通過傳感器收集各類環(huán)境信息,數(shù)據(jù)經(jīng)由無線網(wǎng)絡(luò)傳到監(jiān)測(cè)平臺(tái),做到無人值守,實(shí)時(shí)監(jiān)控,可以很大地節(jié)約成本。無線傳感器網(wǎng)絡(luò)(wireless sensor network,WSN)[1]具有自組織、低功耗、高魯棒性的特點(diǎn),適用于輸變電場(chǎng)景監(jiān)測(cè)區(qū)域廣、傳感器眾多的特點(diǎn)。WSN中的傳感器通常由電池供電[2],且難以更換,能耗是主要研究的一個(gè)問題。
針對(duì)這一問題,許多學(xué)者做了大量的研究。LEACH(low-energy adaptive clustering hierarchy)是由Heinzelman等[3]提出的基于分簇的路由協(xié)議,網(wǎng)絡(luò)中的節(jié)點(diǎn)隨機(jī)選出簇首,其他節(jié)點(diǎn)選擇簇首加入簇中,以此延長(zhǎng)網(wǎng)絡(luò)生命周期。但是,LEACH隨機(jī)選舉簇首,沒有考慮到節(jié)點(diǎn)能耗問題和位置因素,并且簇首到基站為單跳傳輸。對(duì)于上述問題,后來的學(xué)者從這幾個(gè)方面做了很多改進(jìn),Heinzelman 等[4]考慮了剩余能量的問題,又提出LEACH-C選擇能量值高于平均能量的節(jié)點(diǎn)作為簇首的候選節(jié)點(diǎn);黃利曉等[5]提出LEACH-improved加入距離因子和能量密度等因素去選舉簇首;Hu和Wang[6]提出EEUC,采用簇間多跳和非均勻分簇的方式,均衡了能耗;Lee和Kao[7]在分簇算法中引入邊緣度和雙能量閾值的算法考慮了各類節(jié)點(diǎn)的位置信息,同時(shí)對(duì)剩余能量的選擇進(jìn)行優(yōu)化;李安超和陳桂芬[8]提出一種3層結(jié)構(gòu)的分簇算法,改進(jìn)了分簇的模型,適用于大規(guī)模的無線傳感器網(wǎng)絡(luò)。同時(shí),匯聚節(jié)點(diǎn)移動(dòng)也作為一種平衡能耗的改進(jìn)方式,Gharaei等[9]采用移動(dòng)匯聚節(jié)點(diǎn)的方法,并使用人工蜂群優(yōu)化算法規(guī)劃了最優(yōu)路徑,但并不適用于常處于室外或布線復(fù)雜的輸變電環(huán)境。群智能算法作為優(yōu)化多峰函數(shù)的算法,一些學(xué)者在簇首選舉的過程中引入了群智能算法,Daneshvar等[10]使用灰狼優(yōu)化算法選舉簇首,提出雙跳路由算法,均衡了能耗、戴劍勇等[11]引入螢火蟲算法和BP神經(jīng)網(wǎng)絡(luò),考慮了簇首密度、簇首位置,對(duì)簇首選舉和路徑選擇進(jìn)行優(yōu)化;Singh等[12]引入粒子群算法,改善簇首分布不均的問題;武小年等[13]提出改進(jìn)粒子群優(yōu)化算法的分簇路由協(xié)議,把節(jié)點(diǎn)的剩余能量和位置因子作為粒子群優(yōu)化算法的目標(biāo),通過自適應(yīng)學(xué)習(xí)因子對(duì)粒子群優(yōu)化算法做了改進(jìn)。麻雀搜索算法(sparrow search algorithm,SSA)是由Xue和Shen[14]提出的一種模擬麻雀覓食和警戒行為的智能算法,在高維多峰的優(yōu)化上其求解成功率、收斂速度等方面表現(xiàn)優(yōu)異,已應(yīng)用于圖像分割[15]、三維無人機(jī)航空優(yōu)化[16]等場(chǎng)景。而輸變電場(chǎng)景中節(jié)點(diǎn)個(gè)數(shù)眾多,對(duì)于最優(yōu)簇首集合的選舉問題,SSA算法尋優(yōu)精度高,具有一定優(yōu)勢(shì),并且尚未應(yīng)用在簇首選舉當(dāng)中。
在輸變電的部分場(chǎng)景,如大型室外變電站,監(jiān)測(cè)區(qū)域大,傳感器眾多,難以供電,為了節(jié)約成本,傳感器的計(jì)算能力較低,不具有組網(wǎng)能力,無法成為“簇首節(jié)點(diǎn)”或中繼節(jié)點(diǎn),只能以單跳的方式傳輸進(jìn)行數(shù)據(jù)傳輸。根據(jù)上述場(chǎng)景,提出一種解決方案,布置計(jì)算能力較高的節(jié)點(diǎn)作為傳感器的中繼節(jié)點(diǎn),中繼節(jié)點(diǎn)進(jìn)行組網(wǎng),并選舉出一個(gè)節(jié)點(diǎn)作為整個(gè)網(wǎng)絡(luò)的網(wǎng)關(guān),稱為“無線網(wǎng)關(guān)”(wireless gateway),傳感器傳輸數(shù)據(jù)到中繼節(jié)點(diǎn),中繼節(jié)點(diǎn)收集數(shù)據(jù)后,進(jìn)行數(shù)據(jù)融合,通過中繼節(jié)點(diǎn)網(wǎng)絡(luò)傳輸?shù)綗o線網(wǎng)關(guān)節(jié)點(diǎn),無線網(wǎng)關(guān)節(jié)點(diǎn)以無線的方式(如4G模塊)將數(shù)據(jù)傳輸?shù)奖O(jiān)測(cè)平臺(tái)。中繼節(jié)點(diǎn)近似于常見無線傳感器網(wǎng)絡(luò)中的匯聚節(jié)點(diǎn)[17](sink node),具有以下功能:1)與傳感器通信;2)傳輸數(shù)據(jù)到監(jiān)測(cè)平臺(tái)。輸變電場(chǎng)景中,傳輸數(shù)據(jù)到監(jiān)測(cè)平臺(tái)的功能通常由4G模塊完成,4G模塊會(huì)定時(shí)向監(jiān)測(cè)平臺(tái)發(fā)送心跳和數(shù)據(jù),產(chǎn)生的能耗較大,大于相同時(shí)間下與單個(gè)傳感器通信產(chǎn)生的能耗。而中繼節(jié)點(diǎn)間也可以通過與傳感器通信的方式進(jìn)行組網(wǎng),并且產(chǎn)生的能耗會(huì)小于節(jié)點(diǎn)直接傳輸數(shù)據(jù)到監(jiān)測(cè)平臺(tái)的能耗。因此,本文主要研究的內(nèi)容為中繼節(jié)點(diǎn)間的組網(wǎng),提出一種輪換無線網(wǎng)關(guān)節(jié)點(diǎn)的路由協(xié)議(LEACH-WGR-SSA),防止無線網(wǎng)關(guān)節(jié)點(diǎn)過早死亡,并對(duì)無線網(wǎng)關(guān)節(jié)點(diǎn)的選舉進(jìn)行優(yōu)化。在LEACH的基礎(chǔ)上考慮了剩余能量、鄰接節(jié)點(diǎn)個(gè)數(shù)和位置信息,并引入麻雀搜索智能優(yōu)化算法對(duì)簇首選舉進(jìn)行優(yōu)化,同時(shí),為避免SSA陷入局部收斂,加入Levy飛行策略,獲得了較優(yōu)的簇首分布,延長(zhǎng)了網(wǎng)絡(luò)生存周期。
在輸變電場(chǎng)景中,大部分場(chǎng)景處于室外或因布線復(fù)雜,節(jié)點(diǎn)均由電池供電。與常見無線傳感器網(wǎng)絡(luò)的不同,本文中的網(wǎng)絡(luò)不包含能量無限的匯聚節(jié)點(diǎn),所有中繼節(jié)點(diǎn)均可與傳感器通信,并具有與監(jiān)測(cè)平臺(tái)通信的功能,選舉出的無線網(wǎng)關(guān)節(jié)點(diǎn)將數(shù)據(jù)傳輸?shù)奖O(jiān)測(cè)平臺(tái),其余中繼節(jié)點(diǎn)關(guān)閉該功能。圖1中的傳感器收集完變電站或輸電線路的環(huán)境信息后,接入到中繼節(jié)點(diǎn)。中繼節(jié)點(diǎn)之間進(jìn)行組網(wǎng),網(wǎng)絡(luò)每一輪先在中繼節(jié)點(diǎn)中選舉出無線網(wǎng)關(guān),再選舉出中繼節(jié)點(diǎn)的簇首節(jié)點(diǎn),普通的中繼節(jié)點(diǎn)選擇加入到最近的簇中。中繼節(jié)點(diǎn)收集完傳感器的信息后,將數(shù)據(jù)傳輸?shù)酱刂械拇厥坠?jié)點(diǎn),簇首節(jié)點(diǎn)再將數(shù)據(jù)傳輸?shù)綗o線網(wǎng)關(guān)。隨后,無線網(wǎng)關(guān)將整個(gè)網(wǎng)絡(luò)的信息上傳到監(jiān)測(cè)平臺(tái)。本文的主要研究?jī)?nèi)容為中繼節(jié)點(diǎn)的組網(wǎng)和對(duì)應(yīng)的路由算法,暫不考慮傳感器的接入。
圖1 輸變電網(wǎng)絡(luò)結(jié)構(gòu)組成Fig.1 Network structure of power transmission and substation
本文對(duì)輸變電網(wǎng)絡(luò)抽象并假設(shè):網(wǎng)絡(luò)中有N個(gè)中繼節(jié)點(diǎn),隨機(jī)分布在M×M的監(jiān)測(cè)區(qū)域,節(jié)點(diǎn)不會(huì)移動(dòng),節(jié)點(diǎn)初始能量相同,都具有位置信息、全局唯一ID、計(jì)算能力和數(shù)據(jù)融合能力,數(shù)據(jù)傳輸?shù)奖O(jiān)測(cè)平臺(tái)會(huì)產(chǎn)生一定的能耗。
由于變電站或者輸電線路監(jiān)測(cè)場(chǎng)景較大,如大型的室外變電站或者是多條輸電線路的交匯處,需要覆蓋的區(qū)域相對(duì)較大,因此,本文仿真選擇400 m×400 m的監(jiān)測(cè)區(qū)域。并且,輸變電場(chǎng)景中傳感器眾多,為減低能耗,通常通信半徑較小,仿真中設(shè)置傳感器的通信半徑20 m,根據(jù)正六邊形鑲嵌模型[18]計(jì)算出中繼節(jié)點(diǎn)最少為156個(gè),但是中繼節(jié)點(diǎn)為隨機(jī)放置,為保證對(duì)傳感器的全覆蓋,同時(shí)也為了降低死亡節(jié)點(diǎn)對(duì)覆蓋率的影響,設(shè)置200個(gè)中繼節(jié)點(diǎn)在監(jiān)測(cè)場(chǎng)景當(dāng)中。
組網(wǎng)過程將通過網(wǎng)絡(luò)初始化階段、無線網(wǎng)關(guān)節(jié)點(diǎn)選舉階段、簇首選舉及分簇階段和路由傳輸階段4部分完成。
中繼節(jié)點(diǎn)部署后,將進(jìn)行網(wǎng)絡(luò)初始化。首次建網(wǎng)將預(yù)設(shè)一個(gè)中繼節(jié)點(diǎn)作為前無線網(wǎng)關(guān)節(jié)點(diǎn)。各個(gè)節(jié)點(diǎn)將自己的全局ID、剩余能量、地理位置等報(bào)文發(fā)送給前無線網(wǎng)關(guān)。在完成無線網(wǎng)關(guān)的選舉或簇首的選舉后,廣播計(jì)算結(jié)果,所有節(jié)點(diǎn)收到選舉結(jié)果信息。
為均衡能耗,無線網(wǎng)關(guān)節(jié)點(diǎn)采用輪換的方式,前無線網(wǎng)關(guān)節(jié)點(diǎn)對(duì)收集的數(shù)據(jù)進(jìn)行整合,進(jìn)行無線網(wǎng)關(guān)節(jié)點(diǎn)的選舉。提出一種算法WGR(wireless gateway rotation),用于無線網(wǎng)關(guān)節(jié)點(diǎn)的選舉,考慮3個(gè)主要因素:
1) 中繼節(jié)點(diǎn)的剩余能量:無線網(wǎng)關(guān)節(jié)點(diǎn)選舉完成后,這個(gè)網(wǎng)絡(luò)將進(jìn)行分簇,無線網(wǎng)關(guān)節(jié)點(diǎn)也作為一個(gè)簇首。因此,無線網(wǎng)關(guān)節(jié)點(diǎn)的功能主要為以下3個(gè):接收分簇后簇首的數(shù)據(jù),接收簇內(nèi)節(jié)點(diǎn)的數(shù)據(jù),傳輸數(shù)據(jù)到監(jiān)測(cè)平臺(tái)。無線網(wǎng)關(guān)節(jié)點(diǎn)產(chǎn)生的能耗遠(yuǎn)高于其他節(jié)點(diǎn),因此,選擇剩余能量較高的節(jié)點(diǎn)作為無線網(wǎng)關(guān)節(jié)點(diǎn),防止過早死亡。
2) 中繼節(jié)點(diǎn)鄰接節(jié)點(diǎn)數(shù)量:無線網(wǎng)關(guān)節(jié)點(diǎn)也作為一個(gè)簇首,接收普通中繼節(jié)點(diǎn)的數(shù)據(jù),鄰接節(jié)點(diǎn)單跳傳輸?shù)酱厥桩a(chǎn)生的能耗較小,因此考慮鄰接節(jié)點(diǎn)的個(gè)數(shù)作為選舉無線網(wǎng)關(guān)節(jié)點(diǎn)的一個(gè)因素。其中節(jié)點(diǎn)i的鄰接節(jié)點(diǎn)集合表示為
Gi={j|d(i,j)≤R,j∈Galive},i∈Galive,
(1)
(2)
其中:d(i,j)為節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的距離,R為鄰接節(jié)點(diǎn)的范圍半徑,N為節(jié)點(diǎn)數(shù)量,M為監(jiān)測(cè)區(qū)域變長(zhǎng),p為簇首節(jié)點(diǎn)和無線網(wǎng)關(guān)在所有節(jié)點(diǎn)中的占比,Galive是存活節(jié)點(diǎn)的集合。
3) 中繼節(jié)點(diǎn)到所有存活節(jié)點(diǎn)質(zhì)心的距離:為保證整個(gè)網(wǎng)絡(luò)能量負(fù)載的均衡,將無線網(wǎng)關(guān)節(jié)點(diǎn)放置于中心的位置可以減少平均的傳輸距離和跳數(shù),因此,將中繼節(jié)點(diǎn)到所有存活節(jié)點(diǎn)質(zhì)心的距離作為一個(gè)考慮因素。
pWG(i)為無線網(wǎng)關(guān)節(jié)點(diǎn)選舉的權(quán)值函數(shù):
(3)
(4)
(5)
(6)
其中:α+β+δ=1,α,β,δ∈(0,1);Enode(i)是i節(jié)點(diǎn)的剩余能量;E(Enode)是節(jié)點(diǎn)平均剩余能量;Nneighbor(i)是i節(jié)點(diǎn)的鄰接節(jié)點(diǎn)個(gè)數(shù);E(Nneigbor)為所有存活節(jié)點(diǎn)平均的鄰接節(jié)點(diǎn)數(shù);dtoCT(i)是節(jié)點(diǎn)i距離存活節(jié)點(diǎn)集合質(zhì)心的距離;E(dtoCT)是所有存活節(jié)點(diǎn)距離存活節(jié)點(diǎn)集合質(zhì)心的距離平均值;n為所有存活節(jié)點(diǎn)個(gè)數(shù);Galive是存活節(jié)點(diǎn)的集合。
iopt∈max(pWG(i),i∈Galive).
(7)
編號(hào)為iopt的節(jié)點(diǎn)成為無線網(wǎng)關(guān)節(jié)點(diǎn),無線網(wǎng)關(guān)節(jié)點(diǎn)選舉完成。
α,β,δ的選擇對(duì)仿真的結(jié)果有重要的影響。其中α為中繼節(jié)點(diǎn)剩余能量因子的加權(quán)因子,在整個(gè)網(wǎng)絡(luò)的初期,各個(gè)節(jié)點(diǎn)剩余能量較多,對(duì)能量的敏感度較小,因此前期選擇降低剩余能量因子。網(wǎng)絡(luò)傳輸?shù)竭_(dá)一定的時(shí)間,各個(gè)節(jié)點(diǎn)的剩余能量所剩不多,容易死亡,因此剩余能量對(duì)網(wǎng)絡(luò)生命周期影響較大,應(yīng)提高α的大小。β為中繼節(jié)點(diǎn)鄰接節(jié)點(diǎn)數(shù)量因子的加權(quán)因子,對(duì)于分布不均勻的網(wǎng)絡(luò),可以提高該因子。δ為中繼節(jié)點(diǎn)到所有存活節(jié)點(diǎn)質(zhì)心距離的加權(quán)因子,該因子影響這個(gè)網(wǎng)絡(luò)的平均傳輸距離,影響著每一輪的傳輸能耗,對(duì)于節(jié)點(diǎn)剩余能量較少的情況,為減少節(jié)點(diǎn)的死亡速度,均衡能耗,α重要性要高于δ。多次實(shí)驗(yàn)表明:在節(jié)點(diǎn)總剩余能耗減少一半之前,設(shè)置α為0.3,β為0.2,δ為0.5;節(jié)點(diǎn)總能耗減少一半后,設(shè)置α為0.6,β為0.2,δ為0.2,仿真結(jié)果較優(yōu)。本文的仿真使用上述的參數(shù)和方法。
無線網(wǎng)關(guān)節(jié)點(diǎn)選舉完成后,整個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)與常見的傳感器網(wǎng)絡(luò)類似,采用分簇路由機(jī)制可以均衡網(wǎng)絡(luò)的能耗,防止無線網(wǎng)關(guān)周圍的“熱點(diǎn)節(jié)點(diǎn)”迅速死亡。
前無線網(wǎng)關(guān)節(jié)點(diǎn)選擇簇首并建立分簇。本文采用麻雀搜索算法對(duì)簇首的分布進(jìn)行優(yōu)化,優(yōu)化目標(biāo)為提高簇首節(jié)點(diǎn)的剩余能量在所有存活節(jié)點(diǎn)中的占比,減少每輪傳輸?shù)哪芎?。并且為加速收斂,?duì)種群初始化進(jìn)行優(yōu)化,考慮3個(gè)因素:中繼節(jié)點(diǎn)的剩余能量、中繼節(jié)點(diǎn)鄰接節(jié)點(diǎn)數(shù)、到無線網(wǎng)關(guān)節(jié)點(diǎn)的距離。雖然SSA具有強(qiáng)大的局部搜索能力,但與多種群智能優(yōu)化算法類似,容易陷入局部最優(yōu),因此,使用Levy飛行策略進(jìn)行改進(jìn)。
2.3.1 麻雀搜索算法
該算法主要分為以下幾個(gè)步驟:
1) 種群初始化
(8)
i∈[1,dpop],j∈[1,Npop].
(9)
2) 計(jì)算適應(yīng)度函數(shù)
適應(yīng)度函數(shù)是智能優(yōu)化算法不斷迭代優(yōu)化的指標(biāo)。定義適應(yīng)度函數(shù)為
(10)
其中,f(x)為每個(gè)種群向量的適應(yīng)度函數(shù)。根據(jù)適應(yīng)度對(duì)種群i進(jìn)行排序。
3) 更新發(fā)現(xiàn)者位置
算法中包含3個(gè)角色:發(fā)現(xiàn)者、加入者和警戒者。發(fā)現(xiàn)者和加入者是可以相互轉(zhuǎn)化的,但是總比例不變。發(fā)現(xiàn)者負(fù)責(zé)覓食并為加入者找到尋優(yōu)方向,發(fā)現(xiàn)者更新的公式如下
(11)
4) 更新加入者位置
加入者的更新公式為
(12)
其中:Xbest為當(dāng)前最優(yōu)位置,Xworst為最差位置;A+為1×dpop的矩陣,矩陣的值為1和-1隨機(jī)分布,并且滿足A+=AT(AAT)-1。當(dāng)i>Npop/2時(shí),表示未獲得食物,將會(huì)去其他位置搜索。
5) 更新警戒者位置
警戒者的更新公式為
(13)
其中:χ~N(0,1)作為步長(zhǎng),H為-1到1的隨機(jī)數(shù);fi,fw,fg分別為當(dāng)前種群麻雀的適應(yīng)度值,當(dāng)前最差的適應(yīng)度值和最佳的適應(yīng)度值。fi>fg表示麻雀在整個(gè)種群中處于較差的位置;fi=fg表示麻雀意識(shí)到危險(xiǎn),靠近其他的麻雀。
6) 迭代并更新位置
重復(fù)步驟3)~步驟5)直至低于閾值或達(dá)到迭代次數(shù)。
2.3.2 Levy飛行策略優(yōu)化
Levy飛行屬于馬爾可夫過程,這是一種特殊的隨機(jī)游走策略,它結(jié)合了短距離搜索和偶爾的跳遠(yuǎn)。因此,Levy飛行策略[19]可以增加種群的多樣性。Levy飛行策略遵循如下公式
L(S)~|S|-1-η(0<η<2).
(14)
由于其分布較為復(fù)雜,常使用Mantegna算法進(jìn)行模擬。
(15)
(16)
δv=1.
(17)
其中:S為隨機(jī)步長(zhǎng),θ和ω服從正態(tài)分布,τ為標(biāo)準(zhǔn)gamma函數(shù)。
由于發(fā)現(xiàn)者經(jīng)常引導(dǎo)其他麻雀對(duì)位置進(jìn)行更新,而實(shí)驗(yàn)表明,Levy飛行對(duì)其他的角色影響很小,因此只使用Levy飛行策略用來更新發(fā)現(xiàn)者的位置。
將公式(11)更新為
(18)
(19)
其中ξ為步長(zhǎng)。2.3.1中步驟3)中式(11)更為式(18)。
2.3.3 簇首選舉
簇首選舉過程按照麻雀搜索的優(yōu)化算法的步驟進(jìn)行:
1) 種群初始化
為均衡能耗并加速智能算法的收斂,對(duì)種群初始化階段進(jìn)行優(yōu)化,將考慮3個(gè)因素:節(jié)點(diǎn)的剩余能量、節(jié)點(diǎn)到基站的距離、節(jié)點(diǎn)的鄰接節(jié)點(diǎn)的個(gè)數(shù)。與上文無線網(wǎng)關(guān)節(jié)點(diǎn)選舉類似:
(20)
(21)
其中:ο+ρ+υ=1,ο,ρ,υ∈(0,1);Enode(i)是i節(jié)點(diǎn)的剩余能量,E(Enode)是節(jié)點(diǎn)平均剩余能量;Nneighbor(i)是i節(jié)點(diǎn)的鄰接節(jié)點(diǎn)個(gè)數(shù),E(Nneigbor)為所有存活普通節(jié)點(diǎn)平均的鄰接節(jié)點(diǎn)數(shù);dtoWG(i)是節(jié)點(diǎn)i距離無線網(wǎng)關(guān)節(jié)點(diǎn)的距離,E(dtoWG)是所有存活普通節(jié)點(diǎn)距離無線網(wǎng)關(guān)節(jié)點(diǎn)的距離平均值;Gnode是普通節(jié)點(diǎn)的集合。pcluster(i)是簇首的選舉公式。
根據(jù)pcluster(i)對(duì)節(jié)點(diǎn)由大到小排序,選擇前50%的節(jié)點(diǎn)作為候選節(jié)點(diǎn)。對(duì)于每一個(gè)種群從候選節(jié)點(diǎn)隨機(jī)取出不重復(fù)的K個(gè)值,作為單個(gè)種群的一個(gè)向量。構(gòu)建種群初始值之后,為了防止局部最優(yōu),將UB、LB即節(jié)點(diǎn)編號(hào)的上下界,設(shè)置為整個(gè)存活節(jié)點(diǎn)的編號(hào)區(qū)間。其中根據(jù)文獻(xiàn)[20],較優(yōu)的簇首個(gè)數(shù)為
(22)
其中:n為存活節(jié)點(diǎn)個(gè)數(shù),εfs和εmp分別為自由空間模型和多路衰減模型的功放因子參數(shù),M為監(jiān)測(cè)區(qū)域邊長(zhǎng),Eelec為電路損耗能量,dtoWG為節(jié)點(diǎn)到無線網(wǎng)關(guān)的距離期望[21]。
2) 計(jì)算適應(yīng)度函數(shù)
適應(yīng)度函數(shù)的確定是算法中最為重要的步驟,不斷迭代得到較低的適應(yīng)度值是麻雀尋優(yōu)算法的優(yōu)化目標(biāo)。選舉簇首的優(yōu)化目標(biāo)有以下3個(gè):
① 提高簇首節(jié)點(diǎn)的剩余能量占所有存活節(jié)點(diǎn)的比例:為防止節(jié)點(diǎn)迅速死亡,簇首節(jié)點(diǎn)應(yīng)具有較高的能耗,因此,定義能量適應(yīng)度函數(shù)為
(23)
其中:Enode為普通節(jié)點(diǎn)的能量,ECH為簇首節(jié)點(diǎn)的能量。
② 降低簇內(nèi)數(shù)據(jù)傳輸?shù)哪芎模捍貎?nèi)數(shù)據(jù)傳輸?shù)哪芎呐c簇內(nèi)節(jié)點(diǎn)到簇首的距離正相關(guān),因此,定義簇間距離的適應(yīng)度函數(shù)為
(24)
其中:d(j,i)表示第j個(gè)簇中第i個(gè)節(jié)點(diǎn)到簇首的距離,nc(j)表示第j個(gè)簇內(nèi)的節(jié)點(diǎn)個(gè)數(shù)。
③ 降低簇間數(shù)據(jù)傳輸?shù)哪芎模捍厥组g傳輸數(shù)據(jù)的能耗與到無線網(wǎng)關(guān)節(jié)點(diǎn)的距離正相關(guān),因此,定義距離無線網(wǎng)關(guān)節(jié)點(diǎn)距離的適應(yīng)度函數(shù)為
(25)
其中:dtoWG(i)為第i個(gè)簇首到無線網(wǎng)關(guān)節(jié)點(diǎn)的距離。因此適應(yīng)度函數(shù)為
F=φf1+φf2+γf3.
(26)
其中:φ,φ,γ為3類適應(yīng)度函數(shù)的權(quán)重,φ+φ+γ=1,φ,φ,γ∈(0,1)。計(jì)算每個(gè)種群的適應(yīng)度值,進(jìn)行排序。
φ,φ,γ這3個(gè)權(quán)重對(duì)仿真有重要的影響,與無線網(wǎng)關(guān)的選舉類似,經(jīng)過多次試驗(yàn),對(duì)這3個(gè)參數(shù)的選擇采取以下策略:設(shè)置φ為0.3,φ為0.5,γ為0.2;節(jié)點(diǎn)總能耗減少一半后,設(shè)置φ為0.5,φ為0.3,γ為0.2。
3) 更新位置
按照2.3.1中步驟3)~步驟6)進(jìn)行。
4) 選出簇首
迭代完成后,選出較優(yōu)的簇首。
本文提出的SSA簇首選舉的算法框架如表1所示。
表1 SSA簇首選舉算法框架Table 1 SSA cluster head election algorithm framework
2.3.4 分簇建立
簇首選舉完成后,前無線網(wǎng)關(guān)節(jié)點(diǎn)通過廣播
的方式通知所有節(jié)點(diǎn)新的無線網(wǎng)關(guān)節(jié)點(diǎn)和簇首。普通節(jié)點(diǎn)選擇距離最近的簇首或無線網(wǎng)關(guān)節(jié)點(diǎn)進(jìn)行接入。
簇內(nèi)節(jié)點(diǎn)通過單跳的方式將數(shù)據(jù)傳輸?shù)酱厥?,簇首?duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)融合。如果簇首距離無線網(wǎng)關(guān)節(jié)點(diǎn)過遠(yuǎn),會(huì)產(chǎn)生大量的能耗,因此,采用簇首間多跳的方式傳輸數(shù)據(jù)。簇首和無線網(wǎng)關(guān)節(jié)點(diǎn)按照prim算法計(jì)算最小生成樹,無線網(wǎng)關(guān)節(jié)點(diǎn)作為根節(jié)點(diǎn)。
考慮到簇首間的傳輸能耗和剩余能量,防止中繼節(jié)點(diǎn)能耗過低還要承擔(dān)轉(zhuǎn)發(fā)的能耗。因此,定義簇首間的權(quán)值為
(27)
其中:ETx(i,j)為i傳輸?shù)絡(luò)的能量;Enode(i),Enode(j)為節(jié)點(diǎn)i,j的剩余能量。按照該權(quán)值構(gòu)成簇首間的生成樹。
本文采用LEACH的能耗模型,根據(jù)不同的距離采用自由空間模型或多路衰減模型。其中d為節(jié)點(diǎn)間的距離,k為一組數(shù)據(jù)的比特?cái)?shù),d0為距離門限,εfs和εmp分別為自由空間模型和多路衰減模型的功放因子參數(shù),Eelec為每傳輸1 bit數(shù)據(jù)產(chǎn)生的能耗,EDA為每融合1 bit數(shù)據(jù)的能耗,距離為d傳輸kbit數(shù)據(jù)的發(fā)送能耗和接收能耗分別為ETx(k,d)和ERx(k),融合kbit的融合能耗為分別為:
(28)
ERx(k)=kEelec.
(29)
EDA(m)=mEDA.
(30)
(31)
仿真初始化的過程中,傳輸自身剩余能量和位置信息大小為200 bit,無線網(wǎng)關(guān)廣播的無線網(wǎng)關(guān)選舉結(jié)果的信息大小為100 bit,廣播簇首選舉結(jié)果信息大小為200 bit,無線網(wǎng)關(guān)廣播的距離為覆蓋所有節(jié)點(diǎn)的最大半徑。
無線網(wǎng)關(guān)傳輸數(shù)據(jù)到檢測(cè)平臺(tái)每一輪的能耗同樣滿足上述的能耗模型,仿真中,假設(shè)每隔200 m存在一個(gè)基站用來接收無線網(wǎng)關(guān)的數(shù)據(jù),設(shè)置無線網(wǎng)關(guān)上傳經(jīng)過數(shù)據(jù)融合的數(shù)據(jù)的大小為4 000 bit,傳輸半徑為200 m,計(jì)算出無線網(wǎng)關(guān)傳輸?shù)奖O(jiān)測(cè)平臺(tái)每輪傳輸能耗為8.52×106nJ。
分別使用LEACH,LEACH-WGR,LEACH-WGR-SSA,LEACH-WGR-PSO等4種算法在相同參數(shù)下進(jìn)行模擬。PSO算法作為群智能優(yōu)化算法,被多位學(xué)者引入到分簇路由算法當(dāng)中,比較適用于輸變電場(chǎng)景監(jiān)測(cè)區(qū)域大,節(jié)點(diǎn)數(shù)量多的特點(diǎn),因此選擇PSO算法進(jìn)行對(duì)比。本文使用網(wǎng)絡(luò)模型與常用模型有所不同,通常LEACH算法中匯聚節(jié)點(diǎn)位置不變且能量無限,本文對(duì)應(yīng)的無線網(wǎng)關(guān)節(jié)點(diǎn)能量有限、可以輪轉(zhuǎn),并且會(huì)產(chǎn)生傳輸數(shù)據(jù)到監(jiān)測(cè)平臺(tái)的能耗。因此,本文基于LEACH的仿真,對(duì)于無線網(wǎng)關(guān)節(jié)點(diǎn)的處理為隨機(jī)選舉。網(wǎng)絡(luò)的相關(guān)實(shí)驗(yàn)環(huán)境和參數(shù)設(shè)置如表2所示。
表2 仿真參數(shù)表Table 2 Simulation parameters
表3和圖2(a)為4種算法下節(jié)點(diǎn)死亡率的對(duì)比。仿真結(jié)果表明,當(dāng)50%的節(jié)點(diǎn)死亡時(shí),LEACH-WGR的輪數(shù)相較于LEACH延長(zhǎng)35.1%。同時(shí),采用麻雀搜索算法優(yōu)化的LEACH-WGR-SSA相較于LEACH和LEACH-WGR提高121.6%和64.1%,比同類智能算法PSO(粒子群優(yōu)化算法)增加6.5%,延長(zhǎng)了業(yè)務(wù)較多的網(wǎng)絡(luò)前期,從而增加了整個(gè)網(wǎng)絡(luò)的業(yè)務(wù)量。WGR的算法綜合考慮到無線網(wǎng)關(guān)節(jié)點(diǎn)的剩余能量、地理位置及鄰接節(jié)點(diǎn)個(gè)數(shù),減少了整個(gè)網(wǎng)絡(luò)傳輸?shù)木嚯x和跳數(shù),均衡了能耗,減緩了節(jié)點(diǎn)的死亡。采用麻雀搜索算法對(duì)簇首選舉進(jìn)行優(yōu)化,在種群初始化和適應(yīng)度函數(shù)的選取上,均考慮了剩余能量因素、簇內(nèi)節(jié)點(diǎn)傳輸距離和到無線網(wǎng)關(guān)節(jié)點(diǎn)的距離,做到減少每輪傳輸?shù)哪芎暮湍芰康木?,同時(shí)麻雀搜
表3 節(jié)點(diǎn)死亡率表Table 3 Percentage death nodes
索算法通過警戒和發(fā)現(xiàn)的模式,加入一些擾動(dòng),同時(shí)加入Levy飛行策略,避免尋優(yōu)過程陷入局部最優(yōu),得到了較好的適應(yīng)度值。
LEACH-WGR延長(zhǎng)了網(wǎng)絡(luò)的生存周期,相較于LEACH、LEACH-WGR、LEACH-WGR-PSO分別延長(zhǎng)31.3%、8.5%、5.3%。相較于常見的無線傳感器網(wǎng)絡(luò),增長(zhǎng)效果有限,因?yàn)闊o線網(wǎng)關(guān)傳輸數(shù)據(jù)到監(jiān)測(cè)平臺(tái)每輪的損耗較高,即使進(jìn)行了優(yōu)化,節(jié)點(diǎn)的每輪能量損耗是固定的,過高的能耗導(dǎo)致節(jié)點(diǎn)的迅速死亡。
圖2(b)為傳輸數(shù)據(jù)包數(shù)的對(duì)比。當(dāng)網(wǎng)絡(luò)運(yùn)轉(zhuǎn)結(jié)束,LEACH、LEACH-WGR、LEACH-WGR-PSO、LEACH-WGR-SSA傳輸?shù)臄?shù)據(jù)包數(shù)分別為3 339、4 267、8 878、9 788,LEACH-WGR-SSA相較于其他算法提高了193.1%、129.4%、10.3%,LEACH-WGR-SSA傳輸?shù)陌鼣?shù)遠(yuǎn)高于LEACH和LEACH-WGR。說明LEACH-WGR-SSA算法的能量效率較高,每輪數(shù)據(jù)傳輸?shù)哪芰枯^少,能量分配均衡,存活的節(jié)點(diǎn)越多,傳輸?shù)臄?shù)據(jù)也就越多。
圖2 節(jié)點(diǎn)存活數(shù)量和傳輸數(shù)據(jù)包數(shù)對(duì)比Fig.2 Comparison of number of alive nodes and transmission data among algorithms
圖3為L(zhǎng)EACH-WGR-PSO和LEACH-WGR-SSA在相同條件下的收斂情況對(duì)比,LEACH-WGR-PSO在39輪后收斂,LEACH-WGR-SSA在34輪收斂。雖然收斂次數(shù)接近,但LEACH-WGR-SSA算法尋優(yōu)的最佳適應(yīng)度值優(yōu)于LEACH-WGR-PSO。因此,LEACH-WGR-SSA在此場(chǎng)景下具有一定的優(yōu)勢(shì)。
圖3 收斂情況對(duì)比Fig.3 Comparison of iterative convergence among algorithms
本文針對(duì)輸變電場(chǎng)景傳感器眾多,并且沒有組網(wǎng)能力的特點(diǎn),提出采用計(jì)算能力高的中繼節(jié)點(diǎn)收集傳感器信息,并對(duì)中繼節(jié)點(diǎn)進(jìn)行組網(wǎng)的解決方案,并根據(jù)這一方案,研究中繼節(jié)點(diǎn)間的組網(wǎng),提出一種輪換無線網(wǎng)關(guān)節(jié)點(diǎn)的路由分簇算法,同時(shí)加入麻雀搜索的智能優(yōu)化算法,優(yōu)化簇首的選舉。對(duì)于無線網(wǎng)關(guān)節(jié)點(diǎn)的選舉考慮到了節(jié)點(diǎn)剩余能量、距離質(zhì)心的位置和鄰接節(jié)點(diǎn)個(gè)數(shù);對(duì)于中繼節(jié)點(diǎn)的選舉同樣考慮了節(jié)點(diǎn)剩余能量和鄰接節(jié)點(diǎn)個(gè)數(shù),也考慮到無線網(wǎng)關(guān)節(jié)點(diǎn)的距離。同時(shí)加入Levy飛行策略對(duì)SSA算法中發(fā)現(xiàn)者位置更新進(jìn)行優(yōu)化,防止算法陷入局部最優(yōu)。仿真結(jié)果表明,該算法延長(zhǎng)了網(wǎng)絡(luò)的生存周期,均衡了能耗,同時(shí)改進(jìn)后的麻雀搜索算法尋優(yōu)能力在該場(chǎng)景下有一定的優(yōu)勢(shì)。
雖然LEACH-WGR-SSA算法在仿真中取得了較好的結(jié)果,但并未考慮到傳感器到中繼節(jié)點(diǎn)的接入,傳感器接入的個(gè)數(shù)和傳輸?shù)臄?shù)據(jù)量對(duì)整個(gè)網(wǎng)絡(luò)的能耗有一定的影響。后續(xù)的研究將考慮這一因素,對(duì)算法和模型進(jìn)行改進(jìn),運(yùn)用到真實(shí)的場(chǎng)景中。