测试选择问题其实是一个组合优化问题,科研人员利用各类优化选择方法(如遗传算法、粒子群算法、贪婪算法等)对测试选择进行了深入的研究,取得了一定的成果。刘建敏等[1]提出采用贪婪算法对测试进行优化选择,可以同时应用于故障检测和故障隔离2个方向;蒋荣华[2]和朱喜华[3]等利用离散粒子群算法对测试选择进行研究;雷华军和秦开宇[4-5]利用量子进化算法对复杂电子系统的测试优化选择问题进行求解;张钊旭等[6]提出采用搜寻者算法对产品进行测试优化分配,该算法的目标函数为产品的全寿命周期费用, 同时融合多种影响因素;邓露[7]和周虎[8]等采用了遗传算法对装备进行测试优化选取。考虑到最优解的迭代次数,同时避免算法陷入局部最优,而无法获得全局最优解,更多的研究者采用不同算法相结合的方式进行测试优化选择,如混合二进制粒子群-遗传算法、改进遗传模拟退火算法等[9-11]。
而针对不可靠测试条件下测试选择问题,张士刚等[12-14]对非完美条件下的测试系统设计选择做了很多工作;Li[15]在传感器失效造成的不可观测问题条件下对海水淡化系统的测试选择进行了研究;Pan等[16]在测试不可靠条件下,采用启发式遗传算法对测试进行优化选取。杨光等[17]在可靠性约束的条件下对传感器进行选择。叶晓慧等[18]在测试不可靠的情形下,采用动态贪婪算法求解选择问题。Deng等[19]在测试不可靠的情形下,采用启发式粒子群算法对测试进行优化选取。
前人在不可靠情形下,进行测试优化选取的方法都是将不同的优化目标或约束条件转换为单目标进行研究,具有一定的局限性。本文在测试不可靠的情形下,将单一目标还原为多目标问题进行研究。首先,在测试不可靠的条件下,将系统给出的故障检测率和隔离率作为约束条件,将测试代价、漏检率和虚警率作为优化目标,建立多目标优化选择问题的数学模型;其次,根据数学模型,提出采用第二代非支配排序遗传算法(NSGA-Ⅱ)对多目标问题进行优化选取,该算法能够得到一组Pareto最优解,可根据实际工作需求选择最优的测试组合;最后,对某实例进行多目标优化选取,结果验证了所提数学模型与NSGA-Ⅱ算法的有效性。
1 不可靠测试模型及评价指标 本节在测试不可靠情形条件下,对测试性优化选择数学模型进行了研究,并阐明其中关键的信息及概念。
1.1 不可靠测试模型 不可靠测试模型符合大多数情况下工程建模问题,具体包括以下信息:
1) F={f1, f2, …, fm}为系统故障集合,系统故障模式的数目为m。
2) P={p1, p2, …, pm}表示系统的先验概率集合,与F={f1, f2, …, fm}中各个状态模式相对应。
3) T={t1, t2, …, tn}为可用测试的集合,n为测试的总数目。
4) 可用测试的费用集合CT={Ct1, Ct2, …, Ctn},分别对应可用测试集合T={t1, t2, …, tn}中各个测试的费用。
5) D=[dij]m×n为相关性矩阵,dij∈{0, 1},0表示故障不能被检测,1表示故障能够被检测。
另外重点描述故障检测率和虚警率的含义[20-21]。图 1中①和②分别表示fi为故障和正常时,tj观测值的分布函数。图 1显示了理想情况下故障fi与测试tj相关,dij=1。若故障fi发生,测试tj观测值在容差外,tj检测到fi的概率为1;若故障fi未发生,测试tj观测值在容差内,因此tj指示fi发生的概率为0。
图 1 测试的理想故障检测特性 Fig. 1 Ideal fault detection characteristics for test |
图选项 |
图 2显示了实际情况下故障fi与测试tj之间存在不确定性,包括虚警和漏检。若故障fi发生,测试tj不能100%检测到fi,就会产生漏检;若故障fi未发生,测试tj可能错误地指示fi发生,此时产生虚警。
图 2 测试的实际故障检测特性 Fig. 2 Actual fault detection characteristics for test |
图选项 |
为描述故障fi与测试tj之间的不确定因果关系,引入参数pdij和pfij,pdij表示tj对fi的检测概率,pfij表示tj对fi的虚警概率,定义如下:
式中: fi=1表示故障fi发生,fi=0表示故障未发生。为了定义的完整性,当tj与fi不相关时(即dij=0),对应的pdij=pfij=0。
1.2 测试性评价指标 故障检测率和隔离率作为测试性基本概念,本文不做过多介绍。用x={x1, x2, …, xn}来表示测试集合T={t1, t2, …, tn}中的测试是否被选择,测试未被选择xj=0,测试被选择xj=1。故障fi被x检测的条件为:Fix为非零向量,即
(1) |
第1个测试性评价指标为故障检测率。对于某一个故障fi而言,其能被检测到的概率为
(2) |
式中: pdij为故障f可被t检测的概率。
系统的故障检测率可表述为所有故障被检测到的加权和:
(3) |
式中:pi为故障f的先验概率。
第2个测试性评价指标为系统的故障隔离率。当2个故障fi和fk同时发生时,至少存在一种不同的测试异常表现的概率为
(4) |
如果故障fi被隔离,其满足它和所有其他的故障模式均被隔离,概率为
(5) |
系统的故障隔离率可表述为所有故障被隔离的加权和:
(6) |
第3个测试性的评价指标为系统的漏检率。
(7) |
第4个测试性的评价指标为系统的虚警率。
(8) |
最后一个为测试的费用。
(9) |
1.3 不确定参数确定方法 引用杨鹏[22]博士论文中确定这些概率的方法,其提到如下2种方法:
1) 直接法。向系统注入任意故障fi,fi与测试tj相关,将测试tj重复执行N次,统计tj检测到fi的次数g,则检测概率为pdij≈g/N;系统无故障时,将测试tj重复执行N次,统计输出异常的次数k,则tj对fi的虚警概率pfij≈k/N,该方法需要大量样本,样本少会导致结果不准确,无法进行实际应用。
2) 间接法。基于小子样理论估计,讨论故障fi发生和不发生2种情况下的测试tj观测值的分布函数,根据分布函数与容差理论估计tj对fi的检测概率和虚警概率。
判断观测值是否正常时,需要先设定容差,不妨将图 3的容差设定为(χ1, χ2)。当χ1≤yj≤χ2时,此时观测值yj处于容差之内,表示yj正常。于是测试tj的虚警率即为yj的分布函数在阴影中的面积,则虚警概率为
图 3 虚警概率 Fig. 3 False alarm probability |
图选项 |
图 4为漏检概率示意图,将该图的容差设定为(χ3, χ4),tj对fi的检测概率记为yj,yj为分布函数落在阴影之外的面积,而漏检概率为图中阴影部分面积。则检测概率为
图 4 漏检概率 Fig. 4 Missed detection probability |
图选项 |
观测值yj为正态分布,本文不做展开研究,具体求解过程见文献[22]。特别地,验前信息对小子样评估非常重要,这些信息可通过对新老产品的类比、同类测试的借鉴获取,也可以通过仿真实验获得。
2 多目标优化选择问题 通过1.2节可知,评价某个系统的测试性水平时,可供选择的评价指标具有多种,本文仅列出基本的4种指标。一个测试性完备的系统需要使测试性指标达到相应要求,因此测试的优化选择是一个多目标的问题。以往的测试优化都是忽略某些评价指标,或是把某些评价指标设置为约束条件,亦或是综合起来给评价指标设置系数,最终都是转换为单目标问题进行测试选择。本文提出一种新的研究思路,在测试不可靠的情形下,将单一目标还原为多目标问题进行研究,建立多目标问题的数学模型。
系统在设计之初就对其测试性指标严格规定,系统的故障检测率与故障隔离率[23]需要尽可能接近100%,但实际情况很难到达。因此,本文将系统的故障检测率和故障隔离率设为数学模型的约束条件,而将系统的测试费用、漏检率和虚警率这3个参数作为数学模型的优化目标。因此,在测试不可靠的条件下,多目标优化选择问题的数学模型为
(10) |
约束条件为
(11) |
式中: C(x)为系统测试费用; L(x)为系统漏检率; A(x)为虚警率;γFD(x)为系统的故障检测率; γFI(x)为隔离率;γFD*为系统故障检测率下限; γFI*为系统隔离率的下限。
3 NSGA-Ⅱ算法 用各类不同的优化算法来解决测试选择的单目标问题。本文需要找出一种算法,可以解决多目标问题,经研究发现NSGA-Ⅱ可以针对多目标问题进行求解,该优化算法还具有良好的计算性能,是一种基于Pareto最优解的多目标优化算法。
NSGA-Ⅱ属于遗传算法的一种,但在其基础上进行了改进优化。最初,Srinivas和Deb[24]提出了非支配排序遗传算法,该算法与传统的GA算法不同,需要在选择算子执行之前对个体之间的支配关系进行分层。但是,由于NSGA计算复杂度较高,缺少最优个体保留的策略,共享半径很难准确确定。因此,Deb等[25]提出了NSGA-Ⅱ,由于该算法引入精英策略,采样空间变大, 快速非支配排序的应用降低了算法的复杂度。该算法还采用拥挤度比较算子,使得共享半径更容易确定。相比以往的遗传算法,该算法的性能更加全面和优越。
3.1 Pareto解集及相关概念 在了解NSGA-Ⅱ的具体原理之前,需要先了解Pareto支配关系。所谓支配,是指当选择A的目标值都优于B时,就可以说A支配了B,如果选择A只有部分目标值优于B,则A和B就是一个非支配的关系。而在NSGA-Ⅱ中,种群中所有不被任何其他解支配的解构成了非支配前沿,即Pareto最优解。上述是比较通俗的表达,Pareto支配关系的数学表达为:对于最小化多目标优化问题,l个目标函数fi(X)(i=1, 2, …, l)对于任意2个决策变量Xa和Xb,在满足下列条件后,则称Xa支配了Xb:
1) ?i∈1, 2, …, l,使得fi(Xa) < fi(Xb)。
2) 对于?i∈1, 2, …, l,都有fi(Xa)≤fi(Xb)。
在决策空间中,存在一个决策变量X,没有任何其他的决策变量Xr能够支配X,则称X为非支配解,也称为Pareto最优解。此外,需要对Pareto最优解的等级进行定义:首先,确定当前解中的Pareto最优解,该解的等级定义为1;然后, 将该最优解从解的集合中删除,剩下解的Pareto解等级定义为2;最后,重复上述操作,得到该解集合中所有解的Pareto等级。图 5为双目标函数下的Pareto解的等级及拥挤度示意图。
图 5 双目标优化问题下的Pareto等级及拥挤度示意图 Fig. 5 Conceptual diagram of Pareto level and congestion degree under bi-objective optimization problem |
图选项 |
Pareto解集的个体拥挤度通过计算与其相邻的2个个体在每个子目标函数上的距离差之和来求取,即图 5中虚线四边形的长和宽之和。
3.2 NSGA-Ⅱ实现 NSGA-Ⅱ的基本思想为:①随机确定初始种群的规模M,经非支配排序后,通过GA算法得到第1代子代种群。②从第2代开始,对父代种群与子代种群的合并种群进行快速非支配排序,同时进行拥挤度计算,对象为每个非支配层中的个体。新的父代种群组成具有2个特点,一是根据非支配关系进行排序,二是根据个体的拥挤度最优值进行排序。③通过GA算法的基本操作产生新的子代种群,重复上述步骤,直到程序结束。算法流程如图 6所示。
图 6 NSGA-Ⅱ算法流程 Fig. 6 NSGA-Ⅱ algorithm flowchart |
图选项 |
4 算例结果 引用文献[26]的算例矩阵,对参数如下的测试性系统进行优化:
1) F={f1, f2, …, f15}为故障模式集合,f16为系统正常状态。
2) 可用测试集合T={t1, t2, …, t20}中共有20个可用测试。
3) 测试与故障的相关布尔逻辑矩阵D=[dij]16×20如表 1所示。
表 1 系统故障与测试相关布尔逻辑矩阵 Table 1 System failure and test related Boolean logic matrix
F | T | |||||||||||||||||||
t1 | t2 | t3 | t4 | t5 | t6 | t7 | t8 | t9 | t10 | t11 | t12 | t13 | t14 | t15 | t16 | t17 | t18 | t19 | t20 | |
f1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
f2 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
f3 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
f4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
f5 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
f6 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
f7 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
f8 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
f9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
f10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
f11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
f12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
f13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
f14 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
f15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
f16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
注:f16为系统正常状态。 |
表选项
4) 各个状态模式的先验概率集合P={p1, p2, …, p16}如表 2所示。
表 2 系统故障概率 Table 2 System failure probability ?
模式 | f1 | f2 | f3 | f4 | f5 | f6 | f7 | f8 | f9 | f10 | f11 | f12 | f13 | f14 | f15 | f16 |
概率 | 0.1 | 0.1 | 0.1 | 1 | 1 | 1 | 1 | 0.2 | 0.1 | 1 | 1 | 0.25 | 0.15 | 1 | 1 | 91.1 |
表选项
5) CT={Ct1, Ct2, …, Ct20}为各个可用测试的费用,如表 3所示。
表 3 可用测试成本 Table 3 Available test cost
测试 | t1 | t2 | t3 | t4 | t5 | t6 | t7 | t8 | t9 | t10 |
成本 | 60 | 66 | 120 | 60 | 52 | 90 | 50 | 60 | 20 | 36 |
测试 | t11 | t12 | t13 | t14 | t15 | t16 | t17 | t18 | t19 | t20 |
成本 | 7 | 18 | 36 | 80 | 30 | 60 | 45 | 9 | 20 | 30 |
表选项
6) PD=[pdij]16×20为测试的检测概率矩阵,如表 4所示。
表 4 检测概率 Table 4 Detection probability ?
F | T | ||||||||||
t1 | t2 | t3 | t4 | t5 | t6 | t7 | t8 | t9 | t10 | ||
f1 | 95.18 | 92.65 | 94.72 | 92.32 | 95.32 | 94.26 | 92.22 | 93.97 | 96.12 | 95.75 | |
f2 | 89.33 | 0 | 93.7 | 97.32 | 86.91 | 88.98 | 89.68 | 87.93 | 85.83 | 98.59 | |
f3 | 96.74 | 0 | 0 | 87.42 | 0 | 0 | 0 | 0 | 0 | 0 | |
f4 | 92.95 | 91.23 | 96.13 | 98.72 | 85.16 | 91.57 | 91.06 | 90.32 | 93.44 | 98.86 | |
f5 | 90.19 | 0 | 98.4 | 88.8 | 97.51 | 85.91 | 88.16 | 95.97 | 85.7 | 96.04 | |
f6 | 0 | 0 | 88.53 | 87.79 | 98.84 | 93.12 | 94.53 | 90.82 | 91.14 | ||
f7 | 94.84 | 0 | 0 | 97.26 | 89.18 | 93.16 | 95.65 | 91.46 | 89.27 | 91.98 | |
f8 | 0 | 0 | 0 | 0 | 0 | 90.93 | 92.42 | 92.95 | 97.24 | 88 | |
f9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 94.01 | |
f10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
f11 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
f12 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
f13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
f14 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
f15 | 0 | 0. | 0 | 0 | 0 | 0 | 0 | 0 | 85.21 | 0 | |
f16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
F | T | ||||||||||
t11 | t12 | t13 | t14 | t15 | t16 | t17 | t18 | t19 | t20 | ||
f1 | 89.48 | 87.98 | 85.61 | 93.22 | 91.7 | 95.02 | 91.42 | 91.02 | 90.91 | 0 | |
f2 | 98.44 | 96.75 | 85.38 | 85.81 | 92.77 | 93.97 | 97.18 | 97.46 | 0 | 96.98 | |
f3 | 0 | 0 | 89.38 | 90.15 | 86.69 | 87.67 | 98.08 | 95.29 | 0 | 0 | |
f4 | 95.17 | 93.8 | 85.18 | 93.84 | 91.31 | 96.81 | 88.7 | 94.62 | 0 | 0 | |
f5 | 90.77 | 86.87 | 90.38 | 95.05 | 95.02 | 97.12 | 87.24 | 89.85 | 0 | 0 | |
f6 | 95.42 | 87.9 | 94.56 | 94.7 | 97.5 | 87.39 | 97.22 | 87.32 | 0 | 0 | |
f7 | 88.75 | 93.5 | 86.3 | 86.18 | 88.82 | 98.92 | 88.33 | 87.18 | 0 | 0 | |
f8 | 91.16 | 93.82 | 85.49 | 91.36 | 88.57 | 91.16 | 94.04 | 87.68 | 0 | 0 | |
f9 | 98.07 | 90.19 | 93.57 | 91.19 | 97.12 | 89.76 | 98.54 | 0 | 0 | 0 | |
f10 | 94.57 | 93.05 | 93.52 | 89.95 | 88.25 | 97.12 | 94.31 | 0 | 0 | 0 | |
f11 | 0 | 91.32 | 85.22 | 87.15 | 96.27 | 90.11 | 97.19 | 0 | 0 | 0 | |
f12 | 0 | 0 | 85.23 | 94.46 | 97.72 | 90.51 | 85.14 | 0 | 0 | 0 | |
f13 | 0 | 0 | 0 | 94.79 | 88.25 | 93.28 | 86.92 | 0 | 0 | 0 | |
f14 | 0 | 0 | 0 | 0 | 88.35 | 86.68 | 0 | 0 | 0 | 0 | |
f15 | 0 | 0 | 87.66 | 95.19 | 85.7 | 97.52 | 96.46 | 0 | 0 | 0 | |
f16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
表选项
7) PF=[pfij]16×20为测试的虚警概率矩阵,如表 5所示。
表 5 虚警概率 Table 5 False alarm probability ?
F | T | |||||||||
t1 | t2 | t3 | t4 | t5 | t6 | t7 | t8 | t9 | t10 | |
f1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
f2 | 0 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
f3 | 0 | 0.17 | 0.18 | 0 | 0.14 | 0.18 | 0.11 | 0.2 | 0.17 | 0.11 |
f4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
f5 | 0 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
f6 | 0.15 | 0.2 | 0.19 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
f7 | 0 | 0.16 | 0.18 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
f8 | 0.18 | 0.14 | 0.14 | 0.15 | 0.17 | 0 | 0 | 0 | 0 | 0 |
f9 | 0.15 | 0.12 | 0.16 | 0.19 | 0.18 | 0.15 | 0.17 | 0.11 | 0.2 | 0 |
f10 | 0.15 | 0.16 | 0.17 | 0.13 | 0.14 | 0.12 | 0.14 | 0.14 | 0.18 | 0.19 |
f11 | 0.15 | 0.17 | 0.12 | 0.17 | 0.14 | 0.17 | 0.11 | 0.15 | 0.17 | 0.19 |
f12 | 0.14 | 0.14 | 0.19 | 0.14 | 0.16 | 0.2 | 0.16 | 0.13 | 0.14 | 0.16 |
f13 | 0.19 | 0.1 | 0.16 | 0.16 | 0.16 | 0.18 | 0.18 | 0.16 | 0.16 | 0.13 |
f14 | 0.1 | 0.14 | 0.16 | 0.17 | 0.17 | 0.17 | 0.17 | 0.1 | 0.18 | 0.19 |
f15 | 0.13 | 0.18 | 0.12 | 0.14 | 0.15 | 0.15 | 0.2 | 0.16 | 0 | 0.15 |
f16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
F | T | |||||||||
t11 | t12 | t13 | t14 | t15 | t16 | t17 | t18 | t19 | t20 | |
f1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0018 |
f2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.13 | 0 |
f3 | 0.17 | 0.19 | 0 | 0 | 0 | 0 | 0 | 0 | 0.16 | 0.2 |
f4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.15 | 0.16 |
f5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.11 | 0.1 |
f6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.11 | 0.18 |
f7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.13 | 0.16 |
f8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.14 | 0.17 |
f9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.11 | 0.15 | 0.11 |
f10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.19 | 0.19 | 0.14 |
f11 | 0.14 | 0 | 0 | 0 | 0 | 0 | 0 | 0.18 | 0.16 | 0.14 |
f12 | 0.2 | 0.13 | 0 | 0 | 0 | 0 | 0 | 0.18 | 0.13 | 0.12 |
f13 | 0.11 | 0.17 | 0.15 | 0 | 0 | 0 | 0 | 0.18 | 0.15 | 0.18 |
f14 | 0.16 | 0.11 | 0.14 | 0.16 | 0 | 0 | 0.16 | 0.17 | 0.16 | 0.18 |
f15 | 0.13 | 0.14 | 0 | 0 | 0 | 0 | 0 | 0.12 | 0.12 | 0.15 |
f16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
表选项
针对上述测试性模型进行测试优化选择,多目标优化模型描述为测试费用C(x)、系统漏检率L(x)与虚警率A(x)3个优化目标函数达到最小。
并且需要优化测试组合必须满足: 故障检测率γFD(x)不小于90%,故障隔离率γFI(x)不小于80%,得到约束条件为
(12) |
利用NSGA-Ⅱ对上述问题进行优化迭代,NSGA-Ⅱ中关键的参数设置,如迭代次数、种群数量等,如表 6所示。
表 6 NSGA-Ⅱ参数设置 Table 6 NSGA-Ⅱ parameter setting
参数 | 数值 |
目标函数个数 | 3 |
决策变量个数 | 20 |
迭代次数 | 200 |
种群数量 | 500 |
拥挤度比较算子 | 0.5 |
交叉概率 | 0.9 |
变异概率 | 0.05 |
交叉算子 | 20 |
变异算子 | 20 |
表选项
运行得到的Pareto解集如图 7所示,在这些Pareto解中,可根据具体优化的需求与偏向来选取最终的优化结果,下面是3种情况:
图 7 测试优化Pareto解集 Fig. 7 Test optimization Pareto solution set |
图选项 |
1) 当成本成为最关心的重点时,可以相对忽略漏检率与虚警率的比重和要求,选取成本最优的结果(表 7中第1种情况)。
表 7 几组典型的优化组合 Table 7 Several typical optimization combinations
情况 | 测试组合 | 成本 | 漏检率/% | 虚警率/% |
成本最优组合 | {1,1,1,0,0,0,0,0,1,1,1,1,0,0,1,0,1,0,1,1} | 452 | 1.22 | 1.24 |
漏检率与虚警率最优组合 | {1,1,1,0,0,1,0,0,1,1,1,1,1,0,1,0,0,0,1,1} | 567 | 0.12 | 0.27 |
综合优化组合 | {1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1,0,0,1,1} | 533 | 0.88 | 0.82 |
表选项
2) 漏检率与虚警率有较高的要求,需要达到最优,而成本可退而求其次时,可以选取漏检率与虚警率最优的结果(表 7中第2种情况)。
3) 当希望3个优化目标能够不偏不倚,有一个综合的测试优化组合时,可以从Pareto解集选取一个综合的优化组合(表 7中第3种情况)。
5 结论 本文拓展了测试优化选择的思路,与以往研究不同,将不可靠测试优化还原为多目标问题本身。为系统的测试优化提供了多组优化解,根据实际工作的不同要求进行优化选择,以达到最可靠、最经济、最符合实际情况要求的优化测试组合,具体思路如下:
1) 对测试不可靠条件下的优化选择问题进行描述,将测试代价、漏检率和虚警率作为优化目标,以故障检测率和隔离率为约束条件,建立了多目标优化数学模型。
2) 对Pareto的概念进行介绍,进而提出NSGA-Ⅱ进行求解,该算法能够得到一组Pareto最优解,可根据需求选取适合的优化方案,满足导弹处于不同阶段的测试性指标需求。
3) 进行仿真求解,验证了所提算法的有效性。
参考文献
[1] | 刘建敏, 刘远宏, 冯辅周, 等. 基于贪婪算法的测试优化选择[J]. 兵工学报, 2014, 35(12): 2109-2115. LIU J M, LIU Y H, FENG F Z, et al. The optimization selection of tests based on greedy algorithm[J]. Acta Armamentarii, 2014, 35(12): 2109-2115. (in Chinese) |
[2] | 蒋荣华, 王厚军, 龙兵. 基于离散粒子群算法的测试选择[J]. 电子测量与仪器学报, 2008, 22(2): 11-15. JIANG R H, WANG H J, LONG B. Test selection based on binary particle swarm optimization[J]. Journal of Electronic Measurement and Instrument, 2008, 22(2): 11-15. (in Chinese) |
[3] | 朱喜华, 李颖晖, 李宁, 等. 基于改进离散粒子群算法的传感器布局优化设计[J]. 电子学报, 2013, 41(10): 2104-2108. ZHU X H, LI Y H, LI N, et al. Optimal sensor placement design based on improved discrete PSO algorithm[J]. Acta Electronica Sinica, 2013, 41(10): 2104-2108. (in Chinese) |
[4] | 雷华军, 秦开宇. 基于改进量子进化算法的测试优化选择[J]. 仪器仪表学报, 2013, 34(4): 838-844. LEI H J, QIN K Y. Optimal test selection based on improved quantum-inspired evolutionary algorithm[J]. Chinese Journal of Scientific Instrument, 2013, 34(4): 838-844. (in Chinese) |
[5] | 雷华军, 秦开宇. 测试不可靠条件下基于量子进化算法的测试优化选择[J]. 电子学报, 2017(10): 154-162. LEI H J, QIN K Y. Optimal selection of imperfect tests based on improved quantum-inspired evolutionary algorithm[J]. Acta Electronica Sinica, 2017(10): 154-162. (in Chinese) |
[6] | 张钊旭, 王志杰, 李建辰, 等. 基于搜寻者算法的测试性优化分配方法[J]. 鱼雷技术, 2018, 26(1): 53-56. ZHANG Z X, WANG Z J, LI J C, et al. Optimal allocation method of testability based on seeker optimization algorithm[J]. Torpedo Technology, 2018, 26(1): 53-56. (in Chinese) |
[7] | 邓露, 许爱强, 吴忠德. 基于遗传算法的故障样本优化选取方法[J]. 系统工程与电子技术, 2015, 37(7): 1703-1708. DENG L, XU A Q, WU Z D. Method of failure simple optimal selection based on genetic algorithm[J]. System Engineering and Electronics, 2015, 37(7): 1703-1708. (in Chinese) |
[8] | 周虎, 胡海峰, 刘清竹, 等. 基于故障-测试相关模型的运载火箭测试点优化设计方法[J]. 载人航天, 2018, 81(1): 38-44. ZHOU H, HU H F, LIU Q Z, et al. An optimization method for test points of manned launch vehicle based on fault-test dependency model[J]. Manned Spaceflight, 2018, 81(1): 38-44. (in Chinese) |
[9] | 陈希祥, 邱静, 刘冠军. 基于混合二进制粒子群-遗传算法的测试优化选择研究[J]. 仪器仪表学报, 2009, 30(8): 1674-1680. CHEN X X, QIU J, LIU G J. Optimal test selection based on hybrid BPSO and GA[J]. Chinese Journal of Scientific Instrument, 2009, 30(8): 1674-1680. (in Chinese) |
[10] | 代西超, 南建国, 黄雷, 等. 基于改进遗传模拟退火算法的测试优化选择[J]. 空军工程大学学报(自然科学版), 2016, 17(2): 70-75. DAI X C, NAN J G, HUANG L, et al. An optimal test selection based on improved genetic simulated annealing algorithm[J]. Journal of Air Force Engineering University(Natural Science Edition), 2016, 17(2): 70-75. (in Chinese) |
[11] | QIU J, TAN X D, LIU G J, et al. Test selection and optimization for PHM based on failure evolution mechanism model[J]. Journal of Systems Engineering and Electronics, 2013, 24(5): 780-792. |
[12] | ZHANG S G, LIU C R, HU Z, et al. Testability evaluation of the systems with multi-outcome imperfect tests[J]. Applied Mechanics and Materials, 2013, 303(306): 407-410. |
[13] | ZHANG S G, PATTIPATI K R, HU Z, et al. Optimal selection of imperfect tests for fault detection and isolation[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2013, 43(6): 1370-1384. |
[14] | ZHANG S G, PATTIPATI K R, HU Z, et al. Dynamic coupled fault diagnosis with propagation and observation delays[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2013, 43(6): 1424-1439. |
[15] | LI F. Dynamic modeling, sensor placement design, and fault diagnosis of nuclear desalination systems[D]. Tennessee: University of Tennessee, 2011: 20-30. |
[16] | PAN J L, YE X H, XUE Q. An heuristic genetic algorithm solve test point selecting with unreliable test[C]//International Workshop on Computer Science & Engineering. Piscataway: IEEE Press, 2010: 227-232. |
[17] | 杨光, 刘冠军, 李金国, 等. 基于故障检测和可靠性约束的传感器布局优化[J]. 电子学报, 2006, 34(2): 348-351. YANG G, LIU G J, LI J G, et al. Optmial sensor placement based on various fault detectability and reliability criteria[J]. Acta Electronica Sinica, 2006, 34(2): 348-351. (in Chinese) |
[18] | 叶晓慧, 潘佳梁, 王红霞, 等. 基于动态贪婪算法的不可靠测试点选择[J]. 北京理工大学学报, 2010, 30(11): 1350-1354. YE X H, PAN J L, WANG H X, et al. Test set selection under unreliable test based on a new dynamic greedy algorithm[J]. Transactions of Beijing Institute of Technology, 2010, 30(11): 1350-1354. (in Chinese) |
[19] | DENG S, JING B, YANG Z. Test point selection strategy under unreliable test based on heuristic particle swarm optimization algorithm[C]//2012 IEEE Conference on Prognostics and System Health Management. Piscataway: IEEE Press, 2012: 1-6. |
[20] | RAGHAVAN V, SHAKERI M, PATTIPATI K. Test sequencing algorithms with unreliable tests[J]. IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans, 1999, 29(4): 347-357. |
[21] | RUAN S, YU F, MEIRINA C, et al. Dynamic multiple fault diagnosis with imperfect tests[J]. Autotestcon, 2003, 39(6): 1224-1236. |
[22] | 杨鹏. 基于相关性模型的诊断策略优化设计技术[D]. 长沙: 国防科技大学, 2008: 47-50. YANG P. Optimization technology of design for diagnostic strategy based on dependency model[D]. Changsha: National University of Defense Technology, 2008: 47-50(in Chinese). |
[23] | 翟禹尧, 史贤俊, 吕佳朋. 基于广义随机Petri网的导弹系统测试性建模与指标评估方法研究[J]. 兵工学报, 2019, 40(10): 2070-2079. ZHAI Y Y, SHI X J, LV J P. Research on evaluation method for testability index and modeling of missile system based on GSPN[J]. Acta Armamentarii, 2019, 40(10): 2070-2079. (in Chinese) |
[24] | SRINIVAS N, DEB K. Muiltiobjective optimization using nondominated sorting in genetic algorithms[J]. Evolutionary Computation, 2014, 2(3): 221-248. |
[25] | DEB K, PRATAP A, AGARWAL S, et al. A fast and elitist multiobjective genetic algorithm: NSGA-Ⅱ[J]. IEEE Transactions on Evolutionary Computation, 2002, 6(2): 182-197. |
[26] | 陈希祥, 邱静, 刘冠军. 测试不确定条件下基于贝叶斯网络的装备测试优化选择技术[J]. 中国机械工程, 2011, 22(4): 379-384. CHEN X X, QIU J, LIU G J. Optimal test selection of materiel based on bayesian network under test uncertainty[J]. China Mechanical Engineering, 2011, 22(4): 379-384. (in Chinese) |