发明名称 基于遗传算法配用电通信网最优路径选择的方法
摘要 本发明公开了一种基于遗传算法的配用电电信网最优路径选择的方法,其特征是按如下步骤进行:1建立单向拓扑网络;2采用二进制编码初始化种群;3设定迭代次数;4选择运算;5交叉运算;6变异运算;7判断;8输出最优路径。本发明能在满足约束条件的基础上,高效地寻找出最优路径,从而能够提高搜索效率,降低搜索复杂度。
申请公布号 CN104299053A 申请公布日期 2015.01.21
申请号 CN201410540013.8 申请日期 2014.10.13
申请人 国家电网公司;国网安徽省电力公司池州供电公司 发明人 江龙才;霍朝辉;汤中会;牛景平;吴齐;朱晓东
分类号 G06Q10/04(2012.01)I;G06Q50/06(2012.01)I;G06N3/12(2006.01)I 主分类号 G06Q10/04(2012.01)I
代理机构 安徽省合肥新安专利代理有限责任公司 34101 代理人 何梅生
主权项 一种基于遗传算法的配用电通信网最优路径选择的方法,所述配用电电信网是以n个光纤交接箱作为网络节点并通过光纤连接而成的单向拓扑网络,其特征是按如下步骤进行:步骤1、建立单向拓扑网络设定所述单向拓扑网络中从第1个网络节点到第n个网络节点有M条路径,则所述单向拓扑网络的模型和最优路径函数分别如式(1)和式(2)所示:<img file="FDA0000585961370000011.GIF" wi="1614" he="161" />L=Min(A<sub>1</sub>,A<sub>2</sub>,…,A<sub>k</sub>,…,A<sub>M</sub>)   (2)并有:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>A</mi><mi>k</mi></msub><mo>=</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><msub><mi>l</mi><mi>ij</mi></msub><mi>sign</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><mrow><mo>(</mo><mi>k</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>M</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000585961370000012.GIF" wi="1032" he="156" /></maths>式(3)中,l<sub>ij</sub>表示网络节点i到网络节点j的光纤长度;若网络节点i与网络节点j之间没有光纤到达,则l<sub>ij</sub>=∞;设置网络节点i与自身的网络节点i的光纤长度l<sub>ii</sub>=0;步骤2、采用二进制编码初始化种群:设置种群大小为N=2n、种群个体集合Y={Y<sub>1</sub>,Y<sub>2</sub>,…,Y<sub>p</sub>,…,Y<sub>N</sub>}1≤p≤N;Y<sub>p</sub>表示任意一个种群个体,以任意一个种群个体代表从第1个网络节点到第n个网络节点的任意一条路径,N≤M;所述种群个体Y<sub>p</sub>={X<sub>1</sub>,X<sub>2</sub>,…,X<sub>q</sub>,…,X<sub>n</sub>},2≤q≤n‑1;X<sub>q</sub>表示任一个体染色体;以任一个体染色体代表所述单向拓扑网络中任意一个网络节点;令X<sub>1</sub>=1和X<sub>n</sub>=1,表示任意一条路径必须经过第1个网络节点和第n个网络节点;X<sub>q</sub>的值利用随机函数Rand()取[0,1]之间随机数,若随机数大于等于0.5,则X<sub>q</sub>=1,表示任意一条路径经过网络节点q;否则,X<sub>q</sub>=0,表示任意一条路径未经过网络节点q;设定X<sub>t</sub>=1,表示任意一条路径中必须经过网络节点t;X<sub>r</sub>=0,表示任意一条路径中不能经过网络节点r;2≤t,r≤n‑1;步骤3、设定迭代次数I∈[30,200];设定初始迭代I<sub>init</sub>=0;步骤4、选择运算:步骤4.1、利用式(4)获得任意一个种群个体的自适应度函数Fit(k),从而获得所有种群个体的适应度函数:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>Fit</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>D</mi><mi>max</mi></msub><mo>-</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><msub><mi>l</mi><mi>ij</mi></msub><mi>sign</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><mn>1</mn><mo>&le;</mo><mi>k</mi><mo>&le;</mo><mi>N</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000585961370000021.GIF" wi="1097" he="142" /></maths>式(4)中,D<sub>max</sub>表示所述单向拓扑网络中从第1个网络节点到第n个网络节点的所经过的路径长度之和的最大值;步骤4.2、采用精英选择方法从N个种群个体的适应度函数中选择一个最大的适应度函数值所对应的种群个体作为交叉运算的一个种群个体;步骤4.3、采用如式(5)所示的轮盘赌选择方法计算任意一个种群个体的选择概率F<sub>k</sub>,从而获得N‑1个种群个体的选择概率:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>F</mi><mi>k</mi></msub><mo>=</mo><mfrac><mrow><mi>Fit</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>Fit</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000585961370000022.GIF" wi="559" he="197" /></maths>步骤4.4、将N‑1个种群个体的选择概率所表示的概率区域组成一个轮盘,则N‑1个种群个体的选择概率之和为1;在[0,1]之间产生N‑1个随机数,以所述随机数在轮盘中所匹配的概率区域来选择与所述概率区域相对应的种群个体;以所述选中的种群个体作为交叉运算的N‑1个种群个体;由所述交叉运算的一个种群个体和交叉运算的N‑1个种群个体构成交叉种群个体;步骤5、交叉运算:步骤5.1、从所述交叉种群个体中任意取两个种群个体并按照步骤5.2进行匹配,直到完成N/2次配对,从而获得N个变异种群个体;步骤5.2、对所任意两个种群个体中的每一个个体以交叉点位置进行交换,所述交叉点位置是在[2,n‑1]中取随机整数α;若随机整数α=t或α=r,则不进行交换;步骤6、变异运算:步骤6.1、从N个变异种群个体中任意取一个种群个体,在[2,n‑1]中取一个随机整数β;以所述随机整数β作为基因变异位置对所述种群个体中相应的个体按照步骤6.2进行变异运算,直到N个变异种群个体完成变异运算,从而获得N个下一代种群个体;若随机整数β=t或β=r,则不进行变异运算;步骤6.2、设定变异运算的概率为P<sub>m</sub>,P<sub>m</sub>∈[0.001,0.2];在[0,1]中取一个随机数Q,当P<sub>m</sub>≤Q时,对所述种群个体中第β个基因变异位置的个体染色体进行取反;步骤7、将I<sub>init</sub>+1赋值给I<sub>init</sub>;步骤8、判断I<sub>init</sub>≤I是否成立,若成立,则以所述N个下一代种群个体作为新的种群个体,并返回步骤4执行,否则执行步骤9;步骤9、输出最优路径:利用式(4)获得所述N个下一代种群个体中的每个个体的适应度函数;选择适应度函数值最大的个体为最优个体;以所述最优个体作为最优路径。
地址 100761 北京市西城区西长安街86号