[发明专利]一种三值FPRM电路面积与延时最佳极性搜索方法在审

专利信息
申请号: 202110751621.3 申请日: 2021-07-02
公开(公告)号: CN113609805A 公开(公告)日: 2021-11-05
发明(设计)人: 符强;陈嘉豪;童楠;钟才明;王克逸 申请(专利权)人: 宁波大学科学技术学院
主分类号: G06F30/337 分类号: G06F30/337;G06F111/06
代理公司: 宁波奥圣专利代理有限公司 33226 代理人: 方小惠
地址: 315212 浙江省*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 fprm 电路 面积 延时 最佳 极性 搜索 方法
【权利要求书】:

1.一种基于MOAMA算法的三值FPRM电路面积与延时优化方法,其特征在于包括括以下步骤:

(1)建立p极性下三值FPRM电路面积估算模型和延时估算模型:

S1.1、将p极性下三值FPRM电路用三值FPRM逻辑表达式表示为:

其中,n为函数fp(xn-1,xn-2,...,x0)输入变量的个数,p极性用n位三进制表示为pn-1pn-2...p0,pj∈{0,1,2},j=0,1,2,...,n-1,xn-1,xn-2,...,x0为函数fp(xn-1,xn-2,...,x0)的n个输入变量,运算符为模3加运算,ai为三值FPRM逻辑表达式的第i个与项系数,ai∈{0,1,2},i为与项序数,i=0,1,2,...,3n-1,*为乘运算符,Π为模3乘运算符,ij∈{0,1,2},的值由极性p的第j位pj决定,当pj为0时,当pj为1时,当pj为2时,为三进制加运算;

S1.2、p极性下三值FPRM电路用三值FPRM逻辑表达式由多输入模3加项和多输入模3乘项组成,将多输入模3加项看作多输入模3加门,多输入模3乘项看作多输入模3乘门,首先采用类Huffman算法将p极性下三值FPRM电路用三值FPRM逻辑表达式内所有多输入模3乘门分解为多个二输入模3乘门,多输入模3加门分解为多个二输入模3加门,得到分解后的逻辑表达式,将分解后的逻辑表达式中二输入模3乘门数量记为Area_Mod_3M,二输入模3加门的数量记为Area_Mod_3A,将分解后的逻辑表达式中从输入变量到输出信号经过二输入模3乘门和二输入模3加门的数量最多的路径作为关键路径,将该关键路径上包含的二输入模3乘门和二输入模3加门的数量和记为num(Mod_3);

S1.3、将p极性下三值FPRM电路的面积记为area(p),延时记为delay(p),将p极性下三值FPRM电路的面积估算模型用式(2)表示,延时估算模型用(3)表示:

area(p)=Area_Mod_3M+Area_Mod_3A (2)

delay(p)=num(Mod_3) (3)

(2)将多目标人工蜉蝣算法与三值FPRM电路面积与延时优化进行关联:将三值FPRM电路的极性对应为多目标人工蜉蝣算法中蜉蝣的位置,三值FPRM电路可选择极性的空间对应为多目标人工蜉蝣算法中蜉蝣的搜索空间;

(3)设置极性支配规则:设蜉蝣群中任意两个蜉蝣位置对应的极性分别为P1和P2,设置两个判定条件,如式(4)和(5)所示:

P1area≤P2areaP1delay≤p2delay (4)

P1area<P2area||P1delay<P2delay (5)

其中P1area表示P1极性下三值FPRM电路的面积,p1delay表示P1极性下三值FPRM电路的延时,P2area表示P2极性下三值FPRM电路的面积,P2delay表示P2极性下三值FPRM电路的延时,符号表示当符号左右两个公式同时满足时判定条件成立,符号||表示当符号||左右两个公式有任何一个满足时判定条件成立,若P1极性和P2极性同时满足判定条件(4)和(5),则认为极性P1支配极性P2,记作P1>P2,此时极性P1对应的蜉蝣支配极性P2对应的蜉蝣;若极性P1和极性P2只满足判定条件(4),则P1极性和P2极性互不支配;若极性P1和极性P2只满足判定条件(5),则P1极性和P2极性互不支配;若P1极性和P2极性既不满足判定条件(4),也不满足判定条件(5),则P1极性与P2极性互不支配或P2极性支配P1极性;

