基于串并联遗传算法的多目标测试优选方法与流程

文档序号:14555680阅读:485来源:国知局
基于串并联遗传算法的多目标测试优选方法与流程
本发明属于电子系统故障诊断
技术领域
,更为具体地讲,涉及一种基于串并联遗传算法的多目标测试优选方法。
背景技术
:在针对大型电子设备系统的故障诊断问题中,如何选择测试方案,使故障检测率(fdr,faultdiagnoserate)、虚警率(far,faultalarmrate)以及测试各项开销(时间、经济等)等可测试性指标同时满足约束条件甚至趋向更好,是学术或者工程领域不断探索的问题。对于以上同时考虑多个测试性指标的测试优选问题,可以视为多目标优化问题。多目标优化问题是讨论如何在一定约束条件下,找到满足多个目标都能达到最优的解。一般情况下,多目标优化问题的各个子目标之间是矛盾的,一个子目标的改善有可能会引起另一个或者另几个子目标的性能降低,也就是要同时使多个子目标一起达到最优值是不可能的,而只能在它们中间进行协调和折中处理,使各个子目标都尽可能地达到最优化。多目标优化可以用公式(1)表达,即需要找到合适的x使得所有n个目标函数f(x)最小:minimizef(x)=(f1(x),f2(x),…,fn(x))(1)与单目标优化问题的本质区别在于,多目标优化问题的解并非唯一,而是存在一组由众多pareto(帕累托)最优解组成的最优解集合,集合中的各个元素称为pareto最优解或非劣最优解。对于由公式(1)确定的向量f(xi)和f(xj),如果两个相量不相等且f(xi)里的所有元素都不大于f(xj)里的对应位置元素,则称f(xi)支配f(xj),xj称为支配解,xi称为非支配解。由所有非支配解构成的集合称为帕累托最优集。对于多目标优化问题,目前最为普遍的方法是对多目标进行加权求和,如式(2)所示,把和函数g(x)看成单目标优化问题。其中,n=1,2,…,n。这种处理方法的问题有两个:(1)权重因子主观性强,设计者往往不太容易选择;(2)优化结果单一,不能提供多个选择。对于电子系统故障诊断领域,有时候要求尽快隔离故障,测试成本的重要性相对次要,而有时候要求严格控制成本,对时间要求不高。此时需要优化算法能够提供多种选择给决策者备选,在不同场合下都可以给出解决方案。技术实现要素:本发明的目的在于克服现有技术的不足,提供一种基于串并联遗传算法的多目标测试优选方法,基于帕累托最优,设计一种串并联遗传算法,获得满足多个目标的多种测试优选方案。为实现上述发明目的,本发明基于串并联遗传算法的多目标测试优选方法包括以下步骤:s1:根据需要确定若干个电子系统的测试优选的优化目标和约束条件,记优化目标的数量为n,并设置测试方案的优化目标函数fn(x),n=1,2,…,n,优化目标函数值越小,测试方案越优,记约束条件为a≥a*,a表示约束条件参数,a*表示参数阈值;s2:执行k次遗传算法,得到k个最优解集,遗传算法的具体步骤包括:s2.1:初始化迭代次数t=1,精英解集合随机生成y个个体xi,i=1,2,…,y,每个个体为一个长度为m的二进制码,m表示电子系统的测试数量;每个个体表示一个测试方案,当二进制码中第m个数据为0时,表示个体所对应测试方案中未选中第m个测试,当二进制码中第m个数据为1时,表示个体所对应测试方案中选中第m个测试,m=1,2,…,m;s2.2:从当前种群中筛选中符合约束条件的个体,加入精英解集合e;s2.3:根据n个优化目标函数fn(x),计算当前精英解集合e每个个体xd对应的n个优化目标函数值fn(xd),d=1,2,…,|e|,|e|表示当前精英解集合e中个体数量,两两比较个体的优化目标函数值,获取每个个体被支配的次数zd;搜索当前精英解集合e中被支配次数最多和最少的个体,其被支配次数分别记为zmax和zmin;s2.4:计算个体xi的适应度值fi:s2.5:如果t<t,进入步骤s2.6,否则进入步骤s2.8:s2.6:对当前种群中进行选择、交叉、变异操作,生成下一代种群;s2.7:令t=t+1,返回步骤s2.2;s2.8:计算当前精英解集合e中每个个体对应的n个优化目标函数值,搜索当前精英解集合e中的非支配个体,即构成本次遗传算法的最优解集;s3:合并步骤s2所获得的k个最优解集,得到集合u,如果集合u中的个体数量|u|等于y,则将集合u作为种群v;如果|u|小于y,则随机生成产生y-|u|个体,与集合u一起构成种群v;如果|u|大于y,则计算集合u中每个个体对应的n个优化目标函数值,两两比较个体的优化目标函数值,获取每个个体被支配的次数,将个体按被支配次数升序排列,取前y个个体构成种群v;将种群v作为初始种群,执行一次步骤s2中的遗传算法,得到最优解集,其每个个体即为一个测试优选方案。本发明基于串并联遗传算法的多目标测试优选方法,根据需要确定若干个电子系统的测试优选的优化目标和约束条件,首先分别执行若干次遗传算法,遗传算法过程中每次得到新的种群,称筛选出满足约束条件的个体加入精英解集合,得到精英解集合中个体的被支配次数,根据种群中的个体是否属于精英解集合采用不同方式来计算适应度值;然后将这若干次遗传算法的最优解集合并,作为初始种群中的个体,再执行一次遗传算法得到最优解集,其每个个体即为一个测试优选方案。本发明基于帕累托最优,设计一种串并联遗传算法,获得满足多个目标的多种测试优选方案,从而为决策者提供多种测试优选方案备选,在不同场合下都可以给出解决方案。附图说明图1是本发明基于串并联遗传算法的多目标测试优选方法的具体实施方式流程图;图2是本发明中遗传算法的流程图。具体实施方式下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。图1是本发明基于串并联遗传算法的多目标测试优选方法的具体实施方式流程图。如图1所示,本发明基于串并联遗传算法的多目标测试优选方法的具体步骤包括:s101:确定测试优选的目标和约束条件:根据需要确定若干个电子系统的测试优选的优化目标和约束条件,记优化目标的数量为n,并设置测试方案的优化目标函数fn(x),n=1,2,…,n,优化目标函数值越小,测试方案越优,记约束条件为a≥a*,a表示约束条件参数,a*表示参数阈值。在电子系统故障诊断领域,测试优选的优化目标包括测试经费最小化、测试时间开销最小化、故障隔离度最大化、故障检测率最大化等,显然,当优化目标为越大越好时,例如故障隔离度和故障检测率,其优化目标函数可以设置为故障隔离度或故障检测率的倒数。约束条件的参数一般可以选择故障隔离度、故障检测率、虚警率等。测试优选的目标和约束条件都是根据实际需要来确定的。s102:执行k次遗传算法:执行k次遗传算法,得到k个最优解集。k的大小是根据实际需要来设置的,时间要求紧迫,k可以取较小值,对精度要求高时可以取较大值。用于进行多目标测试优选的遗传算法是本发明的关键算法。图2是本发明中遗传算法的流程图。如图2所示,遗传算法的具体步骤包括:s201:初始化数据:初始化迭代次数t=1,精英解集合随机生成y个个体xi,i=1,2,…,y,每个个体为一个长度为m的二进制码,m表示电子系统的测试数量。每个个体表示一个测试方案,当二进制码中第m个数据为0时,表示个体所对应测试方案中未选中第m个测试,当二进制码中第m个数据为1时,表示个体所对应测试方案中选中第m个测试,m=1,2,…,m。s202:根据约束条件筛选个体:从当前种群中筛选中符合约束条件的个体,加入精英解集合e。s203:计算个体被支配次数:根据n个优化目标函数fn(x),计算当前精英解集合e每个个体xd对应的n个优化目标函数值fn(xd),d=1,2,…,|e|,|e|表示当前精英解集合e中个体数量,两两比较个体的优化目标函数值,获取每个个体被支配的次数zd。搜索当前精英解集合e中被支配次数最多和最少的个体,其被支配次数分别记为zmax和zmin。s204:计算个体的适应度值:很显然,当前种群中的个体有两种:属于精英解集合e或不属于集合e,在计算适应度值需要区别计算。本发明中,个体的适应度值按照以下公式计算:其中,ai表示个体xi的约束条件参数值。显然,属于精英解集合e中的个体,被支配次数越少越优,不属于集合e的个体,约束条件参数越大越优,因此本发明,个体的适应度值越大,个体越优。s205:判断迭代次数t是否小于预设最大迭代次数t,如果是,进入步骤s206,否则进入步骤s208。s206:生成下一代种群:对当前种群中进行选择、交叉、变异操作,生成下一代种群。s207:令t=t+1,返回步骤s202。s208:得到最优解集:计算当前精英解集合e中每个个体对应的n个优化目标函数值,搜索当前精英解集合e中的非支配个体,即构成本次遗传算法的最优解集。s103:综合求解:合并步骤s102所获得的k个最优解集,得到集合u,如果集合u中的个体数量|u|等于y,则将集合u作为种群v;如果|u|小于y,则随机生成产生y-|u|个体,与集合u一起构成种群v;如果|u|大于y,则计算集合u中每个个体对应的n个优化目标函数值,两两比较个体的优化目标函数值,获取每个个体被支配的次数,将个体按被支配次数升序排列,取前y个个体构成种群v。将种群v作为初始种群,执行一次步骤s102中的遗传算法,得到最优解集,其每个个体即为一个测试优选方案。为了更好地说明本发明技术方案,采用一个具体实例对本发明进行详细说明。表1是本实施例的测试依赖矩阵。表1如表1所示,本实施例的电子系统共有50种故障状态,20个备选测试,表1中的第一列数据为各个故障的归一化发生率,其余二进制数据表示相应测试是否能测试对应的故障,1表示能够测试,0则表示不能测试。本实施例中,优化目标为测试经费和测试时间最小,约束条件采用故障隔离率,要求故障隔离率达到100%。表2是各项测试所需经费与时间的归一化值。t1t2t3t4t5t6t7t8t9t10t11t12t13t14t15t16t17t18t19t20经费11210995525245113853194时间76388685818227278276表2测试经费和测试时间两个优化目标函数的表达式分别如下:其中,xm表示个体x中的第m个元素,cm、τm分别表示第m个测试所需的经费和时间。约束条件,即故障隔离率fir的计算公式为:其中,wv表示v号故障的发生率,bv(x)表示个体x所对应的测试方案下v号故障是否被隔离,其计算公式为:其中,dvm、dv′m分别表示第m个测试是否能够测试v号故障和v′号故障。首先运行两次遗传算法,初始种群个体数量为100。本实施例个体的适应值度按照以下公式计算:表4是第一次遗传算法得到的最优解集。表5是第二次遗传算法得到的最优解集。序号t1t2t3t4t5t6t7t8t9t10t11t12t13t14t15t16t17t18t19t20100101000010111100100201000000001111001101301000101011101000010401000101111001000100501001100010101000110601100100010101000110710100000010111100100表4序号t1t2t3t4t5t6t7t8t9t10t11t12t13t14t15t16t17t18t19t20101000100011101000101201100100010101000101301100100010101001100401100100010111100100表5如表4和表5所示,表中的各行各对应一种测试方案,每一种测试方案中的每一列取0或1,0表示对应测点未被选中,如表4中,第2行第1列为0,表示第2个测试方案中测试1未被选中。而第一行第三列为1,表示第三个测试在方案一中被选中。不难验证,表4与表5中所有方案的fir均为1,满足最低指标要求。表6是表4中所有测试方案的测试经费与时间。表7是表5中所有测试方案的测试经费与时间。经费时间0.490.270.330.410.320.420.240.430.360.390.370.340.510.26表6经费时间0.260.380.320.330.310.350.470.31表7从表6和表7可以看出,每个测试方案在其表中都不被其他测试方案支配。将表4和表5中包含的11个测试方案,以及随机生成89个测试方案,构成综合求解的初始种群。表8是综合求解得到的最优解集。序号t1t2t3t4t5t6t7t8t9t10t11t12t13t14t15t16t17t18t19t20100101000010111100100201000100011101000101301000101111001000100401100000011111000100501100100010101000101601100100010101001100710100000010111100100表8表9是表8中所有测试方案的测试经费与时间。经费时间0.240.430.260.380.310.350.320.330.380.310.490.270.510.26表9从表9可以看出,相对于其它6种方案,第一行给出的方案其测试经费最少,只有0.24,但是其测试时间最高,为0.43,适用于对成本控制较为严格的场合。反之,最后一行适用于对测试时间要求紧迫的情况。中间几行的方案是折衷的方案,无论那种方案,都是满足指标要求的。分别将综合求解的最优解与之前两次遗传算法的最优解作对比,不难看出,综合求解得到的最优解都支配了前两次遗传算法的最优解,即综合求解得到的测试方案更优。可见,本发明可以为电子系统提供多种测试方案选择,且得到的测试方案比单次遗传算法得到的更优。尽管上面对本发明说明性的具体实施方式进行了描述,以便于本
技术领域
的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本
技术领域
的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1