当前位置: 首页 > 专利查询>西南大学专利>正文

一种基于遗传框架的组播树优化方法技术

技术编号:13771456 阅读:90 留言:0更新日期:2016-09-29 16:17
一种基于遗传框架的组播树优化方法,用以解决如何从根本提高GA的局部搜索能力,并且保持算法的搜索范围的问题。包括:S1、将染色体放入染色体池;S2、选择父代染色体;S3、对每一对所述的父代染色体判断是否执行交叉算子,若是,则转入步骤S4,否则,转入步骤S5;S4、保留父代相同链路的组播树,并基于保留链路计算出子代组播树;S5、判断是否执行变异算子,若是,则转入步骤S6,否则,转入步骤S7;S6、执行变异算子;S7、判断演化是否达到最大繁殖代数,若是,则转入步骤S8,否则,转入步骤S1;S8、输出优化后的组播树。

【技术实现步骤摘要】

本专利技术涉及软件算法领域,尤其是基于遗传框架的组播树优化方法
技术介绍
随着通信技术的发展,组播业务的应用范围越来越广泛,如何提高组播网络的服务质量(Quality of Service,QoS),均衡网络负载,优化网络资源,成为当前通信网络研究的重点问题。组播树问题(Multicast Tree Problem,MTP)可形式化为斯坦利树问题(Steiner Tree Problem,STP)是一个典型的NP完全问题。综上所述,求解MTP问题有很强的现实意义。MTP的求解算法可分为两大类:精确解法和近似解法。常见的精确解法有分支界定算法和动态规划算法等。但由于算法时间复杂度太高,随着问题规模的增大,计算时间成几何级增加,算法失去可行性。所以,目前更多的是使用人工智能优化算法及其改进算法进行求解,如遗传算法,神经网络算法,粒子群算法,蚁群优化算法等。遗传算法(Genetic Algorithm,GA)是由Michigan大学的John Holand教授等模拟生物进化机制提出的优化算法,已经成功应用于求解MTP。虽然具有较好的搜索能力和较高的求解质量,但鲁棒性差、局部搜索能力弱等缺点仍然限制遗传算法的效率。为了提高GA的效率,研究者们提出了多种改进算法。目前的改进多从以下三个方面入手:一、改进编码策略,如设计基因编码表,使得编码表中的基因都代表服务质量较好的链路,从而使得组成的染色体拥有更好的性质;二、优化GA中交叉算子,如保留父代染色体中相同的链路,并以随机路径连通保留链路;三、优化GA中变异算子,使得变异算子具有一定的局部搜索能力。虽然优化编码表和交叉、变异算子能够一定程度上提高算法的局部搜索能力,但同时降低了算法搜索范围,使得算法容易陷入局部最优解,优化能力有限。因此,如何从根本提高GA的局部搜索能力,并且保持算法的搜索范围,是当前亟待解决的问题之一。
技术实现思路
本专利技术提供了一种基于遗传框架的组播树优化方法,用以解决如何从根本提高GA的局部搜索能力,并且保持算法的搜索范围的问题。本专利技术的一种基于遗传框架的组播树优化方法,包括下列步骤:S1、将染色体放入染色体池;S2、选择父代染色体;S3、对每一对所述的父代染色体判断是否执行交叉算子,若是,则转入步骤S4,否则,转入步骤S5;S4、基于父代组播树中相同链路,计算出子代组播树;S5、判断是否执行变异算子,若是,则转入步骤S6,否则,转入步骤S7;S6、执行变异算子;S7、判断演化是否达到最大繁殖代数,若是,则转入步骤S8,否则,转入步骤S1;S8、输出优化后的组播树。其中,在所述的步骤S1之前,还包括步骤:S01、初始化参数;S02、过滤链路;S03、初始化种群。其中,步骤S01中所述初始化的参数包括:种群数量N,交叉概率Pc,变异概率Pm,每一代产生的子代染色体数量Pn,最大繁殖代数MG;多头绒泡菌网络中初始信息素量I0,多头绒泡菌网络中每条管道初始传导性的值D0,PM收敛的传导性变化阈值β,反馈方程系数k和保留阈值η,以及保留链路权值ε。并设置源节点s和目标节点集合D E;其中,步骤S03所述初始化种群中,每个初始个体形成的具体过程如下:设置源节点s为当前结点c,即c=s;从c的邻边中随机选择一条边,记为ec,b,若b不是目的节点,则更新当前结点为b,重复操作直到访问到目的节点,此时将访问过的点和边组成的子图记为T;从还未访问过的目的节点中随机选择一个节点作为当前结点c,从c的邻边中随机选择一条边,记为ec,b,若b不是T中节点,则更新当前结点为b,重复操作直到访问到T中的节点;以及将访问过的边和点并入T;此时若还有目的节点未在T中,则重新随机选择未在T中的目的节点为当前结点c,直到所有目的节点均在T中;最后基于从源节点起的深度优先遍历,将多余的边删除,得到初始的组播树,并将初始组播树编码,形成初始的染色体。其中,步骤S1具体是将新产生染色体放入染色体池,并将当前染色体池中的染色体按照适应度排序,并保留适应度较高的N个染色体。其中,步骤S2中采用轮盘选择法,在当前染色体池中选择出Pn对父代染色体。其中,步骤S4中所述产生保留父代相同链路的组播树,具体是产生一个与当前拓扑结构相同的网络NG,并按照如下公式设置NG中边的权值:其中Lij代表NG中边ei,j的权值,cij、分别代表连接路由i和j链路的代价和服务质量属性,wtt代表对应服务质量在当前问题中的重要程度;之后对比父代染色体中的链路,将父代染色体相同链路在NG中的权值设置为ε。其中,步骤S4中所述计算出子代组播树,具体是将与当前拓扑结构相同的网络NG,节点s,点集DE输入多头绒泡菌数学模型,得到子代组播树,步骤如下:在多头绒泡菌模型中,设置节点s为入口,点集DE中所有点都为出口;用代表节点i在t时刻的压力值,则根据基尔霍夫定律可得到如下方程组: Σ i D t i j L i j ( p i t - p j t ) = - I 0 , f o r j = = s I 0 M 本文档来自技高网
...

