CN111539181B - 基于离散差分进化的多策略优化x结构最小树构建方法 - Google Patents

基于离散差分进化的多策略优化x结构最小树构建方法 Download PDF

Info

Publication number
CN111539181B
CN111539181B CN202010349605.7A CN202010349605A CN111539181B CN 111539181 B CN111539181 B CN 111539181B CN 202010349605 A CN202010349605 A CN 202010349605A CN 111539181 B CN111539181 B CN 111539181B
Authority
CN
China
Prior art keywords
population
strategy
individual
variation
iteration
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
Application number
CN202010349605.7A
Other languages
English (en)
Other versions
CN111539181A (zh
Inventor
刘耿耿
杨礼亮
郭文忠
陈国龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN202010349605.7A priority Critical patent/CN111539181B/zh
Publication of CN111539181A publication Critical patent/CN111539181A/zh
Priority to PCT/CN2020/134416 priority patent/WO2021218157A1/zh
Application granted granted Critical
Publication of CN111539181B publication Critical patent/CN111539181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • G06F30/3947Routing global
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Geometry (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及一种基于离散差分进化的多策略优化X结构最小树构建方法,包括以下步骤:步骤S1:读取待测试电路引脚信息;步骤S2:对种群进行初始化,并计算初始种群个体适应值,初始化自适应参数;步骤S3:判断算法迭代次数是否达到阈值;步骤S4:若未达到阈值,则从策略池随机选择一种变异策略,经过变异、交叉后得到儿子个体;若达到阈值,则根据传统的差分进化算法对种群进行变异、交叉操作;步骤S5:采用免疫克隆选择策略;步骤S6:判断迭代是否满足终止条件,如果满足,则迭代终止输出最终种群,否则返回步骤S3继续下一次迭代更新;步骤S7:采用精炼策略,得到布线树最优方案。本发明能够得到更大的搜索空间,更小的线长,优化布线树拓扑结构,减少冗余。

Description

基于离散差分进化的多策略优化X结构最小树构建方法
技术领域
本发明属于集成电路计算机辅助设计技术领域,具体涉及超大规模集成电路布线中X结构Steiner最小树的构建。
背景技术
SMT(SteinerMinimum Tree,SMT)问题是在给定引脚集合的基础上,通过引入额外的点(Steiner点)来寻找一棵连接这些引脚集合的具有最小代价的布线树。因此,SMT的构建是超大规模集成电路(Very Large Scale Integration,VLSI)布线中的重要环节之一。
随着VLSI制造工艺的不断进步和发展,互连线效应逐渐成为影响芯片性能的重要因素。然而,目前大多数布线算法的研究都是基于曼哈顿结构展开的,这种基于曼哈顿结构的布线模型要求引脚之间的走线方式只能是水平方向和垂直方向,导致芯片中互连线的线长优化更加困难。而非曼哈顿结构由于具有更多的走线方向,能够更加充分利用布线资源,从而提高布线质量,改善芯片的性能。
为了更好地开展非曼哈顿结构下的布线工作,非曼哈顿结构 Steiner最小树的构建是关键的一步。X结构是非曼哈顿结构的一种,除了水平和垂直方向,引脚之间的走线还可以使45°和135°方向。而现有的X结构Steiner最小树(X-architecture Steiner MinimumTree, XSMT)构建算法主要分为精确算法和启发式算法。随着问题规模地不断扩大,这些算法要么面临时间复杂度的剧增,要么极易陷入局部极值,很难得到一个高质量的解方案。因此,迫切需要一种高效可行的X结构Steiner最小树构建方法以提高VLSI布线质量,最终优化芯片的性能。
发明内容
有鉴于此,本发明的目的在于提供一种基于离散差分进化的多策略优化X结构最小树构建方法,能够得到更大的搜索空间,更小的布线树线长,优化布线树拓扑结构,减少布线资源的冗余。
为实现上述目的,本发明采用如下技术方案:
一种基于离散差分进化的多策略优化X结构最小树构建方法,包括以下步骤:
步骤S1:读取待测试电路引脚信息,引脚按x轴坐标升序、y轴坐标升序的方式进行排序,设置迭代次数、阈值及交叉概率cr;
步骤S2:对种群进行初始化,并且计算初始种群每个个体的适应值,初始化自适应参数F;
步骤S3:判断算法迭代次数是否达到阈值;
步骤S4:若未达到阈值,则从策略池随机选择一种变异策略,经过变异、交叉后得到儿子个体;若达到阈值,则根据传统的差分进化算法对种群进行变异、交叉操作;
步骤S5:采用免疫克隆选择策略,经选择、克隆、变异、消亡四个步骤得到个体加入种群中;
步骤S6:判断迭代是否满足终止条件,如果满足,则迭代终止输出最终种群,否则返回步骤S3继续下一次迭代更新;
步骤S7:采用精炼策略,对最终种群中的每个个体搜索其共享程度最大的子结构,得到布线树最优方案。
进一步的,所述适应值计算由如下公式所示:
fitness(Tx)=Length(Tx)
其中
Figure BDA0002471378470000031
其中,length(ei)表示在XSMT的边集合中边ei的长度。
进一步的,所述步骤S2采用Prim算法初始化种群中的个体,T 为最小生成树集合,S为起始引脚点集合,V为引脚点集合,s为随机选取的起点。
进一步的,所述策略池中的变异策略包括六种,每种策略用DE /a/b来表示,其中DE表示差分进化,a表示基向量的选择方式, b表示算子中差分向量的个数,由如下公式所示:
(1)、DE/rand/1:
Vi,g=Xr1,g+F*(Xr2,g-Xr3,g)
(2)、DE/rand/2:
Vi,g=Xr1,g+F*(Xr2,g-Xr3,g)+F*(Xr4,g-Xr5,g)
(3)、DE/best/1:
Vi,g=Xbest,g+F*(Xr1,g-Xr2,g)
(4)、DE/best/2:
Vi,g=Xbest,g+F*(Xr1,g-Xr2,g)+F*(Xr3,g-Xr4,g)
(5)、DE/current-to-best/1:
Vi,g=Xi,g+F*(Xbest,g-Xi,g)
(6)、DE/rand-to-best/1:
Vi,g=Xr0,g+F*(Xbest,g-Xr0,g)+F*(Xr1,g-Xr2,g)
其中:r0≠r1≠r2≠r3≠r4≠r5≠i∈{1i2,…,NP},Xr,g表示第g次迭代种群中的随机个体,Xbest,g表示第g次迭代时的全局最优解,缩放因子F∈[0,2]。
进一步的,所述免疫克隆选择策略具体为:
(1)选择:在差分进化算法一次变异、交叉、选择后,将当前种群中的所有个体按照适应值的大小进行排序,选择其中适应值排名前 N的优秀的粒子组成临时种群,其中N的值:
N=k×NP
其中k=0.2,NP为种群大小;
(2)克隆:对临时种群的粒子进行扩增,扩增数量依据如下式所示,生成临时克隆群体C={C1,C2,…,CNi}
Figure BDA0002471378470000041
k∈(0,1)
其中Ni为临时种群中第i个粒子的扩增数量,N为临时种群的粒子数,b为常数1,确保扩增数量大于等于1,k为0到1之间随机数,round()为取整;
(3)变异:对于临时克隆种群的每个粒子逐个进行变异,变异策略采用更改布线树拓扑结构加连接方式变异,对于临时克隆种群中的每个个体随机选取e条边e∈[1,10],更改该边的连接方式,从四种连接方式,包括0选择、1选择、2选择、3选择中的一种,重新选择该边的的两端节点,此过程采用并查集的思想,保证变异后得到的是一棵合法树,得到一个变异种群M={M1,M2,…,MNi},t的值由下式得到
Figure BDA0002471378470000051
k∈(0,1)
其中n为引脚数;
(4)消亡:临时种群的个体Pi经过克隆、变异后得到Ni个个体的集合M={M1,M2,…,MNi},在集合中选择适应值最优的个体Mbest,若fitness(Mbest)<fitness(Pi),则将个体Tbest加入当前迭代种群中,变异集合T中其余变异个体全部消亡,若fitness(Tbest)≥fitness(Pi),则变异集合T中的所有个体全部消亡。
进一步的,所述精炼策略具体为:
(1)对于最终种群,对种群中的每一个个体进行精炼,计算种群中的每一个体中每个点pi的度,在树的定义中,结点的度即为该点所连接边的数量,记为di
(2)对于一条边的走线方式有4种,若点pi的度为di,则该点可能存在子结构为
Figure BDA0002471378470000052
种,枚举每一种子结构,以边的共享程度为衡量依据,记录其共享程度,对其进行排序,每次选取共享程度最大的子结构,结合并查集方法,不断获取子结构,从而构造出一棵合法树。
本发明与现有技术相比具有以下有益效果:
本发明使得在相同种群数与迭代次数中,能够得到更大的搜索空间,更小的布线树线长,优化布线树拓扑结构,减少布线资源的冗余。
附图说明
图1是本发明一实施例中XSMT引脚布线图;
图2是本发明一实施例中X结构模型:图中(a)为0选择;(b)为1 选择;(c)为2选择;(d)为3选择;
图3是本发明一实施例中两种新型运算方法示意图,图中(a)为运算一;(b)为运算二;
图4是本发明方法流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
在本实施例中,参考图1,XSMT问题模型具体为:
与传统的曼哈顿结构布线不同,在XSMT问题中设计增加了两种走线方式,即在原来的水平走线与垂直走线的基础上加入了45°与135°两种走线方式。在XSMT问题中引入了Steiner点的概念, Steiner点存在于两个相互连接的引脚中,Steiner点的固定决定了两个引脚间的走线方式。
XSMT问题模型示例如下,在给定的一组引脚P= {P1,P2,···,Pn}中,Pi代表第i个待连接的引脚,n表示引脚个数,引入笛卡尔坐标系,每个引脚点Pi在坐标系中对应的坐标为(xi,yi),现给出5个引脚P={P1,P2,P3,P4,P5},每个引脚所对应的坐标由表1所示,对应的引脚分布图如图1所示。
表1引脚坐标信息
引脚 P<sub>1</sub> P<sub>2</sub> P<sub>3</sub> P<sub>4</sub> P<sub>5</sub>
坐标 (1,22) (5,5) (12,10) (18,3) (22,16)
关于XSMT问题的一些相关定义如下:
定义1.Pseudo-Steiner点假设除引脚点外的连接点称为 Pseudo-Steiner点,记作PS点。
假设引脚A=(x1,y1),引脚B=(x2,y2)是连线AB的两个端点,且有x1<x2,有如下定义:
定义2.0选择如图2中(a)所示,从A引垂直边至S点,再从S 引X结构边至B。
定义3.1选择如图2中(b)所示,从A引X结构边至S点,再从S引垂直边至B。
定义4.2选择如图2中(c)所示,从A引垂直边至S,再从S引水平边至B。
定义5.3选择如图2中(d)所示,从A引水平边至S,再从S引垂直边至B。
请参照图4,本实施例中提供一种基于离散差分进化的多策略优化X结构最小树构建方法,包括以下步骤:
步骤S1:读取待测试电路引脚信息,引脚按x轴坐标升序、y 轴坐标升序的方式进行排序,设置迭代次数、阈值及交叉概率cr。
步骤S2:采用prim算法对种群进行初始化,并且根据适应值公式计算初始种群每个个体的适应值,初始化自适应参数F。
步骤S3:根据差分进化算法的流程进行迭代进化操作,在第一阶段的每一次的迭代中,采用PS+E混合策略,即变异操作改变最小树的拓扑结构以及边的走线方式,从策略池选择一种变异策略(根据公式16至公式20),经过变异、交叉后得到儿子个体;在第二阶段,采用PS策略只变换边的走线方式,将策略池修改为策略一,选择算子是基于贪心策略选择儿子个体与原个体中适应值最小的一个,保留到下一代。
步骤S4:在每一次迭代结尾采用免疫克隆选择策略,经选择、克隆、变异、消亡四个步骤得到个体加入种群中。
S5:检查迭代是否满足终止条件,如果满足,则迭代终止,否则返回S3继续下一次迭代更新。
S6:在构建方法的最后采用精炼策略,对最终种群中的每个个体搜索其共享程度最大的子结构。
在本实施例中,差分进化算法的基本思想为:随机产生一个初始种群,通过把种群中任意两个个体的向量差与第三个个体求和产生新个体,然后将产生的新个体与当前种群中相对应的个体进行比较,如果新产生的个体的适应值优于当前个体的适应值,通过采用贪婪策略,选择新产生的个体替换当前个体,否则仍保存旧个体。
差分进化算法更新策略如下:
种群的初始化:随机产生NP个个体,每个个体的向量维度为D,如Xi,0代表初始化第i个个体,XL是D维个体的下限,XH是D维个体的上限,对应初始化方式如下所示:
Xi,0=XL+randam(0,1)*(XH-XL) (1)
变异算子:在第g次迭代过程中,通过选取第g代种群中三个个体Xa,g、Xb,g、Xc,g,且三个个体不相同,根据变异公式生成新的变异个体Vi,g,变异公式如下所示:
Vi,g=Xa,g+F*(Xb,g-Xc,g) (2)
其中a≠b≠c≠i,F为缩放因子在[0,2]之间选择。
交叉算子:差分进化算法在第g代交叉过程中,采取如下交叉策略:
Figure BDA0002471378470000091
其中j表示维度,cr为交叉概率,且cr∈[0,1]。
选择算子:选择过程采用贪心策略,即选取适应值最优的个体,根据如下公式得到下一代个体:
Figure BDA0002471378470000092
其中f(Xi,g)表示第i个个体在g代的适应值。
在本实施例中,采用边点对编码表示。因为边点对编码能够较好的保持住种群的最优子结构。
在一个引脚分布图中,一个布线树网络中有n个引脚点,其生成树中对应有n-1条边,每条边中引入一个Steiner点,故有n-1个Steiner 点和n-1个选择方式,对每个引脚进行编号,得到编号1,2,3,…, n-1,n,通过记录一条连线的两个端点来确定一条边,外加一位来记录该连线的选择方式,因此在实际编码中一个个体用长度为3×(n- 1)数组即可表示,最后在加一位用来表示该个体的适应值大小,即最终编码长度为3×(n-1)+1,如图1的引脚分布图可以用以下字符串表示:
1 3 0 2 3 0 4 5 0 3 4 3 46.284
其中130表示引脚点1和3之间以0选择的方式连线,最后一个数字46.284表示该生成树的适应值大小,也是该生成树的非曼哈顿结构线长。
在本实施例中,适应值函数具体为:
XSMT的布线总长度由生成树的所有边的长度累加得到,公式如下所示:
Figure BDA0002471378470000101
其中length(ei)表示在XSMT的边集合中边ei的长度。
一棵XSMT的边集合中,所有边都属于如下四种方式中的一种:分别是水平线,垂直线,45°斜线与135°斜线。将45°斜线逆时针旋转45°可以得到一条垂直线,将135°斜线逆时针旋转45°可以得到一条水平线,这样就可以将四种边转换为两种边,再对所有的水平线与垂直线进行排列,此时XSMT的总长度便可由所有的水平线与垂直线相加得到。将斜边旋转为水平线和垂直线的原因是为了去除重叠的边,如果不将重叠的边去除,计算得到的总长度会比实际的总长度大。一棵X结构Steiner树的优秀程度由该布线树的总长度决定,一棵布线树的总长度越小,该布线树的优秀程度越高,因此本文构建方法衡量一棵布线树的适应值大小就是该布线树总长度的大小,适应值计算由如下公式所示:
fitness(Tx)=Length(Tx) (6)
在本实施例中,采用Prim算法初始化种群中的个体,T为最小生成树集合,S为起始引脚点集合,V为引脚点集合,s为随机选取的起点。伪代码如算法1所示:
Figure BDA0002471378470000111
在本实施例中,免疫克隆选择策略的具体步骤如下:
(1)选择:在差分进化算法一次变异、交叉、选择后,将当前种群中的所有个体按照适应值的大小进行排序,选择其中适应值排名前N的优秀的粒子组成临时种群,其中N的值可根据公式(7)得到:
N=k×NP (7)
其中k=0.2,NP为种群大小。
(2)克隆:对临时种群的粒子进行扩增,扩增数量依据如下扩增公式(8)所示,生成临时克隆群体C={C1,C2,…,CNi}。
Figure BDA0002471378470000121
其中Ni为临时种群中第i个粒子的扩增数量,N为临时种群的粒子数, b为常数1,确保扩增数量大于等于1,k为0到1之间随机数,round() 为取整。
(3)变异:对于临时克隆种群的每个粒子逐个进行变异,变异策略采用更改布线树拓扑结构加连接方式变异,对于临时克隆种群中的每个个体随机选取e条边e∈[1,10],更改该边的连接方式,从四种连接方式(0选择、1选择、2选择、3选择)中的一种,重新选择该边的的两端节点,此过程采用并查集的思想,保证变异后得到的是一棵合法树,得到一个变异种群M={M1,M2,…,MNi},t的值由公式(9) 可得。
Figure BDA0002471378470000122
其中n为引脚数量。
(4)消亡:临时种群的个体Pi经过克隆、变异后得到Ni个个体的集合M={M1,M2,…,MNi},在集合中选择适应值最优的个体Mbest,若 fitness(Mbest)<fitness(Pi),则将个体Tbest加入当前迭代种群中,变异集合T中其余变异个体全部消亡,若fitness(Tbest)≥fitness(Pi),则变异集合T中的所有个体全部消亡。
免疫克隆选择策略伪代码如算法2所示。
Figure BDA0002471378470000131
Figure BDA0002471378470000141
在本实施例中,策略池具体包括的变异策略有六种,每种策略用“DE/a/b”来表示,其中DE表示差分进化,a表示基向量的选择方式,b表示算子中差分向量的个数,由如下公式所示:
(1)、DE/rand/1:
Vi,g=Xr1,g+F*(Xr2,g-Xr3,g) (10)
(2)、DE/rand/2:
Vi,g=Xr1,g+F*(Xr2,g-Xr3,g)+F*(Xr4,g-Xr5,g) (11)
(3)、DE/best/1:
Vi,g=Xbest,g+F*(Xr1,g-Xr2,g) (12)
(4)、DE/best/2:
Vi,g=Xbest,g+F*(Xr1,g-Xr2,g)+F*(Xr3,g-Xr4,g) (13)
(5)、DE/current-to-best/1:
Vi,g=Xi,g+F*(Xbest,g-Xi,g) (14)
(6)、DE/rand-to-best/1:
Vi,g=Xr0,g+F*(Xbest,g-Xr0,g)+F*(Xr1,g-Xr2,g) (15)
其中:r0≠r1≠r2≠r3≠r4≠r5≠i∈{1,2,…,NP},Xr,g表示第g次迭代种群中的随机个体,Xbest,g表示第g次迭代时的全局最优解,缩放因子F∈[0,2]。
在阐述基于XSMT问题的多变异策略前,需要先要给出两种运算符号的定义。
定义A为粒子X1的边集,B为粒子X2的边集,全集为A∪B,定义以下两种运算符:
A
Figure BDA0002471378470000153
B:表示为求A与B的对称差集,即为(A∪B)-(A∩B),如图3(a)所示。
A⊕B:首先计算集合C=A-B,再将集合B中边加入集合C中,直至集合C的边集能够构成一棵合法的树为止,如图3(b)所示。
给出以上定义后,接下来讨论基于XSMT问题提出三种新型变异策略构成的策略池:
变异策略1:DE/current-to-best(gbest+pbest)/1,该变异策略中,第一部分的基向量为当前个体,差分向量为当前个体与当前个体的局部最优个体运算产生,经公式(16)运算得到个体T,第二部分的基向量为个体T,差分向量为个体T与全局最优个体运算产生,经公式 (17)运算得到目标变异个体Vi,g
Figure BDA0002471378470000151
Figure BDA0002471378470000152
该变异策略能够保留当前个体与最优个体(包括全局最优个体与局部最优个体)的共同边,并且有50%的几率将最优个体中的边替换当前粒子的边,使得当前种群的个体与最优个体的相似程度提高。
变异策略2:DE/rand-to-best(gbest+pbest)/1,该变异策略中,第一部分的基向量为当前个体,差分向量由当前种群随机选取一个个体与局部最优个体运算产生,经公式(18)运算得到个体T,第二部分的基向量为个体T,差分向量为当前种群随机选取另一个个体与全局最优个体运算产生,经公式(19)运算得到目标变异个体Vi,g,变异公式如下:
Figure BDA0002471378470000161
Figure BDA0002471378470000162
其中r1≠r2≠i,从种群中随机选择的粒子的结构有较大的概率不同于当前个体与最优个体,使得变异的方向不仅局限于最优个体中的边集。
变异策略3:DE/current-to-rand/1,该变异策略中,基向量为当前个体,差分向量由当前粒子与种群中随机选取的粒子运算产生,经公式(20)运算得到变异个体Vi,g,变异公式如下:
Figure BDA0002471378470000163
种群中的粒子具有多样性,该变异策略的变异方向随机度大,在前期的搜索过程中提高粒子的多样性。
在解决XSMT问题中,通常将整个迭代过程分为两个阶段,采用(PS+E)∶PS混合策略,在迭代的前期采用PS+E转换策略即改变最小树的拓扑结构和边的走线方式,后期只采用单纯的PS转换的策略。在多变异策略中,策略的选择在前后其采取不同方案,在前期混合使用三种策略,每种策略从策略池中等概率选取,在后期只使用变异策略1。
多变异策略伪代码如算法3所示。
Figure BDA0002471378470000171
在本实施例中,自适应参数F具体为:
例如对于变异算子
Figure BDA0002471378470000181
有Fi∈[1,2],现定义运算符*:
若Fi<1,从边集合
Figure BDA0002471378470000182
中随机淘汰n条边{e1,e2,…,en},其中
Figure BDA0002471378470000183
Figure BDA0002471378470000184
n的值由公式(22)计算得到:
Figure BDA0002471378470000185
其中|Xbest,g|为集合Xbest,g的大小。
若Fi>1,从边集合
Figure BDA0002471378470000186
中随机淘汰n条边{e1,e2,…,en},其中
Figure BDA0002471378470000187
Figure BDA0002471378470000188
n的值由公式(23)计算得到:
Figure BDA0002471378470000189
若Fi=1,则不对任何边集合进行改动,按原先的运算策略进行。
自适应参数F的意义:当前个体Xi,g的适应值fi足够接近Xbest,g的适应值fbest时,其生成树的部分子结构已经为最优,此时减小Fi的值以更大程度保留自身结构,反之应增大Fi值以增大变异范围。
自适应策略伪代码如算法4所示。
Figure BDA00024713784700001810
Figure BDA0002471378470000191
在本实施例中,对于全部迭代结束后的最终的搜索结果,种群中的每个个体可能还存在着可以优化的空间。为了搜索每个个体的更优结果,加入了精炼策略,具体步骤如下所示:
(1)对于迭代evalutions次后得到的最终种群,对种群中的每一个个体进行精炼,计算种群中的每一个体中每个点pi的度,在树的定义中,结点的度即为该点所连接边的数量,记为di
(2)对于一条边的走线方式有4种,若点pi的度为di,则该点可能存在子结构为
Figure BDA0002471378470000192
种,枚举每一种子结构,以边的共享程度为衡量依据,记录其共享程度,对其进行排序,每次选取共享程度最大的子结构,结合并查集方法,不断获取子结构,从而构造出一棵合法树。
精炼策略伪代码如算法5所示:
Figure BDA0002471378470000201
在本实施例中,主要参数有:种群大小NP、迭代次数evaluations、阈值threshold、自适应参数F、交叉概率cr。
对比实验中,将参数均设为NP=100,evaluations=500, threshold=0.4,对于自适应参数F在上文中已经给出详细介绍,交叉概率cr同样采用自适应策略,具体如下:
Figure BDA0002471378470000211
其中crl=0.1,cru=0.6,fi,fmin,fmax
Figure 1
分别表示当前个体的适应值,种群中最小适应值个体,种群中最大适应值个体和种群中平均适应值个体。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (2)

1.一种基于离散差分进化的多策略优化X结构最小树构建方法,其特征在于,包括以下步骤:
步骤S1:读取待测试电路引脚信息,引脚按x轴坐标升序、y轴坐标升序的方式进行排序,设置迭代次数、阈值及交叉概率cr;
步骤S2:对种群进行初始化,并且计算初始种群每个个体的适应值,初始化自适应参数F;
步骤S3:判断算法迭代次数是否达到阈值;
步骤S4:若未达到阈值,则从策略池随机选择一种变异策略,经过变异、交叉后得到儿子个体;若达到阈值,则根据传统的差分进化算法对种群进行变异、交叉操作;
步骤S5:采用免疫克隆选择策略,经选择、克隆、变异、消亡四个步骤得到个体加入种群中;
步骤S6:判断迭代是否满足终止条件,如果满足,则迭代终止输出最终种群,否则返回步骤S3继续下一次迭代更新;
步骤S7:采用精炼策略,对最终种群中的每个个体搜索其共享程度最大的子结构,得到布线树最优方案;
所述策略池中的变异策略包括六种,每种策略用DE/a/b来表示,其中DE表示差分进化,a表示基向量的选择方式,b表示算子中差分向量的个数,由如下公式所示:
(1)、DE/rand/1:
Vi,g=Xr1,g+F*(Xr2,g-Xr3,g)
(2)、DE/rand/2:
Vi,g=Xr1,g+F*(Xr2,g-Xr3,g)+F*(Xr4,g-Xr5,g)
(3)、DE/best/1:
Vi,g=Xbest,g+F*(Xr1,g-Xr2,g)
(4)、DE/best/2:
Vi,g=Xbest,g+F*(Xr1,g-Xr2,g)+F*(Xr3,g-Xr4,g)
(5)、DE/current-to-best/1:
Vi,g=Xi,g+F*(Xbest,g-Xi,g)
(6)、DE/rand-to-best/1:
Vi,g=Xr0,g+F*(Xbest,g-Xr0,g)+F*(Xr1,g-Xr2,g)
其中:r0≠r1≠r2≠r3≠r4≠r5≠i∈{1,2,…,NP},Xr,g表示第g次迭代种群中的随机个体,Xbest,g表示第g次迭代时的全局最优解,缩放因子F∈[0,2];
所述免疫克隆选择策略具体为:
(1)选择:在差分进化算法一次变异、交叉、选择后,将当前种群中的所有个体按照适应值的大小进行排序,选择其中适应值排名前N的优秀的粒子组成临时种群,其中N的值:
N=k×NP
其中k=0.2,NP为种群大小;
(2)克隆:对临时种群的粒子进行扩增,扩增数量依据如下式所示,生成临时克隆群体C={C1,C2,…,CNi}
Figure FDA0003557489230000031
其中Ni为临时种群中第i个粒子的扩增数量,N为临时种群的粒子数,b为常数1,确保扩增数量大于等于1,k为0到1之间随机数,round()为取整;
(3)变异:对于临时克隆种群的每个粒子逐个进行变异,变异策略采用更改布线树拓扑结构加连接方式变异,对于临时克隆种群中的每个个体随机选取e条边e∈[1,10],更改该边的连接方式,从四种连接方式,包括0选择、1选择、2选择、3选择中的一种,重新选择该边的两端节点,此过程采用并查集的思想,保证变异后得到的是一棵合法树,得到一个变异种群M={M1,M2,…,MNi},t的值由下式得到
Figure FDA0003557489230000032
其中n为引脚数;
消亡:临时种群的个体Pi经过克隆、变异后得到Ni个个体的集合M={M1,M2,…,MNi},在集合中选择适应值最优的个体Mbest,若fitness(Mbest)<fitness(Pi),则将个体Tbest加入当前迭代种群中,变异集合T中其余变异个体全部消亡,若fitness(Tbest)≥fitness(Pi),则变异集合T中的所有个体全部消亡;
所述精炼策略具体为:
(1)对于最终种群,对种群中的每一个个体进行精炼,计算种群中的每一个体中每个点pi的度,在树的定义中,结点的度即为该点所连接边的数量,记为di
(2)对于一条边的走线方式有4种,若点pi的度为di,则该点可能存在子结构为
Figure FDA0003557489230000041
种,枚举每一种子结构,以边的共享程度为衡量依据,记录其共享程度,对其进行排序,每次选取共享程度最大的子结构,结合并查集方法,不断获取子结构,从而构造出一棵合法树。
2.根据权利要求1所述的基于离散差分进化的多策略优化X结构最小树构建方法,其特征在于,所述适应值计算由如下公式所示:
fitness(Tx)=Length(Tx)
其中
Figure FDA0003557489230000042
其中,length(ei)表示在XSMT的边集合中边ei的长度。
CN202010349605.7A 2020-04-28 2020-04-28 基于离散差分进化的多策略优化x结构最小树构建方法 Active CN111539181B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010349605.7A CN111539181B (zh) 2020-04-28 2020-04-28 基于离散差分进化的多策略优化x结构最小树构建方法
PCT/CN2020/134416 WO2021218157A1 (zh) 2020-04-28 2020-12-08 基于离散差分进化的多策略优化x结构最小树构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010349605.7A CN111539181B (zh) 2020-04-28 2020-04-28 基于离散差分进化的多策略优化x结构最小树构建方法

Publications (2)

Publication Number Publication Date
CN111539181A CN111539181A (zh) 2020-08-14
CN111539181B true CN111539181B (zh) 2022-05-13

Family

ID=71975849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010349605.7A Active CN111539181B (zh) 2020-04-28 2020-04-28 基于离散差分进化的多策略优化x结构最小树构建方法

Country Status (2)

Country Link
CN (1) CN111539181B (zh)
WO (1) WO2021218157A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111539181B (zh) * 2020-04-28 2022-05-13 福州大学 基于离散差分进化的多策略优化x结构最小树构建方法
CN112395822B (zh) * 2020-11-26 2022-08-09 福州大学 时延驱动的非曼哈顿结构Steiner最小树构建方法
CN114706445B (zh) * 2022-03-10 2023-08-01 三峡大学 基于de-gwo算法的光伏最大功率点跟踪方法
CN114779329B (zh) * 2022-04-24 2023-05-23 福州大学 一种近断层海域地震动反应谱标定方法
CN114842071B (zh) * 2022-04-25 2024-05-24 华南理工大学 一种图像视角自动转化方法
CN115130255B (zh) * 2022-05-16 2023-05-12 西南交通大学 一种基于协同优化的带分支管道布局方法
CN115809524A (zh) * 2022-12-07 2023-03-17 九江学院 基于强化学习的进化算法的盘式制动器优化设计方法
CN116001628B (zh) * 2023-01-03 2023-07-28 南京信息工程大学 一种用于EVs无线充电的基于差分进化算法DE的三阶段控制方法
CN116432992B (zh) * 2023-06-15 2023-08-22 合肥工业大学 T梁车间设备资源配置、生产优化方法、系统和存储介质
CN117173061B (zh) * 2023-10-27 2024-03-19 山东省工业技术研究院 一种基于自适应双变异差分进化算法的图像增强方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902775A (zh) * 2014-03-31 2014-07-02 福州大学 超大规模集成电路多层绕障Steiner最小树构造方法
CN110059405A (zh) * 2019-04-16 2019-07-26 福州大学 X结构下带差分进化的高质量Steiner最小树构建方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774690A (en) * 1995-09-14 1998-06-30 The United States Of America As Represented By The Secetary Of The Navy Method for optimization of element placement in a thinned array
TWI410819B (zh) * 2010-05-10 2013-10-01 Univ Nat Chiao Tung 考量元件與佈線對稱之類比佈局方法
CN103902774B (zh) * 2014-03-31 2017-01-25 福州大学 X结构下超大规模集成电路总体布线方法
CN107247844B (zh) * 2017-06-10 2020-11-03 福州大学 基于自适应PSO和混合转换策略的X结构Steiner最小树布线方法
CN111539181B (zh) * 2020-04-28 2022-05-13 福州大学 基于离散差分进化的多策略优化x结构最小树构建方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902775A (zh) * 2014-03-31 2014-07-02 福州大学 超大规模集成电路多层绕障Steiner最小树构造方法
CN110059405A (zh) * 2019-04-16 2019-07-26 福州大学 X结构下带差分进化的高质量Steiner最小树构建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
X结构下VLSI多层绕障Steiner最小树算法;刘耿耿 等;《计算机辅助设计与图形学学报》;20150315;第27卷(第3期);523-532 *

Also Published As

Publication number Publication date
CN111539181A (zh) 2020-08-14
WO2021218157A1 (zh) 2021-11-04

Similar Documents

Publication Publication Date Title
CN111539181B (zh) 基于离散差分进化的多策略优化x结构最小树构建方法
CN110795907B (zh) 一种考虑布线资源松弛的X结构Steiner最小树构造方法
US11886786B2 (en) Two-step x-architecture steiner minimum tree construction method
CN112085204A (zh) 一种用于量子编译的线路变换方法
CN113780436B (zh) 一种基于综合度的复杂网络关键节点识别方法
CN108809697B (zh) 基于影响力最大化的社交网络关键节点识别方法及系统
CN109583133B (zh) 一种x结构下基于多阶段转换和遗传操作的粒子群优化斯坦纳最小树构造方法
CN112165401A (zh) 一种基于网络剪枝和局部社区扩展的边社区发现算法
CN111723544A (zh) X结构下考虑障碍内布线的Steiner树构建方法
Shiga et al. A variational bayesian framework for clustering with multiple graphs
Wang et al. Learning regularity for evolutionary multiobjective search: A generative model-based approach
US20070011111A1 (en) Method and device for the genetic representation and evolution of networks
Pillans Efficiency of evolutionary search for analog filter synthesis
Datta et al. Mapping quantum circuits to 2-dimensional quantum architectures
CN114329853A (zh) 一种量子拓扑图优化方法、装置、终端及存储介质
CN111709846A (zh) 基于线图的局部社区发现算法
CN112802543B (zh) 一种基于概率图的基因调控网络分析方法
CN115906748B (zh) 一种基于滑动窗口和离散差分进化算法的3d布局优化方法
CN111464343B (zh) 一种基于平均互信息的最大派系贪心扩展社区发现方法及系统
TWI413913B (zh) 於dna微陣列資料中探勘子空間分群之方法
Zhang et al. X-architecture steiner tree algorithm with limited routing length inside obstacle
Moradi et al. An Improved Multi-objective Genetic Algorithm for Revealing Community Structures of Complex Networks
CN106528984A (zh) 径向点插值型无网格法形函数构造方法
Perfecto et al. On the heritability of Dandelion-encoded harmony search heuristics for tree optimization problems
Liu et al. A Two-Level Edge-Knowledge Learning Genetic Algorithm for Community Detection

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