文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2012)11-0136-03
目前,保障部隊的裝備故障檢測定位方法主要采用傳統(tǒng)的檢測方法,即對所有需要測試的部件一一進(jìn)行檢測對比,以確定故障的位置。但這種故障定位方法主要存在兩個問題:(1)抓不住重點。傳統(tǒng)的檢測方法按預(yù)先設(shè)定的順序進(jìn)行檢測,直到檢測完所有的部件,缺乏靈活性。(2)故障檢測定位時間長。檢測中,沒有對正常部件和故障部件加以區(qū)別,造成了在對正常部件檢測過程中不必要的時間浪費。為了解決這兩個問題,本文將故障樹分析法FTA(Fault Tree Analysis)與遺傳算法GA(Genetic
Arithmetic)引入故障的檢測定位方法中。
對于大型復(fù)雜系統(tǒng),隨著故障樹的增大,最小割集的數(shù)量也將迅速增多。故障檢測定位時,如何在較短的時間內(nèi)得出正確的結(jié)論,提高故障檢測效率,對部隊裝備保障的維修工作具有十分重大的意義。參考文獻(xiàn)[1]中,由于BDD的規(guī)模隨著故障樹的底事件數(shù)目的增加呈指數(shù)增長,過程復(fù)雜、計算量大;參考文獻(xiàn)[2]雖然避免了在檢測過程中發(fā)生的重復(fù)性,但其檢索時間較長;參考文獻(xiàn)[3]在綜合考慮搜索成本、故障概率及影響程度的基礎(chǔ)上對最小割集的檢測過程進(jìn)行排序,取得了較好的成果,但所涉及到的矩陣轉(zhuǎn)換等數(shù)學(xué)方法復(fù)雜、內(nèi)在開銷大、容易出錯。
本文綜合考慮以上因素,采用均勻初始化的方法將整個故障樹底事件均勻地分成幾個等份,再運用遺傳算法進(jìn)行搜索并檢測,如果發(fā)現(xiàn)某個底事件異常,則對包含該底事件的最小割集進(jìn)行順序檢測,以期盡早定位故障。
1 故障樹分析
故障樹分析是1961年美國的WATSON H A提出的,主要用于大型復(fù)雜系統(tǒng)可靠性、安全性分析和風(fēng)險評價的一種方法。故障樹是系統(tǒng)的不希望事件(頂事件)與引起它的各部件或子系統(tǒng)的故障事件(底事件)之間的邏輯關(guān)系圖,實質(zhì)上是實際系統(tǒng)的故障組合和傳遞的邏輯關(guān)系的正確描述[4]。故障樹分析法以頂事件作為分析目標(biāo),搜索找出所有可能引起頂事件的直接原因(最小割集)。
最小割集是導(dǎo)致頂事件發(fā)生的底事件最小組合,是故障樹進(jìn)行定性分析和定量分析的最主要的手段,也是進(jìn)行其他分析的基礎(chǔ)[5]。一個最小割集就是導(dǎo)致頂事件發(fā)生的主要途徑,因此,任意一個最小割集就代表系統(tǒng)的一種故障。所以,對頂事件的故障定位過程就是逐一對其最小割集進(jìn)行排查測試的過程。
底事件是故障樹的最小組成單元,對應(yīng)著設(shè)備系統(tǒng)的一個部件單元,是部隊裝備測試保障工作的直接對象。圖1所示為某型導(dǎo)彈的系統(tǒng)故障樹模型,T為頂事件,Gi(i=1,2,3)為中間事件,Bj(j=1,2,…6)為底事件。
基于故障樹的故障檢測就是對底事件逐一與其標(biāo)準(zhǔn)范圍進(jìn)行比對,超出正常范圍即說明該底事件異常。但這并不一定會導(dǎo)致頂事件的發(fā)生,因為頂事件發(fā)生的直接原因是由某一個最小割集故障造成的。用sign(i)表示第i個底事件的檢測狀態(tài),如果該底事件尚未檢測用0表示,否則用1表示;fault_sum表示故障樹底事件檢測狀態(tài)的和,如式(1)所示:
式中,event為故障樹的底事件總數(shù)。本文的故障檢測定位的思路是:通過改進(jìn)的遺傳算法使式(1)快速達(dá)到最大值的同時,盡早找出導(dǎo)致頂事件發(fā)生的最小割集。
2 遺傳算法
對于特定的問題,遺傳算法從可能潛在解的一個種群開始,而一個種群由經(jīng)過基因編碼的、一定規(guī)模的個體組成[6]。每個個體實際上代表一個問題實體,也就是一個可行解。借助自然遺傳學(xué)的遺傳算子進(jìn)行復(fù)制、交叉和變異,以適應(yīng)度函數(shù)最優(yōu)為準(zhǔn)則,逐代進(jìn)化產(chǎn)生代表新的解集的種群。由此反復(fù)進(jìn)化迭代,直到滿足終止條件[7]。
2.1 均勻初始化
采用遺傳算法搜索故障樹底事件的目的是從全部的可能事件中盡快找出頂事件發(fā)生的原因。所以,從全部的底事件群體中均勻地挑出一些個體作為初始種群是一個可行而有效的方法,即均勻初始化。設(shè)步長為正整數(shù)ΔE,將所有底事件作為整個群體進(jìn)行編碼,從起始位置開始每隔ΔE個個體選擇一個個體作為進(jìn)化的初始種群。這樣,可將整個群體分為若干相同大小的小群體,基于遺傳算法的故障檢測定位就在這些小群體上同時進(jìn)行。
2.2 遺傳算法的改進(jìn)
2.2.1 需求分析
故障搜索定位過程初期,要求從全局的大范圍跳躍式搜索,迅速定位故障;搜索到后期,如果尚未定位故障,應(yīng)當(dāng)對剩余的底事件進(jìn)行地毯式搜索,避免遺漏底事件。在進(jìn)行遺傳操作時,初期應(yīng)注重保持種群的多樣性,后期應(yīng)注重種群的收斂性設(shè)計。所以,在操作過程中需動態(tài)地調(diào)整交叉概率Pc、變異概率Pm及選擇概率Pe。
圖2中,隨著種群迭代次數(shù)的增大,交叉、變異能力逐漸減弱,選擇復(fù)制能力逐漸增強(qiáng),使得在種群進(jìn)化的前期,賦予了較大的交叉、變異能力。目的是增強(qiáng)種群的多樣性,有利于克服局部極小,使算法能盡早地從全局范圍內(nèi)搜索定位故障;而在進(jìn)化的后期,順序搜索能力增強(qiáng),同時有利于提高收斂性。這種自適應(yīng)遺傳操作,不僅在迭代前期有較強(qiáng)的全局捕捉搜索能力,而且在后期有較強(qiáng)的查漏補余能力,具有收斂性好、避免局部極小等特點,符合本設(shè)計的目的需求。
3 故障檢測定位方法設(shè)計
故障樹的任意一個最小割集的發(fā)生,都會導(dǎo)致頂事件的發(fā)生,而最小割集由一個或多個底事件組成,雖然底事件的發(fā)生有著不同的概率,但實際表明有可能發(fā)生概率小的事件。所以,對故障樹的所有底事件進(jìn)行快速檢查是一種科學(xué)的方法, 具體的故障檢測定位流程如圖3所示。
其中,檢測最小割集就是對該最小割集中的所有底事件進(jìn)行檢測。如果本最小割集中的所有底事件均異常,則判斷該最小割集為異常。適應(yīng)度函數(shù)選為已經(jīng)檢測完的底事件的數(shù)目。
(1)初始化:將故障樹的所有底事件按順序緊密地排列在一起,并分配順序號作為整個群體,從中等步長間隔均勻地選取出一部分個體作為初始種群。
(2)選擇:依式(4)概率復(fù)制選取父代個體的下一個個體的染色體,加入子代種群。
(3)交叉:依式(2)概率對父代個體的部分基因進(jìn)行交換,形成新個體,加入子代種群。
(4)變異:依式(3)概率對父代個體的部分基因進(jìn)行變異,產(chǎn)生新的個體,加入子代種群。為防止溢出,變異應(yīng)控制在步長以內(nèi)。
遺傳操作過程中,應(yīng)保持整個種群的數(shù)目不變。另外,在對故障樹的底事件進(jìn)行檢測時,對已檢測的底事件進(jìn)行標(biāo)記,以防止在交叉或變異過程中的重復(fù)檢測帶來的時間損失;圖3中,同一個底事件可能存在于不同的最小割集當(dāng)中,如果某個底事件異常,就要檢測所有包含該底事件的最小割集,具體方法請參考文獻(xiàn)[2]。
4 仿真分析
某型導(dǎo)彈子系統(tǒng)故障樹的底事件為188個,最小割集為350個,限于篇幅原因,本文未給出故障樹。故障檢測定位算法中采用實數(shù)編碼,即正整數(shù)i(i=1,2,3,…,188)表示該故障樹的第i個底事件。均勻初始化時,取步長ΔE=21,即初始種群(i=1,22,43,64,85,106,127,148,169),
適應(yīng)度函數(shù)選擇見式(1)。如果底事件在標(biāo)準(zhǔn)范圍之內(nèi)如果為健康(用0表示),否則該底事件異常(用1表示)。出現(xiàn)故障底事件,將檢測包含該底事件最小割集的其他底事件,以期盡早定位故障原因。
為此,本文以該型導(dǎo)彈的子系統(tǒng)測試數(shù)據(jù)為依據(jù),在Windows平臺下進(jìn)行Matlab仿真,初始化Pcbef=0.5, Pmbef=0.9,結(jié)果如圖4、圖5所示。
圖4中縱坐標(biāo)1表示故障(異常),0表示正常。結(jié)果顯示編號為288的最小割集為導(dǎo)致頂事件發(fā)生的原因,其所含的底事件編號為:4,24,26,31,158,185。而其他底事件發(fā)生的不正常現(xiàn)象并未導(dǎo)致頂事件的發(fā)生。仿真結(jié)果與實際相符。
由圖5得出,在種群進(jìn)化到第3代的時候已經(jīng)將導(dǎo)致頂事件發(fā)生的最小割集定位;當(dāng)種群進(jìn)化到第4代時,已經(jīng)檢測完所有的底事件,收斂速度較快。為了能更清楚地說明問題,本文進(jìn)化代數(shù)選為10,正常情況下進(jìn)化到第3代時就已經(jīng)定位故障,檢測過程至此結(jié)束。
仿真結(jié)果表明,本文算法進(jìn)化到第3代時只檢測了18個故障樹的底事件,即得出將故障定位為編號288的最小割集異常的結(jié)論,而傳統(tǒng)的順序檢測方法需要檢測185個底事件才可以定位故障??梢姡疚牡墓收蠙z測定位算法能夠大大節(jié)約故障定位時間。
本文在深入分析了故障樹及故障檢測特點的基礎(chǔ)上,對遺傳算法作了一定的改進(jìn),定義了新的自適應(yīng)交叉、變異和選擇概率公式, 并設(shè)計了用一種均勻初始化
的新型自適應(yīng)遺傳算法的故障定位方法。仿真實驗表明,該方法能夠提高故障定位的效率,尤其在大型復(fù)雜故障系統(tǒng)中體現(xiàn)得更為明顯。
參考文獻(xiàn)
[1] 劉萍,吳宜燦,李亞洲,等.一種基于ZBDD求解大型故障樹的基本事件排序方法[J].核科學(xué)與工程,2007,27(3):282-288.
[2] 王久崇,樊曉光,萬明,等.一種改進(jìn)的故障樹模糊診斷的方法及其應(yīng)用[J].計算機(jī)工程與應(yīng)用, 2012,48(14):226-230.
[3] 姚成玉,陳東寧.基于最小割集綜合排序的液壓系統(tǒng)故障定位方法[J].中國機(jī)械工程,2010,21(11):1357-1361.
[4] 劉東.基于故障樹分析的航空裝備故障診斷及系統(tǒng)開發(fā)研究[D].西安:空軍工程大學(xué),2009.
[5] 崔煥慶,周傳愛.應(yīng)用Petri網(wǎng)求解事故樹最小割集的方法研究[J].計算機(jī)工程與設(shè)計,2011,32(2):580-583.
[6] 黃友銳.智能優(yōu)化算法及其應(yīng)用[M].北京:國防工業(yè)出版社,2008.
[7] HOLLAND J H. Adaption in nature and artificial system[M]. Ann Arbor:The University of Michigan Press,1975.