国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進(jìn)模擬退火的DV-Hop定位算法

2022-10-17 13:53惠海波張玲華
關(guān)鍵詞:模擬退火定位精度半徑

惠海波,張玲華

(南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003)

0 引 言

無線傳感器網(wǎng)絡(luò)(wireless sensor networks,WSN)[1]是人們用來感知、采集、處理信息的重要工具,而節(jié)點(diǎn)定位技術(shù)[2]是其進(jìn)行各種應(yīng)用的基礎(chǔ)。該技術(shù)主要包括兩類:即基于測距(range-base)和非測距(range-free)技術(shù)[3-5]。

在非測距技術(shù)的定位算法中,DV-Hop算法因其成本低、開銷小、實(shí)現(xiàn)相對簡單等優(yōu)點(diǎn)而廣泛使用。但其定位精度不高,對此國內(nèi)外的許多學(xué)者都提出了改進(jìn)方法。比如,文獻(xiàn)[6]是利用多通信半徑來修正跳數(shù),并加權(quán)處理未知節(jié)點(diǎn)平均跳距的改進(jìn)算法。文獻(xiàn)[7]在計(jì)算錨節(jié)點(diǎn)的平均跳距時(shí)引入了蛙跳算法,并用遺傳算法求解未知節(jié)點(diǎn)坐標(biāo)。文獻(xiàn)[8]引入加權(quán)系數(shù)修正節(jié)點(diǎn)的平均跳距,并用模擬退火算法代替最小二乘法求解未知節(jié)點(diǎn)坐標(biāo)。文獻(xiàn)[9]在求解未知節(jié)點(diǎn)坐標(biāo)時(shí)引入遺傳模擬退火算法,該算法彌補(bǔ)了模擬退火算法全局搜索能力較差的缺陷,有效提高其定位精度,從而減小誤差傳播。然而,目前對模擬退火算法的改進(jìn)方法大多需要設(shè)定和控制的參數(shù)較多,且各參數(shù)之間的相互作用也會影響算法結(jié)果,因此在應(yīng)用上存在局限性。

因此,本文在基于模擬退火算法研究的基礎(chǔ)上,針對DV-Hop算法存在的一些問題,提出了一種改進(jìn)算法。該算法先使用多通信半徑來修正最小跳數(shù),再結(jié)合模擬退火算法的優(yōu)勢,并對其進(jìn)行改進(jìn),用改進(jìn)后的算法對錨節(jié)點(diǎn)的平均跳距進(jìn)行優(yōu)化,然后再使用加權(quán)因子處理未知節(jié)點(diǎn)的平均跳距,最后,采用加權(quán)最小二乘法來求解未知節(jié)點(diǎn)的坐標(biāo),利用解得冗余信息對未知節(jié)點(diǎn)坐標(biāo)進(jìn)行二次修正。由仿真結(jié)果可知,本文改進(jìn)算法比傳統(tǒng)DV-Hop算法具有更好的定位精度。

1 傳統(tǒng)DV-Hop算法

1.1 計(jì)算過程

DV-Hop定位算法[10]是由美國Niculescu等提出的,一種基于距離矢量交換協(xié)議來獲得跳數(shù)的算法。具體流程如下:

(1)計(jì)算錨節(jié)點(diǎn)與未知節(jié)點(diǎn)的最小跳數(shù)。錨節(jié)點(diǎn)通過泛洪方式[11]將自身數(shù)據(jù)包廣播到整個(gè)網(wǎng)絡(luò)中,數(shù)據(jù)包內(nèi)含有錨節(jié)點(diǎn)的位置信息以及跳數(shù)值,未知節(jié)點(diǎn)接收到錨節(jié)點(diǎn)發(fā)出的包并更新自身跳數(shù)信息,將數(shù)據(jù)包的跳數(shù)值加1后并進(jìn)行保存。為確保網(wǎng)絡(luò)中所有節(jié)點(diǎn)都能獲得每個(gè)錨節(jié)點(diǎn)的最小跳數(shù)(hui)信息,接收數(shù)據(jù)包的節(jié)點(diǎn)只需保留較小跳數(shù)值的數(shù)據(jù)包。

