当前位置: 首页 > 专利查询>王举范专利>正文

一种斯坦纳树构建方法及装置制造方法及图纸

技术编号:38045411 阅读:7 留言:0更新日期:2023-06-30 11:11
本文涉及组合优化领域,尤其提供了一种斯坦纳树构建方法及装置,方法包括:获取目标业务场景下的无向带权连通图;根据无向带权连通图以及预设的优化目标和迭代起点,确定各优化目标的子图及子图中各节点的子重要度,各优化目标的子图具有多个路径长度的路径,子图中各节点的子重要度为子图中节点在子图相关优化目标下的重要度;合并各优化目标的子图得到综合图,根据子图中各节点的子重要度及各优化目标的合成权重,计算综合图中各节点的综合重要度;根据综合图中各节点的综合重要度,确定综合图的斯坦纳树。本文能够实现多目标的同步优化,避免丢弃组合优化的更优路径,提高多目标优化斯坦纳树构造的效率及精度。优化斯坦纳树构造的效率及精度。优化斯坦纳树构造的效率及精度。

【技术实现步骤摘要】
一种斯坦纳树构建方法及装置


[0001]本文涉及组合优化领域,尤其涉及一种斯坦纳树构建方法及装置。

技术介绍

[0002]无向带权连通图G=(V,E)、边成本和一组终端,图的斯坦纳树(Steiner tree)问题是找到包含T中所有节点的树使得c(E(S))最小化,是组合优化中研究最多的问题之一。斯坦纳树问题概括了最短路径和最小生成树两个经典的组合优化问题,被确认是一个经典的NP完全问题。在实践中,许多应用场景可以建模为斯坦纳树问题或密切相关的问题,斯坦纳树在超大规模集成电路设计(VLSI)、电信网络、生物学中的系统发育树重建、路由、土木工程、降阶回溯算法、量子蚁群算法以及许多其他领域有着广泛的应用。
[0003]现有技术中,单目标斯坦纳树构建方法多基于局部最优原理实现,例如基于最小生成树(Minimum Spanning Tree MST)的构造方法,该方法主要步骤包括:(1)为迭代起点集构造最小生成树MST;(2)添加斯坦纳节点到迭代起点集,为扩增的迭代起点集重新构造MST以获得c(E(MST))更小的最小生成树。
[0004]现有技术中,多目标斯坦纳树构建方法主要基于epsilon约束的方法,该方法的主要步骤包括:(1)任选一个优化目标为待处理优化目标,把其它优化目标转化为限制,将多目标优化问题转化为一系列的单目标优化问题;(2)调整限制值,求解各单目标优化问题的帕累托(Pareto)最优解;(3)用决策器从获得的Pareto最优解中选出最优选的解决方案。
[0005]已有斯坦纳树构建方法存在以下技术问题:(1)缺乏有效的路径间邻接边组合优化机制;(2)没有利用连接在一起的迭代起点所构成的聚合,优化后续邻接边的选择;(3)如何设置限制上限需要先验信息,优化目标较多时,很难确定合理的调整机制;(4)很难确定限制上限与人们对各优化目标的偏好程度,是否是线性关系。

技术实现思路

