孫 環(huán),陳宏濱
(桂林電子科技大學信息與通信學院,廣西桂林 541004)
(*通信作者電子郵箱chbscut@guet.edu.cn)
目前,無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)是物聯(lián)網(wǎng)研究的熱點領(lǐng)域之一,通過無線方式進行數(shù)據(jù)交換,在智能家居、軍事勘測、遠程醫(yī)療、交通等眾多領(lǐng)域都取得了一些應(yīng)用成果[1-2]。同時,在WSN 領(lǐng)域中,節(jié)點部署問題是主要研究之一[3-4]。合理的節(jié)點部署策略不僅可以提高網(wǎng)絡(luò)數(shù)據(jù)傳輸效率和網(wǎng)絡(luò)資源利用率,還可以根據(jù)實際應(yīng)用需求的變化改變節(jié)點的數(shù)目以及狀態(tài),動態(tài)地調(diào)整網(wǎng)絡(luò)狀況。文獻[5]中提出了一種基于蟻群優(yōu)化算法的WSN 節(jié)點部署策略,主要針對節(jié)點的盲目連接以及網(wǎng)絡(luò)中盲目地進行負載均衡部署,分別設(shè)計了基于組的連接機制和負載均衡部署機制,有效降低了部署成本;但該部署策略沒有考慮網(wǎng)絡(luò)的最大化覆蓋問題。文獻[6]中提出了一種自然啟發(fā)式的離散螢火蟲算法(Firefly Algorithm,F(xiàn)A),用于WSN 中的最佳移動數(shù)據(jù)收集,有效減少了移動距離,提高了能源效率。文獻[7]中通過使用混合粒子群算法的FA 進行節(jié)點部署,實現(xiàn)簇頭(Cluster Head,CH)的最佳定位,有效改善了網(wǎng)絡(luò)生命周期。文獻[8]中針對簇頭負載不均衡問題,提出了一種非均勻密度WSN 節(jié)點的部署方案。該方案使得簇頭能保持均勻的能量消耗,從而延長了網(wǎng)絡(luò)生命周期。文獻[9]中針對多種不同類型的需求提出了不同的部署策略:對于確定性和基于網(wǎng)格的部署問題,提出了一種基于成本的部署算法,即節(jié)點進行最短距離的連接,最小化移動距離,從而最小化部署成本;此外,針對節(jié)點的負載情況,提出了基于網(wǎng)絡(luò)生命周期的部署算法,在負載過大的節(jié)點附近部署額外的節(jié)點,提高了網(wǎng)絡(luò)生存周期,但該算法依賴較多的傳感器節(jié)點。
文獻[10]中利用改進正弦余弦算法進行節(jié)點部署優(yōu)化,實驗結(jié)果表明利用該算法部署的節(jié)點覆蓋率優(yōu)于改進粒子群優(yōu)化算法和改進灰狼優(yōu)算法,有效提高了網(wǎng)絡(luò)節(jié)點覆蓋率。文獻[11]中提出了一種自適應(yīng)節(jié)點部署算法,利用最少的傳感器節(jié)點數(shù)目達到最大化網(wǎng)絡(luò)覆蓋范圍目標,同時減小了節(jié)點的總移動距離。文獻[12]中通過研究傳感器節(jié)點數(shù)量對部署的影響,提出了一種實現(xiàn)覆蓋最大化的部署方案;但該方案只是單一地進行傳感器數(shù)量的研究,沒有考慮整個網(wǎng)絡(luò)的能耗均衡。文獻[13]中研究了一種具有無參數(shù)配置的異構(gòu)無線傳感器節(jié)點部署算法。該算法分為兩個部分:首先利用Delaunay 三角剖分方法查找出最大的覆蓋空洞;然后,采用eVForce方法避開障礙物進行節(jié)點的部署。仿真結(jié)果表明,該算法的性能優(yōu)于隨機部署和傳統(tǒng)的Delaunay 三角網(wǎng)部署,并提高了節(jié)點異構(gòu)傳感器網(wǎng)絡(luò)的覆蓋范圍和網(wǎng)絡(luò)生命周期。文獻[14]中提出了一種基于改進FA 的移動無線傳感器網(wǎng)絡(luò)覆蓋優(yōu)化方案,通過快速地移動最密集區(qū)域節(jié)點的方式,使得WSN 在最短時間內(nèi)達到最大覆蓋范圍,從而擴大了網(wǎng)絡(luò)范圍,獲取了更好的無線傳感器網(wǎng)絡(luò)分布;節(jié)點的能耗均衡問題在傳感器節(jié)點的部署過程中很重要,它決定了網(wǎng)絡(luò)的運行狀況,但在上述研究中并未考慮。
文獻[15]中提出了一種中繼節(jié)點能量感知部署方案,研究了能源豐富和能源有限兩類節(jié)點的部署,通過考慮節(jié)點的能源情況,移動中繼節(jié)點;該部署方案確保了可持續(xù)的覆蓋,延長了網(wǎng)絡(luò)的生命周期,但是移動節(jié)點的能耗比較大。文獻[16]中利用FA來確定傳感器的最佳位置,最小化傳感器網(wǎng)絡(luò)的目標覆蓋和網(wǎng)絡(luò)連接時間。文獻[17]中提出了一種混沌FA 的無線傳感器網(wǎng)絡(luò)節(jié)點分布優(yōu)化策略,有效地實現(xiàn)了網(wǎng)絡(luò)節(jié)點的優(yōu)化部署,并且具有優(yōu)化效果好、穩(wěn)定性好、魯棒性強的優(yōu)點。文獻[18]中提出了一種基于節(jié)點能耗均衡的分區(qū)域節(jié)點重部署算法,利用虛擬力對不同區(qū)域的節(jié)點進行移動,降低移動能耗;但在節(jié)點分布過密或過疏的初始情況下,節(jié)點移動數(shù)目多且頻繁,距離匯聚節(jié)點較近的節(jié)點能耗較大,縮短了網(wǎng)絡(luò)生命周期。
針對上述研究中的能量空洞問題,本文綜合考慮網(wǎng)絡(luò)負載和節(jié)點能耗,提出了一種基于FA的無線傳感器網(wǎng)絡(luò)節(jié)點重部署(Node Redeployment Based on FA,NRBFA)策略。首先,建立一種節(jié)點非均勻部署的網(wǎng)絡(luò)模型,將節(jié)點隨機分布在網(wǎng)絡(luò)中,利用k-means 算法[19]對節(jié)點進行分簇,在滿足覆蓋要求的情況下,篩選出冗余節(jié)點,使其進入休眠狀態(tài)(此時冗余節(jié)點不進行感知和發(fā)送數(shù)據(jù));然后,當無線傳感器網(wǎng)絡(luò)運行一段時間后,由于簇頭承擔著大量的數(shù)據(jù)融合和傳輸任務(wù),導致簇頭的能量快速消耗,當其剩余能量消耗達到一定閾值時,即小于網(wǎng)絡(luò)中存活的非冗余節(jié)點的剩余能量平均值的2/5時,不再進行數(shù)據(jù)傳輸,此時喚醒冗余節(jié)點,利用FA 移動冗余節(jié)點對網(wǎng)絡(luò)節(jié)點進行重部署。換句話說,就是將節(jié)點的剩余能量和節(jié)點間的歐氏距離作為兩個吸引力,通過計算選出吸引力最大的節(jié)點,即最佳冗余節(jié)點,去替換簇頭,成為新的簇頭,再進行數(shù)據(jù)傳輸。同時,原簇頭也通過FA 尋找目標節(jié)點,即具有最大吸引力的普通節(jié)點(Normal Node,NN),然后移動到該目標節(jié)點附近,替代目標節(jié)點。最后,目標節(jié)點成為新的冗余節(jié)點(Redundant Node,RN),更新冗余節(jié)點。該部署策略最大限度地使節(jié)點能耗均衡,延長無線傳感器網(wǎng)絡(luò)的生命周期。本文的主要工作如下:
1)本文考慮了無線傳感器網(wǎng)絡(luò)中用于數(shù)據(jù)收集的能量空洞問題,其中,傳感器節(jié)點傳輸?shù)臄?shù)據(jù)量不一致,充分利用無線傳感器網(wǎng)絡(luò)中的冗余節(jié)點。
2)為解決能量空洞問題,本文設(shè)計了一種基于FA的節(jié)點重部署策略。該策略旨在有效地移動冗余節(jié)點以進行節(jié)點重部署,而且該算法的復雜度較低。
3)通過仿真實驗驗證了本文NRBFA 策略能有效地緩解能量空洞問題,均衡網(wǎng)絡(luò)能耗,延長無線傳感器網(wǎng)絡(luò)的生命周期。
如圖1 所示,無線傳感器網(wǎng)絡(luò)模型主要由匯聚節(jié)點、簇頭、普通節(jié)點和冗余節(jié)點組成。其中,匯聚節(jié)點負責從簇頭收集數(shù)據(jù);普通節(jié)點感知數(shù)據(jù),然后將數(shù)據(jù)傳輸給該簇相應(yīng)的簇頭;簇頭節(jié)點負責收集、融合、轉(zhuǎn)發(fā)簇內(nèi)所有普通節(jié)點的數(shù)據(jù);冗余節(jié)點負責替換簇頭,并且初始時處于休眠狀態(tài)。網(wǎng)絡(luò)執(zhí)行過程以網(wǎng)絡(luò)工作輪數(shù)的形式進行,每一輪都包含數(shù)據(jù)的通信階段。
圖1 無線傳感器網(wǎng)絡(luò)模型Fig.1 Wireless sensor network model
無線傳感器網(wǎng)絡(luò)節(jié)點部署的過程如下:首先,在邊長為L的正方形監(jiān)測區(qū)域內(nèi),隨機部署N個傳感器節(jié)點,利用k-means 算法對所有傳感器節(jié)點進行分簇;然后,普通節(jié)點將感知數(shù)據(jù)傳輸?shù)酱貎?nèi)簇頭,簇頭將簇內(nèi)所有節(jié)點的數(shù)據(jù)進行融合,并將融合后的數(shù)據(jù)傳輸?shù)絽R聚節(jié)點;最后,當有簇頭的剩余能量達到設(shè)定的閾值時,冗余節(jié)點移動替換簇頭。
受文獻[11]和文獻[20]的啟發(fā),為了更好地實現(xiàn)本文研究目標,本文中的節(jié)點位置信息都可以通過特殊方式獲得。因為本文將匯聚節(jié)點設(shè)置在監(jiān)測區(qū)域中心位置,若選擇多跳通信方式,則距離匯聚節(jié)點近的簇頭會加快能量消耗速度,節(jié)點的可移動性有利于節(jié)點初始部署后的重部署。具體的假設(shè)如下:
1)每個節(jié)點都能通過全球定位系統(tǒng)(Global Positioning System,GPS)或其他一些特殊定位算法[20-21]知道自己的位置,相鄰節(jié)點間可以互相通信,每個傳感器節(jié)點有其唯一身份標識號(Identity Document,ID)和相同的初始能量。
2)所有簇頭都以單跳方式向匯聚節(jié)點發(fā)送數(shù)據(jù),簇內(nèi)普通節(jié)點也以單跳方式向自己的簇頭傳輸數(shù)據(jù)。
3)整個網(wǎng)絡(luò)中的節(jié)點在初始部署后都是可移動的,并且簇與簇之間不存在信息的傳遞。
在一個邊長為L的正方形內(nèi)隨機部署N個無線傳感器節(jié)點,定義為T={T1,T2,…,TN},其中節(jié)點Ti的位置坐標為(xi,yi)(i=1,2,…,N),且每個節(jié)點具有相同的性能。本文為了尋找冗余節(jié)點,假設(shè)節(jié)點的感知半徑為RS,節(jié)點的檢測半徑為r,且RS>r。在節(jié)點Ti的檢測半徑內(nèi),假設(shè)存在一個冗余節(jié)點Tj,它的位置坐標為(xj,yj),則兩節(jié)點之間的歐氏距離dij的計算公式如式(1)所示:
則可以得到傳感器節(jié)點Ti感知到冗余節(jié)點Tj存在的感知概率P(i,j)為:
當冗余節(jié)點Tj在傳感器節(jié)點Ti的感知范圍內(nèi)時,感知到的概率為1;反之,感知到的概率為0。
能量消耗在無線傳感器網(wǎng)絡(luò)中占重要地位,主要體現(xiàn)在數(shù)據(jù)通信階段,本文采用的能量消耗模型如下:
1)普通節(jié)點能耗。
假設(shè)節(jié)點間的通信距離為d,采用不同的能耗模式,節(jié)點i發(fā)送hbit 數(shù)據(jù)至節(jié)點j的能量損耗ET(h,d)的計算公式如式(2)所示:
節(jié)點接收hbit 數(shù)據(jù)的能量消耗ER(h)的計算公式如(3)所示:
其中:d0為距離閾值;Eelec是發(fā)送/接收1 bit 數(shù)據(jù)的能量消耗。εfs表示當d≤d0時,自由空間中發(fā)送電路的放大系數(shù),其值設(shè)為12 pJ/(bit·m-2);εamp表示當d>d0時,多徑信道中發(fā)送電路的放大系數(shù),其值設(shè)為0.001 2 pJ/(bit·m-2);節(jié)點在感知過程中消耗的能量忽略不計。
2)簇頭節(jié)點能耗。
簇頭(CH)的能耗ECH主要由三部分組成:接收數(shù)據(jù)能耗Er、融合數(shù)據(jù)能耗Ef和發(fā)送數(shù)據(jù)能耗Es。根據(jù)文獻[22]中設(shè)定的簇頭數(shù)據(jù)融合率并結(jié)合本文無線傳感器網(wǎng)絡(luò)模型,進行大量實驗后,有以下規(guī)定:
1)簇頭的融合率rf為0.8;
2)當簇頭接收h0bit數(shù)據(jù)的能耗Er表示為h0Eelec;
3)融合本簇內(nèi)h0bit數(shù)據(jù)的能耗Ef表示為h0ef,其中,ef為融合1 bit數(shù)據(jù)能耗;
4)發(fā)送h0bit 數(shù)據(jù)到距離為dCH?BS的基站的能耗Es計算公式如式(4)所示:
因此,在本簇內(nèi)CHi(簇頭i)的能耗ECHi公式如式(5)所示:
3)冗余節(jié)點能耗。
節(jié)點移動的能量損耗Emove為:
其中:e為單位距離內(nèi)節(jié)點移動的能耗,其值為5× 10-5J/m;dx為節(jié)點移動距離。
本章描述傳感器網(wǎng)絡(luò)中節(jié)點重部署的原因。首先,給出以下定義:
定義1生命周期。當網(wǎng)絡(luò)中死亡節(jié)點數(shù)目達到網(wǎng)絡(luò)節(jié)點總數(shù)目的10%時,表示該網(wǎng)絡(luò)生命周期結(jié)束。
定義2死亡率。網(wǎng)絡(luò)中死亡節(jié)點數(shù)目與節(jié)點數(shù)目N的比值。
定義3冗余節(jié)點的集合R:R={R1,R2,…,Rx},且R∈T。
在無線傳感器網(wǎng)絡(luò)中,由于節(jié)點能量有限且難以進行補充或替換、多對一通信等特點,容易產(chǎn)生能量空洞現(xiàn)象,導致節(jié)點能量消耗不均衡。在無線傳感器網(wǎng)絡(luò)初始部署階段,大量的傳感器節(jié)點在初始階段被隨機部署在監(jiān)測區(qū)域,不可避免地會產(chǎn)生重疊區(qū)域,從而會造成能量的浪費而且產(chǎn)生大量冗余數(shù)據(jù),占用有限的網(wǎng)絡(luò)帶寬。隨著網(wǎng)絡(luò)的運行,簇頭不斷收集數(shù)據(jù),能量消耗過快,將無法承擔數(shù)據(jù)接收和轉(zhuǎn)發(fā)的任務(wù),網(wǎng)絡(luò)將停止運行,嚴重影響了網(wǎng)絡(luò)的生命周期。因此,如何通過節(jié)點重部署來均衡節(jié)點能耗,以最大限度地延長網(wǎng)絡(luò)生命周期是一個值得研究的問題。
將N個傳感器節(jié)點隨機部署在監(jiān)測區(qū)域中,每個節(jié)點傳輸?shù)臄?shù)據(jù)量m是隨機的。首先,本文在初始部署過程中引入冗余節(jié)點,在避免重復收集數(shù)據(jù)的情況下,減少了節(jié)點的能耗。然后,在網(wǎng)絡(luò)運行過程中,當簇頭達到數(shù)據(jù)承載極限、剩余能量達到一定閾值時,利用FA進行節(jié)點移動。具體方法是以節(jié)點的剩余能量和節(jié)點間的歐氏距離為FA 中的兩個吸引力,找出最佳冗余節(jié)點。最后,最佳冗余節(jié)點移動替換簇頭,原簇頭替代目標節(jié)點,目標節(jié)點變?yōu)槿哂喙?jié)點,更新冗余節(jié)點。利用節(jié)點能耗均衡來衡量傳感器網(wǎng)絡(luò)的生命周期,有效地延長了無線傳感器網(wǎng)絡(luò)的生命周期。
本文的目標函數(shù)是最小化所有簇頭剩余能量的標準差,以均衡網(wǎng)絡(luò)能耗,表示如式(7)所示:
其中:NCH為簇頭數(shù)目;Eres(CHi)為簇頭的剩余能量。
其中:Eres_max(CH)表示簇頭剩余的最大能量;NRN為冗余節(jié)點數(shù)目。
螢火蟲算法(FA)是一種啟發(fā)式算法,有以下三個基本假設(shè):
1)所有螢火蟲都是無性別之分,每一只螢火蟲只會被比其更亮的螢火蟲所吸引。
2)螢火蟲之間的吸引力與它們的亮度成正比,對于任意兩個螢火蟲,亮度低的螢火蟲向亮度高的螢火蟲移動,越靠近亮度越強,吸引力越大,即吸引力與亮度成正比,而亮度隨距離的增加而變?nèi)酰瑒t吸引力與距離成反比。
3)螢火蟲的亮度由目標函數(shù)決定[23]。
本文提出了一種基于FA 的無線傳感器節(jié)點重部署策略NRBFA 來解決節(jié)點能耗不均衡問題,該策略的具體描述如下:
NRBFA 策略利用螢火蟲之間的吸引力,以節(jié)點的剩余能量和節(jié)點間的距離作為吸引力,使得冗余節(jié)點向需要被替換的簇頭方向移動,同時被替換后的原簇頭向目標節(jié)點移動,實現(xiàn)冗余節(jié)點的移動和更新。該策略最小化簇頭剩余能量的標準差,使得網(wǎng)絡(luò)負載和節(jié)點能耗均衡。此外,該算法具有較強的局部搜索能力,可以在一個較小的區(qū)域內(nèi)找到最優(yōu)解,操作方便,實現(xiàn)簡單,參數(shù)較少;且從圖2 算法流程圖分析可知,本文NRBFA 的時間復雜度為O(TNlogN),復雜性較低。其中:T為最大迭代次數(shù),N為節(jié)點數(shù)目。因此,利用FA來優(yōu)化節(jié)點位置,可以更好地提高網(wǎng)絡(luò)能量效率,延長網(wǎng)絡(luò)的生命周期。
具體算法步驟如下:
步驟1 節(jié)點隨機分布在監(jiān)測區(qū)內(nèi),然后利用k-means 算法對傳感器節(jié)點進行分簇,選出冗余節(jié)點,冗余節(jié)點一開始處于睡眠狀態(tài),不進行任何通信,不消耗能量。
步驟2 計算出每個簇頭到達基站的距離dCH-BS以及每個簇內(nèi)普通節(jié)點到CH的距離dNN-CH。
步驟3 計算出冗余節(jié)點到簇頭的距離dRN-CH以及剩余能量,并進行排序。
步驟4 當簇頭的剩余能量小于其設(shè)定的能量閾值時,通過FA選擇最佳冗余節(jié)點RNbest,然后移動RNbest去替換簇頭;原簇頭也利用FA 找到目標節(jié)點,向目標節(jié)點移動,此時目標節(jié)點成為新的冗余節(jié)點。
步驟4.1 在運用FA 移動冗余節(jié)點和簇頭時,簇頭與普通節(jié)點間的吸引力F(I1)以及簇頭與冗余節(jié)點間的吸引力F(I2)分別表示為:
式(9)中:I0為螢火蟲個體自身的無衰減的發(fā)光亮度,即最大的發(fā)光亮度;F(I)表示為節(jié)點間的吸引力,即為適應(yīng)度函數(shù),進行節(jié)點替換時,選擇適應(yīng)度函數(shù)最好的節(jié)點進行移動;dij為節(jié)點i到節(jié)點j的距離。在本文中,節(jié)點間的吸引力由節(jié)點的剩余能量和節(jié)點間的歐氏距離組成。式(10)~(11)中:γ為光強吸收系數(shù),其值設(shè)為1,用來表示螢火蟲的發(fā)光亮度與距離成反比的關(guān)系;Eres_TN為目標節(jié)點的剩余能量;Eres_RN為冗余節(jié)點的剩余能量;dCH_TN為簇頭到目標節(jié)點的距離;dRN_CH為冗余節(jié)點到簇頭的距離,在計算過程中都將剩余能量和距離進行了歸一化。λ1和λ2是權(quán)重系數(shù),為常數(shù),分別表示為冗余節(jié)點更新螢火蟲系數(shù)和冗余節(jié)點替換簇頭螢火蟲系數(shù)。
步驟4.2 節(jié)點進行移動后的位置更新公式如式(12)所示:
節(jié)點間的吸引度β可表示為:
其中:xi和xj分別代表節(jié)點i和j在搜索空間中的位置;α 為[0,1]上的常數(shù),設(shè)為0.5;rand為[0,1]上服從均勻分布的隨機因子;β0為螢火蟲在光源處的最大吸引度,設(shè)為1。
步驟4.3 當簇頭節(jié)點能量耗盡,冗余節(jié)點替換簇頭節(jié)點進行工作,但此時不再尋找目標節(jié)點,即冗余節(jié)點不再更新,若網(wǎng)絡(luò)中沒有冗余節(jié)點可以替換簇頭,則網(wǎng)絡(luò)生命周期結(jié)束。
步驟5 節(jié)點替換后,若在網(wǎng)絡(luò)生命周期內(nèi),則繼續(xù)收集數(shù)據(jù),迭代次數(shù)加1;反之,網(wǎng)絡(luò)生命結(jié)束。
所提出的NRBFA策略的算法流程如圖2所示。
圖2 NRBFA策略的算法流程Fig.2 Algorithm flowchart of NRBFA strategy
本文仿真在Matlab R2014a 環(huán)境下運行。在仿真實驗中,分別測試50、100、150、200個傳感器節(jié)點在網(wǎng)絡(luò)規(guī)模為100 m的正方形區(qū)域范圍內(nèi)進行節(jié)點重部署后的網(wǎng)絡(luò)性能表現(xiàn)?;疚挥诰W(wǎng)絡(luò)中心,利用k-means 算法進行分簇,簇的個數(shù)為6,各節(jié)點的初始能量都為1 J,每個節(jié)點采集數(shù)據(jù)量在1 000~2 000 bit 內(nèi)隨機產(chǎn)生,收發(fā)電路處理1 bit 的數(shù)據(jù)能耗Eelec為50 × 10-9J,簇頭融合1 bit 的數(shù)據(jù)能耗為50 × 10-9J,權(quán)重系數(shù)λ1和λ2都取0.5。將文獻[18]中的節(jié)點部署策略作為基準方案,它是基于虛擬力的分區(qū)域節(jié)點重部署方案VFA(Virtual Force Algorithm),該方案將圓形區(qū)域均勻劃分為6 個相等的扇形區(qū)域,節(jié)點基于虛擬力進行移動。本文為了在同一環(huán)境下進行比較,現(xiàn)將圓形區(qū)域等價于邊長為100 m 的正方形區(qū)域中,將本文算法與基于虛擬力的節(jié)點部署算法在不同部署范圍內(nèi)的節(jié)點能耗均衡以及網(wǎng)絡(luò)生命周期進行比較。
圖3 展示了網(wǎng)絡(luò)總能耗隨網(wǎng)絡(luò)工作輪數(shù)的變化趨勢。在計算網(wǎng)絡(luò)總能耗的過程中,節(jié)點傳輸數(shù)據(jù)所消耗的能量占主要部分,網(wǎng)絡(luò)的總能耗隨網(wǎng)絡(luò)工作輪數(shù)的增加呈增長的趨勢;并且,網(wǎng)絡(luò)中部署的節(jié)點數(shù)目越多,節(jié)點所傳輸?shù)臄?shù)據(jù)越多,網(wǎng)絡(luò)的總能耗就越大。在網(wǎng)絡(luò)運行的前203 輪內(nèi),在VFA 的部署方案中,由于部分節(jié)點一開始就進行區(qū)間移動,而在本文的部署策略中,只有當簇頭的剩余能量大于設(shè)定的閾值時,網(wǎng)絡(luò)中沒有節(jié)點進行移動,并且冗余節(jié)點處于睡眠狀態(tài),不進行感知和傳輸數(shù)據(jù),不消耗能量,導致VFA 方案中的網(wǎng)絡(luò)總能耗比本文的NRBFA 策略的總能耗大。但在203 輪之后,基于VFA 的部署方案中,節(jié)點數(shù)目為200 的網(wǎng)絡(luò)總能耗不再變化,此時網(wǎng)絡(luò)已經(jīng)不能工作,節(jié)點數(shù)目分別為50、100、150 的網(wǎng)絡(luò)也在315輪后能耗全部停止增加,而本文算法卻在500輪之后的網(wǎng)絡(luò)總能耗還是趨于增長的趨勢。圖3 體現(xiàn)了NRBFA 策略要優(yōu)于VFA 方案,具有更長的網(wǎng)絡(luò)生命周期和更高的網(wǎng)絡(luò)能量效率。
圖4 是網(wǎng)絡(luò)總傳輸數(shù)據(jù)量隨著網(wǎng)絡(luò)工作輪數(shù)的變化。在50、100、150、200個節(jié)點部署范圍內(nèi),由于NRBFA策略中存在冗余節(jié)點,基于VFA 的部署方案一開始傳輸?shù)臄?shù)據(jù)量要比NRBFA 策略多,但隨著網(wǎng)絡(luò)運行輪數(shù)的不斷增加,VFA 中的網(wǎng)絡(luò)在315 輪基本不能工作,之后就沒有傳輸數(shù)據(jù),而本文方案在500 輪之后網(wǎng)絡(luò)總傳輸數(shù)據(jù)量還呈增長趨勢,總的數(shù)據(jù)傳輸量遠遠多于VFA方案。
圖3 VFA與NRBFA的網(wǎng)絡(luò)總能耗隨輪數(shù)的變化情況Fig.3 Total energy consumption of network of VFA and NRBFA changes with number of rounds
圖4 VFA與NRBFA的網(wǎng)絡(luò)總傳輸數(shù)據(jù)量隨輪數(shù)的變化情況Fig.4 Total amount of data transmitted on network of VFA and NRBFA changes with number of rounds
圖5 是不同部署范圍下的網(wǎng)絡(luò)生命周期變化情況。由圖5 可知,隨著網(wǎng)絡(luò)部署的節(jié)點數(shù)目增加,由于網(wǎng)絡(luò)中的主要能耗來源于網(wǎng)絡(luò)的節(jié)點的數(shù)據(jù)傳輸,節(jié)點數(shù)目越多,傳輸?shù)臄?shù)據(jù)越多,消耗的能量越大,網(wǎng)絡(luò)生命周期總體為下降趨勢。當網(wǎng)絡(luò)中部署50 個節(jié)點時,兩個方案的生命周期都是最長的,分別為3 585 輪和315 輪,隨著節(jié)點數(shù)目的增加,網(wǎng)絡(luò)生命周期相應(yīng)地縮短。NRBFA 策略和VFA 方案相比,在相同的部署范圍內(nèi),本文的部署策略效果更好,網(wǎng)絡(luò)生命周期遠遠長于VFA方案對應(yīng)的網(wǎng)絡(luò)生命周期。
圖5 VFA與NRBFA在不同部署范圍的網(wǎng)絡(luò)生命周期對比Fig.5 Network lifetime comparison of VFA and NRBFA under different deployment scopes
圖6 顯示不同部署范圍下的節(jié)點能耗均衡狀況。由于每一輪節(jié)點傳輸?shù)臄?shù)據(jù)量是在1 000~2 000 bit 范圍內(nèi)隨機產(chǎn)生的,網(wǎng)絡(luò)出現(xiàn)首個死亡節(jié)點的輪數(shù)和總輪數(shù)可能會有一定差異,本文以最終保存的數(shù)據(jù)為準。由圖6 可知,隨著網(wǎng)絡(luò)部署節(jié)點數(shù)目的增加,本文部署策略的首個節(jié)點死亡輪數(shù)到網(wǎng)絡(luò)死亡輪數(shù)之差變化曲線呈增長的趨勢,波動范圍較小,在20輪以內(nèi);而VFA 方案中波動范圍較大,在200輪左右。從而可以得出,本文的部署策略在節(jié)點能耗均衡方面較VFA 方案效果好,節(jié)點能耗也更均衡。
圖6 VFA與NRBFA在不同部署范圍的節(jié)點能耗均衡對比Fig.6 Node energy consumption balance comparison of VFA and NRBFA under different deployment scopes
本文的實驗數(shù)據(jù)主要是從數(shù)據(jù)量、網(wǎng)絡(luò)能耗以及網(wǎng)絡(luò)生命周期來進行說明的。本文的仿真結(jié)果表明,NRBFA 策略在數(shù)據(jù)收集、緩解能量空洞問題以及延長網(wǎng)絡(luò)生命周期方面優(yōu)于VFA 方案。該策略在兼顧網(wǎng)絡(luò)能耗均衡的同時,也保證了數(shù)據(jù)的有效收集,且在不同節(jié)點部署范圍內(nèi),同樣有效地均衡了節(jié)點能耗,緩解了能量空洞問題,延長了網(wǎng)絡(luò)生命周期。
在網(wǎng)絡(luò)運行過程中,由于無線傳感器網(wǎng)絡(luò)節(jié)點的能量有限,難以補充或更改,故節(jié)點部署是無線傳感器網(wǎng)絡(luò)中均衡節(jié)點能耗、延長網(wǎng)絡(luò)生命周期的主要問題之一。針對網(wǎng)絡(luò)中節(jié)點能耗不均衡問題,本文提出了一種基于螢火蟲算法(FA)的節(jié)點重部署策略NRBFA,考慮到無線傳感網(wǎng)絡(luò)進行一段時間的數(shù)據(jù)采集后,簇頭負載過大,能量急劇消耗,當其剩余能量達到設(shè)定閾值時,不再具備擔任簇頭和轉(zhuǎn)發(fā)數(shù)據(jù)的能力。此時,基于FA 進行節(jié)點重部署,以節(jié)點的剩余能量和節(jié)點間的距離為吸引力判定指標,冗余節(jié)點移動替換簇頭,原簇頭尋找目標節(jié)點,更新冗余節(jié)點,以最小化網(wǎng)絡(luò)簇頭剩余能量的標準差,使網(wǎng)絡(luò)能耗更均衡。仿真結(jié)果表明,在不同部署范圍內(nèi),相較基于VFA的節(jié)點部署方案,本文提出的NRBFA策略使得節(jié)點能耗更均衡,網(wǎng)絡(luò)生命周期更長且復雜度更低。此外,下一步考慮各集群的數(shù)據(jù)量不均勻,引入冗余節(jié)點,進行集群的拆分,改變集群的規(guī)模,使簇的數(shù)據(jù)量相對平衡。