(2)估算錨節(jié)點(diǎn)與未知節(jié)點(diǎn)間的距離。每個(gè)錨節(jié)點(diǎn)收到其余錨節(jié)點(diǎn)坐標(biāo)和最小跳數(shù)后,根據(jù)式(1)計(jì)算其平均跳距

(1)

式中: (xi,yi), (xj,yj) 為錨節(jié)點(diǎn)i,j的坐標(biāo),hij表示為錨節(jié)點(diǎn)i,j之間的跳數(shù),Hopsizei代表錨節(jié)點(diǎn)i平均跳距。未知節(jié)點(diǎn)u到錨節(jié)點(diǎn)i的估算距離dui為

dui=Hopsizei×hui

(2)

(3)估算未知節(jié)點(diǎn)位置。由式(2)求出估算距離dui,再結(jié)合最小二乘法來估算未知節(jié)點(diǎn)的位置。

1.2 誤差分析

(1)傳統(tǒng)的DV-Hop算法是通過最小跳數(shù)來衡量節(jié)點(diǎn)之間的距離,即在錨節(jié)點(diǎn)的通信半徑范圍內(nèi),無論未知節(jié)點(diǎn)距離錨節(jié)點(diǎn)多遠(yuǎn),跳數(shù)都記為1跳。而未知節(jié)點(diǎn)與錨節(jié)點(diǎn)之間的跳數(shù)越多,則所求節(jié)點(diǎn)的平均跳距誤差也越大,從而影響其定位精度。

(2)在計(jì)算錨節(jié)點(diǎn)的平均跳距時(shí),傳統(tǒng)DV-Hop算法利用實(shí)際總距離與總跳數(shù)的比值得到,即直線距離表示跳段距離,隨著節(jié)點(diǎn)間跳數(shù)增加,得到的跳段距離誤差也會增大。然后未知節(jié)點(diǎn)采用最近錨節(jié)點(diǎn)的平均跳距作為自身的平均跳距,也會導(dǎo)致較大的定位誤差。

(3)估算未知節(jié)點(diǎn)的定位坐標(biāo)通常采用最小二乘法,但該方法未考慮測量信息而直接使用,并且會產(chǎn)生殘差影響定位精度,造成定位誤差偏大。

因此,針對上述定位誤差產(chǎn)生的原因,本文分別從節(jié)點(diǎn)的最小跳數(shù)、錨節(jié)點(diǎn)和未知節(jié)點(diǎn)的平均跳距、估算未知節(jié)點(diǎn)坐標(biāo)等角度對DV-Hop算法進(jìn)行改進(jìn)。

2 改進(jìn)的DV-Hop算法

2.1 多通信半徑改進(jìn)最小跳數(shù)

由DV-Hop定位算法計(jì)算跳數(shù)的方法可知,若兩點(diǎn)間的歐式距離小于通信半徑,則將其跳數(shù)當(dāng)作1跳。若節(jié)點(diǎn)的分布狀態(tài)如圖1所示,則錨節(jié)點(diǎn)O分別到節(jié)點(diǎn)A、B、C、D的跳數(shù)都為1跳,但圖中明顯可以看出OA的距離小于OD的距離,因此,使用該方法計(jì)算節(jié)點(diǎn)間的最小跳數(shù)會產(chǎn)生誤差,并在節(jié)點(diǎn)的定位過程中逐漸積累誤差。

基于以上分析,本文采用4個(gè)通信半徑的方式來細(xì)化跳數(shù),從圖1可以看出,未知節(jié)點(diǎn)A、B、C、D到錨節(jié)點(diǎn)O的跳數(shù)分別記為0.25、0.5、0.75、1,從而使得最小跳數(shù)的獲取更加精確,平均跳距的計(jì)算也更加準(zhǔn)確。

2.2 改進(jìn)的模擬退火算法優(yōu)化錨節(jié)點(diǎn)的平均跳距

2.2.1 改進(jìn)的模擬退火算法