(4)设置拥挤度计算规则:设需要计算拥挤度的蜉蝣群中蜉蝣个数为Na,Na为大于等于1的整数,将该需要计算拥挤度的蜉蝣群作为原始蜉蝣群,将该原始蜉蝣群中第u个蜉蝣的拥挤度记为crowdu,为由第u个蜉蝣的第一个拥挤度,为第u个蜉蝣的第二个拥挤度,将第u个蜉蝣的位置对应的极性记为Pau,第u个蜉蝣的位置对应的极性下三值FPRM电路的延时记为第u个蜉蝣的位置对应的极性下三值FPRM电路的面积记为其中u∈[1,2,...,Na];

首先将原始蜉蝣群中各蜉蝣按其位置对应的极性下三值FPRM电路的延时从小到大排序,得到排序后的第一个蜉蝣群,该第一个蜉蝣群中第1个蜉蝣的第一个拥挤度为其内全部蜉蝣的位置对应的极性下三值FPRM电路的延时之和,第Na个蜉蝣的第一个拥挤度也为全部蜉蝣的位置对应的极性下三值FPRM电路的延时之和,第w个蜉蝣的第一个拥挤度为第w+1个蜉蝣的位置对应的极性下三值FPRM电路的延时减去第w-1个蜉蝣的位置对应的极性下三值FPRM电路的延时之差除以第Na个蜉蝣的位置对应的极性下三值FPRM电路的延时减去第1个蜉蝣的位置对应的极性下三值FPRM电路的延时之差的商,其中w∈[2,3,...,Na-1];

然后将原始蜉蝣群中各蜉蝣按其位置对应的极性下三值FPRM电路的面积从小到大进行排序,得到排序后的第二个蜉蝣群,该第二个蜉蝣群中第1个蜉蝣的第一个拥挤度为其内全部蜉蝣的位置对应的极性下三值FPRM电路的面积之和,第Na个蜉蝣的第一个拥挤度也为全部蜉蝣的位置对应的极性下三值FPRM电路的面积之和,第w个蜉蝣的第一个拥挤度为第w+1个蜉蝣的位置对应的极性下三值FPRM电路的面积减去第w-1个蜉蝣的位置对应的极性下三值FPRM电路的面积之差除以第Na个蜉蝣的位置对应的极性下三值FPRM电路的面积减去第1个蜉蝣的位置对应的极性下三值FPRM电路的面积之差的商;

基于每个蜉蝣的第一个拥挤度和第二个拥挤度就能计算得到每个蜉蝣的拥挤度;

(5)采用多目标人工蜉蝣算法搜索三值FPRM电路面积与延时的Pareto最佳极性解集,具体过程为:

Step1、分别设定雄蜉蝣群、雌蜉蝣群、蜉蝣群和外部档案库,其中雄蜉蝣群中的个体为雄蜉蝣,雌蜉蝣群中的个体为雌蜉蝣,蜉蝣群由雄蜉蝣群和雌蜉蝣群构成,设蜉蝣群中蜉蝣数量为M,雄蜉蝣群中雄蜉蝣的数量为M/2,雌蜉蝣群中雌蜉蝣的数量为M/2,M为大于等于20且小于等于100的偶数,/为除法符号,外部档案库规模为archive_size,archive_size为大于等于5且小于等于M的整数,外部档案库中存入的雄蜉蝣和雌蜉蝣统称为蜉蝣,算法迭代总次数为Max_iteration,Max_iteration为大于等于10且小于等于20的整数;

Step2、对雄蜉蝣群进行初始化,得到第0代雄蜉蝣群,将第0代雄蜉蝣群中第k个雄蜉蝣的位置表示为k∈{1,2,3,...,M/2},表示第0代雄蜉蝣群中第k个雄蜉蝣位置的第j位,被初始化为小于等于2且大于等于0的实数,将第0代雄蜉蝣群中第k个雄蜉蝣曾到达过的最好位置记为其中将第0代雄蜉蝣群中第k个雄蜉蝣的速度表示为表示第0代雄蜉蝣群中第k个雄蜉蝣速度的第j位,被初始化为0;

