孫愛晶,鄭世鵬
(西安郵電大學(xué)通信與信息工程學(xué)院,陜西 西安 710121)
無線傳感器網(wǎng)絡(luò)(wireless sensor network,WSN)中是由大量低成本、能量有限的無線傳感器節(jié)點(diǎn)組成的自組織多跳網(wǎng)絡(luò),對(duì)于復(fù)雜的環(huán)境很難給節(jié)點(diǎn)補(bǔ)充能量,所以為了盡可能的延長(zhǎng)網(wǎng)絡(luò)的生存時(shí)間,節(jié)能是無線傳感器網(wǎng)絡(luò)中很重要的一個(gè)問題[1-2]。高效合理的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)能夠大幅提高網(wǎng)絡(luò)的利用效率并延長(zhǎng)其生命周期,優(yōu)化網(wǎng)絡(luò)的整體能耗效率、延長(zhǎng)網(wǎng)絡(luò)壽命是WSN中一項(xiàng)重要的研究?jī)?nèi)容[3-4]。
經(jīng)典的低功耗自適應(yīng)集簇分層型(low-energy adaptive clustering hierarchy,LEACH)[5]協(xié)議根據(jù)提出的概率公式隨機(jī)選取簇首,節(jié)點(diǎn)隨機(jī)生成一個(gè)隨機(jī)數(shù),并和閾值做比較,如果小于該閾值,則節(jié)該點(diǎn)被選為簇頭,節(jié)點(diǎn)根據(jù)簇首的位置就近入簇,簇頭對(duì)采集的數(shù)據(jù)進(jìn)行融合后以單跳方式傳輸?shù)交荆摬呗圆荒鼙WC簇首數(shù)目及簇首位置的合理分布,選取簇頭也沒有考慮節(jié)點(diǎn)的剩余能量。研究者針對(duì)LEACH協(xié)議的缺點(diǎn)提出的多種改進(jìn)型協(xié)議。其中較為經(jīng)典的如李成法等人提出的EEUC算法[6],該算法中候選簇頭的選取方式和LEACH協(xié)議選取簇頭的方式類似,在候選簇頭中引入了競(jìng)爭(zhēng)半徑?jīng)Q定最終簇首,使用非均勻成簇的策略,縮小基站周圍簇首的成簇半徑,減小了簇頭收集簇內(nèi)數(shù)據(jù)時(shí)的負(fù)載,有效的緩解了以多跳方式向基站傳輸數(shù)據(jù)時(shí)產(chǎn)生的“熱區(qū)”問題;文獻(xiàn)[6]在LEACH協(xié)議的基礎(chǔ)上提出了LEACH-improved算法,在選取簇首時(shí)考慮了多個(gè)影響因子,避免了能量較小的節(jié)點(diǎn)當(dāng)選為簇首,但因子間的權(quán)重值難以確定,實(shí)際應(yīng)用困難,且易形成極大簇造成節(jié)點(diǎn)間的負(fù)載不平衡;針對(duì)WSN節(jié)點(diǎn)能耗不均的問題,文獻(xiàn)[8]引入蟻群算法確定路由,通過信息素濃度選出路由節(jié)點(diǎn)優(yōu)化路徑質(zhì)量;文獻(xiàn)[9]針對(duì)簇首位置和傳輸路徑選取不合理加劇節(jié)點(diǎn)能耗、縮短網(wǎng)絡(luò)壽命的問題,采用改進(jìn)粒子群算法對(duì)網(wǎng)絡(luò)分簇,并設(shè)計(jì)了一種最小生成樹的多跳路由,有效延長(zhǎng)了網(wǎng)絡(luò)的生存周期。還有一些研究者引入聚類算法對(duì)網(wǎng)絡(luò)進(jìn)行分簇,Bakaraniya等[10]基于K-means算法提出了K-LEACH算法,初始階段利用K-means進(jìn)行聚類,簇頭的選舉沒有考慮節(jié)點(diǎn)的剩余能量;直接使用傳統(tǒng)K-means和FCM算法進(jìn)行聚類容易產(chǎn)生局部最優(yōu)解和收斂速度慢的問題,文獻(xiàn)[11]使用遺傳算法(GA)優(yōu)化模糊C均值聚類從而提出了GAFCMCR算法,該算法將GA應(yīng)用到FCM算法的優(yōu)化計(jì)算中,由GA得到初始聚類中心,再使用標(biāo)準(zhǔn)的FCM算法聚類,然后通過評(píng)價(jià)函數(shù),在每個(gè)簇內(nèi)競(jìng)選出最終簇首,該算法成簇效果較好,具有較好的能量均衡性。但在簇頭輪換階段,判斷更換簇頭的條件里參數(shù)λ選取困難,文中只提到λ取值太大或者太小都會(huì)增加網(wǎng)絡(luò)的能量消耗,并沒有驗(yàn)證所選取值是否最優(yōu),也沒有給出選取最佳值的方法。
本文針對(duì)簇首分布不合理,節(jié)點(diǎn)負(fù)載不均衡,簇首輪換能耗大的問題,綜合上述算法的優(yōu)缺點(diǎn)提出了一種基于混沌優(yōu)化螢火蟲算法的WSN分簇算法。算法首先利用混沌理論優(yōu)化的螢火蟲算法,根據(jù)節(jié)點(diǎn)的位置分布設(shè)計(jì)目標(biāo)函數(shù)對(duì)節(jié)點(diǎn)進(jìn)行聚類,使簇首在整個(gè)檢測(cè)區(qū)域內(nèi)的分布更合理;然后引入雙簇首規(guī)則均衡簇頭負(fù)載,避免某些簇頭負(fù)載過大較早死亡,并在數(shù)據(jù)傳輸階段使用最短路徑Bellman-Ford算法[12-13]確定數(shù)據(jù)多跳傳輸鏈路。另外,在簇首輪換階段,充分考慮整個(gè)網(wǎng)絡(luò)的剩余能量,由主簇首選出簇內(nèi)當(dāng)前剩余能量最高的兩個(gè)節(jié)點(diǎn)充當(dāng)下一輪的簇頭。本文將從以上敘述的幾個(gè)方面對(duì)算法進(jìn)行仿真和分析。
本文所采用的網(wǎng)絡(luò)模型如圖1所示,由N個(gè)隨機(jī)部署在M×M監(jiān)測(cè)區(qū)域的傳感器節(jié)點(diǎn)和一個(gè)能量不受限的匯聚節(jié)點(diǎn)(Sink)組成,關(guān)于該模型做出以下假設(shè):①所有節(jié)點(diǎn)隨機(jī)拋灑布設(shè)后位置都是固定不變的,匯聚節(jié)點(diǎn)位于檢測(cè)區(qū)域中心位置;②節(jié)點(diǎn)可以通過接收的信號(hào)強(qiáng)度計(jì)算與Sink節(jié)點(diǎn)和其他節(jié)點(diǎn)的距離;③節(jié)點(diǎn)可以感知自身位置以及其他節(jié)點(diǎn)位置,根據(jù)距離控制發(fā)射功率和某一特定的節(jié)點(diǎn)通信;④每個(gè)成員節(jié)點(diǎn)周期性的檢測(cè)數(shù)據(jù)并發(fā)送給相應(yīng)的簇首;⑤每個(gè)節(jié)點(diǎn)屬性相同,都具備一定的存儲(chǔ)、計(jì)算、查詢和數(shù)據(jù)融合能力。
圖1 網(wǎng)絡(luò)模型
傳感器節(jié)點(diǎn)傳輸數(shù)據(jù)所消耗的能量遠(yuǎn)大于節(jié)點(diǎn)用于計(jì)算所消耗的能量[14],根據(jù)一階無線電模型,在多徑衰落信道,能耗和傳輸距離d的四次方成正比,所以本文從優(yōu)化簇首的分布與簇結(jié)構(gòu)的角度來減少采集數(shù)據(jù)時(shí)傳播所消耗的能量,并采用LEACH協(xié)議中的一階無線通信能耗模型,則傳輸距離為d時(shí)傳感器節(jié)點(diǎn)發(fā)送lbit數(shù)據(jù)所消耗的能量ETx(l,d)可以表示為式(1):
式中,ε代表發(fā)射放大器的放大倍數(shù);l代表傳感器節(jié)點(diǎn)所發(fā)送或接收消息的比特?cái)?shù);Eelec代表發(fā)射或接收電路處理單位比特所消耗的能量;d0=,為傳輸距離閾值,其中εfs為自由信道的能耗參數(shù),εmp為多徑衰落信道的能耗參數(shù),當(dāng)傳輸距離d<d0時(shí)為自由信道,傳感器節(jié)點(diǎn)發(fā)送或接收數(shù)據(jù)時(shí)消耗的能量與距離的平方成正比;當(dāng)d≥d0為多徑衰落信道,與距離的四次方成正比。
傳感器節(jié)點(diǎn)接收lbit數(shù)據(jù)消耗的能量ERx如式(2):
螢火蟲算法(Firefly Algorithm,F(xiàn)A)[15]是由劍橋?qū)W者Yang模擬自然界中螢火蟲的發(fā)光與移動(dòng)特性提出的一種基于群體搜索的隨機(jī)優(yōu)化算法。其仿生原理是:利用螢火蟲的發(fā)光特性使個(gè)體之間相互吸引,熒光度較弱的螢火蟲向較強(qiáng)的螢火蟲移動(dòng),從而實(shí)現(xiàn)位置優(yōu)化。
Algorithm 1 Firefly Algorithm
FA算法主要遵循以下三個(gè)原則:①所有的螢火蟲不區(qū)分性別,個(gè)體之間可以相互吸引;②吸引度β和亮度I成正比,因此對(duì)于任意兩個(gè)螢火蟲,亮度低的將向亮度高的個(gè)體移動(dòng),并且吸引度和亮度都隨著距離的增加而減小。如果螢火蟲的周圍找不到更亮的個(gè)體,該螢火蟲將做隨機(jī)移動(dòng)。③螢火蟲的亮度由目標(biāo)函數(shù)的值決定。
定義1螢火蟲的相對(duì)熒光亮度為:
式中,I0為螢火蟲的最大熒光亮度,即自身(r=0處)熒光亮度,與目標(biāo)函數(shù)值相關(guān),目標(biāo)函數(shù)值越優(yōu)自身亮度越高;γ為光強(qiáng)吸收系數(shù),可設(shè)置為常數(shù);rij為螢火蟲i和j之間的距離。
定義2螢火蟲的吸引度β為:
式中,β0為最大吸引度,即光源(r=0處)的吸引度。螢火蟲個(gè)體的吸引度β隨著個(gè)體間距離的增加而降低,其值的大小決定低亮度螢火蟲個(gè)體向高亮度螢火蟲個(gè)體移動(dòng)的距離。
定義3螢火蟲i被螢火蟲j吸引進(jìn)行移動(dòng)的位置由式(5)更新:
式中,xi、xj代表任意兩只螢火蟲i和j在空間所處的位置;(xj-xi)為它們的笛卡爾距離;α∈[0,1],為步長(zhǎng)因子;rand是隨機(jī)數(shù),服從標(biāo)準(zhǔn)均勻分布;α×(rand-1/2)為隨機(jī)擾動(dòng),避免算法陷入早熟。通過多次移動(dòng)后,所有的個(gè)體都聚集到亮度最高的螢火蟲位置,從而實(shí)現(xiàn)尋優(yōu)。
下面為FA的偽代碼描述:
FA對(duì)初值敏感,尋優(yōu)能力主要靠個(gè)體間的相互作用,缺乏變異機(jī)制,易陷入局部最優(yōu)且難以擺脫?;煦缡欠蔷€性系統(tǒng)所特有的一種非周期運(yùn)動(dòng)現(xiàn)象,其行為復(fù)雜且類似隨機(jī),但存在精致的內(nèi)在規(guī)律性,具有內(nèi)隨機(jī)性、初值敏感性和遍歷性等特點(diǎn)[16]?;煦鐑?yōu)化就是利用混沌運(yùn)動(dòng)的他特性來提高隨機(jī)優(yōu)化算法的效率[17-18]。文獻(xiàn)[19]中的已經(jīng)證明立方映射產(chǎn)生的序列具有較好的均勻性,本文將采用立方映射來初始化種群,文獻(xiàn)[20]給出了利用立方映射產(chǎn)生混沌序列的優(yōu)化過程所包括的兩個(gè)關(guān)鍵步驟如下:①將混沌空間映射到優(yōu)化問題的解空間;②利用混沌動(dòng)態(tài)特性實(shí)現(xiàn)對(duì)解空間的搜索。
本文采用文獻(xiàn)[21]提出的一種將混沌空間映射到優(yōu)化問題解空間的算法:
①對(duì)于D維空間的M個(gè)螢火蟲個(gè)體,首先隨機(jī)產(chǎn)生一個(gè)D維向量,該向量作為第一個(gè)螢火蟲個(gè)體,表示為Y=(y1,y2,…,yd),其中yi∈[-1,1],1≤i≤d。
②然后將Y的每一維利用式(6)進(jìn)行M-1次迭代,生成其余的M-1個(gè)螢火蟲個(gè)體。
③將產(chǎn)生的混沌變量按式(7)映射到解的搜索空間:
Ud和Ld分別表示搜索空間的第d維的上下限,yid是利用式(6)產(chǎn)生的第i個(gè)螢火蟲的第d維,xid即為第i個(gè)螢火蟲在搜索空間的第d維的坐標(biāo)。
根據(jù)本文選取的網(wǎng)絡(luò)模型規(guī)模大小,CACOFA算法先隨機(jī)產(chǎn)生一個(gè)40維向量作為第一個(gè)螢火蟲個(gè)體,然后使用式(6)對(duì)該向量的每一維進(jìn)行迭代19次,得到20個(gè)螢火蟲個(gè)體,最后通過式(7)將20個(gè)螢火蟲個(gè)體映射到解空間的20個(gè)解。把最終得到的20個(gè)解作為FA算法的初始解,通過對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行聚類得到最優(yōu)解,由基站向全網(wǎng)廣播聚類結(jié)果,節(jié)點(diǎn)收到數(shù)據(jù)包后解析出來自己所在的聚類及簇內(nèi)成員,并創(chuàng)建一個(gè)鏈表存儲(chǔ)在內(nèi)存中;采集數(shù)據(jù)時(shí),普通節(jié)點(diǎn)通過查詢當(dāng)前輪所屬的簇頭并向其發(fā)送數(shù)據(jù),同時(shí)節(jié)點(diǎn)在發(fā)送的數(shù)據(jù)幀中加入自己的標(biāo)號(hào)和當(dāng)前的剩余能量信息?;臼盏酱貎?nèi)所有存活節(jié)點(diǎn)的數(shù)據(jù)后會(huì)根據(jù)能量信息判斷是否需要更換簇頭,輪換簇頭的閾值條件是簇頭節(jié)點(diǎn)的平均剩余能量小于普通節(jié)點(diǎn)的平均剩余能量。更換簇頭時(shí),基站直接查詢第一次的聚類結(jié)果中選出當(dāng)前剩余能量最大的節(jié)點(diǎn)作為簇頭重新進(jìn)行廣播,而不需要重新聚類,這樣不僅能均衡簇頭節(jié)點(diǎn)的負(fù)載,同時(shí)還降低了運(yùn)行算法重新聚類帶來的網(wǎng)絡(luò)延遲。算法流程如圖2所示:
圖2 算法流程
如果簇頭分布不合理,那么在數(shù)據(jù)采集階段,會(huì)帶來很大的網(wǎng)絡(luò)開銷,為了使簇頭分布的更合理,本算法通過綜合考慮簇首數(shù)量和簇結(jié)構(gòu)的緊湊性設(shè)計(jì)適應(yīng)度函數(shù)來優(yōu)化簇頭的分布。本文希望簇結(jié)構(gòu)是比較緊湊的,且較均勻的分布在整個(gè)網(wǎng)絡(luò),適應(yīng)度函數(shù)F如式(8):
其中分子部分代表所有普通節(jié)點(diǎn)到基站的距離的和;分母的第一部分是普通節(jié)點(diǎn)到其對(duì)應(yīng)的簇頭的距離和,第二部分是簇頭到基站的距離和。當(dāng)簇頭均勻的分布在網(wǎng)絡(luò)中,且節(jié)點(diǎn)距離簇頭的距離越小,則對(duì)應(yīng)的適應(yīng)度函數(shù)值越大。
混沌優(yōu)化過程中只需要對(duì)表示螢火蟲向量的維數(shù)進(jìn)行遍歷,復(fù)雜度可表示為O(M×D)。本文設(shè)置螢火蟲算法迭代次數(shù)為200,適應(yīng)度函數(shù)的計(jì)算時(shí)間復(fù)雜度為O(f),標(biāo)準(zhǔn)螢火蟲算法迭代過程的復(fù)雜度為O(M2),則優(yōu)化后的螢火蟲算法的計(jì)算時(shí)間復(fù)雜度為O(M×D+200×M2×f),可簡(jiǎn)略表示為O(M2)。綜上,使用混沌理論優(yōu)化螢火蟲算法與原算法復(fù)雜度數(shù)量級(jí)相同。
簇頭負(fù)責(zé)簇內(nèi)所有數(shù)據(jù)的收集與融合,會(huì)消耗比普通節(jié)點(diǎn)更多的能量,如果繼續(xù)使用簇頭進(jìn)行路由,會(huì)加劇節(jié)點(diǎn)間能耗的不平衡性,造成個(gè)別節(jié)點(diǎn)過早死亡;同時(shí)根據(jù)本文采用的簇頭輪換條件,簇頭能耗過快將導(dǎo)致輪換過于頻繁,會(huì)增加額外的能量消耗,故本文引入雙簇首機(jī)制,添加副簇首負(fù)責(zé)傳送數(shù)據(jù)來均衡主簇頭的能耗,減少簇頭輪換的次數(shù)。本文采用經(jīng)典LEACH協(xié)議中的時(shí)分多址通信機(jī)制,簇頭為每個(gè)成員節(jié)點(diǎn)劃分一個(gè)時(shí)隙,普通節(jié)點(diǎn)在固定的時(shí)隙內(nèi)以單跳的方式向主簇頭傳輸數(shù)據(jù)。主簇頭節(jié)點(diǎn)對(duì)采集的數(shù)據(jù)進(jìn)行融合處理后發(fā)送給副簇頭并在副簇頭間以多跳的方式傳輸?shù)交?。本文采用最短路徑算法中的Bellman-Ford算法確定多跳路徑,該算法是一種用于搜索最短路徑的圖搜索算法[22-23]。為避免單獨(dú)搜集各個(gè)節(jié)點(diǎn)的剩余能量會(huì)增加額外的能量開銷,本文采用文獻(xiàn)[9]的數(shù)據(jù)幀方式,各節(jié)點(diǎn)完成數(shù)據(jù)采集和處理后,將自身剩余能量作為數(shù)據(jù)添加在數(shù)據(jù)包中一起路由到基站。
本文使用MATLAB 2016a為仿真工具在相同參數(shù)條件下對(duì)LEACH算法、EEUC算法、GAFCMCR算法和本文CACOFA算法進(jìn)行了多項(xiàng)性能對(duì)比分析,實(shí)驗(yàn)參數(shù)設(shè)置如表1所示:
表1 仿真參數(shù)
圖3仿真了LEACH算法、EEUC算法、GAFCMCR算法和本文CACOFA算法的分簇效果,LEACH算法采用概率來選擇簇頭,從子圖(a)可以看出簇頭分布和成簇效果都不理想;EEUC采用競(jìng)爭(zhēng)半徑策略來均衡節(jié)點(diǎn)負(fù)載,如子圖(b),越靠近基站的成簇半徑越小,雖然有效的避免了“熱區(qū)”內(nèi)的節(jié)點(diǎn)較早死亡,但整個(gè)網(wǎng)絡(luò)的生存時(shí)間依然較短;GAFCMRA采用遺傳算法優(yōu)化FCM聚類算法來進(jìn)行網(wǎng)絡(luò)分簇,雖然有效的延長(zhǎng)了網(wǎng)絡(luò)的生存時(shí)間,但從子圖(c)可以看出,簇結(jié)構(gòu)存在極大極小簇;而本文提出的CACOFA算法,如子圖(d),簇頭分布均勻,且簇結(jié)構(gòu)的大小均勻;靠近基站的節(jié)點(diǎn)直接與基站成簇。
圖3 算法分簇效果對(duì)比圖
本文使用簇頭包含普通節(jié)點(diǎn)的數(shù)量表示簇頭的負(fù)載,多次運(yùn)行各個(gè)算法統(tǒng)計(jì)數(shù)據(jù)如表2。EEUC算法與其他三種算法的思想不同,它是通過非均勻分簇的思想來均衡整個(gè)網(wǎng)絡(luò)的能耗,故此處不通過簇頭負(fù)載參與比較。通過數(shù)據(jù)可以看出LEACH算法存在極大簇與極小簇,方差最大;GAFCMRA算法存在極大簇,且方差較大;本文CACOFA算法不存在極大簇或極小簇,簇頭負(fù)載的方差為3.76,分簇效果最好。
表2 算法的簇頭負(fù)載
表3給出了各個(gè)算法仿真時(shí)出現(xiàn)第一個(gè)死亡節(jié)點(diǎn)的輪數(shù),使用CACOFA算法的網(wǎng)絡(luò)出現(xiàn)第一個(gè)死亡節(jié)點(diǎn)的輪數(shù)是1 021,比LEACH算法、EEUC算法、GAFCMRA算法分別提高了127%、99%、39%。
表3 出現(xiàn)第一個(gè)死亡節(jié)點(diǎn)的輪數(shù)
圖4從死亡節(jié)點(diǎn)個(gè)數(shù)與輪數(shù)之間的關(guān)系的角度對(duì)比了各算法的生命周期,仿真結(jié)果表明本文算法CACOFA的生命周期均大于LEACH算法、EEUC算法、GAFCMRA算法;在大約700輪的時(shí)候,LEACH算法的節(jié)點(diǎn)已經(jīng)全部死亡;900輪的時(shí)候,EEUC算法和GAFCMRA算法的存活節(jié)點(diǎn)只剩下總節(jié)點(diǎn)個(gè)數(shù)的約五分之一,而CACOFA算法還沒出現(xiàn)第一個(gè)死亡節(jié)點(diǎn),表明CACOFA算法可以有效延長(zhǎng)網(wǎng)絡(luò)的生存時(shí)間。另外,CACOFA算法的節(jié)點(diǎn)從開始死亡到全部死亡經(jīng)歷的時(shí)間比較短,只用了150輪左右,說明網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn)的能耗是比較均衡的,驗(yàn)證了算法在均衡簇頭負(fù)載方面的有效性。
圖4 存活節(jié)點(diǎn)的個(gè)數(shù)與輪數(shù)的關(guān)系
圖5和圖6分別仿真了網(wǎng)絡(luò)總剩余能量和運(yùn)行輪數(shù)的關(guān)系、普通節(jié)點(diǎn)采集數(shù)據(jù)包與輪數(shù)的關(guān)系。當(dāng)運(yùn)行相同輪數(shù)時(shí),CACOFA算法的網(wǎng)絡(luò)總剩余能量始終最多,而且采集的數(shù)據(jù)包大于其他三種算法,說明該算法有效的降低了每輪節(jié)點(diǎn)傳輸數(shù)據(jù)的能耗,使每輪的節(jié)點(diǎn)能量開銷比LEACH算法、EEUC算法、GAFCMRA算法都要小,從而延長(zhǎng)了網(wǎng)絡(luò)的生命周期。從圖6可以看出,CACOFA算法采集的數(shù)據(jù)包均大于其他三種算法。在大約750輪之前,CACOFA算法采集的數(shù)據(jù)包個(gè)數(shù)與其他算法略有浮動(dòng),但總體差別不大,在750輪之后,采用其他三種算法的網(wǎng)絡(luò)均已死亡,CACOFA算法依然可以正常采集數(shù)據(jù),進(jìn)一步驗(yàn)證了CACOFA算法延長(zhǎng)網(wǎng)絡(luò)生命周期的有效性。
圖5 網(wǎng)絡(luò)總剩余能量和輪數(shù)的關(guān)系
圖6 數(shù)據(jù)包與輪數(shù)的關(guān)系
本文從無線傳感器網(wǎng)絡(luò)的特點(diǎn)出發(fā),為了盡可能的延長(zhǎng)網(wǎng)絡(luò)的壽命,在分簇的思想上從均衡節(jié)點(diǎn)負(fù)載,降低每輪網(wǎng)絡(luò)運(yùn)行所需能耗的角度考慮,提出了基于混沌優(yōu)化螢火蟲算法的WSN分簇算法。在成簇階段,目標(biāo)函數(shù)充分考慮距離因素,通過混沌優(yōu)化的螢火蟲算法對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行聚類;在簇頭輪換階段,從聚類結(jié)果中選取剩余能量最高的節(jié)點(diǎn)作為簇頭;在數(shù)據(jù)傳輸階段,采用簇內(nèi)單跳、簇間多跳的方式進(jìn)行傳輸。仿真結(jié)果表明,本文提出的CACOFA算法能夠有效均衡節(jié)點(diǎn)負(fù)載,延長(zhǎng)網(wǎng)絡(luò)的生存周期。
在數(shù)據(jù)路由階段,本文采用了現(xiàn)有的最短經(jīng)典路徑算法進(jìn)行仿真,但最短路徑只能減小單條鏈路上的能耗,并不能保證鏈路上的能耗均衡。下一步工作可通過優(yōu)化路由算法進(jìn)一步均衡整個(gè)網(wǎng)絡(luò)的能耗,延長(zhǎng)網(wǎng)絡(luò)的生命周期。