一种基于离散粒子群算法的多目标故障测试优化方法

文档序号:5835496阅读:185来源:国知局
专利名称:一种基于离散粒子群算法的多目标故障测试优化方法
技术领域
本发明涉及电子系统故障测试领域,具体来讲,涉及一种基于粒子群算法 的电子系统多目标故障测试优化方法。
背景技术
现有的故障测试优化方法主要是基于图论和信息论的系统测试点选择和测 试代价研究。
一般都是以选取最少的测试点数目为研究目标,并未在测试点选
择过程中同时考虑掩盖故障(MF)、隐藏故障(HF)以及测试代价等重要的可 测性指标。而隐藏故障和掩盖故障容易引起多故障现象,而这种多故障现象其 故障特征的表象形式为单故障特征,现有的多故障诊断方法不容易进行诊断, 必须在电路设计中尽可能减少掩盖故障和隐藏故障的数目。同时,随着系统规 模的增加,系统后期的故障诊断难度增加,系统测试目标还必须侧重于测试时 间和测试费用等指标上。
Kennedy和Eberhart在1995年提出了基于群体中的个体(如粒子)行为及数 学抽象的粒子群算法(PSO),该算法只能解决连续空间问题。Kennedy和Eberhart 于1997年提出了解决离散空间问题的离散粒子群算法(DPSO),离散粒子群算 法(DPSO)具有快速收敛性的特点。

