王勇智,戴 華,嚴權峰
(湖南理工學院 信息科學與工程學院,湖南 岳陽 414006)
精準農業(yè)利用無線傳感器網絡對農業(yè)環(huán)境進行監(jiān)測,能大大提高土地利用率.傳感器節(jié)點將采集到的濕度、溫度等數(shù)據(jù),匯聚到宿節(jié)點(Sink node),再由宿節(jié)點發(fā)往目標節(jié)點.宿節(jié)點的位置直接影響末端傳感器節(jié)點的通訊距離以及無線傳感器網絡的數(shù)據(jù)傳輸效率[1].目前,無線傳感器網絡的宿節(jié)點通常被部署在場地的中心點,以提供監(jiān)測范圍的最大化[2].但因不同作物密度與高度、平地與山地等典型農業(yè)環(huán)境的影響,場地中心點有可能是無線信道傳輸損耗較大的位置,也有可能是鄰近節(jié)點稀疏的位置,這樣容易導致中心宿節(jié)點及其周圍節(jié)點的能耗更大,造成“能量空洞”,縮短網絡的生命周期[3].本文將煙花算法(Firework Algorithm,FWA)[4]應用于精準農業(yè),結合能量衰減模型,提出一種基于能量感知的無線傳感器宿節(jié)點部署算法,用于計算鄰近節(jié)點個數(shù)多且鄰近節(jié)點剩余能量更充足的宿節(jié)點.
煙花算法是一種新型的種群算法,全局優(yōu)化能力強,參數(shù)少,并具有爆發(fā)性、多樣性,支持并行搜索等優(yōu)點.根據(jù)煙花適應度的優(yōu)劣,每個煙花將在自身位置臨近范圍產生大量的火花以進行搜索.在種群數(shù)為N的煙花種群中,第i個煙花的爆炸范圍Ai與產生火花數(shù)量Si分別為
其中Amax為最大爆炸范圍,Smax為最大火花數(shù),Fitness(Xi)為第i個煙花的適應度,Fitnessmin為當前種群最低的適應度函數(shù)值,Fitnessmax為當前種群最高的適應度函數(shù)值(適應度函數(shù)值越高,適應度越低),ε為一個最小量,以避免分母為零.為了限制煙花產生的火花過高或過低,對于產生的火花數(shù)量,煙花算法進行了以下限制:
其中a,b均為常數(shù),round 表示以四舍五入規(guī)則對值取整.每個火花爆炸時都會從D維解空間內隨機挑選z∈ [ 1,D]維進行更新從而產生新的火花,即第k次迭代后第i個火花產生的新的火花在j維解空間上的位置為
其中rand 為( -1,1)范圍內的均勻隨機數(shù).除了上述產生的火花,每次迭代還將從N個火花中隨機選擇m個火花產生高斯變異火花.新生成的高斯變異火花在j維解空間上的位置為
其中randGauss 為( -1,1)范圍內的高斯隨機數(shù).通過產生高斯變異火花與正?;鸹?每次迭代后將產生Smax+m個火花.除了保留當前迭代最優(yōu)的火花外,煙花算法在每次迭代時從Smax+m+N個火花中選取N- 1個火花進行保留,以維持火花總數(shù)不變.保留第i個火花的概率為
其中R(Xi)為該火花距離所有火花的距離之和,即
結合式(6)(7)可知,距離其他火花越遠,被保留的概率越大.經過多次迭代后,煙花算法的全局最優(yōu)解即為優(yōu)化問題的最優(yōu)解.
在無線傳感器網絡的傳輸過程中,節(jié)點的能量衰減主要來自于傳輸與接收數(shù)據(jù)兩個過程損耗的能量ETX與ERX,傳輸距離越長能量衰減越快[5].當傳輸距離為d時,節(jié)點傳輸與接收1 bit 數(shù)據(jù)所消耗的能量ETX與ERX分別為
其中Eelec為節(jié)點發(fā)送與接收1bit 數(shù)據(jù)的過程中電路損耗的能量;εfs與εamp分別為信號放大器損耗的能量以及路徑上的能量衰減;d0為傳輸距離的閾值.
最佳宿節(jié)點部署問題本質上是一個在二維平面空間內尋求最優(yōu)解的問題,因此,若令煙花算法的可行解空間維度為2,則每個火花的當前位置即為宿節(jié)點的一個候選解.為將煙花算法生成的最優(yōu)解與實際節(jié)點位置聯(lián)系起來,我們采用節(jié)點的最鄰近解作為宿節(jié)點的位置,即將距離煙花算法產生的最優(yōu)解位置最鄰近的節(jié)點視為宿節(jié)點.對于一個具有Nnode個節(jié)點的無線傳感器網絡,第i個火花得到的宿節(jié)點的位置為
其中Xnodek表示傳感器節(jié)點k在平面內的位置.為了評估每個火花得到的宿節(jié)點位置的優(yōu)劣,基于無線傳感器網絡通信過程中的能量衰減模型,在適應度函數(shù)中考慮宿節(jié)點的鄰近傳感器節(jié)點的數(shù)量Nneighbor、鄰近傳感器節(jié)點的剩余能量Esensor、宿節(jié)點自身的剩余能量Esink以及宿節(jié)點到網絡中心區(qū)域的距離d等因素.采用的適應度函數(shù)
其中α1、α2和α3為[0,1]范圍內的隨機數(shù).式(11)表明,提出的宿節(jié)點部署算法在搜索過程中更傾向于尋找鄰近節(jié)點數(shù)大、鄰近節(jié)點及自身剩余能量多且距離中心遠的解.每次迭代后,所有火花產生的最優(yōu)解將保留到下一次迭代,經過大量迭代后,最優(yōu)解將穩(wěn)定在一個歷史最優(yōu)解.
算法使用Matlab 進行仿真與比較.仿真環(huán)境采用實際大棚環(huán)境,網絡范圍為600m ×600m的方形區(qū)域.節(jié)點分布與實際大棚中的傳感器節(jié)點部署一致,分為稀疏分布、適中分布與密集分布三種情況,節(jié)點總數(shù)分別為100,200 與300,分布情況如圖1 所示.設置所有傳感器節(jié)點的通訊距離均為100m.
圖1 三種仿真環(huán)境下的節(jié)點分布
為證明本文提出的宿節(jié)點部署算法找到的宿節(jié)點位置的優(yōu)越性,將本算法生成的最優(yōu)宿節(jié)點位置與文[2]提出的中心宿節(jié)點進行比較,兩種部署方法均在相同的仿真環(huán)境運行.煙花算法中,N、D、Smax、m、Amax、a和b的取值分別為5、2、50、5、40、0.04 和0.8,迭代次數(shù)為1000.為更清楚展示兩種部署方式的不同,引入Dijkstra 算法構建最短路徑樹,結果如圖2、圖3 所示,中心大圓點表示宿節(jié)點.可以看出,本算法選取節(jié)點密度較大且節(jié)點能量較充足的區(qū)域設置宿節(jié)點位置,其所產生的數(shù)據(jù)傳輸路徑與中心宿節(jié)點方式所產生的最短路徑樹有很大的區(qū)別.由于考慮了能量、鄰近節(jié)點數(shù)等因素,算法生成的傳輸路徑將具備更大的總能量以及更小的能量損耗,也能有效避免部署宿節(jié)點于不利通信的地點.
圖2 三種仿真環(huán)境下中心點為宿節(jié)點的最短路徑樹
圖3 三種仿真環(huán)境下FWA 得到的宿節(jié)點的最短路徑樹
為測量基于這兩種部署方法構建的無線傳感器網絡的生命周期,引入A3 拓撲算法構建仿真數(shù)據(jù)傳輸路徑,并采用動態(tài)全局基于時間的拓撲重建協(xié)議(DGTTRec)進行路由拓撲維護,該協(xié)議在文[6]中被證明為最適合A3 算法的拓撲維護協(xié)議.設定無線傳感器網絡的生命周期為第一個數(shù)據(jù)包開始傳輸?shù)降谝粋€傳感器節(jié)點能量耗盡之間的時間差,測試結果見表1.
表1 測試結果
從表1 數(shù)據(jù)可知,在稀疏、適中和密集三種節(jié)點不均勻分布環(huán)境下,以本算法找到的最優(yōu)鄰近點為宿節(jié)點的網絡相比于直接用中心點作為宿節(jié)點的網絡具有更低的適應函數(shù)值,即更好的適應度.盡管在三種環(huán)境下,兩種算法構建的網絡的活動節(jié)點數(shù)差異不大,但由于考慮了能量、鄰近節(jié)點數(shù)等條件,本算法構建的網絡具備更長的生命周期,具有更強的魯棒性.
為提高無線傳感器網絡在精準農業(yè)應用中的生命周期,本文設計了一種基于煙花算法的宿節(jié)點部署算法,通過將鄰近節(jié)點數(shù)及剩余能量等條件作為適應度函數(shù)的影響變量,有效得出較優(yōu)的宿節(jié)點位置,能降低網絡節(jié)點能耗,延長網絡的生命周期.