系统级测试性设计多目标优化方法与流程

文档序号:14176109阅读:205来源:国知局
系统级测试性设计多目标优化方法与流程

本发明属于装备测试性设计优化技术领域,更为具体地讲,涉及一种系统级测试性设计多目标优化方法。



背景技术:

为了减轻设备日后的维护难度,系统在设计的初始阶段就应该考虑可测试性设计。可测试性指的是系统的状态能够被准确地检测的程度。在针对大型电子设备系统的故障诊断问题中,如何选择测试方案,使故障检测率(fdr,faultdiagnoserate)、虚警率(far,faultalarmrate)以及测试各项开销(时间、经济等)指标同时满足约束条件甚至趋向更好,是学术和工程领域不断探索的问题。

在测试优选问题中,所关注的测试指标有故障检测率(fdr,faultdiagnoserate)、隔离率,虚警率(far,faultalarmrate)、测试时间开销(tc,timecost)以及测试经济开销(pc,pricecost)等等。增加系统测试性,意味着额外的测试硬件,因此影响着系统重量,体积,研发难度,功能影响以及系统可靠性。

假设影响因素共计n个,用xi表示,i=1,2,…,n。且将影响因素值归一化为0~1之间的变量,则影响因素向量x=[x1,…,xn]。假设需要优化的目标数量为m,每个优化目标的目标函数为fj(x),j=1,2,…,m。

测试优选目标是合理选择和设置x(即合理开展测试性设计,合理分配资源等),使得m个目标函数最小。现实中,m个目标函数一般不可能同时达到最优,因此这是一个典型的多目标优化问题。

当多目标优化为最小化优化问题,可以用下式表达,即需要找到合适的x使得所有m个目标函数f(x)最小:

minimizef(x)=(f1(x),f2(x),…,fm(x))

与单目标优化问题的本质区别在于,多目标优化问题的解并非唯一,而是存在一组由众多pareto(帕累托)最优解组成的最优解集合,集合中的各个元素称为pareto最优解或非劣最优解。对于由上述公式确定的向量f(xi)和f(xj),如果两个相量不相等且f(xi)里的所有元素都不大于f(xj)里的对应位置元素,则称f(xi)支配f(xj),xj称为支配解,xi称为非支配解。由所有非支配解构成的集合称为帕累托最优集。

而目前能解决该类问题的算法有nsga-iii型算法、粒子群算法等等。nsga-iii型算法较为典型,可以找到比较全面的非支配解集,然而由于支配关系计算的时间复杂度较高,收敛速度慢等问题,使得该算法运行时间较长。在搜索速度慢、收敛代数高等问题。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种系统级测试性设计多目标优化方法,在保证得到最优解的同时,提高算法收敛速度。

为实现上述发明目的,本发明系统级测试性设计多目标优化方法,包括以下步骤:

s1:根据电子系统的实际情况确定影响因素,记影响因素向量x=[x1,…,xn],其中xi表示第i个影响因素的归一化值,i=1,2,…,n,n表示影响因素的数量;记需要优化的目标数量为m,确定每个优化目标的目标函数fj(x),j=1,2,…,m,目标函数值越小,影响因素的组合越优;

s2:令j=1;

s3:基于遗传算法搜索目标函数fj(x)极值及其对应的影响因素向量x,其具体步骤包括:

s3.1:将影响因素向量x=[x1,…,xn]作为遗传算法中的个体,初始化遗传算法的种群,将初始种群记为集合parent1;

s3.2:对当前种群parent1中的个体进行交叉、变异操作,生成下一代种群child1;

s3.3:将种群parent1和种群child1合并放入集合combine1,记集合combine1中个体数量为k,计算集合combine1中每个个体xk的适应度值,k=1,2,…,k,个体适应度值fitnessj(xk)的计算公式如下:

s3.4:从集合combine1中优选出k个个体,构成新的种群parent1;

s3.5:计算当前种群parent1中所有个体适应度值的方差σ1,如果σ1小于预设阈值,进入步骤s3.6,否则返回步骤s3.2;

s3.6:从当前种群中搜索出适应度值最小的个体,作为最优个体其对应的目标函数值即为目标函数fj(x)的极值fj*

s4:如果j<m,进入步骤s5,否则进入步骤s6;

s5:令j=j+1,返回步骤s3;

s6:在极值和参考点的引导下,进行帕累托最优解查找,获取帕累托最优解集,其具体步骤包括:

s6.1:将获得的m个优化目标的极值fj*分别作为对应第j个坐标轴的截距,构造m维平面,选取平面上d个参考点,构成参考点集合p={p1,p2,…,pd},其中每一个参考点pd都是一个m维向量,且满足平面方程,其中d=1,2,…,d;将各个参考点到坐标原点的直线作为参考线,得到参考线集l={l1,l2,…,ld},其中参考线ld表示参考点pd到原点的直线;

