有向邊,W單位時間Is為間隔把在給定的時間范圍T= 5s分割成5個時間段,每 條邊上有一個容量時間序列C(T) =(Cl,...,Ct,...,Cm),例如邊化A)的容量時間序列 。,4燈)=(2, 0, 3, 0, 0),同時每個節(jié)點都有存儲傳遞序列NOO=(叫,...,n". . .,r〇,并初 始化為[0, 0, 0, 0, 0]。
[0037] 步驟2,在時間聚合圖中尋找增廣路徑L。
[0038] (2a)設定時間聚合圖所描述的延遲容忍網(wǎng)絡的當前最大流為Wfmgy(T),并初始化 為0 ;
[0039] (2b)將源點S設為增廣路徑L的當前找路節(jié)點并將該節(jié)點的找路出發(fā)時間tg設 定在第1個時段內(nèi)即tg= 1 ; W40] (2c)利用當前找路節(jié)點的存儲傳遞序列N(T)=咕,...,n。. . .,r〇對當前節(jié)點 的找路出發(fā)時間進行更新,得到當前節(jié)點新的出發(fā)時間tg:
[0041] 更新過程:從存儲傳遞序列N(T)=(叫,...,nt1. . .,n。. . .,r〇中選擇與節(jié)點的 出發(fā)時間t,相對應的第t位元素nt,若Ht= 0,則出發(fā)時間保持t,=t不變,否則,依次判 斷存儲傳遞序列的1,. ..,riti,. . .,rii元素,如果出現(xiàn)nti= 0,更新起始時間t,=t-i;
[0042] 本實施例,是把源點S設為增廣路徑L的當前找路節(jié)點,設置找路出發(fā)時間tg= 1,依據(jù)節(jié)點S的存儲傳遞序列S(T) = [0, 0,0,0,0],得到源點S的找路出發(fā)時間保持t,= 1不變,如附圖3(a)所示;
[0043](2d)依據(jù)當前節(jié)點的鄰接關(guān)系,找到W當前節(jié)點為起始節(jié)點的所有鄰接鏈路,并 在運些鄰接鏈路中找出所有有效的鄰接鏈路:若鏈路連通的時間段t滿足t>tg,且鏈路 容量Ct> 0,則該鏈路是有效的鄰接鏈路,否則,該鏈路是無效的鄰接鏈路;
[0044] (2e)判斷當前節(jié)點是否有鄰接鏈路或是否有有效的鄰接鏈路,若有,則執(zhí)行步驟 (2f),否則,從所有有效的鄰接鏈路中選擇具有最早連通時段t' =min(t)的一條有效鄰接 鏈路,將此鏈路的終止節(jié)點作為增廣路徑L的下一跳節(jié)點,并將此鏈路的終止節(jié)點設置為 新的當前找路節(jié)點,設定當前節(jié)點的找路出發(fā)時間為tg=t',執(zhí)行步驟(2g); W45] 本實施例中,源點S的有效鄰接鏈路有(S,A)和(S,B),對應的有效連通時段分別 為t(S,A) =l,t(S,A) = 3和t(S,B) = 2,選擇具有最早有效連通時段(t' =min(l,3,2) =I)的鄰接鏈路化A),將鏈路化A)的終止節(jié)點A作為增廣路徑L的下一跳節(jié)點,并將節(jié) 點A設置為新的當前找路節(jié)點,并設定當前節(jié)點A的找路出發(fā)時間為tg=t' = 1,如附圖 3 (a)所示;
[0046] (2f)若當前節(jié)點為源點S,則不存在增廣路徑,執(zhí)行步驟化),否則將當前節(jié)點的 上一跳鄰接鏈路設為無效,在增廣路徑L中刪除該節(jié)點,同時把當前節(jié)點的上一跳節(jié)點設 為增廣路徑L新的當前找路節(jié)點,返回步驟(2c);
[0047] (2g)若當前節(jié)點為終點d,則執(zhí)行步驟(3),否則,返回步驟(2c)。 柳4引本實施例,是通過循環(huán)尋找下一跳,得到節(jié)點A的下一跳節(jié)點B和節(jié)點B的下一跳 節(jié)點D,由于節(jié)點D是終點,所W得到增廣路徑L:S-A-B-D,如附圖3(a)所示。
[0049] 步驟3,計算增廣路徑L的最大流。
[0050](3a)設定增廣路徑L的當前最大流為Tfm。、(T),并初始化為無窮大,選取增廣路徑 L的最后一跳鏈路作為當前鏈路;
[0051] 本實施例,是選取增廣路徑L:S-A-B-D的最后一跳鏈路化D)作為當前鏈 路,如附圖3(b)所示;
[0052] (3b)根據(jù)當前鏈路終止節(jié)點的存儲傳遞序列,計算當前鏈路的容量時間序列 Cu^y(T)與增廣路徑L的當前最大流Tfmgy(T)之間所允許的最大流Pfmay(T),更新增廣路徑L 的當前最大流Tfmgy(T) =Pfmay(T),其中計算所允許的最大流Pfmay(T)按照如下步驟:
[0053] (3bl)設復制容量時間序列CC。,V(T) =C。,V(T),獲得當前的可行流tfi(T)= 111111腳。,、訊,1'"_訊},依據(jù)當前的可行流*'1訊分別對復制容量時間序列0;,、訊和當 前最大流Tfm。, (T)進行更新,得到新的復制容量時間序列--//'i('〇,新的 當前最大流巧L(r)二77,m、(7>-滬(D;
[0054](3b2)根據(jù)當前鏈路終止節(jié)點的儲存?zhèn)鬟f序列N(T),從更新的復制容量時間序列 (n中的最后一個元素開始,依次進行如下回流操作:
[0055] 設回流量為0,并初始化片=(:<,,的,其中cqi。,灼是cG,,,(n中的元素,從N(T) 中選擇第t位元素rit作為當前元素ni=nt,并將時段t作為回流起始時段,判斷當前元素 的數(shù)值:若n;聲0,則回流變化量a=min{ni, 0 },回流量0 =a,將當前元素的前一個 元素作為新的當前元素,循環(huán)當前元素的數(shù)值判斷過程,否則,將時段i-1作為回流終止時 段,回流變化量a 心、1),0 },回流量0 =a,回流起始流量點W=公和回流終 止流量Tfi(i-1) = 0 ;
[0056] 姊扣重復步驟(3b。的回流操作,當復制容量時間序列Cr,;,(r)中的所有元素 回流結(jié)束后,可得到回流起始序列乂,,(巧和回流終止序列Tfi(T),依據(jù)乂,,件)和Tfi(T) 分別對當前的可行流tfi(T)、復制容量時間序列c'ctC巧和當前最大流巧l、(r)進行更 新,得到更新后的當前的可行流//'Yn=//'I(r) + /;,|, (7'),更新后的復制容量時間序列 cc,:.、.(r) =CC,;, (7) - ,更新后的當前最大流說K(T) = 77ix(r)-礦(r); W57] (3b4)依據(jù)當前鏈路終止節(jié)點的存儲特性,從更新后的容量時間序列 cG.,,(r)中最后一個元素開始依次進行順流,并將每次順流的起始流量記為的,在CC:,件)中所有元素順流結(jié)束后得到順流起始序列./:,2,, (r),由此得到所允許的最大流 巧;= ?'八7) + /,二仍,其中順流是指數(shù)據(jù)從當前時段t流到之后的時段j,t《j《m, m是指在給定的時間范圍T內(nèi)W單位時間為間隔分割的時間段;
[0058] 本實施例,是通過上述步驟計算出鏈路化D)的容量時間序列Ce,D(T)與增廣路徑 L的當前最大流Tfm。、燈)之間所允許的最大流Pfm。、燈)=(0, 0, 0, 2, 0),更新增廣路徑L的 當前最大流Tfmax(T) =Pfmax(T) = (0, 0, 0, 2, 0),如附圖3化)所示;
[0059] (3c)判斷當前鏈路是否為增廣路徑L的第一跳鏈路:若是,則得到增廣路徑L的 最大流Lfmgy(T) =Tfmgy(T),執(zhí)行步驟(4),否則,選擇此鏈路的前一跳鏈路作為當前鏈路, 返回步驟(3b)。
[0060] 本實施例,是通過重復計算各鏈路容量序列與當前路徑最大流之間所允許的最大 流PCx燈),最終得到增廣路徑S-A-B-D的路徑最大流LCx燈)=化0, 0, 0, 0),如附 圖3(b)所示。
[0061] 步驟4,獲得剩余路徑。
[0062](4a)設定增廣路徑L的暫時最大流為Zfm。、(T) =Lfm。、(T),選取增廣路徑L的第一 跳鏈路作為當前鏈路;
[0063] 本實施例,是設定增廣路徑L:S-A-B-D的暫時最大流為Zfm。,訊=Lfmex訊 =(2, 0, 0, 0, 0),選取增廣路徑L:S-A-B-D中第一條鏈路化A)作為當前鏈路,如附 圖3化)所示;
[0064] (4b)根據(jù)當前鏈路起始節(jié)點的存儲傳遞序列,計算增廣路徑L的暫時最大流 Zfmay(T)與當前鏈路的容量時間序列Cu,y(T)之間所允許的可行流fu,y(T),其實現(xiàn)步驟如 下: 陽0化](4bl)設定拷貝容量時間序列CC'UiV(T) =C。,V(T),獲得暫時的可行流Zfi(T)=mi