葉 文 呂鑫燚 呂曉峰 馬 羚
(1.國防大學聯(lián)合勤務學院 北京 100858)(2.海軍航空大學青島校區(qū) 青島 266041)
(3.西北工業(yè)大學電子信息學院 西安 710072)(4.海軍航空大學 煙臺 264001)
診斷策略優(yōu)化是測試性設計工作的重要組成部分,其目的是為系統(tǒng)設計一組最優(yōu)診斷策略,即設計的測試序列滿足系統(tǒng)要求的測試性指標,同時該序列的測試代價盡可能低[1]。目前已有的診斷策略優(yōu)化方法一般都假設測試是可靠檢測即測試不會產(chǎn)生虛警和漏檢[2~5],而這在實際中往往是不成立的。并且在工程實際中,測試過程中可能出現(xiàn)的錯誤會隨著系統(tǒng)復雜度的增加而增加,錯誤診斷帶來的額外開支往往超過了測試成本[6],因而診斷策略優(yōu)化過程中不能忽略測試可靠度的影響。
文獻[7]首次提出了不可靠測試的概念。文獻[8]研究了基于不可靠測試的診斷策略優(yōu)化方法,但沒有考慮虛警問題。文獻[6]將測試可靠性參數(shù)轉(zhuǎn)化為誤診、漏診費用,但用于生成診斷策略的不確定AO*算法計算過于繁瑣。
針對上述問題,本文首先從平衡測試可靠度,測試代價與檢測性能之間矛盾的角度出發(fā),將測試可靠度相關指標引入診斷策略優(yōu)化模型中,以提高構(gòu)建模型和診斷策略優(yōu)化結(jié)果的有效性和可靠性。然后,在經(jīng)典信息熵算法的基礎上,設計了相應的改進準深度算法進行診斷策略優(yōu)化選擇。最后通過實例驗證和分析本文方法的效果。
本文假設單故障發(fā)生且各故障相互獨立,診斷策略優(yōu)化問題主要由以下幾部分組成[9~11]:
1)F={f0,f1,…,fm}表征m+1維的系統(tǒng)故障狀態(tài)集,f0表示系統(tǒng)無故障狀態(tài),fi(1≤i≤m)則表示m個潛在故障狀態(tài)中的一個故障狀態(tài);
2)P={p0,p1,…,pm}表征對應m+1個系統(tǒng)故障狀態(tài)的概率集合;
3)T={t1,t2,…,tn}表征n維的系統(tǒng)備選測試集合,C={c1,c2,…,cn}表征對應n個測試的測試代價集合;
診斷策略優(yōu)化的目標是基于上述系統(tǒng)參數(shù)設計一組測試序列組成診斷樹Ds,以最小的測試代價實現(xiàn)對系統(tǒng)中所有故障狀態(tài)的檢測與隔離。期望測試代價[10]可通過式(2)進行計算。
式中:Qi表示隔離故障fi所用的測試集合,|Qi|表示該測試集合的容量,cQi[k]表示Qi中第k個測試的費用,p(fi)表示故障fi的概率。
目前已有的診斷策略優(yōu)化方法一般都假設測試是可靠檢測即其能以100%的概率對相應的故障進行正確檢測,而這在實際中往往是不成立的。在實際電子裝備中,每個測試信號都是由傳感器進行測量,由于傳感器自身可靠性(故障率)、環(huán)境因素的影響、電磁干擾及固有的測量誤差等因素綜合作用,測試可能會發(fā)生虛警或漏檢,進而對診斷策略優(yōu)化結(jié)果的準確性和可靠性產(chǎn)生嚴重影響。因此,如何平衡測試可靠度,測試代價與檢測性能之間的矛盾,建立更加符合工程實際的診斷策略優(yōu)化模型便是提升診斷策略優(yōu)化方法性能亟待解決的關鍵問題。
針對上述問題,本文考慮在原有診斷策略優(yōu)化模型的基礎上增加工程實際中的測試可靠性需求,對測試可靠度定義進行總結(jié)并拓展為診斷樹可靠度,并在診斷策略優(yōu)化模型的建立過程中將診斷樹可靠度作為一項優(yōu)化目標,有指向性地對測試進行選擇,使得優(yōu)化結(jié)果在工程上滿足檢測性能和測試可靠性需求同時盡可能降低期望測試代價。
測試可靠度,即在規(guī)定的條件和規(guī)定的時間內(nèi),該測試正確檢測到故障發(fā)生的概率。其取值與傳感器的可靠性(故障率)、信噪比、靈敏度以及應用環(huán)境因素有關。為了定量計算測試可靠度,引入測試概率集Pτ[6],用以表征測試的不可靠性。
式中:pdij和pfij分別表示tj對fi的檢測概率與虛警概率。
本文測試可靠度主要由測試概率集以及故障與測試的相關關系計算得到,如式(4)所示。
假設診斷策略優(yōu)化選擇的測試序列組成診斷樹Ds,則診斷樹可靠度可表述為
式中:rQi[k]表示測試序列|Qi|中第k個測試的測試可靠度。
綜上所述,建立考慮測試可靠度的診斷策略優(yōu)化模型如下:
信息熵算法是一種用于求解診斷策略優(yōu)化問題常用的啟發(fā)式搜索算法[12],其對于求解一定集合規(guī)模的診斷策略優(yōu)化問題具有良好的性能,但是隨著集合規(guī)模的增大,則只能得到局部最優(yōu)解。因為該問題是一個組合優(yōu)化問題[13],求解難度隨系統(tǒng)規(guī)模加大而成倍增加。而準深度算法是一種建立在信息熵算法基礎上的,并能有效求解組合優(yōu)化問題的計算方法[14]。因此本文利用其可改善信息熵算法的特點,對基于信息熵算法的測試可靠度診斷策略進行改進,設計一種基于改進準深度算法的測試可靠度診斷策略。
設系統(tǒng)的故障集為F,備選測試集T中的測試點tj執(zhí)行之后,將F分為測試tj通過(Pass)子集Fjp和測試tj不通過(Fail)子集Fjf,其概率可由式(7)、(8)計算得到。
根據(jù)信息理論,測試點tj提供的關于故障集F的信息量為
綜合考慮測試點信息量、可靠度和測試費用的影響,設計啟發(fā)式函數(shù)如下:
基于信息熵算法的測試可靠度診斷策略優(yōu)化的目標是為系統(tǒng)選擇一組測試序列生成故障診斷樹,使系統(tǒng)中所有故障狀態(tài)都能被檢測與隔離,同時滿足各測試點信息量、測試可靠度與測試代價比值最大。
具體的計算步驟如下:
1)設待測系統(tǒng)的初始故障狀態(tài)集和初始測試集分別為x=F和t=T;
2)測試集t中每個測試tj將故障狀態(tài)集x劃分的子集xjp和xjf,根據(jù)式(3)計算其概率p(xjp)和p(xjf);
3)根據(jù)式(6)從測試集t中選擇一個啟發(fā)函數(shù)值最大的測試ts;
4)測試ts將故障狀態(tài)集x劃分為xsp和xsf兩個子集,用式(11)更新各個子集中的故障概率:
5)將t更新為原測試集刪除ts后的測試集,x更新為步驟4)中產(chǎn)生的各個故障子集,重復執(zhí)行步驟2)~5),直至各故障子集中不多于一個元素。
準深度算法是建立在信息熵算法基礎上的一種一步前向回溯算法[15]。該方法的基本思路為:采用兩個步驟分別從測試層面和診斷樹層面確定一個測試。首先在測試層面,用信息熵算法構(gòu)造出以各候選測試為頂點的臨時診斷樹。而后在診斷樹層面,用啟發(fā)函數(shù)評價和選擇這些臨時診斷樹,得到最佳診斷樹。將該診斷樹的第一個測試作為當前最佳測試。為了提高測試可靠度對測試序列生成的影響以提高診斷策略優(yōu)化的指向性,本文對其啟發(fā)函數(shù)在進行了加入測試可靠度和診斷樹可靠度指標的改進。改進準深度算法的實現(xiàn)流程如圖1所示。
圖1 改進準深度算法實現(xiàn)流程
具體的計算步驟如下:
1)設待測系統(tǒng)的初始故障狀態(tài)集和初始測試集分別為x=F和t=T;
2)測試集t中每個測試tj將故障狀態(tài)集x劃分的子集xjp和xjf,根據(jù)式(7)計算其概率p(xjp)和p(xjf),并采用式(11)更新各子集故障狀態(tài)的概率,然后應用信息熵算法對各個子集進行診斷策略優(yōu)化,并得到以tj為第一個測試的臨時診斷樹Dj;
3)基于Dj,應用式(12)計算tj的啟發(fā)函數(shù)值:
式中:IG(x;Dj)表示Dj與狀態(tài)集x的交互信息,R(x;Dj)表示Dj的平均測試可靠度,COST(x;Dj)表示Dj的平均測試代價,可由式(13)~(15)計算。
式中:RDj(k)[i]表示測試序列Dj(k)中第i個被執(zhí)行的測試的測試可靠度。
式中:RDj(k)[i]表示測試序列Dj(k)中第i個被執(zhí)行的測試的測試代價。
4)選擇啟發(fā)函數(shù)值最大的測試并記為tk;
5)測試ts將故障狀態(tài)集x劃分為xsp和xsf兩個子集,用式(11)更新各個子集中的故障概率;
6)將t更新為原測試集刪除ts后的測試集,x更新為步驟(6)中產(chǎn)生的各個故障子集,重復執(zhí)行步驟2)~7),直至各故障子集中不多于一個元素。
7)將依次被選擇的測試ts組成診斷樹Ds,輸出為最優(yōu)診斷策略。
為了驗證本文方法的有效性和準確性,以文獻[13]中的阿波羅檢測系統(tǒng)為例進行實例分析。該系統(tǒng)共10個故障模式f1~f10,15個備選測試t1~t15,故障-測試相關性矩陣如圖2所示。該矩陣是一個11×15矩陣,其中矩陣行表示故障模式(第一行為無故障狀態(tài)f0),各故障模式的先驗概率分別為[68,3,7,2,1,3,4,2,5,3,2]×10-2。矩陣列表示備選測試,各測試的檢測概率pdj、虛警概率pfj、測試可靠度R(tj)和測試代價cj如表1所示。
圖2 故障-測試相關性矩陣
應用改進準深度算法對該實例進行診斷策略優(yōu)化,當采用t1為第一個測試時,它將系統(tǒng)故障集x分為{f0,f1,f2,f3,f4,f5,f6}和{f7,f8,f9,f10},其概率分別為0.88和0.12。而后根據(jù)3.1節(jié)信息熵算法建立以t1為首的臨時診斷樹D1如圖3所示。
然后基于D1,以f1為例闡述啟發(fā)函數(shù)值計算過程,其測試序列為{t1,t4,t7,t11},各參數(shù)計算過程如下:
表1 各測試點參數(shù)設置
圖3 以t1為首的臨時診斷樹
依次計算得到各個葉節(jié)點的參數(shù),然后依據(jù)式(13)~(15)得到該臨時診斷樹的信息量IG(x;D1),平均測試可靠度R(x;D1)和平均測試代價COST(x;D1),最終根據(jù)式(12)計算得到t1的啟發(fā)函數(shù)k2(t1)。具體計算過程如下:
同理,分別采用t2,t3,…,t15對系統(tǒng)故障狀態(tài)集x構(gòu)建臨時診斷樹,得到各個測試的啟發(fā)函數(shù)分別為0.0103,0.0129,…,0.0108。選擇啟發(fā)函數(shù)值最大的測試點t7為第一步測試,其啟發(fā)函數(shù)值k2(t7)=0.0131。
根據(jù)3.2節(jié)改進準深度算法的步驟6),將故障狀態(tài)集x更新為以上計算過程中產(chǎn)生的各個故障子集,重復執(zhí)行步驟2)~6)直至各故障子集中不多于一個元素,依次被選擇的測試ts組成最優(yōu)診斷測試序列?;诟倪M準深度算法與基于信息熵算法生成的診斷策略分別如圖4、5所示。
圖4 基于改進準深度算法的診斷樹
圖5 基于信息熵算法的診斷樹
通過對比以上兩種診斷策略可知,應用改進準深度算法生成的診斷策略測試代價為117.5609,可靠度為0.8296,而單純應用信息熵算法生成的診斷策略測試代價為131.3529,可靠度為0.8207。
通過深入分析可知,信息熵算法是基于貪婪搜索策略的,因此其在診斷策略生成過程中僅考慮了當前測試所獲取的信息和測試代價,因而最優(yōu)性較差,測試代價較高,測試可靠度較低。而改進準深度算法在選擇當前最佳測試的過程中,不僅考慮了當前測試的信息、代價和可靠度參數(shù),還考慮了以各個備選測試為頂點的臨時診斷樹的平均信息量、測試代價和測試可靠度。因此,該算法最優(yōu)性要優(yōu)于傳統(tǒng)信息熵算法,并且生成的診斷策略能夠以較小的測試代價檢測隔離系統(tǒng)發(fā)生的故障,同時保證了較高的測試可靠度。
本文針對現(xiàn)有診斷策略優(yōu)化方法中因假設測試完全可靠而造成診斷策略優(yōu)化結(jié)果不可靠,進而誤診費用增高的問題,提出了一種有指向性的選擇可靠度高的測試的方法。實例分析結(jié)果顯示應用本文方法時,測試代價和測試可靠性指標均有一定優(yōu)勢,驗證了本文方法的有效性和準確性,對診斷策略設計工作具有一定的參考價值,并且相比現(xiàn)有的基于信息熵的診斷策略優(yōu)化方法,考慮測試可靠度的診斷策略優(yōu)化方法更具有實用性。