替換 染色體中對(duì)應(yīng)基因;
[0031] b6)分析所獲得的染色體是否符合約束(1),(2),(7),(12),當(dāng)當(dāng)前染色體違反約 束條件(12)時(shí),查找和刪除重復(fù)網(wǎng)格中心,計(jì)算遍歷當(dāng)前染色體中所有網(wǎng)格中心的路徑向 量;如果當(dāng)前路徑向量中相鄰兩個(gè)元素之間距離大于相鄰網(wǎng)格中心距離d p,則存在若干個(gè) 間隔網(wǎng)格中心,選擇和添加使Sink節(jié)點(diǎn)在該兩個(gè)元素之間移動(dòng)的距離最短的網(wǎng)格中心,并 添加所選網(wǎng)格中心上的初始停留時(shí)間d p/v,獲得一個(gè)新的染色體;當(dāng)當(dāng)前新的染色體違反 約束條件(7),尋找孤立節(jié)點(diǎn),添加網(wǎng)格中心使增加的移動(dòng)距離最短;如果移動(dòng)路徑的距離 超出閾值,截取開頭距離為閾值的路徑,判斷是否全覆蓋節(jié)點(diǎn);如果仍存在孤立節(jié)點(diǎn),則放 棄該染色體,跳到步驟b2),否則增加新增網(wǎng)格中心的初始停留時(shí)間d p/v,當(dāng)新的染色體中 停留時(shí)間違反約束條件(2),修改該停留時(shí)間為dp/v;如果新的染色體違反約束條件(1), 調(diào)整所有停留時(shí)間為
[0033] 且 m = m+1 ;
[0034] b7)如果m小于或等于NM,則返回步驟b4),否則如果g小于或等于Ng,其中,1^表 示迭代次數(shù),則返回步驟b2),否則獲得網(wǎng)絡(luò)生存時(shí)間、Sink節(jié)點(diǎn)移動(dòng)路徑和在每一個(gè)停留 位置上的停留時(shí)間的最優(yōu)方案。
[0035] 進(jìn)一步,所述優(yōu)化方法還包括如下步驟:
[0036] 4) Sink和傳感節(jié)點(diǎn)按照最優(yōu)方案執(zhí)行數(shù)據(jù)收集任務(wù),Sink節(jié)點(diǎn)廣播路由信息包, 根據(jù)所選擇的移動(dòng)路徑和停留時(shí)間,移動(dòng)收集數(shù)據(jù),傳感節(jié)點(diǎn)監(jiān)聽路由信息包;根據(jù)Sink 節(jié)點(diǎn)和鄰居節(jié)點(diǎn)的不同路由信息包,選擇進(jìn)入數(shù)據(jù)發(fā)送狀態(tài)或進(jìn)入休眠狀態(tài);如果在Sink 節(jié)點(diǎn)的數(shù)據(jù)通信范圍內(nèi),采用數(shù)據(jù)路由算法選擇父節(jié)點(diǎn),將數(shù)據(jù)發(fā)送給Sink節(jié)點(diǎn),否則進(jìn) 入休眠狀態(tài),將感知數(shù)據(jù)存儲(chǔ)到緩存空間中。
[0037] 再進(jìn)一步,所述步驟2)中,Sink節(jié)點(diǎn)分析約束條件的過程如下:
[0038] al)分析數(shù)據(jù)傳輸時(shí)延約束,根據(jù)Sink節(jié)點(diǎn)沿著已選路徑移動(dòng)一輪的停留時(shí)間和 不能大于允許的最大數(shù)據(jù)傳輸時(shí)延,獲得如下公式
[0040] 其中,tp表示Sink在網(wǎng)格中心p上的停留時(shí)間,t delay表示允許的最大數(shù)據(jù)傳輸時(shí) 延,考慮到Sink節(jié)點(diǎn)在移動(dòng)過程中也在收集數(shù)據(jù),則將Sink節(jié)點(diǎn)的移動(dòng)數(shù)據(jù)收集過程認(rèn)為 由在若干個(gè)網(wǎng)格中心上停留一段時(shí)間的靜態(tài)數(shù)據(jù)收集過程組成,因此根據(jù)Sink節(jié)點(diǎn)在網(wǎng) 格中心P上的停留時(shí)間需要大于或等于相鄰網(wǎng)格間的移動(dòng)時(shí)間,獲得如下公式
[0042] 其中,dp表示相鄰網(wǎng)格中心間的距離,V表示Sink節(jié)點(diǎn)的移動(dòng)速率;
[0043] a2)分析節(jié)點(diǎn)覆蓋約束,計(jì)算傳感節(jié)點(diǎn)i到Sink節(jié)點(diǎn)停留位置p的距萵%〃和到 鄰居節(jié)點(diǎn)j的距離Cl11
[0046] 其中,Ni表示傳感節(jié)點(diǎn)i的鄰居傳感節(jié)點(diǎn)集合,(Px ;,Pyi)表示傳感節(jié)點(diǎn)i的位置 坐標(biāo),(gxp,gyp)表示當(dāng)前Sink節(jié)點(diǎn)的停留位置坐標(biāo);
[0047] 當(dāng)Sink節(jié)點(diǎn)停留在網(wǎng)格中心p時(shí),計(jì)算每一個(gè)傳感節(jié)點(diǎn)到Sink節(jié)點(diǎn)的數(shù)據(jù)傳輸 跳數(shù)為
[0049] 其中,dmax表不傳感節(jié)點(diǎn)的最大通彳目距尚,
_獲得傳感節(jié)點(diǎn)是 否在Sink節(jié)點(diǎn)的數(shù)據(jù)通信范圍內(nèi)的判斷公式
[0051] 其中,k表示Sink節(jié)點(diǎn)的數(shù)據(jù)收集跳數(shù),Gf表示傳感節(jié)點(diǎn)在Sink節(jié)點(diǎn)的數(shù)據(jù)通信 范圍內(nèi)的狀態(tài)指示符;
[0052] 根據(jù)傳感節(jié)點(diǎn)最小跳數(shù)的定義,要求Sink節(jié)點(diǎn)的移動(dòng)路線保證其數(shù)據(jù)收集能覆 蓋到所有傳感節(jié)點(diǎn),不能存在孤立節(jié)點(diǎn),則獲得節(jié)點(diǎn)覆蓋約束
[0054] a3)分析數(shù)據(jù)發(fā)送約束,在實(shí)際無線傳感網(wǎng)系統(tǒng)中,傳感節(jié)點(diǎn)的數(shù)據(jù)存儲(chǔ)空間有 限,當(dāng)需要緩存的數(shù)據(jù)超過了最大存儲(chǔ)容量,則將最新的數(shù)據(jù)替換最早的數(shù)據(jù),因此當(dāng)Sink 節(jié)點(diǎn)停留在網(wǎng)格中心P時(shí),計(jì)算傳感節(jié)點(diǎn)需要發(fā)送的數(shù)據(jù)量約束
[0056] 其中,gf表示當(dāng)Sink節(jié)點(diǎn)停留在網(wǎng)格中心p時(shí),傳感節(jié)點(diǎn)i發(fā)送給Sink節(jié)點(diǎn)的數(shù) 據(jù)量,Si表示傳感節(jié)點(diǎn)i的數(shù)據(jù)感知速率,^廣1表示當(dāng)Sink節(jié)點(diǎn)在前一個(gè)網(wǎng)格中心上收集 完數(shù)據(jù)后,傳感節(jié)點(diǎn)i的剩余數(shù)據(jù)緩存量;
[0057] 當(dāng)Sink節(jié)點(diǎn)停留在網(wǎng)格中心p收集完數(shù)據(jù)后,計(jì)算每一個(gè)傳感節(jié)點(diǎn)的剩余數(shù)據(jù)緩 存量為
[0059] 其中,bth表示傳感節(jié)點(diǎn)的最大存儲(chǔ)容量;
[0060] a4)分析能量約束,根據(jù)每一個(gè)傳感節(jié)點(diǎn)的能耗不大于其初始能量,獲得能量約束 公式
[0062] 其中,T表示網(wǎng)絡(luò)生存時(shí)間,Ein表示傳感節(jié)點(diǎn)的初始能量,<表示Sink節(jié)點(diǎn)停留 在網(wǎng)絡(luò)中心P上收集數(shù)據(jù)時(shí),傳感節(jié)點(diǎn)i的單位時(shí)間能耗,<與所采用的數(shù)據(jù)路由算法有 關(guān);
[0063] a5)分析網(wǎng)格選擇約束,Sink節(jié)點(diǎn)從初始位置P1開始,依次停留在向量P中的各 個(gè)位置上收集數(shù)據(jù),當(dāng)完成停留位置的數(shù)據(jù)收集后,反向沿著移動(dòng)路徑收集數(shù)據(jù),其中, Sink節(jié)點(diǎn)移動(dòng)路徑經(jīng)過的網(wǎng)格中心向量P為(A./h··. W,八.),Nv表示Sink節(jié)點(diǎn)移動(dòng)路 徑經(jīng)過的網(wǎng)格中心數(shù)量,獲得判斷兩網(wǎng)格相鄰的公式
[0065] 其中^ &表示網(wǎng)格中心pJP p w相鄰的指示符= 1表示網(wǎng)格中心pJP P "相 鄰,獲得網(wǎng)格選擇約束為
[0067] 所述步驟b2中,所述數(shù)據(jù)路由算法采用MCP路由算法。
[0068] 所述步驟b6中,采用最近鄰插入法計(jì)算遍歷當(dāng)前染色體中所有網(wǎng)格中心的路徑 向量。
[0069] 本發(fā)明的技術(shù)構(gòu)思為:本發(fā)明分析數(shù)據(jù)傳輸時(shí)延約束、節(jié)點(diǎn)覆蓋約束、數(shù)據(jù)發(fā)送約 束,能量約束和網(wǎng)格選擇約束,建立數(shù)據(jù)傳輸時(shí)延和跳數(shù)受限的網(wǎng)絡(luò)生存時(shí)間優(yōu)化模型。采 用數(shù)據(jù)路由算法和修正的遺傳算法求解網(wǎng)絡(luò)生存時(shí)間優(yōu)化模型,計(jì)算網(wǎng)絡(luò)生存時(shí)間、Sink 節(jié)點(diǎn)移動(dòng)路徑和在每一個(gè)停留位置上的停留時(shí)間的最優(yōu)方案。Sink節(jié)點(diǎn)根據(jù)所計(jì)算的移動(dòng) 路徑和停留時(shí)間,移動(dòng)收集數(shù)據(jù)。傳感節(jié)點(diǎn)根據(jù)Sink節(jié)點(diǎn)和鄰居節(jié)點(diǎn)的不同路由信息包, 選擇進(jìn)入數(shù)據(jù)發(fā)送狀態(tài)或進(jìn)入休眠狀態(tài)。
[0070] 本發(fā)明的有益效果主要表現(xiàn)在:本發(fā)明根據(jù)傳感節(jié)點(diǎn)的位置信息,采用最優(yōu)化方 法計(jì)算網(wǎng)絡(luò)生存時(shí)間、Sink節(jié)點(diǎn)移動(dòng)路徑和在每一個(gè)停留位置上的停留時(shí)間的最優(yōu)方案, 從而提高了網(wǎng)絡(luò)生存時(shí)間,全覆蓋傳感節(jié)點(diǎn),降低了節(jié)點(diǎn)能耗和節(jié)點(diǎn)丟棄數(shù)據(jù)量。
【附圖說明】
[0071] 圖1是具有移動(dòng)Sink節(jié)點(diǎn)的無線傳感網(wǎng)生存時(shí)間優(yōu)化方法的流程圖。
【具體實(shí)施方式】
[0072] 下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。
[0073] 參照?qǐng)D1,一種具有移動(dòng)Sink節(jié)點(diǎn)的無線傳感網(wǎng)生存時(shí)間優(yōu)化方法,包括如下步 驟:
[0074] 1)首先,網(wǎng)絡(luò)啟動(dòng)后,Sink節(jié)點(diǎn)廣播信息查詢包,接收傳感節(jié)點(diǎn)的位置坐標(biāo)信息, 并添加到Sink節(jié)點(diǎn)的傳感節(jié)點(diǎn)信息表中。
[0075] 2) Sink節(jié)點(diǎn)分析約束條件,建立數(shù)據(jù)傳輸時(shí)延和跳數(shù)受限的網(wǎng)絡(luò)生存時(shí)間優(yōu)化模 型。本步驟的具體優(yōu)選實(shí)施方法如下:
[0076] al)分析數(shù)據(jù)傳輸時(shí)延約束。在實(shí)際無線傳感網(wǎng)系統(tǒng)中數(shù)據(jù)傳輸時(shí)延有限,根據(jù) Sink節(jié)點(diǎn)沿著已選路徑移動(dòng)一輪的停留時(shí)間和不能大于允許的最大數(shù)據(jù)傳輸時(shí)延,獲得如 下公式
[0078] 其中,tp表示Sink在網(wǎng)格中心p上的停留時(shí)間,t delay表示允許的最大數(shù)據(jù)傳輸時(shí) 延。考慮到Sink節(jié)點(diǎn)在移動(dòng)過程中也在收集數(shù)據(jù),則將Sink節(jié)點(diǎn)的移動(dòng)數(shù)據(jù)收集過程認(rèn) 為由在若干個(gè)網(wǎng)格中心上停留一段時(shí)間的靜態(tài)數(shù)據(jù)收集過程組成,因此根據(jù)Sink節(jié)點(diǎn)在 網(wǎng)格中心P上的停留時(shí)間需要大于或等于相鄰網(wǎng)格間的移動(dòng)時(shí)間,獲得如下公式
[0080] 其中,dp表示相鄰網(wǎng)格中心間的距離,V表示Sink節(jié)點(diǎn)的移動(dòng)速率。
[0081] a2)分析節(jié)點(diǎn)覆蓋約束。計(jì)算傳感節(jié)點(diǎn)i到Sink節(jié)點(diǎn)停留位置p的距離辦/'和到 鄰居節(jié)點(diǎn)j的距離(^。
[0084] 其中,Ni表示傳感節(jié)點(diǎn)i的鄰居傳感節(jié)點(diǎn)集合。(Px ;,Pyi)表示傳感節(jié)點(diǎn)i的位置 坐標(biāo),(gxp,gyp)表示當(dāng)前Sink節(jié)點(diǎn)的停留位置坐標(biāo)。
[0085] 當(dāng)Sink節(jié)點(diǎn)停留在網(wǎng)格中心p時(shí),計(jì)算每一個(gè)傳感節(jié)點(diǎn)到Sink節(jié)點(diǎn)的數(shù)據(jù)傳輸 跳數(shù)為
[0087] 其中,dmax表不傳感節(jié)點(diǎn)的最大通彳目距尚,
獲得傳感節(jié)點(diǎn)是 否在Sink節(jié)點(diǎn)的數(shù)據(jù)通信范圍內(nèi)的判斷公式
[0089] 其中,k表示Sink節(jié)點(diǎn)的數(shù)據(jù)收集跳數(shù)。C/表示傳感節(jié)點(diǎn)在Sink節(jié)點(diǎn)的數(shù)據(jù)通 信范圍內(nèi)的狀態(tài)指示符。
[0090] 根據(jù)傳感節(jié)點(diǎn)最小跳數(shù)的定義,要求Sink節(jié)點(diǎn)的移動(dòng)路線保證其數(shù)據(jù)收集能覆 蓋到所有傳感節(jié)點(diǎn),不能存在孤立節(jié)點(diǎn),則獲得節(jié)點(diǎn)覆蓋約束
[0092] a3)分析數(shù)據(jù)發(fā)送約束。在實(shí)際無線傳感網(wǎng)系統(tǒng)中,傳感節(jié)點(diǎn)的數(shù)據(jù)存儲(chǔ)空間