專利名稱::多目標免疫優(yōu)化組播路由路徑選擇方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于網(wǎng)絡通信
技術(shù)領(lǐng)域:
,涉及組播路由路徑的選擇,特別是一種多目標免疫優(yōu)化組播路由路徑選擇方法。該方法可用于在滿足多個服務要求下的組播路由路徑選擇。
背景技術(shù):
:隨著Internet下的商業(yè)應用的成熟及高速寬帶網(wǎng)絡的快速發(fā)展,包交換計算機網(wǎng)絡的通信容量從幾Mbps增長到幾百甚至幾千Mbps,網(wǎng)絡功能日益強大,網(wǎng)絡業(yè)務也從簡單的信息傳送如E-mall和FTP發(fā)展到遠程教學、視頻會議、計算機協(xié)同計算、數(shù)據(jù)分發(fā)和網(wǎng)絡游戲等綜合性業(yè)務。這些新出現(xiàn)的通信業(yè)務要求將數(shù)據(jù)信息從一個或多個源節(jié)點同時發(fā)送到一組目的節(jié)點,因此,要求網(wǎng)絡必須具有點到多點或多點到多點的通信能力。若采用傳統(tǒng)的單播或廣播通信方式,都會浪費大量的帶寬資源而無法滿足當前網(wǎng)絡信息傳輸?shù)囊蟆=M播是針對這種情況提出的一種根本的解決方案,它可以從本質(zhì)上減少整個網(wǎng)絡的運營代價和帶寬需求,降低服務器和網(wǎng)絡的負載,提高網(wǎng)絡的服務質(zhì)量。通過網(wǎng)絡傳遞信息的關(guān)鍵環(huán)節(jié)就是路由,即尋找從源節(jié)點到目的節(jié)點的有效路徑。組播路由的目標就是尋找一系列從源節(jié)點出發(fā)并最終到達所有目的節(jié)點的路徑,目前實現(xiàn)組播通信最有效的方法是構(gòu)造組播樹。組播樹是由源節(jié)點和所有目的節(jié)點以及可使它們有效連通的鏈路構(gòu)成的集合。而作為組播通信的重要組成部分和關(guān)鍵問題,尋找簡單、高效、健壯的組播路由算法一直是網(wǎng)絡界致力研究但未完全解決的問題。網(wǎng)絡應用的擴展,要求網(wǎng)絡既能傳送"盡力而為(best-effort)"的服務,也能傳送有一定服務質(zhì)量(QoS,Qualityofservice)要求的實時多媒體業(yè)務。而傳統(tǒng)的盡力而為的傳輸方式只能使各種數(shù)據(jù)流在網(wǎng)絡中平均地分享網(wǎng)絡資源且能沿多條路徑傳輸,而不能滿足有QoS要求的實時多媒體業(yè)務傳送的需要。因此,對QoS約束的組播路由算法的研究就逐步開展起來。組播路由是要從源節(jié)點將同一份信息傳送到多個目的節(jié)點,具有QoS約束的組播路由方法,就是按照某種路由策略,利用網(wǎng)絡狀態(tài)信息來構(gòu)造一棵包含所有組播成員的組播路由樹,以確定數(shù)據(jù)包的傳送路徑,將同一份信息從源節(jié)點傳送到多個目的節(jié)點,滿足各種QoS需求,實現(xiàn)網(wǎng)絡資源的優(yōu)化。從網(wǎng)絡用戶的角度來看,基于QoS的組播路由算法首先應滿足用戶的QoS需求,即尋找一條端到端的、滿足各種條件的傳輸路徑。從服務提供商的角度來看,基于QoS的組播路由算法應能最優(yōu)化地使用網(wǎng)絡資源。目前,已經(jīng)證明基于Qos約束的最小代價組播路由問題是NP-complete問題。在通常的通信網(wǎng)絡中,我們不可能用多項式時間找到這些問題的答案,因此,研究較多的是采用啟發(fā)式算法和智能優(yōu)化算法解決這類問題。目前,在利用智能優(yōu)化算法解決基于QoS的組播路由問題方面,已經(jīng)取得了較好的結(jié)果。這些智能優(yōu)化算法主要包括遺傳算法、模擬退火算法、禁忌搜索算法、蟻群算法和人工神經(jīng)網(wǎng)絡等。這些方法在處理多個目標的時候,通常在建模的時候把所有的QoS參數(shù)建模為帶約束的單目標優(yōu)化問題,或者采用加權(quán)的方式將多目標轉(zhuǎn)化成單目標來優(yōu)化,雖然通過這些方法有時也能夠得到很好的解,即找到較優(yōu)的路徑方案,但是它所提供的選擇方案是唯一的,并且在處理多個目標的時候不能穩(wěn)定的找到較好的路徑。隨著網(wǎng)絡的發(fā)展,用戶的需求千差萬別,運營商也要考慮網(wǎng)絡的方方面面,迫切需要有種方法能給出滿足約束要求的多種可選方案,使得決策者可以根據(jù)自身的實際情況和客戶的具體要求,靈活的選擇數(shù)據(jù)傳輸路徑,在這種情況下使用多目標算法解決組播路由問題變的有效和可行。
發(fā)明內(nèi)容本發(fā)明的目的在于克服已有方法的不足,提出一種多目標免疫優(yōu)化組播路由路徑選擇方法,以在增加可選擇的方案數(shù)目的同時,提高處理多個目標問題中尋找高質(zhì)量路徑的穩(wěn)定性。本發(fā)明的技術(shù)方案是將基于QoS的組播路由問題看作是多目標優(yōu)化問題。用人工免疫系統(tǒng)中的比例克隆技術(shù)增加當前解空間中稀疏個體的搜索機會,利用重組和變異技術(shù)在整個空間中大步長的搜索,同時使用局部搜索技術(shù)實現(xiàn)小步長的逼近,使得在搜索的過程中兼顧尋找局部最優(yōu),給出可選擇的路徑方案。具體步驟如下(1)確定優(yōu)化多目標和約束條件,生成網(wǎng)絡模型,設(shè)定種群進化終止代數(shù),給定運行參數(shù),根據(jù)網(wǎng)絡模型使用隨機Dijkstra算法生成初始種群;(2)對初始種群中的每個個體,消除從源節(jié)點到目的節(jié)點路徑中的環(huán)路;(3)計算每個消除環(huán)路后的初始種群個體的目標函數(shù)值,去除不滿足約束條件的個體,保留種群剩余個體中的非支配個體,作為當前非支配個體種群,并置當前進化代數(shù)為第一代;(4)判斷當前進化代數(shù)是否滿足(1)中設(shè)定的種群進化終止代數(shù),如果滿足,輸出當前的非支配個體種群;否則,執(zhí)行第(5)步;(5)計算當前非支配個體種群中個體的擁擠度距離,將擁擠度距離從大到小的順序排列,根據(jù)設(shè)定的運行參數(shù),優(yōu)先選擇擁擠度距離大的個體組成當前活躍種群;(6)對當前活躍種群中的個體進行比例克隆操作,并對比例克隆種群中個體進行局部搜索操作,保留局部搜索所得種群;(7)對比例克隆后的種群個體進行重組操作和變異操作,并對變異操作后的種群進行局部搜索操作,得到變異局部搜索種群;(8)將保留的局部搜索種群和得到的變異局部搜索種群以及當前非支配個體種群組成合并種群,并對合并種群中的每個個體,消除從源節(jié)點到目的節(jié)點路徑中的環(huán)路;(9)計算消除環(huán)路后的合并種群中個體的目標函數(shù)值,去除不滿足約束條件的個體,將種群剩余個體中的非支配個體作為當前非支配個體種群,遞增當前進化代數(shù),返回(4),重新判斷結(jié)束條件。本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點1、從多目標優(yōu)化的角度處理組播路由問題,提高方案選擇的靈活性基于QoS約束的組播路由問題是一個多目標問題,現(xiàn)有的技術(shù)通常是保留一個目標,而將其他目標作為約束,或是通過加權(quán)的方式將多個目標變成單個目標來處理。約束方式處理需要對問題有一定的先驗知識,先驗知識的優(yōu)劣程度直接決定著約束條件的設(shè)置,從而影響搜索性能;同時現(xiàn)實問題中通常很難提前獲得問題的先驗知識,這就限制了約束處理方式的應用,魯棒性不強。對于加權(quán)的處理方式,權(quán)參數(shù)的設(shè)置至關(guān)重要,權(quán)值的比重大小一定程度上決定著對應目標在優(yōu)化過程中的作用程度,如果單純的側(cè)重于某個目標,在優(yōu)化的過程中會使其他目標的性能指標降低;而為平衡目標設(shè)置權(quán)值又需要掌握一定的先驗知識,這樣又帶有了約束處理方式的缺陷。不管是約束處理還是加權(quán)處理,最終得到的只有一個針對單目標的方案,可供選擇的方案非常單一。本發(fā)明使用多目標優(yōu)化處理組播路由問題,在優(yōu)化的過程中能綜合的考慮各個目標,同時不需要問題的先驗知識,魯棒性強;多目標優(yōu)化依據(jù)Pareto策略,采用支配非支配的關(guān)系來選擇個體,為得到多個方案提供了理論依據(jù)。2、全局搜索和局部搜索的結(jié)合,增強了構(gòu)建優(yōu)良路徑方案的穩(wěn)定性全局搜索可以拓寬搜索空間,但是可能會丟掉一些優(yōu)良方案;而局部搜索善于找到當前局部最優(yōu)方案,但是會產(chǎn)生早熟現(xiàn)象,無法提供高質(zhì)量的路徑方案?,F(xiàn)有的處理組播路由問題的智能優(yōu)化方法,只采用全局搜索,沒有很好的結(jié)合局部搜索。在本發(fā)明所采用比例克隆操作、重組操作和變異操作的組合應用,增強了對解空間稀疏區(qū)域的全局搜索能力,對比例克隆種群的局部搜索操作很好的彌補了稀疏區(qū)域搜索方式的不足;局部搜索種群和全局搜索種群的最終合并較好的利用了兩種搜索的優(yōu)勢,增強了構(gòu)建優(yōu)良路徑方案的穩(wěn)定性。圖1是本發(fā)明實現(xiàn)步驟的流程框圖;圖2是本發(fā)明仿真時生成的網(wǎng)絡模型樣具體實施例方式參照圖l,本發(fā)明的具體實現(xiàn)步驟如下步驟l,確定優(yōu)化多目標和約束條件,生成網(wǎng)絡模型,設(shè)定種群進化終止代數(shù),給定運行參數(shù),根據(jù)網(wǎng)絡模型使用隨機Dijkstra算法生成初始種群。1.1)確定優(yōu)化多目標和約束條件的過程如下首先,確定優(yōu)化多目標。在本發(fā)明的實驗仿真中,選取三個目標,分別為鏈路代價、時延和帶寬占用率,對QoS組播路由而言,網(wǎng)絡通常表示成一個帶權(quán)圖G(n,e),其中n表示網(wǎng)絡節(jié)點集合,e表示連接節(jié)點的鏈路集合,|n|和|e|分別表示網(wǎng)絡中的節(jié)點個數(shù)和鏈路條數(shù);假設(shè)組播業(yè)務的源節(jié)點是sGn,mg7v-(^是組播通信中的組播組,也就是目的節(jié)點集合,M中的每個節(jié)點mGM稱為組成員,IMI表示目的節(jié)點的個數(shù),組播樹T是G的子圖,是以s為根,M為目的節(jié)點集,并包含連接它們的鏈路的一棵樹,用T二(nt,et)表示,其中~g7v,Age,用p(s,m)表示組播樹T中由源節(jié)點s到某個目的節(jié)點m的一條路徑,對于鏈路eGe,e為連接源節(jié)點s到目的節(jié)點m的子路徑,鏈路p(s,m)的鏈路代價表示為COW(p(s,m))=J]cost(e),鏈路p(s,m)的時延表示為^—(P",w》=I]^/,(e),鏈路P(s,m)的帶寬占用率表示為6^u/O0,m)^min(M"t/(e),Veep0,w",則確定的優(yōu)化多目標為組播樹T的鏈路代價、組播樹T的時延和組播樹T的帶寬占用率。其中組播樹T的鏈路代價為組播樹中從源節(jié)點到每一個目的節(jié)點路徑的代價之和;組播樹T的時延為組播樹中從源節(jié)點到每一個目的節(jié)點路徑的時延之和;組播樹T的帶寬占用率為組播樹中從源節(jié)點到每一個目的節(jié)點路徑帶寬占用率的最小值。其次,確定約束條件,即將組播樹的最高時延上限5秒作為約束條件。1.2)產(chǎn)生網(wǎng)絡模型參照圖2,本步驟的具體實現(xiàn)如下第一步將橫坐標范圍為0-4000和縱坐標范圍為0-4000的網(wǎng)絡平面平均分成64個方形小區(qū)域,在每個方形小區(qū)域上以等概率隨機標記區(qū)域類型,該區(qū)域類型包括節(jié)點分布密集區(qū)、節(jié)點分布稀疏區(qū)和無節(jié)點分布區(qū);第二步在網(wǎng)絡平面上放置一個節(jié)點,首先以等概率選擇節(jié)點所處的小區(qū)域類型,然后按照區(qū)域類型,在網(wǎng)絡平面上隨機選擇一個具體的小區(qū)域;最后在該小區(qū)域內(nèi)隨機選擇一個坐標點來放置一個節(jié)點;第三步如果網(wǎng)絡平面已經(jīng)放置的節(jié)點數(shù)目小于100個,則執(zhí)行第二步;否則,完成生成節(jié)點的操作,執(zhí)行第四步;第四步從網(wǎng)絡平面已經(jīng)放置的所有節(jié)點中任選一個節(jié)點U作為初始節(jié)點;第五步任選另外一個不同于初始節(jié)點U的節(jié)點V(V#U),計算出初始節(jié)點U,V間的鏈接概率P(u,v)=(3.5々1Vl)e鄧(-l(u,v)/0.2L),S是期望的網(wǎng)絡節(jié)點平均度數(shù),VI是網(wǎng)絡節(jié)點總數(shù),1(u,v)是初始節(jié)點u與任意節(jié)點v之間的歐氏距離,L是網(wǎng)絡平面中節(jié)點之間的最大歐氏距離;第六步在0到1之間產(chǎn)生一個均勻分布的隨機數(shù)Zi,如果初始節(jié)點u與任意節(jié)點v間的連接概率P(u,v)大于Zi,則產(chǎn)生一條鏈路連接所述的節(jié)點u和v;第七步如果初始節(jié)點U的度數(shù)小于2,則跳至第五步;否則,執(zhí)行第八步;第八步從網(wǎng)絡平面已經(jīng)放置的所有節(jié)點中再任選一個評估節(jié)點U',如果評估節(jié)點U'的度數(shù)低于規(guī)定的下限值1,則連接評估節(jié)點U'和任意節(jié)點V;否則,網(wǎng)絡生成完成。1.3)設(shè)定種群進化終止代數(shù)為30,初始種群的規(guī)模為50,活躍種群規(guī)模為10,方案數(shù)目上限為IO,變異概率為0.9,比例克隆規(guī)模為10。1.4)生成初始種群首先,假設(shè)對于網(wǎng)絡中的每一個節(jié)點t都有三個參量D[t],pre[t],sign[t],該D[t]表示從源節(jié)點s到t的路徑的耗費度量,該pre[t]表示路徑中節(jié)點t的前一個節(jié)點序號值,該sign[t]表示節(jié)點t是否被訪問過的標記位;再應用隨機Dijkstra方法按如下步驟生成一個個體第1步從優(yōu)化多目標中隨機選擇一個優(yōu)化目標,作為當前個體路徑產(chǎn)生過程中所依據(jù)的耗費度量值;第2步首先,設(shè)置源節(jié)點s的參量值,令D[s]的值為0,pre[s]的值為-1,sign[s]的值為1;其次,設(shè)置網(wǎng)絡中所有與源節(jié)點s直接相連的節(jié)點t的參量值,令D[t]的值為從源節(jié)點s到該節(jié)點t的耗費度量值,pre[t]的值為源節(jié)點s的序號值,sign[t]的值為0;再次,設(shè)置網(wǎng)絡中所有與源節(jié)點s不直接相連的節(jié)點n的參量值,令D[n]的值為①,per[n]的值為-1,sign[n]的值0;最后,設(shè)置當前節(jié)點k的參量值,將D[s]的值賦給D[k],將pre[s]的值賦給pre[k],將sign[s]的值賦給sign[k];第3步對于從當前節(jié)點k到與當前節(jié)點k直接連接但標記位的值不為1的節(jié)點m,設(shè)置D[m]的值為min(D[m],D[m]+wJ,Wkm是從當前節(jié)點k到標記位的值不為1的節(jié)點m的耗費度量值;第4步從與標記位的值不為1的節(jié)點m有連接關(guān)系的節(jié)點集中隨機選取一個節(jié)點i;第5步令sign[i]的值為1,pre[i]的值為標記位的值不為1的節(jié)點m的序號值;第6步如果所有節(jié)點的標記位的值都為l,則個體生成結(jié)束;否則,對于當前節(jié)點k的三個參量,將D[i]的值賦給D[k],將pre[i]的值賦給pre[k],將sign[i]的值賦給sign[k],并執(zhí)行第3步。重復上述步驟50次,完成初始種群的生成。步驟2,對初始種群中的每個個體,消除從源節(jié)點到目的節(jié)點路徑中的環(huán)路。2a)令源節(jié)點s為當前選定節(jié)點,將路徑中的其他節(jié)點序號分別減去第一個節(jié)點的序號,置當前路徑為空路徑,將當前選定節(jié)點添加到該當前路徑;2b)根據(jù)節(jié)點序號判斷當前選定節(jié)點是不是目的節(jié)點,如果是,則消除從源節(jié)點到目的節(jié)點路徑中環(huán)路的操作,輸出當前路徑;否則,執(zhí)行步驟2c);2c)從當前選定節(jié)點開始,依次尋找路徑中的其他節(jié)點序號與當前選定節(jié)點的序號相減后為0的節(jié)點,如果存在序號為0節(jié)點,將序號為0節(jié)點之后的節(jié)點作為當前選定節(jié)點;如果不存在序號為0的節(jié)點,將當前選定節(jié)點之后的節(jié)點作為新的當前選定節(jié)點;將當前選定節(jié)點添加到當前路徑,并將當前選定節(jié)點之后的節(jié)點序號分別減去當前選定節(jié)點序號,返回步驟2b)。步驟3,獲取當前非支配個體種群,置當前進化代數(shù)為第一代。首先,根據(jù)確定的優(yōu)化多目標,由組播樹鏈路代價、組播樹鏈路時延和組播樹鏈路帶寬占用率的定義計算每個消除環(huán)路后的初始種群個體對應的組播樹鏈路代價數(shù)值、組播樹鏈路時延數(shù)值和組播樹鏈路帶寬占用率數(shù)值;其次,根據(jù)計算的組播樹鏈路時延數(shù)值,保留滿足約束條件的個體;再次,根據(jù)每個消除環(huán)路后的初始種群個體對應的組播樹鏈路代價數(shù)值、組播樹鏈路時延數(shù)值和組播樹鏈路帶寬占用率數(shù)值,將消除環(huán)路后的初始種群中的非支配個體加入非支配個體種群;最后,置記錄當前進化代數(shù)的變量g的數(shù)值為1,即將當前非支配個體種群作為通過進化得到的第一代種群。步驟4,判斷記錄當前進化代數(shù)的變量g的數(shù)值是否大于種群進化終止代數(shù)30,如果是,輸出當前的非支配個體種群;否則,執(zhí)行步驟5。步驟5,計算當前非支配個體種群中個體的擁擠度距離,優(yōu)先選擇擁擠度距離大的個體組成當前活躍種群。5.1)利用擁擠距離:6^t"if6f計算當前非支配個體種群中個體b的擁擠y=i—力8度距離,式中f/ax是第j個目標函數(shù)的最大值,f/in是第j個目標函數(shù)的最小值,q為優(yōu)化多目標個數(shù),4bj為個體b的第j個目標函數(shù)的擁擠度距離,該4bj的計算方式為如果個體b第j個目標函數(shù)的數(shù)值fj(b)等于fjmax或者等于f/in,則4J的數(shù)值為無窮大;否則,在當前非支配個體種群中,找出第j個目標函數(shù)的數(shù)值大于fj(b)的個體b'和第j個目標函數(shù)的數(shù)值小于fj(b)的個體b〃,則H勺數(shù)值為fj(b')-fj(b〃),這里fj(b')為個體b'的第j個目標函數(shù)的數(shù)值,fj(b〃)為個體b〃的第j個目標函數(shù)的數(shù)值。5.2)產(chǎn)生當前活躍種群將計算出的擁擠度距離從大到小排序,若當前非支配個體種群的個體數(shù)目高于IO,則按照擁擠度從大到小的順序選擇出IO個體作為活躍種群,否則將當前非支配個體種群中的所有個體作為活躍種群。步驟6,對當前活躍種群中的個體進行比例克隆操作,并對比例克隆種群中個體進行局部搜索操作,保留局部搜索所得種群。6.1)比例克隆操作對當前活躍種群中的個體aGA復制qa次,產(chǎn)生qa個與個體a完全相同的個體,這里《。=GS-"《。為個體a的比例克隆規(guī)模,A為當前活躍種群,CS為克隆規(guī)模,4a是個體a的擁擠度距離,E4a是當前活躍種群中個體的擁擠度距離總和。6.2)對比例克隆種群中個體進行局部搜索操作第a步,在源節(jié)點與第一個目的節(jié)點之前的節(jié)點之間,隨機選擇一個節(jié)點,作為子路徑起點,再隨機選擇一個目標作為當前考慮的耗費指標,應用隨機Dijkstra算法產(chǎn)生從子路徑起點到第一個目的節(jié)點的最小耗費路徑,作為當前個體的第一個局部搜索解;第b步,根據(jù)節(jié)點序號判斷是否完成對當前個體從源節(jié)點到所有目的節(jié)點的局部搜索,如果是,完成對當前個體的局部搜索,否則執(zhí)行第c步;第C步,在源節(jié)點與下一個目的節(jié)點之前的節(jié)點之間,隨機選擇一個節(jié)點,作為子路徑的起點,隨機選擇一個優(yōu)化目標作為當前考慮的耗費指標,應用隨機Dijkstra算法產(chǎn)生從子路徑起點到當前目的節(jié)點的最小耗費路徑,更新原來的個體,作為當前個體對應于當前目的節(jié)點的局部搜索解,返回執(zhí)行第b步。步驟7,對比例克隆后的種群個體進行重組操作和變異操作,并對變異操作后的種群進行局部搜索操作,得到變異局部搜索種群。7.1)重組操作。第A步從進行重組的兩個個體中,隨機選擇一個目的節(jié)點,置當前的重組尋找次數(shù)為1;第B步如果兩個個體中從源節(jié)點到該目的節(jié)點的路徑不完全相同,但有且只有一個公共的節(jié)點,則選擇這個公共的節(jié)點作為交叉點,當有兩個或兩個以上的公共節(jié)點時,選擇第一個公共點作為交叉點,再對兩個個體交叉點之后的序列進行交換,此次重組操作結(jié)束;否則,判斷當前的重組尋找次數(shù),如果重組尋找次數(shù)已經(jīng)超過五次,則退出重組操作,否則執(zhí)行步驟第C步;第C步從活躍種群中重新選擇一個個體,遞增當前的重組尋找次數(shù),執(zhí)行步驟第B步。7.2)變異操作第D步在源節(jié)點與第一個目的節(jié)點之前的節(jié)點之間,隨機選擇一個節(jié)點,作為子路徑的起點,再隨機選擇一個目標作為當前考慮的耗費指標,應用隨機Dijkstra算法產(chǎn)生從子路徑起點到第一個目的節(jié)點的最小耗費路徑,更新原來的個體的對應路徑;第E步根據(jù)節(jié)點序號判斷是否對從源節(jié)點到所有目的節(jié)點的路徑都進行了變異操作,如果是,則將當前的更新路徑后的個體作為變異操作后的個體;否則,執(zhí)行步驟第F止少;第F步在源節(jié)點與下一個目的節(jié)點之前的節(jié)點之間,隨機選擇一個節(jié)點,作為子路徑的起點,隨機選擇一個目標作為當前考慮的耗費指標,應用Dijkstra算法產(chǎn)生從子路徑起點到目的節(jié)點的最小耗費路徑,更新原來的個體的對應路徑,返回步驟第E步。步驟8,將保留的局部搜索種群和得到的變異局部搜索種群以及當前非支配個體種群合并成一個種群,并對合并種群中的每個個體,消除從源節(jié)點到目的節(jié)點路徑中的環(huán)路。步驟9,計算消除環(huán)路后的合并種群中個體的目標函數(shù)值,保留滿足約束條件的個體,將種群剩余個體中的非支配個體作為當前非支配個體種群,遞增當前進化代數(shù),返回步驟4。首先,根據(jù)確定的優(yōu)化多目標,由組播樹鏈路代價、組播樹鏈路時延和組播樹鏈路帶寬占用率的定義計算每個消除環(huán)路后的合并種群中個體對應的組播樹鏈路代價數(shù)值、組播樹鏈路時延數(shù)值和組播樹鏈路帶寬占用率數(shù)值;其次,根據(jù)計算的組播樹鏈路時延數(shù)值,保留滿足約束條件的個體;再次,根據(jù)消除環(huán)路后的合并種群中個體對應的組播樹鏈路代價數(shù)值、組播樹鏈路時延數(shù)值和組播樹鏈路帶寬占用率數(shù)值,將消除環(huán)路后的消除環(huán)路后的合并種群中個體加入當前非支配個體種群。最后,遞增當前進化代數(shù)的變量g的數(shù)值,返回步驟4。本發(fā)明的效果可通過以下仿真進一步說明1.仿真條件及仿真內(nèi)容本實例在Intel(R)Core(TM)2DuoCPU2.33GHzWindowsXP系統(tǒng)下,Matlab7.0運行平臺上,完成本發(fā)明以及遺傳組播路由路徑選擇方法GMR和蟻群組播路由路徑選擇方法AMR的組播路由路徑選擇的仿真實驗。2.仿真實驗內(nèi)容及結(jié)果實驗A.在網(wǎng)絡目的節(jié)點數(shù)目變化時,本發(fā)明與現(xiàn)有GMR和AMR方法的仿真;將本發(fā)明、GMR和AMR應用在網(wǎng)絡節(jié)點總數(shù)為100,目的節(jié)點總數(shù)分別為5,10,15,20的網(wǎng)絡模型上,三種方法各獨立運行10次,作出三種方法提供的方案平均數(shù)目如表l,作出本發(fā)明相對于GMR提供的方案的優(yōu)劣比例如表2,作出本發(fā)明相對于AMR提供的方案的優(yōu)劣比例如表3。表1實驗A中三種方法提供的方案平均數(shù)目10目的節(jié)點個數(shù)本發(fā)明提供的方案平均個數(shù)GMR提供的方案平均個數(shù)AMR提供的方案平均個數(shù)57.41.01.0108.01.01.0158.01.01.0208.31.01.0從表1中可以看出,本發(fā)明提供的方案平均數(shù)目均高于GMR和AMR提供的方案平均數(shù)目,本發(fā)明提供的方案較多,方案選擇的靈活性較大,而GMR和AMR提供的方案平均個數(shù)為l,方案選擇的靈活性較低。表2實驗A中本發(fā)明相對于GMR提供的方案的優(yōu)劣比例目的節(jié)點個數(shù)優(yōu)勢方案比例等價方案比例劣勢方案比例543.321%56.679%0.000%1092.500%7.500%0.000%1598.000%2.000%0.000%20100.000%0.000%0.000%從表2中可以看出,本發(fā)明提供的方案質(zhì)量在不低于GMR提供的方案前提下,還能提供一部分更加優(yōu)良的方案,并且隨著目的節(jié)點數(shù)目的增多,優(yōu)勢方案的比例逐步增大。表3實驗A中本發(fā)明相對于AMR提供的方案的優(yōu)劣比例目的節(jié)點個數(shù)優(yōu)勢方案比例等價方案比例劣勢方案比例534.107%65.893%0.000%1074.750%25.250%0.000%1585.667%14.333%0.000%2087.667%12.333%0.000%從表3中可以看出,本發(fā)明提供的方案質(zhì)量在不低于AMR提供的方案前提下,還能提供一部分更加優(yōu)良的方案,并且隨著目的節(jié)點數(shù)目的增多,優(yōu)勢方案的比例逐步增大。實驗B.在網(wǎng)絡節(jié)點總數(shù)變化時,本發(fā)明與現(xiàn)有GMR和AMR方法的仿真;將本發(fā)明、GMR和AMR應用在目的節(jié)點數(shù)目為10,網(wǎng)絡節(jié)點總數(shù)分別為50,100,150,200的網(wǎng)絡模型上,三種方法各獨立運行10次,作出三種方法提供的方案平均數(shù)目如表4,作出本發(fā)明相對于GMR提供的方案的優(yōu)劣比例如表5,作出本發(fā)明相對于AMR提供的方案的優(yōu)劣比例如表6。表4實驗B中三種方法提供的方案平均數(shù)目<table>tableseeoriginaldocumentpage12</column></row><table>從表4中可以看出,本發(fā)明提供的方案平均數(shù)目均高于GMR和AMR提供的方案平均數(shù)目,本發(fā)明提供的方案較多,方案選擇的靈活性較大,而GMR和AMR提供的方案平均個數(shù)為l,方案選擇的靈活性較低。表5實驗B中本發(fā)明相對于GMR提供的方案的優(yōu)劣比例<table>tableseeoriginaldocumentpage12</column></row><table>從表5中可以看出,本發(fā)明提供的方案質(zhì)量在不低于GMR提供的方案前提下,還能提供一部分更加優(yōu)良的方案,并且隨著網(wǎng)絡節(jié)點數(shù)目的增多,優(yōu)勢方案的比例逐步增大。表6實驗B中本發(fā)明相對于AMR提供的方案的優(yōu)劣比例<table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table>從表6中可以看出,本發(fā)明提供的方案質(zhì)量在不低于AMR提供的方案前提下,還能提供一部分更加優(yōu)良的方案,并且隨著網(wǎng)絡節(jié)點數(shù)目的增多,優(yōu)勢方案的比例整體上呈增大趨勢。由以上的仿真實驗可以看出,本發(fā)明克服了現(xiàn)有GMR和AMR方法應用在組播路由路徑選擇問題上的不足,不論是提供方案的靈活性還是提供優(yōu)良方案的穩(wěn)定性,本發(fā)明均優(yōu)于現(xiàn)有的GMR和AMR方法。綜上所述,本發(fā)明在處理組播路由路徑選擇問題的效果明顯優(yōu)于現(xiàn)有的GMR和AMR方法處理組播路由路徑選擇問題的效果。權(quán)利要求一種多目標免疫優(yōu)化組播路由路徑選擇方法,包括如下步驟(1)確定優(yōu)化多目標和約束條件,生成網(wǎng)絡模型,設(shè)定種群進化終止代數(shù),給定運行參數(shù),根據(jù)網(wǎng)絡模型使用隨機Dijkstra算法生成初始種群;(2)對初始種群中的每個個體,消除從源節(jié)點到目的節(jié)點路徑中的環(huán)路;(3)計算每個消除環(huán)路后的初始種群個體的目標函數(shù)值,去除不滿足約束條件的個體,保留種群剩余個體中的非支配個體,作為當前非支配個體種群,并置當前進化代數(shù)為第一代;(4)判斷當前進化代數(shù)是否滿足(1)中設(shè)定的種群進化終止代數(shù),如果滿足,輸出當前的非支配個體種群;否則,執(zhí)行第(5)步;(5)計算當前非支配個體種群中個體的擁擠度距離,將擁擠度距離從大到小的順序排列,根據(jù)設(shè)定的運行參數(shù),優(yōu)先選擇擁擠度距離大的個體組成當前活躍種群;(6)對當前活躍種群中的個體進行比例克隆操作,并對比例克隆種群中個體進行局部搜索操作,保留局部搜索所得種群;(7)對比例克隆后的種群個體進行重組操作和變異操作,并對變異操作后的種群進行局部搜索操作,得到變異局部搜索種群;(8)將保留的局部搜索種群和得到的變異局部搜索種群以及當前非支配個體種群組成合并種群,并對合并種群中的每個個體,消除從源節(jié)點到目的節(jié)點路徑中的環(huán)路;(9)計算消除環(huán)路后的合并種群中個體的目標函數(shù)值,去除不滿足約束條件的個體,將種群剩余個體中的非支配個體作為當前非支配個體種群,遞增當前進化代數(shù),返回(4),重新判斷結(jié)束條件。2.根據(jù)權(quán)利要求l所述的多目標免疫優(yōu)化組播路由路徑選擇方法,其中步驟(2)所述的消除從源節(jié)點到目的節(jié)點路徑中環(huán)路的操作,按如下步驟進行(2a)令源節(jié)點s為當前選定節(jié)點,將路徑中的其他節(jié)點序號分別減去第一個節(jié)點的序號,置當前路徑為空路徑,將當前選定節(jié)點添加到該當前路徑;(2b)根據(jù)節(jié)點序號判斷當前選定節(jié)點是不是目的節(jié)點,如果是,則消除從源節(jié)點到目的節(jié)點路徑中環(huán)路的操作,輸出當前路徑;否則,執(zhí)行步驟(2c);(2c)從當前選定節(jié)點開始,依次尋找路徑中的其他節(jié)點序號與當前選定節(jié)點的序號相減后為0的節(jié)點,如果存在序號為0節(jié)點,將序號為0節(jié)點之后的節(jié)點作為當前選定節(jié)點;如果不存在序號為0的節(jié)點,將當前選定節(jié)點之后的節(jié)點作為新的當前選定節(jié)點;將當前選定節(jié)點添加到當前路徑,并將當前選定節(jié)點之后的節(jié)點序號分別減去當前選定節(jié)點序號,返回步驟(2b)。3.根據(jù)權(quán)利要求l所述的多目標免疫優(yōu)化組播路由路徑選擇方法,其中步驟(6)所述的局部搜索操作,按照以下步驟進行(3a)在源節(jié)點與第一個目的節(jié)點之前的節(jié)點之間,隨機選擇一個節(jié)點,作為子路徑起點,再隨機選擇一個目標作為當前考慮的耗費指標,應用隨機Dijkstra算法產(chǎn)生從子路徑起點到第一個目的節(jié)點的最小耗費路徑,作為當前個體的第一個局部搜索解;(3b)根據(jù)節(jié)點序號判斷是否完成對當前個體從源節(jié)點到所有目的節(jié)點的局部搜索,如果是,完成對當前個體的局部搜索,否則執(zhí)行步驟(3c);(3c)在源節(jié)點與下一個目的節(jié)點之前的節(jié)點之間,隨機選擇一個節(jié)點,作為子路徑的起點,隨機選擇一個優(yōu)化目標作為當前考慮的耗費指標,應用隨機Dijkstra算法產(chǎn)生從子路徑起點到當前目的節(jié)點的最小耗費路徑,更新原來的個體,作為當前個體對應于當前目的節(jié)點的局部搜索解,返回步驟(3b)。4.根據(jù)權(quán)利要求l所述的多目標免疫優(yōu)化組播路由路徑選擇方法,其中步驟(7)所述的重組操作,按照以下步驟進行(4a)從進行重組的兩個個體中,隨機選擇一個目的節(jié)點,置當前的重組尋找次數(shù)為1;(4b)如果兩個個體中從源節(jié)點到該目的節(jié)點的路徑不完全相同,但有且只有一個公共的節(jié)點,則選擇這個公共的節(jié)點作為交叉點,當有兩個或兩個以上的公共節(jié)點時,選擇第一個公共點作為交叉點,再對兩個個體交叉點之后的序列進行交換,此次重組操作結(jié)束;否則,判斷當前的重組尋找次數(shù),如果重組尋找次數(shù)已經(jīng)超過五次,則退出重組操作,否則執(zhí)行步驟(4c);(4c)從活躍種群中重新選擇一個個體,遞增當前的重組尋找次數(shù),執(zhí)行步驟(4b)。5.根據(jù)權(quán)利要求l所述的多目標免疫優(yōu)化組播路由路徑選擇方法,其中步驟(7)所述的變異操作,按如下步驟進行(5a)在源節(jié)點與第一個目的節(jié)點之前的節(jié)點之間,隨機選擇一個節(jié)點,作為子路徑的起點,再隨機選擇一個目標作為當前考慮的耗費指標,應用隨機Dijkstra算法產(chǎn)生從子路徑起點到第一個目的節(jié)點的最小耗費路徑,更新原來的個體的對應路徑;(5b)根據(jù)節(jié)點序號判斷是否對從源節(jié)點到所有目的節(jié)點的路徑都進行了變異操作,如果是,則將當前的更新路徑后的個體作為變異操作后的個體;否則,執(zhí)行步驟(5c);(5c)在源節(jié)點與下一個目的節(jié)點之前的節(jié)點之間,隨機選擇一個節(jié)點,作為子路徑的起點,隨機選擇一個目標作為當前考慮的耗費指標,應用隨機Dijkstra算法產(chǎn)生從子路徑起點到目的節(jié)點的最小耗費路徑,更新原來的個體的對應路徑,返回步驟(5b)。全文摘要本發(fā)明公開一種多目標免疫優(yōu)化組播路由路徑選擇方法,主要解決組播路由優(yōu)化問題。其實現(xiàn)步驟為(1)確定優(yōu)化目標,生成網(wǎng)絡模型,給定運行參數(shù),生成初始種群;(2)消除個體路徑環(huán)路;(3)計算個體目標值,生成當前非支配種群;(4)判斷結(jié)束條件,滿足則輸出當前非支配種群;否則轉(zhuǎn)(5);(5)計算當前非支配種群個體擁擠度距離,生成活躍種群;(6)對活躍種群進行克隆和局部搜索操作;(7)對克隆后種群進行重組、變異和局部搜索操作;(8)將當前非支配種群與(6)、(7)所得種群合并,消除個體路徑環(huán)路;(9)計算個體目標值,更新當前非支配種群,轉(zhuǎn)(4)。本發(fā)明具有提供靈活質(zhì)優(yōu)的方案的優(yōu)點,適用于組播路由路徑選擇。文檔編號H04L12/24GK101777990SQ20101001372公開日2010年7月14日申請日期2010年1月15日優(yōu)先權(quán)日2010年1月15日發(fā)明者公茂果,劉超,尚榮華,李陽陽,焦李成,王桂婷,王爽,程剛,馬文萍申請人:西安電子科技大學