王彥峰,陳 錕,王興華
(廣東電網(wǎng)公司 電網(wǎng)規(guī)劃研究中心,廣東 廣州 510080)
作為無線傳感器網(wǎng)絡(luò)(wireless sensor networks,WSNs)中的核心技術(shù),分簇路由協(xié)議通過將傳感器節(jié)點分簇來提高網(wǎng)絡(luò)能量效率,從而延長網(wǎng)絡(luò)生存期[1]。其中,能量效率是指網(wǎng)絡(luò)能量利用率。WSN中,通過提高能量使用的合理性,能夠改善能量利用率,即提高能量效率?;诜执氐腤SN中,選擇高質(zhì)量簇首,并規(guī)劃合理的傳輸路徑是提高網(wǎng)絡(luò)能量效率、延長網(wǎng)絡(luò)生存期的關(guān)鍵[2-4]。
針對WSN分簇路由協(xié)議存在的能耗問題,文獻[5]提出經(jīng)典的LEACH算法,采用隨機的方式對傳感器節(jié)點進行分簇,并通過周期性輪換簇首均衡節(jié)點的能量消耗。文獻[6]采用人工蜂群算法優(yōu)化網(wǎng)絡(luò)分簇,并構(gòu)建基于最小生成樹的簇間路由以降低簇首負載。文獻[7]采用粒子群優(yōu)化算法選擇最優(yōu)簇首集合,并設(shè)計基于最小生成樹的路由方案,有效延長了網(wǎng)絡(luò)生存期。文獻[8]運用粒子群優(yōu)化模糊C均值進行聚類,以優(yōu)化分簇效果。簇間路由階段,引入貓群算法構(gòu)建最優(yōu)傳輸路徑,以均衡簇首負載。文獻[9]利用蝴蝶優(yōu)化算法來解決最優(yōu)網(wǎng)絡(luò)分簇問題,并采用蟻群優(yōu)化算法構(gòu)建簇間路由。該協(xié)議緩解了路由協(xié)議中普遍存在的“熱區(qū)”問題,提高了網(wǎng)絡(luò)壽命。文獻[10]采用全局交叉人工蜂群算法對傳感器節(jié)點分簇,并采用改進蟻群算法作為簇首節(jié)點去尋找最佳傳輸路徑,有效平衡了網(wǎng)絡(luò)能耗,進而延長了網(wǎng)絡(luò)生存期。
上述各項研究都試圖通過使用不同的人工智能算法來改善網(wǎng)絡(luò)性能,并取得了一定的成效。但上述協(xié)議仍然存在生存期短等缺陷。因此,本文提出了一種新的分簇路由協(xié)議FOFCA,該協(xié)議采用螢火蟲優(yōu)化算法(firefly algorithm,F(xiàn)A)對模糊C均值(fuzzy C-means,F(xiàn)CM)進行優(yōu)化。在成簇階段,使用FA選取FCM的初始聚類點,進而解決網(wǎng)絡(luò)分簇問題;簇劃分完成后,根據(jù)傳感器節(jié)點的能量等級和地理位置,分布式選定簇首。數(shù)據(jù)傳輸階段,簇首根據(jù)蟻群算法(ant colony optimization,ACO)構(gòu)造的多跳傳輸路徑與基站進行通信,簇內(nèi)節(jié)點采用輪詢控制機制向簇首發(fā)送數(shù)據(jù)。
本節(jié)對包括網(wǎng)絡(luò)模型和能耗模型在內(nèi)的系統(tǒng)模型進行了描述。其中,網(wǎng)絡(luò)模型指WSN中網(wǎng)絡(luò)節(jié)點的特性及工作場景的特征。能耗模型指WSN在假設(shè)的網(wǎng)絡(luò)模型中工作時消耗能量的依據(jù)。
首先對本文算法所使用的網(wǎng)絡(luò)模型做如下設(shè)定。
(1)具有全局唯一ID的傳感器節(jié)點隨機放置在監(jiān)測區(qū)域內(nèi)。
(2)所有節(jié)點同構(gòu),即初始能量相同,計算能力與通信能力相當(dāng)。
(3)發(fā)送節(jié)點通過計算自身與接收節(jié)點之間的距離,實現(xiàn)了根據(jù)通信距離自主調(diào)節(jié)發(fā)射功率。
(4)不能對部署完成的WSN進行人為干預(yù)。
本文采用一階無線電通信能耗模型,具體定義請參見文獻[11]。
FOFCA算法引入了LEACH協(xié)議中“輪”的概念。網(wǎng)絡(luò)初始化時期,基站執(zhí)行由FA優(yōu)化的FCM聚類算法為傳感器節(jié)點分簇。首輪簇首由距離聚類中心最近的節(jié)點擔(dān)任。此后每輪,成員節(jié)點根據(jù)當(dāng)前狀態(tài)計算自身權(quán)重值,并由權(quán)值最優(yōu)的節(jié)點擔(dān)任次輪簇頭。所提出的簇頭更換模式在提高簇首質(zhì)量的同時將簇頭更換次數(shù)維持在合理范圍內(nèi),從而緩解簇首能耗,并延長網(wǎng)絡(luò)生存期。
2.1.1 最優(yōu)簇數(shù)
基于分簇的WSN通過將傳感器節(jié)點劃分為指定數(shù)量的簇來降低網(wǎng)絡(luò)能耗。其中,分簇數(shù)量對網(wǎng)絡(luò)性能有重要影響,因此本節(jié)考慮上述網(wǎng)絡(luò)模型和能耗模型計算最優(yōu)網(wǎng)絡(luò)簇數(shù)。WSN工作一輪,所有網(wǎng)絡(luò)節(jié)點的總能耗為[12]
(1)
式中:N為WSN中傳感器節(jié)點的個數(shù),dtoBS為節(jié)點與基站之間的歐氏距離。
Etotal對網(wǎng)絡(luò)簇數(shù)k求偏導(dǎo),得出最優(yōu)網(wǎng)絡(luò)簇數(shù)為
(2)
2.1.2 FCM聚類算法
FCM算法是一種基于柔性劃分的模糊聚類算法,被廣泛應(yīng)用于圖像處理、機器學(xué)習(xí)等領(lǐng)域[13]。應(yīng)用FCM聚類算法解決WSN的最優(yōu)聚類問題,網(wǎng)絡(luò)節(jié)點被劃分為k個緊致的均勻簇,從而最小化簇內(nèi)通信距離。
FCM通過迭代優(yōu)化目標(biāo)函數(shù),將傳感器節(jié)點按位置相似度進行劃分。目標(biāo)函數(shù)按照下式進行計算
(3)
隸屬度按照下式進行更新
(4)
聚類中心按照下式進行更新
(5)
當(dāng)隸屬度矩陣uij更新至最優(yōu)值時,迭代結(jié)束,輸出聚類中心。
2.1.3 FA優(yōu)化FCM算法
FCM算法聚類機制靈活,收斂效果優(yōu)越,然而,由于聚類性能容易受初始聚類中心的影響,導(dǎo)致算法易陷入局部最優(yōu)[14]。為了解決這一問題,本文采用FA對FCM的初始聚類中心進行優(yōu)化。
FA是一種受自然界中螢火蟲發(fā)光特性啟發(fā)而提出的新型啟發(fā)式優(yōu)化算法,具有設(shè)定參數(shù)少、協(xié)作能力強、魯棒性強等特點,被廣泛應(yīng)用于人工神經(jīng)網(wǎng)絡(luò)訓(xùn)練、系統(tǒng)和工程設(shè)計等領(lǐng)域[15]。該算法模擬了螢火蟲之間相互吸引和位置迭代更新的過程,將其應(yīng)用于搜索和優(yōu)化。使用螢火蟲的亮度表示問題解的優(yōu)劣,亮度最大的螢火蟲即為最優(yōu)解[16]。螢火蟲熒光亮度的更新方式如式(6)所示
(6)
式中:I0為螢火蟲的最大熒光亮度,即自身的無衰減的熒光亮度,γ為光吸收因子,反映光在傳播過程中的衰減損耗,rij為螢火蟲i與螢火蟲j之間的距離,按照下式進行計算
(7)
式中:d表示待求解問題的維度,xi,k表示螢火蟲i在第k維搜索空間的位置。
FA中,亮度較弱的螢火蟲會受到亮度較強個體的吸引,并向其移動。個體j向i移動的數(shù)學(xué)模型如下
xi(t+1)=xi(t)+βFA×(xj(t)-xi(t))+αFA(rand-1/2)
(8)
式中:xi(t) 為t時刻螢火蟲i的位置,αFA為步長因子,取值為[0,1]之間的常數(shù),rand為[0,1]上服從均勻分布的隨機數(shù),βFA表示吸引度,代表螢火蟲之間感受彼此亮度的能力,會隨距離的增加而逐漸減小,計算方式如下
(9)
式中:β0表示r=0時的吸引度。
FA優(yōu)化FCM算法的步驟如下:
步驟1 初始化FA,以隨機的方式在搜索空間內(nèi)生成初始種群。
步驟2 基于適應(yīng)度函數(shù)1/Jm計算種群適應(yīng)值,適應(yīng)值越大,螢火蟲個體的亮度越強。
步驟3 根據(jù)式(7)計算兩個個體之間的距離。
步驟4 根據(jù)式(8)更新個體之間的吸引度。
步驟5 根據(jù)式(9)更新個體位置,其中最亮的螢火蟲(適應(yīng)度值最優(yōu)個體)不受其它螢火蟲吸引,并以隨機方式更新自身位置。
步驟6 重復(fù)執(zhí)行步驟2至步驟5,直到滿足迭代結(jié)束的條件。
步驟7 將FA算法輸出的最優(yōu)解用作FCM算法的初始聚類中心,并執(zhí)行FCM算法。
步驟8 輸出聚類結(jié)果。
成簇階段,基站采用由FA優(yōu)化的FCM算法對網(wǎng)絡(luò)節(jié)點分簇。第一輪,距離簇中心最近的傳感器被指定為簇首。在后續(xù)輪次中,簇首根據(jù)節(jié)點的能量狀態(tài)和位置信息計算簇內(nèi)節(jié)點的適應(yīng)值,并選擇適應(yīng)值最優(yōu)的節(jié)點作為下一輪簇首。節(jié)點的適應(yīng)值按照下式進行計算
fi=αf1+βf2
(10)
式中:fi表示節(jié)點i的適應(yīng)值,f1為能量因子,f2為位置因子,α和β為權(quán)重系數(shù),用于調(diào)整能量因子和位置因子的權(quán)重。
簇首節(jié)點相較于成員節(jié)點,需要執(zhí)行更多的任務(wù),因此其能耗也更大。因此,在計算節(jié)點適應(yīng)值時充分考慮了節(jié)點的剩余能量,以使簇首有充足的能量執(zhí)行各類任務(wù)。節(jié)點的能量因子f1設(shè)計為
(11)
式中:Eres(i) 和Eave(i) 分別表示節(jié)點i當(dāng)前的能量值和該簇的平均能量值。由式(11)可知,節(jié)點i的能量值越高,對應(yīng)的f1值也越大,當(dāng)選簇首的概率越高。
成員節(jié)點感知到數(shù)據(jù)信息后,發(fā)送給對應(yīng)簇首。簇首對數(shù)據(jù)進行融合,并發(fā)送給基站。簇首距離基站越近,則通信距離越短,通信能耗相應(yīng)較低。因此,選擇簇首時需要考慮節(jié)點的地理位置?;谏鲜龇治?,節(jié)點的距離因子設(shè)計為
(12)
式中:di表示節(jié)點i與基站之間的距離,dmax和dmin分別表示節(jié)點i所在的簇內(nèi)中所有節(jié)點到基站距離的最大值和最小值。上式設(shè)計的優(yōu)勢在于同一個簇內(nèi)的節(jié)點的位置相對集中,這使得其與基站之間的距離相近,采用余弦函數(shù)可以使同一簇內(nèi)不同節(jié)點的距離因子有較大的區(qū)分度。節(jié)點距離基站較近,則對應(yīng)的f2值越大,當(dāng)選簇首的概率就越高。
權(quán)重系數(shù)的更新方式如下式所示
α=1/(1+Eres(i)/Eave(i))
(13)
β=1-α
(14)
權(quán)重系數(shù)更新方式的好處為:隨網(wǎng)絡(luò)的運行,節(jié)點能量不斷耗損,在簇首選舉時需要重點考慮節(jié)點的剩余能量因素。而α隨節(jié)點能量的降低動態(tài)增加,很好滿足了這一需求。
簇首更新時,節(jié)點之間需要交換大量控制包,從而產(chǎn)生能量損耗。為解決這一問題,本文降低了簇首更新的頻率,在每輪最后,當(dāng)前簇首根據(jù)下式?jīng)Q定次輪是否需要更換簇首
fCH≤λfmax(i),λ∈(0,1]
(15)
式中:λ為網(wǎng)絡(luò)系數(shù),決定簇首更新頻率。若簇首的適應(yīng)值滿足上式,則需要根據(jù)節(jié)點適應(yīng)值來更新下一輪次的簇首。否則,下一輪次不需要更新簇首。這樣就避免了因頻繁更換簇首而產(chǎn)生的不必要能量開銷。
基于上述網(wǎng)絡(luò)模型與能耗模型,隨通信距離增加,節(jié)點的通信能耗成指數(shù)型增長。簇首采集簇內(nèi)節(jié)點感知到的數(shù)據(jù)后,對冗余數(shù)據(jù)進行壓縮并將其發(fā)送到基站。如果簇首選擇單跳方式向基站發(fā)送數(shù)據(jù),會出現(xiàn)“熱區(qū)”問題。針對這一問題,本文提出一種基于蟻群算法[17]的簇間路由方法,用于平衡網(wǎng)絡(luò)節(jié)點的負載。
簇首節(jié)點選取下一跳的轉(zhuǎn)移概率函數(shù)為
(16)
簇首i到j(luò)的啟發(fā)值按照下式進行計算
(17)
式中:Ej-rem表示j的能量值,dij為i與j之間的歐式距離,Nj為下一跳簇首j所在簇的成員節(jié)點數(shù),θ為簇首i到下一跳簇首j的連線與簇首i到基站的連線的夾角,ω1和ω2為權(quán)重系數(shù)。根據(jù)式(17),可以得知,待選下一跳的節(jié)點能量越高、距離基站越近,則當(dāng)前簇首到該下一跳簇首的啟發(fā)值越大。此外,當(dāng)前簇首到下一跳簇首的連線與當(dāng)前簇首到基站連線所構(gòu)成的夾角越小,其余弦值就越大,兩簇首之間的啟發(fā)值也越大,這代表更靠近當(dāng)前簇首與基站連線的下一跳將得到支持,此時通信距離也較短。而遠離當(dāng)前簇首與基站的連線的下一跳將被拒絕?;谏鲜龇治觯嵌纫蜃幽軌虮苊獯厥紫蛳乱惶?jié)點發(fā)送數(shù)據(jù)時出現(xiàn)回旋式跳轉(zhuǎn)問題。通過考慮多種因素,極大地提高了路徑啟發(fā)因子的功能性,使下一跳節(jié)點的選取更具針對性,從而提高路由效率。
信息素的更新方式在路徑選擇中起著至關(guān)重要的作用。本文提出一種新穎的信息素更新方式,包括全局信息素更新和局部信息素更新,分別記為階段1和階段2,以提高路由發(fā)現(xiàn)效率,其計算方式如下
τij(t+1)=(1-ρ)τij(t)+ρΔτij(t)
(18)
式中:ρ與Δτij(t) 分別表示信息素的揮發(fā)系數(shù)與增量。
階段1:搜索代理由i移動至j,并根據(jù)下式完成局部信息素更新
(19)
式中:Qlocal為局部信息素濃度。由上式可知,局部信息素濃度更新時,綜合考慮了到下一跳簇首的距離和下一跳簇首的剩余能量,在縮短通信距離的同時保證下一跳簇首有充足的能量完成數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)。
階段2:搜索代理到達終點后原路返回,同時按照下式完成全局信息素的更新
(20)
式中:Qglobal表示全局信息素濃度,為控制參數(shù),Emin和L分別為路徑中的最小能量值和路徑長度。
根據(jù)局部信息素和全局信息素更新方式可知,長度短、能量均衡的路徑在信息素更新時將會得到一個較大的值,這能夠使路由發(fā)現(xiàn)階段選擇合適的路徑來傳輸數(shù)據(jù),提高路由效率。
一般的分簇路由協(xié)議在完成簇構(gòu)建之后,簇內(nèi)成員節(jié)點在自己的時隙內(nèi)處于喚醒狀態(tài),并將過去一段時間內(nèi)采集到的數(shù)據(jù)信息發(fā)送給簇首,其余時間進入休眠狀態(tài),以節(jié)省能量[18,19]。但TDMA機制不能鑒定節(jié)點是否需要被喚醒以履行數(shù)據(jù)發(fā)送任務(wù),即不需要發(fā)送數(shù)據(jù)的節(jié)點在時隙到來時仍會被喚醒,執(zhí)行與簇首通信的任務(wù)從而導(dǎo)致不必要的能量損耗。為了解決這一問題,本文引入了輪詢控制機制,用來替代TDMA機制以完成簇內(nèi)通信。在簇構(gòu)建完成之后,簇首節(jié)點創(chuàng)建記錄成員節(jié)點忙閑狀態(tài)和訪問順序的輪詢表,并將其分配給成員節(jié)點。其中,簇首根據(jù)忙閑狀態(tài)判斷節(jié)點是否有數(shù)據(jù)信息需要發(fā)送。簇首通過辨別當(dāng)前輪次中需要訪問的成員節(jié)點來針對性的喚醒部分節(jié)點,以降低節(jié)點能耗,同時避免了時隙的浪費。
為測試所提協(xié)議的有效性,使用Matlab R2016b軟件對FOFCA、FIGWO[20]和GAFCMCR[21]協(xié)議在不同網(wǎng)絡(luò)環(huán)境下進行仿真實驗。監(jiān)測區(qū)域的范圍、基站位置和傳感器節(jié)點的個數(shù)是影響協(xié)議性能的主要因素[22,23],因此在不同網(wǎng)絡(luò)環(huán)境下對協(xié)議進行仿真實驗,WSN的場景參數(shù)見表1,仿真參數(shù)請參見文獻[24],螢火蟲算法和蟻群算法用到的參數(shù)見表2[25,26]。
表1 網(wǎng)絡(luò)場景參數(shù)
表2 FA與ACO算法參數(shù)
網(wǎng)絡(luò)穩(wěn)定期的定義是網(wǎng)絡(luò)中首個節(jié)點的死亡時間,是評估協(xié)議能耗均衡性的指標(biāo)。在場景1中,網(wǎng)絡(luò)中部署100個節(jié)點時,F(xiàn)OFCA、FIGWO和GAFCMCR的網(wǎng)絡(luò)穩(wěn)定期分別為221輪、56輪、89輪;網(wǎng)絡(luò)中部署200個節(jié)點時,3種協(xié)議的網(wǎng)絡(luò)穩(wěn)定期分別為241輪、56輪、91輪;網(wǎng)絡(luò)中部署300個節(jié)點時,3種協(xié)議的網(wǎng)絡(luò)穩(wěn)定期分別為229輪、73輪、129輪。在場景2中,3種協(xié)議的網(wǎng)絡(luò)穩(wěn)定期分別為32輪、7輪、8輪。為方便比較分析,將場景1和場景2中的網(wǎng)絡(luò)穩(wěn)定期分別繪制于圖1和圖2。圖1為3種協(xié)議在場景1中的網(wǎng)絡(luò)穩(wěn)定期對比。場景1規(guī)模較小,節(jié)點之間的通信距離相應(yīng)較短,網(wǎng)絡(luò)節(jié)點能夠正常工作較長的時間。從圖1中可以明顯看出,F(xiàn)OFCA相較于其它兩種算法在網(wǎng)絡(luò)穩(wěn)定期指標(biāo)上具有顯著優(yōu)勢。這一優(yōu)勢得益于本文算法在分簇效果上的良好表現(xiàn),成功縮短了簇類節(jié)點之間的通信距離從而降低通信損耗。此外,F(xiàn)OFCA在簇間通信階段構(gòu)造了高效的路由算法,簇首節(jié)點根據(jù)路由路徑完成數(shù)據(jù)傳輸,有效降低了其能量消耗?;谏鲜鲈?,F(xiàn)OFCA能夠有效均衡網(wǎng)絡(luò)能耗,從而延長了網(wǎng)絡(luò)穩(wěn)定周期。圖2為3種協(xié)議在場景2中的網(wǎng)絡(luò)穩(wěn)定期對比。場景2規(guī)模較大,簇首與基站之間的距離相對較遠,遠程通信給簇首帶來了巨大的能量損耗,導(dǎo)致其過早死亡。但本文協(xié)議使用改進的蟻群算法為簇首節(jié)點規(guī)劃最優(yōu)傳輸路徑,均衡了簇首負載,緩解了簇首的能量損耗。因此,在大規(guī)模場景下本文協(xié)議的網(wǎng)絡(luò)穩(wěn)定期比對比算法更長。
圖1 3種協(xié)議在場景1中的網(wǎng)絡(luò)穩(wěn)定期對比
圖2 3種協(xié)議在場景2中的網(wǎng)絡(luò)穩(wěn)定期對比
網(wǎng)絡(luò)生存期用于評價協(xié)議的能量效率,其指的是75%的節(jié)點的死亡的時間。在場景1中,網(wǎng)絡(luò)中部署100個節(jié)點時,F(xiàn)OFCA、FIGWO和GAFCMCR的網(wǎng)絡(luò)生存期分別為983輪、457輪、579輪;網(wǎng)絡(luò)中部署200個節(jié)點時,3種協(xié)議的網(wǎng)絡(luò)生存期分別為991輪、538輪、827輪;網(wǎng)絡(luò)中部署300個節(jié)點時,3種協(xié)議的網(wǎng)絡(luò)生存期分別為1083輪、550輪、866輪。在場景2中,3種協(xié)議的網(wǎng)絡(luò)生存期分別為615輪、257輪、396輪。為方便比較分析,將場景1和場景2中的網(wǎng)絡(luò)生存期分別繪制于圖3和圖4。圖3為3種協(xié)議在場景1中的網(wǎng)絡(luò)生存期對比。由于場景1規(guī)模較小,所有節(jié)點短距離通信,能量耗損較小,3種協(xié)議均有較長的網(wǎng)絡(luò)生存期。但本文協(xié)議分簇效果理想,并且簇首在簇間通信階段采用了合理的多跳傳輸路徑,降低了網(wǎng)絡(luò)能耗,使本文所提出的協(xié)議在網(wǎng)絡(luò)生存期指標(biāo)上表現(xiàn)出顯著的優(yōu)勢。圖4顯示了3種協(xié)議在大規(guī)模網(wǎng)絡(luò)場景下的網(wǎng)絡(luò)生存期對比。在這種大規(guī)模場景下,高效的路由算法對協(xié)議的性能有重要意義。若簇首節(jié)點單跳向基站發(fā)送數(shù)據(jù),遠距離通信會導(dǎo)致簇首節(jié)點產(chǎn)生大量的能耗,從而縮短網(wǎng)絡(luò)生存期。本文提出的協(xié)議采用基于蟻群優(yōu)化的簇間路由算法,有助于為簇首節(jié)點找到合適的傳輸路徑,簇首通過多跳將數(shù)據(jù)發(fā)往基站,從而降低了網(wǎng)絡(luò)能耗。因此,本文所提FOFCA協(xié)議在大規(guī)模場景下的網(wǎng)絡(luò)生存期比對比協(xié)議更長。
圖3 3種協(xié)議在場景1中的網(wǎng)絡(luò)生存期對比
圖4 3種協(xié)議在場景2中的網(wǎng)絡(luò)生存期對比
部署WSN的目的是為了采集監(jiān)測區(qū)域的數(shù)據(jù),因此網(wǎng)絡(luò)吞吐量是評價協(xié)議性能的一個關(guān)鍵性能指標(biāo)。網(wǎng)絡(luò)吞吐量越高,代表網(wǎng)絡(luò)采集到的數(shù)據(jù)越多。圖5為3種算法在場景1中的網(wǎng)絡(luò)吞吐量的對比結(jié)果。根據(jù)圖5,所提協(xié)議收集到的數(shù)據(jù)包個數(shù)遠多于其它兩種對比協(xié)議,這是因為FOFCA具有最長的網(wǎng)絡(luò)生存期,延長了傳感網(wǎng)的工作時間,故收集到了更多的數(shù)據(jù)包。此外,通過引入輪詢調(diào)度改善了時隙的利用率,使基站接收到了更多的數(shù)據(jù)包。在大規(guī)模的應(yīng)用場景中,F(xiàn)OFCA、FIGWO和GAFCMCR這3種協(xié)議的網(wǎng)絡(luò)吞吐量進行了對比,如圖6所示。在該場景中,本文所提出的協(xié)議具有最高的網(wǎng)絡(luò)吞吐量,這是因為較長的網(wǎng)絡(luò)生存期有助于基站接收更多的數(shù)據(jù)信息。此外,簇內(nèi)使用輪詢調(diào)度進一步改善了網(wǎng)絡(luò)吞吐量。
圖5 3種協(xié)議在場景1中的網(wǎng)絡(luò)吞吐量對比
圖6 3種協(xié)議在場景2中的網(wǎng)絡(luò)吞吐量對比
為了均衡WSN負載,本文提出一種基于人工智能算法的分簇路由協(xié)議FOFCA。在網(wǎng)絡(luò)分簇階段,首先利用FA優(yōu)化FCM聚類算法,克服了FCM受初始聚類中心的影響易陷入局部最優(yōu)的缺點;其次使用改進的FCM為傳感器節(jié)點聚類分簇,以最小化簇內(nèi)節(jié)點之間的距離;最后,考慮節(jié)點的能量和到基站的距離因素,動態(tài)更新簇首以提高其質(zhì)量。在簇間通信階段,采用基于改進蟻群優(yōu)化的簇間路由算法為簇首尋找傳輸路徑,以降低簇首的能耗。同時,通過使用輪詢調(diào)度完成簇內(nèi)通信,改善能量利用率。仿真實驗結(jié)果表明,F(xiàn)OFCA能夠有效延長網(wǎng)絡(luò)生存期,并提高網(wǎng)絡(luò)吞吐量。