基于混沌搜索和人工免疫算法的路由優化方法
【技術領域】
[0001] 本發明屬于通信網絡技術領域,尤其設及一種基于混濁捜索和人工免疫算法的路 由優化方法。
【背景技術】
[0002] 隨著網絡功能的不斷增加,單約束條件下的路由優化已不能滿足用戶對網絡服務 質量的要求。多約束路由優化問題屬于NP完全問題,無法在多項式時間內準確求解,因此 許多研究人員采用智能進化算法來解決多約束路由優化問題。Mehdi化atee利用混合遺傳 算法來解決多商品流路由問題,提高了通道利用率并減小了時延和阻塞率;劉欣、李飛等人 利用量子遺傳算法來解決選播QoS路由問題,使網絡資源利用的更加合理并降低了網絡擁 塞概率;方仕勇、鄒恩等人利用混濁遺傳算法來求解多約束QoS路由問題,改善了經典遺傳 算法的收斂性能;Zhu Li, Li Zhishu等人利用免疫遺傳算法來求解Mesh網絡中的QoS約 束路由問題,實現了網絡負載均衡并提高傳統遺傳算法的全局尋優效率。
[0003] 智能進化算法求解多約束路由的問題之一就是可行解的生成問題。實際網絡的可 行解集即路徑集是非完備集,傳統采用定長二進制或十進制編碼方式隨機生成的路徑大多 數是非可行解,必須重復執行生成過程,直到獲得一定數量的可行解,運樣會嚴重影響優化 算法的效率,因此部分研究人員只能W完全圖為基礎開展路由算法的研究。有一些研究人 員提出了利用禁忌捜索方法和混濁捜索方法來生成路徑,雖然兩種方法都能生成可行解, 但必須在路徑生成之后檢查是否存在環路,若存在,還必須執行去環路的算法,一定程度上 也降低了可行路徑解的生成效率。
[0004] 智能進化算法求解多約束路由的另一個問題是單次運行結果的不確定性問題。智 能進化算法為了保證種群的多樣性,都存在交叉或變異操作,傳統的交叉或變異操作都是 基于隨機概率的,運就會導致進化過程的隨機性,進而使單次算法執行的結果存在不確定 性,可能最優,也可能次優,甚至較差。雖然許多研究人員采用多次算法執行結果的平均值 來說明算法的優越性,但運種不確定性在某些實際應用中是不允許的。
【發明內容】
[0005] 本發明的目的在于,提供一種基于混濁捜索和人工免疫算法的路由優化方法,用 于解決現有技術中可行路徑解生成效率低,單次優化結果不確定等缺陷。
[0006] 為了實現上述目的,本發明的技術方案是,基于混濁捜索和人工免疫算法的路由 優化方法,其特征是該方法包括:
[0007] 步驟1 :利用基于混濁捜索和動態鄰接矩陣的路徑生成算法產生N條路徑作為人 工免疫算法的初始抗體種群,N為設定值;
[0008] 步驟2 :對抗體種群進行親和度計算,并按照親和度大小進行降序排列,如果當前 進化代數已經達到最大值,則選擇親和度最大的抗體作為路由優化的結構進行輸出,否則, 進入步驟3 ;
[0009] 步驟3 :在排列后的抗體種群中選擇前M個抗體組成記憶種群,M為設定值,且滿足 KN ;
[0010] 步驟4:對記憶種群中的抗體進行克隆操作,生成含有C個抗體的克隆種群,C為設 定值,且滿足C+M<N;
[0011] 步驟5 :對克隆種群中的抗體進行動態疫苗接種并進行變異操作;
[0012] 步驟6 :對抗體種群中第M+1個抗體至第N-C個抗體進行自由變異操作,生成含有 N-C-M個抗體的變異種群;
[001引步驟7 :將記憶種群、克隆種群和變異種群組成新一代抗體種群,返回步驟2。
[0014] 所述步驟1中,基于混濁捜索和動態鄰接矩陣的路徑生成算法的具體步驟為:
[0015] 步驟1.1 :設網絡G= (V,E),是簡單、連通、無向圖,V是網絡的節點集合,E是網 絡的鏈路集合,網絡的初始鄰接矩陣A°為:
[0016]
L iink(\\,v.) G E
[0017] 其中谷巧二。 ,'J ,n是網絡的節點數量。設當前鄰接矩陣 留. 0, (n'hers 為A,所要生成的路徑的源節點為S,目的節點為d,路徑經過的節點集合為P (S,d),其初始 狀態為P(s,d) = {s},路徑捜索過程中的當前節點為Vi,其上游節點為Vy,下游節點為V,, 令A = A°,Vi= S,A二I 二表示節點Vk在當前鄰接矩陣中的鄰居節點集;
[001引步驟1. 2 :令A =巧-,k = 1,2,. . .,n,即將A中第i列元素全部置0,得 到新的鄰接矩陣A',令A = A';
[001引步驟1. 3 :若A中片二<^,即第i行元素全部為0,轉步驟1. 5,否則,轉步驟1. 4 ;
[0020] 步驟1. 4 :利用混濁捜索確定Vi的下游節點V ,,將節點V加入路徑節點集P (S, d) 中,令i = Z,若Vi= d,尋路成功,算法結束,否則,轉步驟1. 2 ;
[0021] 步驟1. 5 :若Vi= S,尋路失敗,算法結束,否則,在P (S,d)中刪除節點V 1,并令i =X,轉步驟1. 3。
[0022] 所述步驟1. 4中的混濁捜索的具體方法為:利用混濁方程產生的一個區間(0, 1) 上的偽隨機數S,捜索結果的計算公式是:
[0023] m = ceil (5 ^h), (1)
[0024] 其中,函數ceil (.)表示向上取整,h是與捜索對象有關的參數,在步驟1.4中,h 的值為A中Vi的鄰居節點個數,A中V 1的第m個鄰居節點即為V 1的下游節點V Z。
[0025] 所述步驟5中,對抗體進行動態疫苗接種并進行變異操作的具體方法為:
[002引步驟5. 1 :設抗體P (Vi, vj = {vi, V2, V3, . . .,Vu, vj,其中L為抗體中節點的個數 即抗體的長度,令h =以利用公式(I)計算m的值;
[0027] 步驟5. 2 :抗體中參與變異的基因位數為1,接種疫苗的位數為kl,l為設定值,且 KL抗體中作為疫苗被保留的基因段為{vi,V2, . . .,Vy} U {vy+w,. . .,V,},需要進行變異的 基因段為{Vv4, Vv+2, . . .,VyJ,y的計算公式是:
[0029] 其中mod (.)為求余函數;
[0030] 步驟5. 3 :利用步驟1中所述路徑生成算法,重新生成路徑P (Vy,Vy+W),設 P (Vy, Vw) = {Vy, Vi',V' 2,. . .,V,ViJ,則動態疫苗接種并變異后的抗體為P'(Vi, vj = {Vl, V2, . . . , Vy, Vi,, V,2, . . . , v/ , Vy+w, . . . , vj。
[0031] 所述步驟6中,對抗體進行自由變異操作的具體方法為:
[003引步驟6. 1 :設抗體P (Vi, vj = {vi, V2, V3, . . .,Vu, vj,其中L為抗體中節點的個數 即抗體的長度,令h =以利用公式(1)計算m的值;
[0033] 步驟6.2 :若m = L返回步驟6. 1,否則,利用步驟1中所述路徑生成算法,重 新生成路徑P Om, Vj,設P Om, Vj) = (Vm, Vi',V' 2, . . .,V\ m 1,Vj,則自由變異后的抗體為 P'(Vi, Vl) = {Vi, V2, . . .,Vm, v/,V' 2, . . .,V' L m 1,vj。
[0034] 下面證明本發明步驟I中所述路徑生成算法的有效性:
[0035] 命題1 :算法在連通圖G中必然能夠找到路徑P (S,d)。
[0036] 證明:由于G是連通圖,所W路徑p(s,d) -定存在,不妨設其路徑節點集為 p(s, d) = {Vi, V2, V3, . . .,Vl 1,vj,其中 Vi= S,V L=山則店:巨的―,=>? A__,卓參;假設 算法結束且尋路失敗,根據步驟1. 5中算法結束條件可知餐1二咬,令表示A°中V 1 的鄰居節點集,則^2 =<^,否則算法將在谷3中捜索路徑,不會結束,同理, = 0與A二苗今...與件-I二4 ;抑―1二苗與辟-1右^矛盾,因此假設不成立, 命題1得證。
[0037] 命題2 :算法所得路徑必然是無環的。
[0038] 證明:假設命題2不成立,即算法得到有環路徑,不妨設其為p(s,d)= (s, V2, V3, . . .,Vi; 1,Vi;,...,山,其中Vi; = V 3,出現了環路,根據步驟1. 4和步驟1. 2可知, 當乂3作為乂2的下游節點加入口(3,(1)后,杉3若9^心-=1,2,,,.,巧)^和3若辟,_1;;算法繼 續執行至Vi= V L' 1時,Vz二V以二Vg詩1,3 E片S 1,3 E知一1與V; ^知--1矛盾,因此 假設不成立,命題2得證。
[0039] 本發明的有益效果在于:本發明所述方法中的路徑生成算法可W快速、直接生成 智能進化算法所需的有效路徑解,提高了智能進化算法求解多約束路由問題的效率;本發 明在所述方法中的人工免疫算法中利用混濁捜索替代了傳統的變異概率,保證了優化結果 的確定性;本發明在所述方法中的人工免疫算法中利用動態疫苗接種保留優秀抗體的優秀 基因,保證了算法的高速收斂性,同時利用自由變異,保證了算法的全局尋優能力,使算法 迅速收斂于全局最優解。
【附圖說明】
[0040] 圖1為本發明所述方法的流程圖;
[0041] 圖2為本發明實施例所使用的網絡拓撲結構圖;
[004引圖3為本發明所述方法與QCGA方法、IGRA方法的兩個單次運行結果;
[0043] 圖4為本發明所述方法與QCGA方法、IGRA方法運行50次的平均值結果。
【具體實施方式】
[0044] 下面結合附圖,對優選實施例作詳細說明。應該強調的是,下述說明僅僅是示例性 的,而不是為了限制本發明的范圍及其應用。