安葳鵬,邵一帆
(河南理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,河南 焦作454003)
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)是由部署在特定監(jiān)測區(qū)域內(nèi)的大量微型傳感器節(jié)點(diǎn)構(gòu)成的自組織網(wǎng)絡(luò)系統(tǒng)[1],各節(jié)點(diǎn)通過無線通信方式將它們監(jiān)測到的環(huán)境參數(shù)或特定數(shù)據(jù)以單跳或多跳的方式傳輸給一個或多個數(shù)據(jù)接收器。 無線傳感器網(wǎng)絡(luò)可應(yīng)用于多種復(fù)雜的環(huán)境,通常傳感器節(jié)點(diǎn)由電池供電,且節(jié)點(diǎn)的存儲容量有限,處理能力低,在大多數(shù)應(yīng)用環(huán)境中能源裝置不便于更換。因此對于解決無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)能耗問題,設(shè)計(jì)低功耗路由協(xié)議以降低無線傳感器網(wǎng)絡(luò)整體能耗,延長網(wǎng)絡(luò)生存時間具有深遠(yuǎn)意義[2-4]。
為了解決無線傳感器網(wǎng)絡(luò)能耗問題,Lindsey S等人在LEACH 協(xié)議[5]的基礎(chǔ)上改進(jìn)并提出了PEGASIS(Power-Efficient Gathering in Sensor Information Systems)協(xié)議[6-9],該協(xié)議主要用貪心算法將所有的節(jié)點(diǎn)連接成一條單鏈,并由基站隨機(jī)選取簇頭,使數(shù)據(jù)從鏈兩端開始傳遞到簇頭,再由簇頭將信息發(fā)送給基站,雖然該協(xié)議在延長節(jié)點(diǎn)壽命,平衡節(jié)點(diǎn)能耗上起到一定效果,但仍存在很多缺點(diǎn):易因局部最優(yōu)而產(chǎn)生長鏈;單鏈路傳輸對通信質(zhì)量的要求很高,當(dāng)網(wǎng)絡(luò)規(guī)模增大時,會增加網(wǎng)絡(luò)時延,不適用于對實(shí)時性要求高的環(huán)境;一旦有節(jié)點(diǎn)死亡,則會導(dǎo)致整個網(wǎng)絡(luò)癱瘓,魯棒性差。
針對上述問題,文獻(xiàn)[10]提出TTEMR 協(xié)議,它將網(wǎng)絡(luò)構(gòu)造成雙層樹型多鏈路結(jié)構(gòu),分鏈和鏈頭鏈均通過啟發(fā)式算法優(yōu)化,并對網(wǎng)絡(luò)孤立點(diǎn)進(jìn)行樹型結(jié)構(gòu)化處理,降低了數(shù)據(jù)傳遞路徑長度,但TTEMR協(xié)議需要構(gòu)造樹型結(jié)構(gòu),計(jì)算量較大,且數(shù)據(jù)傳輸時對于一些節(jié)點(diǎn)接收融合數(shù)據(jù)的能耗過大,易導(dǎo)致其過早死亡。 文獻(xiàn)[11]提出PEGASIS-I 協(xié)議,將區(qū)域進(jìn)行劃分,并在子區(qū)域內(nèi)生成通信路由樹,由樹根與基站直接通信,有效降低數(shù)據(jù)傳輸延遲。 文獻(xiàn)[12]提出PEGASIS-C 協(xié)議,它也是將區(qū)域進(jìn)行劃分,采用多跳路由進(jìn)行數(shù)據(jù)通信,既減少數(shù)據(jù)鏈長度,又降低出現(xiàn)“長鏈”的概率;近些年,一些學(xué)者將群智能算法[13-17]引入到無線傳感器路由協(xié)議中,通過群智能算法動態(tài)選擇簇頭,均衡整個網(wǎng)絡(luò)能耗。 文獻(xiàn)[18]提出一種基于改進(jìn)灰狼優(yōu)化算法的分簇路由協(xié)議,有效延長了網(wǎng)絡(luò)生存周期,但簇頭節(jié)點(diǎn)與基站之間的單跳信息傳輸,導(dǎo)致簇頭節(jié)點(diǎn)能量消耗過快,從而使整體網(wǎng)絡(luò)能耗不均。 文獻(xiàn)[19]提出一種基于灰狼優(yōu)化器的集中式分簇路由協(xié)議,該協(xié)議簇頭節(jié)點(diǎn)在中繼選擇階段并非都能找到下一跳路由節(jié)點(diǎn),因此,同樣面臨簇頭與基站直接通信問題,從而導(dǎo)致網(wǎng)絡(luò)能耗不均。
為了延長無線傳感器網(wǎng)絡(luò)生存周期,本文在PEGASIS 的基礎(chǔ)上采用分區(qū)的思想,主要是通過有效區(qū)域劃分的方式進(jìn)行局部小范圍建鏈,這種分區(qū)建鏈的方法能避免整體成鏈產(chǎn)生長鏈以及在數(shù)據(jù)傳輸時由于網(wǎng)絡(luò)傳輸效率降低而加大節(jié)點(diǎn)能耗;此外,通過改進(jìn)灰狼優(yōu)化算法,使得簇頭選擇更加合理有效,在均衡網(wǎng)絡(luò)能耗方面更加高效、節(jié)能。
假設(shè)一個傳感器網(wǎng)絡(luò)由n個隨機(jī)部署的傳感器節(jié)點(diǎn)構(gòu)成,用Si表示第i個節(jié)點(diǎn),相應(yīng)的節(jié)點(diǎn)集合為{S1,S2,…,Sn}。 該傳感器網(wǎng)絡(luò)具有以下性質(zhì):①所有節(jié)點(diǎn)具有相同初始特性,隨機(jī)分布在監(jiān)測區(qū)域且位置不變;②節(jié)點(diǎn)之間都可以互相通信,也可以與基站直接進(jìn)行通信;③基站是固定的,能量沒有限制且能量可以滿足監(jiān)測區(qū)域能量需要;④節(jié)點(diǎn)能量有限且消耗完才會死亡。
改進(jìn)協(xié)議和仿真均采用經(jīng)典能耗模型。 式(1)ETX(k,d)表示傳感器節(jié)點(diǎn)發(fā)送kbits 到距離為d的鄰節(jié)點(diǎn)所消耗的能量,由發(fā)射電路損耗和功率放大損耗兩部分構(gòu)成,式(2)表示接收kbits 數(shù)據(jù)的能量損耗,式(3)表示融合kbits 數(shù)據(jù)消耗的能量。
式中:d為傳輸距離,εfs和εamp分別是自由空間能量模型系數(shù)和衰減空間能量模型系數(shù),Eelec表示發(fā)送或接收1 bit 數(shù)據(jù)消耗的能量,Efs表示融合1 bit 數(shù)據(jù)消耗的能量。
改進(jìn)的PEGASIS 協(xié)議采用分簇的方式,以固定的基站為圓心,在得到各節(jié)點(diǎn)的分布密度信息后在同心圓維度把監(jiān)測區(qū)域劃分多個環(huán)帶,針對監(jiān)測區(qū)域較大的問題,為減少節(jié)點(diǎn)遠(yuǎn)距離傳輸能耗,在環(huán)帶分區(qū)基礎(chǔ)上,將監(jiān)測區(qū)域繼續(xù)劃分為多個扇形區(qū)域,形成扇形環(huán)帶分區(qū),每個子區(qū)域內(nèi)的節(jié)點(diǎn)按位置分簇,每個分簇構(gòu)造一條最優(yōu)簇內(nèi)鏈,在選舉簇內(nèi)鏈的簇頭時,利用改進(jìn)灰狼優(yōu)化算法進(jìn)行最優(yōu)簇頭的選??;在后續(xù)迭代中,對權(quán)重進(jìn)行動態(tài)更新,以便繼續(xù)對簇頭進(jìn)行遴選;當(dāng)各子區(qū)域完成建鏈并選出簇頭之后,最終將收集到的信息沿著分區(qū)內(nèi)的簇頭鏈傳遞給基站。 改進(jìn)PEGASIS 協(xié)議主要由分區(qū)、建鏈、選取簇頭、數(shù)據(jù)傳輸四個階段組成。
灰狼優(yōu)化算法(Grey Wolf Optimizer,GWO)[20]模擬了灰狼種群的捕食行為,將狼群搜捕獵物的過程類比為尋優(yōu)過程,達(dá)到尋找最優(yōu)解的目標(biāo),是一種典型的群智能優(yōu)化算法。 已有一些學(xué)者將灰狼優(yōu)化算法應(yīng)用于無線傳感器網(wǎng)絡(luò)的優(yōu)化問題中[21-23],以狼群的位置表示傳感器節(jié)點(diǎn)的位置,獵物的最佳位置對應(yīng)最優(yōu)簇頭。
灰狼群體內(nèi)有嚴(yán)格的等級制度,如圖1 所示。這種嚴(yán)格的社會等級劃分,能更好地進(jìn)行狩獵,其狩獵過程可分為搜索包圍和狩獵。 在狩獵過程中,狼群的初始位置是隨機(jī)的,通過不斷搜索獵物,獲得最終獵物的位置。
圖1 狼群等級制度示意圖
①包圍獵物
捕獵時,灰狼要先得知獵物的位置然后包圍獵物,因此需要首先確定灰狼與獵物的距離,對這個過程進(jìn)行數(shù)據(jù)建模,得到狼群個體與獵物距離的表達(dá)公式:
式中:t代表當(dāng)前迭代次數(shù),Xp(t)是算法在第t次迭代時獵物位置,X(t+1)是第t+1 次迭代時灰狼位置。H和C表示系數(shù)因子,其計(jì)算公式分別為:
式中:a是收斂因子,在整個迭代過程中從2 線性減小為0;r1和r2取[0,1]范圍內(nèi)的隨機(jī)值。
②獵殺獵物
灰狼種群中,由于α、β和δ狼具有豐富的經(jīng)驗(yàn),能對獵物位置做出更好的判斷,所以由它們領(lǐng)導(dǎo)狼群狩獵,此過程可以利用α、β和δ狼三者的位置來確定獵物所在的位置,達(dá)到尋優(yōu)的目的。 在搜索所需獵物的時候,灰狼一般會先識別獵物然后將其包圍,在每次迭代的過程中,保留當(dāng)前最好的三只灰狼,根據(jù)它們的位置信息更新其余狼的位置。 當(dāng)獵物不再移動時,灰狼會通過攻擊來捕捉獵物。
由狼群狩獵機(jī)制可清晰得出,若要獲得獵物的準(zhǔn)確位置,狼群先大致了解獵物位置以更新自身初始位置,根據(jù)α、β和δ狼的位置估算獵物位置。 而估算獵物位置的前提是需要知道α、β和δ狼與獵物的距離,α、β、δ狼根據(jù)它們與獵物的距離由式(6)計(jì)算下一刻的位置,第t+1 次迭代時,獵物的位置如式(7)所示:
式中:Xα(t)、Xβ(t)和Xδ(t)分別是此刻α、β、δ狼的位置;H1、H2和H3,C1、C2和C3的計(jì)算方法如式(5)。
當(dāng)灰狼優(yōu)化算法中對求解獵物位置的權(quán)重因子分配不合理時容易陷入局部最優(yōu),為了更好地應(yīng)用于無線傳感器網(wǎng)絡(luò),選出最合適的簇頭,針對傳感器節(jié)點(diǎn)特性,對獵物位置權(quán)重進(jìn)行動態(tài)更新,提出一種改進(jìn)的灰狼優(yōu)化算法。 具體方法為,將無線傳感器節(jié)點(diǎn)看作灰狼個體,在設(shè)計(jì)灰狼優(yōu)化算法適應(yīng)度函數(shù)時,將影響WSN 生命周期的相關(guān)參數(shù)以不同權(quán)重關(guān)聯(lián)起來,找出灰狼群體中適應(yīng)度值前三的灰狼個體,根據(jù)這三個個體的位置對獵物位置進(jìn)行計(jì)算,所對應(yīng)的獵物位置即為最優(yōu)簇頭的位置。 在算法后續(xù)的迭代中,基于動態(tài)調(diào)整權(quán)重更新節(jié)點(diǎn)位置。
2.2.1 適應(yīng)度函數(shù)設(shè)計(jì)
為了使設(shè)計(jì)的適應(yīng)度函數(shù)更好地適用于無線傳感器,結(jié)合本文均衡節(jié)點(diǎn)能效,延長網(wǎng)絡(luò)生命周期的目標(biāo),對適應(yīng)度函數(shù)的設(shè)計(jì)主要考慮節(jié)點(diǎn)耗能比、同一扇形環(huán)帶區(qū)域中節(jié)點(diǎn)間距離以及同一扇形區(qū)域中,相鄰扇形環(huán)帶中兩簇頭距離平方的期望三個因素。
①節(jié)點(diǎn)耗能比。 節(jié)點(diǎn)剩余能量Eres與初始能量E0的比值,記作Q,Q值越大,說明此節(jié)點(diǎn)能量消耗越均衡;
②同一扇形環(huán)帶區(qū)域中節(jié)點(diǎn)間距離。 即分別對應(yīng)α、β、δ狼之間的距離,記作D;
③同一扇形區(qū)域中,相鄰扇形環(huán)帶中兩簇頭距離平方的期望,記作。
基于能量和位置因素,改進(jìn)算法適應(yīng)度函數(shù)為:
式中:f1、f2、f3是平衡傳感器節(jié)點(diǎn)耗能比、同一子區(qū)域節(jié)點(diǎn)間距離以及同一扇區(qū)相鄰子區(qū)域中簇頭間距離平方的期望的權(quán)重系數(shù)。
2.2.2 基于動態(tài)權(quán)重的灰狼優(yōu)化算法
在算法開始執(zhí)行時,由于獵物的位置是由狼群的初始位置決定,初始化過程應(yīng)充分利用狼群的位置,考慮到節(jié)點(diǎn)沿著鏈路傳輸數(shù)據(jù),故將節(jié)點(diǎn)間的相互距離轉(zhuǎn)換為相應(yīng)的權(quán)重作為尋找獵物位置的初始權(quán)重因子。 獵物的初始位置為Xp(0)為:
式中:Xα(0),Xβ(0),Xδ(0)是α、β、δ狼的初始位置;Dα,β、Dβ,δ、Dδ,α分別表示α、β、δ狼間的距離;ωα、ωβ、ωδ分別表示初始狀態(tài)下,各灰狼間距離相對于獵物的初始權(quán)重。
在算法后續(xù)的迭代中,根據(jù)下式基于動態(tài)調(diào)整權(quán)重更新權(quán)重因子:
t+1 次迭代后,獵物的位置更新為Xp(t+1),其中,Xα(t+1),Xβ(t+1),Xδ(t+1)分別是α、β、δ狼在第t+1 次迭代時的位置。
在基于改進(jìn)灰狼優(yōu)化算法的PEGASIS 協(xié)議實(shí)現(xiàn)過程中,首先對網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行初始化,然后開始建鏈、選擇簇頭、數(shù)據(jù)傳輸?shù)冗^程,反復(fù)迭代更新節(jié)點(diǎn)信息,將融合數(shù)據(jù)傳送給基站,直至網(wǎng)絡(luò)節(jié)點(diǎn)全部死亡,具體流程如圖2 所示。
圖2 改進(jìn)PEGASIS 協(xié)議流程圖
2.3.1 網(wǎng)絡(luò)分區(qū)階段
當(dāng)網(wǎng)絡(luò)節(jié)點(diǎn)被部署后,基站要確定隨機(jī)分布在監(jiān)測區(qū)域內(nèi)的節(jié)點(diǎn)的位置,此時,每個節(jié)點(diǎn)將自己的ID 信息和到基站的距離發(fā)送給基站。 以基站為中心建立直角坐標(biāo)系,基站將整個監(jiān)測區(qū)域看成以自身為圓心的圓形區(qū)域,在得到各節(jié)點(diǎn)的分布密度信息后把監(jiān)測區(qū)域劃分為多個以基站為圓心的同心圓,每個圓環(huán)間距為Δd,各環(huán)間距Δd相等,即各環(huán)間距是均勻分布的。 此外,如果監(jiān)測區(qū)域比較大,會出現(xiàn)子區(qū)域內(nèi)由于傳輸距離遠(yuǎn)導(dǎo)致節(jié)點(diǎn)與節(jié)點(diǎn)、節(jié)點(diǎn)與簇頭、簇頭與基站之間傳輸負(fù)荷大,易提前耗盡能量而死亡,針對此問題,在環(huán)帶分區(qū)的基礎(chǔ)上,以基站為圓心,將監(jiān)測區(qū)域劃分扇形子區(qū)域,每個扇形子區(qū)域相隔的角度為θ(0°<θ<90°),可以將整個圓形區(qū)域分成2π/θ個扇形子區(qū)域,并按逆時針進(jìn)行編號。 如圖3 所示,形成扇形環(huán)帶分區(qū),第一環(huán)帶內(nèi)的節(jié)點(diǎn),在扇形區(qū)域內(nèi)建鏈,超出第一環(huán)帶的節(jié)點(diǎn)在扇形環(huán)帶區(qū)域內(nèi)建鏈。
圖3 扇形環(huán)帶區(qū)域劃分圖
2.3.2 網(wǎng)絡(luò)建鏈階段
分區(qū)結(jié)束后,網(wǎng)絡(luò)開始建鏈。 由于監(jiān)測區(qū)域已完成分區(qū),因此每個節(jié)點(diǎn)都有同區(qū)域標(biāo)記和異區(qū)域標(biāo)記兩個標(biāo)記,各子區(qū)域相當(dāng)于一個簇分別建鏈,以同處一個扇形區(qū)域中的節(jié)點(diǎn)為例,子區(qū)域內(nèi)部成鏈時,設(shè)置同區(qū)域標(biāo)記,對每個環(huán)帶子區(qū)域中的節(jié)點(diǎn)進(jìn)行編號,計(jì)算每個節(jié)點(diǎn)的適應(yīng)度值,遍歷每個節(jié)點(diǎn)路徑依次成鏈,形成多條鏈路,比較各鏈路長度,選擇最短的路徑作為初始鏈路。 子區(qū)域間成鏈時,設(shè)置異區(qū)域標(biāo)記,在簇頭之間朝著基站方向形成一條簇頭鏈。 節(jié)點(diǎn)分布建鏈?zhǔn)疽鈭D如圖4 所示。 當(dāng)各分簇中節(jié)點(diǎn)數(shù)量小于3 時,由于節(jié)點(diǎn)數(shù)量過少導(dǎo)致無法建鏈或者建鏈無效,即在分區(qū)內(nèi)節(jié)點(diǎn)無法成簇,此時將該區(qū)域的少量節(jié)點(diǎn)定義為孤立節(jié)點(diǎn)。 對于基站附近的孤立節(jié)點(diǎn),為了避免延長節(jié)點(diǎn)通信路徑和數(shù)據(jù)逆?zhèn)?,可直接與基站進(jìn)行通信;對于遠(yuǎn)離基站超出通信距離的孤立節(jié)點(diǎn),向周圍發(fā)送廣播信息,同扇區(qū)靠近基站方向且距離該節(jié)點(diǎn)最近的帶有異區(qū)域標(biāo)記節(jié)點(diǎn)做出響應(yīng),孤立節(jié)點(diǎn)根據(jù)響應(yīng)與之建立通信連接,并將數(shù)據(jù)轉(zhuǎn)發(fā)給該節(jié)點(diǎn)。
圖4 區(qū)域內(nèi)節(jié)點(diǎn)分布建鏈圖
2.3.3 選擇簇頭階段
在同一扇區(qū)的每個環(huán)帶子區(qū)域中,對于節(jié)點(diǎn)數(shù)少于3 的子區(qū)域,不進(jìn)行建鏈和簇頭選擇,作為孤立節(jié)點(diǎn)對數(shù)據(jù)進(jìn)行傳輸;對于節(jié)點(diǎn)數(shù)不少于3 的子區(qū)域,則按照改進(jìn)的灰狼優(yōu)化算法,先進(jìn)行初始化操作,在未達(dá)到最大迭代次數(shù)前,執(zhí)行循環(huán),計(jì)算每個節(jié)點(diǎn)的適應(yīng)度值,并對每個子區(qū)域中節(jié)點(diǎn)適應(yīng)度值進(jìn)行排序,排名前三的節(jié)點(diǎn)視為α、β、δ狼,更新獵物位置,由獵物位置映射到簇頭節(jié)點(diǎn)位置,獲得最優(yōu)解,簇頭選擇結(jié)束。
通過改進(jìn)灰狼優(yōu)化算法選擇簇頭后,在后續(xù)過程,各分簇不是每輪傳輸過后都對簇頭進(jìn)行更新,經(jīng)過一段時間后,基站會將各子區(qū)域簇頭剩余能量Eres與初始能量E0的比值Eres/E0即節(jié)點(diǎn)耗能比Q,與設(shè)定的節(jié)點(diǎn)能量閾值Ethres做比較以決定簇頭的更新時間,因?yàn)殡S著網(wǎng)絡(luò)能耗的增加,簇頭節(jié)點(diǎn)Eres/E0逐漸變小,故該閾值是可變的,且隨網(wǎng)絡(luò)節(jié)點(diǎn)能量消耗逐漸減小,在對其初值設(shè)定時大小應(yīng)適中,若初始閾值過小,表明在簇頭剩余能量很少時才開始更換,難以均衡節(jié)點(diǎn)能量;若初始閾值過大,簇頭節(jié)點(diǎn)的更換會比較頻繁,這樣會加大網(wǎng)絡(luò)能耗。若Eres/E0不小于Ethres,則不更新簇頭節(jié)點(diǎn)和能量閾值,繼續(xù)進(jìn)行下一輪數(shù)據(jù)傳輸;若Eres/E0小于Ethres,此時需要重新選擇簇頭并更新能量閾值。
2.3.4 數(shù)據(jù)傳輸階段
PEGASIS 協(xié)議的核心思想是使鏈中的每個節(jié)點(diǎn)將感知得到的信息沿著長鏈依次發(fā)送至鏈頭,隨后鏈頭節(jié)點(diǎn)將感知到的信息進(jìn)行處理、融合轉(zhuǎn)發(fā)至基站。與傳統(tǒng)的鏈?zhǔn)絽f(xié)議不同的是,在信息傳輸?shù)某跏茧A段,首先每個子區(qū)域按照上兩節(jié)所述內(nèi)容形成鏈路并選出簇頭,數(shù)據(jù)分別從鏈路的兩個端節(jié)點(diǎn)開始朝著簇頭方向傳遞,簇頭接收到簇內(nèi)所有節(jié)點(diǎn)的數(shù)據(jù)之后,沿著簇頭鏈傳向離基站更近的下一子區(qū)域的簇頭,直至數(shù)據(jù)全部被基站接收。 如果子區(qū)域中出現(xiàn)節(jié)點(diǎn)死亡,則需要重新建立鏈路,然后繼續(xù)傳輸數(shù)據(jù)。 重復(fù)以上步驟,直到區(qū)域內(nèi)所有節(jié)點(diǎn)能量耗盡。
為驗(yàn)證改進(jìn)協(xié)議的性能,與PEGASIS、PEGASIS-C、TTEMR 進(jìn)行比較,采用MATLAB 進(jìn)行仿真。 仿真環(huán)境設(shè)置在半徑為150 m 的圓形區(qū)域中,監(jiān)測區(qū)域內(nèi)隨機(jī)均勻分布100 個節(jié)點(diǎn),基站位于圓心,其坐標(biāo)為(0,0)。 仿真環(huán)境參數(shù)設(shè)置如表1 所示。
表1 仿真環(huán)境參數(shù)設(shè)置
對監(jiān)測區(qū)域進(jìn)行分區(qū)時,要考慮環(huán)間距Δd和θ對網(wǎng)絡(luò)生命周期的影響,它們直接影響改進(jìn)協(xié)議在該實(shí)驗(yàn)環(huán)境下的性能,監(jiān)測區(qū)域中節(jié)點(diǎn)分布密度不同,最佳參數(shù)值的設(shè)置也不同,原則上區(qū)域面積越大,分環(huán)數(shù)應(yīng)該越多,但并不是越多越好,當(dāng)環(huán)數(shù)達(dá)到某一最優(yōu)值后,繼續(xù)增加區(qū)域環(huán)數(shù)反而會降低網(wǎng)絡(luò)性能,其原因一方面是由于分環(huán)數(shù)越多則每個子區(qū)域內(nèi)的節(jié)點(diǎn)數(shù)越少,不利于簇頭的最優(yōu)選擇,其次,隨著環(huán)數(shù)的不斷增加,簇頭接收、聚合、轉(zhuǎn)發(fā)的能耗增量抵消了多跳導(dǎo)致的能耗增量,加速距離基站較近的簇頭節(jié)點(diǎn)的死亡;同時,跳數(shù)過多也會大大增加網(wǎng)絡(luò)延遲,影響網(wǎng)絡(luò)通信。 表2 是實(shí)驗(yàn)設(shè)置的不同Δd和θ值,通過仿真對比確定最佳參數(shù)。 圖5 是Δd和θ相互映射下取不同值時網(wǎng)絡(luò)性能對比情況。通過對比圖可以得出:當(dāng)Δd取50,θ取π/3 時,節(jié)點(diǎn)存活時間最長,網(wǎng)絡(luò)性能最佳。
圖5 不同參數(shù)下節(jié)點(diǎn)存活數(shù)對比柱狀圖
表2 參數(shù)Δd 和θ 的確定
PEGASIS 采用鏈狀的路由結(jié)構(gòu),通過貪婪算法計(jì)算形成一條包含所有節(jié)點(diǎn)的長鏈,如圖6(a)所示。 而改進(jìn)協(xié)議采用分區(qū)成鏈的方法,通過仿真測出該實(shí)驗(yàn)環(huán)境下的環(huán)間距Δd和θ最優(yōu)值,劃分網(wǎng)絡(luò)區(qū)域,在每個子區(qū)域中分別建立鏈路,如圖6(d)所示。 圖6 (b) 和 圖6 (c) 分 別 是TTEMR 和PEGASIS-C 的鏈路圖,相對于PEGASIS,二者基本解決了長鏈問題,但與改進(jìn)協(xié)議相比較,TTEMR 需要構(gòu)造樹型結(jié)構(gòu),計(jì)算量較大且數(shù)據(jù)傳輸時對于一些節(jié)點(diǎn)接收融合數(shù)據(jù)的能耗過大易導(dǎo)致其過早死亡;PEGASIS-C 雖然也進(jìn)行了分區(qū),但相比改進(jìn)協(xié)議對鏈路的優(yōu)化不明顯,而且區(qū)域內(nèi)鏈路存在交叉鏈,增加了鏈路平均路徑長度,降低了傳輸效率。
圖6 不同協(xié)議鏈路圖
以監(jiān)測區(qū)域節(jié)點(diǎn)向基站發(fā)送一次數(shù)據(jù)為一輪,對比四種協(xié)議每輪存活節(jié)點(diǎn)數(shù),從圖7 仿真結(jié)果可以看出,隨著輪數(shù)的增加,改進(jìn)協(xié)議存活節(jié)點(diǎn)的數(shù)量比PEGASIS、TTEMR 和PEGASIS-C 更多,而且首節(jié)點(diǎn)死亡輪數(shù)和最后一個節(jié)點(diǎn)死亡輪數(shù)都有明顯的增加,這是由于改進(jìn)協(xié)議通過多重分區(qū)形成了局部小范圍成簇,建鏈時有效避免了長鏈的產(chǎn)生,降低了節(jié)點(diǎn)遠(yuǎn)距離通信的開銷,從而減少了節(jié)點(diǎn)能耗,延長了網(wǎng)絡(luò)整體生存時間。
圖7 節(jié)點(diǎn)生存周期對比圖
對四種協(xié)議網(wǎng)絡(luò)能耗進(jìn)行對比,從圖8 仿真結(jié)果可以看出,隨著輪數(shù)的增加,迭代次數(shù)越來越多,改進(jìn)協(xié)議的網(wǎng)絡(luò)能耗更加均衡,持續(xù)的輪次更多,除多重分區(qū)形成局部成簇縮短鏈長的原因,還有一個因素是改進(jìn)協(xié)議在簇頭選擇時采用改進(jìn)的灰狼優(yōu)化算法,遴選出更合適的簇頭,降低了簇頭節(jié)點(diǎn)的能耗,縮小了網(wǎng)絡(luò)節(jié)點(diǎn)間的能耗差異,使能耗整體均衡分布,延長了網(wǎng)絡(luò)生存周期。
圖8 網(wǎng)絡(luò)剩余總能量對比圖
改進(jìn)PEGASIS 協(xié)議在PEGASIS 的基礎(chǔ)上通過采用分區(qū)的思想進(jìn)行有效分區(qū),采取局部小范圍建鏈的方式,更好地避免整體成鏈產(chǎn)生的長鏈以及在數(shù)據(jù)傳輸時由于網(wǎng)絡(luò)傳輸效率降低而加大節(jié)點(diǎn)的能耗;此外,該協(xié)議通過改進(jìn)灰狼優(yōu)化算法對簇頭進(jìn)行尋優(yōu),在后續(xù)迭代過程中對權(quán)重進(jìn)行動態(tài)更新,使得簇頭選擇更加合理有效,在均衡網(wǎng)絡(luò)能效方面更加高效。 對改進(jìn)協(xié)議的鏈路、存活節(jié)點(diǎn)數(shù)量以及網(wǎng)絡(luò)剩余能量這三項(xiàng)指標(biāo)進(jìn)行實(shí)驗(yàn)對比,結(jié)果顯示均優(yōu)于其他三種協(xié)議。 改進(jìn)PEGASIS 協(xié)議在簇內(nèi)節(jié)點(diǎn)建鏈階段,只是通過小范圍建鏈的方式宏觀減少長鏈的生成,并沒有對此過程進(jìn)行很好的優(yōu)化,在今后的工作中將在此方面開展深入研究。