[发明专利]利用粒子群算法的三值FPRM电路面积与延时优化方法有效
申请号: | 201711142213.8 | 申请日: | 2017-11-17 |
公开(公告)号: | CN108052696B | 公开(公告)日: | 2020-12-22 |
发明(设计)人: | 汪鹏君;王铭波;符强;张会红 | 申请(专利权)人: | 宁波大学 |
主分类号: | G06F30/337 | 分类号: | G06F30/337;G06F30/398;G06N3/00;G06F111/06 |
代理公司: | 宁波奥圣专利代理有限公司 33226 | 代理人: | 方小惠 |
地址: | 315211 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种利用粒子群算法的三值FPRM电路面积与延时优化方法,该优化方法将粒子种群划分为第一粒子子种群和第二粒子子种群两个团队,令两个团队中的粒子分别进行比较,其中较差的粒子向着较好的粒子进行更新操作,避免算法发生过早收敛的现象,同时,引入变异机制令种群粒子能够跳出局部最优解的搜索范围,提高算法的优化性能;优点是可以搜索到三值FPRM电路的最佳极性集合,优化效果好,通过13个Benchmark电路进行仿真测试,实验结果表明:与DPSO算法和MODPSO算法搜索到的最佳极性相比,本发明的方法具有更好的优化效率和鲁棒性。 | ||
搜索关键词: | 利用 粒子 算法 fprm 电路 面积 延时 优化 方法 | ||
【主权项】:
1.一种利用粒子群算法的三值FPRM电路面积与延时优化方法,其特征在于包括以下步骤:①建立p极性下三值FPRM电路面积估算模型和延时估算模型:①-1将p极性下三值FPRM电路用三值FPRM逻辑表达式表示为: f p ( x n - 1 , x n - 2 , ... , x 0 ) = ⊕ Σ i = 0 3 n - 1 b i · Π j = 0 n - 1 x · j i j - - - ( 1 ) ]]> 其中,n为函数fp (xn-1 ,xn-2 ,…,x0 )输入变量的个数;xn-1 ,xn-2 ,…,x0 为函数fp (xn-1 ,xn-2 ,…,x0 )的n个输入变量; 为模3加运算符号;bi 为与项系数,且bi ∈{0,1,2};i为与项序数,i=0,1,2,…,3n -1,i用三进制可表示为in-1 in-2 …i0 ,ij ∈{0,1,2},j为大于等于0且小于等于n-1的整数;p为三值FPRM电路的极性,p用三进制可表示为pn-1 pn-2 …p0 ; 为模3乘项, 为第j个模3乘项的幂形态,极性p和与项序数i决定了幂形态 的表示形式:当pj =0时, 在模3乘项中以原幂形态 的形式出现,若ij =0,则 若ij =1,则 若ij =2,则 表示xj 的模3乘运算xj ·xj ;当pj =1时, 在模3乘项中以互补幂形态 的形式出现,其中符号 表示模3加运算,若ij =0,则 若ij =1,则 若ij =2,则 当pj =2时, 在模3乘项中以互补幂形态 的形式出现,若ij =0,则 若ij =1,则 若ij =2,则 ①-2p极性下的三值FPRM电路由多输入模3加项和多输入模3乘项组成,将多输入模3加项看作多输入模3加门,多输入模3乘项看作多输入模3乘门,首先采用类Huffman算法将p极性下三值FPRM电路内包含的所有多输入模3乘门分解为二输入模3乘门,将分解得到的二输入模3乘门数量记为No.Mod_3M;然后再采用类Huffman算法将p极性下三FPRM电路内包含的所有多输入模3加门分解为二输入模3加门,将分解得到的二输入模3加门的数量记为No.Mod_3A;①-3在分解完的p极性下三值FPRM电路中,从输入变量到输出信号经过二输入模3乘门和二输入模3加门的数量最少的路径作为关键路径,将该关键路径上包含的二输入模3乘门和二输入模3加门的数量和记为num(key);①-4将p极性下三值FPRM电路的面积记为area(p),延时记为delay(p),得到p极性下三值FPRM电路的面积估算模型为:area(p)=No.Mod_3A+No.Mod_3M (2)延时估算模型为:delay(p)=num(key) (3)②构建多目标离散粒子群算法的三值FPRM电路面积与延时优化的关联:将粒子的位置表示为极性,粒子的搜索空间表示为可选择极性的空间;③采用多目标粒子群算法搜索三值FPRM电路面积与延时的Pareto最佳极性解集,具体过程为:Step1:设置粒子种群大小为M,M取值范围为大于等于20且小于等于100的偶数,粒子种群中任意粒子的位置为三值FPRM电路的某一极性对应的n位三进制数,将粒子种群中第m个粒子的速度表示为vmn vm(n-1) …vmd …vm2 vm1 ,d为大于等于1且小于等于n的整数,m=1,2,…,M,vmd 表示粒子种群中第m个粒子的速度的第d位,vmd 的取值范围在[-vmax ,vmax ]之间,vmax 表示粒子速度的每一位的最大取值,其值为大于等于1且小于等于8的随机数;初始化粒子种群中每个粒子的速度和位置;通过列表技术得到当前粒子种群中各粒子的位置对应极性下的三值FPRM逻辑表达式,按照上述步骤①-2~步骤①-4的方法得到各极性下三值FPRM电路的面积与延时;设置粒子群算法的迭代总次数为T,T为大于等于100且小于等于500的整数,设定当代迭代次数为变量t,初始化变量t,令变量t=0。Step2:设定极性支配规则:将当前粒子种群中任意两个粒子位置对应的极性记为P1 和P2 ,若P1 和P2 满足: a r e a ( P 1 ) ≤ a r e a ( P 2 ) d e l a y ( P 1 ) ≤ delayP 2 - - - ( 4 ) ]]> 则认定P1 支配P2 ,记作P1 >P2 ,此时P1 对应的粒子支配P2 对应的粒子;当极性P1 不被当前粒子种群中其他粒子位置对应的极性支配时,则P1 为满足三值FPRM电路面积与延时Pareto关系的最佳极性之一,Pareto最佳极性解集为所有满足Pareto关系的最佳极性的集合;设置一个用于存放满足三值FPRM电路面积与延时Pareto关系的最佳极性的外部档案库,该外部档案库的大小记为num(rep),num(rep)为大于等于10且小于等于M的整数;Step3:采用极性支配规则将当前粒子群中每个粒子的位置对应的极性分别与其他粒子的位置对应的极性进行比较,统计每个粒子被其他粒子支配的次数,按照粒子被其他粒子支配次数的数量确定每个粒子的非支配级数,被其他粒子支配次数最少的粒子的非支配级数为最小级数,粒子被支配次数增加其非支配级数也逐步增加,被其他粒子支配次数最多的粒子的非支配级数为最高级数,如果有多个粒子被其他粒子支配次数的数量相同,则其非支配级数也相同;统计当前粒子群体中非支配级数最低的粒子数量,若非支配级数最低的粒子数量小于等于外部档案库的规模num(rep),则将所有非支配等级数最低的粒子对应的极性放入外部档案库中,若非支配级数最低的粒子数量大于外部档案库的规模num(rep),则计算每个非支配等级数最低的粒子的位置的拥挤距离,并按照拥挤距离从高到低的顺序选择num(rep)个非支配等级数最低的粒子,将这些选择的粒子位置对应的极性放入外部档案库中;Step4:采用变量t的当前值加1后的值去更新变量t,得到更新后的t,将更新后的t作为当代迭代次数,对粒子种群进行第t次迭代,具体的迭代过程为:A.从当前粒子种群中随机抽取0.5*M个粒子构成第一个粒子子种群,剩余的粒子构成第二个粒子子种群,其中符号“*”表示乘运算符号;B.将第一个粒子子种群中第h个粒子的非支配级数与第二个粒子子种群中第h个粒子的非支配级数进行比较,h=1,2,…,0.5*M,具体过程为:B-1.若两个粒子的非支配级数不同,则按照以下步骤进行处理:S1.按照以下步骤依次对非支配级数较大的粒子的速度第q位进行变异,q=1,2,…,n,具体步骤为:S1-1.采用随机函数产生两个大于等于0且小于等于1的随机数,两个随机数分别记为r1 和r2 ;S1-2.将第t次迭代的惯性权重记为ω(t),采用公式(5)计算: ω ( t ) = ( ω m a x - ω m i n ) · ( T - t ) T + ω min - - - ( 5 ) ]]> 其中,ωmax 表示惯性权重的最大值,其取值范围为大于等于0.7且小于等于1;ωmin 表示惯性权重的最小值,其取值范围为大于等于0.1且小于等于0.5;S1-3.采用公式(6)计算第t次迭代非支配级数较大的粒子速度的第q位的变异值: v h q ′ ′ ( t ) = ω ( t ) v h q ′ ( t - 1 ) + c 1 r 1 ( s h q ( t - 1 ) - s h q ′ ( t - 1 ) ) + c 2 r 2 ( c e i l ( s ‾ q ( t - 1 ) ) - s h q ′ ( t - 1 ) ) - - - ( 5 ) ]]> 其中,公式(6)中,v″hq (t)表示非支配级数较大的粒子的速度的第q位对应的变异值,c1 和c2 均为学习因子,c1 和c2 分别为大于等于1且小于等于3的整数,符号ceil()为向下取整符号,公式(6)中表示对 进行向下取整操作,保留其整数部分;如果t=1,则v'hq (t-1)表示非支配级数较大的粒子的初始速度的第q位,shq (t-1)表示非支配级数较小的粒子的初始化位置的第q位,s'hq (t-1)表示非支配级数较大的粒子的初始位置的第q位, 表示粒子种群中所有粒子的初始位置的第q位的平均值,如果t>1,则v'hq (t-1)表示非支配级数较大的粒子在t-1次迭代更新后的速度的第q位,shq (t-1)表示非支配级数较小的粒子在t-1次迭代更新后的位置的第q位,s'hq (t-1)表示非支配级数较大的粒子在t-1次迭代更新后的位置的第q位, 表示粒子种群中所有粒子在t-1次迭代更新后的位置的第q位的平均值;S1-4.如果v″hq (t)大于vmax ,则采用vmax 更新非支配级数较大的粒子的速度的第q位,如果v″hq (t)小于-vmax ,则采用-vmax 更新非支配级数较大的粒子的速度的第q位,如果v″hq (t)大于等于-vmax 且小于等于vmax ,则非支配级数较大的粒子的速度的第q位保持不变,由此完成非支配级数较大的粒子的速度的第q位的第t次迭代更新;S2.对非支配级数较大的粒子的位置的第q位进行变异,q=1,2,…,n,具体步骤为:S2-1.采用随机函数生成一大于等于1且小于等于3的随机整数k,采用随机函数生成大于等于0且小于等于1的随机数r3 ;S2-2.采用公式(7)计算第t次迭代非支配级数较大的粒子的位置的第q位对应的变异值: s h q ′ ( t ) = r o u n d ( N 1 + e - v h q ′ ′ ( t ) + ( N - 1 ) · k · r 3 ) - - - ( 7 ) ]]> 其中,公式(7)中,s′hq (t)表示非支配级数较大的粒子的位置的第q位对应的变异值,v″hq (t)表示在第t次迭代更新后非支配级数较大的粒子的速度的第q位的更新值,N=3,e表示自然对数的底,round(·)表示对 的值进行四舍五入操作,取为整数。S2-3.如果s′hq (t)大于2,则将非支配级数较大的粒子的位置的第q位更新为2,如果s′hq (t)小于0,则将非支配级数较大的粒子的位置的第q位更新为0,如果s′hq (t)大于等于0且小于等于2,则非支配级数较大的粒子的位置的第q位则保持不变,由此完成非支配级数较大的粒子的位置的第q位的第t次迭代更新;B-2.若两个粒子的非支配等级相同,则设定一个大于等于1且小于等于1的概率常数P',依次按照以下步骤对第一个粒子子种群中第h个粒子与第二个粒子子种群中第h个粒子的位置进行更新,h=1,2,…,0.5*M,具体过程为:a.随机产生两组随机数序列,第一组随机数序列记为rand1,第二组随机数序列记为rand2,随机数序列rand1和随机数序列rand2内分别包含n个大于等于0且小于等于1的随机数,将rand1中的第z个随机数记为rand1z ,将rand2中的第z个随机数记为rand2z ,其中z=1,2,…,n;b.将随机数序列rand1中的第z个随机数rand1z 与P'进行比较,如果rand1z 大于等于P',则第一个粒子子种群中第h个粒子位置的第z位保持不变;如果rand1z 小于P',则对第一个粒子子种群中第h个粒子位置的第z位按照及以下规则进行更行更新:如果第一个粒子子种群中第h个粒子位置的第z位的当前值为0,则将其更新为1;如果第一个粒子子种群中第h个粒子位置的第z位的当前值为1,则将其更新为2;如果第一个粒子子种群中第h个粒子位置的第z位的当前值为2,则将其更新为0;c.将随机数序列rand2中的第z个随机数rand2z 与P'进行比较,如果rand2z 大于等于P',则第二个粒子子种群中第h个粒子位置的第z位保持不变;如果rand2z 小于P',则对第二个粒子子种群中第h个粒子位置的第z位按照及以下规则进行更行更新:如果第二个粒子子种群中第h个粒子位置的第z位的当前值为0,则将其更新为1;如果第二个粒子子种群中第h个粒子位置的第z位的当前值为1,则将其更新为2;如果第二个粒子子种群中第h个粒子位置的第z位的当前值为2,则将其更新为0;C.将更新后的第一个粒子子种群和第二个粒子子种群合并,得到更新后的粒子种群;D.通过列表技术重新得到当前粒子种群中每个粒子的位置对应极性下的三值FPRM逻辑表达式,并按照上述步骤①-2~步骤①-4再次得到各极性下三值FPRM电路的面积与延时大小;E.通过快速非支配排序算法计算第t次迭代更新后粒子种群内所有的粒子与当前外部档案库中所有极性对应的粒子作为一个整体来计算其内每个粒子的非支配级数,并将外部档案库中的极性清空,统计当前粒子群体中非支配级数最低的粒子数量,当前粒子群体中非支配级数最低的粒子数量小于等于外部档案库的规模num(rep),则将所有非支配等级数最低的粒子对应的极性放入外部档案库中,若非支配级数最低的粒子数量大于外部档案库的规模num(rep),则计算每个非支配等级数最低的粒子的位置的拥挤距离,并按照拥挤距离从高到低的顺序选择num(rep)个非支配等级数最低的粒子,将这些选择的粒子位置对应的极性放入外部档案库中;Step5:判断t是否等于T,如果等于,则此时外部档案库存储的极性即为满足三值FPRM电路面积与延时Pareto关系的最佳极性集合,优化结束,如果不等于,则返回步骤Step4,进入下一次更新迭代。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宁波大学,未经宁波大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711142213.8/,转载请声明来源钻瓜专利网。
- 上一篇:一种宽工况二次再热双机回热系统
- 下一篇:一种带搅拌的蒸馏塔釜