s6.2:将影响因素向量x=[x1,…,xn]作为遗传算法中的个体,初始化遗传算法的种群,将初始种群记为集合parent2,其个体数量为d,其中m个个体为步骤s3得到的m个最优个体其余个体由m个最优个体通过正态分布产生;

s6.3:对当前种群parent2中的个体进行交叉、变异操作,生成下一代种群child2;

s6.4:将种群parent2和种群child2合并放入集合combine2,记集合combine2中个体数量为q,计算集合combine2中每个个体xq对于每条参考线的适应度值,q=1,2,…,q,个体对于每条参考线的适应度值fitd(xq)的计算公式如下:

fitd(xq)=||fq||×10-6+dis(fq,ld)

其中,fq表示个体xq对应的m个目标函数值fj(xq)所构成的向量,||fq||表示fq的范数,dis(fq,ld)表示fq到参考线ld的欧式距离;

s6.5:分别对参考线ld找出其对应的fitd(xq)中最小值对应的个体,从而得到d个个体,构成新的种群parent2,将对应的fitd(xq)作为个体的适应度值fit(xq);

s6.6:计算当前种群parent2中所有个体适应度值fit(xq)的方差σ2,如果σ2小于预设阈值,进入步骤s6.7,否则返回步骤s6.3;

s6.7:将当前种群parent2作为帕累托最优解集。

本发明系统级测试性设计多目标优化方法,首先基于遗传算法搜索目标函数极值及其对应的影响因素向量,然后将获得到的目标函数的极值分别作为对应坐标轴的截距,得到最优解平面,从最优解平面中选取参考点,然后在极值和参考点的引导下,进行帕累托最优解查找,获取帕累托最优解集。采用本发明,可以在保证得到最优解的同时,提高算法收敛速度。

附图说明

图1是本发明系统级测试性设计多目标优化方法的具体实施方式流程图;

图2是本发明中基于遗传算法搜索目标函数极值的流程图;

图3是本发明中帕累托最优解查找的流程图;

图4是本实施例中采用本发明得到的参考点示意图;

图5是本实施例中采用本发明得到的帕累托最优解对应的目标函数向量示意图;

图6是本实施例中采用nsgaiii算法得到的帕累托最优解集对应的目标函数向量示意图;

图7是本实施例中本发明的收敛效果图;

图8是本实施例中nsgaiii算法的收效效果图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例

图1是本发明系统级测试性设计多目标优化方法的具体实施方式流程图。如图1所示,本发明系统级测试性设计多目标优化方法具体包括以下步骤:

s101:确定影响因素和优化目标函数:

根据电子系统的实际情况确定影响因素,记影响因素向量x=[x1,…,xn],其中xi表示第i个影响因素的归一化值,i=1,2,…,n,n表示影响因素的数量;记需要优化的目标数量为m,确定每个优化目标的目标函数fj(x),j=1,2,…,m,目标函数值越小,影响因素的组合越优。

s102:令j=1。

s103:基于遗传算法搜索目标函数fj(x)极值:

首先需要找出目标函数fj(x)的极值,即使得所有fj′≠j(x)最小的情况下fj(x)的最小值,及其对应的影响因素向量x,也就是靠近第j个坐标轴最近,且在j轴上投影最小的解答。

图2是本发明中基于遗传算法搜索目标函数极值的流程图。如图2所示,本发明中基于遗传算法搜索目标函数极值的具体步骤包括:

s201:初始化种群:

将影响因素向量x=[x1,…,xn]作为遗传算法中的个体,初始化遗传算法的种群,将初始种群记为集合parent1。初始种群中的个体数量可以设置为10×max(m,n)。

s202:生成下一代种群:

对当前种群parent1中的个体进行交叉、变异操作,生成下一代种群child1。本实施例中采用经典的sbx交叉算法和多项式变异算法,参数均为20。

s203:合并种群:

将种群parent1和种群child1合并放入集合combine1,记集合combine1中个体数量为k,计算集合combine1中每个个体xk的适应度值,k=1,2,…,k,个体适应度值fitnessj(xk)的计算公式如下:

s204:优选得到新种群:

从集合combine1中优选出k个个体,构成新的种群parent1。本实施例中,优选个体时采用经典的锦标赛选择(二选一)方法。

s205:计算当前种群parent中所有个体适应度值的方差σ1,如果σ1小于预设阈值,进入步骤s206,否则返回步骤s202。本实施例中方差σ1的阈值为0.01。

s206:获取目标函数极值和最优个体:

从当前种群中搜索出适应度值最小的个体,作为最优个体其对应的目标函数值即为目标函数fj(x)的极值fj*

s104:判断是否j<m,如果是,进入步骤s105,否则进入步骤s106。

s105:令j=j+1,返回步骤s103。

s106:帕累托最优解查找:

