当前位置: 首页> 交通专利数据库 >详情
原文传递 一种三值固定极性RM电路面积与功耗的优化方法
专利名称: 一种三值固定极性RM电路面积与功耗的优化方法
摘要: 本发明公开了一种三值固定极性RM电路面积与功耗的优化方法,采用Pareto准则,不需要多次设置电路面积与功耗的加权系数值就能获取电路的最佳极性集合,并且在非支配排序遗传算法中引入了差分学习机制,设置外部档案库用于存放非支配排序遗传算法在运行过程中每一代最优染色体的位置对应的极性,随机抽取第t‑1代染色体种群中num(rep)条染色体进行高斯变异产生变异染色体群体,然后从外部档案库和变异染色体群体分别随机抽取一定数量的染色体进行二项式交叉产生子代染色体群体,由此保证了非支配排序遗传算法的收敛性和多样性;优点是具有良好的优化效果和鲁棒性。
专利类型: 发明专利
国家地区组织代码: 浙江;33
申请人: 温州大学
发明人: 汪鹏君;王铭波;符强;张会红;李刚
专利状态: 有效
发布日期: 2019-01-01T00:00:00+0800
申请号: CN201810604464.1
公开号: CN109033506A
代理机构: 宁波奥圣专利代理事务所(普通合伙) 33226
代理人: 方小惠
分类号: G06F17/50(2006.01)I;G06N3/12(2006.01)I;G;G06;G06F;G06N;G06F17;G06N3;G06F17/50;G06N3/12
申请人地址: 325000 浙江省温州市瓯海区东方南路38号温州市国家大学科技园孵化器
主权项: 1.一种三值固定极性RM电路面积与功耗的优化方法,其特征在于包括以下步骤:(1)建立p极性下三值固定极性RM电路的面积估算模型和功耗估算模型,具体过程为:a.将p极性下三值固定极性RM电路用三值固定极性RM函数表达式表示为:其中,n为函数fp(xn‑1,xn‑2,…,x0)的输入变量的个数;xn‑1,xn‑2,…,x0为函数fp(xn‑1,xn‑2,…,x0)的n个输入变量;为模3加运算符号,∑为累加符号;ci为与项系数,且ci∈{0,1,2};i为与项序数,i=0,1,2,…,3n‑1,i用三进制可表示为in‑1in‑2…i0,ij∈{0,1,2},j=0,1,2,…,n‑1;p为三值固定极性RM电路的极性,p用三进制可表示为pn‑1pn‑2…p0为模3乘项,为第j个模3乘项的幂形态,极性p和与项序数i决定了幂形态的表示形式:当pj=0时,在模3乘项中以原幂形态的形式出现,若ij=0,则若ij=1,则若ij=2,则符号“·”为乘运算符号;当pj=1时,在模3乘项中以互补幂形态的形式出现,若ij=0,则若ij=1,则若ij=2,则当pj=2时,在模3乘项中以互补幂形态的形式出现,若ij=0,则若ij=1,则若ij=2,则b.p极性下三值固定极性RM电路由多输入模3加项和多输入模3乘项组成,将多输入模3加项看作多输入模3加门,多输入模3乘项看作多输入模3乘门,首先采用类Huffman算法将p极性下三值固定极性RM函数表达式的三值固定极性RM电路内包含的所有多输入模3乘门分解为二输入模3乘门,将分解得到的二输入模3乘门的数量记为No.Mod_3M;然后再采用类Huffman算法将p极性下三值固定极性RM电路内包含的所有多输入模3加门分解为二输入模3加门,将分解得到的二输入模3加门的数量记为No.Mod_3A;c.将p极性下三值固定极性RM电路的面积记为area(p),p极性下三值固定极性RM电路的面积估算模型为:area(p)=No.Mod_3A+No.Mod_3M     (2)d.将分解完的p极性下三值固定极性RM电路中所有二输入模3加门和二输入模3乘门引起的功耗作为p极性下的三值固定极性RM电路的功耗,其中二输入模3加门和二输入模3乘门引起的功耗分别采用其开关活动性表示,而二输入模3加门的开关活动性采用该二输入模3加门的输出变量概率表示,二输入模3乘门的开关活动性采用该二输入模3乘门的输出变量概率表示;根据公式(3)、(4)和(5)计算分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量概率,k=1,2,…,No.Mod_3M;其中,表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量为1的概率,表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量为2的概率,表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的输出变量为0的概率,Pk1‑1表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第一个输入变量为1的概率,Pk1‑2表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第一个输入变量为2的概率,Pk2‑1表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第二个输入变量为1的概率,Pk2‑2表示分解完的p极性下三值固定极性RM电路中第k个二输入模3乘门的第二个输入变量为2的概率,Pk1‑1、Pk1‑2、Pk2‑1和Pk2‑2分别为通过随机函数产生的位于0~1之间的随机数;根据公式(6)、(7)和(8)计算分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量概率;g=1,2,…,No.Mod_3A;其中,表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量为1的概率,表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量为2的概率,表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的输出变量为0的概率,Qg1‑1表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第一个输入变量为1的概率,Qg1‑2表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第一个输入变量为2的概率,Qg2‑1表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第二个输入变量为1的概率,Qg2‑2表示分解完的p极性下三值固定极性RM电路中第g个二输入模3加门的第二个输入变量为2的概率;Qg1‑1、Qg1‑2Qg2‑1和Qg2‑2分别为通过随机函数产生的位于0~1之间的随机数;e.根据分解完的p极性下三值固定极性RM电路中二输入模3加门的输出变量概率和二输入模3乘门的输出变量概率值计算三值固定极性RM电路的功耗,得到p极性下三值固定极性RM电路的功耗估算模型为:(2)构建非支配排序遗传算法与三值固定极性RM电路的面积与功耗优化的关联:将非支配排序遗传算法中染色体表示为三值固定极性RM电路的极性,染色体的位置表示为极性对应的n位三进制数,染色体的搜索空间表示为三值固定极性RM电路可选择极性的空间;(3)采用非支配排序遗传算法搜索三值固定极性RM电路面积与功耗的Pareto最佳极性解集,具体过程为:Step1:设置染色体种群中染色体的数量为M,M为大于等于20且小于等于100的偶数,每条染色体的位置分别为三值固定极性RM电路中某一极性对应的n位三进制数,设置非支配排序遗传算法的迭代总次数为T,T为大于等于100小于等于500的整数,设定当代迭代次数为变量t,初始化变量t,令变量t=0,初始化每一条染色体的位置;通过列表技术得到当代染色体种群中每一条染色体的位置对应极性下的三值固定极性RM函数表达式,按照上述步骤b~步骤e的方法得到各极性下三值固定极性RM电路的面积与功耗;Step2:设定极性支配规则:将染色体种群中任意两条染色体的位置对应的极性记为P1和P2,若P1和P2满足:则认定P1支配P2,记作P1>P2,此时P1对应的染色体支配P2对应的染色体;当极性P1不被当前染色体种群中其他任何染色体的位置对应的极性支配时,则将P1作为满足三值固定极性RM电路面积与功耗Pareto关系的最佳极性之一;Step3:采用极性支配规则将当前染色体种群中每条染色体的位置对应的极性分别与当前染色体种群中其他染色体的位置对应的极性进行比较,统计每条染色体被其他染色体支配的次数,根据每条染色体被其他染色体支配的次数确定每条染色体的非支配级数,若当前染色体种群中某一条染色体不被其他染色体支配,则将该染色体的非支配级数设定为最小级数,其他染色体的非支配级数随着它被支配的次数的增加而增加,如果有多个染色体被其他染色体支配的次数相同,则这些染色体的非支配级数也相同,获取当前染色体种群中非支配级数最小的染色体并采用这些染色体构成当前最优染色体集合;Step4:设置一个用于存放当前最佳极性的外部档案库,将该外部档案库的能够存放的极性数量记为num(rep),num(rep)为大于等于10且小于等于M的整数,将存放有第t代最佳极性的外部档案库称为第t代外部档案库;Step5:统计当前最优染色体集合中染色体的数量,若当前最优染色体集合中染色体的数量小于等于num(rep),则将当前最优染色体集合中染色体的位置对应的极性全部放入外部档案库中,若当前最优染色体集合中染色体的数量大于num(rep),则计算当前最优染色体集合中每条染色体的位置的拥挤距离,并按照拥挤距离从高到低的顺序选择num(rep)条染色体,将这些染色体的位置对应的极性放入外部档案库中,得到第t代外部档案库;Step6:采用变量t的当前值加1后的值去更新变量t,得到更新后的t,将更新后的t作为当代迭代次数,对染色体种群进行第t次迭代,得到第t代染色体种群,对染色体种群进行第t次迭代的具体过程为:A.从第t‑1代染色体种群中随机抽取num(rep)条染色体,将这num(rep)条染色体的位置的第1位~第n位分别进行高斯变异得到num(rep)条变异染色体,采用num(rep)条变异染色体构成第t代变异染色体群体Mut(t),其中高斯变异的具体过程为:A‑1.根据公式(11)分别计算得到从第t‑1代染色体种群中随机抽取的num(rep)条染色体中每条染色体位置的第1位~第n位的变异参量:Muthq(t)=round(Phq(t‑1)+gaussrand(0,1))     (11)其中,Muthq(t)表示从第t‑1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位的变异参量,Phq(t‑1)表示从第t‑1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位,h=1,2,…,num(rep),q=1,2,…,n,gaussrand(0,1)表示服从均值为0且方差为1的一个随机数,round(·)表示对Phq(t‑1)+gaussrand(0,1)的值进行四舍五入操作,取为整数;A‑2.按照以下规则对从第t‑1代染色体种群中随机抽取的num(rep)条染色体中每条染色体位置的第1位~第n位进行变异:如果Muthq(t)大于2,则将从第t‑1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位更新为2,如果Muthq(t)小于0,则将从第t‑1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位更新为0,如果Muthq(t)大于等于0且小于等于2,则从第t‑1代染色体种群中随机抽取的num(rep)条染色体中第h条染色体位置的第q位保持不变;A‑3.按照步骤A‑1和步骤A‑2依次完成从第t‑1代染色体种群中随机抽取的num(rep)条染色体中每条染色体位置的第1位~第n位的更新,将更新后的从第t‑1代染色体种群中随机抽取的num(rep)条染色体作为num(rep)条变异染色体,得到num(rep)条变异染色体;B.从第t‑1代外部档案库和第t代变异染色体群体中分别随机抽取num(Q)条染色体,其中num(Q)的取值大于等于10且小于等于num(rep),对抽取的2·num(Q)条染色体的位置的第1位~第n位分别进行二项式交叉操作,对从第t‑1代外部档案库随机抽取的num(Q)条染色体进行更新,将更新后的从第t‑1代外部档案库随机抽取的num(Q)条染色体作为num(Q)条子代染色体,得到num(Q)条子代染色体,采用得到的num(Q)条子代染色体构成第t代子代染色体群体Q(t),所述的二项式交叉操作法的具体过程为:B‑1.采用一个随机函数依次产生2·num(Q)个随机数数组,每个随机数数组中包含n个大于等于0且小于等于1的随机数,采用得到的2·num(Q)个随机数数组中前num(Q)个随机数数组构建第一个随机数数组集randc,采用得到的2·num(Q)个随机数数组中后num(Q)个随机数数组构建第二个随机数数组集pcrosser,其中第一个随机数数组集randc中第a个随机数数组中第b个随机数记为randcab,第二个随机数数组集pcrosser中第a个随机数数组中第b个随机数记为pcrosser,ab,a=1,2,…,num(Q),b=1,2,…,n;B‑2.采用一个随机函数依次产生num(Q)个随机数数组,每个随机数数组中包含n个大于等于1且小于等于n的不重复的随机数整数,采用这num(Q)个随机数数组构建第三个随机数数组集randd,将第三个随机数数组集randd中第a个随机数数组中第b个随机数记为randdab;B‑3.将从第t‑1代外部档案库随机抽取的num(Q)条染色体中第a条染色体位置的第b位记为Rab(t‑1),将从第t代变异染色体群体Mut(t)中抽取的num(Q)条染色体中第a条染色体位置的第b位记为Mutab(t);B‑4.比较第一个随机数数组randc中第a个随机数数组的第b个随机数和第二个随机数数组pcrosser中第a个随机数数组的第b个随机数,同时判断第三个随机数数组randd中第a个随机数数组的第b个随机数是否等于b,若randcab≤pcrosser,ab和randdab=b中的至少一个条件成立,则从第t‑1代外部档案库随机抽取的第a条染色体的第b位Rab(t‑1)的值保持不变,若randcab>pcrosser,ab和randdab≠b中的至少一个条件成立,则将从第t代变异染色体群体中随机抽取的第a条染色体的第b位Mutab(t)的值赋值给从第t‑1代外部档案库随机抽取的第a条染色体的第b位Rab(t‑1),对从第t‑1代外部档案库随机抽取的第a条染色体的第b位进行更新;B‑5.按照步骤B‑1和步骤B‑4依次完成从第t‑1代外部档案库随机抽取的num(Q)条染色体的第1位~第n位的更新,将更新后的从第t‑1代外部档案库随机抽取的num(Q)条染色体作为num(Q)条子代染色体,得到num(Q)条子代染色体;C.通过列表技术得到第t代变异染色体群体和第t代子代染色体群体中每一条染色体的位置对应极性下的三值固定极性RM函数表达式,并按照上述步骤b~步骤e得到各极性下三值固定极性RM电路的面积与功耗大小;D.将第t‑1代染色体种群、第t代变异染色体群体和第t代子代染色体群体中的所有染色体作为第一个新染色体种群,采用步骤Step2和步骤Step3相同的方法得到该第一个新染色体群体中每一条染色体的非支配级数,从该第一个新染色体种群中按照非支配级数从低到高的顺序选择M条染色体,若非支配级数从最低到某一非支配级数内所有染色体的数量正好等于M,则采用这M条染色体构建得到第t代染色体种群;若非支配级数从最低到某一非支配级数内所有染色体的数量小于M,而非支配级数从最低到某一非支配级数的高一支配级数内所有染色体的数量大于M,此时计算某一非支配级数的高一支配级数内所有染色体的拥挤距离,并按照拥挤距离从高到低的顺序选择相应数量的染色体,使非支配级数从最低到某一非支配级数内的染色体的数量与从某一非支配级数的高一支配级数内选择的染色体的数量之和等于M,采用这M条染色体构建得到第t代染色体种群;Step7:对外部档案库进行更新,具体过程为:将第t代染色体种群和第t‑1代外部档案库中所有极性对应的染色体作为第二个新染色体群体,采用步骤Step2和步骤Step3相同的方法得到该第二个新染色体种群中每一条染色体的非支配级数,将第t‑1代外部档案库中的极性清空,统计该第二个新染色体群体中非支配级数最低的染色体数量,如果该第二个新染色体群体中非支配级数最低的染色体数量小于等于num(rep),则将该第二个新染色体群体中所有非支配级数最低的染色体对应的极性放入外部档案库中,得到第t代外部档案库;如果该第二个新染色体群体中非支配级数最低的染色体数量大于num(rep),则计算每条非支配级数最低的染色体的位置的拥挤距离,并按照拥挤距离从高到低的顺序选择num(rep)个非支配级数最低的染色体,将选择的num(rep)个非支配级数最低的染色体对应的极性放入外部档案库中,得到第t代外部档案库;Step8:判断t是否等于T,如果等于,则此时第t代外部档案库存储的极性即为满足三值固定极性RM电路面积与功耗Pareto关系的最佳极性集合,优化结束,如果不等于,则返回步骤Step6,进入下一次迭代更新。
所属类别: 发明专利
检索历史
应用推荐