本發(fā)明涉及一種采用優(yōu)化的最近鄰算法的移動(dòng)節(jié)點(diǎn)調(diào)度方法,屬于無(wú)線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域。
背景技術(shù):
在無(wú)線傳感器網(wǎng)絡(luò)中,傳感器節(jié)點(diǎn)的能量持續(xù)供給受到限制,因而如何能量有效性的利用節(jié)點(diǎn)能量,從而最大化網(wǎng)絡(luò)系統(tǒng)的生存期已成為一項(xiàng)重要的研究課題。為了最大化網(wǎng)絡(luò)系統(tǒng)的生存期,其中之一方法是利用層次性的分簇路由算法。根據(jù)分簇算法,網(wǎng)絡(luò)系統(tǒng)中的傳感器節(jié)點(diǎn)被分為簇頭和簇內(nèi)成員這兩類(lèi)節(jié)點(diǎn)。簇的劃分是基于傳感器節(jié)點(diǎn)間的距離,因而簇頭的能耗是遠(yuǎn)大于簇內(nèi)成員的能耗。利用節(jié)點(diǎn)的移動(dòng)性,可大大提高網(wǎng)絡(luò)系統(tǒng)的生存期?;谝苿?dòng)節(jié)點(diǎn)的分簇路由算法,可大大減少每一輪簇頭節(jié)點(diǎn)的能量消耗,因通信距離與節(jié)點(diǎn)的能量消耗成指數(shù)關(guān)系,而傳感器節(jié)點(diǎn)最大的耗能是通信模塊的耗能。當(dāng)移動(dòng)節(jié)點(diǎn)移動(dòng)到簇頭位置,其與簇頭的通信距離為0,這樣可極大減少簇頭節(jié)點(diǎn)的能量消耗。利用移動(dòng)節(jié)點(diǎn)來(lái)延長(zhǎng)網(wǎng)絡(luò)系統(tǒng)的生存期,必然會(huì)涉及到移動(dòng)節(jié)點(diǎn)的調(diào)度問(wèn)題,也就是如何合理的選擇移動(dòng)節(jié)點(diǎn)的移動(dòng)路徑。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的不足,提出了一種采用優(yōu)化的最近鄰算法的移動(dòng)節(jié)點(diǎn)調(diào)度方法,實(shí)現(xiàn)了移動(dòng)節(jié)點(diǎn)的合理調(diào)度,從而最終延長(zhǎng)了網(wǎng)絡(luò)系統(tǒng)的生存期。
按照本發(fā)明提供的技術(shù)方案,所述一種采用優(yōu)化的最近鄰算法的移動(dòng)節(jié)點(diǎn)調(diào)度方法包括以下步驟:
一種采用優(yōu)化的最近鄰算法的移動(dòng)節(jié)點(diǎn)調(diào)度方法,包括如下步驟:
步驟1:對(duì)網(wǎng)絡(luò)系統(tǒng)中的傳感器節(jié)點(diǎn)進(jìn)行簇的劃分,網(wǎng)絡(luò)系統(tǒng)中的傳感器節(jié)點(diǎn)被分為簇頭和簇內(nèi)成員這兩類(lèi)節(jié)點(diǎn);
步驟2:采用基于移動(dòng)節(jié)點(diǎn)的分簇路由算法,利用移動(dòng)節(jié)點(diǎn)移動(dòng)到簇頭位置,收集簇頭節(jié)點(diǎn)采集的數(shù)據(jù)信息,并最終通過(guò)移動(dòng)節(jié)點(diǎn)將這些數(shù)據(jù)信息傳遞給基站;
步驟3:利用優(yōu)化的最近鄰算法,得到移動(dòng)節(jié)點(diǎn)的移動(dòng)路徑,移動(dòng)節(jié)點(diǎn)按此路徑移動(dòng),最終實(shí)現(xiàn)移動(dòng)節(jié)點(diǎn)的合理調(diào)度。
進(jìn)一步,所述步驟1,利用分簇路由算法,將無(wú)線傳感器網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)分成簇頭和簇內(nèi)成員這兩類(lèi)節(jié)點(diǎn),所述簇頭收集同一簇中簇內(nèi)成員采集的現(xiàn)場(chǎng)信息,并對(duì)這些收集的信息進(jìn)行相應(yīng)的數(shù)據(jù)融合。
進(jìn)一步,所述步驟2,移動(dòng)節(jié)點(diǎn)移動(dòng)到簇頭位置收集相應(yīng)的數(shù)據(jù)信息,每一輪簇頭節(jié)點(diǎn)位置也是移動(dòng)節(jié)點(diǎn)停留點(diǎn)位置,因而移動(dòng)節(jié)點(diǎn)移動(dòng)路徑必包含停留點(diǎn)位置、起始位置和結(jié)束位置;所述移動(dòng)節(jié)點(diǎn)的起始位置和結(jié)束位置相同,都位于基站位置。
進(jìn)一步,所述步驟3,利用優(yōu)化的最近鄰算法,求得包含所有簇頭位置和移動(dòng)節(jié)點(diǎn)初始位置的最小權(quán)的hamilton回路,最終得到移動(dòng)節(jié)點(diǎn)的移動(dòng)路徑,移動(dòng)節(jié)點(diǎn)按此路徑移動(dòng),實(shí)現(xiàn)移動(dòng)節(jié)點(diǎn)的調(diào)度,輸出此網(wǎng)絡(luò)系統(tǒng)調(diào)度的最短移動(dòng)路徑。
進(jìn)一步,步驟1中,在簇的建立階段,每一輪簇頭的選舉過(guò)程為:各傳感器節(jié)點(diǎn)首先產(chǎn)生一個(gè)隨機(jī)數(shù),隨機(jī)數(shù)的范圍為[0,1];然后用設(shè)定的閾值t與這些隨機(jī)數(shù)進(jìn)行比較,決定哪些節(jié)點(diǎn)成為簇頭;節(jié)點(diǎn)成為簇頭的條件為產(chǎn)生的隨機(jī)數(shù)小于閾值t(m),相應(yīng)的其他的傳感器節(jié)點(diǎn)成為簇內(nèi)成員。
進(jìn)一步,步驟2中,移動(dòng)節(jié)點(diǎn)從起始位置出發(fā),需通過(guò)并且僅通過(guò)一次簇頭位置,當(dāng)通過(guò)簇頭位置時(shí)收集其相應(yīng)的數(shù)據(jù)信息,最終回到初始位置,也就是基站位置。
進(jìn)一步,步驟3具體包括:
步驟3-1:選取網(wǎng)絡(luò)系統(tǒng)基站位置s0作為起點(diǎn),找一條與s0關(guān)聯(lián)且權(quán)值最小的一條邊e1,e1還和另外一個(gè)頂點(diǎn)相連,把此頂點(diǎn)記為s1,可得一條路s0s1;
步驟3-2:假定已選出路s0s1lsi,從剩下的頂點(diǎn)
步驟3-3:如果i+1<n-1,則令i←i+1返回步驟3-2;否則,記c=s0s1lsisi+1lsns0,其就為一個(gè)hamilton回路,即得問(wèn)題的近似解;
設(shè)c=s0s1lsisi+1lsns0是圖g利用最近鄰算法求得的一個(gè)hamilton回路;對(duì)回路c中所有滿足1<i+1<j<s的i,j,按照步驟3-4可獲得一條新的hamilton回路ck:
步驟3-4:在回路c上檢查是否有i≠j,使得sisj∈e(g),si+1sj+1∈e(g)且w(sisj)+w(si+1sj+1)<w(sisi+1)+w(sjsj+1),則構(gòu)成新的hamilton回路ck=s1s2lsisjsj-1lsi+1sj+1lsns1;
步驟3-5:用ck代替c,并轉(zhuǎn)到步驟3-4,直到步驟3-4中沒(méi)有滿足條件的回路為止,最終得到的c即為本次調(diào)度的移動(dòng)節(jié)點(diǎn)的移動(dòng)路徑,實(shí)現(xiàn)了移動(dòng)節(jié)點(diǎn)的合理調(diào)度。
本發(fā)明的有益效果如下:
本發(fā)明一種采用優(yōu)化的最近鄰算法的移動(dòng)節(jié)點(diǎn)調(diào)度方法中,簇頭不需與基站通信,它只需要和移動(dòng)節(jié)點(diǎn)通信,移動(dòng)節(jié)點(diǎn)位置又位于簇頭位置,所以基于移動(dòng)節(jié)點(diǎn)的分簇路由協(xié)議與傳統(tǒng)的分簇路由協(xié)議相比,簇頭能耗大大減少,相應(yīng)地,網(wǎng)絡(luò)系統(tǒng)的生存期也得到了很大的提高,同時(shí)該方法實(shí)現(xiàn)了移動(dòng)節(jié)點(diǎn)的合理調(diào)度。
附圖說(shuō)明
圖1是本發(fā)明的流程圖。
圖2是實(shí)施例中按照本發(fā)明進(jìn)行處理后的調(diào)度結(jié)果圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
如圖1所示,本發(fā)明一種采用優(yōu)化的最近鄰算法的移動(dòng)節(jié)點(diǎn)調(diào)度方法,其包括以下步驟:
步驟0、輸入網(wǎng)絡(luò)系統(tǒng);
步驟1、利用分簇路由算法,將無(wú)線傳感器網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)分成簇頭和簇內(nèi)成員這兩類(lèi)節(jié)點(diǎn),所述簇頭收集同一簇中簇內(nèi)成員采集的現(xiàn)場(chǎng)信息,并對(duì)這些收集的信息進(jìn)行相應(yīng)的數(shù)據(jù)融合;
步驟2、移動(dòng)節(jié)點(diǎn)移動(dòng)到簇頭位置收集相應(yīng)的數(shù)據(jù)信息,每一輪簇頭節(jié)點(diǎn)位置也是移動(dòng)節(jié)點(diǎn)停留點(diǎn)位置,因而移動(dòng)節(jié)點(diǎn)移動(dòng)路徑必包含停留點(diǎn)位置、起始位置和結(jié)束位置;所述移動(dòng)節(jié)點(diǎn)的起始位置和結(jié)束位置相同,都位于基站位置;
步驟3、利用優(yōu)化的最近鄰算法,求得包含所有簇頭位置和移動(dòng)節(jié)點(diǎn)初始位置的最小權(quán)的hamilton回路,最終得到移動(dòng)節(jié)點(diǎn)的移動(dòng)路徑,移動(dòng)節(jié)點(diǎn)按此路徑移動(dòng),實(shí)現(xiàn)了移動(dòng)節(jié)點(diǎn)的調(diào)度,輸出此網(wǎng)絡(luò)系統(tǒng)調(diào)度的最短移動(dòng)路徑。
以下結(jié)合圖2來(lái)闡述本發(fā)明一個(gè)具體實(shí)施例。
(1)首先對(duì)網(wǎng)絡(luò)系統(tǒng)中的傳感器節(jié)點(diǎn)進(jìn)行簇的劃分。在簇的建立階段,每一輪簇頭的選舉過(guò)程如下:各傳感器節(jié)點(diǎn)首先產(chǎn)生一個(gè)隨機(jī)數(shù),隨機(jī)數(shù)的范圍為[0,1];然后用設(shè)定的閾值t與這些隨機(jī)數(shù)進(jìn)行比較,決定哪些節(jié)點(diǎn)成為簇頭。節(jié)點(diǎn)成為簇頭的條件為產(chǎn)生的隨機(jī)數(shù)小于閾值t(m),相應(yīng)的其他的傳感器節(jié)點(diǎn)成為簇內(nèi)成員。
(2)基于移動(dòng)節(jié)點(diǎn)的分簇路由算法。根據(jù)步驟(1),所有的傳感器節(jié)點(diǎn)被劃分為簇頭和簇內(nèi)成員這兩類(lèi)節(jié)點(diǎn),如圖2所示,圖中s0為移動(dòng)節(jié)點(diǎn)的初始位置和結(jié)束位置,s1~s10為簇頭節(jié)點(diǎn)位置。移動(dòng)節(jié)點(diǎn)從起始位置出發(fā),需通過(guò)并且僅通過(guò)一次這10個(gè)簇頭位置,當(dāng)通過(guò)簇頭位置時(shí)需收集其相應(yīng)的數(shù)據(jù)信息,最終又回到初始位置,也就是基站位置。很明顯,移動(dòng)節(jié)點(diǎn)的路由是一個(gè)典型的旅行商問(wèn)題(tsp),只能近似求解。
(3)利用優(yōu)化的最近鄰算法實(shí)現(xiàn)移動(dòng)節(jié)點(diǎn)的合理調(diào)度,其算法過(guò)程如下:
3.1、選取網(wǎng)絡(luò)系統(tǒng)基站位置s0作為起點(diǎn),找一條與s0關(guān)聯(lián)且權(quán)值最小的一條邊e1,顯然e1還和另外一個(gè)頂點(diǎn)相連,把此頂點(diǎn)記為s1,可得一條路s0s1;
3.2、假定已選出路s0s1lsi,從剩下的頂點(diǎn)
3.3、如果i+1<n-1,則令i←i+1返回步驟3.2;否則,記c=s0s1lsisi+1lsns0,其就為一個(gè)hamilton回路,即得問(wèn)題的近似解。
設(shè)c=s0s1lsisi+1lsns0是圖g利用最近鄰算法求得的一個(gè)hamilton回路。對(duì)回路c中所有滿足1<i+1<j<s的i,j,按照如下方法可獲得一條新的hamilton回路ck:
3.4、在回路c上檢查是否有i≠j,使得sisj∈e(g),si+1sj+1∈e(g)且w(sisj)+w(si+1sj+1)<w(sisi+1)+w(sjsj+1),則構(gòu)成新的hamilton回路ck=s1s2lsisjsj-1lsi+1sj+1lsns1;
3.5、用ck代替c,并轉(zhuǎn)到步驟3.4,直到步驟3.4中沒(méi)有滿足條件的回路為止。最終得到的c即為本次調(diào)度的移動(dòng)節(jié)點(diǎn)的移動(dòng)路徑,實(shí)現(xiàn)了移動(dòng)節(jié)點(diǎn)的合理調(diào)度,圖2中箭頭指明了移動(dòng)節(jié)點(diǎn)的移動(dòng)方向。
本發(fā)明首先對(duì)網(wǎng)絡(luò)系統(tǒng)進(jìn)行簇的劃分,因而網(wǎng)絡(luò)系統(tǒng)中的傳感器節(jié)點(diǎn)被分為簇頭和簇內(nèi)成員這兩類(lèi)節(jié)點(diǎn),簇頭節(jié)點(diǎn)的能耗是遠(yuǎn)大于簇內(nèi)成員節(jié)點(diǎn)的能耗;然后利用移動(dòng)節(jié)點(diǎn)移動(dòng)到簇頭位置,收集簇頭節(jié)點(diǎn)采集的數(shù)據(jù)信息,并最終通過(guò)移動(dòng)節(jié)點(diǎn)將這些數(shù)據(jù)信息傳遞給基站;最后利用優(yōu)化的最近鄰算法,得到移動(dòng)節(jié)點(diǎn)的移動(dòng)路徑,移動(dòng)節(jié)點(diǎn)按此路徑移動(dòng),最終實(shí)現(xiàn)了移動(dòng)節(jié)點(diǎn)的合理調(diào)度。本發(fā)明實(shí)現(xiàn)了對(duì)移動(dòng)節(jié)點(diǎn)的合理調(diào)度,大大減少了簇頭節(jié)點(diǎn)的能量消耗,最終延長(zhǎng)了網(wǎng)絡(luò)系統(tǒng)的生存期。
以上是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明作任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所做的任何簡(jiǎn)單修改、等同變化與修飾,均屬于發(fā)明技術(shù)方案的范圍內(nèi)。