一種基于北斗定位系統(tǒng)的新型無(wú)線傳感器網(wǎng)絡(luò)路由算法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及無(wú)線傳感器網(wǎng)絡(luò)路由設(shè)計(jì),具體說(shuō)是基于北斗定位系統(tǒng)的新型無(wú)線傳 感器網(wǎng)絡(luò)路由算法。
【背景技術(shù)】
[0002] 作為一種新的信息獲取方式和處理模式,無(wú)線傳感器網(wǎng)絡(luò)(簡(jiǎn)稱WSN)正受到越來(lái) 越多的關(guān)注,其應(yīng)用已經(jīng)由最初的軍事領(lǐng)域擴(kuò)展到反恐、防爆、環(huán)境監(jiān)測(cè)等其他眾多領(lǐng)域, 能完成傳統(tǒng)系統(tǒng)無(wú)法完成的任務(wù)。隨著對(duì)無(wú)線傳感器網(wǎng)絡(luò)研究和應(yīng)用的深入,不同業(yè)務(wù)對(duì) 網(wǎng)絡(luò)服務(wù)范圍和質(zhì)量(QoS)提出了不同的要求。因此,多約束QoS路由是解決該問(wèn)題的關(guān) 鍵技術(shù)之一。
[0003] 蟻群優(yōu)化算法(AC0)是利用信息素來(lái)正反饋的原理尋得最優(yōu)路徑,將蟻群優(yōu)化算 法應(yīng)用到多約束QoS路由中能減少控制包的發(fā)送量,節(jié)約能量開(kāi)銷。
[0004] 螞蟻的運(yùn)動(dòng)方向不受擁擠度的限制,將魚(yú)群算法中的擁擠度的概念引入到蟻群算 法中,提出了基于蟻群和魚(yú)群的混合優(yōu)化算法,提高了收斂速度。同時(shí),由于蟻群和魚(yú)群的 混合優(yōu)化算法的初始收斂慢的主要原因在于搜索方向的盲目性,造成大量的無(wú)效搜索。我 國(guó)北斗定位系統(tǒng)的主要功能就是快速定位,在服務(wù)區(qū)域內(nèi)能全天候、高精度快速確定用戶 所在的地理位置。因此,將北斗定位系統(tǒng)用于獲取蟻群和魚(yú)群的混合優(yōu)化算法的方向因子, 提高了算法的收斂速度。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是在現(xiàn)有的無(wú)線傳感器網(wǎng)絡(luò)路由算法的基礎(chǔ)之上,提供了一種基于 北斗定位系統(tǒng)的新型無(wú)線傳感器網(wǎng)絡(luò)路由算法。
[0006] 本發(fā)明的目的是按以下方式實(shí)現(xiàn)的,首先將無(wú)線傳感器網(wǎng)絡(luò)路由用無(wú)向賦權(quán)圖 G (V,E)表示,其中項(xiàng)點(diǎn)集合V表示網(wǎng)絡(luò)節(jié)點(diǎn),邊集合表示網(wǎng)絡(luò)中的連接節(jié)點(diǎn)的通信鏈路集, 采用蟻群優(yōu)化算法設(shè)計(jì)出無(wú)線傳感器網(wǎng)絡(luò)路由布局;其次,對(duì)蟻群優(yōu)化算法進(jìn)行改進(jìn),主要 是將應(yīng)用北斗衛(wèi)星獲取方向因子和傳遞簇間路由信息,對(duì)蟻?zhàn)暹M(jìn)行優(yōu)化改進(jìn),并將改進(jìn)生 的蟻群優(yōu)化算法應(yīng)用到無(wú)線傳感器網(wǎng)絡(luò)路由中。具體算法如下:
[0007] -個(gè)無(wú)線傳感網(wǎng)絡(luò)可用一無(wú)向賦權(quán)圖G(V,E)表示,其中頂點(diǎn)表示網(wǎng)絡(luò)節(jié)點(diǎn),邊表 示網(wǎng)絡(luò)中鏈接節(jié)點(diǎn)的通信鏈路集。設(shè)P = P (s,d)為從源節(jié)點(diǎn)s到目的節(jié)點(diǎn)d的一條路徑, e為路徑P上的一條鏈路。
[0008] 首先,確定無(wú)線傳感器網(wǎng)絡(luò)的目標(biāo)函數(shù)
[0010] f\(e),f2(e),f3(e),f4(e)分別為鏈路e上的時(shí)延、成本、丟包率和帶寬。
[0011] Wl,i = 1,2, 3,4,分別為延時(shí)、成本、丟包率和帶寬的權(quán)重系數(shù)。
[0012] 其次,設(shè)計(jì)網(wǎng)絡(luò)拓?fù)鋱D。
[0013] 初始化,分簇布撒傳感器,并指定簇首,且節(jié)點(diǎn)通過(guò)北斗導(dǎo)航系統(tǒng)定位。刪除該網(wǎng) 絡(luò)中單條鏈路中不滿足A (e) < Si要求的鏈路(如刪去網(wǎng)絡(luò)中不滿足最小帶寬的鏈路), 得到一個(gè)新的網(wǎng)絡(luò)拓?fù)鋱DA,然后基于&開(kāi)始搜索。
[0014] 最后,應(yīng)用改進(jìn)的蟻群優(yōu)化算法設(shè)計(jì)路由。
[0015] 改進(jìn)的蟻群優(yōu)化算法如下:
[0016] 步驟1 :令r = 0時(shí),對(duì)所有路段上的信息素給定初始值τ ^ (〇) = A (A為常數(shù));
[0017] 設(shè)定最大搜索周期數(shù)為R,固定迭代次數(shù)為I,螞蟻個(gè)數(shù)為n,一次搜索的最多時(shí)間 約束為T(mén),最優(yōu)目標(biāo)數(shù)值為Y,為無(wú)窮大,解集為空。
[0018] 步驟2 :確實(shí)轉(zhuǎn)移概率如下所示:
[0019] 集合allowedk= {0,1,. . .,n-l}_tabu 1<表示螞蟻k下一步允許選擇的節(jié)點(diǎn)集, 七&13叫表示螞蟻k在本次循環(huán)中已經(jīng)走過(guò)節(jié)點(diǎn)的集合,該集合隨進(jìn)化過(guò)程動(dòng)態(tài)調(diào)整;
[0020] τ 為第t個(gè)搜索周期內(nèi)節(jié)點(diǎn)i,j之間的路段上的信息素,代表最優(yōu)解的趨 向;
[0021] 將北斗衛(wèi)星獲取網(wǎng)絡(luò)節(jié)點(diǎn)i和網(wǎng)絡(luò)節(jié)點(diǎn)j在整個(gè)網(wǎng)絡(luò)拓?fù)渲械奈恢?,得到公式?) 中的參數(shù)njt)和Cosby
[0022] ruJt)為啟發(fā)函數(shù),有 ,其中屯表示第i個(gè)節(jié)點(diǎn)到第j個(gè)節(jié)點(diǎn)之間的距 離;
[0023] cos^j, it= ijit/(| ij | | it|),表示當(dāng)前節(jié)點(diǎn)i到下一個(gè)節(jié)點(diǎn)j與當(dāng)前節(jié)點(diǎn)i到下 一個(gè)節(jié)點(diǎn)t兩個(gè)方向的夾角的余弦值。
[0024] α表示軌跡的相對(duì)重要性,反映了螞蟻在運(yùn)動(dòng)過(guò)程中所積累的信息在螞蟻運(yùn)動(dòng)時(shí) 所起的作用;β表示能見(jiàn)度的相對(duì)重要性,反映了螞蟻在運(yùn)動(dòng)過(guò)程匯總啟發(fā)式因子在螞蟻 選擇路徑中的重視程度。
[0025] 步驟3 :將魚(yú)群的擁擠度應(yīng)用到蟻群算法中,ΒΡ :
[0026] 螞蟻按照上述轉(zhuǎn)移概率選擇預(yù)計(jì)轉(zhuǎn)移路徑后,計(jì)算該路徑當(dāng)時(shí)的擁擠度q1]:
[0028] 如果qi ] (t) < δ (t),則表示路徑不太擁擠,螞蟻選擇該路徑從位置i轉(zhuǎn)移到位置 j ;否則,表示該路徑過(guò)于擁擠,螞蟻則在可行領(lǐng)域內(nèi)重新隨機(jī)選擇一條路徑進(jìn)行轉(zhuǎn)移。
[0029] 其中δ⑴表示t時(shí)刻的擁擠度閥值,并按下式進(jìn)行更新:δ⑴=1-2 ",其中, c為閥值變換系數(shù)。
[0030] 步驟4 :每只螞蟻經(jīng)過(guò)η個(gè)時(shí)刻訪問(wèn)完所有節(jié)點(diǎn)后,對(duì)信息素濃度進(jìn)行更新,即
[0031] 其中Ρ表示原信息素濃度保留程度;
[0032] 表示螞蟻k在本次循環(huán)中在路徑ij上留下的信息素濃度。當(dāng)螞蟻k在本次循 環(huán)中經(jīng)過(guò)ij,則
其中Q為常數(shù);
[0033] 1^表示螞蟻k在本次循環(huán)中選擇的路徑長(zhǎng)度,如果螞蟻k在本次循環(huán)中未經(jīng)過(guò)i j, 則
[0034] 步驟5 :計(jì)算本周期內(nèi)所有螞蟻?zhàn)哌^(guò)的路徑的目標(biāo)函數(shù)值y (pk),k = 1,2, . . .,n, 其中
[0035] #為本次循環(huán)中第k只螞蟻從源節(jié)點(diǎn)到目的節(jié)點(diǎn)所走的路徑。
[0036] 步驟6:求出
[0037] 若到目前為止迭代的次數(shù)是固定迭代次數(shù)1的整數(shù)倍,則用全局最優(yōu)路徑來(lái)更新 解集;否則,從本次迭代所產(chǎn)生的路徑中選出目標(biāo)函數(shù)值最小的路徑,根據(jù)路徑來(lái)更新解 集。
[0038] 步驟7 :令r = r+Ι,當(dāng)r < R時(shí),轉(zhuǎn)到步驟三,繼續(xù)進(jìn)行下一輪搜索;否則,算法終 止。
[0039] 步驟8 :輸出解集中的路徑,即為QoS請(qǐng)求的最優(yōu)路徑。若Y為無(wú)窮大,則該QoS請(qǐng) 求的路徑不存在。
[0040] 本發(fā)明的優(yōu)異效果如下:該發(fā)明采用分簇布撒傳感器節(jié)點(diǎn)的方法,一方面應(yīng)用中 國(guó)北斗二號(hào)導(dǎo)航定位系統(tǒng)的定位功能獲得節(jié)點(diǎn)地理信息,另一方向利用北斗的通信功能實(shí) 現(xiàn)簇間遠(yuǎn)距離通信,從而減少了搜索的盲目性和控制包發(fā)送的信息量,節(jié)省了消耗。
【附圖說(shuō)明】
[0041] 本發(fā)明有如下附圖:
[0042] 圖1 :北斗衛(wèi)星作為分簇路由幀中繼的拓?fù)浣Y(jié)構(gòu);圖2 :網(wǎng)絡(luò)拓?fù)鋱D。
【具體實(shí)施方式】
[0043] 參照說(shuō)明書(shū)附圖對(duì)本發(fā)明作以下詳細(xì)地說(shuō)明。
[0043] 本發(fā)明是基于北斗定位系統(tǒng)的新型無(wú)線傳感器網(wǎng)絡(luò)路由算法,工作原理是將無(wú)線 傳感器網(wǎng)絡(luò)路由用無(wú)向賦權(quán)圖G(V,E)表示,其中頂點(diǎn)集合V表示網(wǎng)絡(luò)節(jié)點(diǎn),邊集合表示網(wǎng) 絡(luò)中的連接節(jié)點(diǎn)的通信鏈路集。將改進(jìn)的蟻群優(yōu)化算法應(yīng)用到無(wú)線網(wǎng)絡(luò)傳感器網(wǎng)絡(luò)中,從 而減少搜索盲目性,提高路由效率。
[0045] 該發(fā)明包括三部分內(nèi)容,其一是應(yīng)用北斗定位系統(tǒng)對(duì)蟻群優(yōu)化算法進(jìn)行改進(jìn),其 二是將改進(jìn)后的蟻群優(yōu)化算法用于無(wú)線傳感器網(wǎng)絡(luò)路由中。其三是采用分簇路由,簇間信