模擬退火算法[12](simulated annealing, SA)利用Metropolis抽樣準(zhǔn)則,在解空間中有一定概率尋找到目標(biāo)函數(shù)的最優(yōu)解。在重點(diǎn)抽樣時(shí),若新解更好,則接受;若更差,則以一定的概率接受。隨著溫度T逐漸趨于0時(shí),則不再接受任何惡化解。同時(shí)該算法存在一些問題,即計(jì)算時(shí)間過長、初始溫度難以確定,且沒有記憶功能導(dǎo)致重復(fù)搜索。

模擬退火算法步驟:

(1)選取合適的目標(biāo)函數(shù)。

(2)初始化參數(shù):設(shè)置初始解狀態(tài)X0、初試溫度T0、迭代次數(shù)的初始值k=0。

(3)產(chǎn)生新解并計(jì)算其目標(biāo)函數(shù)S2。然后計(jì)算增量Δ=S2-S1。

(4)根據(jù)Metropolis準(zhǔn)則,若Δ<0,則接受當(dāng)前新解為最優(yōu)解;若Δ≥0,則以概率e-Δ/T接受新解為當(dāng)前最優(yōu)解

(3)

(5)若k小于終止次數(shù),令k=k+1,然后轉(zhuǎn)向(3),否則轉(zhuǎn)向(6)。

(6)若沒有到達(dá)冷卻狀態(tài),令T=T×α,α為降溫系數(shù),α∈(0,1)。 并轉(zhuǎn)向(4);當(dāng)滿足終止條件,則輸出當(dāng)前的最優(yōu)解,算法結(jié)束。

捕食搜索算法定義請參見文獻(xiàn)[13],該算法搜索效率高,能夠調(diào)節(jié)搜索區(qū)域的范圍,可與模擬退火算法結(jié)合使用,即基于捕食搜索策略的模擬退火優(yōu)化算法。

該算法主要從以下3個(gè)方面改進(jìn):

(1)初始溫度改進(jìn)

溫度T在模擬退火算法中決定了退火走向。而T的初值大小與最優(yōu)解的獲取幾率成正相關(guān),同時(shí),函數(shù)自身的復(fù)雜程度對T的初值也有較大的影響,因此,為使算法有更高的概率獲取最優(yōu)解,本文引用參考文獻(xiàn)[14]的初值定義

T=T0×ln(1+ρ)

(4)

ρ=log10(f-g)+(m+n)

(5)

T0代表溫度初始值;ρ代表函數(shù)的復(fù)雜程度;f、g分別為函數(shù)的最大值和最小值;m、n分別為函數(shù)的波峰數(shù)和波谷數(shù)。

(2)降溫系數(shù)改進(jìn)

降溫系數(shù)決定了溫度下降的快慢。為提高算法的搜索效率,需要使初期的退火速率保持較高的數(shù)值,并在退火后期保持下降平緩的特性。新的降溫系數(shù)定義如下

(6)

α為降溫系數(shù),α∈(0,1),j代表當(dāng)前的迭代次數(shù)。從式(6)分析可知,若令h=α1/sqrt(j), 則迭代次數(shù)j與h成正比關(guān)系,當(dāng)?shù)螖?shù)j逐漸增加,h的值也逐漸增大,但取值范圍仍在(0,1)內(nèi),從而滿足其在初期降溫速度快,且在后期下降平緩的要求。

(3)增加記憶功能

由于傳統(tǒng)的模擬退火算法在進(jìn)行最優(yōu)解搜索時(shí),有一定的概率會接受當(dāng)前較差的解而遺失最優(yōu)解;并且對訪問過的解還會重復(fù)搜索,造成運(yùn)行時(shí)間增加,因此,本文引入禁忌搜索算法的禁忌表功能,將最優(yōu)解存入禁忌表中,從而避免一些重復(fù)性的數(shù)值搜索。禁忌表中的元素被稱為禁忌對象,禁忌長度是指被禁忌對象不能被選取的迭代次數(shù)。