将第0代雄蜉蝣群的婚礼舞蹈系数记为dance0,令dance0=5,婚礼舞蹈系数衰减参数设为dancedamp,取值为0.8,最大惯性权重为gmax,取值为1.5,最小惯性权重为gmin,取值为0.4,蜉蝣群认知系数记为c1,取值为1,雄蜉蝣认知系数为c2,取值为1.5,设置第0代雄蜉蝣群中第k个雄蜉蝣生存周期变量为令为0;

设置雌蜉蝣位置反向映射规则,根据第0代雄蜉蝣群中的雄蜉蝣位置生成雌蜉蝣群中雌蜉蝣位置,得到第0代雌蜉蝣群,将第0代雌蜉蝣群中第k个雌蜉蝣的位置表示为第0代雌蜉蝣群中第k个雌蜉蝣的位置的第j位采用公式(6)计算得到:

Step3、将第0代雄蜉蝣群中每个雄蜉蝣的位置的每一位进行四舍五入操作变为整数,得到其对应的极性,通过列表技术得到第0代雄蜉蝣群中每个雄蜉蝣位置对应极性下三值FPRM逻辑表达式,按照上述步骤S1.2~步骤S1.3的方法得到第0代雄蜉蝣群中每个雄蜉蝣位置对应极性下三值FPRM电路的面积与延时;

Step4、根据极性支配规则,将第0代雄蜉蝣群中每个雄蜉蝣的位置对应的极性与其他雄蜉蝣的位置对应的极性进行比较,统计每个雄蜉蝣被其他雄蜉蝣支配的次数,按照雄蜉蝣被其他雄蜉蝣支配次数的数量确定每个雄蜉蝣的非支配级数,非支配级数从1开始递增,相邻两个非支配级数相差1,被其他雄蜉蝣支配次数最少的雄蜉蝣的非支配级数为最小级数1,雄蜉蝣被支配次数增加则其非支配级数也逐步增加,被其他雄蜉蝣支配次数最多的雄蜉蝣的非支配级数为最高级数,如果有多个雄蜉蝣被其他雄蜉蝣支配次数的数量相同,则其非支配级数也相同,将第0代雄蜉蝣群中非支配级数最低的雄蜉蝣作为蜉蝣加入外部档案库;

按照第0代雄蜉蝣群相同的方法,将第0代雌蜉蝣群中每个雌蜉蝣的位置对应的极性与其他雌蜉蝣的位置对应的极性进行比较,统计每个雌蜉蝣被其他雌蜉蝣支配的次数,按照雌蜉蝣被其他雌蜉蝣支配次数的数量确定每个雌蜉蝣的非支配级数,非支配级数从1开始递增,相邻两个非支配级数相差1,被其他雌蜉蝣支配次数最少的雌蜉蝣的非支配级数为最小级数1,雌蜉蝣被支配次数增加则其非支配级数也逐步增加,被其他雌蜉蝣支配次数最多的雌蜉蝣的非支配级数为最高级数,如果有多个雌蜉蝣被其他雌蜉蝣支配次数的数量相同,则其非支配级数也相同,将第0代雌蜉蝣群中非支配级数最低的雌蜉蝣作为蜉蝣加入外部档案库;

判断当前外部档案库存储的蜉蝣数量是否超过外部档案库规模上限archives_size,若当前外部档案库存储的蜉蝣数量超过外部档案库规模上限archives_size,则计算当前外部档案库中所有蜉蝣的拥挤距离,从外部档案库中剔除一个拥挤距离最小的蜉蝣,当拥挤距离最小的蜉蝣存在2个以上时,随机选择一个拥挤距离最小的蜉蝣剔除,每从外部档案库中剔除一个蜉蝣,就重新判定当前外部档案库存储的蜉蝣数量是否超过外部档案库规模上限archives_size,如果当前外部档案库存储的蜉蝣数量仍超过外部档案库规模上限archives_size,则再次计算当前外部档案库中蜉蝣的拥挤距离,从外部档案库中再次剔除拥挤距离最小的一个蜉蝣,直至达到外部档案库规模上限,然后从当前外部档案库中随机选取一个蜉蝣作为第0代蜉蝣群最优蜉蝣gbest0

若当前外部档案库存储的蜉蝣数量未超过外部档案库规模上限archives_size,则不做额外操作,直接从当前外部档案库中随机选取一个蜉蝣作为第0代蜉蝣群最优蜉蝣gbest0

Step5、设定迭代次数变量t,初始化变量t,令变量t=1;

