一种基于贪婪算法的测试激励集合优选方法技术

技术编号:16817616 阅读:84 留言:0更新日期:2017-12-16 10:55
一种基于贪婪算法的测试激励集合优选方法,本发明专利技术涉及测试激励集合优选方法。本发明专利技术为了解决现有技术在元器件的参数偏差程度对电路的影响较小时,故障检测率和诊断率较低,以及不能够覆盖整个电路的元器件的问题。本发明专利技术包括:步骤一:建立m个待选测试激励与n个电路中的元器件构成的初始矩阵;步骤二:根据步骤一得到的初始矩阵并利用贪婪算法,依次从m个待选测试激励中优选出x个测试激励,T1,T2,T3…Tx,构成了测试激励集合F,F=(T1,T2,T3…Tx),得到测试激励集合F对应的最小代价和为Smin;步骤三:采用内部比较策略和随机剔除策略对步骤二的测试测试激励集合F进行优化。本发明专利技术用于模拟电路故障诊断领域。

A test incentive set optimization method based on greedy algorithm

A test incentive set optimization method based on greedy algorithm, and the present invention relates to a test incentive set optimization method. In order to solve the problem that the parameter deviation degree of the existing components has little influence on the circuit, the invention has low failure detection rate and diagnostic rate, and can not cover the components of the whole circuit. The invention includes the following steps: the establishment of the initial matrix M candidate test excitation and N in the circuit components; step two: according to the initial steps of a matrix obtained by the greedy algorithm, in order to be selected from the M test stimulus selected x test T1, T2, T3 incentive... Tx, form the test incentive set F, F = (T1, T2, T3... Tx), get the minimum cost and the Smin of test incentive set F corresponding; step three: use internal comparison strategy and random exclusion strategy to optimize the test and test incentive set F for step two. The invention is used in the field of analog circuit fault diagnosis.

