本發(fā)明涉及一種基于蟻群優(yōu)化的傳感器網(wǎng)絡路由方法,屬于生物仿真和網(wǎng)絡通信領(lǐng)域。
背景技術(shù):
仿生優(yōu)化算法是模擬自然界中生物進化或者群體行為的隨機搜索算法的統(tǒng)稱,可以用來解決現(xiàn)實中的許多優(yōu)化問題,是人工智能研究領(lǐng)域中一個重要的分支。目前比較流行的仿生優(yōu)化算法包括遺傳算法、蟻群算法、微粒群算法、神經(jīng)網(wǎng)絡算法和人工免疫算法等。蟻群優(yōu)化算法具有并行分布式計算、正反饋、魯棒性等特點,被廣泛地應用在許多領(lǐng)域,諸如旅行商問題(travelingsalesmanproblem,tsp)、二次分配問題(quadraticassignmentproblem,qap)、工件排序問題、車輛調(diào)度問題、圖著色問題和網(wǎng)絡通信中的路由問題等。
蟻群優(yōu)化算法是一種群體搜索方法,通常用來解決特定的組合優(yōu)化問題,傳感器網(wǎng)絡的qos最優(yōu)路徑問題可以由包含有限個節(jié)點和有限邊的圖來表述。蟻群優(yōu)化算法的目標就是遍歷該圖來建立一條最優(yōu)路徑,在螞蟻遍歷圖的過程中,螞蟻利用信息素濃度和啟發(fā)式信息這些局部信息以一定的概率去選擇下一個節(jié)點。螞蟻通過揮發(fā)信息素,修改了路徑上的信息素濃度,使得螞蟻可以間接地交換路徑傾向性信息,從而實現(xiàn)相互協(xié)調(diào)合作的目的,最終每只螞蟻分別建立一個近似最優(yōu)解。蟻群算法的主要優(yōu)點有正反饋、分布式并行處理、魯棒性好、易與其他啟發(fā)式算法結(jié)合,主要缺點是搜索時間長、容易陷入局部最優(yōu)解。
技術(shù)實現(xiàn)要素:
鑒于上述現(xiàn)有技術(shù)的不足之處,本發(fā)明的目的在于提供一種基于蟻群優(yōu)化的傳感器網(wǎng)絡路由方法,包括以下步驟:
步驟一、初始化參數(shù),生成所需網(wǎng)絡拓撲結(jié)構(gòu);
步驟二、設置當前迭代次數(shù)l=l+1,設置每條鏈路信息素增量
步驟三、如果螞蟻m沒有完成搜索,由當前節(jié)點vi選擇下一跳節(jié)點vj,同時判斷從源節(jié)點s到vj所經(jīng)過的路徑是否符合所有約束條件,同時更新節(jié)點的剩余能量值;如果節(jié)點vj不存在,則螞蟻死亡,停止搜索;如果節(jié)點vj恰好為目的節(jié)點t,則完成搜索;否則將vj放入螞蟻m的禁忌表中,繼續(xù)搜索;
步驟四、重復執(zhí)行步驟三,直到所有放置在源節(jié)點的m只螞蟻全部完成搜索為止,記錄從源節(jié)點s到目的節(jié)點t的所有合格路徑;
步驟五、更新所有鏈路的信息素;
步驟六、如果l<l,則轉(zhuǎn)到步驟六,否則執(zhí)行步驟七;
步驟七、輸出結(jié)果,結(jié)束。
優(yōu)選的,上述步驟一具體為設網(wǎng)絡中共有n個節(jié)點,設置每條鏈路的度量值和每個節(jié)點的剩余能量值,確定約束條件的值。
優(yōu)選的,上述步驟一還包括刪除不滿足條件的鏈路,生成網(wǎng)絡拓撲結(jié)構(gòu)。設螞蟻數(shù)量為m,從源節(jié)點處開始搜索,最大迭代次數(shù)為l,源節(jié)點為s,目的節(jié)點為t。信息素濃度鄰接矩陣初始化為
相比現(xiàn)有技術(shù),本發(fā)明提供的基于蟻群優(yōu)化的傳感器網(wǎng)絡路由方法,將蟻群算法應用于zigbee路由,具有以下優(yōu)點:
1、zigbee傳感器節(jié)點能力有限。zigbee節(jié)點體積小,存儲能力、處理能力和能量都很有限,所以就要求路由算法要盡量簡單,來減少節(jié)點的能耗。蟻群算法中每個個體只是進行簡單的功能實現(xiàn),因此可以節(jié)省網(wǎng)絡資源,延長網(wǎng)絡壽命。
2、蟻群算法具有較高的魯棒性。其自組織、自適應和動態(tài)尋優(yōu)的特征使得該算法能對網(wǎng)絡拓撲的動態(tài)變化有很好的適應性。不會因為網(wǎng)絡中的某個節(jié)點移動、失效或者有新節(jié)點的加入,影響到整個網(wǎng)絡的尋路過程。
3、蟻群算法收斂快。蟻群算法的正反饋機制,使較優(yōu)路徑上積累更多的信息素,這樣就可以迅速區(qū)分解的優(yōu)劣,極大地加快了收斂速度,同時保障了zigbee網(wǎng)絡的實時性。
附圖說明
圖1為網(wǎng)絡模型示意圖;
圖2為本發(fā)明基于蟻群優(yōu)化的傳感器網(wǎng)絡路由方法流程示意圖。
具體實施方式
本發(fā)明提供一種基于蟻群優(yōu)化的傳感器網(wǎng)絡路由方法,為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
將zigbee無線多媒體傳感器網(wǎng)絡抽象為一個圖,g=g(v,e),其中,v是節(jié)點集合,vi∈v(i=1,2,…,n)表示圖g的一個頂點(節(jié)點);e是圖g的邊集。傳感器網(wǎng)絡模型中的每個頂點vi∈v(i=1,2,…,n)的剩余能量用
如圖2所示,本發(fā)明提供的基于蟻群優(yōu)化的傳感器網(wǎng)絡路由方法包括以下步驟:
1)、初始化參數(shù),生成所需網(wǎng)絡拓撲結(jié)構(gòu)。設網(wǎng)絡中共有n個節(jié)點,設置每條鏈路的度量值和每個節(jié)點的剩余能量值,確定約束條件的值。刪除不滿足條件的鏈路,生成網(wǎng)絡拓撲結(jié)構(gòu)。設螞蟻數(shù)量為m,從源節(jié)點處開始搜索,最大迭代次數(shù)為l,源節(jié)點為s,目的節(jié)點為t。信息素濃度鄰接矩陣初始化為
2)、設置當前迭代次數(shù)l=l+1,設置每條鏈路信息素增量
3)、如果螞蟻m沒有完成搜索,由當前節(jié)點vi選擇下一跳節(jié)點vj,同時判斷從源節(jié)點s到vj所經(jīng)過的路徑是否符合所有約束條件,同時更新節(jié)點的剩余能量值;如果節(jié)點vj不存在,則螞蟻死亡,停止搜索;如果節(jié)點vj恰好
為目的節(jié)點t,則完成搜索;否則將vj放入螞蟻m的禁忌表中,繼續(xù)搜索。
4)、重復執(zhí)行3),直到所有放置在源節(jié)點的m只螞蟻全部完成搜索為止,記錄從源節(jié)點s到目的節(jié)點t的所有合格路徑。
5)、更新所有鏈路的信息素。
6)、如果l<l,則轉(zhuǎn)到2),否則執(zhí)行7)。
7)、輸出結(jié)果,結(jié)束。
相比現(xiàn)有技術(shù),本發(fā)明提供的基于蟻群優(yōu)化的傳感器網(wǎng)絡路由方法,大幅度節(jié)省了網(wǎng)絡的整體能耗,通過目標函數(shù)對能量的均衡,實現(xiàn)了網(wǎng)絡壽命的最大化。在保持低時延、低時延抖動的同時,能夠降低網(wǎng)絡總體能耗,提高網(wǎng)絡節(jié)點能量均衡性,延長zigbee網(wǎng)絡壽命。
可以理解的是,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,而所有這些改變或替換都應屬于本發(fā)明所附的權(quán)利要求的保護范圍。