发明内容
本发明的目的在于克服现有技术未能综合考虑故障测试的多个目标的不 足,提供一种基于离散粒子群算法的多目标故障测试优化方法。
为实现上述发明目的,本发明一种基于离散粒子群算法的多目标故障测试 优化方法,包括以下步骤
(1) 、分析电子系统可提供的测试点以及每一测试点所能测试的潜在故障, 得到故障-测试依赖矩阵;
(2) 、将可测性指标故障检测率和故障隔离率为100%作为首先满足的故障测试目标;
(3) 、将故障检测率和故障隔离率作为离散粒子群算法的粒子适应度函数, 离散粒子群算法中的种群规模为M,种群中的第K^l,2,…,M)个粒子x,为lxW维 的二进制向量,iV为电子系统测试点数目,粒子《表示为
、,"",2,…'"v,…'",W)
表示第J个测试点。是否被第Z个粒子选取;
将种群中的粒子初始化为lxV维的二值矩阵向量,其速度初始化为lxW维的 随机值向量,设置最大迭代次数为M"xr,选取初始化粒子中适应度最大的粒子 作为全局最优C4,w和局部最优il,w的初始值,进入粒子迭代;
(4) 、在当前的迭代中,选出种群中最大适应度/(iU与前面迭代次数中
的全局最优值的适应度/(《L)进行比较,如果/(《L)等于/(/LJ,则将全局最 优《^和局部最优《^值同时存入精英集力e"i中;如果/(itL)小于/(《,J ,则
将全局最优itw的值赋给局部最优《^,并将原来的精英集J^Ml的值清空,将
新的最优粒子加入精英集J^nl ,保证G"^是全局最优值;
(5) 、迭代次数大于最大迭代次数为Moxr时,算法中止,精英集;^wi便为
满足故障检测率和故障隔离率为100。%的所有测试集集合;
(6) 、在精英集"m1屮,使用离散粒子群算法找出隐藏故障和掩盖故障平 均数目最少故障测试目标的全局最优测试集;
(7) 、在全局最优测试集Z7^2中,找出满足测试电数目最少及测试代价最 小故障测试目标的测试集刀^3 ,即测试集1"3满足故障检测率和故障隔离率为 100%、隐藏故障和掩盖故障平均数目最少以及测试点数目最少及测试代价最小 的多目标故障测试。
电子系统测试要达到故障检测率和隔离率高、掩盖故障和隐藏故障少以及 测试点数目最少及测试代价最小等多目标故障测试优化方面存在冲突。现有技 术往往以选取最少的测试点为目标,忽略了其他几个测试指标。本发明将故障 检测率和故障隔离率为100%作为首要目标,并作为粒子适应度函数,用离散粒 子群算法对测试点进行优化。引入精英集"Ml,存放满足首要目标的多个优化 结果,后续目标隐藏故障和掩盖故障,在精英集JWm1内进行优化,其结果为全 局最优测试集J^"2。再在全局最优测试集J^w2的基础上,找出满足测试电数目最少及测试代价最小故障测试目标的测试集"w3 ,则测试集"^3满足故障检测 率和故障隔离率为100%、隐藏故障和掩盖故障平均数目最少以及测试点数目最 少及测试代价最小的多目标故障测试。
本发明采用基于精英集策略的离散粒子算法将逐个目标进行优化,使用精 英集将优化的目标集范围逐渐縮小,保证了最后的测试集的全局最优性能,达 到了多目标优化的目的。


图1是本发明一具体实施方式
的故障一测试依赖矩阵;
图2是图1所示的矩阵进行优化后的故障一测试依赖矩阵。
具体实施例方式
下面结合附图,对本发明优选具体实施方式
进行描述。在以下的描述中, 当已有的现有技术的详细描述也许会淡化本发明的主题内容时,这些描述在这 儿将被忽略。
在本发明的具体实施方式
中,步骤(3)所述的粒子迭代为 粒子每次迭代的位置和速度更新公式为(1) (2)
,J 0, ram/ k s/g(《1)
i/i+exp(-《》
《1 =《+ c^'— x,。 ) + c^' (G;她d — 4) (2)
其中《"为第/个粒子在迭代第/次的速度;U,《W—, P^和^,是 对粒子速度的限制,粒子速度太高,容易远离目标区域,粒子速度过低容易陷 入局部最优,不能选出最优粒子;。(/ = 1,2)为加速常数;n',《是0到l之间的随 机数;4为第/个粒子在迭代第f次3前位置;《^为第/个粒子的局部最优; 为全局最优。
为防止陷入局部最优,在(1)式中引入惯性权重w, (2)式变为如下(3)

v)X+c,UJ + c,UJ (3)惯性权重w描述了上一代速度对于当前速度的影响,控制其取值大小可以控 制离散粒子群算法局部和全局寻优能力。w取值越大其全局寻优能力越强,局部 寻优能力越弱。初始时,将w取为常数,但经过多次实验发现,动态惯性能够获 得比固定值更好的寻优结果,在本实施例中,选用了式(4)的线性变化权值, 进行实验取得了很好的效果。
w' =(w, , —M^)(T丽—r)/T隨(4)
其中,?^为最人进化代数,气,为初始惯性权值,f为迭代次数,t,为进化 至最大代数时的惯性权值。如果^ = 0,则粒子速度只取决于它当前位置,速度 本身没有记忆,假设一个粒子位于全局最好位置,它将保持静止。而其他粒子 则飞向它本身最好位置的加权中心,这种条件下,粒子群将收縮到当前全局最 好位置,更像一个局部算法。如果K^O则粒子有扩展收縮空间的趋势,从而针 对不同搜索问题,可调整离散粒子群算法全局和局部搜索能力。在本实施例中, 根据多次实验运行效果取值为
1=1.2, v^=0.4
在本发明的一具体实施方式
中,步骤(6)中
隐藏故障是在故障一测试依赖矩阵中,设每个故障对应的测试特征向量 为S,,如果当5,为第./个故障特真向量8^的真子集,则S,为Sj的隐藏故障。
掩盖故障是当两个或多个故障的征兆的叠加与一个不相关元件的故障征 兆相同时,就产生掩盖的虚警故障。如^的故障征兆为{0,1,0}, &的故障征 兆为{1,0,1}, &的故障征兆为{1,1,1},贝化和&为&的掩盖故障。求解某个掩盖故 障的过程就是将所有能够叠加以后产生和该故障相同征兆的所有故障集合就称 为掩盖故障。
从以上定义可以看出,要找到精英集"wl中的掩盖故障和隐藏故障,其实 质是找出故障一测试依赖矩阵中各向量的包含关系,对于故障较少的系统,可 直接采用枚举方式找到所有的掩盖故障和隐藏故障,当系统较大时,枚举的方 法不再适用。
从上面的定义,我们还可以看出,系统中某故障存在掩盖故障的必要条件 是该故障存在隐藏故障。所以只要系统中隐藏故障的数目为最少,则该系统的 掩盖故障数目一定最少,所以只需找出精英集力^1所含的隐藏故障最少。在本实施例中,以超外差收音机系统的多目标故障测试优化为例。在该系
统中可供选择的测试点数目iV为36个,系统潜在的故障数为22个,其故障一
测试依赖矩阵如图1所示。
定义粒子为一个lx36的二进制向量,粒子的种群规模M为50,最大迭代次
数M"xr为50次。利用离散粒子群算法,求出满足故障检测率和故障隔离率为 100%的精英集刃^1 ,在精英集;^ni中在利用离散粒子群算法找到隐藏故障平
均数目最少的最优测试集X/en2,最优测试集"^2见表1:,1,1,O,O, 11,1,0, 1, 1'1,o,1o,0
1,o'o,1,1'1' 1,0, 1,o, 1, 0, 1, 1,o,o,1,1,1,1,o,o,丄,o,丄o,1,1,丄,o'o,1,1o'1
1o,1,1,1,1, 1,1,0,1, 1' 0, 1, 0,1,o,o,1,1,1,1,1,1, 1, 11,1,1, 1, 1o,1,110]
表1
在本实施例中,图1所示的超外差收音机系统每个测试点的测试代价均为1,
所以在最优测试集X/e"2中只需选出测试点数目最少的最优测试集JHen3为整个
系统的最优测试点集。
在本实施例中,最优测试集"e"3为
舰"3 =
整个系统所选的最优测试点集为[t2,ts,t(S,t7,t8,tl0,tl2,tl4,tl5'tl8,tl9,t20 ,t力,t24,t26,t28,t29,t30,t33,t34,t36i
其对应的故障一测试依赖矩阵如图2所示。从图2可以看出,该矩阵的故 障隔离率和故障检测率为1,所包含的隐藏故障和掩盖故障的数H较少,测试点 数目为21。
尽管上面对本发明说明性的具体实施方式
进行了描述,但应当清楚,本发 明不限于具体实施方式
的范围,对本技术领域的普通技术人员来讲,只要各种 变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而 易见的, 一切利用本发明构思的发明创造均在保护之列。
权利要求
1、一种基于离散粒子群算法的多目标故障测试优化方法,包括以下步骤(1)、分析电子系统可提供的测试点以及每一测试点所能测试的潜在故障,得到故障-测试依赖矩阵;(2)、将可测性指标故障检测率和故障隔离率为100%作为首先满足的故障测试目标;(3)、将故障检测率和故障隔离率作为离散粒子群算法的粒子适应度函数,离散粒子群算法中的种群规模为M,种群中的第i(i=1,2,…,M)个粒子xi为1×N维的二进制向量,N为电子系统测试点数目,粒子xi表示为xi=(ai1,ai2,…,aij,…,aiN)aij表示第j个测试点tj是否被第i个粒子选取;将种群中的粒子初始化为1×N维的二值矩阵向量,其速度初始化为1×N维的随机值向量,设置最大迭代次数为MaxT,选取初始化粒子中适应度最大的粒子作为全局最优Gbestidt和局部最优Pbestidt的初始值,进入粒子迭代;(4)、在当前的迭代中,选出种群中最大适应度f(Pbestidt)与前面迭代次数中的全局最优值的适应度f(Pbestidt-1)进行比较,如果f(Pbestidt-1)等于f(Pbestidt),则将全局最优Pbestidt和局部最优Gbestidt值同时存入精英集Xlen1中;如果f(Pbestidt-1)小于f(Pbestidt),则将全局最优Pbestidt的值赋给局部最优Gbestidt,并将原来的精英集Xlen1的值清空,将新的最优粒子加入精英集Xlen1,保证Gbestidt是全局最优值;(5)、迭代次数大于最大迭代次数为MaxT时,算法中止,精英集Xlen1便为满足故障检测率和故障隔离率为100%的所有测试集集合;(6)、在精英集Xlen1中,使用离散粒子群算法找出隐藏故障和掩盖故障平均数目最少故障测试目标的全局最优测试集Xlen2;(7)、在全局最优测试集Xlen2中,找出满足测试电数目最少及测试代价最小故障测试目标的测试集Xlen3,即测试集Xlen3满足故障检测率和故障隔离率为100%、隐藏故障和掩盖故障平均数目最少以及测试点数目最少及测试代价最小的多目标故障测试。
全文摘要
本发明公开了一种基于离散粒子群算法的多目标故障测试优化方法,将故障检测率和故障隔离率为100%作为首要目标,并作为粒子适应度函数,用离散粒子群算法对测试点进行优化。引入精英集Xlen1,存放满足首要目标的多个优化结果,后续目标隐藏故障和掩盖故障,在精英集Xlen1内进行优化,其结果为全局最优测试集Xlen2。再在全局最优测试集Xlen2的基础上,找出满足测试电数目最少及测试代价最小故障测试目标的测试集Xlen3,则测试集Xlen3满足故障检测率和故障隔离率为100%、隐藏故障和掩盖故障平均数目最少以及测试点数目最少及测试代价最小的多目标故障测试,达到了故障测试多目标优化的目的。
文档编号G01R31/28GK101295008SQ200810044739
公开日2008年10月29日 申请日期2008年6月19日 优先权日2008年6月19日
发明者田书林, 蒋荣华, 兵 龙 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1