本发明属于模拟电路,更为具体地讲,涉及一种基于帕累托支配与欧式距离的多目标测试优选方法。
背景技术:
1、目前在模拟电路故障诊断问题中,如何选择测试方案,使故障检测率(fdr,faultdiagnose rate)、虚警率(far,fault alarm rate)以及测试各项开销(时间、经济等)等可测试性指标同时满足约束条件甚至趋向更好,是学术或者工程领域不断探索的问题。
2、目前模拟电路的测试性设计中绝大部分测试优选方法是:满足测试性指标要求下最小化测试总成本、测试总时间、虚警率、测试项数目等其中之一,这是典型的单目标约束优化问题,如下式所示。
3、min f(x)
4、subject to gj(x)≤0,j=1,2,…,k
5、hj(x)=0,j=1,2,…,l
6、x=[x1,x2,…,xd],xd∈{0.1},d=1,2,…,d
7、其中:x为d维二值决策向量,xd=1表示第d号测试项被选中,xd=0表示该号测试项未被选中。f(x)为优化目标,可以是测试总时间、总成本、虚警率、测试数目等。gj(x)表示个不等式约束,如要求故障隔离率大于90%,表达为gj(x)=0.9-fir≤0。hj(x)表示等式约束,如要求故障检测率等于100%,表达为hj(x)=1-fdr=0。
8、为了同时最小化多个目标(测试总时间、总成本、虚警率、测试数目等),目前普遍采用的是各目标做加权的方法,如下式所示。
9、
10、使用过程中根据各目标的重要度不同,设置对应的权重系数。目标越重要,则权重系数越大。采用以上多目标的目标函数,可以得到众多目标的一个折中解,但其本质也是单目标优化问题。实际上,各目标很难同时达到最优,需要寻找一种可以全面解答各优化目标的方法。
技术实现思路
1、本发明的目的在于克服现有技术的不足,提供一种基于帕累托支配与欧式距离的多目标测试优选方法,基于帕累托最优和欧式距离,对遗传算法迭代过程中个体进行优选,获得满足多个目标的多种模拟电路测试优选方案。
2、为了实现上述发明目的,本发明基于帕累托支配与欧式距离的多目标测试优选方法包括以下步骤:
3、s1:根据需要确定模拟电路中若干个测试优选的优化目标和约束条件,,记优化目标的数量为m,并设置测试方案的优化目标函数fm(x),m=1,2,…,m,优化目标函数值越小,测试方案越优;记约束条件为a-a*≥0,a表示约束条件参数,a*表示参数阈值;然后从模拟电路的可用测试项中根据实际需要选择d个可用测试项作为备选测试项;
4、s2:随机生成n个个体xi=[xi,1,xi,2,…,xi,d],i=1,2,…,n,每个个体表示一个测试方案,xi,d=0表示个体所对应测试方案中未选中第d个备选测试项,xi,d=1表示个体所对应测试方案中选中第d个备选测试项,d=1,2,…,d,;将随机生成的n个个体构成遗传算法中的初始种群p;
5、s3:设置迭代次数g=1;
6、s4:对种群p中的个体进行交叉操作生成种群p′;
7、s5:对种群p′中的个体进行变异操作生成种群q;
8、s6:将种群p和种群q合并得到种群s=p∪q;
9、s7:基于帕累托支配与欧式距离筛选出较优个体,具体步骤包括:
10、s7.1:计算种群s中每个个体对应的m个优化目标函数值,根据优化目标函数值判断任意两个个体之间的帕累托支配关系,统计每个个体被支配的次数;
11、s7.2:设置2n个集合lj,j=1,2,…,2n,将被支配了j-1次的个体存放至集合lj中;
12、s7.3:令j=1,优选个体集合
13、s7.4:判断是否如果是,进入步骤s7.8,否则进入步骤s7.5;
14、s7.5:判断是否|lj|≤n-|k|,||表示求取集合中个体数量,如果是,进入步骤s7.6,否则进入步骤s7.7;
15、s7.6:令k=k∪lj;
16、s7.7:判断是否|k|<n,如果是,进入步骤s7.8,否则个体选择结束;
17、s7.8:令j=j+1,返回步骤s7.4;
18、s7.9:对于每个个优化目标函数,从集合lj中筛选出该优化目标函数值最小的个体作为对应的单目标最优个体;
19、s7.10:判断是否m≤n-|k|,如果不是,进入步骤s7.11,否则进入步骤s7.12;
20、s7.11:从m个单目标最优个体随机筛选出n-|k|个个体加入优选个体集合k,个体选择结束;
21、s7.12:将m个单目标最优个体加入优选个体集合k,并将m个单目标最优个体从集合lj中删除;
22、s7.13:对于当前集合lj中的每个个体ij,h表示当前集合lj中第h个个体的原始序号,h=1,2,…,|lj|,分别计算;其与优选个体集合k中|k|个个体xik的欧式距离ik表示当前优选个体集合k中第k个个体的原始序号,k=1,2,…,|k|,||||表示求取范数;
23、将|k|个欧式距离中的最小值作为个体与优选个体集合k的距离,即
24、然后从当前集合lj中筛选与优选个体集合k距离最大的个体
25、s7.14:将个体添加至优选个体集合k中,并将其从集合lj中删除;
26、s7.15:判断是否当前优选个体集合k中个体数量|k|<n,如果是,返回步骤s7.13,否则个体选择结束;
27、s8:判断是否迭代次数g<gmax,gmax表示预设的最大迭代次数,如果是,进入步骤s9,否则进入步骤s10;
28、s9:令迭代次数g=g+1,令种群p=k,返回步骤s4;
29、s10:将优选个体集合k中每个个体作为一个测试优选方案。
30、本发明基于帕累托支配与欧式距离的多目标测试优选方法,根据需要确定模拟电路中若干个测试优选的优化目标,将测试方案作为遗传算法中的个体,采用遗传算法迭代搜索最优个体,在迭代过程中基于帕累托支配与欧式距离筛选出较优个体,最终得到的种群中每个个体即为一个测试优选方案。本发明基于帕累托最优和欧式距离,对遗传算法迭代过程中个体进行优选,获得满足多个目标的多种模拟电路测试优选方案,更好地适应实际应用需要。
1.一种基于帕累托支配与欧式距离的多目标测试优选方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的多目标测试优选方法,其特征在于,所述步骤s4中个体交叉操作采用单点交叉方法。
3.根据权利要求1所述的多目标测试优选方法,其特征在于,所述步骤s5中个体变异操作采用单点变异方法。