滕志軍,張 力,郭力文,呂金玲(東北電力大學信息工程學院,吉林 吉林 132012)
近年來,具有高度的靈活性和集成功能多樣化的可移動無線傳感器網絡WSNs(Wireless Sensor Networks)在軍事偵察、環(huán)境監(jiān)測以及防爆救災等領域得到廣泛的應用[1-4]。而移動傳感器網絡節(jié)點的初次部署通常為隨機拋撒,很難實現(xiàn)對監(jiān)測區(qū)域的覆蓋需求,因此采用適合的節(jié)點部署算法進行再部署以滿足應用需求[5-7]。
目前,關于節(jié)點部署算法已有大量的研究成果,包括基于計算幾何理論的相關算法,如基于Delaunay、Voronoi 等網格劃分分析方法[8];集中式算法,如遺傳算法、蟻群算法、粒子群算法等;以及基于虛擬力的節(jié)點部署算法[9-10]。文獻[11]首次提出基于虛擬力的節(jié)點自主部署算法VFA(Virtual Force Algorithm),并分別考慮了二元感知模型以及概率感知模型。文獻[12]在傳統(tǒng)VFA的基礎上考慮了監(jiān)控區(qū)域的目標特性,節(jié)點不僅受到節(jié)點間的相互作用力外還受到目標位置的引力作用。文獻[13]引入了“引力線”的概念,構建了節(jié)點與引力線之間的斥力以此減少了節(jié)點的能量消耗,縮短了部署時間。文獻[14]將傳統(tǒng)VFA的動態(tài)部署分成簇間和簇內兩個階段以此改善VFA中出現(xiàn)的簇間干涉,節(jié)點受力均衡的問題。文獻[15]結合計算幾何重新定義了節(jié)點間的鄰接關系,從而保證了區(qū)域的覆蓋質量。文獻[16]在VFA的思想上,針對同構節(jié)點、異構節(jié)點、非規(guī)則區(qū)域等各種應用場合,研究了基于粒子均衡的移動傳感器網絡覆蓋,取得了較好的覆蓋效果和網絡生命周期。
但現(xiàn)有基于虛擬力的節(jié)點部署算法對虛擬力模型的相關參數(shù)研究相對較少,在無法判斷隨機部署的情況下,僅僅根據(jù)經驗值設置虛擬力模型的相關參數(shù),對部署效果產生了一定的影響。因此,本文提出基于密集度的虛擬力節(jié)點部署算法IVFA-B(Intensity-based Virtual Force Algorithm with Boundary Forces)采用公式推導的方式優(yōu)化虛擬力相關參數(shù),并定義了節(jié)點的密集度以此來選擇虛擬力模型中的最優(yōu)距離閾值,通過仿真實驗證明了IVFA-B算法對提高網絡覆蓋質量的有效性。
假設在A×B監(jiān)測區(qū)域內隨機拋撒N個移動傳感器節(jié)點。節(jié)點的感知半徑均為Rs,通信半徑均為Rc,并滿足Rc≥2Rs。節(jié)點感知模型均采用布爾感知模型,并對無線傳感器網絡參數(shù)進行如下假設:①每個傳感器節(jié)點均具有充足的能量,并與移動執(zhí)行器相結合,可以在監(jiān)測區(qū)域內移動到最佳位置;②每個傳感器節(jié)點都可以通過GPS或者其他的相關定位算法獲取到自身的位置信息和自身與其鄰居節(jié)點間的位置關系;③每個傳感器節(jié)點可以感知并獲取在其通信半徑范圍內其他傳感器節(jié)點的位置。
相關定義如下:
定義1布爾感知模型[17]
傳感器節(jié)點si(xi,yi)以自身坐標(xi,yi)為圓心,以感知半徑Rs作為感知區(qū)域半徑構成其最大感知范圍,即為布爾感知模型。二維平面內任意一點p(x,y)與傳感器節(jié)點si之間的歐式距離記為
(1)
若d(si,p)≤Rs,則點p(x,y)被覆蓋,節(jié)點si對點p的感知概率為1,否則為0,公式如下:
(2)
定義2覆蓋率[18]
傳感器節(jié)點已經覆蓋的區(qū)域面積大小As與監(jiān)測區(qū)域的總面積大小A之比為覆蓋率,記為a,定義為:
a=As/A
(3)
定義3平均移動距離[19]
(4)
定義4密集度
節(jié)點的密集度代表其所在區(qū)域的密集程度,公式如下:
(5)
式中:N為si的鄰居節(jié)點個數(shù),din為鄰居節(jié)點sn到si的距離。對于一個節(jié)點來說,它的相鄰節(jié)點個數(shù)越多,它與相鄰節(jié)點之間的距離越小,該節(jié)點的密集度越大,則表明這個節(jié)點所在區(qū)域越密集。
①節(jié)點間的相互作用力
(6)
式中:dij表示節(jié)點si與節(jié)點sj之間的歐氏距離,αij表示節(jié)點si到節(jié)點sj線段的方向角,ωa/ωb分別表示虛擬力引力/斥力系數(shù),Dth表示節(jié)點間距離閾值,Rc表示節(jié)點的通信半徑。
②區(qū)域邊界對節(jié)點的斥力
dib表示節(jié)點si與區(qū)域邊界之間的歐式距離。節(jié)點與區(qū)域邊界的安全距離為dth/2。如果dib大于節(jié)點與區(qū)域邊界的安全距離,則不存在斥力作用;如果dib小于節(jié)點與區(qū)域邊界的安全距離,則表達式如下
(7)
(8)
③節(jié)點所受虛擬力合力
(9)
式中:k表示si的鄰居節(jié)點數(shù)目。
無線傳感器節(jié)點在虛擬力Fi作用的約束下,將按照以下方式從原有位置P(xiold,yiold)移動到目標位置P(xinew,yinew)。
(10)
式中:Fx和Fy分別表示在x軸和y軸方向上傳感器所受力的投影,Fxy表示傳感器所受到的合力,Maxdis表示傳感器單次移動的最大距離。
在傳統(tǒng)虛擬力節(jié)點部署算法中,wa,wb分別表示虛擬力引力參數(shù)和斥力參數(shù)。由于數(shù)目較少的鄰居節(jié)點之間存在斥力作用,數(shù)目較多的非鄰居節(jié)點之間存在引力作用,為使節(jié)點達到平衡狀態(tài),從而將斥力參數(shù)設置地遠大于引力參數(shù)。但在事先無法判定隨機部署狀態(tài)的情況下,僅僅根據(jù)經驗值設置一個較大的斥力參數(shù)和一個較小的引力參數(shù),不能達到很好的覆蓋效果。為此,本文給出一種解決方案,通過對節(jié)點進行受力分析,從而推導出ωa與ωb的關系式。
如圖1所示,對節(jié)點si進行受力分析。
圖1 極端節(jié)點分析圖
(11)
(12)
(13)
當節(jié)點si受力平衡,達到穩(wěn)定狀態(tài)時,
(14)
由于區(qū)域邊界對節(jié)點同樣為排斥力,區(qū)域邊界斥力參數(shù)為ωr,最終得到引力/斥力參數(shù)的表達式為:
(15)
ωa=Dth-dij
(16)
通過分析經典虛擬力模型,得出距離閾值可以調節(jié)傳感器節(jié)點間的相互作用力屬性。而距離閾值的設置不僅與節(jié)點感知半徑有關,也與鄰居節(jié)點分布之間有著密切的聯(lián)系。同時,節(jié)點的相鄰節(jié)點數(shù)和與其相鄰節(jié)點的距離共同影響監(jiān)測區(qū)域內節(jié)點分布的密集程度。因此,判斷節(jié)點所在區(qū)域的密集程度可以通過衡量每個節(jié)點的相鄰節(jié)點數(shù)目以及與相鄰節(jié)點間的距離來判斷。
圖2為2組不同的環(huán)境設置條件下的距離閾值設置分析圖。圖2(a)覆蓋率a<1,表明節(jié)點沒有完全覆蓋整個監(jiān)測區(qū)域,故距離閾值設置為兩個節(jié)點的感知半徑之和。圖2(b)覆蓋率a≥1,表明節(jié)點足夠覆蓋整個監(jiān)測區(qū)域,最佳部署為正三角形部署,因此距離閾值的設置如式(17)。
(17)
圖2 距離閾值分析圖
基于上述分析,本文通過合理設置虛擬力相關參數(shù)并且利用節(jié)點的密集度選擇最佳距離閾值,從而提出了基于密集度的虛擬力節(jié)點部署算法(IVFA-B),該算法可以更好地實現(xiàn)全局的覆蓋優(yōu)化,并提高了虛擬力算法性能。算法實現(xiàn)的偽代碼如表1所示。
表1IVFA-B算法的偽代碼
圖3顯示了4種算法對35個節(jié)點的部署情況,其中圖3(a)為網絡中節(jié)點的初始分布情況,初始覆蓋率為65.4%。圖3(b)為應用VFA算法的節(jié)點分布情況,節(jié)點分布有所提高,但可以看出部分節(jié)點移出到邊界外。圖3(c)為應用文獻[15]中算法的節(jié)點分布情況,該算法不僅考慮到了區(qū)域的邊界條件而且重新定義了節(jié)點的鄰接關系,因此提高了一定的覆蓋率。圖3(d)為應用文獻[16]中算法的節(jié)點分布情況,網絡覆蓋率達到90%。圖3(e)為應用本文IVFA-B算法的節(jié)點分布情況,節(jié)點分布變得相對均勻,網絡覆蓋率百分比也提高到91.3%。
表2 仿真實驗參數(shù)
圖3 網絡覆蓋圖
圖4 覆蓋率隨迭代次數(shù)變化
圖4表示在相同條件下分別運行VFA、文獻[15-16]以及本文提出的IVFA-B算法,網絡覆蓋率的變化情況。在前40次迭代中,4種算法的覆蓋率均有較大幅度的提高,其中IVFA-B與初始覆蓋率相比提高了24個百分點,并高于其他3種算法。在40次迭代之后,IVFA-B對覆蓋率的優(yōu)化效果減慢,但仍有提高的空間,并逐漸趨于平穩(wěn),而其他3種算法的優(yōu)化性能已經趨于平緩。
圖5 平均移動距離隨迭代次數(shù)變化
圖5比較了隨迭代次數(shù)變化,4種算法節(jié)點平均移動距離的變化情況。隨著迭代次數(shù)的不斷增加,節(jié)點部署情況逐漸穩(wěn)定,因此節(jié)點的移動距離不斷減小,但IVFA-B的減小程度始終高于其他3種虛擬力算法。
圖6比較了隨節(jié)點數(shù)目的變化,VFA、文獻[15-16]以及IVFA-B算法網絡覆蓋率的變化情況。隨著節(jié)點數(shù)目的增加,4種算法的覆蓋率均不斷增加,但IVFA-B的覆蓋效果始終高于其他3種算法。當節(jié)點數(shù)目在30~45左右時,IVFA-B的優(yōu)勢較明顯,當節(jié)點數(shù)目大于45時,覆蓋率相差不大。
圖8 總的移動距離隨節(jié)點數(shù)目變化
由于節(jié)點能量的消耗主要集中在移動上,因此把節(jié)點的移動距離作為網絡能量消耗的衡量指標。圖7和圖8比較了隨節(jié)點數(shù)目的變化,4種算法的節(jié)點平均移動距離和總移動距離的變化情況。由于節(jié)點數(shù)目不斷增加,4種算法的平均移動距離和總的移動距離均不斷增加,但IVFA-B與其他3種算法相比增加的更緩慢。這是因為IVFA-B算法采用了具有一定適用性的虛擬力參數(shù)并且通過節(jié)點密集度選擇最佳距離閾值,減小了節(jié)點的移動距離,在保證網絡覆蓋率的同時也節(jié)約了能量的消耗。
圖6 覆蓋率隨節(jié)點數(shù)目變化
圖7 平均移動距離隨節(jié)點數(shù)目變化
基于密集度的虛擬力節(jié)點部署算法在傳統(tǒng)虛擬力節(jié)點部署算法的基礎上,結合公式推導對虛擬力參數(shù)進行優(yōu)化設置,彌補了在無法判斷隨機部署的情況下,根據(jù)經驗值設置相關參數(shù)影響覆蓋效果的不足。并引入節(jié)點密集度的概念,通過密集度選擇虛擬力模型中調節(jié)傳感器節(jié)點間的相互作用力屬性的最優(yōu)距離閾值,實現(xiàn)節(jié)點的均勻分布。通過實驗驗證表明,相比VFA、文獻[15-16]中改進的虛擬力算法,本文所提出的部署算法在網絡覆蓋率和節(jié)點能耗方面具有明顯的優(yōu)勢。今后將進一步研究有障礙物的情況下算法的適應性及相應改進策略。