一种用于芯片研制的多目标优化方法

文档序号:33105083发布日期:2023-02-01 01:17阅读:39来源:国知局
一种用于芯片研制的多目标优化方法

1.本发明属于芯片研制技术领域,特别是涉及一种用于芯片研制的多目标优化方法。


背景技术:

2.近年来,由于资讯相关产业的高度发展以及人们求快求新求变的时代趋势,各式各样的电子及资讯产品不断出炉,而现有的产品也不断翻新样式或者更新版本,芯片则是产品更新换代得到改进的关键。
3.芯片制造是一层层向上叠加的,最高可达上百次叠加。每一次的叠加,都必须和前一次完美重叠,重叠误差要求是1~2纳米。芯片制作完整过程包括芯片设计、晶片制作、封装制作、成本测试等几个环节,其中晶片制作过程尤为的复杂。精密的芯片其制造过程非常的复杂首先是芯片设计,根据设计的需求,生成的“图样”。以往,芯片设计与制造业者对于一个新的芯片产品,其设计到生产以及验证再设计的过程步骤繁琐复杂,现有的研制过程无法兼顾芯片质量、研制周期以及研制成本。


技术实现要素:

4.本发明的目的是提供一种用于芯片研制的多目标优化方法,以解决上述现有技术存在的问题,提高研制进度,降低成本,保证质量,适应市场需求。
5.为实现上述目的,本发明提供了一种用于芯片研制的多目标优化方法,包括:
6.步骤一:获取芯片研制过程目标优化的控制参数;
7.步骤二:获取初始种群,基于所述初始种群获得最优解集合并存储;
8.步骤三:采用全局搜索与局部搜索的方式更新初始种群得到优化种群,并更新所述最优解集合;
9.步骤四:重复进行步骤三,直至达到终止条件停止更新并输出最优解集合,获得芯片研制最佳方案,所述终止条件包括:超出最大迭代次数或达到误差允许值。
10.可选的,所述步骤一中的控制参数包括活动信息与初始参数,其中,所述活动信息包括芯片研制的活动优先级关系、活动持续时间、活动成本、活动质量绩效指数以及活动执行模式,所述初始参数包括决策变量下限、决策变量上限、最大迭代次数、初始种群大小。
11.可选的,基于所述初始参数中的决策变量下限、决策变量上限以及初始种群大小获得所述初始种群。
12.可选的,所述步骤二中的最优解集合的获取过程包括:对所述初始种群中的解进行排序并循环分级,最优解集合为初始种群中分级最高的解的集合。
13.可选的,基于个体的pareto优势关系对所述种群进排序并循环分级,过程包括:首先计算每个解的适应度值,然后根据适应度值将每个解按升序排序。
14.可选的,所述步骤三中的全局搜索的过程包括:获取全局最佳位置,基于全局最佳位置进行全局搜索,更新初始种群与最优解集合,所述全局最佳位置为初始种群中的全局
最优解。
15.可选的,所述步骤三中的局部搜索的过程包括:计算最优解集合中每个解的选择概率值,基于所述选择概率值对最优解集合中的每个解进行评估,若解的选择概率值超过概率阈值,则对解进行变异、交叉操作生成对应的新解,选取新解与原解中适应度值最高的解存储到最优解集合中,更新初始种群与最优解集合,其中,所述概率阈值为区间[0,1]内随机产生一个数,基于贪婪标准进行选取,基于适应度值获得选择概率值。
[0016]
可选的,变异操作的过程包括:从最优解集合中随机选取两个解,并将更新后的初始种群中的最优解作为目标向量,基于变异因子、目标向量及选取的两个解进行变异操作,获得变异向量。
[0017]
可选的,交叉操作的过程包括:基于交叉算子、所述变异向量、所述最优解获得试验向量。
[0018]
可选的,所述步骤三中的最优解集合的更新过程还包括:当超过探索限值时,集合中所有未被更新的解均生成随机解替代,所述探索限值为预设值。
[0019]
本发明的技术效果为:
[0020]
本发明提供一种用于芯片研制的多目标优化方法,结合非支配排序与拥挤距离,在保留最优解的前提下还保持了解的多样性;引入pso算法来帮助引领蜂阶段获得具有良好收敛性能的全局最佳解集;引入de的差分进化运算,并采用基于pareto秩和拥挤距离的适应度分配策略,避免解分布不均匀的问题,采取精英策略,避免最优解丢失;提高研制进度,降低成本,保证质量,适应市场需求。
附图说明
[0021]
构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
[0022]
图1为本发明实施例中的基于ns-mohabc的基本框架;
[0023]
图2为本发明实施例中的方法流程示意图。
具体实施方式
[0024]
需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
[0025]
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0026]
实施例一
[0027]
本实施例提出的ns-mohabc算法是对基本abc算法的扩展,遵循abc算法的基本框架。该算法主要由初始化阶段、引领蜂阶段、观察蜂阶段、侦查蜂阶段和一个外部档案组成。详细描述如下:
[0028]
如图1所示,本实施例中提供一种用于芯片研制的多目标优化方法,包括:
[0029]
(1)初始化阶段
[0030]
初始化阶段包括设置芯片研制过程目标优化的控制参数,初始种群(蜜源)的生
成,以及对初始解的排序。首先随机生成sn个解(蜜源位置)的初始种群来开始搜索过程。sn也等于引领蜂或跟随蜂的数目。芯片研制项目三大目标权衡问题的解可以表示为具有d个元素的向量,即
[0031]
x=[x
i,1
,x
i,1
,

,x
i,d
]
ꢀꢀ
(1)
[0032]
其中d是决策变量的数量,它等于芯片研制项目网络中活动的数量。向量x
ij
表示活动j的一种执行模式,它是在[1,mj](j=1,2,

,d)范围内的整数。初始种群依据如下公式生成,
[0033]
x
ij
=lbj+rand[0,1]
×
(ub
j-lbj)
ꢀꢀ
(2)
[0034]
式中,x
ij
表示初始种群中第i个决策变量(蜜源位置);lbj和ubj分别表示第i个决策变量的下限和上限;rand[0,1]表示0到1之间均匀分布的随机数。
[0035]
一旦创建了初始种群后,就可以使用nsga-ii算法中的排序运算按照pareto前沿对对它们进行排序分级,并将其保存在外部档案中。具体而言,首先计算每个解的适应度值fiti,然后根据适应度值将每个解按升序排序,即从最佳到最差。
[0036]
nsga-ii算法中的快速非支配排序的基本思想是根据个体的pareto优势关系对种群进行分层并排序,其作用是指导搜索向pareto前沿逼近。它是一个循环的适应度分级过程:首先找出群体中非支配解集,记为第一非支配层f1,将其所有个体赋予非支配序i
rank
=1,并从整个群体中除去;然后继续寻找余下的全体中非支配解集,记为第二非支配层f2,个体被赋予非支配序i
rank
=2;以此类推,直到整个种群被分层,同一分层内的个体具有相同的非支配序i
rank

