[发明专利]基于动态粒子群优化的X结构Steiner最小树构建方法在审
申请号: | 202211610060.6 | 申请日: | 2022-12-14 |
公开(公告)号: | CN116108795A | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 刘耿耿;郑瀚;郭文忠 | 申请(专利权)人: | 福州大学 |
主分类号: | G06F30/392 | 分类号: | G06F30/392;G06F30/398;G06F111/06 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 陈明鑫;蔡学俊 |
地址: | 350108 福建省福州市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 动态 粒子 优化 结构 steiner 小树 构建 方法 | ||
1.一种基于动态粒子群优化的X结构Steiner最小树构建方法,其特征在于,包括:
(1)布线拓扑初始化阶段:用Prim算法初始化种群,初始化每个粒子的历史最优位置Pi与整个种群的当前最佳位置Pg;
(2)基于动态粒子群优化的搜索阶段:将动态子群与信息交换策略、粒子学习策略与变异、多群局部学习过渡到单群全局学习策略加入PSO算法中,提出基于动态粒子群优化的算法,然后基于该算法对粒子群进行迭代更新,直到收敛到全局最优粒子,将其作为X结构Steiner布线树。
2.根据权利要求1所述的基于动态粒子群优化的X结构Steiner最小树构建方法,其特征在于,该方法具体实现如下:
S1、X结构Steiner树编码:
在X结构下,将互连线的连接方式c分为四种类型;设计一种X结构Steiner树的边点对编码方案:首先按顺序分别为引脚和障碍物设置唯一的数字编号,然后用数字字符串(pqc)n-1f对X结构Steiner树中的每条边分别进行编码;其中,p表示树中的前驱节点的编号,q表示树中的后继节点的编号,c表示相应边的互连线方式,n表示引脚数量,f表示粒子的适应值;
S2、种群初始化:
利用Prim算法构造最小生成图作为粒子的初始解,将整个种群随机划分为5个子群,并初始化每个粒子的历史最优位置Pi和整个种群的当前最佳位置Pg,再迭代搜索问题的最优解;
S3、变异操作:
随机选择X结构Steiner树中的一条边并将其删除后,引入并查集的操作,将删除边后的X结构Steiner树节点分为两个点集,再从两个点集中分别随机选择一个点,连接这两个点形成一条新的边,最终构造出一棵新的X结构Steiner树;
S4、交叉操作:
根据两棵X结构Steiner树中的引脚编号依次比较两棵X结构Steiner树中的边,引入并查集的操作,将两棵X结构Steiner树中相同的边加入一个边集,将其余的边加入其余边集;相同边集合中的边直接作为新的X结构Steiner树的边,然后从其余边集中随机选择边添加到新的X结构Steiner树中,直到构造出一棵新的X结构Steiner树;
S5、动态子群与信息交换:
将所有X结构Steiner树划分为N个子群,针对这N个子群分别进行更新;其中,每经过R代从每个子群中随机选择M棵X结构Steiner树进行两两交换;
为了在勘探和开发之间取得平衡,在进化过程中采用线性递减法来控制子群之间的信息交换率;R的更新公式定义为:
R=Rmnax-(Rmax-Rmin)t/tmax
其中,Rmmax和Rmin分别是子群之间信息交换的最大和最小迭代间隔,tmax是最大迭代次数,t是当前迭代次数;
S6、粒子学习策略与变异:
在优化过程中设定子群中非最优X结构Steiner树向子群最优X结构Steiner树学习,而子群中最优X结构Steiner树则向全局中最优的X结构Steiner树学习;
S7、多群局部学习过渡到单群全局学习策略:
在优化过程中X结构Steiner树的更新由多群局部学习向单群全局学习过渡;在局部学习中粒子采取边学习的方式,向更优X结构Steiner树学习,从而获得更优秀的拓扑结构;而在全局学习中,粒子使用点学习的方式对当前X结构Steiner树内部拓扑结构进行优化,获得更好的线长优化率;同时为了提高整个种群中粒子的多样性,设定在迭代次数到达阈值之后开始从局部学习过渡到全局学习;
S8、适应度函数设计:
X结构Steiner树问题的优化目标是最小化求得的最优X结构Steiner树线长;因此,将粒子的适应度设置为与线长代价相关的函数;第t轮迭代时第i个粒子的适应度函数定义为:
其中,Fitness为粒子适应度的函数,l是计算边ej长度的函数;
S9、搜索更新:
种群中的粒子都拥有一个决定其搜索方向和距离的速度以及由优化函数决定的适应度值,并基于此在解空间中迭代搜索最优解;每一轮迭代搜索中,粒子通过追随两个极值完成自身的更新:一个是粒子自身的历史最佳位置,称为个体极值;一个是整个子群的当前最佳位置,称为全局极值;第t轮迭代时第i个粒子的更新公式定义为:
其中w是用来平衡算法的探索和开发能力的惯性权重,c1和c2是加速因子,分别调节粒子飞向其自身历史最优位置(pbest)和全局最优位置(gbest)的权重;D1为粒子自身的速度惯性,D2和D3分别为粒子的个体学习认知和全局学习认知;所表示的X结构Steiner树根据以下三个部分进行更新:
惯性保持部分,即粒子先前的速度,表示粒子的搜索能力,更新后的粒子定义为:
其中,M代表变异操作,惯性权重w表示粒子发生变异的概率,r1为0~1内的随机数;代表的变异操作有边重构和点变异两种;边重构指的是随机选择粒子内的一条边并移除该条边,此时粒子所表示的X结构Steiner树成为两棵不相连的子树,连接这两个点形成一条新的边,最终构造出一棵新的X结构Steiner树,新产生的边连接方式与被删除边的连接方式相同;点变异指的是随机选择粒子内的两条边,改变这两条边的连接方式,有可能得到比原来更好的线长,这一方式不改变树的结构;
自我认知部分,即粒子当前位置与个体极值的距离,表示粒子向自身历史经验的学习,更新后的粒子定义为:
其中,Cp代表交叉操作,学习因子c1表示粒子与个体极值发生交叉的概率,r2为0~1内的随机数;
社会经验部分,即粒子当前位置与全局极值的距离,表示粒子间的协作与信息共享,更新后的粒子定义为:
其中,学习因子c2表示粒子与全局极值发生交叉的概率,r3为0~1内的随机数;D2与D3的交叉操作有边学习和点学习有两种;边学习指的是保留与学习对象相同的边并移除与学习对象不同的边,然后不断随机选择新的边加入新粒子,直至新粒子构成一棵完整的X结构Steiner树;点学习指的是生成两个小于X结构Steiner树中边数的随机整数S1和S2,并产生一个边的编号集合S={k|k≥S1且k≤S2,k∈N*},将集合S中些边的连接方式改为学习对象中对应编号边的连接方式;
惯性权重w和学习因子c1和c2对X结构Steiner树的优化过程有着极大的影响;为权衡参数设置,平衡开发与探索能力,基于线性调整策略,根据迭代次数自适应地调整w、c1、c2,调整公式如下:
其中,w_max,w_min分别代表最大和最小的w值,c1_max,c1_min分别代表初始和最终的c1值,c2_max,c2_min分别代表初始和最终的c2值。
3.根据权利要求2所述的基于动态粒子群优化的X结构Steiner最小树构建方法,其特征在于,互连线的连接方式c分为四种类型,分别如下:
互连线方式0:首先通过水平边或竖直边连接起点引脚和伪Steiner点,然后通过45°边或135°边连接伪Steiner点和终点引脚;
互连线方式1:首先通过45°边或135°边连接起点引脚和伪Steiner点,然后通过水平边或竖直边连接伪Steiner点和终点引脚;
互连线方式2:首先通过竖直边连接起点引脚和伪Steiner点,然后通过水平边连接伪Steiner点和终点引脚;
互连线方式3:首先通过水平边连接起点引脚和伪Steiner点,然后通过竖直边连接伪Steiner点和终点引脚。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211610060.6/1.html,转载请声明来源钻瓜专利网。