一種基于遺傳算法的光多播樹最小代價(jià)路由方法
【專利摘要】本發(fā)明公開了一種基于遺傳算法的光多播樹最小代價(jià)路由方法,包括網(wǎng)絡(luò)的邊初始化和最小代價(jià)多播樹迭代兩部分,網(wǎng)絡(luò)的邊初始化主要是完成網(wǎng)絡(luò)中邊的初始化,將整數(shù)倍單位容量的邊用多條單位容量邊表示,便于應(yīng)用遺傳算法優(yōu)化信息傳輸路徑和編碼方法。最小代價(jià)光多播樹的迭代部分主要由選擇、交叉、變異、去除劣質(zhì)基因等步驟構(gòu)成,在每次迭代的過(guò)程中都根據(jù)設(shè)計(jì)的適應(yīng)度函數(shù)值將一些劣質(zhì)基因從基因庫(kù)中去除,這樣可以極大的縮小算法搜索空間的大小,有利于加速算法的收斂速度,尋找到代價(jià)更小的光多播樹。本發(fā)明是提供一種尋找所需滿足多播請(qǐng)求速率要求的信息傳輸鏈路數(shù)目總和最少、編碼操作次數(shù)最少的一種信息傳輸路由方法。
【專利說(shuō)明】一種基于遺傳算法的光多播樹最4、代價(jià)路由方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,具體涉及一種基于遺傳算法的光多播樹最小代價(jià)路由方法。
【背景技術(shù)】
[0002]隨著視頻會(huì)議、網(wǎng)絡(luò)電視、多媒體遠(yuǎn)程教育等多播業(yè)務(wù)的快速發(fā)展,網(wǎng)絡(luò)帶寬的消耗以及擁塞發(fā)生的快速增加,傳統(tǒng)通信網(wǎng)正面臨著帶寬資源不足、網(wǎng)絡(luò)吞吐量低、業(yè)務(wù)阻塞率上升等嚴(yán)重的問(wèn)題,網(wǎng)絡(luò)的資源日趨緊張。由于光網(wǎng)絡(luò)具有高帶寬和高速率的信息傳輸能力,其暫時(shí)解決了傳統(tǒng)電域網(wǎng)絡(luò)中帶寬資源不足等問(wèn)題。不過(guò),近年來(lái)隨著寬帶業(yè)務(wù)和多播應(yīng)用的持續(xù)快速增長(zhǎng),光網(wǎng)絡(luò)再次面臨帶寬資源不足、網(wǎng)絡(luò)阻塞率持續(xù)增高等諸多問(wèn)題。網(wǎng)絡(luò)編碼有提高網(wǎng)絡(luò)吞吐量、均衡網(wǎng)絡(luò)負(fù)載、增加網(wǎng)絡(luò)帶寬利用率、減少網(wǎng)絡(luò)資源損耗、提高網(wǎng)絡(luò)安全性、減少能量消耗等優(yōu)點(diǎn),因而,基于網(wǎng)絡(luò)編碼的路由方式越來(lái)越受到研究者的重視。將網(wǎng)絡(luò)編碼引入到光網(wǎng)絡(luò)中,利用網(wǎng)絡(luò)編碼的優(yōu)點(diǎn)來(lái)解決光網(wǎng)絡(luò)帶寬資源不足等問(wèn)題不失為一個(gè)有效的方法。因此,我們提出一種單源多宿最小代價(jià)多播樹的構(gòu)造方法解決最小代價(jià)光多播樹路由選擇問(wèn)題。
[0003]不同于傳統(tǒng)的路由方式,基于網(wǎng)絡(luò)編碼的路由方式不僅允許網(wǎng)絡(luò)的中間節(jié)點(diǎn)對(duì)收到的信息進(jìn)行存儲(chǔ)和轉(zhuǎn)發(fā),還能進(jìn)行信息編碼壓縮操作?;诰W(wǎng)絡(luò)編碼構(gòu)造光多播樹路由一般包括2個(gè)步驟:⑴確定網(wǎng)絡(luò)目的節(jié)點(diǎn)的信息接收速率;(2)根據(jù)目的節(jié)點(diǎn)的信息接收速率為每個(gè)目的節(jié)點(diǎn)確定邊分離路徑數(shù)目。為了使網(wǎng)絡(luò)目的節(jié)點(diǎn)正確的解碼出原始信息,所有目的節(jié)點(diǎn)接收速率相同,該速率一般小于等于所有目的節(jié)點(diǎn)的最大流中的最小值。但是,在通信網(wǎng)絡(luò)的中間節(jié)點(diǎn)進(jìn)行網(wǎng)絡(luò)編碼操作,將會(huì)增加通信網(wǎng)絡(luò)相應(yīng)的開銷和代價(jià),如:增加中間節(jié)點(diǎn)計(jì)算的復(fù)雜度;增加緩存器的需求量,用于儲(chǔ)存解碼輸入邊的信息;帶來(lái)網(wǎng)絡(luò)時(shí)延增加等。因而,本申請(qǐng)的最小代價(jià)多播樹是尋找滿足光多播路由所需鏈路數(shù)目總和最少、編碼操作次數(shù)最少的一種信息傳輸方法。
[0004]現(xiàn)在研究證明:最小代價(jià)光多播樹是一個(gè)NP-complete問(wèn)題,目前的解決方法大部分是采用啟發(fā)式算法來(lái)解決這一問(wèn)題。但是,現(xiàn)有啟發(fā)式算法一般在特定網(wǎng)絡(luò)中效果較好,而在其他的網(wǎng)絡(luò)中效果卻不理想,而智能優(yōu)化算法在解決NP-complete問(wèn)題時(shí),效果將會(huì)優(yōu)于啟發(fā)式算法,遺傳算法是智能優(yōu)化算法中較為成熟的一種算法。因此,我們提出一種基于遺傳算法的光多播樹最小代價(jià)路由方法。
【發(fā)明內(nèi)容】
[0005]針對(duì)以上現(xiàn)有技術(shù)中的不足,本發(fā)明的目的在于提供一種可以明顯地提高光網(wǎng)絡(luò)的帶寬資源利用率,減少網(wǎng)絡(luò)編碼操作次數(shù)的基于遺傳算法的光多播樹最小代價(jià)路由方法。本發(fā)明的技術(shù)方案如下:一種基于遺傳算法的光多播樹最小代價(jià)路由方法,其包括以下步驟:
[0006]101、獲取網(wǎng)絡(luò)拓?fù)銰 (V,E),其中V表示網(wǎng)絡(luò)拓?fù)銰的節(jié)點(diǎn)集,E表示網(wǎng)絡(luò)中節(jié)點(diǎn)之間的連接邊,當(dāng)連接邊的容量η > 2時(shí),則將該連接邊轉(zhuǎn)化為η條并列且容量為1的邊,完成初始化,跳轉(zhuǎn)至步驟102 ;
[0007]102、獲取步驟101中經(jīng)過(guò)初始化后網(wǎng)絡(luò)拓?fù)銰 (V,E)的源節(jié)點(diǎn)S及目的節(jié)點(diǎn)集t,構(gòu)造源節(jié)點(diǎn)S到目的節(jié)點(diǎn)集t的多播樹,確定源節(jié)點(diǎn)S到目的節(jié)點(diǎn)集t的最大多播速率T,并設(shè)定目的節(jié)點(diǎn)的接收速率為k,其中1 < k < T ;獲取源節(jié)點(diǎn)S到目的節(jié)點(diǎn)ti所有存在的N條路徑,其中目的節(jié)點(diǎn)\為目的節(jié)點(diǎn)集t中的一個(gè)元素,計(jì)算出該目的節(jié)點(diǎn)\的k條邊路徑組合的方式IV產(chǎn)生基因庫(kù),并采用遺傳算法構(gòu)造源節(jié)點(diǎn)S到目的節(jié)點(diǎn)集t的染色體種群,每個(gè)染色體表示網(wǎng)絡(luò)的一種路由方式,其中每個(gè)染色體由與目的節(jié)點(diǎn)的個(gè)數(shù)相等的U個(gè)基因組成,每個(gè)基因表示源節(jié)點(diǎn)S到對(duì)應(yīng)目的節(jié)點(diǎn)ti的一種路徑;
[0008]103、構(gòu)造步驟102中染色體的適應(yīng)度函數(shù)
[0009]f^afNC (R)+a2*NCL,且 ai>a2
[0010]式中,f為適應(yīng)度函數(shù)值;NC(R)為滿足多播請(qǐng)求速率的多播樹的鏈路代價(jià),Ncl為編碼鏈路數(shù)目為權(quán)重系數(shù);
[0011]當(dāng)適應(yīng)度函數(shù)f根據(jù)遺傳算法迭代更新的次數(shù)大于或者等于設(shè)定次數(shù)N1時(shí),則輸出該最優(yōu)染色體的路徑及適應(yīng)度函數(shù)值f,跳轉(zhuǎn)至步驟106 ;或當(dāng)適應(yīng)度函數(shù)f根據(jù)遺傳算法迭代更新的次數(shù)大于N2且適應(yīng)度函數(shù)值f不變時(shí),則輸出該最優(yōu)染色體的路徑及適應(yīng)度函數(shù)值f,跳轉(zhuǎn)至步驟106,結(jié)束;否則,跳轉(zhuǎn)至步驟104 ;
[0012]104、采用比例選擇法對(duì)步驟103中的染色體加入到初始染色體種群中,并依次經(jīng)過(guò)交叉步驟、變異步驟求得最優(yōu)染色體及適應(yīng)度函數(shù)值;
[0013]105、對(duì)步驟1 04中求得的最優(yōu)染色體及適應(yīng)度函數(shù)值代入步驟102建立的染色體種群中,刪除掉適應(yīng)度函數(shù)值大于該最優(yōu)染色體適應(yīng)度函數(shù)值的基因;
[0014]106、輸出最終的最優(yōu)染色體及其適應(yīng)度值,并按照該最優(yōu)染色體所代表的源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路徑進(jìn)行路由。
[0015]進(jìn)一步的,步驟104中的比例選擇法為輪盤選擇或蒙特卡羅選擇法。
[0016]進(jìn)一步的,步驟104中的交叉步驟包括:
[0017]A1、隨機(jī)選取2個(gè)染色體作為父代染色體;
[0018]A2、對(duì)染色體中的每一個(gè)基因產(chǎn)生一個(gè)0到1之間隨機(jī)數(shù)字,用于隨機(jī)判斷2個(gè)父代染色體是否進(jìn)行交叉操作;
[0019]A3、當(dāng)步驟A2中隨機(jī)產(chǎn)生的數(shù)字小于p。時(shí),2個(gè)染色體進(jìn)行染色體交叉操作產(chǎn)生2個(gè)子代染色體,判斷步驟A2隨機(jī)產(chǎn)生的數(shù)字是否小于p。,若該隨機(jī)值小于p。,則將2個(gè)父代染色體中對(duì)應(yīng)的基因進(jìn)行交叉互換;否則,2個(gè)父代染色體中對(duì)應(yīng)的基因保持不變;其中P。為交叉概率,其中交叉概率P。取值范圍為0.6~0.98 ;
[0020]A4、判斷步驟A3中產(chǎn)生的子代染色體的適應(yīng)度函數(shù)值是否小于父代染色體的適應(yīng)度函數(shù)值,若是,跳轉(zhuǎn)至步驟A5 ;
[0021]A5、用子代染色體代替父代中適應(yīng)度函數(shù)值較大的父代染色體。
[0022]進(jìn)一步的,步驟104中的變異步驟包括:
[0023]B1、選擇一個(gè)染色體,對(duì)染色體中的每一個(gè)基因產(chǎn)生一個(gè)0到1之間隨機(jī)數(shù)字;
[0024]B2、判斷步驟B1中每個(gè)基因的隨機(jī)數(shù)字是否小于變異概率pm,若是,在該目的節(jié)點(diǎn)對(duì)應(yīng)的基因庫(kù)中隨機(jī)選擇一個(gè)整數(shù)代替原始基因位上的數(shù)字,即選擇另一種邊分離路徑組合方式;否則,該基因位上的數(shù)字保持不變。
[0025]本發(fā)明的優(yōu)點(diǎn)及有益效果如下:
[0026]本發(fā)明首先在網(wǎng)絡(luò)邊容量初始化的圖中,搜索源節(jié)點(diǎn)到每個(gè)多播目的節(jié)點(diǎn)的所有通路,并在這些通路中尋找滿足多播請(qǐng)求速率的所有邊分離路徑的組合方式,然后以邊分離路徑組合方式來(lái)構(gòu)造染色體,一種滿足多播速率請(qǐng)求的邊分離路徑組合方式對(duì)應(yīng)一個(gè)染色體的一個(gè)基因,這樣,一個(gè)染色體代表一棵光多播樹,遺傳算法進(jìn)行選擇、交叉、變異操作都基于染色體;為了防止遺傳算法的進(jìn)化毫無(wú)目的,因而本專利根據(jù)最小代價(jià)多播樹優(yōu)化目標(biāo)設(shè)置了相應(yīng)的適應(yīng)度函數(shù)來(lái)控制光多播樹的進(jìn)化方向,使光多播樹朝著鏈路數(shù)目總和最少、編碼操作次數(shù)最少的方向進(jìn)化;為了防止一些不好的基因被遺傳到下一代染色體中,本專利通過(guò)將這些劣質(zhì)基因去除來(lái)達(dá)到降低所求光多播樹的代價(jià)的目的。
【專利附圖】
【附圖說(shuō)明】
[0027]圖1 一種基于遺傳算法的光多播樹最小代價(jià)路由方法流程圖;
[0028]圖2網(wǎng)絡(luò)邊的初始化;
[0029]圖3基因庫(kù)構(gòu)造方式;
[0030]圖4染色體交叉操作;
[0031 ] 圖5染色體變異操作。
【具體實(shí)施方式】
[0032]下面結(jié)合附圖給出一個(gè)非限定性的實(shí)施例對(duì)本發(fā)明作進(jìn)一步的闡述。
[0033]本發(fā)明提出一種基于遺傳算法的光多播樹最小代價(jià)路由方法。對(duì)到達(dá)光網(wǎng)絡(luò)輸入節(jié)點(diǎn)的光多播請(qǐng)求,首先根據(jù)光多播請(qǐng)求速率初始化網(wǎng)絡(luò)的邊,在邊初始化后的網(wǎng)絡(luò)中找到所有滿足多播速率請(qǐng)求的邊分離路徑的組合方式,構(gòu)造基因庫(kù),并構(gòu)造滿足多播請(qǐng)求的多播樹染色體,對(duì)染色體進(jìn)行選擇、交叉、變異、去除劣質(zhì)基因的迭代過(guò)程尋找最小代價(jià)光多播樹。其中,去除劣質(zhì)基因是通過(guò)計(jì)算基因?qū)?yīng)的適應(yīng)度函數(shù)值是否高于本輪迭代中最優(yōu)染色體的適應(yīng)度函數(shù)值決定該基因是否為劣質(zhì)基因。
[0034]下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步說(shuō)明。
[0035]一種基于遺傳算法的光多播樹最小代價(jià)路由方法的流程圖如圖1所示,其具體實(shí)施步驟如下:
[0036]第1步:讀取網(wǎng)絡(luò)拓?fù)銰 (V,E),網(wǎng)絡(luò)中邊容量全部為單位流量的整數(shù)倍,將網(wǎng)絡(luò)中邊容量為η (η ^ 2)的邊轉(zhuǎn)化為η條容量為1的邊,即單位流量邊,完成網(wǎng)絡(luò)邊的初始化過(guò)程。
[0037]第2步:確定多播目的節(jié)點(diǎn)的信息接收速率,構(gòu)造染色體種群。首先根據(jù)網(wǎng)絡(luò)拓?fù)浜投嗖フ?qǐng)求,確定目的節(jié)點(diǎn)的接收速率,假設(shè)為k (1 < k < Τ,Τ為最大多播速率);然后,尋找源節(jié)點(diǎn)到每個(gè)目的節(jié)點(diǎn)的所有路徑,為每個(gè)目的節(jié)點(diǎn)確定k條邊分離路徑組合的方式,假設(shè)目的節(jié)點(diǎn)i具有&種組合方式,即該目的節(jié)點(diǎn)有mi種基因。本發(fā)明中每個(gè)染色體由t個(gè)基因組成,其中t為目的節(jié)點(diǎn)的個(gè)數(shù),隨機(jī)從[l,mi]中選取一個(gè)整數(shù)作為基因i的取值。
[0038]第3步:判斷算法是否滿足終止條件。這里終止條件為2個(gè),滿足其中任意一個(gè)就輸出最優(yōu)染色體及適應(yīng)度函數(shù)值:(1)迭代的次數(shù)達(dá)到預(yù)先設(shè)定次數(shù)N1,預(yù)先設(shè)定次數(shù)是根據(jù)網(wǎng)絡(luò)規(guī)模大小確定,如14節(jié)點(diǎn)網(wǎng)絡(luò)可設(shè)置迭代200次;(2)最優(yōu)染色體的適應(yīng)度值連續(xù)N2代都未發(fā)生變化,這里N2優(yōu)選取值20。滿足上述其中一個(gè)條件,則跳轉(zhuǎn)到第9步。
[0039]第4步:染色體選擇。染色體選擇的作用是從第2步中產(chǎn)生的染色體種群里選取一部分適應(yīng)度函數(shù)值< N3的染色體加入到初始染色體種群中,這里N3優(yōu)選取值我們采用比例選擇方法選擇染色體,比例選擇法也被稱作輪盤選擇或蒙特卡羅選擇法。比例選擇法的基本思想是讓適應(yīng)度函數(shù)值(這里為fp較小的個(gè)體被選中的概率較大,適應(yīng)度函數(shù)值較大的個(gè)體被選中的概率較小。設(shè)染色體j被選擇的概率為Pp其表達(dá)式為:
【權(quán)利要求】
1.一種基于遺傳算法的光多播樹最小代價(jià)路由方法,其特征在于,包括以下步驟:101、獲取網(wǎng)絡(luò)拓?fù)銰(V,E),其中V表示網(wǎng)絡(luò)拓?fù)銰的節(jié)點(diǎn)集,E表示網(wǎng)絡(luò)中節(jié)點(diǎn)之間的連接邊,當(dāng)連接邊的容量η > 2時(shí),則將該連接邊轉(zhuǎn)化為η條并列且容量為1的邊,完成初始化,跳轉(zhuǎn)至步驟102 ;102、獲取步驟101中經(jīng)過(guò)初始化后網(wǎng)絡(luò)拓?fù)銰(V,Ε)的源節(jié)點(diǎn)S及目的節(jié)點(diǎn)集t,構(gòu)造源節(jié)點(diǎn)S到目的節(jié)點(diǎn)集t的多播樹,確定源節(jié)點(diǎn)S到目的節(jié)點(diǎn)集t的最大多播速率T,并設(shè)定目的節(jié)點(diǎn)的接收速率為k,其中1 < k < T ;獲取源節(jié)點(diǎn)S到目的節(jié)點(diǎn)\所有存在的N條路徑,其中目的節(jié)點(diǎn)\為目的節(jié)點(diǎn)集t中的一個(gè)元素,計(jì)算出該目的節(jié)點(diǎn)\的k條邊路徑組合的方式IV產(chǎn)生基因庫(kù),并采用遺傳算法構(gòu)造源節(jié)點(diǎn)S到目的節(jié)點(diǎn)集t的染色體種群,每個(gè)染色體表示網(wǎng)絡(luò)的一種路由方式,其中每個(gè)染色體由與目的節(jié)點(diǎn)的個(gè)數(shù)相等的U個(gè)基因組成,每個(gè)基因表示源節(jié)點(diǎn)S到對(duì)應(yīng)目的節(jié)點(diǎn)\的一種路徑;103、構(gòu)造步驟102中染色體的適應(yīng)度函數(shù)f=a1*NC (R) +a2*NCL,且 a1>a2式中,f為適應(yīng)度函數(shù)值;NC(R)為滿足多播請(qǐng)求速率的多播樹的鏈路代價(jià),Ncl為編碼鏈路數(shù)目;ap a2為權(quán)重系數(shù);當(dāng)適應(yīng)度函數(shù)f根據(jù)遺傳算法迭代更新的次數(shù)大于或者等于設(shè)定次數(shù)N1時(shí),則輸出該最優(yōu)染色體的路徑及適應(yīng)度函數(shù)值f,跳轉(zhuǎn)至步驟106 ;或當(dāng)適應(yīng)度函數(shù)f根據(jù)遺傳算法迭代更新的次數(shù)大于N2且適應(yīng)度函數(shù)值f不變時(shí),則輸出該最優(yōu)染色體的路徑及適應(yīng)度函數(shù)值f,跳轉(zhuǎn)至步驟106,結(jié)束;否則,跳轉(zhuǎn)至步驟104 ;104、采用比例選擇法對(duì)步驟103中的染色體加入到初始染色體種群中,并依次經(jīng)過(guò)交叉步驟、變異步驟求得最優(yōu)染色體及適應(yīng)度函數(shù)值;105、對(duì)步驟104中求得的最優(yōu)染色體及適應(yīng)度函數(shù)值代入步驟102建立的染色體種群中,刪除掉適應(yīng)度函數(shù)值大于該最優(yōu)染色體適應(yīng)度函數(shù)值的基因;106、輸出最終的最優(yōu)染色體及其適應(yīng)度值,并按照該最優(yōu)染色體所代表的源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路徑進(jìn)行路由。
2.根據(jù)權(quán)利要求1所述的一種基于遺傳算法的光多播樹最小代價(jià)路由方法,其特征在于:步驟104中的比例選擇法為輪盤選擇或蒙特卡羅選擇法。
3.根據(jù)權(quán)利要求1所述的一種基于遺傳算法的光多播樹最小代價(jià)路由方法,其特征在于,步驟104中的交叉步驟包括:A1、隨機(jī)選取2個(gè)染色體作為父代染色體;A2、對(duì)染色體中的每一個(gè)基因產(chǎn)生一個(gè)0到1之間隨機(jī)數(shù)字,用于隨機(jī)判斷2個(gè)父代染色體是否進(jìn)行交叉操作;A3、當(dāng)步驟A2中隨機(jī)產(chǎn)生的數(shù)字小于p。時(shí),2個(gè)染色體進(jìn)行染色體交叉操作產(chǎn)生2個(gè)子代染色體,判斷步驟A2隨機(jī)產(chǎn)生的數(shù)字是否小于p。,若該隨機(jī)值小于p。,則將2個(gè)父代染色體中對(duì)應(yīng)的基因進(jìn)行交叉互換;否則,2個(gè)父代染色體中對(duì)應(yīng)的基因保持不變;其中p。為交叉概率,其中交叉概率P。取值范圍為0.6~0.98 ;A4、判斷步驟A3中產(chǎn)生的子代染色體的適應(yīng)度函數(shù)值是否小于父代染色體的適應(yīng)度函數(shù)值,若是,跳轉(zhuǎn)至步驟A5;A5、用子代染色體代替父代中適應(yīng)度函數(shù)值較大的父代染色體。
4.根據(jù)權(quán)利要求1所述的一種基于遺傳算法的光多播樹最小代價(jià)路由方法,其特征在于,步驟104中的變異步驟包括:B1、選擇一個(gè)染色體,對(duì)染色體中的每一個(gè)基因產(chǎn)生一個(gè)0到1之間隨機(jī)數(shù)字;B2、判斷步驟B1中每個(gè)基因的隨機(jī)數(shù)字是否小于變異概率pm,若是,在該目的節(jié)點(diǎn)對(duì)應(yīng)的基因庫(kù)中隨機(jī)選擇一個(gè)整數(shù)代替原始基因位上的數(shù)字,即選擇另一種邊分離路徑組合方式;否則,該基因位上的 數(shù)字保持不變。
【文檔編號(hào)】H04L12/761GK103685020SQ201310606366
【公開日】2014年3月26日 申請(qǐng)日期:2013年11月25日 優(yōu)先權(quán)日:2013年11月25日
【發(fā)明者】劉煥淋, 秦亮, 陳高翔, 代洪躍, 徐一帆 申請(qǐng)人:重慶郵電大學(xué)