在實(shí)際的操作過程中,給禁忌表中的被禁對象Y一個(gè)數(shù)t(禁忌長度),即被禁對象Y在t步范圍內(nèi)被禁。該禁忌表可以用tabu(Y)=t來記憶,每進(jìn)行一次迭代,即做運(yùn)算tabu(Y)=t-1, 當(dāng)tabu(Y)=0 時(shí)解禁。其中,禁忌長度的大小十分關(guān)鍵,若禁忌長度過小,很容易造成搜索循環(huán),過早陷入局部最優(yōu),若禁忌長度過大,會造成計(jì)算時(shí)間過長,也會導(dǎo)致計(jì)算無法繼續(xù)下去。因此,在本文的改進(jìn)算法中,禁忌長度t被賦值為10。

2.2.2 優(yōu)化錨節(jié)點(diǎn)的平均跳距

在傳統(tǒng)的DV-Hop算法中,平均跳距的算法是基于無偏估計(jì)準(zhǔn)則的。然而,一般情況下的誤差服從高斯分布,由參數(shù)估計(jì)理論可知,使用均方誤差準(zhǔn)則[15]比無偏估計(jì)更加合理。因此,構(gòu)造計(jì)算平均跳距的數(shù)學(xué)模型要基于最小均方誤差準(zhǔn)則,并且利用改進(jìn)的模擬退火算法進(jìn)行求解。

由于錨節(jié)點(diǎn)的位置信息已知,根據(jù)兩點(diǎn)間的距離公式可求出錨節(jié)點(diǎn)i到j(luò)的實(shí)際距離為

(7)

而錨節(jié)點(diǎn)i與j之間的估計(jì)距離可由式(1)和式(2)可得,即d′ij=hij×Hopsizei, 再令δ=|dij-d′ij| 代表實(shí)際距離與估計(jì)距離之間的誤差,當(dāng)誤差δ越小,代表估計(jì)距離越接近實(shí)際距離,即所求的Hopsizei越接近最優(yōu)解,因此,要求解合適的自變量Hopsizei,則需要選擇合適的目標(biāo)函數(shù)來進(jìn)行最小值問題的求解,該目標(biāo)函數(shù)為

(8)

基于以上分析,在利用改進(jìn)的模擬退火算法求解Hopsizei時(shí),先在解空間 [0,max(dij)] 內(nèi)隨機(jī)產(chǎn)生初始解,并根據(jù)式(8)對所求解進(jìn)行評價(jià),然后再結(jié)合該改進(jìn)算法的搜索策略來找出Hopsizei的最優(yōu)解。求錨節(jié)點(diǎn)平均跳距的計(jì)算步驟如下:

步驟1 初始化各參數(shù),在解空間 [0,max(dij)] 內(nèi)隨機(jī)產(chǎn)生初始解。

步驟2 在當(dāng)前溫度下,根據(jù)初始解的鄰域隨機(jī)取5個(gè)解,并且代入目標(biāo)函數(shù)(8)中求其相應(yīng)的目標(biāo)值,按照升序排列并加入限制,即restriction[1-5],初始解的目標(biāo)值存放在restriction[0],并設(shè)best=restriction[0],將其放入禁忌表中。此外,設(shè)限制等級L=0,counter=0。

步驟3 若L

步驟4 在當(dāng)前限制等級下產(chǎn)生鄰域解,選擇鄰域最優(yōu)解,并判斷是否在禁忌表中出現(xiàn)過,若出現(xiàn)則重新產(chǎn)生鄰域解;設(shè)Δ為當(dāng)前值與目標(biāo)值之差,根據(jù)Metropolis準(zhǔn)則,若Δ<0,則接受當(dāng)前新解為最優(yōu)解;若Δ>0,則以概率e-Δ/T接受新解為當(dāng)前最優(yōu)解。接受轉(zhuǎn)步驟5,不接受轉(zhuǎn)步驟6。

步驟5 設(shè)限制等級L=0,counter=0,重新計(jì)算限制,并將新解加入禁忌表中,轉(zhuǎn)步驟4。

步驟6 令counter=counter+1,如果counter>Cthreshold(用于增大限制等級L的指針閾值),則轉(zhuǎn)步驟7,跳出當(dāng)前限制等級,否則,轉(zhuǎn)步驟4。