【技术实现步骤摘要】
一种基于贪婪算法的测试激励集合优选方法
本专利技术涉及基于贪婪算法的测试激励集合优选方法。
技术介绍
随着我国国防科技的发展,电子系统广泛地应用在导弹控制、通信、目标探测、敌我识别等领域中,所以电子系统的可靠性决定了武器装备的性能。电子系统模拟电路的构成比例虽约为20%,但是电子系统的故障大多来源于模拟电路,影响模拟电路性能主要因素之一是由电路中元器件的参数漂移引起的故障,目前的故障诊断领域针对该类故障也进行了较多的研究,为了提高对该类故障的检测和诊断,针对电路中的故障进行测试激励的优选,而模拟电路中的所有器件在外界环境和内部环境的双重作用下都会发现不同程度的参数偏差而引起模拟电路的故障,因此需要提出一种能够覆盖整个电路的测试激励集合,且能够最大限度的将电路的元器件不同偏差引起的故障有效地激励出来。对于电路中的某一个故障,在不同频率激励下,故障输出响应也不尽相同,因此选择合适的测试激励,获得该故障的最佳电路输出响应,得到的故障样本尽可能可分。合理的测试激励,可以优化故障分辨率,并易于分类器检测故障。
技术实现思路
本专利技术为了解决现有技术获得的电路测试激励集合不能有效地激励电路中元器件不同参数偏差比引起的故障,在元器件的参数偏差程度对电路的影响较小时,故障检测率和诊断率较低,以及现有测试激励集合不能够覆盖整个电路的元器件的问题,而提出一种基于贪婪算法的测试激励集合优选方法。一种基于贪婪算法的测试激励集合优选方法包括以下步骤:步骤一:建立m个待选测试激励与n个电路中的元器件构成的初始矩阵,每个待选测试激励的代价分别设置为s1,s2,...,si,...,sm;步骤二:根据步骤一得到的初始矩阵并测试激励集合优选的优选目标是使该集合覆盖全部n个器件,同时集合对应的代价和最小,所以将该问题采用带权值的集合覆盖问题来解决,利用贪婪算法,依次从m个待选测试激励中优选出x个测试激励,T1,T2,T3…Tx,构成了测试激励集合F,F=(T1,T2,T3…Tx),得到测试激励集合F对应的最小代价和为Smin;步骤三:采用内部比较策略和随机剔除策略对步骤二的测试测试激励集合F进行优化,提高测试激励集合的优度。本专利技术提供了一种基于贪婪算法的测试激励集合优选方法,能够优选覆盖整个电路元器件且具有较好激励作用的测试激励集合,本方法将测试激励覆盖元器件的问题转换为集合覆盖问题来解决,由于每个测试激励具有对应的代价,所以将其转换为带权值的集合覆盖问题解决,集合覆盖问题是一个NP-hard问题,所以采用近似算法来解决该问题,其中能较好解决本专利技术的问题为贪婪选择策略。首先建立测试激励覆盖电路元器件的情况的初始矩阵,在集合覆盖问题中被称为初始格局,其中待选的测试激励共有m个,分别为f1,f2,f3…fm,电路中的测试激励共有n个,分别为H1,H2,H3…Hn,则待选测试激励与元器件构成了一个m×n的初始矩阵,该矩阵表1所示,矩阵中的每个元素用aij表示,i=(1,2,3…m),j=(1,2,3…n)。在矩阵中给出待选测试激励对元器件的覆盖情况,当第i个测试激励能够激励第j个元器件时,则在初始矩阵中将对应位置的元素aij记为“1”,当第i个测试激励不能够激励第j个元器件时,则在初始矩阵中将对应位置的元素aij记为“0”,所以初始矩阵为0-1构成的布尔矩阵,其中每个测试激励对应的代价值为s1,s2,s3…sn,如表1所示;表1贪婪算法思想就是从m行中,按照某种规则依次选择若干行盖住所有的列,使得这些被选中行的代价之和尽量地小。在某一时刻,已经按选择规则选择了若干行盖住若干列,还有若干列未被盖住,这种状态,称为一种格局。为了表述方便,我们用一个n维的布尔向量P表示列的覆盖情况。在某个格局之下,若第j列已被覆盖,则Pj=true,否则Pj=false(j=1,2,3,…n)。对于任一行i,其平均代价为ci,在此基础上,可用如下公式(1)定义在当前格局下行i的平均代价:贪婪算法选择策略可描述为从初始格局出发,选择平均代价最小ci的行来覆盖那些还没有被覆盖的列,按此策略选择一行后,便得到新的格局,其中选择的平均代价最小的行对应的测试激励则为最终优选的测试激励集合中的一个元素T1;从此新格局出发,再次使用贪婪算法选择策略,直到所有的列都被覆盖或剩下的行中已没有行可以覆盖那行未必盖住的列,基于该选择策略依次选择出最优测试激励集合F中的元素T1,T2,T3…Tx,该集合对应的代价和为Smin。针对得到的测试激励集合F,本专利技术采用两个优化策略分别是内部比较策略和随机剔除策略对其进一步优化。优化策略一是在测试激励集合内部比较,对于集合中的某个测试Tx,其覆盖了p个元器件,若可用集合中Tx之外的测试激励覆盖p个元器件,则可将Tx从集合中剔除;若无可用集合中Tx之外的测试激励覆盖p个元器件,则不可将Tx从集合中剔除。优化策略二是随机剔除策略,具体流程如下:设对集合F剔除测试激励的次数为k次首先从集合F中随机剔除任意两个测试激励,则会导致q个元器件未被覆盖;从剩余的待选测试激励中按照贪婪算法策略选择测试激励对q个元器件进行覆盖,构成新的测试激励集合Fnew,计算该集合Fnew的代价和Snew,与集合F的代价和Smin比较;如果Smin<Snew,则集合F为最优的测试激励集合;如果Smin>Snew,则用新的集合Fnew代替F成为最优测试激励集合;根据该策略对集合F中的激励进行剔除并优化,直至剔除次数k达到次或Fnew与F相同,得到最优的测试激励集合,最大限度的优化测试激励集合F。本专利技术的有益效果为:本专利技术的目的是针对现有模拟电路中由于器件在工作环境的作用下发生不同程度的参数偏差而引起电路故障,元器件的参数偏差程度导致对电路的影响程度不同,影响较大的能够有效检测,如果影响较小则不容易检测。因此,为了提高整个电路的元器件偏差引起的故障检测率和诊断率,本专利技术提出了一种基于贪婪算法的测试激励集合优选方法,该方法优选的测试激励集合能够覆盖整个电路的元器件。因此本专利技术主要针对器件偏差造成的模拟电路故障进行测试激励优选,有效地提高模拟电路故障的检测率和诊断率。采用本专利技术中的一种基于贪婪算法的测试激励集合优选方法得到的测试激励集合能够覆盖整个模拟电路的元器件参数偏差引起的故障,同时保证对故障有更好的激励作用,针对元器件不同参数偏差引起的故障都具有较高的分辨率,结合分类器进行故障检测,检测率达到95%以上,对参数偏差较小引起的故障同样具有较好的激励效果,检测率达到92%以上,这是目前传统测试激励选择方法所没有达到的效果。附图说明图1为Leapfrog电路图。具体实施方式具体实施方式一:一种基于贪婪算法的测试激励集合优选方法包括以下步骤:步骤一:建立m个待选测试激励与n个电路中的元器件构成的初始矩阵,每个待选测试激励的代价分别设置为s1,s2,...,si,...,sm;步骤二:根据步骤一得到的初始矩阵并利用贪婪算法,测试激励集合优选的优选目标是使该集合覆盖全部n个器件,同时集合对应的代价和最小,所以将该问题采用带权值的集合覆盖问题来解决,依次从m个待选测试激励中优选出x个测试激励,T1,T2,T3…Tx,构成了测试激励集合F,F=(T1,T2,T3…本文档来自技高网...
一种基于贪婪算法的测试激励集合优选方法

【技术保护点】
一种基于贪婪算法的测试激励集合优选方法,其特征在于:所述基于贪婪算法的测试激励集合优选方法包括以下步骤:步骤一:建立m个待选测试激励与n个电路中的元器件构成的初始矩阵,每个待选测试激励的代价分别设置为s1,s2,...,si,...,sm;步骤二:根据步骤一得到的初始矩阵并利用贪婪算法,依次从m个待选测试激励中优选出x个测试激励,T1,T2,T3...Tx,构成了测试激励集合F,F=(T1,T2,T3...Tx),得到测试激励集合F对应的最小代价和为Smin;步骤三:采用内部比较策略和随机剔除策略对步骤二的测试测试激励集合F进行优化。

【技术特征摘要】
1.一种基于贪婪算法的测试激励集合优选方法,其特征在于:所述基于贪婪算法的测试激励集合优选方法包括以下步骤:步骤一:建立m个待选测试激励与n个电路中的元器件构成的初始矩阵,每个待选测试激励的代价分别设置为s1,s2,...,si,...,sm;步骤二:根据步骤一得到的初始矩阵并利用贪婪算法,依次从m个待选测试激励中优选出x个测试激励,T1,T2,T3...Tx,构成了测试激励集合F,F=(T1,T2,T3...Tx),得到测试激励集合F对应的最小代价和为Smin;步骤三:采用内部比较策略和随机剔除策略对步骤二的测试测试激励集合F进行优化。2.根据权利要求1所述的一种基于贪婪算法的测试激励集合优选方法,其特征在于:所述步骤一建立m个待选测试激励与电路中的元器件成的初始矩阵的具体过程为:步骤一一:m个待选测试激励分别为f1,f2,f3...fm,n个电路中的元器件分别为H1,H2,H3...Hn,待选测试激励与元器件构成一个m×n的空矩阵;步骤一二:步骤一一中的空矩阵中每个元素用aij表示,i=1,2,3...m,j=1,2,3...n;当第i行测试激励能够激励第j列元器件时,则在空矩阵中将对应位置的元素aij记为1,当第i行测试激励不能激励第j列元器件时,则在初始矩阵中将对应位置的元素aij记为0,得到待选测试激励与元器件构成的初始矩阵为0-1构成的矩阵。3.根据权利要求2所述的一种基于贪婪算法的测试激励集合优选方法,其特征在于:所述步骤二中根据步骤一得到的初始矩阵并利用贪婪算法,依次从m个待选测试激励中优选出x个测试激励,T1,T2,T3...Tx,构成了测试激励集合F,F=(T1,T2,T3...Tx),得到测试激励集合F对应的最小代价和为Smin的具体过程为:步骤二一:用n维的布尔向量P表示测试激励对元器件的激励作用,若第j列已被激励,则Pj=true,true为真,否则Pj=false,false为假,采用公式(1)分别计算m行的每一行的平均代价c1,c2,...,ci,...,cm步骤二二:根据步骤二一...

【专利技术属性】
技术研发人员:俞洋姜月明杨智明彭喜元李志盛
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:黑龙江,23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1