当前位置: 首页 > 专利查询>宁波大学专利>正文

一种利用蝙蝠算法的三值FPRM电路延时优化方法技术

技术编号:17390146 阅读:43 留言:0更新日期:2018-03-04 14:47
本发明专利技术公开了一种利用蝙蝠算法的三值FPRM电路延时优化方法,通过运用蝙蝠算法的种群搜索能力优化大规模三值FPRM电路延时极性搜索的结果,蝙蝠在种群进化迭代过程中不断更新自身速度与位移,同时伴随着蝙蝠声波响度和蝙蝠脉冲速率的更新变化;优点是在保证优化精度的基础上,搜索效率较高。

A three value FPRM circuit delay optimization method using bat algorithm

The invention discloses a method using the bat algorithm for three value FPRM circuit delay optimization method, through the use of the bat algorithm population search capability optimization of large-scale three results FPRM circuit delay polar search, bats in the iterative process of population evolution and constantly update their speed and displacement, accompanied by changes of bats and bat loudness pulse rate; advantages is to ensure the accuracy of optimization based on high search efficiency.

【技术实现步骤摘要】
一种利用蝙蝠算法的三值FPRM电路延时优化方法
本专利技术涉及一种三值FPRM电路延时优化方法,尤其是涉及一种利用蝙蝠算法的三值FPRM电路延时优化方法。
技术介绍
三值FPRM电路的n个输入变量对应3n个不同极性的逻辑函数表达式,不同极性对应的逻辑函数表达式的繁简程度也不尽相同,因此搜索三值FPRM电路的最佳极性成为三值FPRM电路延时优化的关键。通常,中小规模三值FPRM电路采用穷举算法遍历所有极性能够确定电路的最佳极性,然而对于大规模三值FPRM电路来说,极性搜索空间随着输入变量n的不断增加而呈现指数倍的增长,在一定时间范围内,采用穷尽搜索已经无法遍历完所有的极性得到最佳延时。蝙蝠算法(Bat-inspiredAlgorithm,BA)是英国学者YANG等根据蝙蝠的回声定位能力提出的一种群智能搜索算法,主要根据蝙蝠在飞行中捕猎食物或者遇到障碍物时,会不断调整自身所发出脉冲的响度和频率来定位目标。蝙蝠算法将搜索空间中的每一个解模拟成一只蝙蝠,同时为所有蝙蝠设置一个适应度值,让每只蝙蝠在迭代过程中都根据当前的最优蝙蝠来调整响度和频率,其搜索效率较高。鉴此,设计一种在保证优化精度的基础上,搜索效率较高的利用蝙蝠算法的三值FPRM电路延时优化方法具有重要意义。
技术实现思路
本专利技术所要解决的技术问题是提供一种在保证优化精度的基础上,搜索效率较高的利用蝙蝠算法的三值FPRM电路延时优化方法。本专利技术解决上述技术问题所采用的技术方案为:一种利用蝙蝠算法的三值FPRM电路延时优化方法,包括以下步骤:(1)将极性为q、含有n个输入变量的三值FPRM电路采用函数展开式表示为:其中,x0,x1,...,xn-1为函数展开式的n个输入变量,q表示三值FPRM电路的极性;⊕Σ为模3加运算符号,“·”为乘运算符号;为模3乘项,ai为模3乘项的系数,i=0,1,2,…,3n-1-1,其中(2)使用Huffman算法分解q极性下三值FPRM电路函数展开式中不为0的模3乘项的系数,将最后分解得到的系数作为q极性下三值FPRM电路的延时估计数据;(3)利用蝙蝠算法对q极性下三值FPRM电路进行延时优化,具体步骤如下:A.建立蝙蝠算法与q极性下三值FPRM电路延时优化的映射关系:蝙蝠算法包含以下几个关键要素:蝙蝠位移、蝙蝠速度、蝙蝠声波频率、蝙蝠声波响度、蝙蝠搜索空间、蝙蝠的适应度、适应度最大的蝙蝠位移和最大适应度值;三值FPRM电路延时优化包含以下几个关键要素:极性、极性变换、极性交流、极性突变、极性搜索空间、相应极性的延时、延时最优的极性和最佳延时;将蝙蝠位移表示为极性;将蝙蝠速度表示为极性变换;将蝙蝠声波频率表示为极性交流;将蝙蝠声波响度表示为极性突变;将蝙蝠搜索空间表示为极性搜索空间;将蝙蝠的适应度表示为相应极性的延时;将适应度最大的蝙蝠位移表示为延时最优的极性;将最大适应度值表示为最佳延时;B.设置蝙蝠算法的相关参数:将蝙蝠种群数量记为m,m为大于等于40的整数,蝙蝠搜索空间维数记为b,b为大于等于30的整数,蝙蝠种群进化的最大进化代数记为N,N为大于等于3000的整数,设定蝙蝠群体的当前进化代数为变量h;C.设定蝙蝠算法中用于计算蝙蝠的适应度的适应度函数:设定蝙蝠算法中计算蝙蝠的适应度的适应度函数:在蝙蝠算法中,适应度越大表示蝙蝠相对于目标的位置越好,但是搜索三值FPRM电路最佳延时要求延时越小越好,因此,为了便于两者有效地结合,采用延时的倒数表示适应度,得到适应度函数如下所示:其中,符号“/”表示除法运算符;fitnessc表示第c个蝙蝠的适应度大小,c为大于等于1且小于等于m的整数;fitc为第c个蝙蝠位移对应的极性下三值FPRM电路的延时估计数据;表示适应度放大系数,取值为大于等于500的整数;D.将蝙蝠种群中第c个蝙蝠位移记为xc,d,第c个蝙蝠速度记为vc,d,d表示第c个蝙蝠的搜索空间维数,d∈[1,b],第c个蝙蝠声波响度记为Ac,第c个蝙蝠脉冲速率记为rc,第c个蝙蝠声波频率记为fc,对蝙蝠种群中各个蝙蝠位移、蝙蝠速度、蝙蝠声波响度、蝙蝠脉冲速率和蝙蝠声波频率进行初始化,其中蝙蝠位移初始化为极性取值范围内的任意值,AC初始化为1~2之间的随机数,rc初始化为大于0且小于等于1的随机数,蝙蝠声波频率fc初始化为fmin~fmax之间的随机数,其中,fmin表示蝙蝠声波频率的最小值,取值为100,fmax表示蝙蝠声波频率的最大值,取值为1200,将变量h初始化为1;E.根据步骤(1)和(2)分别计算蝙蝠群体中每个蝙蝠位移对应的极性下三值FPRM电路的延时估计数据,然后根据延时估计数据计算每个蝙蝠的适应度,将适应度值最大的蝙蝠位移作为蝙蝠种群的当前全局最优位移,如果适应度值最大的蝙蝠位移有多个,则随机选择其中一个适应度值最大的蝙蝠位移作为蝙蝠种群的当前全局最优位移;F.对蝙蝠群体的蝙蝠位移和蝙蝠速度进行第h轮进化代的首次更新:先采用随机函数生成均匀分布的随机变量α,α∈[0,1],再通过公式(1)更新第h轮进化代的蝙蝠声波频率fc,然后再结合公式(2)和公式(3)更新蝙蝠位移xc,d和蝙蝠速度vc,d:fc=fmin+(fmax-fmin)*α(1)其中,表示在第h轮进化代第c个蝙蝠速度的首次更新值,表示在第h轮进化代第c个蝙蝠位移的首次更新值;如果h的当前值为1,则为第c个蝙蝠速度的初始值,为第c个蝙蝠位移的初始值,Ph-1为蝙蝠种群的当前全局最优位移的初始值;如果h的当前值大于1,则为在第h-1轮进化代第c个蝙蝠速度的更新值,为在第h-1轮进化代第c个蝙蝠位移的更新值,Ph-1为在第h-1轮进化代蝙蝠种群的当前全局最优位置的更新值;G.对蝙蝠群体进行再次更新,具体过程为:G-1.用随机函数产生随机数rand1,rand1∈[0,5000];G-2.将rand1和第c个蝙蝠脉冲速率rc进行比较,如果rand1小于rc,则该蝙蝠的蝙蝠位移不需再次更新,将第c个蝙蝠速度的首次更新值作为其第h轮进化代的更新值,并返回步骤G-1,开始对下一个蝙蝠位移进行更新,如果rand1大于或等于rc,则将蝙蝠种群的当前全局最优位移对应的适应度值最大的蝙蝠位移加1后作为局部最优蝙蝠位移,记为进入步骤G-3;G-3.计算蝙蝠位移对应的适应度值;G-4.用随机函数产生随机数rand2,rand2∈[0,3000];G-5.如果rand2小于或等于Ac,并且蝙蝠位移对应的适应度值大于或等于第c个蝙蝠当前的适应度值,则采用蝙蝠位移再次更新蝙蝠位移xc,d,将第c个蝙蝠速度的再次更新值作为其第h轮进化代的更新值,否则,蝙蝠位移xc,d不进行更新,将其首次更新值作为其第h轮进化代的更新值;G-6.按照步骤G-1~G-5的方法完成蝙蝠群体的再次更新,然后重新计算更新后的蝙蝠群体中所有蝙蝠的适应度值,采用适应度值最大的蝙蝠位移去更新蝙蝠种群的当前全局最优位移,如果适应度值最大的蝙蝠位移有多个,则随机选择其中一个适应度值最大的蝙蝠位移去更新蝙蝠种群的当前全局最优位移;H.通过公式(4)和公式(5)对蝙蝠群体的蝙蝠声波响度和蝙蝠脉冲速率进行第h轮更新:其中,δ为大于0且小于等于1的任意常数,γ为大于0的常数,exp表示以自然常数e为底的指数函数本文档来自技高网...