接下来,需要在极值和参考点的引导下,进行帕累托最优解查找,获取帕累托最优解集。图3是本发明中帕累托最优解查找的流程图。如图3所示,本发明中帕累托最优解查找的具体步骤包括:

s301:选择参考点:

将获得的m个优化目标的极值fj*分别作为对应第j个坐标轴的截距,构造m维平面,选取平面上d个参考点,构成参考点集合p={p1,p2,…,pd},其中每一个参考点pd都是一个m维向量,且满足平面方程,其中d=1,2,…,d。

参考点的设置可以用户根据指标的重要度选取,也可以按照均匀分布提前设定,设置方法与nsgaiii算法相同,其具体方法在此不再赘述。显然,从坐标原点出发,到各个参考点存在一条直线,记为参考线,这些参考线不妨用集合表示l={l1,l2,…,ld},其中参考线ld表示参考点pd到原点的直线。

s302:初始化种群:

将影响因素向量x=[x1,…,xn]作为遗传算法中的个体,初始化遗传算法的种群,将初始种群记为集合parent2,本次遗传算法中种群中的个体数量设置为d,其中m个个体为步骤s103得到的m个最优个体其余个体由m个最优个体通过正态分布产生。

s303:生成下一代种群:

对当前种群parent2中的个体进行交叉、变异操作,生成下一代种群child2。本实施例中采用经典的sbx交叉算法和多项式变异算法,参数均为20

s304:合并种群:

将种群parent2和种群child2合并放入集合combine2,记集合combine2中个体数量为q,计算集合combine2中每个个体xq对于每条参考线的适应度值,q=1,2,…,q,个体对于每条参考线的适应度值fitd(xq)的计算公式如下:

fitd(xq)=||fq||×10-6+dis(fq,ld)

其中,fq表示个体xq对应的m个目标函数值fj(xq)所构成的向量,||fq||表示fq的范数,dis(fq,ld)表示fq到参考线ld的欧式距离。

s305:优选得到新种群:

分别对参考线ld找出其对应的fitd(xq)中最小值对应的个体,从而得到d个个体,构成新的种群parent2,将对应的fitd(xq)作为个体的适应度值fit(xq)。

s306:计算当前种群parent2中所有个体适应度值fit(xq)的方差σ2,如果σ2小于预设阈值,进入步骤s307,否则返回步骤s303。本实施例中方差σ2的阈值也为0.01。

s307:得到帕累托最优解集:

将当前种群parent作为帕累托最优解集。

为了更好地说明本发明的技术方案,下面以三目标优化为例,对本发明的具体实施过程进行说明。假定优化目标为最大化故障检测率fdr,表达式为f1=maxmize(fdr);最小化虚警率far,表达式为f2=minimize(far);以及测试成本c,表达式为f3=minimize(c)。令f1=1-maxmize(fdr),则都转化为最小化问题。影响这三个目标的因素众多,如设计难度、体积考虑、功能影响、可靠性影响等,本实施例中选择7个影响因素,即x=[x1,…,x7]。

本实施例中构造出的目标函数f=[f1,f2,f3]和优化问题如下所示:

minimize

minimize

minimize

subjectto0≤xi≤1,fori=1,2,…,n

其中,

第一步,搜索目标函数极值及其对应影响因素向量,结果如下:

第二步,将0.5000,0.5000,0.5000作为截距的平面每条边等分成12份,平面也做等分,共产生包括顶点在内的91个参考点。图4是本实施例中采用本发明得到的参考点示意图。

作为种子,按照前文所述方法,产生种群。以此91个点到原点的直线作为参考线,查找最优解。图5是本实施例中采用本发明得到的帕累托最优解对应的目标函数向量示意图。如图5所示,按照本发明的方法,找到的解不但是帕累托最优解,而且对应的目标函数向量能够按照参考线,较为均匀的分布在最优平面上。整个算法运行时间为0.5+6=6.5秒。

这91个最优解对应的目标函数值向量分别为:

得到这些最优目标函数向量的影响因素向量分别为:

测试性设计人员可以根据三个函数(检测率,虚警率,故障诊断成本)在不同场合下的需求重要度,根据以上运行结果,合理配置影响因素,达到测试性优化设计的目的。

为了说明本发明的技术效果,采用用nsgaiii算法运行此例(个体数目为92,代数为500),将其结果与本发明的结果进行对比。图6是本实施例中采用nsgaiii算法得到的帕累托最优解对应的目标函数向量示意图。对比图5和图6可知,虽然采用nsgaiii算法也可以得到最优解,但是并未完全靠近参考点,分布不太均匀。并且nsgaiii算法的运行时间为14.3秒,就效率而言也是本发明占优。

图7是本实施例中本发明的收敛效果图。图8是本实施例中nsgaiii算法的收效效果图。对比图7和图8可以看出,本发明的搜索起点要比传统的nsga-iii型算法高很多,所以收敛性要好于传统的nsga-iii型算法。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1