楊瑞,周杰
(石河子大學(xué)信息科學(xué)與技術(shù)學(xué)院,新疆 石河子 832003)
無(wú)線傳感器網(wǎng)絡(luò)通常由大量傳感器節(jié)點(diǎn)組成,這些節(jié)點(diǎn)隨機(jī)分布在監(jiān)測(cè)區(qū)域內(nèi),多數(shù)無(wú)需基礎(chǔ)設(shè)施支撐網(wǎng)絡(luò)運(yùn)行,并且自組織成簇[1-2]。隨著嵌入式和無(wú)線通信技術(shù)的創(chuàng)新和進(jìn)步,部分應(yīng)用場(chǎng)景下的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)體積已經(jīng)越來(lái)越小。體積的減小使無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用范圍更加廣闊,同時(shí)也降低了使用成本[3-4]。無(wú)線傳感器的部署效率較高,同時(shí)擁有強(qiáng)大的環(huán)境適應(yīng)能力,因而在國(guó)防和軍事、智能家居、農(nóng)業(yè)工程、環(huán)境監(jiān)測(cè)等眾多領(lǐng)域有著廣泛的應(yīng)用[5-6]。
在隨機(jī)部署方式下,無(wú)線傳感器網(wǎng)絡(luò)的傳感器節(jié)點(diǎn)經(jīng)常由無(wú)人機(jī)隨機(jī)拋灑至指定目標(biāo)區(qū)域。這種隨機(jī)部署方式雖然降低了部署成本,卻無(wú)法保證傳感器節(jié)點(diǎn)分布的合理性,從而導(dǎo)致部分區(qū)域出現(xiàn)覆蓋空洞或者重疊覆蓋的情況,進(jìn)而導(dǎo)致監(jiān)測(cè)效果不佳以及部分傳感器節(jié)點(diǎn)能量的浪費(fèi)[7]。因此,如何對(duì)網(wǎng)絡(luò)進(jìn)行有效分簇并在確保完成監(jiān)測(cè)任務(wù)的同時(shí)降低網(wǎng)絡(luò)能耗,是無(wú)線傳感器網(wǎng)絡(luò)研究中的一個(gè)重要問(wèn)題。目前,已有部分專(zhuān)家學(xué)者提出許多低能耗分簇算法來(lái)優(yōu)化無(wú)線傳感器網(wǎng)絡(luò)通信能耗[8-9]。
王磊[10]提出了一種粒子群算法(Particle Swarm Optimization, PSO)來(lái)優(yōu)化無(wú)線傳感器網(wǎng)絡(luò)通信能耗,延長(zhǎng)網(wǎng)絡(luò)的生命周期。該算法雖能有效降低無(wú)線傳感器網(wǎng)絡(luò)的能耗,但收斂速度較慢,全局搜索能力較差。蔣華等[11]設(shè)計(jì)了一種基于改進(jìn)灰狼優(yōu)化算法的水下無(wú)線傳感器網(wǎng)絡(luò)分簇方案,該方案優(yōu)化了網(wǎng)絡(luò)的傳輸能量消耗,具有計(jì)算量小,便于實(shí)驗(yàn)的優(yōu)點(diǎn),能夠有效降低傳感器節(jié)點(diǎn)間傳輸數(shù)據(jù)的通信能耗,但容易陷入早熟收斂,難以通過(guò)優(yōu)化獲得較好的分簇結(jié)果。
為了解決無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)間數(shù)據(jù)傳輸能耗過(guò)大,生命周期較短的問(wèn)題,本文提出了一種基于混沌克隆遺傳算法(Chaotic Clonal Genetic Algorithm,CCGA)的無(wú)線傳感器網(wǎng)絡(luò)低能耗分簇方案,并建立了相應(yīng)的目標(biāo)函數(shù)。方案中設(shè)計(jì)了新的混沌算子和克隆算子,在降低網(wǎng)絡(luò)通信能耗的同時(shí)有效解決了啟發(fā)式算法收斂慢、運(yùn)行時(shí)間過(guò)長(zhǎng)等問(wèn)題。在仿真中,對(duì)比了傳感器節(jié)點(diǎn)數(shù)量分別為100、150、200、250時(shí)所提算法與常用的PSO和混合蛙跳算法(Shuffled Frog Leaping Algorithm,SFLA)的網(wǎng)絡(luò)通信能耗。仿真結(jié)果表明相比于常用的PSO和SFLA,所提出的CCGA方案可以有效的降低無(wú)線傳感器網(wǎng)絡(luò)通信能耗,延長(zhǎng)網(wǎng)絡(luò)生存周期。
在本節(jié)中,針對(duì)無(wú)線傳感器網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)通信能耗的約束,提出了一種低能耗分簇模型。本文研究的無(wú)線傳感器網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 無(wú)線傳感器網(wǎng)絡(luò)分簇結(jié)構(gòu)
在無(wú)線傳感器網(wǎng)絡(luò)中,分簇即在監(jiān)測(cè)的范圍之內(nèi)劃分多個(gè)節(jié)點(diǎn)簇,每個(gè)節(jié)點(diǎn)簇內(nèi)選擇一個(gè)傳感器節(jié)點(diǎn)作為簇頭節(jié)點(diǎn),并將簇內(nèi)的其他節(jié)點(diǎn)作為感知節(jié)點(diǎn)[12-13]。在數(shù)據(jù)上行階段,每個(gè)感知節(jié)點(diǎn)對(duì)目標(biāo)進(jìn)行感知,在完成感知任務(wù)后感知節(jié)點(diǎn)將數(shù)據(jù)上傳至該節(jié)點(diǎn)簇內(nèi)的簇頭節(jié)點(diǎn)。簇頭節(jié)點(diǎn)匯集簇內(nèi)感知節(jié)點(diǎn)上傳來(lái)的數(shù)據(jù),再直接上傳或多跳上傳數(shù)據(jù)至網(wǎng)關(guān)節(jié)點(diǎn)。在任務(wù)下發(fā)階段,感知節(jié)點(diǎn)執(zhí)行的監(jiān)測(cè)任務(wù)由網(wǎng)關(guān)節(jié)點(diǎn)發(fā)布到簇頭節(jié)點(diǎn),再由簇頭節(jié)點(diǎn)下發(fā)至簇內(nèi)的感知節(jié)點(diǎn)上。
無(wú)線傳感器網(wǎng)絡(luò)在發(fā)送和接收數(shù)據(jù)時(shí)會(huì)產(chǎn)生通信能耗,而通信能耗受到傳感器節(jié)點(diǎn)間通信距離的影響[14-16]。由于通信能耗和數(shù)據(jù)傳輸距離直接相關(guān),合理有效的分簇方式可以有效降低網(wǎng)絡(luò)通信距離,進(jìn)而降低網(wǎng)絡(luò)能耗。由于節(jié)點(diǎn)電池能量有限,因此低能耗分簇對(duì)于無(wú)線傳感器網(wǎng)絡(luò)非常重要。
在無(wú)線傳感器網(wǎng)絡(luò)中,發(fā)送節(jié)點(diǎn)將p比特的數(shù)據(jù)的傳輸?shù)浇邮展?jié)點(diǎn)所消耗的通信能耗為:costsend(p,d,i)=Eelec·p+εamp·p·di。其中,costsend(p,d,i)表示兩個(gè)節(jié)點(diǎn)之間的距離為d時(shí),源節(jié)點(diǎn)將p比特的數(shù)據(jù)發(fā)送到接收節(jié)點(diǎn)時(shí)需要的通信能耗。其中,Eelec表示電能參數(shù),εamp表示功率放大參數(shù),i為通信環(huán)境質(zhì)量參數(shù),i的值通常在2到4之間,通常根據(jù)通信環(huán)境的質(zhì)量來(lái)確定i的取值。一般情況下,通信環(huán)境越好,i的值越小。
接收節(jié)點(diǎn)接收q比特的數(shù)據(jù)所需的通信能耗為:costreceived(q)=Eelec·q。其中,costreceived(q)代表接收節(jié)點(diǎn)接收q比特的數(shù)據(jù)時(shí)消耗的通信能耗。在本文的仿真實(shí)驗(yàn)中,假設(shè)q為3072 bit,εamp=100 pJ·bit-1·m-2,Eelec=50 nJ·bit-1,i=3。
遺傳算法(Genetic Algorithm, GA)是一種適合解決復(fù)雜優(yōu)化問(wèn)題的智能算法,它模仿自然界中物種自然選擇過(guò)程,具有強(qiáng)大的優(yōu)化和搜索能力,可用于解決多目標(biāo)優(yōu)化問(wèn)題[17]。遺傳算法受達(dá)爾文進(jìn)化論和優(yōu)勝劣汰生存觀念的啟發(fā),通過(guò)模擬基因隨機(jī)重組和突變的過(guò)程向預(yù)定目標(biāo)完成種群進(jìn)化。然而,傳統(tǒng)遺傳算法易陷入早熟收斂,導(dǎo)致算法陷入進(jìn)化停滯。
本文提出了一種新的CCGA無(wú)線傳感器網(wǎng)絡(luò)低能耗分簇方案。算法設(shè)計(jì)了相應(yīng)的混沌算子以增強(qiáng)算法的全局搜索能力,并設(shè)計(jì)了新的克隆選擇算子來(lái)避免算法陷入局部最優(yōu)?;煦缢阕雍涂寺∷阕幽軌蛴行U(kuò)大算法的搜索范圍,加快算法的收斂速度,進(jìn)而完成能量高效分簇,從而有效降低無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)間數(shù)據(jù)傳輸所需通信能耗。通過(guò)CCGA優(yōu)化無(wú)線傳感器網(wǎng)絡(luò)通信能耗主要步驟如下:
(1)利用混沌算子生成隨機(jī)的染色體組,并完成CCGA染色體的初始化。
(2)選擇優(yōu)良的染色體作為親本,以供交叉和變異算子使用。
(3)通過(guò)交叉和變異產(chǎn)生一個(gè)新種群。
(4)使用適應(yīng)度函數(shù)評(píng)估新種群的優(yōu)劣程度。
(5)使用克隆算子將產(chǎn)生的優(yōu)秀染色體進(jìn)行克隆擴(kuò)增和高強(qiáng)度變異。
(6)使用適應(yīng)度函數(shù)評(píng)估克隆算子的結(jié)果,淘汰劣等染色體并更新種群。
重復(fù)循環(huán),直至達(dá)到最大迭代次數(shù)則輸出最優(yōu)染色體。
1.3.1 染色體編碼
設(shè)計(jì)CCGA的第1步是找到合適的染色體編碼方案。CCGA的效率部分取決于所采用的編碼技術(shù)。由于二進(jìn)制編碼具有表示形式簡(jiǎn)單、表達(dá)能力強(qiáng)的特點(diǎn),本文在低能耗分簇問(wèn)題編碼方案上選擇二進(jìn)制編碼。當(dāng)某向量上對(duì)應(yīng)的二進(jìn)制編碼為數(shù)字“1”則表示該向量位置上的傳感器節(jié)點(diǎn)為簇頭節(jié)點(diǎn),當(dāng)二進(jìn)制編碼為數(shù)字“0”時(shí),則表示該向量位置上為感知節(jié)點(diǎn)。若染色體的染色體編碼為“0100110101”,編碼的第2個(gè)數(shù)字是1,則表示第2個(gè)傳感器節(jié)點(diǎn)是簇頭節(jié)點(diǎn)。編碼中的每個(gè)二進(jìn)制數(shù)字為1個(gè)基因,例如該染色體中基因數(shù)為10,即每個(gè)基因代表1個(gè)傳感器節(jié)點(diǎn),無(wú)線傳感器網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)的數(shù)量為10。換句話說(shuō),染色體符號(hào)長(zhǎng)度即為無(wú)線傳感器網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)的數(shù)量。
1.3.2 初始化種群
在本文中,將初始種群的大小設(shè)置為M,并且假定初始種群中有N個(gè)基因,即無(wú)線傳感器網(wǎng)絡(luò)中存在N個(gè)傳感器節(jié)點(diǎn),種群編碼可由公式(1)表示:
(1)
式中,Bm表示為第m個(gè)染色體,bm,n表示在第m染色體中第n個(gè)傳感器節(jié)點(diǎn)是否為簇頭節(jié)點(diǎn),若bm,n=1,表示該傳感器節(jié)點(diǎn)為簇頭節(jié)點(diǎn),否則為感知節(jié)點(diǎn)。當(dāng)無(wú)線傳感器網(wǎng)絡(luò)中簇頭的數(shù)量固定為S,約束條件如公式(2)所示:
(2)
公式(2)約束了無(wú)線傳感器網(wǎng)絡(luò)中簇頭節(jié)點(diǎn)的數(shù)量,并且將簇頭節(jié)點(diǎn)的數(shù)量固定為S。例如,當(dāng)無(wú)線傳感器網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)的數(shù)量為100個(gè)時(shí),如果將簇頭比例定為10%,則簇頭節(jié)點(diǎn)的數(shù)量為10,即S=10。
在CCGA中,初始化的質(zhì)量對(duì)迭代優(yōu)化速度會(huì)產(chǎn)生很大的影響。CCGA利用混沌序列Logistic映射來(lái)豐富初始化種群的多樣性,從而加大算法的搜索范圍便于找到更優(yōu)解?;煦缬成鋷?lái)的隨機(jī)性完全在解空間范圍內(nèi),并且可以有效提升初始種群的質(zhì)量,因此可以提升算法的收斂速度。Logistic映射數(shù)學(xué)如式(3)所示:
Za+1=μZa(1-Za),Za∈[0,1],μ∈(2,4]。
(3)
式中,μ為控制參量,μ的取值一般為4。
1.3.3 適應(yīng)度計(jì)算
本文的目標(biāo)是最大程度地降低無(wú)線傳感器網(wǎng)絡(luò)通信能耗,因此需要根據(jù)無(wú)線傳感器網(wǎng)絡(luò)的通信能耗評(píng)估每個(gè)染色體的適應(yīng)度。對(duì)于CCGA中的染色體,其適應(yīng)度值根據(jù)適應(yīng)度函數(shù)計(jì)算得出。適應(yīng)度值越低,染色體的質(zhì)量越好。在本文中,通過(guò)公式(4)計(jì)算染色體的適應(yīng)度值。
(4)
式中,F(xiàn)it(Bm) 表示第m個(gè)染色體的適應(yīng)度,Bm為第m個(gè)染色體,F(xiàn)it(Bm)即第m個(gè)染色體的簇頭選擇結(jié)果所需要消耗的通信能耗,也就是第m種簇頭的選擇方法的適應(yīng)度。i為通信環(huán)境質(zhì)量參數(shù),costsend,m,n(p,d,i)為在第m個(gè)染色體的方案中第n個(gè)傳感器節(jié)點(diǎn)發(fā)送p比特?cái)?shù)據(jù)到距離為d的傳感器節(jié)點(diǎn)所需的能耗,而costreceived,m,n(q) 為在第m個(gè)染色體的方案中第n個(gè)傳感器節(jié)點(diǎn)接收q比特?cái)?shù)據(jù)所需的能耗。
1.3.4 選擇
CCGA采用輪盤(pán)賭選擇策略來(lái)選擇父代染色體,選擇程序采用最優(yōu)染色體保存方法和輪盤(pán)賭技術(shù)。在輪盤(pán)賭中,具有更好的適應(yīng)度值的染色體更有可能被選中。因此,可以在不同的輪次選擇相同的染色體。CCGA根據(jù)基于適應(yīng)度的方式確定被選的概率,進(jìn)而進(jìn)行父代的選擇,然后將被選的父代染色體用于交叉算子。這樣,在種群中適應(yīng)度更優(yōu)的染色體更容易被傳給下一代。
為了確保具有較低通信能量消耗的染色體被選擇的可能性更大,染色體的被選擇概率與染色體的適應(yīng)程度成反比,如公式(5)所示:
(5)
1.3.5 交叉
當(dāng)完成選擇算子后,被選擇的染色體被直接轉(zhuǎn)移給交叉算子。交叉算子的目的是搜尋具有更低能耗的染色體。交叉算子是將父代的染色體重新組合為兩個(gè)新的染色體的啟發(fā)式過(guò)程。算法對(duì)B1、B2兩個(gè)染色體進(jìn)行交叉運(yùn)算的過(guò)程如下。首先通過(guò)邏輯與運(yùn)算得到B′,B′是將兩個(gè)染色體中對(duì)應(yīng)位置的布爾代數(shù)進(jìn)行對(duì)比,對(duì)應(yīng)位置布爾代數(shù)相同則保持不變,不同則變?yōu)椤?”。例如當(dāng)B1=[010011001]、B2=[010010110]時(shí),通過(guò)邏輯與運(yùn)算后得到B′=[010010000]。
其次,再對(duì)兩個(gè)染色體進(jìn)行邏輯與運(yùn)算得到B″,B″是將B1和B2中對(duì)應(yīng)位置布爾代數(shù)相同的位置變成0,不同則變?yōu)?,則得到B″=[000001111]
最后,將B″中的“1”隨機(jī)平均分配到B′中的相應(yīng)位置,以獲得兩個(gè)由交叉產(chǎn)生的新染色體。如圖4所示,B″中的數(shù)字“1”平均分配給B′,并且位置是隨機(jī)的。因此,兩個(gè)新獲得的染色體Bnew1和Bnew2,其中一種的分配方案可以為Bnew1=[010011100]、Bnew2=[010010011]。
1.3.6 變異
在CCGA中,每條染色體上的每個(gè)基因都有突變的可能性。變異的主要目標(biāo)是維持群體內(nèi)的多樣性??紤]到染色體中簇頭的數(shù)量是恒定的,變異操作以一定概率將染色體中“ 1”的位置隨機(jī)改變?yōu)椤?”,并隨機(jī)選擇其中為“0”的位置成為“1”。在CCGA中,設(shè)置基因變異概率為0.05。例如B1=[010011001],隨機(jī)變異后可以得到B2=[010001011]。
在本節(jié)中,給出了在無(wú)線傳感器網(wǎng)絡(luò)中CCGA與常用的SFLA和PSO方案的仿真結(jié)果對(duì)比。通過(guò)進(jìn)行仿真實(shí)驗(yàn)來(lái)驗(yàn)證本文所提出的CCGA低能耗分簇方法的性能。在配置為Intel Core i7-8550U,2.00 GHz,8GB RAM,Win10操作系統(tǒng)的電腦上利用MATLAB R2012a軟件測(cè)試了該方案的性能。
在仿真中,設(shè)置監(jiān)測(cè)范圍為100 m×100 m的正方形區(qū)域,每個(gè)傳感器的位置坐標(biāo)在監(jiān)測(cè)范圍內(nèi)隨機(jī)生成。CCGA與常用的PSO以及SFLA方案的參數(shù)設(shè)置根據(jù)實(shí)驗(yàn)經(jīng)驗(yàn)所得,其中CCGA和PSO兩種方案的迭代次數(shù)與種群中染色體數(shù)的設(shè)置均一致,迭代次數(shù)設(shè)為100代,種群染色體個(gè)數(shù)為50。在CCGA中,變異概率和交叉概率分別設(shè)置為0.05和0.8。在PSO中,設(shè)置學(xué)習(xí)因子C1=C2=2。在SFLA中,全局迭代次數(shù)設(shè)置為100代,組內(nèi)迭代次數(shù)設(shè)為20代,種群數(shù)量為6,子種群中青蛙的個(gè)數(shù)為5。
無(wú)線傳感器網(wǎng)絡(luò)的通信能量消耗由發(fā)送能耗和接收消耗組成。在實(shí)驗(yàn)中,為了考慮不同傳感器節(jié)點(diǎn)數(shù)量和不同簇頭比例對(duì)實(shí)驗(yàn)結(jié)果的影響,針對(duì)不同傳感器節(jié)點(diǎn)數(shù)量進(jìn)行了多次仿真實(shí)驗(yàn)。當(dāng)簇頭比例為10%,傳感器節(jié)點(diǎn)數(shù)分別為100、150、200和250時(shí),三種算法的通信能耗仿真結(jié)果如圖2所示。
當(dāng)簇頭節(jié)點(diǎn)比例為10%時(shí),在不同的傳感器節(jié)點(diǎn)數(shù)量條件下,3種啟發(fā)式算法得出的通信能耗均隨算法迭代次數(shù)的增加而降低。這3種算法中,CCGA的通信能耗在迭代過(guò)程中始終低于常用的PSO與SFLA,且在代數(shù)增加時(shí)通信能耗下降速度較快。
當(dāng)傳感器節(jié)點(diǎn)數(shù)量為100時(shí)(圖2A),在經(jīng)過(guò)100次的迭代后,CCGA的通信能耗低于常用的PSO和SFLA。CCGA低能耗分簇方案的通信能耗為0.028 10 J,而相同條件下PSO的通信能耗為0.028 18 J,SFLA的通信能耗為0.028 25 J。CCGA優(yōu)化后的通信能耗比常用的PSO和SFLA分別降低了0.28%和0.53%。這表明了在優(yōu)化無(wú)線傳感器網(wǎng)絡(luò)低能耗分簇中,CCGA搜索能力更強(qiáng),收斂速度更快。
圖2B、C、D分別對(duì)比了150、200和250個(gè)傳感器節(jié)點(diǎn)的網(wǎng)絡(luò)通信能耗,并且得到了類(lèi)似的結(jié)果:當(dāng)傳感器節(jié)點(diǎn)為150時(shí),CCGA、PSO和SFLA優(yōu)化后的通信能耗分別達(dá)到0.041 90 J、0.042 01 J和0.042 05 J(圖2B),表明與常用的PSO和SFLA相比,CCGA低能耗分簇方案獲得了更低的通信能耗,有效地避免了算法陷入進(jìn)化停滯。傳感器節(jié)點(diǎn)數(shù)為200,使用CCGA低能耗分簇方案后通信能耗下降到0.055 77 J,而常用的PSO和SFLA僅分別下降到0.055 90 J和0.055 96 J(圖2C)。傳感器節(jié)點(diǎn)為250,CCPEA、PSO和SFLA的通信能耗分別為0.069 61 J、0.069 76 J和0.069 82 J(圖2D)。
A:100個(gè)傳感器節(jié)點(diǎn); B:150個(gè)傳感器節(jié)點(diǎn); C:200個(gè)傳感器節(jié)點(diǎn); D:250個(gè)傳感器節(jié)點(diǎn)。圖2 WSN通信能耗的對(duì)比
表1給出了當(dāng)傳感器節(jié)點(diǎn)分別為100、150、200、250時(shí),所提出的CCGA方案相比常用的PSO與SFLA方案網(wǎng)絡(luò)通信能耗降低的百分比。
表1 CCGA低能耗分簇方案相對(duì)PSO和SFLA方案通信能耗降低百分比
針對(duì)無(wú)線傳感器網(wǎng)絡(luò)低能耗分簇問(wèn)題,設(shè)計(jì)了系統(tǒng)模型,并給出了計(jì)算無(wú)線傳感器網(wǎng)絡(luò)通信能耗的適應(yīng)度函數(shù),提出了一種新的混沌克隆遺傳算法。在仿真中隨機(jī)生成傳感器節(jié)點(diǎn)的初始位置,在不同傳感器節(jié)點(diǎn)數(shù)量下對(duì)三種算法進(jìn)行仿真實(shí)驗(yàn),隨著傳感器節(jié)點(diǎn)數(shù)量的增加,網(wǎng)絡(luò)的通信能耗變大。
(1)仿真結(jié)果表明,與常用的PSO和SFLA兩種方案相比,所提CCGA算法的優(yōu)勢(shì)如下:隨著迭代次數(shù)的增加,CCGA優(yōu)化后的通信能耗更低。當(dāng)傳感器節(jié)點(diǎn)分別為100、150、200、250時(shí),CCGA低能耗分簇方案獲得的通信能耗均低于常用的PSO和SFLA方案。并且CCGA利用混沌算子生成隨機(jī)初始種群,擴(kuò)大了種群的搜索范圍,有助于找到更好的解,最終實(shí)現(xiàn)了較低的能耗,有效地避免了算法的早熟收斂。
(2)目前常用的PSO和SFLA兩種方案的劣勢(shì)如下:尋優(yōu)能力差,容易陷入過(guò)早收斂等缺點(diǎn),如當(dāng)傳感器節(jié)點(diǎn)數(shù)量為250時(shí),當(dāng)?shù)螖?shù)到達(dá)第20代時(shí),PSO和SFLA的收斂速度顯著降低,并且PSO所優(yōu)化的網(wǎng)絡(luò)能耗已接近其最優(yōu)解。
綜上所述,由于CCGA低能耗分簇方案實(shí)現(xiàn)的能耗更低,其在實(shí)際應(yīng)用中價(jià)值更高。因?yàn)樗酑CGA得到的解更具有穩(wěn)定性,在不同傳感器節(jié)點(diǎn)數(shù)量條件下均取得了更低的能耗,并且算法具有較強(qiáng)的魯棒性,可以有效避免算法陷入早期停滯,因此該算法具有廣闊的應(yīng)用前景。通過(guò)將所提算法進(jìn)行推廣等措施,可以有效的在實(shí)際應(yīng)用中降低無(wú)線傳感器網(wǎng)絡(luò)能耗。
本文所提CCGA方案在降低無(wú)線傳感器網(wǎng)絡(luò)通信能耗的同時(shí)避免了算法陷入早熟收斂。但是,對(duì)于CCGA參數(shù)的選擇是基于現(xiàn)有研究的經(jīng)驗(yàn)值范圍,難以使算法的性能達(dá)到最優(yōu)。由于參數(shù)的敏感性,參數(shù)數(shù)據(jù)的細(xì)微變化將影響算法的性能。下一步將對(duì)參數(shù)進(jìn)行遍歷搜索,從而對(duì)參數(shù)進(jìn)行更細(xì)微的調(diào)整,使算法的性能達(dá)到最優(yōu)。
(1)本文提出了一種新的混沌克隆遺傳算法(CCGA),設(shè)計(jì)了新的目標(biāo)函數(shù),通過(guò)合理的低能耗分簇方案對(duì)無(wú)線傳感器網(wǎng)絡(luò)通信能耗進(jìn)行了優(yōu)化。
(2)CCGA中加入的混沌算子和克隆算子能夠有效避免算法的早熟收斂和進(jìn)化停滯問(wèn)題,同時(shí)擴(kuò)大了優(yōu)化范圍,提升了算法的運(yùn)行效率。
(3)通過(guò)仿真實(shí)驗(yàn)與分析,對(duì)比了CCGA低能耗分簇方案相對(duì)于常用的PSO和SFLA低能耗分簇方案的網(wǎng)絡(luò)通信能耗。實(shí)驗(yàn)結(jié)果表明,當(dāng)簇頭比例為10%時(shí),不同傳感器節(jié)點(diǎn)數(shù)量條件下CCGA的通信能耗均低于常用的PSO和SFLA。