步驟7 令L=L+1,counter=0,如果L=2,則令L=LhighThreshold(LhighThreshold表示較高的適應(yīng)等級,該值設(shè)為4),此時(shí)由鄰域限制搜索轉(zhuǎn)為廣域搜索,同時(shí)轉(zhuǎn)步驟3。

步驟8 隨著溫度降低,該過程會產(chǎn)生新的解,并把新解與禁忌表中的對象對比,若沒有相同解,則轉(zhuǎn)步驟2;若有相同解,則重新產(chǎn)生新解,若多次產(chǎn)生的解在禁忌表中都能找到,則代表已無最優(yōu)解,結(jié)束當(dāng)前循環(huán),否則,轉(zhuǎn)步驟2。

步驟9 重復(fù)步驟3~步驟8,直到收斂條件滿足時(shí)結(jié)束。

步驟10 在禁忌表中尋找最優(yōu)解,并輸出最優(yōu)跳距Hopsizei。

2.3 未知節(jié)點(diǎn)平均跳距的加權(quán)處理

在傳統(tǒng)DV-Hop算法中,未知節(jié)點(diǎn)是把距離最近的錨節(jié)點(diǎn)的平均跳距值作為自身的平均跳距,但是在實(shí)際的網(wǎng)絡(luò)中,節(jié)點(diǎn)分布在不同的區(qū)域其自身的狀況也是不同的,且平均每跳距離也不相同,這明顯會導(dǎo)致較大的誤差,因?yàn)榫W(wǎng)絡(luò)中單個(gè)錨節(jié)點(diǎn)的平均跳距并不能反映網(wǎng)絡(luò)的真實(shí)屬性。因此,可以采用多個(gè)錨節(jié)點(diǎn)來計(jì)算其平均跳距的方式,即引用加權(quán)系數(shù)來減小誤差。加權(quán)系數(shù)公式如下

(9)

式中:n為未知節(jié)點(diǎn)可以通信的錨節(jié)點(diǎn)個(gè)數(shù);hi為錨節(jié)點(diǎn)i與未知節(jié)點(diǎn)的最小跳數(shù)值。由此獲取的未知節(jié)點(diǎn)的加權(quán)平均跳距為

(10)

通過對式(9)、式(10)的處理,每個(gè)與未知節(jié)點(diǎn)進(jìn)行通信的錨節(jié)點(diǎn),其平均跳距都可以參與未知節(jié)點(diǎn)平均跳距的計(jì)算,即每個(gè)錨節(jié)點(diǎn)的平均跳距都是按照與未知節(jié)點(diǎn)的距離遠(yuǎn)近來進(jìn)行加權(quán),從而使每個(gè)未知節(jié)點(diǎn)在依據(jù)平均跳距來計(jì)算其自身坐標(biāo)時(shí)使之更加貼近真實(shí)的網(wǎng)絡(luò)情況。

2.4 求解未知節(jié)點(diǎn)的坐標(biāo)

如圖2所示,假設(shè)未知節(jié)點(diǎn)U的坐標(biāo)為(x,y),錨節(jié)點(diǎn)A1、A2、…、An的坐標(biāo)為 (x1,y1), (x2,y2), …, (xi,yi) (i=1,2,…,n),di為錨節(jié)點(diǎn)Ai與未知節(jié)點(diǎn)U間估算的距離。

由兩點(diǎn)間的距離公式可得方程組

(11)

由于di的獲取本就存在誤差,若再進(jìn)行平方運(yùn)算,會使其誤差增大,使得定位精度下降。因此直接使用開平方的方式,從而避免因取平方造成的誤差加大,然后再將上式的前(n-1)行全部減去最后一行,如方程組(12)所示

(12)

(13)

(14)

(15)

(16)

在求解未知節(jié)點(diǎn)坐標(biāo)的過程中,每個(gè)參數(shù)的設(shè)置都采用了相同的權(quán)值,也就是說有一樣的定位精度,若此時(shí)采用最小二乘法[16]直接計(jì)算未知節(jié)點(diǎn)坐標(biāo),所造成的誤差會積累到最終的結(jié)果中。因此,本文采用加權(quán)最小二乘法來進(jìn)一步減小定位誤差,即引入權(quán)重矩陣W,該矩陣為對稱的正定矩陣,如式(17)所示

