專利名稱:基于蟻群算法的無線自組網(wǎng)絡(luò)節(jié)能按需路由方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種信息技術(shù)領(lǐng)域的方法,涉及一種基于蟻群算法的無線自組(Ad Hoc)網(wǎng)絡(luò)節(jié)能按需路由方法。
背景技術(shù):
Ad Hoc網(wǎng)絡(luò)是一種沒有基礎(chǔ)設(shè)施、多跳、無線自組織網(wǎng)絡(luò)。分布式的網(wǎng)絡(luò)結(jié)構(gòu)使得網(wǎng)絡(luò)非常靈活,特別適合于臨時信息共享的網(wǎng)絡(luò)應(yīng)用,如會議、軍事行動和災(zāi)難救助等。Ad Hoc網(wǎng)絡(luò)的多跳路由、隨機移動等特點使得其路由發(fā)現(xiàn)和維護過程非常復(fù)雜。而且設(shè)備終端通常都是采用電池供電,網(wǎng)絡(luò)的壽命很大程度上都取決于電池的能量消耗,因此節(jié)能策略成為Ad Hoc網(wǎng)絡(luò)研究的熱點,如何有效地管理節(jié)點的能量消耗,延長整個網(wǎng)絡(luò)的工作壽命是無線通信領(lǐng)域最具挑戰(zhàn)性的課題之一。
目前在Ad Hoc網(wǎng)絡(luò)領(lǐng)域已經(jīng)提出了很多節(jié)能策略,涵蓋了無線網(wǎng)絡(luò)的各個功能層。如IEEE 802.11標準提出一種MAC層的節(jié)能策路,節(jié)點處于空閑時,通過將節(jié)點設(shè)置成睡眠狀態(tài)而達到節(jié)能目的。類似的MAC層節(jié)能策略還有EC-MAC、PAMAS等。在網(wǎng)絡(luò)層,也有很多以節(jié)能為目的的方法,如MTPR,MBCR,MMBCR等。近年來,已有人將蟻群算法應(yīng)用到移動Ad Hoc網(wǎng)絡(luò)的路由中來,利用蟻群算法的分布式、自適應(yīng)、正反饋和負反饋的特點,來自動配置、自適應(yīng)網(wǎng)絡(luò)的動態(tài)變化,根據(jù)網(wǎng)絡(luò)的狀態(tài)及時調(diào)整路由,以實現(xiàn)多個QoS的優(yōu)化,例如AntHocNet、EARA、ANSI、ARAMA。這些方法中,螞蟻在進行路由發(fā)現(xiàn)過程中需要記錄所有訪問過的節(jié)點信息,螞蟻分組結(jié)構(gòu)復(fù)雜,甚至還需要專門的控制分組來增強網(wǎng)絡(luò)路徑,因此在網(wǎng)絡(luò)節(jié)點數(shù)量較多時,會增加網(wǎng)絡(luò)的開銷,甚至造成擁塞。目前基于蟻群算法的路由協(xié)議中很少從節(jié)能角度來考慮路由建立過程。
經(jīng)對現(xiàn)有技術(shù)的文獻檢索發(fā)現(xiàn),O.Hussein等在《IEEE conferenceProceedings onPerformance,Computing,and Communications》(IEEE會刊性能、計算和通信)(2003年4月)上發(fā)表的“Ant routing algorithm formobile ad-hoc networks(ARAMA)”(“用于移動Ad hoc網(wǎng)絡(luò)的螞蟻路由算法(ARAMA)”),該文中提出的ARAMA算法采用路由跳數(shù)和節(jié)點能量消耗作為網(wǎng)絡(luò)QoS指標,算法中前向螞蟻分組進行路由搜索時隨機選擇一個鄰居節(jié)點進行轉(zhuǎn)發(fā),該分組在轉(zhuǎn)發(fā)過程中需要按訪問順序記錄所經(jīng)過的節(jié)點地址作為路由路徑,當目標節(jié)點收到前向螞蟻分組時,對該分組記錄的路徑進行評估,然后沿著該路徑向源節(jié)點發(fā)送反向螞蟻分組,同時增強路徑上各節(jié)點相應(yīng)的信息素表。其不足在于該方法所發(fā)出的前向螞蟻分組的數(shù)量與網(wǎng)絡(luò)的動態(tài)特性有關(guān),當網(wǎng)絡(luò)變化頻繁時需要增加前向螞蟻分組數(shù)量,這必然會增加網(wǎng)絡(luò)開銷,甚至造成網(wǎng)絡(luò)擁塞;此外,螞蟻需要記錄所有訪問過的節(jié)點信息,使得螞蟻分組的結(jié)構(gòu)復(fù)雜,特別當網(wǎng)絡(luò)節(jié)點較多、密度較大時,螞蟻分組的傳輸會占用較多的網(wǎng)絡(luò)帶寬,這些不足該文中都沒有予以解決。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)的不足,提出一種基于蟻群算法的無線自組網(wǎng)絡(luò)節(jié)能按需路由方法,使其在相同的網(wǎng)絡(luò)初始狀態(tài)和網(wǎng)絡(luò)負載條件下,網(wǎng)絡(luò)壽命(在本發(fā)明中定義為從開始數(shù)據(jù)傳輸?shù)降谝粋€網(wǎng)絡(luò)節(jié)點能量衰竭所經(jīng)歷的時間)相對于常規(guī)的距離矢量按需路由(AODV)方法可以延長15%以上,特別是在網(wǎng)絡(luò)負載較大時,網(wǎng)絡(luò)壽命的延長效果更為明顯。
本發(fā)明是通過以下技術(shù)方案實現(xiàn)的,本發(fā)明實現(xiàn)分為路由建立和路由維護兩部分。
所述的路由建立,具體為通過源節(jié)點向網(wǎng)絡(luò)廣播路由請求螞蟻,分布式地搜索網(wǎng)絡(luò)狀態(tài)信息,將這些信息進行規(guī)范化處理以后保存在一種與源節(jié)點和鄰居節(jié)點相對應(yīng)的反向信息素表中。目標節(jié)點收到請求螞蟻以后,根據(jù)請求螞蟻收集到的節(jié)點能量、跳數(shù)和傳輸能耗等信息,采用輪盤賭法選擇一個節(jié)點作為下一跳節(jié)點,單播出路由應(yīng)答螞蟻,并依此方法逐跳返回到源節(jié)點,同時在返回的過程中建立從源節(jié)點到目標節(jié)點的路由。
所述路由維護,具體為節(jié)點周期性的檢查自身的剩余能量與路由表中相應(yīng)路由條目的路由能量的比值和該路由條目的生命期,當節(jié)點剩余能量和路由能量的比值小于某一個閾值或者生命期結(jié)束時,則將該路由條目設(shè)置成無效狀態(tài),這樣在下一次需要使用該路由條目時,就需要觸發(fā)新的路由發(fā)現(xiàn)過程。
本發(fā)明是基于AODV路由協(xié)議的改進,因此本發(fā)明的路由維護主要采用AODV的方法來進行,如采用對節(jié)點序列號的管理來避免路由回路等。但是由于本發(fā)明是一種考慮網(wǎng)絡(luò)節(jié)點能量消耗的方法,為了延長網(wǎng)絡(luò)的使用壽命,避免出現(xiàn)個別節(jié)點由于過度使用而能量衰竭,從而過早的死亡,對整個網(wǎng)絡(luò)的壽命產(chǎn)生影響。采用本發(fā)明上述的路由維護方法,在新的路由發(fā)現(xiàn)過程中就可以根據(jù)當前的網(wǎng)絡(luò)狀態(tài),選擇具有更多能量的節(jié)點參與路由轉(zhuǎn)發(fā),從而避免了節(jié)點的過度使用,均衡了整個網(wǎng)絡(luò)的負載分配,可以有效地延長網(wǎng)絡(luò)的壽命。
所述的路由建立過程,包括以下步驟步驟一源節(jié)點s有數(shù)據(jù)發(fā)送請求時,首先判斷是否存在到達目標節(jié)點d的有效路由,如果存在則用此路由發(fā)送數(shù)據(jù)包;否則,廣播請求螞蟻分組進行路由搜索,該請求螞蟻分組主要包含參數(shù)跳數(shù)、節(jié)點能量、路徑能耗、目標節(jié)點地址、源節(jié)點地址。
步驟二中間節(jié)點j收到來自節(jié)點i的請求螞蟻,首先判斷自己是不是該請求螞蟻的源節(jié)點,如果是則丟棄該請求螞蟻分組,否則,按照下式對該請求螞蟻分組進行評估,得出其規(guī)范化的評估值Msji。
Msji=exp(γ1Rje+γ2Rjh+γ3Rjc)]]>其中Msji表示源節(jié)點s發(fā)出的請求螞蟻經(jīng)過節(jié)點i到達節(jié)點j這條路徑的性能評估;Rje=eiE0,]]>表示請求螞蟻攜帶的前一節(jié)點的相對剩余能量;Rjh=1-hjHmax,]]>表示規(guī)范化的請求螞蟻所經(jīng)過的跳數(shù);Rjc=1-cjCmax,]]>表示規(guī)范化的分組在該路徑上傳遞所消耗的能量;γ1、γ2和γ3為各QoS指標的權(quán)重系數(shù)。
然后判斷中間節(jié)點j的反向信息素表中有沒有對應(yīng)于源節(jié)點s、鄰居節(jié)點i的信息素條目,如果沒有,則建立對應(yīng)于(s,i)的信息素條目并將該條目的信息素值初始化為0。比較Msji與(s,i)對應(yīng)的信息素條目的信息素值,如果Msji更大些,則用節(jié)點j的剩余能量代替該請求螞蟻分組的剩余能量,用重新計算的能量消耗代替該請求螞蟻分組的路徑能耗,跳數(shù)加一,然后轉(zhuǎn)發(fā)該請求螞蟻分組。如果Msji較小,則丟棄該請求螞蟻分組。最后更新信息素表,如下式所示τsji(t)=MsjiMsji>τsji(t-1)(1-ρ)τsji(t-1)otherwise]]>其中τsji(t)表示t時刻節(jié)點j收到從節(jié)點i轉(zhuǎn)發(fā)的來自源節(jié)點s的這條路徑的信息素值;ρ表示信息素揮發(fā)系數(shù)。
上式表明,當前路徑的性能評估值高于節(jié)點以前發(fā)現(xiàn)的路徑對應(yīng)的信息素時,對其對應(yīng)的信息素值進行更新,否則對其信息素進行揮發(fā)處理。
節(jié)點中保存的反向信息素表是一種反映請求螞蟻所搜集的當前網(wǎng)絡(luò)狀態(tài)信息的二維表格。反向信息素表的橫軸對應(yīng)于節(jié)點j所收到的各請求螞蟻對應(yīng)的源節(jié)點,縱軸表示節(jié)點j的鄰居節(jié)點,每個源節(jié)點和鄰居節(jié)點對應(yīng)一個信息素值τsji,表示節(jié)點j收到從節(jié)點i轉(zhuǎn)發(fā)的來自源節(jié)點s的這條路徑的性能評價值。
步驟三目標節(jié)點d收到該請求螞蟻分組時,首先對此分組進行評估,并更新對應(yīng)的反向信息素表。然后根據(jù)反向信息素表中對應(yīng)于源節(jié)點s和鄰居節(jié)點的信息素值計算各鄰居節(jié)點的選擇概率psdi,計算公式如下psdi=τsdiΣk∈{1,2,Λ,Nd}τsdk]]>其中psdi表示在目標節(jié)點d選擇節(jié)點i作為下一跳節(jié)點返回到源節(jié)點s的概率;τsdi為源節(jié)點s和鄰居節(jié)點i所對應(yīng)的信息素的量,{1,2,Λ,Nb}表示節(jié)點d的所有鄰居集合。
根據(jù)節(jié)點的選擇概率采用輪盤賭法選擇返回s的下一跳節(jié)點,然后對信息素表進行更新,并向該選擇的節(jié)點單播應(yīng)答螞蟻分組。
步驟四中間節(jié)點j接收到應(yīng)答螞蟻分組以后,首先更新對應(yīng)于目標節(jié)點d的路由條目,將下一跳節(jié)點設(shè)置成該應(yīng)答螞蟻分組的發(fā)送者,并且將該路由條目的路由能量設(shè)置成該節(jié)點的剩余能量,用當前時間更新該路由條目的生命期。然后同步驟三的方法計算各鄰居節(jié)點的選擇概率psji,并選擇一個返回s的下一跳節(jié)點,對信息素表進行更新以后向所選擇的節(jié)點單播應(yīng)答螞蟻分組。
步驟五源節(jié)點s收到返回的應(yīng)答螞蟻分組以后,更新對應(yīng)于目標節(jié)點d的路由表條目,丟棄該應(yīng)答螞蟻分組,路由建立過程結(jié)束。源節(jié)點s就可以按照所建立的路由向目標節(jié)點d發(fā)送數(shù)據(jù)包。
綜上所述,本發(fā)明相對其他同類協(xié)議,具有以下的優(yōu)點l、簡化了基于蟻群算法的路由協(xié)議結(jié)構(gòu)。本發(fā)明設(shè)計了一種反向信息素表結(jié)構(gòu),并重新設(shè)計螞蟻分組的結(jié)構(gòu),使得螞蟻分組在進行路由發(fā)現(xiàn)的過程中,只需要攜帶少量的節(jié)點狀態(tài)信息,就可以優(yōu)化路由的QoS,提高網(wǎng)絡(luò)的壽命。而其他的同類協(xié)議如AntHocNet、EARA、ANSI、ARAMA通常都需要螞蟻攜帶所訪問節(jié)點的列表,螞蟻分組結(jié)構(gòu)復(fù)雜,不易實現(xiàn),而且在網(wǎng)絡(luò)中傳遞時需要占用大量內(nèi)存和網(wǎng)絡(luò)帶寬,當網(wǎng)絡(luò)節(jié)點較多時甚至?xí)鹁W(wǎng)絡(luò)擁塞。
2、在路由選擇過程中將節(jié)點剩余能量、路徑能耗和跳數(shù)作為QoS指標。通過對這三個QoS指標的規(guī)范化處理,使得具有較大節(jié)點剩余能量、較小能耗和跳數(shù)的路徑具有更多的機會參與路由,從而避免節(jié)點過度使用或者節(jié)點過早死亡。并且采用概率選擇機制,可以均衡節(jié)點的負載分配,有助于延長網(wǎng)絡(luò)的工作壽命。
3、在路由維護中結(jié)合節(jié)點的剩余能量采用主動的方式觸發(fā)路由請求過程。本發(fā)明中每個路由條目都增加路由能量信息,記錄在建立該條路由時節(jié)點的剩余能量。這樣當路由路徑上的節(jié)點能量降到路由能量的某一百分比時,則將該路由條目設(shè)置成無效狀態(tài),從而觸發(fā)新的路由發(fā)現(xiàn)過程,避免了節(jié)點被過度使用,延長整個網(wǎng)絡(luò)的壽命。
綜上所述,采用本發(fā)明的路由方法可以使網(wǎng)絡(luò)壽命相對于采用AODV作為路由時延長至少15%,特別是在網(wǎng)絡(luò)負載較大時,網(wǎng)絡(luò)壽命的延長效果更為明顯。
圖1為本發(fā)明中的路由建立過程流程圖具體實施方式
下面結(jié)合附圖對本發(fā)明的實施例作詳細說明本實施例在以本發(fā)明技術(shù)方案為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施例。
本實施例在網(wǎng)絡(luò)仿真軟件NS-2(版本2.30)中進行,該軟件是一種免費的網(wǎng)絡(luò)性能測試軟件,可以直接從網(wǎng)上下載。
本實施例中路由建立過程實施如下1.源節(jié)點s有數(shù)據(jù)發(fā)送請求時,首先判斷是否存在到達目標節(jié)點d的有效路由,如果存在則用此路由發(fā)送數(shù)據(jù)包;否則,調(diào)用發(fā)送請求(sendRequest)過程發(fā)送請求螞蟻分組進行路由搜索,并將發(fā)送方式設(shè)置成廣播,該請求螞蟻分組初始化為Packet Type=Request_Ant,Hop Count=0,Remain Energy=節(jié)點剩余能量,Energy Cost=0,Destination Address=d,Source Address=s。
2.節(jié)點對請求螞蟻分組的處理都在接收請求(recvRequest)過程中實現(xiàn),節(jié)點收到來自節(jié)點i的請求螞蟻以后,首先判斷自己是不是該請求螞蟻的源節(jié)點,如果是則丟棄該請求螞蟻分組,否則,按照發(fā)明內(nèi)容中步驟二中的計算方法對該路徑進行性能評估、更新反向信息素表。判斷自己是不是目標節(jié)點,如果不是,則繼續(xù)調(diào)用轉(zhuǎn)發(fā)(Forward)過程轉(zhuǎn)發(fā)該請求螞蟻。
3.如果自己就是目標節(jié)點,則根據(jù)反向信息素表中對應(yīng)于源節(jié)點s和鄰居節(jié)點的信息素值計算各鄰居節(jié)點的選擇概率psdi,然后采用輪盤賭法選擇返回s的下一跳節(jié)點,然后對信息素表進行更新,并調(diào)用發(fā)送響應(yīng)(sendReply)過程向該選擇的節(jié)點單播應(yīng)答螞蟻分組。
4.節(jié)點對應(yīng)答螞蟻分組的處理在接收響應(yīng)(recvReply)過程中實現(xiàn),首先更新對應(yīng)于目標節(jié)點d的路由條目,將下一跳節(jié)點設(shè)置成該應(yīng)答螞蟻分組的發(fā)送者,并且將該路由條目的路由能量設(shè)置成該節(jié)點的剩余能量,用當前時間更新該路由條目的生命期。然后判斷自己是否該應(yīng)答螞蟻所請求的源節(jié)點,如果不是,則根據(jù)反向信息素表中對應(yīng)于源節(jié)點s和鄰居節(jié)點的信息素值計算各鄰居節(jié)點的選擇概率psji,然后采用輪盤賭法選擇返回s的下一跳節(jié)點,然后對信息素表進行更新,并向該選擇的節(jié)點單播應(yīng)答螞蟻分組。
5.如果自己就是源節(jié)點,則丟棄該應(yīng)答螞蟻分組,路由建立過程結(jié)束。
本實施例中路由維護過程可以在網(wǎng)絡(luò)仿真軟件NS-2(版本2.30)的定時器處理函數(shù)中實現(xiàn),通過檢查路由條目的生命期是否到期,或者節(jié)點當前剩余能量和路由能量的比值是否低于閾值(實驗中設(shè)置為60%),如果以上條件有一個滿足,則將該路由條目設(shè)置成無效(Invalid)狀態(tài),下一次需要用到該路由條目時則會強制重新進行路由發(fā)現(xiàn)過程。
本實施例通過在網(wǎng)絡(luò)仿真軟件NS-2(版本2.30)中進行仿真,在仿真試驗中,選用25個節(jié)點均勻分布在500米×500米的區(qū)域,節(jié)點最大傳輸距離為150米,并且采用512bytes的恒定數(shù)據(jù)流(CBR)作為測試數(shù)據(jù)源,當網(wǎng)絡(luò)節(jié)點初始能量都相同時,采用本發(fā)明的路由方法可以使網(wǎng)絡(luò)壽命相對于采用AODV作為路由時延長至少15%,特別是在網(wǎng)絡(luò)負載較大時(20個CBR分組/秒),網(wǎng)絡(luò)壽命可以延長5倍。
權(quán)利要求
1.一種基于蟻群算法的無線自組網(wǎng)絡(luò)節(jié)能按需路由方法,其特征在于,包括路由建立和路由維護兩部分,其中所述的路由建立,具體為通過源節(jié)點向網(wǎng)絡(luò)廣播路由請求螞蟻,分布式地搜索網(wǎng)絡(luò)狀態(tài)信息,將這些信息進行規(guī)范化處理以后保存在一種與源節(jié)點和鄰居節(jié)點相對應(yīng)的反向信息素表中,目標節(jié)點收到請求螞蟻以后,根據(jù)請求螞蟻收集到的節(jié)點能量、跳數(shù)和傳輸能耗等信息,采用輪盤賭法選擇一個節(jié)點作為下一跳節(jié)點,單播出路由應(yīng)答螞蟻,并依此方法逐跳返回到源節(jié)點,同時在返回的過程中建立從源節(jié)點到目標節(jié)點的路由;所述路由維護,具體為節(jié)點周期性的檢查自身的剩余能量與路由表中相應(yīng)路由條目的路由能量的比值和該路由條目的生命期,當節(jié)點剩余能量和路由能量的比值小于某一個閾值或者生命期結(jié)束時,則將該路由條目設(shè)置成無效狀態(tài),這樣在下一次需要使用該路由條目時,就需要觸發(fā)新的路由發(fā)現(xiàn)過程。
2.如權(quán)利要求1所述的基于蟻群算法的無線自組網(wǎng)絡(luò)節(jié)能按需路由方法,其特征是,所述路由建立,包括以下步驟步驟一源節(jié)點s有數(shù)據(jù)發(fā)送請求時,首先判斷是否存在到達目標節(jié)點d的有效路由,如果存在則用此路由發(fā)送數(shù)據(jù)包,否則,廣播路由請求螞蟻分組進行路由搜索;步驟二中間節(jié)點j收到來自節(jié)點i的請求螞蟻,首先判斷自己是不是該請求螞蟻的源節(jié)點,如果是則丟棄該請求螞蟻分組,否則,對該請求螞蟻分組進行評估,得出其規(guī)范化的評估值Msji,然后判斷中間節(jié)點j的反向信息素表中有沒有對應(yīng)于源節(jié)點s、鄰居節(jié)點i的信息素條目,如果沒有,則建立對應(yīng)于(s,i)的信息素條目并將該條目的信息素值初始化為0,比較Msji與(s,i)對應(yīng)的信息素條目的信息素值,如果Msji更大些,則用節(jié)點j的剩余能量代替該請求螞蟻分組的剩余能量,用重新計算的能量消耗代替該請求螞蟻分組的路徑能耗,跳數(shù)加一,然后轉(zhuǎn)發(fā)該請求螞蟻分組,如果Msji較小,則丟棄該請求螞蟻分組,最后更新反向信息素表;步驟三目標節(jié)點d收到該請求螞蟻分組時,首先對此分組進行評估,并更新對應(yīng)的信息素表,然后根據(jù)反向信息素表中對應(yīng)于源節(jié)點s和鄰居節(jié)點的信息素值計算各鄰居節(jié)點的選擇概率psdi,表示在目標節(jié)點d選擇節(jié)點i作為下一跳節(jié)點返回到源節(jié)點s的概率,根據(jù)節(jié)點的選擇概率選擇返回s的下一跳節(jié)點以后,對信息素表進行更新,并向該節(jié)點單播路由應(yīng)答螞蟻分組;步驟四中間節(jié)點j接收到應(yīng)答螞蟻分組以后,首先更新對應(yīng)于目標節(jié)點d的路由條目,將下一跳節(jié)點設(shè)置成該應(yīng)答螞蟻分組的發(fā)送者,并且將該路由條目的路由能量設(shè)置成該節(jié)點的剩余能量,并更新該路由條目的生命期,然后計算各鄰居節(jié)點的選擇概率psji,并選擇一個返回s的下一跳節(jié)點,對信息素表進行更新以后向所選擇的節(jié)點單播應(yīng)答螞蟻分組;步驟五源節(jié)點s收到返回的應(yīng)答螞蟻分組以后,更新對應(yīng)于目標節(jié)點d的路由表條目,丟棄該應(yīng)答螞蟻分組,路由建立過程結(jié)束,源節(jié)點s就按照所建立的路由向目標節(jié)點d發(fā)送數(shù)據(jù)包;所述路由維護中,節(jié)點周期性的檢查自身的剩余能量與路由表中相應(yīng)路由條目的路由能量的比值和該路由條目的生命期,當節(jié)點剩余能量和路由能量的比值小于某一個閾值或者生命期結(jié)束時,則將該路由條目設(shè)置成無效狀態(tài),這樣在下一次需要使用該路由條目時,就需要觸發(fā)新的路由發(fā)現(xiàn)過程。
3.如權(quán)利要求2所述的基于蟻群算法的無線自組網(wǎng)絡(luò)節(jié)能按需路由方法,其特征是,步驟二中,所述的對該請求螞蟻分組進行評估,得出其規(guī)范化的評估值Msji,采用以下公式進行Msji=exp(γ1Rje+γ2Rjh+γ3Rjc)]]>其中Msji表示源節(jié)點s發(fā)出的請求螞蟻經(jīng)過節(jié)點i到達節(jié)點j這條路徑的性能評估;Rje=eiE0,]]>表示請求螞蟻攜帶的前一節(jié)點的相對剩余能量;Rjh=1-hjHmax,]]>表示規(guī)范化的請求螞蟻所經(jīng)過的跳數(shù);Rjc=1-cjCmax,]]>表示規(guī)范化的分組在該路徑上傳遞所消耗的能量;γ1、γ2和γ3為各QoS指標的權(quán)重系數(shù)。
4.如權(quán)利要求2所述的基于蟻群算法的無線自組網(wǎng)絡(luò)節(jié)能按需路由方法,步驟二中,所述節(jié)點的反向信息素表中,橫軸對應(yīng)于節(jié)點j所收到的各請求螞蟻對應(yīng)的源節(jié)點,縱軸表示節(jié)點j的鄰居節(jié)點,每個源節(jié)點和鄰居節(jié)點對應(yīng)一個信息素值τsji,表示節(jié)點j收到從節(jié)點i轉(zhuǎn)發(fā)的來自源節(jié)點s的這條路徑的性能評價值,信息素表反映了請求螞蟻所搜集的當前網(wǎng)絡(luò)狀態(tài)信息。
5.如權(quán)利要求2所述的基于蟻群算法的無線自組網(wǎng)絡(luò)節(jié)能按需路由方法,其特征是,步驟二中,所述更新反向信息素表,采用如下公式τsji(t)=MsjiMsji>τsji(t-1)(1-ρ)τsji(t-1)otherwise]]>其中τsji(t)表示t時刻節(jié)點j收到從節(jié)點i轉(zhuǎn)發(fā)的來自源節(jié)點s的這條路徑的信息素值,ρ表示信息素揮發(fā)系數(shù),上式表明,當前路徑的性能評估值高于節(jié)點以前發(fā)現(xiàn)的路徑對應(yīng)的信息素時,對其對應(yīng)的信息素值進行更新,否則對其信息素進行揮發(fā)處理。
6.如權(quán)利要求2所述的基于蟻群算法的無線自組網(wǎng)絡(luò)節(jié)能按需路由方法,其特征是,步驟三,所述根據(jù)反向信息素表中對應(yīng)于源節(jié)點s和鄰居節(jié)點的信息素值計算各鄰居節(jié)點的選擇概率psdi,計算公式如下psdi=τsdiΣk∈{1,2,Λ,Nd}τsdk]]>其中psdi表示在目標節(jié)點d選擇節(jié)點i作為下一跳節(jié)點返回到源節(jié)點s的概率;τsdi為源節(jié)點s和鄰居節(jié)點i所對應(yīng)的信息素的量,{1,2,Λ,Nd}表示節(jié)點d的所有鄰居集合。
全文摘要
本發(fā)明涉及一種信息技術(shù)領(lǐng)域的基于蟻群算法的無線自組網(wǎng)絡(luò)節(jié)能按需路由方法,包括路由建立和路由維護兩部分。其中路由建立步驟為1)源節(jié)點廣播請求螞蟻搜索網(wǎng)絡(luò)的狀態(tài)信息,并經(jīng)過規(guī)范化處理后保存在各節(jié)點的反向信息素表中;2)目標節(jié)點收到請求螞蟻以后,立即產(chǎn)生應(yīng)答螞蟻,并采用概率選擇的方法選擇一個鄰居節(jié)點作為下一跳返回源節(jié)點;3)在應(yīng)答螞蟻返回源節(jié)點的過程中建立從源節(jié)點到目標節(jié)點的路由。路由維護主要是將能量參數(shù)引入路由維護中,當路由路徑上的節(jié)點能量消耗過多時,就強制進行新的路由發(fā)現(xiàn)過程,避免節(jié)點過早死亡。
文檔編號H04L12/56GK101083616SQ200710043430
公開日2007年12月5日 申請日期2007年7月5日 優(yōu)先權(quán)日2007年7月5日
發(fā)明者陳佳品, 雙兵, 李振波 申請人:上海交通大學(xué)