Step6、对蜉蝣群进行第t次迭代,迭代过程如下:

Step6.1、设定第t代惯性权重为gt,采用公式(7)计算得到gt

gt=gmax-(gmax-gmin)/Max_iteration*t (7)

Step6.2、设定第t代雄蜉蝣群婚礼舞蹈系数为dancet,根据公式(8)计算得到dancet

dancet=dancet-1*dancedamp (8)

Step6.3、将第t代雄蜉蝣群中第k个雄蜉蝣的速度表示为表示第t代雄蜉蝣群中第k个雄蜉蝣速度的第j位,大于vmin且小于vmax,vmin表示速度第j位的最小取值,取-0.2,vmax表示速度第j位的最大取值,取0.2,先采用随机函数在[-1,1]内生成随机值然后根据公式(9)~(11)计算得到

其中,为第t-1代雄蜉蝣群中第k个雄蜉蝣速度的第j位,e为自然对数,取2.71,β是一个固定的能见度系数,取2,rp为第t-1代雄蜉蝣群中第k个蜉蝣的位置与其自身曾经到过最好位置的距离,采用式(10)计算得到,rg为第t-1代雄蜉蝣群中第k个雄蜉蝣的位置与第t-1代蜉蝣群最优蜉蝣的位置的距离,采用式(11)计算得到,为第t-1代雄蜉蝣群中第k个雄蜉蝣曾经到达过的最好位置的第j位,为第t-1代蜉蝣群最优蜉蝣的位置的第j位,为第t-1代雄蜉蝣群中第k个雄蜉蝣位置的第j位,表示第t-1代雄蜉蝣群中第k个雄蜉蝣的位置所对应的极性,f(gbestt-1)为第t-1代蜉蝣群最优蜉蝣的位置所对应的极性,表示第t-1代雄蜉蝣群中第k个雄蜉蝣的位置所对应的极性支配第t-1代蜉蝣群最优蜉蝣的位置所对应的极性,表示第t-1代蜉蝣群最优蜉蝣的位置所对应的极性支配第t-1代雄蜉蝣群中第k个雄蜉蝣的位置所对应的极性或两者互不支配,为平方根运算符,∑为累加运算符,为第t-1代蜉蝣群中最优蜉蝣位置的第j位;

判断计算得到的是否大于0.2以及是否小于0,若大于0.2,则令等于0.2,若小于0,则令等于0,否则保持不变;

Step6.4、令第t代雄蜉蝣群中第k个雄蜉蝣曾经到达过的最好位置等于第t-1代雄蜉蝣群中第k个雄蜉蝣曾经到达过的最好位置,第t代雄蜉蝣群中第k个雄蜉蝣曾经到达过的最好位置记为为第t代雄蜉蝣群中第k个雄蜉蝣曾经到达过的最好位置的第j位,计算公式如下:

令第t代蜉蝣群的最优蜉蝣gbestt的位置等于第t-1代蜉蝣群的最优蜉蝣gbestt-1的位置,第t代蜉蝣群的最优蜉蝣gbestt的位置的第j位记为公式如下:

Step6.5、将第t代雄蜉蝣群中第k个雄蜉蝣的位置表示为表示第t代雄蜉蝣群中第k个雄蜉蝣位置的第j位,为小于等于2且大于等于0的实数,采用公式(14)计算得到

在计算得到后,若大于2,则令等于2,若小于0,则令等于0,否则保持不变;

Step6.6、将第t代雌蜉蝣群中第k个雌蜉蝣的位置表示为其中表示第t代雌蜉蝣群中第k个雌蜉蝣位置的第j位,为小于等于2大于等于0的实数,采用公式(15)计算得到

Step6.7、将第t代雄蜉蝣中每个雄蜉蝣的位置的每一位均进行四舍五入操作变为整数,得到其对应的极性,并得到第t代雄蜉蝣中每个雄蜉蝣的位置对应极性下的三值FPRM表达式,按照上述步骤S1.2~步骤S1.3的方法得到第t代雄蜉蝣群对应的每个极性下三值FPRM电路的面积与延时;