【技术保护点】
一种基于遗传框架的组播树优化方法,其特征在于,包括下列步骤:S1、将染色体放入染色体池;S2、选择父代染色体;S3、对每一对所述的父代染色体判断是否执行交叉算子,若是,则转入步骤S4,否则,转入步骤S5;S4、基于父代组播树中相同链路,产生子代组播树;S5、判断是否执行变异算子,若是,则转入步骤S6,否则,转入步骤S7;S6、执行变异算子;S7、判断演化是否达到最大繁殖代数,若是,则转入步骤S8,否则,转入步骤S1;S8、输出优化后的组播树。

【技术特征摘要】
1.一种基于遗传框架的组播树优化方法,其特征在于,包括下列步骤:S1、将染色体放入染色体池;S2、选择父代染色体;S3、对每一对所述的父代染色体判断是否执行交叉算子,若是,则转入步骤S4,否则,转入步骤S5;S4、基于父代组播树中相同链路,产生子代组播树;S5、判断是否执行变异算子,若是,则转入步骤S6,否则,转入步骤S7;S6、执行变异算子;S7、判断演化是否达到最大繁殖代数,若是,则转入步骤S8,否则,转入步骤S1;S8、输出优化后的组播树。2.如权利要求1所述的基于遗传框架的组播树优化方法,其特征在于,在所述的步骤S1之前,还包括步骤:S01、初始化参数;S02、过滤链路;S03、初始化种群。3.如权利要求2所述的基于遗传框架的组播树优化方法,其特征在于,步骤S01中所述初始化的参数包括:种群数量N,交叉概率Pc,变异概率Pm,每一代产生的子代染色体数量Pn,最大繁殖代数MG;多头绒泡菌网络中初始信息素量I0,多头绒泡菌网络中每条管道初始传导性的值D0,PM收敛的传导性变化阈值β,反馈方程系数k和保留阈值η,以及保留链路权值ε。并设置源节点s和目标节点集合DE。4.如权利要求2所述的基于遗传框架的组播树优化方法,其特征在于,步骤S03所述初始化种群中,每个初始个体形成的具体过程如下:设置源节点s为当前结点c,即c=s;从c的邻边中随机选择一条边,记为ec,b,若b不是目的节点,则更新当前结点为b,重复操作直到访问到目的节点,此时将访问过的点和边组成的子图记为T;从还未访问过的目的节点中随机选择一个节点作为当前结点c,从c的邻边中随机选择一条边,记为ec,b,若b不是T中节点,则更新当前结点为b,重复操作直到访问到T中的节点;以及将访问过的边和点并入T;此时若还有目的节点未在T中,则重新随机选择未在T中的目的节点为当前结点c,重复上述步骤,直到所有目的节点均在T中;最后基于从源节点起的深度优先遍历,将多余的边删除,得到初始的组播树,并将初始组播树编码,形成初始的染色体。5.如权利要求1所述的基于遗传框架的组播树优化方法,其特征在于,步骤S1具体是将新产生染色体放入染色体池,并将当前染色体池中的染色体按照适应度排序,并保留适应度较高的N个染色体。6.如权利要求1所述的基于遗传框架的组播树优化方法,其特征在于,步骤S2中采用轮盘选择法,在当前染色体池中选择出Pn对父...

【专利技术属性】
技术研发人员:高超梁鸣心张自力
申请(专利权)人:西南大学
类型:发明
国别省市:重庆;50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1