(17)

其中,Wr,i表示未知節(jié)點(diǎn)r與錨節(jié)點(diǎn)i的權(quán)重因子,hr,i表示未知節(jié)點(diǎn)r到錨節(jié)點(diǎn)i的最小跳數(shù)。公式如下

(18)

最后結(jié)合普通最小二乘法可得

X=(ATWA)-1ATWB

(19)

2.5 修正未知節(jié)點(diǎn)的坐標(biāo)

由式(19)解得未知節(jié)點(diǎn)坐標(biāo)(x,y)和r后,則應(yīng)該判斷是否滿足r=x2+y2, 若滿足條件,該解即為所求坐標(biāo),若不滿足該條件,則令

(20)

將式(20)帶入r=x2+y2中,求出參數(shù)a,然后得出x1和y1的值,最后修正的未知節(jié)點(diǎn)坐標(biāo)為

(21)

3 仿真實(shí)驗(yàn)與分析

3.1 仿真實(shí)驗(yàn)

為驗(yàn)證該改進(jìn)算法的性能,在MATLAB2016b環(huán)境下進(jìn)行仿真實(shí)驗(yàn)。先設(shè)置100m×100m的正方形區(qū)域,再將100個(gè)節(jié)點(diǎn)隨機(jī)分布在該區(qū)域中。本文改進(jìn)算法將與傳統(tǒng)DV-Hop算法、文獻(xiàn)[6]所提算法、文獻(xiàn)[8]所提算法就錨節(jié)點(diǎn)數(shù)、通信半徑兩方面性能進(jìn)行比較。

改進(jìn)模擬退火算法的默認(rèn)參數(shù)為:設(shè)定溫度T的初始值為200,衰減因子設(shè)為0.96,限制等級為restriction[0]到restriction[5],指針閾值Cthreshold設(shè)為1,為使算法更加穩(wěn)定,每種算法循環(huán)運(yùn)算50次并取平均值來當(dāng)作最后的定位誤差。假設(shè)總結(jié)點(diǎn)數(shù)為100個(gè),錨節(jié)點(diǎn)數(shù)為10個(gè),該節(jié)點(diǎn)的初始分布如圖3所示。

定義平均定位誤差[17]

(22)

3.2 錨節(jié)點(diǎn)個(gè)數(shù)對定位算法的影響

在圖4中,DWDV-Hop為文獻(xiàn)[6]的改進(jìn)算法;SA+WDV-Hop為文獻(xiàn)[8]的改進(jìn)算法;SAPS+WDV-Hop為本文改進(jìn)的DV-Hop算法??偣?jié)點(diǎn)數(shù)為100個(gè),錨節(jié)點(diǎn)的通信半徑為50 m,錨節(jié)點(diǎn)數(shù)從10個(gè)增長到50個(gè)(每次增長5個(gè))。4種算法在相同條件下,隨著錨節(jié)點(diǎn)數(shù)量的增加,相應(yīng)的定位誤差都在逐漸減小并趨于平緩,這是因?yàn)殄^節(jié)點(diǎn)的增多使得定位節(jié)點(diǎn)的信息更詳細(xì),從而使得定位誤差降低。由圖4可知,在較低密度錨節(jié)點(diǎn)的網(wǎng)絡(luò)中,本文所改進(jìn)的DV-Hop算法明顯優(yōu)于傳統(tǒng)DV-Hop算法,并且與文獻(xiàn)[6]、文獻(xiàn)[8]所提算法相比,其定位精度分別提升約7%和4%。

3.3 通信半徑對定位算法的影響