【技术保护点】
一种利用蝙蝠算法的三值FPRM电路延时优化方法,其特征在于包括以下步骤:(1)将极性为q、含有n个输入变量的三值FPRM电路采用函数展开式表示为:

【技术特征摘要】
1.一种利用蝙蝠算法的三值FPRM电路延时优化方法,其特征在于包括以下步骤:(1)将极性为q、含有n个输入变量的三值FPRM电路采用函数展开式表示为:其中,x0,x1,...,xn-1为函数展开式的n个输入变量,q表示三值FPRM电路的极性;为模3加运算符号,“·”为乘运算符号;为模3乘项,ai为模3乘项的系数,i=0,1,2,…,3n-1-1,ij∈{0,1,2},其中j=0,1,…,n-1;(2)使用Huffman算法分解q极性下三值FPRM电路函数展开式中不为0的模3乘项的系数,将最后分解得到的系数作为q极性下三值FPRM电路的延时估计数据;(3)利用蝙蝠算法对q极性下三值FPRM电路进行延时优化,具体步骤如下:A.建立蝙蝠算法与q极性下三值FPRM电路延时优化的映射关系:蝙蝠算法包含以下几个关键要素:蝙蝠位移、蝙蝠速度、蝙蝠声波频率、蝙蝠声波响度、蝙蝠搜索空间、蝙蝠的适应度、适应度最大的蝙蝠位移和最大适应度值;三值FPRM电路延时优化包含以下几个关键要素:极性、极性变换、极性交流、极性突变、极性搜索空间、相应极性的延时、延时最优的极性和最佳延时;将蝙蝠位移表示为极性;将蝙蝠速度表示为极性变换;将蝙蝠声波频率表示为极性交流;将蝙蝠声波响度表示为极性突变;将蝙蝠搜索空间表示为极性搜索空间;将蝙蝠的适应度表示为相应极性的延时;将适应度最大的蝙蝠位移表示为延时最优的极性;将最大适应度值表示为最佳延时;B.设置蝙蝠算法的相关参数:将蝙蝠种群数量记为m,m为大于等于40的整数,蝙蝠搜索空间维数记为b,b为大于等于30的整数,蝙蝠种群进化的最大进化代数记为N,N为大于等于3000的整数,设定蝙蝠群体的当前进化代数为变量h;C.设定蝙蝠算法中用于计算蝙蝠的适应度的适应度函数:设定蝙蝠算法中计算蝙蝠的适应度的适应度函数:在蝙蝠算法中,适应度越大表示蝙蝠相对于目标的位置越好,但是搜索三值FPRM电路最佳延时要求延时越小越好,因此,为了便于两者有效地结合,采用延时的倒数表示适应度,得到适应度函数如下所示:其中,符号“/”表示除法运算符;fitnessc表示第c个蝙蝠的适应度大小,c为大于等于1且小于等于m的整数;fitc为第c个蝙蝠位移对应的极性下三值FPRM电路的延时估计数据;表示适应度放大系数,取值为大于等于500的整数;D.将蝙蝠种群中第c个蝙蝠位移记为xc,d,第c个蝙蝠速度记为vc,d,d表示第c个蝙蝠的搜索空间维数,d∈[1,b],第c个蝙蝠声波响度记为Ac,第c个蝙蝠脉冲速率记为rc,第c个蝙蝠声波频率记为fc,对蝙蝠种群中各个蝙蝠位移、蝙蝠速度、蝙蝠声波响度、蝙蝠脉冲速率和蝙蝠声波频率进行初始化,其中蝙蝠位移初始化为极性取值范围内的任意值,AC初始化为1~2之间的随机数,rc初始化为大于0且小于等于1的随机数,蝙蝠声波频率fc初始化为fmin~fmax之间的随机数,其中,fmin表示蝙蝠声波频率的最小值,取值为100,fmax表示蝙蝠声波频率的最大值,取值为1200,将变量h初始化为1;E.根据步骤(1)和(2)分别计算蝙蝠群体中每个蝙蝠位移对应的极性下三值FPRM电路的延时估计数据,然后根据延时估计数据计算每个蝙蝠的适应度,将适应度值最大的蝙蝠位移作为蝙蝠种群的当前全局最优位移,如果适应度值最大的蝙蝠位移有多个,则随机选择其中一个适应度值最大的蝙蝠位移作为蝙蝠种群的当前全局最优位移;F.对蝙蝠群体的蝙蝠位移和蝙蝠速度进行第h轮进化代的首次更新:先采用随机函数生成均匀分布的随机变量α,α∈[0,1],再通过公式(1)更新第h轮进化代的蝙蝠声波频率fc,然后再结合公式(2)和公式(3)更新蝙蝠位移xc,d和蝙蝠速度vc,d:fc=fmin+(fmax-fmin)*α(1)其中,表示在第h轮进化代第c个蝙蝠速度的首次更新值,表示在第h轮进化代第c个蝙蝠位移的首次更新值;如果h的当前值为1,则为第c个蝙蝠速度的初始值,为第c...

【专利技术属性】
技术研发人员:汪鹏君汪涛张会红陈伟伟
申请(专利权)人:宁波大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1