发明名称 面向负载均衡的IP网络弹性路由层优化方法
摘要 本发明公开了一种面向负载均衡的IP网络弹性路由层优化方法,用于解决现有IP网络快速重路由方法链路传输效率低的技术问题。技术方案是首先建立层次化RRL技术体系,其次将RRL生成过程以矩阵的形式表示,建立了一种避免拥塞发生的IP网络RRL结构优化模型,优化目标为最小化平均最短重路由路径和最大链路利用率的加权和,在避免拥塞发生的条件下联合考虑最短重路由路径问题和负载均衡问题,最后采用单亲遗传算法对建立的RRL结构优化模型进行求解,得到了既考虑负载均衡又考虑链路传输效率的RRL优化结果,实现了受损路径的有效快速修复,并克服了MRC快速重路由算法存在的复杂度高、修改拓扑信息等技术问题。
申请公布号 CN103716250B 申请公布日期 2017.01.25
申请号 CN201410008336.2 申请日期 2014.01.06
申请人 中国人民解放军空军工程大学 发明人 孟相如;伍文;任清华;徐有;陈天平;康巧燕;庄绪春;李纪真
分类号 H04L12/803(2013.01)I;H04L12/701(2013.01)I;H04L12/721(2013.01)I 主分类号 H04L12/803(2013.01)I
代理机构 西北工业大学专利中心 61204 代理人 王鲜凯
主权项 一种面向负载均衡的IP网络弹性路由层优化方法,其特征在于包括以下步骤:步骤一、建立层次化RRL技术体系,最底层为RRL技术平台;第二层为路由子层生成算法,用于得到确定的路由子层分配方案;第三层为转发流量的分发方式;第四层为RRL的应用模式;步骤二、RRL定义的矩阵表示;网络IP层拓扑是由节点和链路构成的无向图,记为G(V,E),其中,V表示顶点的集合,E表示边的集合;若图的顶点个数为n,则表示为一个n×n的矩阵,用D=(d<sub>ij</sub>)<sub>n×n</sub>表示,其中<img file="FDA0001111840870000011.GIF" wi="1334" he="150" />式中,(i,j)表示连接顶点i和j的一条边;对于带权值的图<img file="FDA0001111840870000012.GIF" wi="1310" he="149" />式中,w(i,j)表示链路(i,j)的权值,矩阵D沿主对角线对称;定义1:若拓扑矩阵D<sup>F</sup>与D<sup>1</sup>、D<sup>2</sup>、…、D<sup>l</sup>满足如下关系,<maths num="0001"><math><![CDATA[<mrow><msup><mi>D</mi><mi>F</mi></msup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>l</mi><mo>-</mo><mn>1</mn></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>l</mi></munderover><msup><mi>D</mi><mi>k</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001111840870000013.GIF" wi="1190" he="135" /></maths>且满足矩阵<img file="FDA0001111840870000014.GIF" wi="202" he="143" />中的元素全部为非零或非∞元素,该条件表示各拓扑子层必须是连通的,n为矩阵的阶数,则矩阵D<sup>1</sup>、D<sup>2</sup>、…、D<sup>l</sup>所表示的网络拓扑组合为矩阵D<sup>F</sup>所表示的网络拓扑生成的一组RRL;其中,l为拓扑子层的层数;定义2:最短路径矩阵P=(p<sub>ij</sub>)<sub>n×n</sub>表示一个n阶图中各顶点间的最短路径,对于无权图,元素p<sub>ij</sub>为顶点i与顶点j之间的最少边数,对于有权图,元素p<sub>ij</sub>为顶点i与顶点j之间最短通路的权值和;步骤三、面向负载均衡的IP网络RRL优化问题描述;(1)给定已知常量;a.网络拓扑信息,包括:节点数n=|V|,链路数|E|,拓扑矩阵<img file="FDA0001111840870000021.GIF" wi="294" he="79" />b.流量需求矩阵D<sup>T</sup>;c.链路容量矩阵C;d.故障状态集合F,无故障状态表示为f<sup>0</sup>,第e个链路故障表示为f<sup>e</sup>;e.平均最短重路由路径及负载均衡调节权重ω<sub>sp</sub>、ω<sub>lb</sub>;f.链路重要度权重<img file="FDA0001111840870000022.GIF" wi="83" he="69" />表示网络中第e个链路的重要度;由已知常量,根据Dijkstra算法计算得到以下量,将用于目标函数的计算中:a.变量<img file="FDA0001111840870000023.GIF" wi="131" he="79" />正常状态f<sup>0</sup>时,链路(i,j)承载节点I到节点J的流量,则<img file="FDA0001111840870000024.GIF" wi="204" he="79" />否则<img file="FDA0001111840870000025.GIF" wi="216" he="79" />(i,j)∈E,I、J∈V;b.变量<img file="FDA0001111840870000026.GIF" wi="141" he="78" />从节点I到节点J的无故障传输路径上,若包含故障状态f<sup>e</sup>的故障链路,则从节点I到故障链路上游节点I<sub>e</sub>的路径上,链路(i,j)包含其中,则<img file="FDA0001111840870000027.GIF" wi="213" he="78" />否则,<img file="FDA0001111840870000028.GIF" wi="222" he="83" />c.变量<img file="FDA0001111840870000029.GIF" wi="150" he="79" />从节点I到节点J的无故障传输路径上,若包含故障状态f<sup>e</sup>的故障链路,该故障链路下游节点J<sub>e</sub>到节点J的路径上,链路(i,j)包含其中,则<img file="FDA00011118408700000210.GIF" wi="230" he="77" />否则,<img file="FDA00011118408700000211.GIF" wi="235" he="78" />(2)给定决策变量;a.拓扑子层层数l;b.拓扑子层矩阵D<sup>k</sup>(F<sub>p</sub>),1≤k≤l,F<sub>p</sub>表示该拓扑子层保护的故障状态集合;c.变量<img file="FDA00011118408700000212.GIF" wi="130" he="74" />故障状态f<sup>e</sup>时,在保护该故障状态的弹性路由拓扑子层上,链路(i,j)承载节点I到节点J的重路由流量,则<img file="FDA00011118408700000213.GIF" wi="202" he="71" />否则<img file="FDA00011118408700000214.GIF" wi="211" he="71" />由决策变量得到:d.故障状态为f<sup>e</sup>时,平均重路由路径增加值为<maths num="0002"><math><![CDATA[<mrow><msup><mi>&Delta;s</mi><mi>e</mi></msup><mo>=</mo><mfrac><mrow><munderover><mo>&Sigma;</mo><mrow><mi>I</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>J</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mi>p</mi><mi>g</mi><mi>t</mi><mrow><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>(</mo><mrow><msubsup><mi>X</mi><mrow><mi>i</mi><mi>j</mi><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>&CenterDot;</mo><msubsup><mi>d</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><mrow><mo>(</mo><msub><mi>F</mi><mi>p</mi></msub><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><mrow><msubsup><mi>X</mi><mrow><mi>i</mi><mi>j</mi><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mn>0</mn></msubsup><mo>-</mo><msubsup><mi>X</mi><mrow><mi>i</mi><mi>j</mi><mo>,</mo><msub><mi>II</mi><mi>e</mi></msub></mrow><mn>0</mn></msubsup></mrow><mo>)</mo></mrow><mo>&CenterDot;</mo><msubsup><mi>d</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>F</mi></msubsup></mrow><mo>)</mo><mo>)</mo></mrow></mrow><mrow><mi>n</mi><mo>&times;</mo><mi>n</mi></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00011118408700000215.GIF" wi="1547" he="199" /></maths>其中,函数pgt定义如下<img file="FDA0001111840870000031.GIF" wi="1221" he="149" />e.故障状态为f<sup>e</sup>时,最大链路利用率为<maths num="0003"><math><![CDATA[<mrow><msup><mi>&eta;</mi><mi>e</mi></msup><mo>=</mo><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></munder><mrow><mo>(</mo><mfrac><mrow><munderover><mo>&Sigma;</mo><mrow><mi>I</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>J</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo>(</mo><msubsup><mi>X</mi><mrow><mi>i</mi><mi>j</mi><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mn>0</mn></msubsup><mo>+</mo><msubsup><mi>X</mi><mrow><mi>i</mi><mi>j</mi><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>-</mo><msubsup><mi>X</mi><mrow><mi>i</mi><mi>j</mi><mo>,</mo><msub><mi>J</mi><mi>e</mi></msub><mi>J</mi></mrow><mn>0</mn></msubsup><mo>)</mo></mrow><mo>&CenterDot;</mo><msubsup><mi>d</mi><mrow><mi>I</mi><mi>J</mi></mrow><mi>T</mi></msubsup></mrow><msub><mi>c</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mfrac><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001111840870000032.GIF" wi="1446" he="207" /></maths>(3)建立面向负载均衡的RRL生成优化模型优化问题描述如下:<maths num="0004"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow></mtd><mtd><mrow><msub><mi>&omega;</mi><mrow><mi>s</mi><mi>p</mi></mrow></msub><mo>&CenterDot;</mo><munderover><mo>&Sigma;</mo><mrow><mi>e</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>E</mi><mo>|</mo></mrow></munderover><msubsup><mi>&omega;</mi><mi>l</mi><mi>e</mi></msubsup><mo>&CenterDot;</mo><msup><mi>&Delta;s</mi><mi>e</mi></msup><mo>+</mo><mi>&rho;</mi><mo>&CenterDot;</mo><msub><mi>&omega;</mi><mrow><mi>l</mi><mi>b</mi></mrow></msub><mo>&CenterDot;</mo><munderover><mo>&Sigma;</mo><mrow><mi>e</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>E</mi><mo>|</mo></mrow></munderover><msubsup><mi>&omega;</mi><mi>l</mi><mi>e</mi></msubsup><mo>&CenterDot;</mo><msup><mi>&eta;</mi><mi>e</mi></msup></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001111840870000033.GIF" wi="1454" he="156" /></maths>s.t. 2≤l≤ξ·|E|,0≤ξ≤1       (8)<maths num="0005"><math><![CDATA[<mrow><msup><mi>D</mi><mi>F</mi></msup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>l</mi><mo>-</mo><mn>1</mn></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>l</mi></munderover><msup><mi>D</mi><mi>k</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001111840870000034.GIF" wi="1166" he="142" /></maths><maths num="0006"><math><![CDATA[<mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>(</mo><msup><mi>D</mi><mi>k</mi></msup><mo>)</mo></mrow><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></msup><mo>=</mo><msub><mrow><mo>(</mo><msubsup><mi>d</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><mo>)</mo></mrow><mrow><mi>n</mi><mo>&times;</mo><mi>n</mi></mrow></msub><mo>&cap;</mo><munderover><mo>&Pi;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mo>&Pi;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msubsup><mi>d</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><mo>&NotEqual;</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001111840870000035.GIF" wi="1396" he="149" /></maths><maths num="0007"><math><![CDATA[<mrow><msup><mi>D</mi><mi>F</mi></msup><mo>-</mo><msup><mi>D</mi><mi>k</mi></msup><mo>=</mo><msub><mrow><mo>(</mo><msubsup><mi>d</mi><mrow><mi>i</mi><mi>j</mi></mrow><mrow><mo>(</mo><mrow><mi>F</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mrow><mi>n</mi><mo>&times;</mo><mi>n</mi></mrow></msub><mo>&cap;</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msubsup><mi>d</mi><mrow><mi>i</mi><mi>j</mi></mrow><mrow><mo>(</mo><mrow><mi>F</mi><mo>-</mo><mi>k</mi></mrow><mo>)</mo></mrow></msubsup><mo>&le;</mo><mi>c</mi><mi>e</mi><mi>i</mi><mi>l</mi><mrow><mo>(</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msubsup><mi>d</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>F</mi></msubsup></mrow><mi>l</mi></mfrac><mo>)</mo></mrow><mo>,</mo><mrow><mo>(</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>l</mi></mrow><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001111840870000036.GIF" wi="1670" he="215" /></maths><maths num="0008"><math><![CDATA[<mrow><msubsup><mi>X</mi><mrow><mi>i</mi><mi>j</mi><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>&le;</mo><msubsup><mi>d</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><mrow><mo>(</mo><msub><mi>F</mi><mi>p</mi></msub><mo>)</mo></mrow><mo>,</mo><mo>&ForAll;</mo><msup><mi>f</mi><mi>e</mi></msup><mo>&Element;</mo><msub><mi>F</mi><mi>p</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001111840870000037.GIF" wi="1307" he="78" /></maths><maths num="0009"><math><![CDATA[<mrow><msubsup><mi>X</mi><mrow><msub><mi>Ii</mi><mn>1</mn></msub><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>&CenterDot;</mo><msubsup><mi>X</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><msub><mi>i</mi><mn>2</mn></msub><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>&CenterDot;</mo><msubsup><mi>X</mi><mrow><msub><mi>i</mi><mn>2</mn></msub><msub><mi>i</mi><mn>3</mn></msub><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>...</mo><msubsup><mi>X</mi><mrow><msub><mi>i</mi><msub><mi>n</mi><mrow><mi>I</mi><mi>J</mi></mrow></msub></msub><mi>J</mi><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msubsup><mi>X</mi><mrow><msub><mi>Ii</mi><mn>1</mn></msub><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>)</mo></mrow><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msubsup><mi>X</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><msub><mi>i</mi><mn>2</mn></msub><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>)</mo></mrow><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msubsup><mi>X</mi><mrow><msub><mi>i</mi><mn>2</mn></msub><msub><mi>i</mi><mn>3</mn></msub><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>)</mo></mrow><mo>...</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msubsup><mi>X</mi><mrow><msub><mi>i</mi><msub><mi>n</mi><mrow><mi>I</mi><mi>J</mi></mrow></msub></msub><mi>J</mi><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001111840870000038.GIF" wi="1925" he="80" /></maths><maths num="0010"><math><![CDATA[<mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msubsup><mi>X</mi><mrow><mi>i</mi><mi>j</mi><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>&CenterDot;</mo><msubsup><mi>d</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><mrow><mo>(</mo><msub><mi>F</mi><mi>p</mi></msub><mo>)</mo></mrow><mo>&le;</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo>(</mo><msubsup><mi>X</mi><mrow><mi>i</mi><mi>j</mi><mo>,</mo><mi>I</mi><mi>X</mi></mrow><mi>e</mi></msubsup><mo>&CenterDot;</mo><msubsup><mi>d</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><mo>(</mo><msub><mi>F</mi><mi>p</mi></msub><mo>)</mo><mo>+</mo><msubsup><mi>X</mi><mrow><mi>i</mi><mi>j</mi><mo>,</mo><mi>X</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>&CenterDot;</mo><msubsup><mi>d</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><mo>(</mo><msub><mi>F</mi><mi>p</mi></msub><mo>)</mo><mo>)</mo></mrow><mo>,</mo><mo>&ForAll;</mo><msup><mi>f</mi><mi>e</mi></msup><mo>&Element;</mo><msub><mi>F</mi><mi>p</mi></msub><mo>,</mo><mi>X</mi><mo>&Element;</mo><mi>V</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001111840870000039.GIF" wi="1781" he="143" /></maths><maths num="0011"><math><![CDATA[<mrow><munderover><mo>&Sigma;</mo><mrow><mi>I</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>J</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo>(</mo><msubsup><mi>X</mi><mrow><mi>i</mi><mi>j</mi><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mn>0</mn></msubsup><mo>+</mo><msubsup><mi>X</mi><mrow><mi>i</mi><mi>j</mi><mo>,</mo><mi>I</mi><mi>J</mi></mrow><mi>e</mi></msubsup><mo>-</mo><msubsup><mi>X</mi><mrow><mi>i</mi><mi>j</mi><mo>,</mo><msub><mi>J</mi><mi>e</mi></msub><mi>J</mi></mrow><mn>0</mn></msubsup><mo>)</mo></mrow><mo>&CenterDot;</mo><msubsup><mi>d</mi><mrow><mi>I</mi><mi>J</mi></mrow><mi>T</mi></msubsup><mo>&le;</mo><msub><mi>c</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>15</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00011118408700000310.GIF" wi="1380" he="135" /></maths>该优化问题中,目标函数为最小化平均重路由路径增加值和最大链路利用率的加权和,当ω<sub>sp</sub>大时,优化目标为最短重路由路径,保证重路由的传输效率;当ω<sub>lb</sub>大时,优化目标为链路传输的负载均衡问题,以有效避免链路拥塞;其中,ρ为调节因子,使得重路由路径增加值和最大链路利用率在同一个数量级上,以保证权重因子的调节作用;公式(8)约束了弹性路由拓扑子层的层数l,l最小取值为2,最大取值由ξ进行调节,使得最大取值介于2和链路数|E|之间,ξ根据实际网络拓扑情况决定;公式(9)和公式(10)根据定义1给出,确保了生成的路由子层为弹性路由子层;公式(11)的给出使得每一个弹性路由子层保护的链路数相当,有利于生成恢复路径短的RRL结果;公式(12)‑(15)对网络故障状态下的数据进行了约束;公式(12)限定了<img file="FDA0001111840870000041.GIF" wi="108" he="70" />的取值,对于任意的故障状态f<sup>e</sup>,只有对该故障状态保护的拓扑子层中,节点i与j之间存在链路时<img file="FDA0001111840870000042.GIF" wi="315" he="79" /><img file="FDA0001111840870000043.GIF" wi="110" he="69" />的值有可能取值为1,当节点i与j之间不存在链路时<img file="FDA0001111840870000044.GIF" wi="315" he="77" /><img file="FDA0001111840870000045.GIF" wi="109" he="70" />只取值为0;公式(13)进一步限定了<img file="FDA0001111840870000046.GIF" wi="107" he="70" />的取值,表示对于任意的故障状态f<sup>e</sup>∈F<sub>p</sub>,在拓扑子层D<sup>k</sup>(F<sub>p</sub>)上,节点I与J之间的路径<img file="FDA0001111840870000047.GIF" wi="603" he="63" />对应的一系列值<img file="FDA0001111840870000048.GIF" wi="538" he="77" />…同时取1或同时取0,这样限定将使得算法得到的节点I与节点J之间的链路是连通的;公式(14)表示,对于任意故障状态f<sup>e</sup>∈F<sub>p</sub>,节点I与J在拓扑子层D<sup>k</sup>(F<sub>p</sub>)上的重路由路径是最短路径;公式(15)表示在任意故障状态情况下,链路(i,j)上承载的流量均小于该链路的容量;步骤四、单亲遗传算法求解RRL生成优化模型的具体步骤;Step1:初始编码;令进化代数g=0,按照编码规则给出初始群体,群体中个体数目为n<sub>o</sub>;具体的编码规则为:将初始拓扑中的每条链路用符号①、②、③、…进行编号,不同的RRL生成结果看成是这些编码的不同分组;Step2:适应度计算;由公式(16)计算每个个体的适应度<maths num="0012"><math><![CDATA[<mrow><mi>f</mi><mo>=</mo><mfrac><mn>1</mn><mrow><msub><mi>&omega;</mi><mrow><mi>s</mi><mi>p</mi></mrow></msub><mo>&CenterDot;</mo><munderover><mi>&Sigma;</mi><mrow><mi>e</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>E</mi><mo>|</mo></mrow></munderover><msubsup><mi>&omega;</mi><mi>l</mi><mi>e</mi></msubsup><mo>&CenterDot;</mo><msup><mi>&Delta;s</mi><mi>e</mi></msup><mo>+</mo><mi>&rho;</mi><mo>&CenterDot;</mo><msub><mi>&omega;</mi><mrow><mi>l</mi><mi>b</mi></mrow></msub><mo>&CenterDot;</mo><munderover><mi>&Sigma;</mi><mrow><mi>e</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>E</mi><mo>|</mo></mrow></munderover><msubsup><mi>&omega;</mi><mi>l</mi><mi>e</mi></msubsup><mo>&CenterDot;</mo><msup><mi>&eta;</mi><mi>e</mi></msup></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>16</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001111840870000049.GIF" wi="1397" he="214" /></maths>Step3:单亲繁殖;采用单亲遗传方式完成个体的繁殖操作,采用单点基因换位和两点基因换位两种算子;Step4:淘汰个体;将得到的每一个个体由公式(10)进行连通性验证,若不满足连通性验证则直接淘汰,对于每一个个体,根据公式(12)‑(14)的法则计算函数<img file="FDA00011118408700000410.GIF" wi="107" he="69" />的值,再根据公式(15)判断是否会避免拥塞的发生,若不满足则直接淘汰;重复繁殖过程,直到繁殖的个数达到子代个体数目总值n<sub>p</sub>;Step5:竞争选择;采用选择算子选择出新一代群体,采取父子竞争选择模式,经过家庭竞争和社会竞争两轮竞争来完成选择;竞争选择完成后包含个体数目为n<sub>o</sub>;令g=g+1;Step6:结束判断;如果终止条件满足g大于终止代数G,则算法结束;否则,转到Step 2。
地址 710038 陕西省西安市霸桥区长乐东路甲字1号