[0037]
适应度值计算公式如下:
[0038][0039]
排名计算公式如下:
[0040]ri
=sn-ii+1
ꢀꢀ
(4)
[0041]
式中,ii是排序后的第i个蜜源。特别的,当前最好的蜜源将获得最高的排名,即r
best
=sn,而当前最差的蜜源将获得最低的排名,即r
best
=1。
[0042]
(2)更新外部档案
[0043]
外部档案用于存储ns-mohabc算法在搜索过程中产生的非主导pareto最优解。存档由初始总体中存在的非主导pareto最优解初始化,在算法的每个循环中都会更新,但是更新存档过程有所不同。具体而言,在种群初始化之后执行较为简单,因为只需要根据nsga-ii的非支配排序程序查找等级为f1的解(非支配)即可,将这些非支配解复制到存档中。在算法迭代期间更新档案不是那么简单,因为新的解可能会在存档中占主导地位,并且存档大小会成为问题。此步骤使用nsga-ii的非支配排序和精英保留策略进度计算。存档中的解和当前种群被合并到一个总体中,总体中的每个解都分配一个等级,以便所有的最优解都被分配为等级1(即f1),次优解被分配为等级2(即f2),以此类推。首先选择属于最佳非支配集合(集合f1)的解。如果f1的规模小于比sn,则从之后的非支配前沿(即f2,f3,
……
)中选择剩余的解。持续该过程,直到存档中没有空间为止。如果不能将某个等级(f3)的所有解都存储到存档中,则计算该等级中解的拥挤距离,以将所需数量的解存储到非拥挤距离。
这样不仅保留了最优解,而且保持解的多样性。
[0044]
(3)引领蜂阶段
[0045]
为了在整个搜索空间中提高开发效率,同时又保持此解的随机性,蜜源位置(解)更新的变化量(如步长)应该平衡abc算法的探索能力和开发能力。受pso位置更新策略的启发:每个粒子都会根据其个体最佳位置(pbest)和全局最佳位置(gbest)来更新其位置,全局最佳位置为种群中的全局最优解。由于每个粒子始终可以遵循全局最佳位置飞行,因此pso算法通常具有较快的收敛速度。所以可以利用全局最佳位置(gbest)的信息来引导abc解的搜索,加入全局最佳解yj来增强abc算法的开发能力,计算公式如下:
[0046]vij
=x
ij