将第t代雄蜉蝣群中第k个雄蜉蝣位置对应的极性与第t代雄蜉蝣群中第k个雄蜉蝣曾经到达过的最好位置对应的极性进行比较,若第t代雄蜉蝣群中第k个雄蜉蝣的位置对应的极性支配第t代雄蜉蝣群中第k个雄蜉蝣曾经到达过的最好位置对应的极性,则将第t代雄蜉蝣群中第k个雄蜉蝣曾到达过的最好位置更新为等于第t代雄蜉蝣群中第k个雄蜉蝣的位置,否则第t代雄蜉蝣群中第k个雄蜉蝣曾到达过的最好位置保持不变;

将第t代雄蜉蝣群中第1个雄蜉蝣至第M/2个雄蜉蝣的位置对应的极性依次与第t代蜉蝣群最优蜉蝣的位置对应的极性比较,若第t代雄蜉蝣群中第k个雄蜉蝣的位置对应的极性支配第t代蜉蝣群最优蜉蝣的位置对应的极性,则将第t代蜉蝣群最优蜉蝣更新为第t代雄蜉蝣群中第k个雄蜉蝣,否则第t代蜉蝣群最优蜉蝣保持不变,每次比较时第t代蜉蝣群最优蜉蝣均为当前最新的第t代蜉蝣群最优蜉蝣;

将第t代雌蜉蝣群中每个雌蜉蝣位置的每一位分别进行四舍五入操作变为整数,得到其对应的极性,并得到第t代雌蜉蝣中每个雌蜉蝣的位置对应极性下的三值FPRM表达式,按照上述步骤S1.2~步骤S1.3的方法得到第t代雌蜉蝣群对应的每个极性下三值FPRM电路的面积与延时;

将第t代雌蜉蝣群中第1个雌蜉蝣至第M/2个雌蜉蝣的的位置对应的极性依次与第t代蜉蝣群最优蜉蝣所代表极性比较,若第t代雌蜉蝣群中第k个雌蜉蝣位置对应的极性支配第t代蜉蝣群最优蜉蝣位置对应的极性,则将第t代蜉蝣群最优蜉蝣更新为第t代雌蜉蝣群中第k个雌蜉蝣,否则第t代蜉蝣群最优蜉蝣保持不变,每次比较时第t代蜉蝣群最优蜉蝣均为当前最新的第t代蜉蝣群最优蜉蝣;

Step6.8、根据极性支配规则,将第t代雄蜉蝣群中每个雄蜉蝣的位置对应的极性与其他雄蜉蝣的位置对应的极性进行比较,统计每个雄蜉蝣被其他雄蜉蝣支配的次数,按照雄蜉蝣被其他雄蜉蝣支配次数的数量确定每个雄蜉蝣的非支配级数,被其他雄蜉蝣支配次数最少的雄蜉蝣的非支配级数为最小级数1,雄蜉蝣被支配次数增加其非支配级数也逐步增加,被其他雄蜉蝣支配次数最多的雄蜉蝣的非支配级数为最高级数,如果有多个雄蜉蝣被其他雄蜉蝣支配次数的数量相同,则其非支配级数也相同;将雄蜉蝣群中非支配级数最低的雄蜉蝣加入外部档案库;将雌蜉蝣群中每个雌蜉蝣的位置对应的极性与其他雌蜉蝣的位置对应的极性进行比较,统计每个雌蜉蝣被其他雌蜉蝣支配的次数,按照雌蜉蝣被其他雌蜉蝣支配次数的数量确定每个雌蜉蝣的非支配级数,被其他雌蜉蝣支配次数最少的雌蜉蝣的非支配级数为最小级数1,雌蜉蝣被支配次数增加其非支配级数也逐步增加,被其他雌蜉蝣支配次数最多的雌蜉蝣的非支配级数为最高级数,如果有多个雌蜉蝣被其他雌蜉蝣支配次数的数量相同,则其非支配级数也相同,将雌蜉蝣群中非支配级数最低的雌蜉蝣加入外部档案库;

Step6.9、根据非支配级数从低到高对第t代雄蜉蝣群中的雄蜉蝣进行排序,根据非支配级数从低到高对第t代雌蜉蝣群中的雌蜉蝣进行排序,将第t代雄蜉蝣群中的第k个雄蜉蝣与第t代雌蜉蝣群中的第k个雌蜉蝣进行交配生成第t代子代蜉蝣群,第t代子代蜉蝣群由雄性子代蜉蝣和雌性子代蜉蝣构成,根据公式(16)得到第t代子代蜉蝣中第k个雄性子代蜉蝣的位置表示第t代子代蜉蝣群中第k个雄性子代蜉蝣位置的第j位,根据公式(17)得到第t代子代蜉蝣群中第k个雌性子代蜉蝣的位置表示第t代子代蜉蝣中第k个雌性子代蜉蝣位置的第j位,具体交配过程如下:

Step6.9.1、在[-1,1]内生成随机值

Step6.9.2、采用公式(16)得到第t代子代蜉蝣中第k个雄性子代蜉蝣的位置;

Step6.9.3、采用公式(17)得到第t代子代蜉蝣中第k个雌性子代蜉蝣的位置;

在计算结束后,若大于2,则令等于2,若小于0,则令等于0,否则保持不变;若大于2,则令等于2,若小于0,则令等于0,否则保持不变;

设置第t代子代蜉蝣群中第k个雄性子代蜉蝣的速度为0,生存周期为0,将第t代子代蜉蝣中第k个雄性子代蜉蝣的位置的每一位分别进行四舍五入操作变为整数,得到其对应的极性,并得到该极性下三值FPRM电路的面积与延时;

将第t代子代蜉蝣群中第1个雄性子代蜉蝣的位置至第M/2个雄性子代蜉蝣的位置所对应的极性依次与第t代蜉蝣群最优蜉蝣的位置所对应的极性进行比较,若第t代子代蜉蝣群中第k个雄性子代蜉蝣的位置所对应的极性支配第t代蜉蝣群最优蜉蝣的位置所对应的极性,则将第t代子代蜉蝣群中第k个雄性子代蜉蝣作为蜉蝣加入外部档案库,并将第t代蜉蝣群最优蜉蝣更新为第t代子代蜉蝣群中第k个雄性子代蜉蝣,否则不作任何处理;

将第t代子代蜉蝣群中第k个雌性子代蜉蝣的位置的每一位进行四舍五入操作变为整数,得到其对应的极性,并得到该极性下三值FPRM面积与延时;

将第t代子代蜉蝣群中第1个雌性子代蜉蝣的位置至第M/2个雌性子代蜉蝣的位置所对应的极性依次与第t代蜉蝣群最优蜉蝣的位置所对应的极性进行比较,若第t代子代蜉蝣群中第k个雌性子代蜉蝣的位置所对应的极性支配第t代蜉蝣群最优蜉蝣的位置所对应的极性,则将第t代子代蜉蝣群中第k个雌性子代蜉蝣作为蜉蝣加入外部档案库,并将第t代蜉蝣群最优蜉蝣更新为第t代子代蜉蝣群中第k个雌性子代蜉蝣,否则不作任何处理;

将第t代子代蜉蝣群中所有雄性子代蜉蝣作为雄蜉蝣加入第t代雄蜉蝣群,将第t代子代蜉蝣中所有雌性子代蜉蝣作为雌蜉蝣加入第t代雌蜉蝣群;

Step6.10、计算当前第t代雄蜉蝣群中每个雄蜉蝣的非支配级数,判定是否存在支配级数大于5的雄蜉蝣,如果不存在,则保持各雄蜉蝣当前支配级数不变,如果存在,则将所有非支配级数大于5的雄蜉蝣的非支配级数变为5,由此当前非支配级数至多为{1,2,3,4,5}五种,分别判断每种非支配级数的雄蜉蝣数量是否大于为向下取整符号,如果某种非支配级数的雄蜉蝣数量大于则按拥挤度计算规则计算当前第t代雄蜉蝣群中该种非支配级数的所有雄蜉蝣的拥挤度,抽取拥挤度最大的个雄蜉蝣,抽取时若存在要从两个或两个以上雄蜉蝣拥挤度相同的雄蜉蝣中进行抽取的情况,则随机抽取所需数量,如果小于或者等于则抽取该非支配级数的全部雄蜉蝣;

判断当前抽取的所有雄蜉蝣的数量是否等于M/2,如果等于M/2,则采用抽取的所有雄蜉蝣构成一个新的雄蜉蝣群,如果小于M/2,则从未抽取雄蜉蝣中随机抽取相应数量的雄蜉蝣,使抽取的雄蜉蝣群的数量等于M/2后,采用此时抽取的所有雄蜉蝣构成一个新的雄蜉蝣群,将该新的雄蜉蝣群作为当前得到的第t代雄蜉蝣群;