在圖5中,總節(jié)點(diǎn)數(shù)為100個(gè),錨節(jié)點(diǎn)數(shù)為30個(gè),隨機(jī)分布在100m×100m的正方形區(qū)域中,并且通信半徑從20 m增長到50 m(每次增長5 m),其它條件保持不變。觀察發(fā)現(xiàn),隨著通信半徑R的逐漸增大,這4種算法的平均定位誤差都在逐漸減小,但通信半徑在大于40 m之后出現(xiàn)了一定程度的上升,經(jīng)過分析可知,由于通信半徑的增大會使網(wǎng)絡(luò)連通性變好,所以定位誤差一開始會降低,但當(dāng)通信半徑過大,會使平均跳距誤差增大從而導(dǎo)致定位精度下降。由圖5可知,本文算法的定位精度明顯優(yōu)于傳統(tǒng)DV-Hop算法,并且與文獻(xiàn)[6]所提算法相比,在定位精度上提升約8%,與文獻(xiàn)[8]相比,定位精度提升約3%。

3.4 算法的復(fù)雜度分析

與傳統(tǒng)DV-Hop算法相比,改進(jìn)算法在運(yùn)算量上增加了一些額外開銷,該額外開銷主要來源于在計(jì)算錨節(jié)點(diǎn)的平均跳距時(shí),使用改進(jìn)的模擬退火算法來優(yōu)化錨節(jié)點(diǎn)的平均跳距,該改進(jìn)算法繼承了捕食搜索算法的區(qū)域精密搜索和廣域搜索方式,增加了內(nèi)外雙循環(huán)運(yùn)算,即每個(gè)限制等級下都要尋找最優(yōu)解,此外,模擬退火算法本身隨著溫度下降產(chǎn)生的新解也要參與循環(huán)運(yùn)算,直至滿足收斂條件時(shí)結(jié)束,這些都在一定程度上導(dǎo)致運(yùn)行時(shí)間增加。因此,改進(jìn)算法是以一定的額外運(yùn)算開銷為代價(jià)取得更高的定位精度。

4 結(jié)束語

針對DV-Hop算法存在的誤差,本文提出一種改進(jìn)算法,先使用多通信半徑來修正最小跳數(shù),再引入改進(jìn)的模擬退火算法計(jì)算錨節(jié)點(diǎn)的平均跳距,并使用加權(quán)因子處理未知節(jié)點(diǎn)的平均跳距,從而減小平均跳距引起的誤差,最后在估算未知節(jié)點(diǎn)坐標(biāo)采用不直接對方程進(jìn)行平方運(yùn)算的方式,并采用加權(quán)最小二乘法來求解未知節(jié)點(diǎn)的坐標(biāo),以及利用解得冗余信息對未知節(jié)點(diǎn)坐標(biāo)進(jìn)行二次修正。仿真實(shí)驗(yàn)證實(shí),本文提出的改進(jìn)算法在定位精度上有較大幅度的提升,并且具有良好的穩(wěn)定性,但是,由于改進(jìn)算法在錨節(jié)點(diǎn)計(jì)算平均跳距引入了改進(jìn)的模擬退火算法,增加了一部分計(jì)算量,導(dǎo)致能耗增大。因此,下一步的研究將考慮在保持定位精度的條件下如何減少能耗。

猜你喜歡
模擬退火定位精度半徑
北方海區(qū)北斗地基增強(qiáng)系統(tǒng)基站自定位精度研究
小米8手機(jī)在城市環(huán)境下的單點(diǎn)定位精度研究
基于遺傳模擬退火算法的城市冷鏈物流末端配送路徑方案——以西安市為例
直擊多面體的外接球的球心及半徑
Galileo中斷服務(wù)前后SPP的精度對比分析
GPS定位精度研究
GPS定位精度研究
將相等線段轉(zhuǎn)化為外接圓半徑解題
改進(jìn)模擬退火算法在TSP中的應(yīng)用
基于模擬退火剩余矩形算法的矩形件排樣
达州市| 平江县| 藁城市| 太原市| 裕民县| 松阳县| 永胜县| 华安县| 拉萨市| 阿拉善左旗| 小金县| 敦煌市| 文安县| 永嘉县| 梁山县| 蒲江县| 华阴市| 敖汉旗| 五原县| 台中县| 曲阳县| 岢岚县| 裕民县| 项城市| 北票市| 万全县| 东莞市| 内乡县| 大化| 建瓯市| 彰化市| 平顶山市| 平定县| 眉山市| 灵寿县| 濮阳市| 玛多县| 凌源市| 探索| 任丘市| 平安县|