[0006]本文用于解决现有构造斯坦纳树的方法需要先验信息,存在斯坦纳树构造效率低、质量差的问题。
[0007]为了解决上述技术问题,本文一方面提供一种斯坦纳树构建方法,包括:
[0008]获取目标业务场景下的无向带权连通图;
[0009]根据无向带权连通图以及预设的优化目标和迭代起点,确定各优化目标的子图及子图中各节点的子重要度,其中,各优化目标的子图具有多个路径长度的路径,子图中各节点的子重要度为子图中节点在子图相关优化目标下的重要度;
[0010]合并各优化目标的子图得到综合图,根据子图中各节点的子重要度及各优化目标的合成权重,计算综合图中各节点的综合重要度;
[0011]根据综合图中各节点的综合重要度,确定综合图的斯坦纳树。
[0012]本文第二方面提供一种斯坦纳树构建装置,包括:
[0013]获取单元,用于获取目标业务场景下的无向带权连通图;
[0014]子图确定单元,用于根据无向带权连通图以及预设的优化目标和迭代起点,确定各优化目标的子图及子图中各节点的子重要度,其中,各优化目标的子图具有多个路径长度的路径,子图中各节点的子重要度为子图中节点在子图相关优化目标下的重要度;
[0015]子图合并单元,用于合并各优化目标的子图得到综合图,根据子图中各节点的子重要度及各优化目标的合成权重,计算综合图中各节点的综合重要度;
[0016]第一斯坦纳树生成单元,用于根据综合图中各节点的综合重要度,确定综合图的斯坦纳树。
[0017]本文第三方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述任一实施例所述方法。
[0018]本文第四方面提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器执行时实现前述任一实施例所述方法。
[0019]本文第五方面提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器执行时实现前述任一实施例所述方法。
[0020]本文提供的斯坦纳树构建方法及装置,无需将多目标优化问题简化为单目标优化,也无需设置及调整限制上限,通过先根据无向带权连通图以及预设的优化目标和迭代起点,确定各优化目标的子图及子图中各节点的子重要度,然后合并各优化目标的子图得到综合图,根据子图中各节点的子重要度及各优化目标的合成权重,计算综合图中各节点的综合重要度;最后根据综合图中各节点的综合重要度,确定综合图的斯坦纳树,能够实现多目标优化的同步实现,提高多目标优化斯坦纳树构造的效率及精度。本文考虑了邻接边组合优化问题,确定出具有多个路径长度的各优化目标的子图,使得子图中包含了更多优化路径,避免丢弃组合优化的更优路径,提高斯坦纳树构建精度。
[0021]为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
[0022]为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1示出了本文实施例斯坦纳树构建方法的第一流程图;
[0024]图2示出了本文实施例斯坦纳树构建方法的第二流程图;
[0025]图3示出了本文实施例各优化目标的子图构建过程的流程图;
[0026]图4A示出了本文实施例无向带权图G的示意图;
[0027]图4B至图4E示出了本文实施例子图生成过程的中间图示意图;
[0028]图5示出了本文实施例子图中节点的子重要度确定过程的流程图;
[0029]图6示出了本文实施例待分析图的斯坦纳树确定过程的流程图;
[0030]图7A示出了本文实施例局部连接图的示意图;
[0031]图7B示出了本文实施例抽象节点替换局部连接图后的示意图;
[0032]图8A示出了本文实施例子图的示意图;
[0033]图8B示出了本文实施例图8B中迭代起点间增加新节点后的子图示意图;
[0034]图9示出了本文实施例最大优化偏差差异计算过程流程图;
[0035]图10A示出了本文实施例子图示意图;
[0036]图10B示出了本文实施例邻接边使用次数独立统计方式的示意图;
[0037]图10C示出了本文实施例邻接边使用次数复记统计方式的示意图;
[0038]图11示出了本文实施例斯坦纳树构建的第一结构图;
[0039]图12示出了本文实施例斯坦纳树构建的第二结构图;
[0040]图13示出了本文实施例计算机设备的结构图。
[0041]附图符号说明:
[0042]1101、获取单元;
[0043]1102、子图确定单元;
[0044]1103、子图合并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种斯坦纳树构建方法,其特征在于,包括:获取目标业务场景下的无向带权连通图;根据无向带权连通图以及预设的优化目标和迭代起点,确定各优化目标的子图及子图中各节点的子重要度,其中,各优化目标的子图具有多个路径长度的路径,子图中各节点的子重要度为子图中节点在子图相关优化目标下的重要度;合并各优化目标的子图得到综合图,根据子图中各节点的子重要度及各优化目标的合成权重,计算综合图中各节点的综合重要度;根据综合图中各节点的综合重要度,确定综合图的斯坦纳树。2.如权利要求1所述的方法,其特征在于,所述方法还包括:S21,根据子图中各节点的子重要度,确定子图的斯坦纳树;S22,根据各子图的斯坦纳树,确定各优化目标在子图上的目标值;S23,根据综合图的斯坦纳树,确定各优化目标在综合图上的目标值;S24,根据各优化目标在子图上的目标值、各优化目标在综合图上的目标值及各优化目标的偏好权重,计算最大优化偏差差异值;S25,判断最大优化偏差差异值是否大于预定值且合成权重调整次数小于上限值,若判断结果为是,则按照预设规则调整合成权重,重复计算最大优化偏差差异值的相关步骤及判断最大优化偏差差异值是否大于预定值且合成权重调整次数小于上限值的步骤;S26,反之,判断是否满足预设优化目标限制,若是,则综合图的斯坦纳树为最终斯坦纳树,若否,则按照预设规则调整合成权重,计算最大优化偏差差异值的相关步骤,判断合成权重调整次数是否小于上限值,若否,跳转到步骤S26,若是,跳转到步骤S25。3.如权利要求2所述的方法,其特征在于,根据无向带权连通图以及预设的每一优化目标和迭代起点,确定该优化目标的子图,包括:S31,根据优化目标,固定无向带权连通图中各节点间邻接边的邻接边权重;初始化无向带权连通图中迭代起点的最短路径信息,其中,所述最短路径信息包括最短路径长度及前驱节点,初始状态下迭代起点最短路径长度为零,前驱节点为空;S32,将已确定最短路径信息且有未处理邻接边的节点作为第一节点组成第一节点集;S33,确定第一节点的各未处理邻接边的关联信息,其中,未处理邻接边的关联信息包括操作节点集及静态移动权重,所述操作节点集为未处理邻接边两端节点中属于第一节点集的节点集合,静态移动权重根据操作节点集中节点的最短路径长度及所述未处理邻接边权重确定;从各第一节点的未处理邻接边中筛选静态移动权重最小的邻接边组成待处理邻接边集;S34,从待处理邻接边集中筛选出静态移动权重最小的待处理邻接边作为目标邻接边,更新累计移动步长为该最小的静态移动权重,对每一目标邻接边进行如下处理:S341,设置该目标邻接边为已处理;S342,若该目标邻接边的操作节点集包含一个节点,则为该目标邻接边的非第一节点确定包含该目标邻接边的最短路径信息,并判断该目标邻接边的非第一节点是否具有未处理邻接边,若是则将该目标邻接边的非第一节点加入至第一节点集中,并更新待处理邻接边的关联信息;
S343,若该目标邻接边的操作节点集包含两个节点且该目标邻接边的静态移动权重等于该目标邻接边的其中一端节点的最短路径长度,则为该端节点确定包含该目标邻接边的最短路径信息,设该端节点的邻接节点为p
j
,设经过邻接节点p
j
到达该端节点的最短路径上的迭代起点集合为set
j
,计算每两个迭代起点集合间的互差,设互差不为空的两个迭代起点集合中的迭代起点为t1,将从迭代起点t1经过节点p
j
至该端节点的最短路径上的邻接边和节点加入至子图中;S344,若该目标邻接边的操作节点集包含两个节点且该目标邻接边的静态移动权重大于该目标邻接边的两端节点的最短路径长度,则根据两端节点的最短路径,确定各端节点的迭代起点集合,计算各端节点的迭代起点集合间的互差,若互差不为空,则将该目标邻接边加入至子图中,设所述迭代起点集合中的迭代起点为t2,将从迭代起点t2至对应端节点的最短路径上的邻接边和节点加入至子图中;S345,从第一节点集中删除没有未处理状态邻接边的第一节点,更新待处理邻接边集;S346,判断所有迭代起点是否连接在一起,若否,则重复S34,若是,则得到最终的子图。4.如权利要求3所述的方法,其特征在于,根据操作节点集中节点的最短路径长度及所述未处理邻接边权重确定静态移动权重,包括:当操作节点集中包括一个节点时,静态移动权重的计算公式为:静态移动权重=未处理邻接边权重+操作节点集中节点的最短路径长度;当操作节点集中包括两个节点时,静态移动权重的计算公式为:静态移动权重=(该邻接边权重+操作节点集中两个第一节点的最短路径长度之和)/2)。5.如权利要求3所述的方法,其特征在于,设目标节点为待处理邻接边的非第一节点及端节点,为目标节点确定包含待处理邻接边的最短路径包括:设置目标节点的最短路径长度为当前累计移动步长,前驱节点新增目标邻接边的非目标节点。6.如权利要求3所述的方法,其特征在于,还包括:初始化时,为无向带权连通图中迭代起点关联联通集及合并集,其它节点关联联通集,迭代起点关联的联通集及合并集均包含自身节点,其它节点关联的联通集为空;S343将最短路径上的邻接边和节点加入子图后,将目标邻接边中已确定路径长度小的节点from关联的联通集合并后,传递给目标邻接边中已确定路径长度大的节点to;将该节点to关联的联通集中迭代起点关联的合并集进行合并,得到新合并集,并将新合并集内所有的迭代起点均关联新合并集;S344将最短路径上的邻接边和节点加入子图后,将目标邻接边的两个端节点关联的联通集中的迭代起点关联的合并集进行合并,得到新合并集,并将新合并集内所有的迭代起点均关联新合并集;判断所有迭代起点是否连接在一起包括:判断迭代起点关联的合并集中是否包含所有迭代起点,若是,则确定所有迭代起点均连接在一起。7.如权利要求3所述的方法,其特征在于,S346确定所有迭代起点均连接在一起之后,还包括:根据当前累计移动步长利用如下公式确定阈值:
K0
×
当前累计移动步长,其中,2>=K0>=1;重复执行步骤S34,直至第一节点集为空或累计移动步长等于阈值为止,得到最终的子图。8.如权利要求2所述的方法,其特征在于,所述子图中节点的子重要度确定过程包括:根据子图、非迭代起点到迭代起点的最短路径及子图对应的优化目标的重要度计算方法,计算子图中非迭代起点的子重要度;初始化子图中迭代起点的子重要度大于子图中非迭代起点的最大子重要度。9.如权利要求8所述的方法,其特征在于,根据子图、非迭代起点到迭代起点的最短路径及子图对应的优化目标的重要度计算方法,计算子图中非迭代起点的子重要度包括:根据优化目标和子图中迭代起点间的不同路径中使用的邻接边,统计迭代起点间邻接边的使用次数,其中,邻接边的使用次数初始化为:1+该邻接边所在路径上该邻接边无法直接到达的迭代起点的数量;根据邻接边的使用次数和邻接边的权重,计算非迭代起点到迭代起点的最短路径,进而根据所述最短路径计算子图中非迭代起点的重要度。10.如权利要求2所述的方法,其特征在于,根据子图中各节点的子重要度及各优化目标的合成权重,计算综合图中各节点的综合重要度,包括:利用如下公式计算综合图中非迭代起点的综合重要度:d2t(p,S)=Σ(imp[i]
×
d2t(p,S
i
));其中,S表示综合图,p表示节点,d2t(p,S)表示综合图中各节点的综合重要度,imp[i]表示第i个优化目标的合成权重,S
i
表示第i个优化目标的子图,d2t(p,S
i
))表示第i个优化目标的子图中节点p的子重要度;设置综合图中迭代起点的综合重要度大于综合图中非迭代起点的综合重要度。11.如权利要求2所述的方法,其特征在于,设定待分析图为子图/综合图,待分析图中节点的重要度为子图中各节点的子重要度/综合图中各节点的综合重要度;待分析图的斯坦纳树确定过程包括:S1101,初始化斯坦纳树的边集及节点集为空;S1102,将待分析图中未加入到斯坦纳树的节点集中重要度最大的节点加入至斯坦纳树的节点集中;S1103,判断目标图中是...

【专利技术属性】
技术研发人员:王举范
申请(专利权)人:王举范
类型:发明
国别省市:

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

1