CN109583133B - 一种x结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法 - Google Patents
一种x结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法 Download PDFInfo
- Publication number
- CN109583133B CN109583133B CN201811561635.3A CN201811561635A CN109583133B CN 109583133 B CN109583133 B CN 109583133B CN 201811561635 A CN201811561635 A CN 201811561635A CN 109583133 B CN109583133 B CN 109583133B
- Authority
- CN
- China
- Prior art keywords
- edge
- steiner
- tree
- edges
- strategy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Genetics & Genomics (AREA)
- Architecture (AREA)
- Physiology (AREA)
- Geometry (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及一种X结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法,为了能够同时处理两种SMT问题,本发明提出了一种有效的边‑点编码策略。本发明给出了一种既能扩大算法的搜索空间又可以确保有效收敛的多阶段转换策略。通过测试从两阶段到四阶段三种方案以及每种方案的不同组合,本发明给出了一种最佳的组合。同时本发明使用与并查集分割相结合的遗传操作构建用于离散VLSI布线的离散粒子更新操作。此外,为了引入不确定性和多样性,本发明给出了一种改进边转换策略的变异操作。本发明的方法在全局角度上可得到质量最好的布线方案。
Description
技术领域
本发明涉及集成电路计算机辅助设计领域,特别是一种X结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法。
背景技术
总体布线是超大规模集成电路(VLSI)物理设计的重要步骤。斯坦纳最小树(SMT)问题是通过引入附加的点(斯坦纳点)连接所给的引脚集合构建一棵最小代价的布线树。斯坦纳最小树是VLSI总体布线中连接多端线网的最好连接模型,所以斯坦纳最小树的构建是VLSI布线中的一个关键问题。
目前,有很多基于曼哈顿结构的布线算法被提出。随着VLSI技术的发展,互连效果成为芯片性能的主要挑战。然而,基于曼哈顿结构的布线模型要求芯片引脚间的连接只能是水平或垂直方向,导致芯片的互连线长度优化能力受到限制。所以,越来越多的人开始设计基于能够充分利用布线资源并有着更好的线长优化能力的非曼哈顿结构的布线算法。
构建非曼哈顿结构下的斯坦纳最小树是一个NP难问题。一方面,有些学者基于已有的算法和传统的启发式算法设计非曼哈顿结构下的斯坦纳树算法。已有算法的时间复杂度随着问题规模的增加呈指数式增长,并且大多数传统的启发式算法由于基于贪心策略而易于陷入局部最优解。因此,基于已有算法和传统的启发式算法构建斯坦纳树的方法没有充分利用非曼哈顿结构的几何特性,不能保证斯坦纳树的质量。除此之外,这些方法很少提供合适的拓扑优化方法,在时间效率和线长等关键指标上的优化能力有限。
另一方面,粒子群优化(PSO)被证明为是一种具有很强全局优化能力的群智能算法。粒子群优化算法属于进化算法的一种,它从随机解出发,通过迭代寻找最优解,通过适应度来评价解的质量,通过追随当前搜索到的最优值来寻找全局最优解。粒子群优化算法具有快速收敛、优秀的全局搜索能力、稳定性、高效性等优点。因此,利用粒子群优化算法求解NP困难问题取得了很好的结果。
发明内容
有鉴于此,本发明的目的是提出一种X结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法,以优化布线树的线长和时间为目标,最终达到对布线总代价这一重要目标的优化。该方法具有优秀的全局优化能力,能从全局的角度考虑斯坦纳最小树的构建,最终获得优秀的解方案,提高布线树的质量,为布线问题提供较好的布线树。
本发明采用以下方案实现:一种X结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法,包括以下步骤:
步骤S1:输入基准测试电路网络数据;
步骤S2:读取基准测试电路网络数据,并根据坐标的大小按升序排序;
步骤S3:初始化包括种群大小、最大迭代次数、惯性权重和加速因子在内的参数,并随机生成初始种群;
步骤S4:采用基于四阶段转换策略的改进遗传操作更新每个粒子的速度和位置;
步骤S5:判断新粒子的适应度值是否大于该粒子的历史最优值,若是,则进入步骤S6,否则进入步骤S7;
步骤S6:新粒子更新为该粒子的历史最优粒子,进入步骤S7;
步骤S7:判断新粒子的适应度值是否大于种群的全局最优,若是,则进入步骤S8,否则进入步骤S9;
步骤S8:将新粒子更新为种群的全局最优值,进入步骤S9;
步骤S9:判断是否满足迭代终止条件,若是,输出最终的布线树,否则返回步骤S4。
进一步地,步骤S4具体为:粒子更新公式如下:
式中,w是惯性权重,c1和c2是加速因子,N1表示变异算子,N2和N3表示交叉算子;
其中,粒子进行变异操作的公式为:
其中,粒子进行交叉操作包括:与自身历史最佳位置交流以及与种群的全局历史最佳位置交流,分别为:
进一步地,所述变异算子包括两种,一种为采用伪斯坦纳点变换策略的变异算子,另一种为采用边变换策略的变异算子;
其中,变异算子采用的伪斯坦纳点变换策略具体为:首先采用适合X结构斯坦纳最小树的边-点编码策略,用布线树的边集合编码相应的斯坦纳树,每条边的编码采用三位数字串表示,编码每条边的数字串的前两位表示边所连接的两个引脚的编号,第三位表示边的伪斯坦纳点选择方式;接着选择粒子中的两个点,即斯坦纳树的两条边,随机变化该两条边的数字串中的第三位数字;
其中,变异算子采用的边变换策略具体为:首先采用适合X结构斯坦纳最小树的边-点编码策略,用布线树的边集合编码相应的斯坦纳树,每条边的编码采用三位数字串表示,编码每条边的数字串的前两位表示边所连接的两个引脚的编号,第三位表示边的伪斯坦纳点选择方式;接着对两条边做变异,对于每一条边,删除一条边之后通过并查集将边集合分为两个集合,然后从两个集合中各挑出一个点连接构造出一个新的布线树。
进一步地,所述交叉算子包括两种,一种为采用伪斯坦纳点变换策略的交叉算子,另一种为采用边变换策略的交叉算子;
其中,交叉算子采用的伪斯坦纳点变换策略具体为:在待交叉粒子与个体或全局历史最优粒子中分别选取两个一样的点,将待交叉粒子中该两点中间的边交换为个体或全局历史最优粒子中该两点中间的边;
其中,交叉算子采用的边变换策略具体为:首先将两个布线树的边按照引脚的序号从小到大排序,两个布线树相同的边直接作为新生成的布线树的边,而其余不相同的边组成一个集合;然后,在不相同的边组成的集合中,依次采用并查集策略选择不会产生环路的边加入到新的布线树中;最后,根据需要建立新的边构造出一个连通的布线树。
进一步地,将遗传操作的迭代过程分为四个阶段,第一个阶段中,变异算子或者交叉算子采用边变化策略;第二个阶段中,变异算子或者交叉算子采用伪斯坦纳点变换策略;第三个阶段中,变异算子或者交叉算子采用边变换策略;第四个阶段中,变异算子或者交叉算子采用伪斯坦纳点变换策略。
进一步地,所述适合X结构斯坦纳最小树的边-点编码策略中,每条边的数字串中的第三位为0、1、2、或3,分别代表0选择、1选择、2选择、3选择;其中,0选择表示先从第一顶点通过矩形边连接到伪斯坦纳点S,然后从S通过八角形边连接到第二顶点;1选择表示先从第一顶点通过八角形边连接到伪斯坦纳点S,然后从S通过矩形边连接到第二顶点;2选择表示先从第一顶点通过垂直边连接到伪斯坦纳点S,然后从S通过水平边连接到第二顶点;3选择表示先从第一顶点通过水平边连接到伪斯坦纳点S,然后从S通过垂直边连接到第二顶点。
进一步地,所述适应度值的计算采用下式为:
式中,L(TX)为布线树中所有边的长度总和,计算公式如下:
式中,l(ei)表示布线树TX中边ei的长度。
进一步地,当布线树为八角形斯坦纳树时,将所有的边分为水平边、垂直边、45°边和135°边四种类型,然后将45°边顺时针旋转到水平边位置,并且将135°边顺时针旋转到垂直边位置;根据左侧引脚的坐标将水平边先按从下到上的顺序其次按从左到右的顺序排列,同时根据下方引脚的坐标将垂直边先按从左到右的顺序再按从下到上的顺序排列;最后,在不重复计算重叠长度的情况下,计算出所有边的总线长,即为八角形斯坦纳树的总线长。
本发明的关键点主要有:
1、对于算法编码策略的设计,本发明采用适用于X结构斯坦纳最小树构建的边-点编码策略,用布线树的边集合编码相应的斯坦纳树,每条边的编码采用三位数字串表示。前两位表示边所连接的两个引脚的编号,第三位表示边的伪斯坦纳点选择方式。
2、在算法适应度计算函数设计的过程中,适应度值取布线树总线长的倒数。布线树的总线长需要在不重复考虑布线树各边的重叠部分的基础上计算所有边线长之和。质量越好的布线树对应的线长越小,对应的适应度值越大。
3、在算法操作算子的设计过程中,考虑到斯坦纳最小树问题是离散问题,为此本发明引入了遗传算法中的交叉和变异算子,并结合并查集思想,用以解决边变换操作可能带来的环路问题和连通性问题。并查集策略是用以记录在交叉和变异算子执行过程中相关端点和边的信息,避免所选择的边的加入会产生环的情况和违反连通性的情况,从而有效地更新粒子的位置和速度。
4、本发明引入了多阶段转换策略,分阶段进行边变换和点变换,充分发挥边变换的全局搜索能力和点变换的快速收敛能力,使得最终可以获得优化效果更好的布线树结构。
与现有技术相比,本发明有以下有益效果:本发明设计了一种适合X结构的边-点编码策略,便于有效地对X结构斯坦纳树的编码和解码;本发明根据布线代价的计算要求设计了适合X结构斯坦纳树构建的适应度计算函数以较好地衡量粒子的优劣程度;本发明在粒子的更新公式中,引入了遗传算法中的交叉和变异算子,并结合并查集思想,构造了适合X结构斯坦纳最小树的操作算子,避免了布线树中环路的产生和违反连通性的情况;本发明设计了一种多阶段转换策略,提高算法的全局搜索能力和收敛能力。
附图说明
图1为本发明实施例的方法流程示意图。
图2为本发明实施例的两种编码策略对于减少线长的潜在影响示意图。
图3为本发明实施例的对于给定边的斯坦纳点的选择示意图。
图4为本发明实施例的变异算子的示意图。
图5为本发明实施例的算法进化过程中边变换的必要性的示意图。
图6为本发明实施例的交叉算子的示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
如图1所示,本实施例提供了一种X结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法,包括以下步骤:
步骤S1:输入基准测试电路网络数据;
步骤S2:读取基准测试电路网络数据,并根据坐标的大小按升序排序;
步骤S3:初始化包括种群大小、最大迭代次数、惯性权重和加速因子在内的参数,并随机生成初始种群;
步骤S4:采用基于四阶段转换策略的改进遗传操作更新每个粒子的速度和位置;
步骤S5:判断新粒子的适应度值是否大于该粒子的历史最优值,若是,则进入步骤S6,否则进入步骤S7;
步骤S6:新粒子更新为该粒子的历史最优粒子,进入步骤S7;
步骤S7:判断新粒子的适应度值是否大于种群的全局最优,若是,则进入步骤S8,否则进入步骤S9;
步骤S8:将新粒子更新为种群的全局最优值,进入步骤S9;
步骤S9:判断是否满足迭代终止条件,若是,输出最终的布线树,否则返回步骤S4。
在本实施例中,步骤S4具体为:粒子更新公式如下:
式中,w是惯性权重,c1和c2是加速因子(为概率值),N1表示变异算子,N2和N3表示交叉算子;
其中,粒子进行变异操作的公式为:
其中,粒子进行交叉操作包括:与自身历史最佳位置交流以及与种群的全局历史最佳位置交流,分别为:
式中,交叉操作Cp(Wi t)表示粒子Wi t与自身历史最佳位置进行交流学习,交叉操作表示粒子与种群的全局历史最佳位置进行交流学习。这里假设r1,r2,r3是[0,1)的随机数。算法的惯性权重w和加速因子c1、c2的取值均采用线性递减的策略进行更新,如下所示:
式中,eval代表当前迭代次数,evaluations代表最大迭代次数。
对于不同的问题,变异操作有很多种。本实施例使用了两种变异算子,一种是如图4中(a)所示的伪斯坦纳点变换(PS变换)策略,一种是如图4中(b)所示的边变换(E变换)策略。具体的,在本实施例中,所述变异算子包括两种,一种为采用伪斯坦纳点变换策略的变异算子,另一种为采用边变换策略的变异算子;
其中,变异算子采用的伪斯坦纳点变换(PS变换)策略具体为:首先采用适合X结构斯坦纳最小树的边-点编码策略,用布线树的边集合编码相应的斯坦纳树,每条边的编码采用三位数字串表示,编码每条边的数字串的前两位表示边所连接的两个引脚的编号,第三位表示边的伪斯坦纳点选择方式;接着选择粒子中的两个点,即斯坦纳树的两条边,随机变化该两条边的数字串中的第三位数字;
其中,变异算子采用的边变换(E变换)策略具体为:首先采用适合X结构斯坦纳最小树的边-点编码策略,用布线树的边集合编码相应的斯坦纳树,每条边的编码采用三位数字串表示,编码每条边的数字串的前两位表示边所连接的两个引脚的编号,第三位表示边的伪斯坦纳点选择方式;接着对两条边做变异,对于每一条边,删除一条边之后通过并查集将边集合分为两个集合,然后从两个集合中各挑出一个点连接构造出一个新的布线树。
在本实施例中,所述适合X结构斯坦纳最小树的边-点编码策略中,每条边的数字串中的第三位为0、1、2、或3,分别代表0选择、1选择、2选择、3选择;其中,0选择表示先从第一顶点通过矩形边连接到伪斯坦纳点S,然后从S通过八角形边连接到第二顶点,如图3中的(b)所示;1选择表示先从第一顶点通过八角形边连接到伪斯坦纳点S,然后从S通过矩形边连接到第二顶点,如图3中的(c)所示;2选择表示先从第一顶点通过垂直边连接到伪斯坦纳点S,然后从S通过水平边连接到第二顶点,如图3中的(d)所示;3选择表示先从第一顶点通过水平边连接到伪斯坦纳点S,然后从S通过垂直边连接到第二顶点,如图3中的(e)所示。图3中的(a),A=(x1,y1)和B=(x2,y2)为线段L的两个顶点。
如果一个线网有n个引脚,其对应的树结构就有n-1条边,n-1个走线方式位。树的编码串还有1位的适应度函数值。由于一条边需要两个引脚编号表示,故相应粒子的长度为3(n-1)+1。
本实施例给出四种伪斯坦纳点选择的边-点编码策略比只具有0选择和1选择的边-点编码策略更为有效。原因为2选择或3选择的走线方式可能与其他走线方式产生较大的重叠部分,具有缩短线长的潜在能力。如图2所示,其中(a)为只有0选择和1选择的编码策略,(b)为具有四种选择方式的编码策略。可以发现,图2(b)中的斯坦纳最小树比图2(a)中的斯坦纳最小树具有更多的重叠部分,也因此图2(b)中的斯坦纳最小树具有更小的线长。这种情况经常存在于引脚数目较多的线网中,因此本发明给出的四种伪斯坦纳点选择编码策略有助于减小线长。从表1中可以看出,四种伪斯坦纳点选择的编码策略可以减少1.04%的线长。
表1四种伪斯坦纳点选择编码策略与两种伪斯坦纳点选择编码策略的对比
对于对于PS变换策略的变异算子,每个PS选择方法包含4个选择,即0选择、1选择、2选择和3选择。根据[Liu GG,Chen GL,Guo WZ.DPSO based octagonal steiner treealgorithm for VLSI routing.Proceeding of the fifth international conferenceon advanced computational intelligence.Nanjing,China:IEEE Computer SocietyPress,2012:383-387]设计的算法,应用基于PS变换策略的斯坦纳树构造算法,以优化线长为目标可以获得更好的矩形斯坦纳树结构。但是,只应用PS变换策略,八角形斯坦纳树的优化能力受到了限制,因此,E变换策略被引入本实施例中,进一步扩大了算法的优化空间,提高了算法的优化能力。在构建矩形斯坦纳最小树和八角形斯坦纳最小树的过程中,只有PS变换策略布线树的拓扑结构不会发生变化。如图5所示,在构造八角形斯坦纳最小树的过程中存在两种不同的拓扑。边(4,2)存在于图5中(b)所示的布线树中,而不存在于图5中(a)所示的布线树中,仅仅只有PS变换策略不能使图5的(a)中产生新的边(4,2)。因此,E变换策略是必要的,它可以进一步提高线长的优化能力。如表2所示,与PS变换策略相比,E变换可以减少线长0.09%。并且,相比于矩形斯坦纳最小树构建算法[Liu GG,Chen GL,Guo WZ,ChenZ.DPSO-based rectilinear steiner minimal tree construction considering bendreduction.Proceeding of the seventh international conference on naturalcomputation.Shanghai,China:IEEE Computer Society Press,2011:1161-1165]平均减少线长9.76%。同时,为了保证E变换的过程中不产生环路并保证连通性,本发明引入了并查集策略。E变换在删除一条边之后通过并查集将边集合分为两个集合,然后从两个集合中各挑出一个点连接构造出一个新的布线树。
通过测试,本实施例选择两点变异算子使得线长优化效果最好,如表3所示。
本发明设计了两种交叉算子,一种是图6中(a)所示的伪斯坦纳点交叉算子,一种是图6中(b)所示的边交叉算子。即,在本实施例中,所述交叉算子包括两种,一种为采用伪斯坦纳点变换策略的交叉算子,另一种为采用边变换策略的交叉算子;
其中,交叉算子采用的伪斯坦纳点变换策略具体为:在待交叉粒子与个体或全局历史最优粒子中分别选取两个一样的点,将待交叉粒子中该两点中间的边交换为个体或全局历史最优粒子中该两点中间的边;
其中,交叉算子采用的边变换策略具体为:首先将两个布线树的边按照引脚的序号从小到大排序,两个布线树相同的边直接作为新生成的布线树的边,而其余不相同的边组成一个集合;然后,在不相同的边组成的集合中,依次采用并查集策略选择不会产生环路的边加入到新的布线树中;最后,根据需要建立新的边构造出一个连通的布线树。
表2 PS变换和RSMT与E变换的比较
表3四种变异算子的比较
由于PS变换和E变换有着不同的优点,将两种变换通过不同的方式结合起来会有不同的效果。将算法的迭代过程分解为多个子过程,每个子过程都可以采用两种变换方式的其中一种,因此,算法的多阶段转换策略有很多选择。若将算法的迭代过程分为前后两部分,即两阶段变换,包括PS:PS、E:E、E:PS、PS:E。如表4所示,CM2策略相比于矩形斯坦纳最小树构造算法在布线树线长上平均改进9.91%,为两阶段转换策略中最佳的组合。因此可以说明E变换策略在迭代前期扩大寻优空间,PS策略在迭代后期加快收敛速度可以取得较好的结果。表5为三阶段转换策略实验结果,可以发现CM7策略(PS:PS:E)相比于矩形斯坦纳最小树在线长上平均改进了10.48%,取得了最好的结果。表6为四阶段转换策略实验结果,可以发现CM6策略(E:PS:E:PS)相比于矩形斯坦纳最小树在线长上平均改进了10.56%,取得了最好的结果。通过测试五阶段、六阶段等多阶段转换策略,可以发现不能取得优于四阶段转换策略的结果,即转换策略过多是无效的,因此,本实施例采用四阶段转换策略(E:PS:E:PS)。
也即,在本实施例中,将遗传操作的迭代过程分为四个阶段,第一个阶段中,变异算子或者交叉算子采用边变化策略;第二个阶段中,变异算子或者交叉算子采用伪斯坦纳点变换策略;第三个阶段中,变异算子或者交叉算子采用边变换策略;第四个阶段中,变异算子或者交叉算子采用伪斯坦纳点变换策略。
表4两阶段转换策略不同组合的对比
表5三阶段转换策略不同组合的对比
表6四阶段转换策略不同组合的对比
在本实施例中,所述适应度值的计算采用下式为:
式中,L(TX)为布线树中所有边的长度总和,计算公式如下:
式中,l(ei)表示布线树TX中边ei的长度。
在本实施例中,当布线树为八角形斯坦纳树时,将所有的边分为水平边、垂直边、45°边和135°边四种类型,然后将45°边顺时针旋转到水平边位置,并且将135°边顺时针旋转到垂直边位置;根据左侧引脚的坐标将水平边先按从下到上的顺序其次按从左到右的顺序排列,同时根据下方引脚的坐标将垂直边先按从左到右的顺序再按从下到上的顺序排列;最后,在不重复计算重叠长度的情况下,计算出所有边的总线长,即为八角形斯坦纳树的总线长。
最终,综合上述步骤,以最小化线长为目标,构建了一种X结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法。为了验证本实施例算法的有效性,将该算法在基准电路上的实验结果跟文献[S.Kundu,S.Roy,S.Mukherjee.K-nearestneighbour(KNN)approach using SAT based technique for rectilinear steiner treeconstruction.Proceeding of the seventh international symposium on embeddedcomputing and system design.Durgapur,India:IEEE Computer Society Press,2017:1-5]提出的KNN算法和文献[S.Kundu,S.Roy,and S.Mukherjee.SAT based rectilinearsteiner tree construction.Proceeding of second international conference onapplied and theoretical computing and communication technology.Bangalore,India:IEEE Computer Society Press,2016:623-627]提出的SAT算法进行了对比。对比结果如表7所示,该算法在线长上比SAT算法和KNN算法分别优化了10.00%和8.72%,同时,在运行时间上分别加速了828.71倍和5.19倍。
为了进一步验证该算法的有效性,将本发实施例设计的多阶段转换策略应用于矩形斯坦纳树的构建,实验结果如表8所示。在表8中,MRMST表示应用了多阶段转换策略的矩形斯坦纳树构建算法,而RSMT则是没有应用多阶段转换策略的矩形斯坦纳树构建算法。实验结果表明,MRMST相比于RSMT在线长上取得了2.92%的优化效果。这说明,四阶段转换策略可以对矩形斯坦纳树和八角形斯坦纳树的线长带来较好的优化效果,这种方法为设计一致性算法和各种结构下的布线问题提供了很好的应用前景。除此之外,表8还说明四阶段转换策略具有较好的拓扑优化能力。
表7本发明算法与KNN算法和SAT算法的比较
表8基于四阶段转换策略的RSMT的有效性
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (5)
1.一种X结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法,其特征在于:包括以下步骤:
步骤S1:输入基准测试电路网络数据;
步骤S2:读取基准测试电路网络数据,并根据坐标的大小按升序排序;
步骤S3:初始化包括种群大小、最大迭代次数、惯性权重和加速因子在内的参数,并随机生成初始种群;
步骤S4:采用基于四阶段转换策略的改进遗传操作更新每个粒子的速度和位置;
步骤S5:判断新粒子的适应度值是否大于该粒子的历史最优值,若是,则进入步骤S6,否则进入步骤S7;
步骤S6:新粒子更新为该粒子的历史最优粒子,进入步骤S7;
步骤S7:判断新粒子的适应度值是否大于种群的全局最优,若是,则进入步骤S8,否则进入步骤S9;
步骤S8:将新粒子更新为种群的全局最优值,进入步骤S9;
步骤S9:判断是否满足迭代终止条件,若是,输出最终的布线树,否则返回步骤S4;
步骤S4具体为:粒子更新公式如下:
式中,w是惯性权重,c1和c2是加速因子,N1表示变异算子,N2和N3表示交叉算子;
其中,粒子进行变异操作的公式为:
其中,粒子进行交叉操作包括:与自身历史最佳位置交流以及与种群的全局历史最佳位置交流,分别为:
所述变异算子包括两种,一种为采用伪斯坦纳点变换策略的变异算子,另一种为采用边变换策略的变异算子;
其中,变异算子采用的伪斯坦纳点变换策略具体为:首先采用适合X结构斯坦纳最小树的边-点编码策略,用布线树的边集合编码相应的斯坦纳树,每条边的编码采用三位数字串表示,编码每条边的数字串的前两位表示边所连接的两个引脚的编号,第三位表示边的伪斯坦纳点选择方式;接着选择粒子中的两个点,即斯坦纳树的两条边,随机变化该两条边的数字串中的第三位数字;
其中,变异算子采用的边变换策略具体为:首先采用适合X结构斯坦纳最小树的边-点编码策略,用布线树的边集合编码相应的斯坦纳树,每条边的编码采用三位数字串表示,编码每条边的数字串的前两位表示边所连接的两个引脚的编号,第三位表示边的伪斯坦纳点选择方式;接着对两条边做变异,对于每一条边,删除一条边之后通过并查集将边集合分为两个集合,然后从两个集合中各挑出一个点连接构造出一个新的布线树;
所述适合X结构斯坦纳最小树的边-点编码策略中,每条边的数字串中的第三位为0、1、2、或3,分别代表0选择、1选择、2选择、3选择;其中,0选择表示先从第一顶点通过矩形边连接到伪斯坦纳点S,然后从S通过八角形边连接到第二顶点;1选择表示先从第一顶点通过八角形边连接到伪斯坦纳点S,然后从S通过矩形边连接到第二顶点;2选择表示先从第一顶点通过垂直边连接到伪斯坦纳点S,然后从S通过水平边连接到第二顶点;3选择表示先从第一顶点通过水平边连接到伪斯坦纳点S,然后从S通过垂直边连接到第二顶点。
2.根据权利要求1 所述的一种X结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法,其特征在于:所述交叉算子包括两种,一种为采用伪斯坦纳点变换策略的交叉算子,另一种为采用边变换策略的交叉算子;
其中,交叉算子采用的伪斯坦纳点变换策略具体为:在待交叉粒子与个体或全局历史最优粒子中分别选取两个一样的点,将待交叉粒子中该两点中间的边交换为个体或全局历史最优粒子中该两点中间的边;
其中,交叉算子采用的边变换策略具体为:首先将两个布线树的边按照引脚的序号从小到大排序,两个布线树相同的边直接作为新生成的布线树的边,而其余不相同的边组成一个集合;然后,在不相同的边组成的集合中,依次采用并查集策略选择不会产生环路的边加入到新的布线树中;最后,根据需要建立新的边构造出一个连通的布线树。
3.根据权利要求1或2所述的一种X结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法,其特征在于:将遗传操作的迭代过程分为四个阶段,第一个阶段中,变异算子或者交叉算子采用边变化策略;第二个阶段中,变异算子或者交叉算子采用伪斯坦纳点变换策略;第三个阶段中,变异算子或者交叉算子采用边变换策略;第四个阶段中,变异算子或者交叉算子采用伪斯坦纳点变换策略。
5.根据权利要求4所述的一种X结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法,其特征在于:当布线树为八角形斯坦纳树时,将所有的边分为水平边、垂直边、45°边和135°边四种类型,然后将45°边顺时针旋转到水平边位置,并且将135°边顺时针旋转到垂直边位置;根据左侧引脚的坐标将水平边先按从下到上的顺序其次按从左到右的顺序排列,同时根据下方引脚的坐标将垂直边先按从左到右的顺序再按从下到上的顺序排列;最后,在不重复计算重叠长度的情况下,计算出所有边的总线长,即为八角形斯坦纳树的总线长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811561635.3A CN109583133B (zh) | 2018-12-20 | 2018-12-20 | 一种x结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811561635.3A CN109583133B (zh) | 2018-12-20 | 2018-12-20 | 一种x结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109583133A CN109583133A (zh) | 2019-04-05 |
CN109583133B true CN109583133B (zh) | 2022-05-17 |
Family
ID=65930152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811561635.3A Active CN109583133B (zh) | 2018-12-20 | 2018-12-20 | 一种x结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109583133B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032808B (zh) * | 2019-04-16 | 2022-05-13 | 福州大学 | 基于混合离散粒子群优化的轨道分配器构建方法 |
CN110032815B (zh) * | 2019-04-19 | 2022-05-10 | 福州大学 | 基于文化基因的八角形斯坦纳树构建方法 |
CN111582431B (zh) * | 2020-05-14 | 2022-07-08 | 福州大学 | 一种两步式X结构Steiner最小树构建方法 |
CN111723544A (zh) * | 2020-06-18 | 2020-09-29 | 福州大学 | X结构下考虑障碍内布线的Steiner树构建方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902775A (zh) * | 2014-03-31 | 2014-07-02 | 福州大学 | 超大规模集成电路多层绕障Steiner最小树构造方法 |
CN104679947A (zh) * | 2015-02-02 | 2015-06-03 | 南京航空航天大学 | 一种机电产品线缆组件优化结构的自动生成方法 |
CN107247844A (zh) * | 2017-06-10 | 2017-10-13 | 福州大学 | 基于自适应PSO和混合转换策略的X结构Steiner最小树算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6594587B2 (en) * | 2000-12-20 | 2003-07-15 | Monsanto Technology Llc | Method for analyzing biological elements |
-
2018
- 2018-12-20 CN CN201811561635.3A patent/CN109583133B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902775A (zh) * | 2014-03-31 | 2014-07-02 | 福州大学 | 超大规模集成电路多层绕障Steiner最小树构造方法 |
CN104679947A (zh) * | 2015-02-02 | 2015-06-03 | 南京航空航天大学 | 一种机电产品线缆组件优化结构的自动生成方法 |
CN107247844A (zh) * | 2017-06-10 | 2017-10-13 | 福州大学 | 基于自适应PSO和混合转换策略的X结构Steiner最小树算法 |
Non-Patent Citations (1)
Title |
---|
求解VLSI布线问题的离散粒子群优化算法;刘耿耿等;《万方数据期刊库》;20110127;第1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109583133A (zh) | 2019-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109583133B (zh) | 一种x结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法 | |
WO2021227463A1 (zh) | 一种两步式X结构Steiner最小树构建方法 | |
CN107247844B (zh) | 基于自适应PSO和混合转换策略的X结构Steiner最小树布线方法 | |
CN111539181B (zh) | 基于离散差分进化的多策略优化x结构最小树构建方法 | |
Cai et al. | Cooperative coevolutionary adaptive genetic algorithm in path planning of cooperative multi-mobile robot systems | |
CN110533096B (zh) | 基于K-means聚类的多元宇宙算法的DNA存储编码优化方法 | |
CN112085204A (zh) | 一种用于量子编译的线路变换方法 | |
CN111625258B (zh) | 默克尔树更新方法、装置、设备及可读存储介质 | |
CN112036573B (zh) | 一种基于中等规模有噪声量子计算机的量子位交互拓扑结构及其映射方法 | |
CN110059405B (zh) | X结构下带差分进化的高质量Steiner最小树构建方法 | |
WO2021253745A1 (zh) | X结构下考虑障碍内布线的Steiner树构建方法 | |
CN113935275A (zh) | 时序松弛约束下绕障X结构Steiner最小树构造方法 | |
CN114972687B (zh) | 基于消除三角形网格对的网格调整方法 | |
CN115329411A (zh) | 基于先验规则和深度神经网络的舰船电气图纸布局方法 | |
CN116647459A (zh) | 一种多智能体协同进化的物联网拓扑鲁棒优化方法 | |
CN109726479B (zh) | 一种三维片上网络垂直通道的部署方法 | |
Liu et al. | DPSO based octagonal steiner tree algorithm for VLSI routing | |
CN112504274A (zh) | 一种基于Dsl_GA算法的移动机器人路径规划方法 | |
CN111597139A (zh) | 一种gpu的通信方法、系统、设备以及介质 | |
CN112036655B (zh) | 基于机会约束的光伏电站与电动汽车充电网络规划方法 | |
Kim et al. | Bicriteria network design using a spanning tree-based genetic algorithm | |
Yang et al. | Fault-tolerant pancyclicity of the Mobius cubes | |
CN115243270A (zh) | 5g网络规划方法、装置、计算设备和存储介质 | |
CN111881327A (zh) | 基于顶点重排序与优先缓存的大数据处理能力测试方法 | |
CN116108795A (zh) | 基于动态粒子群优化的X结构Steiner最小树构建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |