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

文档序号:10615914阅读:427来源:国知局
一种基于遗传框架的组播树优化方法
【专利摘要】一种基于遗传框架的组播树优化方法,用以解决如何从根本提高GA的局部搜索能力,并且保持算法的搜索范围的问题。包括:S1、将染色体放入染色体池;S2、选择父代染色体;S3、对每一对所述的父代染色体判断是否执行交叉算子,若是,则转入步骤S4,否则,转入步骤S5;S4、保留父代相同链路的组播树,并基于保留链路计算出子代组播树;S5、判断是否执行变异算子,若是,则转入步骤S6,否则,转入步骤S7;S6、执行变异算子;S7、判断演化是否达到最大繁殖代数,若是,则转入步骤S8,否则,转入步骤S1;S8、输出优化后的组播树。
【专利说明】-种基于遗传框架的组播树优化方法 【技术领域】
[0001 ]本发明设及软件算法领域,尤其是基于遗传框架的组播树优化方法。 【【背景技术】】
[0002] 随着通信技术的发展,组播业务的应用范围越来越广泛,如何提高组播网络的服 务质量(如ality Of Service,QoS),均衡网络负载,优化网络资源,成为当前通信网络研究 的重点问题。组播树问题(M U11 i C a S t T r e e P r O b 1 e m,M T P)可形式化为斯坦利树问题 (Steiner Tree ProblenuSTP)是一个典型的NP完全问题。综上所述,求解MTP问题有很强的 现实意义。
[0003] MTP的求解算法可分为两大类:精确解法和近似解法。常见的精确解法有分支界定 算法和动态规划算法等。但由于算法时间复杂度太高,随着问题规模的增大,计算时间成几 何级增加,算法失去可行性。所W,目前更多的是使用人工智能优化算法及其改进算法进行 求解,如遗传算法,神经网络算法,粒子群算法,蚁群优化算法等。
[0004] 遗传算法(Genetic Algorithm,GA)是由Michigan大学的John Holand教授等模拟 生物进化机制提出的优化算法,已经成功应用于求解MTP。虽然具有较好的捜索能力和较高 的求解质量,但鲁棒性差、局部捜索能力弱等缺点仍然限制遗传算法的效率。
[0005] 为了提高GA的效率,研究者们提出了多种改进算法。目前的改进多从W下=个方 面入手:
[0006] -、改进编码策略,如设计基因编码表,使得编码表中的基因都代表服务质量较好 的链路,从而使得组成的染色体拥有更好的性质;
[0007] 二、优化GA中交叉算子,如保留父代染色体中相同的链路,并W随机路径连通保留 链路;
[000引=、优化GA中变异算子,使得变异算子具有一定的局部捜索能力。
[0009] 虽然优化编码表和交叉、变异算子能够一定程度上提高算法的局部捜索能力,但 同时降低了算法捜索范围,使得算法容易陷入局部最优解,优化能力有限。因此,如何从根 本提高GA的局部捜索能力,并且保持算法的捜索范围,是当前亟待解决的问题之一。 【
【发明内容】

[0010] 本发明提供了一种基于遗传框架的组播树优化方法,用W解决如何从根本提高GA 的局部捜索能力,并且保持算法的捜索范围的问题。
[0011] 本发明的一种基于遗传框架的组播树优化方法,包括下列步骤:Sl、将染色体放入 染色体池;S2、选择父代染色体;S3、对每一对所述的父代染色体判断是否执行交叉算子,若 是,则转入步骤S4,否则,转入步骤S5;S4、基于父代组播树中相同链路,计算出子代组播树; S5、判断是否执行变异算子,若是,则转入步骤S6,否则,转入步骤S7;S6、执行变异算子;S7、 判断演化是否达到最大繁殖代数,若是,则转入步骤S8,否则,转入步骤Sl ;S8、输出优化后 的组播树。
[001 ^ 其中,在所述的步骤SI之前,还包括步骤:so I、初始化参数;S02、过滤链路;S03、初 始化种群。
[0013] 其中,步骤SOl中所述初始化的参数包括:种群数量N,交叉概率化,变异概率化,每 一代产生的子代染色体数量化,最大繁殖代数MG;多头绒泡菌网络中初始信息素量1〇,多头 绒泡菌网络中每条管道初始传导性的值IApm收敛的传导性变化阔值0,反馈方程系数k和 保留阔值n,W及保留链路权值e。并设置源节点S和目标节点集合D E;
[0014] 其中,步骤S03所述初始化种群中,每个初始个体形成的具体过程如下:设置源节 点S为当前结点C,即C = S;从C的邻边中随机选择一条边,记为ec,b,若b不是目的节点,则更 新当前结点为b,重复操作直到访问到目的节点,此时将访问过的点和边组成的子图记为T; 从还未访问过的目的节点中随机选择一个节点作为当前结点C,从C的邻边中随机选择一条 边,记为ec,b,若b不是T中节点,则更新当前结点为b,重复操作直到访问到T中的节点;W及 将访问过的边和点并入T;此时若还有目的节点未在T中,则重新随机选择未在T中的目的节 点为当前结点C,直到所有目的节点均在T中;最后基于从源节点起的深度优先遍历,将多余 的边删除,得到初始的组播树,并将初始组播树编码,形成初始的染色体。
[0015] 其中,步骤Sl具体是将新产生染色体放入染色体池,并将当前染色体池中的染色 体按照适应度排序,并保留适应度较高的N个染色体。
[0016] 其中,步骤S2中采用轮盘选择法,在当前染色体池中选择出化对父代染色体。
[0017] 其中,步骤%中所述产生保留父代相同链.枚戚姑目化岛古生一A bA前比化仕Ki 相同的网络NG,并按照如下公式设置NG中边的权值; 其中戈表NG中边ei,j的权值,cu、Q〇S:J分别代表连接路由i和j链路的代价和服务质量属 性,Wtt代表对应服务质量在当前问题中的重要程度;之后对比父代染色体中的链路,将父代 染色体相同链路在NG中的权值设置为e。
[0018] 其中,步骤S4中所述计算出子代组播树,具体是将与当前拓扑结构相同的网络NG, 节点S,点集DE输入多头绒泡菌数学模型,得到子代组播树,步骤如下:在多头绒泡菌模型 中,设置节点S为入口,点集DE中所有点都为出口;用P:代表节点i在t时刻的压力值,则根据 基尔霍夫定律可得到如下方程组:
[0019]
[0020] 其中Di康示管道的传导性,与管道直径成正比:Lij代表NG中边的权值;M代表目标 节点的个数;Io代表多头绒泡菌网络中总流量,该值在网络演化过程中始终保持不变;根据 该方程组计算出每个时刻节点i的压力值^,再根据泊肃叶定律所刻画的管道中流体、传导 性、压力S者的关系,可W得到如下方程:
[0021]
[0022]根据该方程得到每个时刻管道中流量Qtu;之后更新多头绒泡菌网络中各管道传 导性,具体如下:
[0023]
[0024] 当所有管道的传导性更新完毕后,计算t+1时刻和t时刻单一管道传导性变化量的 最大值,具体如下:
[0025]
[0026] 当该值小于即寸,输出传导性大于Tl的边组成的组播树NT;否则进入t+1时刻的迭 代。
[0027] 其中,步骤S6中所述执行变异算子具体过程如下:随机删除组播树中的一条边,使 组播树分裂为两个连通分量,含有节点S的连通分量记为A,另一个记为B;从B中随机选择一 个节点为当前结点,记为C;从当前结点C的邻居中随机选择一个点,记为V,若V在B中,则当 前结点变更为V,并重新选择当前结点的邻居V,直到V不在B中;将边e。,V加入组播树,同时当 前结点变更为V;检测组播树中A和B是否合并为一个连通分量,若是,则基于深度优先遍历 删除多余边;否则继续基于当前结点选择邻居;最后输出变异后染色体。
[0028] 其中,步骤S5中判定不执行变异算子时,当化对父代染色体都完成繁殖操作后,计 算新产生染色体的适应度,并将新个体加入染色体池。
[0029] 本发明的基于遗传框架的组播树优化方法与现有技术相比,本发明在求解MTP时, 假设存在一个多头绒泡菌网络与移动自组网络(Mobile Ad-hoc肥Tworks,MA肥T)对应。多 头绒泡菌网络中的节点和管道分别对应移动自组网络中路由节点和节点间链路,且多头绒 泡菌网络的管道长度对应链路QoS属性和代价的加权值。比起现有交叉算子,优化之处在 于:提高了交叉算子的局部捜索能力,使得交叉算子能够基于父代染色体的基因,利用多头 绒泡菌数学模型,求得一个小范围的局部最优解。在MTP中,全局最优解同时也是局部最优 解,即局部最优解是全局最优解的必要条件。由于局部捜索能力的增强,交叉算子能够产生 出更好的后代个体,同时每次交叉算子的执行都完成了对一个局部解空间的捜索,增大了 算法捜索范围并提高了算法鲁棒性。 【【附图说明】】
[0030] 图1是本发明实施方式的流程图,详细描述见技术方案;
[0031 ]图2是优化算法解决MTP工作机制图,详细描述见与现有技术相比的有益效果;
[0032] 图3是基于多头绒泡菌数学模型的交叉算子示意图。其中(a)和(b)表示选出的父 代组播树,(C)表示对应生成的子代组播树。(C)中加粗边代表父代中的相同链路,虚线边表 示由多头绒泡菌数学模型选择的链路。详细描述见技术方案中步骤108和步骤109。
[0033] 图4是基于多头绒泡菌数学模型优化遗传算法解决MTP框架图。为方便描述,优化 后的遗传算法分别在原算法的基础上添加前缀'PM-',例如节能遗传算法记为EEGA,则优化 后的节能遗传算法统称为PM-EEGA。
[0034] 图5,图6,图7和图8给出了应用本发明方法优化后的遗传算法与优化前算法求解 MTP性能对比结果。
[00巧]数据集采用不同网络生成器生成的四个网络,记为01、02、03、04。其中01、02和03 是最小代价,延迟、带宽限制组播树问题的数据集,D4是最小代价,延迟、带宽、抖动限制组 播树问题数据集。为了衡量算法效果,引入Smin、Saverage、Svariance指标,具体定义如下:
[0036] ( I )最小值Smin,代表算法求得的最优组播树的代价或QoS属性值;
[0037] (2)平均值Saverage和方差Svariance,代表算法经过T次重复计算后,所得最优组播树 的代价或QoS属性值的平均值和方差。例如,Saverage的计算方式夫
,其中 S,;,,,,表示第i次计算的最优组播树的属性值。
[003 引 图 5、图 6和图 7 比较了 PM-GAMAR、PM-EEGA、PM-ISGSA和GAMAR、邸 GA、ISGSA在Dl、D2、 D3下求解MTP结果,展不了不问算法所得的代价及延迟的Saverage和Svariance比较。结果显不, 无论代价还是延迟,优化后算法(PM-GA)的Saverage都明显低于原算法(GA)DSaverage的降低说 明基于多头绒泡菌数学模型的交叉算子有效的提高了遗传算法的寻优能力,提升了求得组 播树的质量;同时Svarianse的降低说明PM-GA的鲁棒性相较于GA也有了较大提高。
[0039] 图 8比较了 PM-EEGA、PM-I SGSA、EEGA、ISGSA 和蜂群算法(Bees Life-based Algorithm(BLA),Bees Algorithm(BA),Marriage in honey Bees Optimization algorithm(MBO))在D4下求解MTP的结果。结果表明,相较于蜂群算法,PM-EEGA、PM-ISGSA、 邸GA、ISGSA能更好的求解MTP问题,并且PM-EEGA、PM-ISGSA比邸GA、ISGSA的Saverage更低。
[0040] 图9和图10刻画了 PM-EEGA、PM-ISGSA、EEGA、ISGSA在D2下求解MTP问题的过程中, 代价和延迟的Saverage及Svariance随着种群繁殖的变化情况。无论是代价和延迟,PM-ffiGA、PM- ISGSA都有更快的下降速度,更早趋于稳定。并且相较于邸GA、ISGSA,PM-EEGA、PM-I SG SA收 敛时的代价和延迟的Saverage更低。同时,在Svariance的比较中,虽然都有升高过程,但是PM- EEGA、PM-ISGSA的下降速度更快,最后的方差也更低,展示出了更强的鲁棒性。
[0041 ] 图9中,在迭代之初,PM-EEGA、PM-I SGSA与邸GAJSGSA的Saverage差距很小。随迭代 步数增加,差距逐渐扩大,最后PM-邸GA、PM-ISGSA的表现明显优于邸GA、ISGSA,运说明改进 后的算法(PM-邸GA、PM-ISGSA)的收敛速度和寻优能力得到了较好的提升。同样,在图10所 刻画的Svariance的收敛情况说明PM-邸GA、PM-ISGSA具有更优的鲁棒性。另外,代价和延迟在 迭代过程中展现出相似性,即图9、图10中(a)和(b)变化趋势的相似,说明基于多头绒泡菌 的交叉算子能够较好的兼顾多种属性(如代价和延迟),能够处理较为复杂的多QoS需求。 【【具体实施方式】】
[0042] 本实施例提供了一种基于遗传框架的组播树优化方法,参见附图1所示,包括下列 主要步骤:
[0043] 流程开始于步骤101。
[0044] 在步骤102,初始化各主要参数:种群数量N,交叉概率化,变异概率化,每一代产生 的子代染色体数量化,最大繁殖代数MG;多头绒泡菌网络中初始信息素量1〇,多头绒泡菌网 络中每条管道初始传导性的值护,PM收敛的传导性变化阔值0,反馈方程系数k和保留阔值 n,W及保留链路权值e。并设置源节点S和目标节点集合D E。根据经验,参数的具体取值为: N=200,化= 0.9,Pm = 0.05Jn = 180,MG = 300,沪=l,e=l〇-6,k = 2,ri=l〇-3,e = l〇-3。
[0045] 在步骤103,依据组播树对服务质量的要求,过滤不满足服务质量要求的链路。W 典型QoS属性带宽为例,组播树的带宽由组成组播树链路的带宽最小值决定。遍历已知的链 路,将带宽小于最小带宽限制的链路过滤。
[0046] 在步骤104,随机初始化N个染色体并计算适应度,形成初代种群。WISGSA中初始 个体的方法为例,每个初始个体形成的具体过程如下:
[0047]首先设置源节点S为当前结点C,即c = s。
[004引从C的邻边中随机选择一条边,记为ec,b,若b不是目的节点,即Ae 0£,则更新当前 结点为b,即c = b。重复上述操作直到访问到目的节点。此时将访问过的点和边组成的子图 记为T。
[0049] 之后从还未访问过的目的节点中随机选择一个节点作为当前结点C,从C的邻边中 随机选择一条边,记为ec,b,若b不是T中节点,则更新当前结点为b,即c = b。重复上述操作直 到访问到T中的节点。然后将访问过的边和点并入T。此时若还有目的节点未在T中,贝幢新 随机选择未在T中的目的节点为当前结点C,直到所有目的节点均在T中。
[0050] 最后基于从源节点起的深度优先遍历,将多余的边删除,得到初始的组播树,并将 初始组播树编码,形成初始的染色体。
[0051] 在步骤105,将新产生染色体放入染色体池,并将当前染色体池中的染色体按照适 应度排序,仅保留适应度较高的N个染色体,即对染色体池中的染色体进行更新和淘汰。 [0化2] 在步骤106,用轮盘选择法,在当前染色体池中选择出化对父代染色体。
[0053] 在步骤107,对每一对父代染色体判断是否执行交叉算子。若判断结果为"是",则 流程进入步骤108;否则进入步骤110。
[0054] 在步骤108,产生一个与当前拓扑结构相同的网络NG,即产生拓扑结构与当前网络
相同的抑/-b'…心Ann丄-于'、心n-W'…山'丄化知;
[0化5]
[0056] 代表NG中边ei,j的权值,Cij、Q〇S:;分别代表连接路由巧Pj链路的代价和服务质量 属性,Wtt代表对应服务质量在当前问题中的重要程度。
[0057] 之后对比父代染色体中的链路,将父代染色体相同链路在NG中的权值设置为e。 [005引在步骤109,将NG,s,DE输入多头绒泡菌数学模型,得到子代组播树NT,具体步骤如 下:
[0化9] 在多头绒泡菌模型中,设置节点S为入口,点集肥中所有点都为出口。用P:代表节点 i在t时刻的压力值,则根据基尔霍夫定律可得到如下方程组:
[0060;
[0061」 呂旧_日、」'|々寸-1王,可呂旧_占*径成正比;Lij代表NG中边的权值;M代表目标 节点的个数;Io代表多头绒泡菌网络中总流量,该值在网络演化过程中始终保持不变。根据 该方程组可W计算出每个时刻节点i的压力值^。再根据泊肃叶定律所刻画的管道中流体、 传导性、用力二者的关系,可Pi得到如下方程:
[0062]
[0063]根据该方程可W得到每个时刻管道中流量Qtu。之后更新多头绒泡菌网络中各管 道传导性,具体如下:
[0064]
[0065] 当所有管道的传导性更新完毕后,计算t+1时刻和t时刻单一管道传导性变化量的 最大值,具体如下:
[0066]
[0067] 当该值小于即寸,输出传导性大于Tl的边组成的组播树NT;否则进入t+1时刻的迭 代。
[0068] 在步骤110,判断是否执行变异算子。如果判断结果为"是",则进入步骤111;否则 进入步骤112。
[0069] 在步骤111,执行变异算子,产生变异后个体。W遗传算法ISGSA中的变异为例,具 体过程如下:
[0070] 首先,随机删除组播树中的一条边,使组播树分裂为两个连通分量,含有节点S的 连通分量记为A,另一个记为B。
[0071] 从B中随机选择一个节点为当前结点,记为C。
[0072] 从当前结点C的邻居中随机选择一个点,记为V。若V在B中,则当前结点变更为V,即 C = V,并重新选择当前结点的邻居V,直到V不在B中。
[0073] 之后,将边ec,b加入组播树,同时则当前结点变更为V。
[0074] 检测组播树中A和B是否合并为一个连通分量。若是,则基于深度优先遍历删除多 余边;否则继续基于当前结点选择邻居。
[0075] 最后输出变异后染色体。
[0076] 在步骤112,当化对父代染色体都完成繁殖操作后,计算新产生染色体的适应度, 并将新个体加入染色体池。
[0077] 在步骤113,判断演化是否达到最大繁殖代数。若是,则执行步骤114;否则回到步 骤 105。
[007引在步骤114,将适应度最高的染色体解码作为最优组播树输出。
[00巧]流程结束于步骤115。
[0080]运里本发明的描述和应用都只是说明性和示意性的,并非是想要将本发明的范围 限制在上述实施例中。运里所披露的实施例的变形和改变是完全可能的,对于那些本领域 的普通技术人员来说,实施例的替换和等效的各种部件均是公知的。本领域技术人员还应 该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可W W其它形式、结构、 布置、比例,W及用其它组件、材料和部件来实现,W及在不脱离本发明范围和精神的情况 下,可W对运里所披露的实施例进行其它变形和改变。
【主权项】
1. 一种基于遗传框架的组播树优化方法,其特征在于,包括下列步骤: 51、 将染色体放入染色体池; 52、 选择父代染色体; 53、 对每一对所述的父代染色体判断是否执行交叉算子,若是,则转入步骤S4,否则,转 入步骤S5; 54、 基于父代组播树中相同链路,产生子代组播树; 55、 判断是否执行变异算子,若是,则转入步骤S6,否则,转入步骤S7; 56、 执行变异算子; 57、 判断演化是否达到最大繁殖代数,若是,则转入步骤S8,否则,转入步骤S1; 58、 输出优化后的组播树。2. 如权利要求1所述的基于遗传框架的组播树优化方法,其特征在于,在所述的步骤S1 之前,还包括步骤: 501、 初始化参数; 502、 过滤链路; 503、 初始化种群。3. 如权利要求2所述的基于遗传框架的组播树优化方法,其特征在于,步骤SOI中所述 初始化的参数包括:种群数量N,交叉概率化,变异概率化,每一代产生的子代染色体数量 Pn,最大繁殖代数MG;多头绒泡菌网络中初始信息素量1〇,多头绒泡菌网络中每条管道初始 传导性的值护,PM收敛的传导性变化阔值β,反馈方程系数k和保留阔值II,W及保留链路权 值ε。并设置源节点S和目标节点集合DE。4. 如权利要求2所述的基于遗传框架的组播树优化方法,其特征在于,步骤S03所述初 始化种群中,每个初始个体形成的具体过程如下: 设置源节点S为当前结点C,即c = s; 从C的邻边中随机选择一条边,记为ec,b,若b不是目的节点,则更新当前结点为b,重复 操作直到访问到目的节点,此时将访问过的点和边组成的子图记为T; 从还未访问过的目的节点中随机选择一个节点作为当前结点C,从C的邻边中随机选择 一条边,记为ec,b,若b不是T中节点,则更新当前结点为b,重复操作直到访问到T中的节点; W及将访问过的边和点并入T; 此时若还有目的节点未在T中,则重新随机选择未在T中的目的节点为当前结点C,重复 上述步骤,直到所有目的节点均在T中; 最后基于从源节点起的深度优先遍历,将多余的边删除,得到初始的组播树,并将初始 组播树编码,形成初始的染色体。5. 如权利要求1所述的基于遗传框架的组播树优化方法,其特征在于,步骤S1具体是将 新产生染色体放入染色体池,并将当前染色体池中的染色体按照适应度排序,并保留适应 度较高的N个染色体。6. 如权利要求1所述的基于遗传框架的组播树优化方法,其特征在于,步骤S2中采用轮 盘选择法,在当前染色体池中选择出化对父代染色体。7. 如权利要求1所述的基于遗传框架的组播树优化方法,其特征在于,步骤S4中所述产 生保留父代相同链路的组播树,具体是产生一个与当前拓扑结构相同的网络NG,并按照如 下公式设置NG中边的权值:其中代表NG中边ei, J的权值,cij、QoSi诚别代表连接路由巧P j链路的代价和服务质量 属性,Wn代表对应服务质量在当前问题中的重要程度; 之后对比父代染色体中的链路,将父代染色体相同链路在NG中的权值设置为ε。8. 如权利要求2所述的基于遗传框架的组播树优化方法,其特征在于,步骤S4中所述计 算出子代组播树,具体是将与当前拓扑结构相同的网络NG,节点S,点集DE输入多头绒泡菌 数学模型,得到子代组播树,步骤如下: 在多头绒泡菌模型中,设置节点S为入口,点集DE中所有点都为出口;用片代表节点i在t 时刻的压力值,则根据基尔霍夫定律可得到如下方程组:其中Du表示管道的传导性,与管道直径成正比;Lu代表NG中边的权值;Μ代表目标节点 的个数;1〇代表多头绒泡菌网络中总流量,该值在网络演化过程中始终保持不变;根据该方 程组计算出每个时刻节点i的压力值0';再根据泊肃叶定律所刻画的管道中流体、传导性、压 力Ξ者的关系,可W得到如下方程:根据该方程得到每个时刻管道中流量Qtu;之后更新多头绒泡菌网络中各管道传导性, 具体如下:当所有管道的传导性更新完毕后,计算t+1时刻和t时刻单一管道传导性变化量的最大 值,具体如下:当该值小于削寸,输出传导性大于η的边组成的组播树NT;否则进入t+1时刻的迭代。9. 如权利要求1所述的基于遗传框架的组播树优化方法,其特征在于,步骤S6中所述执 行变异算子具体过程如下: 机删除组播树中的一条边,使组播树分裂为两个连通分量,其中含有节点S的连通分量 记为A,另一个记为B; 从B中随机选择一个节点为当前结点,记为C; 从当前结点C的邻居中随机选择一个点,记为V,若V在B中,则当前结点变更为V,并重新 选择当前结点的邻居V,直到V不在B中; 将边ew加入组播树,同时当前结点变更为V; 检测组播树中A和B是否合并为一个连通分量,若是,则基于深度优先遍历删除多余边; 否则继续基于当前结点选择邻居; 最后输出变异后染色体。10.如权利要求6所述的基于遗传框架的组播树优化方法,其特征在于,步骤S5中判定 不执行变异算子时,当化对父代染色体都完成繁殖操作后,计算新产生染色体的适应度,并 将新个体加入染色体池。
【文档编号】H04L12/761GK105978816SQ201610265453
【公开日】2016年9月28日
【申请日】2016年4月27日
【发明人】高超, 梁鸣心, 张自力
【申请人】西南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1