摘 要:針對(duì)無線傳感器網(wǎng)絡(luò)定位算法中DV-Hop(Distance Vector-Hop)算法定位精度誤差大與定位穩(wěn)定性差的問題,提出了一種基于浣熊算法(Coati Optimization Algorithm, COA)的DV-Hop優(yōu)化定位方法。首先,該方法利用多通信半徑來精準(zhǔn)計(jì)算節(jié)點(diǎn)間的跳數(shù),同時(shí)運(yùn)用加權(quán)跳距的策略,對(duì)未知節(jié)點(diǎn)的平均跳距進(jìn)行精確修正,然后,用浣熊優(yōu)化算法替代傳統(tǒng)的三邊測(cè)量法進(jìn)行坐標(biāo)位置估計(jì),最終得到節(jié)點(diǎn)定位坐標(biāo)。為了驗(yàn)證所提出的方法的有效性,文章對(duì)提出的改進(jìn)算法進(jìn)行了實(shí)驗(yàn)驗(yàn)證。結(jié)果表明,在同等條件下,在不同錨節(jié)點(diǎn)數(shù)量、不同通信半徑和不同節(jié)點(diǎn)總數(shù)場(chǎng)景下,改進(jìn)算法比傳統(tǒng)DV-Hop算法的平均定位誤差分別降低了61.64%、47.24%與65.11%,從而證明提出的改進(jìn)算法具有良好的定位精度和較好的穩(wěn)定性。
關(guān)鍵詞:DV-Hop算法;浣熊算法;多通信半徑;加權(quán)跳距;節(jié)點(diǎn)定位
中圖分類號(hào):TP18 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2025)02-0016-09
Optimized DV-Hop Positioning Algorithm Based on Coati Optimization Algorithm
ZHANG Xiao, JIANG Jinjing, LI Xin, PENG Tong
(School of Information Engineering, Zhejiang Ocean University, Zhoushan 316022, China)
Abstract: In view of the problems of large positioning accuracy error and poor positioning stability in the DV-Hop (Distance Vector-Hop) algorithm of wireless sensor network positioning algorithms, a DV-Hop optimized positioning method based on the Coati Optimization Algorithm (COA) is put forward. Firstly, this method makes use of multi-communication radius to accurately calculate the number of hops between nodes. At the same time, by applying the strategy of weighted hop distance, it precisely corrects the average hop distance of unknown nodes. Subsequently, the Coati Optimization Algorithm is adopted to replace the traditional trilateral measurement method for estimating coordinate positions, and finally the node positioning coordinates are obtained. To verify the effectiveness of the proposed method, the improved algorithm proposed in this paper is experimentally verified. The result demonstrates that under the same conditions, in scenarios with different numbers of anchor nodes, different communication radii and different total numbers of nodes, the average positioning error of the improved algorithm is respectively reduced by 61.64%, 47.24% and 65.11% compared with the traditional DV-Hop algorithm, thus proving that the proposed improved algorithm has good positioning accuracy and relatively good stability.
Keywords: DV-Hop algorithm; Coati Optimization Algorithm; multi-communication radius; weighted hop distance; node positioning
DOI:10.19850/j.cnki.2096-4706.2025.02.004
收稿日期:2024-07-13
基金項(xiàng)目:國家自然科學(xué)基金重點(diǎn)專項(xiàng)資助項(xiàng)目(62341127)
0 引 言
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks, WSN)[1]在現(xiàn)代科技領(lǐng)域中的作用逐漸加強(qiáng),成為不可或缺的一部分。WSN在一定區(qū)域內(nèi)布設(shè)了大量傳感器節(jié)點(diǎn),各節(jié)點(diǎn)利用通信技術(shù)感知信息、處理數(shù)據(jù),構(gòu)成一個(gè)多跳自組織網(wǎng)絡(luò)[2]。這些網(wǎng)絡(luò)由一系列體積小、能耗低的傳感器節(jié)點(diǎn)構(gòu)成,各節(jié)點(diǎn)在特定的地理區(qū)域內(nèi)進(jìn)行分散部署。這些傳感器節(jié)點(diǎn)能夠利用先進(jìn)的通信與感知技術(shù),精確捕獲并實(shí)時(shí)傳遞環(huán)境數(shù)據(jù),包括溫度、濕度、光照以及壓力等關(guān)鍵信息。在數(shù)據(jù)采集、網(wǎng)絡(luò)拓?fù)錁?gòu)建、事件檢測(cè)、能量管理和多傳感器協(xié)同等多個(gè)方面,無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位的準(zhǔn)確性至關(guān)重要。
在無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位技術(shù)的實(shí)際應(yīng)用中,DV-Hop算法展現(xiàn)出了其非測(cè)距定位算法的優(yōu)勢(shì)。該算法利用跳數(shù)信息來估算節(jié)點(diǎn)間的實(shí)際距離,隨后結(jié)合三邊測(cè)量法或極大似然估計(jì)法來精確求解節(jié)點(diǎn)的位置,在無線傳感器網(wǎng)絡(luò)定位技術(shù)中得到了廣泛應(yīng)用。雖然DV-Hop算法不需要額外的硬件設(shè)備,適用于節(jié)點(diǎn)密度較高的網(wǎng)絡(luò),但由于距離估計(jì)和位置計(jì)算中的誤差累積問題,其定位精度往往受到較大影響。
為了提高DV-Hop算法的定位精度,許多研究者提出了不同的優(yōu)化方案。張晶等[3]采用二通信半徑,并使用加權(quán)誤差最小化的思想對(duì)未知節(jié)點(diǎn)進(jìn)行定位。董玉等[4]采用均方誤差求解平均跳距,并引入蝙蝠算法進(jìn)行節(jié)點(diǎn)位置估計(jì)。Zhang等[5]定義了一個(gè)偏差系數(shù)來修正節(jié)點(diǎn)之間的跳數(shù)值。Wang等[6]改變了跳數(shù)越大權(quán)重值越低的權(quán)重優(yōu)化模型,構(gòu)建了誤差與跳數(shù)之間的關(guān)系模型。Chen等[7]提出了一種基于加權(quán)最小均方誤差準(zhǔn)則的錨平均跳距計(jì)算方法。吳雪敏等[8]提出了一種跳數(shù)分類的DV-Hop算法,用彈簧系數(shù)對(duì)應(yīng)不同的跳數(shù)分類,提高節(jié)點(diǎn)定位精度。唐德紅等人[9]設(shè)計(jì)了一種基于斯蒂芬森迭代的改進(jìn)DV-Hop定位方法。隨著優(yōu)化算法的興起,許多學(xué)者采用群體智能優(yōu)化算法來減少目標(biāo)節(jié)點(diǎn)的定位誤差。劉登峰等[10]將定位問題轉(zhuǎn)化為群體優(yōu)化問題,利用布谷鳥算法和差分進(jìn)化算法進(jìn)行雙種群并行搜索,有效提高了定位精度。余成成等[11]提出了一種DV-Hop定位算法的改進(jìn)方案,該方案結(jié)合了多通信半徑的策略,并通過優(yōu)化遺傳算法來增強(qiáng)定位精度。潘志遠(yuǎn)等[12]針對(duì)節(jié)點(diǎn)間跳數(shù)進(jìn)行優(yōu)化,采用雙通信半徑策略,并通過引入權(quán)重因子來完善適應(yīng)度函數(shù),利用蜣螂算法進(jìn)行坐標(biāo)計(jì)算。在針對(duì)不規(guī)則節(jié)點(diǎn)網(wǎng)絡(luò)中的定位精確度提升問題,吳建鋒等[13]引入了改進(jìn)的粒子群算法來計(jì)算未知節(jié)點(diǎn)的位置。
針對(duì)錨節(jié)點(diǎn)之間的相互影響問題,現(xiàn)有的研究已經(jīng)取得了一定的成果。然而,不同的權(quán)值分配策略所得的結(jié)果卻存在較大的差異,并且未知節(jié)點(diǎn)的平均跳距結(jié)果極其依賴于錨節(jié)點(diǎn)平均跳距的精度,不可避免會(huì)造成誤差的積累。利用元啟發(fā)式算法、群體智能算法等應(yīng)用于坐標(biāo)計(jì)算需要考慮算法復(fù)雜度,算法的全局搜索能力以及局部搜索能力。根據(jù)以上研究,本文提出一種新的定位算法,即基于浣熊優(yōu)化算法的DV-Hop定位算法(COMRW-D),以此來進(jìn)一步提高定位精度。相比其他群體智能算法,浣熊算法在平衡全局搜索的探索和局部搜索的利用中具有明顯的優(yōu)勢(shì),收斂精度高。本文提出的優(yōu)化方案主要從跳數(shù)修正、跳距修正和位置的求解三個(gè)方面進(jìn)行優(yōu)化:
1)最小跳數(shù)修正。利用多通信半徑對(duì)傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)之間的最小跳數(shù)進(jìn)行修正,使節(jié)點(diǎn)間跳數(shù)估計(jì)更加接近實(shí)際情況,減小定位誤差。
2)平均跳距修正。引入權(quán)重因子,計(jì)算加權(quán)跳距,使節(jié)點(diǎn)的平均跳距更加精確。
3)未知節(jié)點(diǎn)的位置求解。用浣熊優(yōu)化算法代替?zhèn)鹘y(tǒng)的三邊測(cè)量法,設(shè)置適應(yīng)度函數(shù),將定位問題轉(zhuǎn)化為優(yōu)化問題,對(duì)跳數(shù)和跳距優(yōu)化后的結(jié)果進(jìn)行不斷迭代和搜索,找到更接近實(shí)際位置的最優(yōu)解,得到更精確的定位結(jié)果。
1 相關(guān)理論
1.1 DV-Hop算法原理
DV-Hop算法是一種高效且通用的距離向量跳數(shù)算法,初次問世于2003年,由NICULESCU等提出[14]被廣泛應(yīng)用于各種無線網(wǎng)絡(luò)中,例如無線傳感器網(wǎng)絡(luò)、無線局域網(wǎng)等。算法包括以下三個(gè)過程:
第一階段計(jì)算從每個(gè)未知節(jié)點(diǎn)到所有錨節(jié)點(diǎn)的最小跳數(shù)。每個(gè)錨節(jié)點(diǎn)將數(shù)據(jù)包廣播到網(wǎng)絡(luò)。數(shù)據(jù)包包含以下信息:錨節(jié)點(diǎn)ID、坐標(biāo)和初始化為0的跳數(shù)。當(dāng)相鄰節(jié)點(diǎn)收到數(shù)據(jù)包后,僅保存來自同一錨節(jié)點(diǎn)的最小跳數(shù)值,并將跳數(shù)值加1后繼續(xù)傳遞給相鄰節(jié)點(diǎn)。通過泛洪廣播,WSN中的各個(gè)節(jié)點(diǎn)都能夠得到到達(dá)所有錨節(jié)點(diǎn)的最小跳數(shù)。
第二階段計(jì)算未知節(jié)點(diǎn)到錨節(jié)點(diǎn)的距離。經(jīng)過第一階段,每個(gè)節(jié)點(diǎn)都知道所有其他錨節(jié)點(diǎn)的坐標(biāo)以及它到這些節(jié)點(diǎn)的跳數(shù),因此每個(gè)錨節(jié)點(diǎn)都可以計(jì)算它到所有其他錨節(jié)點(diǎn)的平均跳距(Average Distance of each Hop, ADH)的值,公式如下:
(1)
其中,hij表示從錨節(jié)點(diǎn)i到j(luò)的最小跳數(shù),(xi,yi)和(xj,yj)分別表示錨節(jié)點(diǎn)i和j的坐標(biāo)。每個(gè)錨節(jié)點(diǎn)通過洪泛將其平均跳距廣播到整個(gè)網(wǎng)絡(luò),未知節(jié)點(diǎn)會(huì)從多個(gè)錨節(jié)點(diǎn)接收數(shù)據(jù)包,并將距離其自身跳數(shù)最小的錨節(jié)點(diǎn)視為距離最近的錨節(jié)點(diǎn)。通過計(jì)算未知節(jié)點(diǎn)的平均跳距ADHu與錨節(jié)點(diǎn)的最小跳數(shù)hua的乘積估計(jì)未知節(jié)點(diǎn)到錨節(jié)點(diǎn)的距離dua,估計(jì)距離的計(jì)算如式(2):
(2)
第三階段未知節(jié)點(diǎn)坐標(biāo)的計(jì)算,通過三邊測(cè)量方法,就可以計(jì)算出來未知節(jié)點(diǎn)的坐標(biāo)。
1.2 DV-Hop算法誤差分析
盡管DV-Hop算法在實(shí)際應(yīng)用中具有較高的定位覆蓋率和較快的計(jì)算速度,但其不穩(wěn)定的誤差仍是需要解決的問題。誤差主要來源于以下幾個(gè)方面:
1)跳數(shù)誤差。在DV-Hop算法中,未知節(jié)點(diǎn)通過記錄錨節(jié)點(diǎn)的最小跳數(shù)來估算距離。在錨節(jié)點(diǎn)的通信范圍內(nèi),不論相鄰節(jié)點(diǎn)之間的實(shí)際距離如何,它們通常被統(tǒng)一視作1跳。然而,在實(shí)際部署場(chǎng)景中,節(jié)點(diǎn)的分布往往呈現(xiàn)出隨機(jī)性,使節(jié)點(diǎn)間的距離呈現(xiàn)非均勻狀態(tài)。因此,簡(jiǎn)單地將所有相鄰節(jié)點(diǎn)都標(biāo)記為1跳的處理方式,可能會(huì)在實(shí)際應(yīng)用中引入一定的誤差。此外,隨著跳數(shù)值的增加,這種誤差可能會(huì)逐漸累積。
2)平均跳距估計(jì)誤差。DV-Hop算法通過計(jì)算網(wǎng)絡(luò)平均跳距來估算未知節(jié)點(diǎn)與錨節(jié)點(diǎn)之間的距離。未知節(jié)點(diǎn)從距離自身最近的錨節(jié)點(diǎn)處獲取平均跳距值,但現(xiàn)實(shí)情況下,節(jié)點(diǎn)往往不在一條直線上;并且可能會(huì)存在多個(gè)相同跳數(shù)的錨節(jié)點(diǎn),只選擇其中一個(gè)錨節(jié)點(diǎn)的信息而忽略了其他距離相同的錨節(jié)點(diǎn)的信息,對(duì)定位結(jié)果的影響很大。
3)定位算法選擇誤差。DV-Hop算法中,未知節(jié)點(diǎn)接收到錨節(jié)點(diǎn)廣播的距離信息后,需要選擇一種合適的定位算法進(jìn)行位置估算,通常是利用三邊測(cè)量法或最小二乘法進(jìn)行的。三邊測(cè)量法計(jì)算相對(duì)容易,三邊定位算法僅僅依賴于距離的測(cè)量值,但是兩個(gè)錨節(jié)點(diǎn)在同一條直線上無法求解;間距計(jì)算誤差大時(shí),最小二乘法可能會(huì)造成誤差的累積,從而影響結(jié)果的準(zhǔn)確性。
1.3 浣熊算法
浣熊算法(Coati Optimization Algorithm, COA)是由Mohammad等[15]于2023年基于對(duì)浣熊狩獵行為的模擬提出的,該算法具有進(jìn)化能力強(qiáng),收斂速度快,收斂精度高等特點(diǎn)。COA在平衡全局搜索的探索和局部搜索的利用中具有明顯的優(yōu)勢(shì),并且更具競(jìng)爭(zhēng)力。
1.3.1 算法初始化過程
COA是一種元啟發(fā)法,以長(zhǎng)鼻浣熊為群體成員,每個(gè)浣熊在搜索空間中的位置決定了決策變量的值。在COA中,每個(gè)浣熊的位置代表候選解。在尋優(yōu)空間里隨機(jī)初始化種群:
(3)
其中Xi表示第i個(gè)浣熊在搜索空間中的位置,xi,j表示第j個(gè)決策變量的值,N表示長(zhǎng)鼻浣熊的數(shù)量,m表示決策變量的數(shù)量,r表示區(qū)間[0,1]內(nèi)的隨機(jī)實(shí)數(shù),uj和lj分別表示第j個(gè)決策變量的上、下限。
COA中長(zhǎng)鼻浣熊的種群數(shù)量使用以下矩陣X進(jìn)行數(shù)學(xué)表示,稱為種群矩陣。
(4)
1.3.2 第一階段:探索階段
這個(gè)階段是模擬浣熊群體進(jìn)行捕獵的過程,該階段使得COA在搜索空間中移動(dòng)到不同的位置,說明COA在問題解決空間中的全局搜索能力。
在COA的設(shè)計(jì)中,種群中的最佳位置被假定為獵物的位置。此外,假設(shè)有一半的浣熊能爬上樹,另一半在地上等待獵物掉下來。因此,浣熊在樹上的位置可以用以下公式描述:
(5)
這里表示第i個(gè)浣熊計(jì)算的新位置,表示它的第j個(gè)維度,r表示區(qū)間[0,1]內(nèi)的隨機(jī)實(shí)數(shù),M表示獵物在搜索空間中的位置,實(shí)際上指的是種群中最佳個(gè)體的位置,Mj是它的第j個(gè)維度,z表示一個(gè)整數(shù),從集合{1,2}中隨機(jī)選擇,表示下取整函數(shù)。
獵物落地后,將其放置在搜索空間中的任意位置。基于這種隨機(jī)位置,地面上的浣熊可以在搜索空間中移動(dòng),用下列公式來描述:
(6)
:(7)
其中,j=1,2,…,m,表示獵物在地面上的位置,是隨機(jī)生成的,表示它的第j個(gè)維度,F(xiàn)MG表示其目標(biāo)函數(shù)的值。
對(duì)于每個(gè)浣熊計(jì)算的新位置,如果它改善了目標(biāo)函數(shù)的值,那么就會(huì)被接受,否則,浣熊將保持原先的位置,此過程用以下公式來表示,該過程可以被視為貪婪法則[16]:
(8)
其中表示第i個(gè)浣熊計(jì)算的新位置,表示它的第j個(gè)維度,表示其目標(biāo)函數(shù)值。
1.3.3 第二階段:開發(fā)階段
在第二階段即探索階段的過程中,位置更新模擬的是浣熊在遇到捕食者和逃避捕食者的行為。浣熊在該策略中的移動(dòng)使其處于接近其當(dāng)前位置的安全位置,這代表著COA的局部開發(fā)能力。為了模擬這種行為,COA在每個(gè)長(zhǎng)鼻浣熊個(gè)體附近生成一個(gè)隨機(jī)位置:
(9)
:(10)
其中i=1,2,…,N,j=1,2,…,m表示COA第二階段計(jì)算出的第i個(gè)浣熊的新位置,表示它的第j個(gè)維度,表示其目標(biāo)函數(shù)值,r表示區(qū)間[0,1]內(nèi)的隨機(jī)實(shí)數(shù),t表示迭代計(jì)數(shù)器,和分別表示第j個(gè)決策變量的局部下界和局部上限,lj和uj分別表示第個(gè)決策變量的下界和上限。
與開發(fā)階段中類似,同樣使用貪婪選擇來決定是替換還是保留原先的位置:
(11)
其中表示根據(jù)COA第二階段計(jì)算出的第i個(gè)浣熊的新位置,表示它的第j個(gè)維度,表示其目標(biāo)函數(shù)值。
2 本文的定位算法
2.1 多通信半徑
在DV-Hop算法中,修正最小跳數(shù)問題常用的方法為多通信半徑[17]。設(shè)網(wǎng)絡(luò)通信半徑為R,將錨節(jié)點(diǎn)與鄰居節(jié)點(diǎn)分為m級(jí),網(wǎng)絡(luò)中各錨節(jié)點(diǎn)與其鄰居節(jié)點(diǎn)的實(shí)際距離為d,i ∈ [1,m],跳數(shù)記為(Number of Hops, NoH)。m = 2,3的網(wǎng)絡(luò)如圖1所示。
NoH可寫作:
(12)
經(jīng)過改進(jìn)之后,錨節(jié)點(diǎn)與鄰居節(jié)點(diǎn)的跳數(shù)值不再是整數(shù),是更加精確的小數(shù),與距離更接近正比關(guān)系,有效地提高了數(shù)據(jù)的精確性,減小定位誤差。本文將m的值取3,更好地適應(yīng)節(jié)點(diǎn)之間的距離分布特點(diǎn),提供更準(zhǔn)確的位置估計(jì),同時(shí)也避免了過高的計(jì)算和通信開銷。
2.2 加權(quán)跳距
在原始DV-Hop定位算法中,設(shè)未知節(jié)點(diǎn)坐標(biāo)為D(x,y),能與該未知節(jié)點(diǎn)通信的錨節(jié)點(diǎn)為A1(x1,y1),A2(x2,y2),…,An(xn,yn),根據(jù)DV-Hop原理的第一、二階段可知,這些錨節(jié)點(diǎn)的平均每跳距離ADH為ADH1,ADH2,…,ADHn,到D(x,y)的跳數(shù)NoH為NoH1,HoH2,…,HoHn,那么D(x,y)到Ai(xi,yi)的距離di為:
(13)
未知節(jié)點(diǎn)會(huì)選擇距離最近的錨節(jié)點(diǎn)的ADH作為未知節(jié)點(diǎn)自身的平均跳距,但是實(shí)際網(wǎng)絡(luò)中節(jié)點(diǎn)在不同區(qū)域的分布狀況是不同的,平均每跳距離也是不同的。因此,原始DV-Hop算法用單一的平均跳距不能正確反映網(wǎng)絡(luò)狀況,誤差較大。
針對(duì)未知節(jié)點(diǎn)與不同錨節(jié)點(diǎn)之間的跳數(shù),定義了加權(quán)系數(shù),以修正各錨節(jié)點(diǎn)的平均跳距,從而消除單一錨節(jié)點(diǎn)與未知節(jié)點(diǎn)跳數(shù)所導(dǎo)致的不合理性。加權(quán)系數(shù)能夠體現(xiàn)不同跳數(shù)的影響,即錨節(jié)點(diǎn)與未知節(jié)點(diǎn)間最小跳數(shù)較?。淳嚯x較近)時(shí),其對(duì)未知節(jié)點(diǎn)的影響較大,因此賦予較高的加權(quán)系數(shù);反之,若節(jié)點(diǎn)與未知節(jié)點(diǎn)間最小跳數(shù)較大(距離較遠(yuǎn)),則影響較小,加權(quán)系數(shù)較低。通過加權(quán)系數(shù)來反映錨節(jié)點(diǎn)對(duì)未知節(jié)點(diǎn)的影響力,每個(gè)錨節(jié)點(diǎn)的平均跳距都根據(jù)其與未知節(jié)點(diǎn)的距離進(jìn)行了相應(yīng)的加權(quán)處理,錨節(jié)點(diǎn)加權(quán)系數(shù)wi的計(jì)算如下:
(14)
式中wi表示錨節(jié)點(diǎn)i的加權(quán)系數(shù),n表示錨節(jié)點(diǎn)數(shù)量,NoHi表示錨節(jié)點(diǎn)和未知節(jié)點(diǎn)的最小跳數(shù)。
引入加權(quán)系數(shù)后,修正的未知節(jié)點(diǎn)的平均跳距公式如下:
(15)
其中ADHavgi表示未知節(jié)點(diǎn)i的加權(quán)平均跳距,ADHi是由式(1)得到的錨節(jié)點(diǎn)的平均跳距。
利用式(14)、式(15),我們可以得到修正后的未知節(jié)點(diǎn)的平均跳距,這一過程中,所有能與未知節(jié)點(diǎn)通信的錨節(jié)點(diǎn)的平均跳距都被納入考量,錨節(jié)點(diǎn)和未知節(jié)點(diǎn)距離越遠(yuǎn),加權(quán)系數(shù)越小。這樣的處理方式,使得未知節(jié)點(diǎn)在計(jì)算自身坐標(biāo)時(shí),能夠更準(zhǔn)確地反映出網(wǎng)絡(luò)的真實(shí)情況。經(jīng)過優(yōu)化后的未知節(jié)點(diǎn)u到錨節(jié)點(diǎn)a的距離dua可寫為:
。 (16)
2.3 使用COA優(yōu)化定位結(jié)果
本文選擇使用COA算法來替代DV-Hop算法中的位置估計(jì)環(huán)節(jié),適應(yīng)度函數(shù)的設(shè)計(jì)使COA算法朝著最小化未知節(jié)點(diǎn)與錨節(jié)點(diǎn)距離差的方向優(yōu)化,從而提升定位精度。
最小化適應(yīng)度函數(shù)fitness可寫作:
(17)
其中表示未知節(jié)點(diǎn)x到錨節(jié)點(diǎn)bi的歐式距離,di,j表示給定的未知節(jié)點(diǎn)j到錨節(jié)點(diǎn)i的距離,與d中給定的距離越接近,fitness值越小,我們可以利用迭代搜索使fitness最小,以達(dá)到精確定位未知節(jié)點(diǎn)x的目的。
2.4 算法流程
本文通過結(jié)合DV-Hop和COA兩種算法,提出了一種基于COA的DV-Hop優(yōu)化定位方法:通過引入多通信半徑優(yōu)化節(jié)點(diǎn)間跳數(shù),使用加權(quán)跳距修正節(jié)點(diǎn)平均跳距,并利用浣熊優(yōu)化算法代替?zhèn)鹘y(tǒng)的三邊測(cè)量法進(jìn)行坐標(biāo)位置估計(jì),命名為COMRW-D算法。
本文提出的COMRW-D算法流程歸納如下:初始化網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),包括節(jié)點(diǎn)數(shù)、錨節(jié)點(diǎn)數(shù)、通信范圍等參數(shù)。生成隨機(jī)坐標(biāo),并將節(jié)點(diǎn)分為錨節(jié)點(diǎn)和未知節(jié)點(diǎn)。在DV-Hop的第一個(gè)階段用多通信半優(yōu)化得到最小跳數(shù)數(shù)據(jù)后,每個(gè)節(jié)點(diǎn)利用式(15)得到修正后的加權(quán)平均跳距以提高定位精度。利用COA解決位置估計(jì)問題,設(shè)置COA的參數(shù),將估計(jì)的未知節(jié)點(diǎn)位置作為初始位置,使用COA對(duì)其進(jìn)行迭代優(yōu)化,直至收斂。COMRW-D算法的流程如圖2所示。
3 仿真結(jié)果與分析
在本節(jié)中,我們對(duì)提出的COMRW-D定位算法的性能進(jìn)行評(píng)估,通過蒙特卡洛方法[18]來驗(yàn)證該算法的有效性,并將我們所提出的COMRW-D定位算法與相同網(wǎng)絡(luò)條件下的DV-Hop、MRWDV-Hop[19]以及使用COA優(yōu)化的COADV-Hop進(jìn)行比較。
3.1 算法參數(shù)設(shè)置
本文仿真實(shí)驗(yàn)在假設(shè)錨節(jié)點(diǎn)定位沒有任何錯(cuò)誤的情況下進(jìn)行的,仿真實(shí)驗(yàn)參數(shù)設(shè)置如表1、表2所示。
3.2 評(píng)價(jià)指標(biāo)
為了對(duì)算法的準(zhǔn)確性與穩(wěn)定性進(jìn)行分析,本文引入兩個(gè)評(píng)價(jià)指標(biāo),即歸一化定位誤差(ALE)[20]與定位誤差方差(LEV)[21]。
ALE的計(jì)算可寫作:
(18)
LEV則可以用下式計(jì)算:
(19)
式中絕對(duì)定位誤差e與平均定位誤差的計(jì)算如下:
(20)
(21)
其中N表示節(jié)點(diǎn)總數(shù),R表示通信范圍,(xi,yi)和(,)分別表示未知節(jié)點(diǎn)i的實(shí)際坐標(biāo)和估計(jì)坐標(biāo)。
實(shí)驗(yàn)中傳感器節(jié)點(diǎn)在100 m×100 m的區(qū)域內(nèi)隨機(jī)分配,如圖3所示。
3.3 改變錨節(jié)點(diǎn)數(shù)量對(duì)定位精度的影響
將傳感器節(jié)點(diǎn)的總數(shù)設(shè)定為100個(gè),每個(gè)節(jié)點(diǎn)的通信半徑被設(shè)定為30米,將錨節(jié)點(diǎn)的數(shù)量從10個(gè)逐步增加至50個(gè),進(jìn)行5 000次實(shí)驗(yàn),并對(duì)結(jié)果進(jìn)行平均處理。
從圖4中可以看出,四種定位算法的ALE值隨著錨節(jié)點(diǎn)數(shù)量的增加而減小。其原因是隨著未知節(jié)點(diǎn)一跳范圍內(nèi)錨節(jié)點(diǎn)數(shù)量的增加,節(jié)點(diǎn)間平均距離的誤差減小,未知節(jié)點(diǎn)與錨節(jié)點(diǎn)之間的距離估計(jì)也變得更加精確。
表3展示了各種定位算法的ALE的平均值。經(jīng)過對(duì)比分析,文中所提出的COMRW-D定位算法在ALE的平均值上相較于DV-Hop、MRWDV-Hop和COADV-Hop算法分別降低了61.64%、52.55%和37.84%。這一數(shù)據(jù)充分表明,COMRW-D定位算法的定位精度相較于其他三種算法更好。
圖5顯示了四種定位算法的LEV隨錨節(jié)點(diǎn)數(shù)量的變化情況。隨著錨節(jié)點(diǎn)數(shù)量的增加,四種定位算法的LEV均逐漸降低。其原因是隨著錨節(jié)點(diǎn)數(shù)量的增加,網(wǎng)絡(luò)中的信息增多,定位算法可以利用更多的信息來提高定位的穩(wěn)定性。
表4展示了錨節(jié)點(diǎn)數(shù)量增加時(shí),LEV的平均值變化情況。通過對(duì)比分析,我們發(fā)現(xiàn)所提出的COMRW-D定位算法的LEV的平均值相較于DV-Hop、MRWDV-Hop和COADV-Hop算法,分別降低了76.58%、72.51%和57.81%。這一數(shù)據(jù)證明了從穩(wěn)定性角度來看,COMRW-D定位算法在本次實(shí)驗(yàn)中的表現(xiàn)優(yōu)于其他對(duì)比算法,有較高的穩(wěn)定性。
3.4 改變通信半徑對(duì)定位精度的影響
將傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)總數(shù)設(shè)定為100個(gè),其中錨節(jié)點(diǎn)的數(shù)量為30個(gè),逐步將通信半徑從20米增加至40米,進(jìn)行5 000次實(shí)驗(yàn),并對(duì)結(jié)果進(jìn)行平均處理。
如圖6所示,當(dāng)通信半徑逐漸增大時(shí),各類定位算法的精度都有提高。這是由于當(dāng)通信半徑相對(duì)較小時(shí),可用于與未知節(jié)點(diǎn)通信的錨節(jié)點(diǎn)數(shù)量相對(duì)較少,難以準(zhǔn)確計(jì)算未知節(jié)點(diǎn)的位置;此外,還可能存在無法與其他節(jié)點(diǎn)通信的孤立節(jié)點(diǎn),通過擴(kuò)大通信范圍,可以增加未知節(jié)點(diǎn)與錨節(jié)點(diǎn)的通信機(jī)會(huì),從而提高定位精度。
根據(jù)表5的數(shù)據(jù),COMRW-D定位算法的ALE的平均值相較于DV-Hop、MRWDV-Hop和COADV-Hop算法分別降低了47.24%、36.88%和20.02%。這一結(jié)果表明,相較于上述三種定位算法,COMRW-D定位算法在定位精度方面更優(yōu)。
從圖7可以看出,隨著通信范圍的增加,四種定位算法的LEV均下降,變得更加穩(wěn)定。其原因是隨著通信半徑的增大,未知節(jié)點(diǎn)能夠與更多的錨節(jié)點(diǎn)建立通信聯(lián)系,從而獲取更多的位置信息,使定位結(jié)果更加穩(wěn)定可靠。
如表6所示,隨著通信范圍的逐漸增加,LEV呈現(xiàn)出下降的趨勢(shì)。與DV-Hop、MRWDV-Hop和COADV-Hop這三種算法的LEV平均值相比,COMRW-D定位算法在通信范圍變化的過程中,其LEV的平均值分別降低了69.90%、63.09%和45.40%。說明了在通信范圍變動(dòng)的情況下,COMRW-D定位算法相較于其他三種算法具有更穩(wěn)定性的表現(xiàn)。
3.5 改變節(jié)點(diǎn)總數(shù)對(duì)定位精度的影響
將傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)總數(shù)設(shè)定錨節(jié)點(diǎn)的數(shù)量為節(jié)點(diǎn)總數(shù)的30%,通信半徑為30米,節(jié)點(diǎn)總數(shù)從100個(gè)逐步增加至400個(gè),進(jìn)行5 000次實(shí)驗(yàn),并對(duì)結(jié)果進(jìn)行平均處理。
如圖8所示,隨著節(jié)點(diǎn)總數(shù)的增加,4種定位算法的誤差均逐漸減小。其原因是隨著節(jié)點(diǎn)總數(shù)的增加,網(wǎng)絡(luò)連通性顯著提高,未知節(jié)點(diǎn)可以接收到更多的輔助位置信息,從而提高定位精度。
如表7所示,與DV-Hop、MRWDV-Hop和COADV-Hop算法相比,COMRW-D定位算法的平均ALE分別降低了65.11%、48.59%和26.69%。因此,COMRW-D定位算法的定位精度高于上述三種定位算法。
從圖9可以看出隨著節(jié)點(diǎn)總數(shù)的增加,四種定位算法的LEV值均逐漸降低,算法的穩(wěn)定性逐漸增強(qiáng)。其原因?yàn)殡S著節(jié)點(diǎn)總數(shù)的增加,網(wǎng)絡(luò)的連通性得到了提高,從而減少了由于個(gè)別節(jié)點(diǎn)異?;蛐畔鬏斿e(cuò)誤導(dǎo)致的定位誤差,提升了定位的穩(wěn)定性。
如表8所示,隨著節(jié)點(diǎn)數(shù)的增加,定位誤差方差逐漸減小,定位更加穩(wěn)定,與DV-Hop、MRWDV-Hop和COADV-Hop算法LEV的平均值相比,COMRW-D定位算法的LEV分別降低了87.28%、75.26% 和 41.77%。在節(jié)點(diǎn)總數(shù)增加的情況下,COMRW-D算法要比其他幾個(gè)定位算法更穩(wěn)定。
4 結(jié) 論
針對(duì)傳統(tǒng)DV-Hop定位方法存在的精度低、穩(wěn)定性不足等核心問題,本文提出了一種創(chuàng)新的解決方案,即基于浣熊算法優(yōu)化的DV-Hop定位方法。該算法結(jié)合了DV-Hop算法與浣熊算法,利用多通信半徑和加權(quán)跳距來優(yōu)化每個(gè)未知節(jié)點(diǎn)根據(jù)平均跳距計(jì)算自身坐標(biāo)時(shí)的誤差值;同時(shí)利用COA算法代替三邊測(cè)量法來估計(jì)位置節(jié)點(diǎn)的位置,使定位結(jié)果更加精確且穩(wěn)定。經(jīng)過仿真實(shí)驗(yàn)驗(yàn)證,在調(diào)整錨節(jié)點(diǎn)數(shù)量、通信范圍及傳感器節(jié)點(diǎn)總數(shù)等多個(gè)變量時(shí),本文所提算法相較于其他對(duì)比算法,如DV-Hop、COADV-Hop及MRWDV-Hop等,展現(xiàn)出了更為出色的精確性和穩(wěn)定性。
在DV-Hop算法的改進(jìn)過程中,其性能也在不斷地被優(yōu)化增強(qiáng)。本文基于DV-Hop算法,對(duì)最小跳數(shù)和平均跳距進(jìn)行了修正,將需要迭代的浣熊算法融入其中增加了算法的復(fù)雜度。因此,如何在不犧牲算法性能的前提下,有效降低算法的復(fù)雜度是一個(gè)研究難點(diǎn)。在未來的工作中,我們將著重研究如何有效降低算法復(fù)雜度,提升其精度并降低能耗,關(guān)注如何將該優(yōu)化方案應(yīng)用到實(shí)際場(chǎng)景中,并進(jìn)一步提高定位精度和魯棒性。
參考文獻(xiàn):
[1] 余學(xué)帆.基于RSSI的無線傳感器網(wǎng)絡(luò)定位改進(jìn)優(yōu)化算法研究 [D].長(zhǎng)春:長(zhǎng)春工業(yè)大學(xué),2021.
[2] ZHANG Q. An Improved Location Algorithm for Wireless Sensor Networks [J].International Journal of Performability Engineering,2018,14(11):2674-2682.
[3] 張晶,李煜.改進(jìn)的無約束優(yōu)化3D-DV-Hop定位算法 [J].計(jì)算機(jī)工程與科學(xué),2022,44(1):75-83.
[4] 董玉,張治中,馮姣.基于測(cè)距修正和蝙蝠優(yōu)化的改進(jìn)DV-Hop定位算法 [J].電子測(cè)量技術(shù),2023,46(7):110-116.
[5] ZHANG D,F(xiàn)ANG Z Y,WANG Y,et al. Research on an Improved DV-Hop Localization Algorithm based on Psode in WSN [J].Journal of communications,2015,10(9):728-733.
[6] WANG P,CAI X J,XIE L P. A modified Error-Oriented Weight Positioning Model based on DV-Hop [J].KSII Transactions on Internet and Information Systems,2022,16(2):405-423.
[7] CHEN T F,SUN L J,WANG Z Q,et al. An Enhanced Nonlinear Iterative Localization Algorithm for DV_Hop with Uniform Calculation Criterion [J/OL].Ad Hoc Networks,2021,111:102327(2020-10-30).https://doi.org/10.1016/j.adhoc.2020.102327.
[8] 吳雪敏,張繼榮.一種彈簧系數(shù)和跳數(shù)分類的改進(jìn)DV-Hop算法 [J].中國科技論文,2020,15(7):750-754.
[9] 唐德紅,王一多,馬新國.斯蒂芬森迭代改進(jìn)DV-Hop的無線傳感器節(jié)點(diǎn)定位 [J].吉林大學(xué)學(xué)報(bào):工學(xué)版,2022,52(12):3015-3021.
[10] 劉登峰,章力,邴曉瑛,等.基于布谷鳥差分算法優(yōu)化的DV-Hop改進(jìn)算法 [J].系統(tǒng)仿真學(xué)報(bào),2017,29(4):791-797.
[11] 余成成,徐巍,鐘宇超,等.基于多通信半徑和改進(jìn)遺傳算法的DV-Hop定位 [J].儀表技術(shù)與傳感器,2023(2):99-103+120.
[12] 潘志遠(yuǎn),卜凡亮.基于蜣螂算法優(yōu)化的DV-Hop定位算法 [J].電子測(cè)量與儀器學(xué)報(bào),2023,37(7):33-41.
[13] 吳建鋒,徐振宇,蔣震.無線傳感器網(wǎng)絡(luò)中改進(jìn)粒子群優(yōu)化DV-Hop算法的研究 [J].傳感技術(shù)學(xué)報(bào),2022,35(6):825-830.
[14] NICULESCU D,NATH B. Dv based Positioning in AD HOC Networks [J].Telecommunication Systems,2003,22(1-4):267-280.
[15] MOHAMMAD D,ZEINAB M,EVA T,et al. Coati Optimization Algorithm: A New Bio-Inspired Metaheuristic Algorithm for Solving Optimization Problems [J/OL].Knowledge-Based Systems,2023,259(2022-11-11).https://doi.org/10.1016/j.knosys.2022.110011.
[16] JUNGNICKEL D. The greedy algorithm [J].Graphs,networks and algorithms,1999:129-153.
[17] 余修武,秦曉坤,劉永,等.基于全局人工魚群算法優(yōu)化的DV-Hop定位算法 [J].工程科學(xué)與技術(shù),2022,54(4):228-234.
[18] 黃梅根,常新峰.一種基于蒙特卡羅法的無線傳感器網(wǎng)絡(luò)移動(dòng)節(jié)點(diǎn)定位算法研究 [J].傳感技術(shù)學(xué)報(bào),2010,23(4):562-566.
[19] 時(shí)雨農(nóng),劉海隆.基于跳數(shù)與跳距優(yōu)化的三維DV-Hop定位算法研究 [J].傳感技術(shù)學(xué)報(bào),2022,35(8):1080-1085.
[20] CUI L Z,XU C,LI G H,et al. A High Accurate Localization Algorithm with DV-Hop and Differential Evolution for Wireless Sensor Network [J].Applied Soft Computing Journal,2018,68:39-52.
[21] ABD EL GHAFOUR M G,KAMEL S H,ABOUELSEOUD Y. Improved DV-Hop based on Squirrel Search Algorithm for Localization in Wireless Sensor Networks [J].Wireless Networks,2021,27:2743-2759.
作者簡(jiǎn)介:張瀟(2001.01—),女,漢族,河南南陽人,碩士在讀,研究方向:無線傳感網(wǎng)絡(luò);姜金晶(1999.04—),女,漢族,青海西寧人,碩士在讀,研究方向:信道估計(jì)、深度學(xué)習(xí);李新(1962.06—),男,漢族,北京人,教授,博士,研究方向:無線信道建模;通信作者:彭彤(1985.12—)男,漢族,山東濟(jì)南人,教授,博士,研究方向:無線通信技術(shù)。