ij
(x
ij-x
kj
)+ψ
ij
(x
jbest-x
kj
)
ꢀꢀ
(5)
[0047]
式中,x
jbest
是当前种群第j个最优解;ψ
ij
是[0,c]之间的随机数,其中c是一个自定义的非负常数。
[0048]
(4)观察蜂阶段
[0049]
通过引入pso算法来帮助引领蜂阶段获得具有良好收敛性能的全局最佳解集,但是可能存在分布不均衡的问题。此外,在基本abc算法中,无法充分利用非支配解提供的有价值信息来引导蜂群向pareto前沿逼近,减慢了收敛速度,并降低了算法的效率。因此,为了尽可能快地逼近真实的pareto前沿,并使pareto最优解在目标函数上的分布均匀,同时也为了提高观察蜂的局部开发能力,将de的差分进化运算引入到abc的旁观蜂的阶段,并采用基于pareto秩和拥挤距离的适应度分配策略,将个体向真正的pareto前沿逼近,并将精英解保留在外部存档中。具体操作如下:
[0050]
首先,观察蜂根据与该蜜源相关的概率值pi来对蜜源进行评估。概率值的计算公式为:
[0051][0052]
式中,fiti表示第i种蜜源的适应度值,与位置i上蜜源的花蜜量成正比,sn是蜜源的数量,与所用引领蜂或观察蜂的数量相等。
[0053]
然后,对选择的解进行变异、交叉和选择操作。从外部档案的解中随机选择两个解和并将当前种群的最优解(gbest)作为目标向量x
gbest
,通过变异算子进行变异操作生成变异向量vi,计算公式如下:
[0054][0055]
式中f∈[0,1],称为变异因子,表示差分变化量对目标向量的影响程度。
[0056]
使用交叉算子应用于变异向量和当前最优解,根据式(8)生成试验向量u
ij
[0057][0058]
式中,cr∈[0,1]为交叉概率。
[0059]
使用贪婪标准比较交叉后的试验向量ui(t)和目标向量xi(t)的适应值,选择适应度占优的个体作为新一代。
[0060][0061]
最后,针对de优化后的种群,再使用精英策略在父代和子代解之间选择更好的解进入下一代。具体而言,为了防止获得的pareto最优解丢失,首先保留父代中的优良个体直接进入子代,以组成新的父代种群c
i+1
;然后按照非支配序i
rank
从低到高的顺序,将整层种群依次放入c
i+1
,直到放入某一层fj时出现大小超出种群规模限值n;最后依据fj中的个体拥挤距离由大到小的顺序依次填充c
i+1
,直到种群数量达到n时终止。
[0062]
为了能够在具有相同i
rank
的个体之间进行选择性排序,采用nsga-ii算法拥挤距离的分配策略。具体而言,设di表示种群中的给定点周围个体的密度,它指出了在个体i周围最近的两个个体i-1和i+1的m个距离之和的估计值(m为目标函数的数量),
[0063]
拥挤距离的计算公式为:
[0064][0065]
式中,fk(i-1)表示第i-1个个体的第k个目标函数值,和分别为第k目标函数的最大值和最小值。
[0066]
(5)侦查蜂阶段
[0067]
在基本abc算法中,如果试验次数超过了解的“限制”,则相关的引领蜂将变成侦查蜂。通常,只有一个侦查蜂在最优解附近搜索新的解。为了提高侦查蜂的探索能力,增加侦查蜂的数量,允许所有超过限制的侦查蜂重新初始化给定搜索空间中的解。即在侦查阶段增加侦查蜂的数量,以便有机会将所有未更新到预定次数的蜜蜂重新初始化。
[0068]
(6)终止条件
[0069]
当优化过程终止时,如达到最大生成量gmax,输出最终的pareto最优解集。
[0070]
基于ns-mohabc算法的基本框架,给出该混合算法的实现芯片研制多目标优化的步骤如下:
[0071]
步骤1:初始化:
[0072]
步骤1.1:控制参数设置。本研究同时考虑了芯片研过程中的进度、成本和质量等目标因素,它们同时得到优化。所以,需要输入芯片研制过程的信息包括活动优先级关系,活动持续时间(di),活动成本(ci),活动质量绩效指数(qpii)和每项活动的执行模式(sn)。此外,还必须提供初始的参数设置,如初始种群大小(sn),决策变量的数量(d),目标函数的数量(m),极限值(limit),最大迭代次数(gmax),决策变量的下限(lb)和上限(ub),突变常数(f),交叉概率常数(cr)等;
[0073]
步骤1.2:种群初始化。采用式(2)随机生成sn个蜜源以形成初始种群,从而为每只引领蜂产生一个新的位置;
[0074]
步骤1.3:使用公式(4.6)~(4.7)计算每个蜜源位置的目标向量,使用公式(3)计算每个解的适应度值,根据适应度值按照pareto前沿进行排序,将f1全部保存到外部档案中。
[0075]
步骤2:迭代t=0;
[0076]
步骤3:实施引领蜂阶段:
[0077]
步骤3.1:通过式(6)更新蜜源位置;
[0078]
步骤3.2:使用非支配排序和拥挤距离更新外部档案。
[0079]
步骤4:实施观察蜂阶段:
[0080]
步骤4.1:使用式(7)计算外部档案中每个解的概率值;
[0081]
步骤4.2:使用式(8)为每只观察蜂产生变异向量,使用式(9)生成新解,使用式(10)基于适应度值在新旧解之间进行选择;
[0082]
步骤4.3:使用非支配排序和拥挤距离更新外部档案。
[0083]
步骤5:实施侦查蜂阶段:
[0084]
步骤5.1:将所有与没有改善的解相关的引领蜂定为侦查蜂,并使用式(2)生成随机解代替经过limit迭代中没有改善的所有解;
[0085]
步骤5.2:使用非支配排序和拥挤距离更新外部档案。
[0086]
步骤6:迭代t=t+1,如果满足终止条件,则停止算法,并输出保存在外部档案中的非支配解,即最佳解集,作为最终结果;否则,返回步骤3。
[0087]
本实施例提供一种用于芯片研制的多目标优化方法,结合非支配排序与拥挤距离,在保留最优解的前提下还保持了解的多样性;引入pso算法来帮助引领蜂阶段获得具有良好收敛性能的全局最佳解集;引入de的差分进化运算,并采用基于pareto秩和拥挤距离的适应度分配策略,避免解分布不均匀的问题,采取精英策略,避免最优解丢失;提高研制进度,降低成本,保证质量,适应市场需求。
[0088]
实施例二
[0089]
如图2所示,本实施例中提供一种用于芯片研制的多目标优化方法,包括:
[0090]
步骤一:获取芯片研制过程目标优化的控制参数;
[0091]
步骤二:获取初始种群,基于初始种群获得最优解集合并存储;
[0092]
步骤三:采用全局搜索与局部搜索的方式更新初始种群得到优化种群,并更新最优解集合;
[0093]
步骤四:重复进行步骤三,直至达到终止条件停止更新并输出最优解集合,获得芯片研制最佳方案,终止条件包括:超出最大迭代次数或达到误差允许值。
[0094]
在一些实施例中,步骤一中的控制参数包括活动信息与初始参数,其中,活动信息包括芯片研制的活动优先级关系、活动持续时间、活动成本、活动质量绩效指数以及活动执行模式,初始参数包括决策变量下限、决策变量上限、最大迭代次数、初始种群大小。
[0095]
在一些实施例中,基于初始参数中的决策变量下限、决策变量上限以及初始种群大小获得初始种群。
[0096]
在一些实施例中,步骤二中的最优解集合的获取过程包括:对初始种群中的解进行排序并循环分级,最优解集合为初始种群中分级最高的解的集合。
[0097]
在一些实施例中,基于个体的pareto优势关系对种群进排序并循环分级,过程包括:首先计算每个解的适应度值,然后根据适应度值将每个解按升序排序。
[0098]
在一些实施例中,步骤三中的全局搜索的过程包括:获取全局最佳位置,基于全局最佳位置进行全局搜索,更新初始种群与最优解集合。
[0099]
在一些实施例中,步骤三中的局部搜索的过程包括:计算最优解集合中每个解的选择概率值,基于选择概率值对最优解集合中的每个解进行评估,若解的选择概率值超过概率阈值,则对解进行变异、交叉操作生成对应的新解,选取新解与原解中适应度值最高的解存储到最优解集合中,更新初始种群与最优解集合,其中,概率阈值为区间[0,1]内随机产生一个数,基于贪婪标准进行选取,基于适应度值获得选择概率值。
[0100]
在一些实施例中,变异操作的过程包括:从最优解集合中随机选取两个解,并将更新后的初始种群中的最优解作为目标向量,基于变异因子、目标向量及选取的两个解进行变异操作,获得变异向量。
[0101]
在一些实施例中,交叉操作的过程包括:基于交叉算子、变异向量、最优解获得试验向量。
[0102]
在一些实施例中,步骤三中的最优解集合的更新过程还包括:当超过探索限值时,集合中所有未被更新的解均生成随机解替代,所述探索限值为预设值。
[0103]
以上所述,仅为本技术较佳的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1