Step6.11、计算当前第t代雌蜉蝣群中雌蜉蝣的非支配级数,判定是否存在支配级数大于5的雄蜉蝣,如果不存在,则保持各雄蜉蝣当前支配级数不变,如果存在,则将所有非支配级数大于5的雌蜉蝣非支配级数变为5,由此当前非支配级数至多为{1,2,3,4,5}五种,判断每种非支配级数的雌蜉蝣数量大于是否大于如果某种非支配级数的雌蜉蝣数量大于则按拥挤度计算规则计算雌蜉蝣群中该种非支配级数的所有雌蜉蝣的拥挤度,抽取拥挤度最大的个雌蜉蝣,抽取时若存在要从两个或者两个以上雌蜉蝣拥挤度相同的雌蜉蝣中进行抽取的情况,则随机抽取所需数量,如果小于或者等于则抽取该非支配级数的全部雌蜉蝣;

判断当前抽取的所有雌蜉蝣的数量是否等于M/2,如果等于M/2,则采用抽取的所有雌蜉蝣构成一个新的雌蜉蝣群,如果小于M/2,则从未抽取雌蜉蝣中随机抽取相应数量的雌蜉蝣,使抽取的雌蜉蝣群的数量等于M/2后,采用此时抽取的所有雌蜉蝣构成一个新的雌蜉蝣群,将该新的雌蜉蝣群作为当前得到的第t代雌蜉蝣群,当前得到的第t代雌蜉蝣群即为最终得到的第t代雌蜉蝣群;

Step6.12、将第t代雄蜉蝣群中每个雄蜉蝣的生存周期加1,将第t代雄蜉蝣群中所有雄蜉蝣根据非支配级数从小到大排序,若此时第t代雄蜉蝣群中第个雄蜉蝣到第M/2个雄蜉蝣中不存在生存周期超过4的雄蜉蝣,则不作任何处理,直接进入步骤Step6.14,若此时第t代雄蜉蝣群中第个雄蜉蝣到第M/2个雄蜉蝣中存在H个生存周期超过4的雄蜉蝣,H为大于等于1的整数,则从外部档案库中随机选取H个蜉蝣,设选出的蜉蝣别称为人工蜉蝣;采用当前选取的H个人工蜉蝣构成一个人工蜉蝣群,将该人工蜉蝣群中第h个人工蜉蝣的当前进化次数设为0,h=1,2,…,H,该人工蜉蝣群中第h个人工蜉蝣为第0代进化的第h个人工蜉蝣,将第0代进化的第h个人工蜉蝣的位置记为为第0代进化的第h个人工蜉蝣的位置的第j位,第0代进化的第h个人工蜉蝣的速度记为速度为第0代进化的第h个人工蜉蝣的速度的第j位,将第0代进化的第h个人工蜉蝣的速度的每一位均重置为0,第0代进化的第h个人工蜉蝣曾到过的最好位置记为为第0代进化的第h个人工蜉蝣曾到过的最好位置的第j位,将第0次进化的第h个人工蜉蝣曾到过的最好位置重置为等于第0次进化的第h个人工蜉蝣的位置;对当前人工蜉蝣群中H个第0代进化的人工蜉蝣分别进行q次进化,具体进化过程如下:

Step6.12.1、在[0,1]内生成随机数根据公式(18)计算进化总次数q,根据进化公式进行进化。:

其中为向上取整运算符;

Step6.12.2、设定进化次数变量b,初始化b,令b=1;

Step6.12.3、对第b-1进化的第h个人工蜉蝣进行第b次迭代进化,得到第b次进化的第h个人工蜉蝣,迭代进化过程如下:

Step6.12.3.1、在[-1,1]内生成随机值

Step6.12.3.2、令第b次进化的人工蜉蝣曾到过的最好位置等于第b-1次进化的人工蜉蝣曾到过的最好位置;

Step6.12.3.3、采用公式(19)和(20)分别计算第b次进化的第h个人工蜉蝣的位置和速度分别进行改变,公式如下:

其中,表示第b-1次进化的第h个人工蜉蝣的位置,为第b-1次进化的第h个人工蜉蝣位置的第j位,表示第b-1次进化的第h个人工蜉蝣的位置所对应的极性,表示第b-1次进化的第h个人工蜉蝣的位置所对应的极性支配第t-1代蜉蝣群最优蜉蝣所对应的极性,表示第t代蜉蝣群最优蜉蝣所对应的极性支配第b-1次进化的第h个人工蜉蝣的位置所对应的极性或两者互不支配,为第b次进化的第h个人工蜉蝣速度的第j位,为第b-1次进化的第h个人工蜉蝣曾经到达过的最好位置的第j位;为第b次进化的第h个人工蜉蝣的位置的第j位,为第b-1次进化的第h个人工蜉蝣的速度的第j位;

在计算结束后,若大于0.2,则令等于0.2,若小于0,则令等于0,否则人保持不变,若大于2,则令等于2,若小于0,则令等于0,否则保持不变;

Step6.12.3.4、若第b次进化的第h个人工蜉蝣的位置所对应的极性支配第b-1次进化的第h个人工蜉蝣曾经到达过的最好位置所对应的极性,则令第b次进化的第h个人工蜉蝣曾经到达过的最好位置等于第b次进化的第h个人工蜉蝣位置,否则第b次进化的第h个人工蜉蝣曾经到达过的最好位置保持不变;

Step6.12.3.5、判断b的当前值是否等于q,如果等于,则转到步骤Step6.13,如果不等于,则采用b的当前值加1的和更新b的值,再转到Step6.12.3,进行下一次进化;

Step6.13、设置当前人工蜉蝣群中人工蜉蝣的生命周期为0,将当前人工蜉蝣群中每个人工蜉蝣的位置的每一位分别进行四舍五入操作变为整数,得到对应极性,并得到每个人工蜉蝣的位置对应的极性下三值FPRM面积与延时,若某个人工蜉蝣的位置对应的极性支配第t代蜉蝣群最优蜉蝣的位置所对应的极性,则将该人工蜉蝣作为蜉蝣加入外部档案库,将当前第t代雄蜉蝣群中第个雄蜉蝣到第M/2个雄蜉蝣中H个生存周期超过4的雄蜉蝣剔除,然后将当前人工蜉蝣群中的所有人工蜉蝣作为雄蜉蝣加入雄蜉蝣群,清除人工蜉蝣群;

Step6.14、根据极性支配规则,将当前外部档案库中每个蜉蝣的位置对应的极性与当前外部档案库中其他蜉蝣的位置对应的极性进行比较,统计每个蜉蝣被其他蜉蝣支配的次数,按照蜉蝣被其他蜉蝣支配次数的数量确定每个蜉蝣的非支配级数,被其他蜉蝣支配次数最少的蜉蝣的非支配级数为最小级数1,蜉蝣被支配次数增加其非支配级数也逐步增加,被其他蜉蝣支配次数最多的蜉蝣的非支配级数为最高级数,如果有多个蜉蝣被其他蜉蝣支配次数的数量相同,则其非支配级数也相同;将当前外部档案库中非支配级数最低的蜉蝣保留,其他剔除;

Step6.15、判断当前外部档案库存储的蜉蝣数量是否超过外部档案库规模上限archives_size,若当前外部档案库存储的蜉蝣数量未超过外部档案库规模上限archives_size,则不进行操作,否则计算当前外部档案库中蜉蝣的拥挤距离,先将拥挤距离最小的任意一个蜉蝣删除,;然后再次判断当前外部档案库存储的蜉蝣数量是否超过外部档案库规模上限archives_size,如果未超过,则结束操作,如果超过,则再次计算当前外部档案库中蜉蝣的拥挤距离,将拥挤距离最小的任意一个蜉蝣删除,直至当前外部档案库存储的蜉蝣数量未超过外部档案库规模上限archives_size;

Step6.16、从当前外部档案库中随机选取一个蜉蝣作为第t代蜉蝣群最优蜉蝣gbestt。;

Step7、判断t的当前值是否等于Max_iteration,若等于,则此时外部档案库存储的蜉蝣的位置对应的极性集合即为满足三值FPRM电路面积与延时Pareto关系的最佳极性集合,优化结束,输出结果;若不等于,则采用t的当前值加1的和更新t的取值,返回步骤Step6,进行下一次迭代。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宁波大学科学技术学院,未经宁波大学科学技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110751621.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top