黃智偉,梁奕坤,張三娣
(工業(yè)和信息化部電子第五研究所,廣東 廣州 510610)
底事件的重要度是故障樹的一個(gè)重要特性。工程實(shí)踐表明,導(dǎo)致系統(tǒng)故障的各部件并不是同等重要的,重要度可用于表示某個(gè)部件對(duì)頂事件的影響大小,重要度對(duì)改進(jìn)系統(tǒng)設(shè)計(jì),制定維修策略是十分有用的[1]。
隨著裝備系統(tǒng)的復(fù)雜程度越來越高,構(gòu)造出來的故障樹也越來越龐大和復(fù)雜。存在共因事件的靜態(tài)故障樹一般采用二元決策圖 (BDD)分析計(jì)算,動(dòng)態(tài)故障樹則需要轉(zhuǎn)換為馬爾科夫鏈進(jìn)行計(jì)算,龐大的二元決策圖和馬爾科夫鏈都會(huì)引起NP問題。為了避免將復(fù)雜故障樹整體轉(zhuǎn)換為二元決策圖或馬爾科夫鏈,需要根據(jù)故障樹結(jié)構(gòu)將其拆分成可獨(dú)立計(jì)算的模塊,再將各模塊的計(jì)算結(jié)果合并[2]。
模塊化思想在計(jì)算故障樹頂事件發(fā)生概率時(shí)已經(jīng)被廣泛地應(yīng)用,但是,在計(jì)算故障樹重要度尤其是結(jié)構(gòu)重要度時(shí)存在一定的困難,例如:如何合并模塊化后的重要度?以及概率重要度和結(jié)構(gòu)重要度的計(jì)算過程有何區(qū)別?本文將詳細(xì)地介紹如何應(yīng)用模塊化思想求解復(fù)雜故障樹的重要度。
故障樹重要度一般包括結(jié)構(gòu)重要度、概率重要度和關(guān)鍵重要度,關(guān)鍵重要度可通過事件發(fā)生概率和概率重要度求得,因此,本文只介紹結(jié)構(gòu)重要度和概率重要度的計(jì)算方法。
結(jié)構(gòu)重要度指的是故障樹中某個(gè)元素其正常狀態(tài)與不正常狀態(tài)相比,在系統(tǒng)所有可能的狀態(tài)數(shù)中,正常狀態(tài)數(shù)增加的比例[3]。其計(jì)算原理為:
式 (1)中:Gi——第i個(gè)事件的結(jié)構(gòu)重要度;
P頂事件——頂事件的發(fā)生概率;
Pi——第i個(gè)事件的發(fā)生概率。
概率重要度指的是某元素從不正常狀態(tài)轉(zhuǎn)為正常狀態(tài)時(shí),系統(tǒng)的不可靠度改善了多少[3]。其計(jì)算原理為:
式 (2)中:Ii——當(dāng)前事件的概率重要度;
P頂事件——頂事件的發(fā)生概率。
根據(jù)計(jì)算原理可得,計(jì)算重要度最直接的方法是通過改變事件的發(fā)生概率,求得頂事件發(fā)生概率即可。因此,所有的計(jì)算工作都在于重復(fù)計(jì)算頂事件的發(fā)生概率。
假設(shè)計(jì)算一次頂事件的發(fā)生概率所耗費(fèi)的資源(包括計(jì)算機(jī)內(nèi)存和時(shí)間等)為S,則包含N個(gè)基本事件的故障樹結(jié)構(gòu)重要度計(jì)算將耗費(fèi)的資源為2N*S。
實(shí)驗(yàn)表明,應(yīng)用二元決策圖或最小割集法計(jì)算一個(gè)包含2000個(gè)底事件的故障樹大約需要1 min的時(shí)間,則計(jì)算所有底事件的結(jié)構(gòu)重要度需要50 h,這在故障樹設(shè)計(jì)階段是不可接受的,因此,不可直接用此方法計(jì)算復(fù)雜故障樹。
模塊化方法可以在計(jì)算頂事件發(fā)生概率的同時(shí),計(jì)算模塊子樹中各個(gè)底事件重要度,所以耗費(fèi)的時(shí)間與計(jì)算頂事件發(fā)生概率時(shí)間相等。
基于模塊化思想的方法在故障樹分析計(jì)算方面的效果顯著,本文介紹重要度的計(jì)算方法也是基于模塊化思想提出的,以下面的故障樹為例,如圖1所示。
圖1 故障樹示例
從圖1可以看出,x1和x5是共因事件,因此G3、G4、G6、G7不能作為獨(dú)立模塊。而x1包含在G2中,x5包含在G5中,并且G2和G5與其他節(jié)點(diǎn)沒有相同子節(jié)點(diǎn),所以可作為獨(dú)立模塊進(jìn)行分析計(jì)算,再將計(jì)算結(jié)果合并到頂事件G1。
假設(shè)故障樹的底事件為x1,x2,…,xn,則故障樹可表示為:
式 (3)中:x1,x2,…,xn——獨(dú)立的事件,將故障樹模塊化之后包含的模塊子樹為M1,M2,…,Mn,可表示為:
因此,由式 (4)可以得到圖1中的故障樹可表示為:
模塊化后由于G2和G5存在共因事件,可用較優(yōu)的BDD算法求解,而后將G2和G5當(dāng)作獨(dú)立事件,再用常規(guī)算法求解頂事件G1。
此處建議把故障樹分解到最小單位,將所有獨(dú)立的節(jié)點(diǎn)都作為模塊計(jì)算,即圖1中的故障樹中的模 塊 包 括 G1, G2, G3, G4, G5, G6, G7, x1, x2,…,x6。計(jì)算重要度時(shí),應(yīng)采取從下往上的遞歸方法。先求出底事件相對(duì)于模塊的重要度Imodule(x),再求出該模塊相對(duì)于系統(tǒng)的重要度Isys(M),合并后可得到底事件相對(duì)于系統(tǒng)的重要度[4-5]:
模塊化思想計(jì)算復(fù)雜故障樹重要度的流程如圖2所示,單個(gè)模塊子樹的重要度算法在此處不做詳細(xì)介紹。
圖2 基于模塊化思想的故障樹重要度算法流程
以圖1為例,假設(shè)將一個(gè)獨(dú)立事件的結(jié)構(gòu)重要度表示為G,計(jì)算G2模塊中x1的重要度時(shí),將x1的概率設(shè)置為0,其他事件的概率設(shè)置為0.5,得到f(x1=0)=0,同樣得到f(x1=1)=0.75,通過式(1)可得事件x1在模塊G2中的結(jié)構(gòu)重要度為f(x1=1)-f(x1=0)=0.75,以此類推可得到G2模塊中各事件的結(jié)構(gòu)重要度為:
此處需引入一個(gè)定義:結(jié)構(gòu)重要度權(quán)值W。
本文將結(jié)構(gòu)重要度權(quán)值定義為當(dāng)前模塊在僅受其基本事件的結(jié)構(gòu)影響時(shí)的發(fā)生概率。結(jié)構(gòu)重要度權(quán)值的計(jì)算方法為,將所有基本事件的概率Pi設(shè)置為0.5,得到的概率值即是該模塊的結(jié)構(gòu)重要度權(quán)值,即:
即單一事件的結(jié)構(gòu)重要度權(quán)值W (x)=0.5。
在計(jì)算G1中各事件的結(jié)構(gòu)重要度時(shí),將G2作為單一事件,此時(shí)G2模塊的結(jié)構(gòu)重要度權(quán)值已經(jīng)不是0.5,通過計(jì)算可得W (G2)=0.375。根據(jù)式(1) 計(jì)算時(shí),G2的發(fā)生概率應(yīng)該設(shè)置為W (G2)。可得到G1模塊中各事件的結(jié)構(gòu)重要度為:
根據(jù)模塊化合并思想由式 (7)和 (9)可得事件x1、x2、x3在頂事件G_1中的結(jié)構(gòu)重要度為:
同理可遞歸計(jì)算所有的事件在整個(gè)故障樹中的結(jié)構(gòu)重要度。
以圖1為例,假設(shè)將一個(gè)獨(dú)立事件的概率重要度表示為I,并且圖1中的所有事件發(fā)生概率為0.1,則在計(jì)算G2模塊中x1的重要度時(shí),將x1的概率設(shè)置為0,其他事件的概率保持不變,得到f(x1=0) =0, 同樣得到 f(x1=1) =0.19, 通過式 (2)可得事件x1在模塊G2中的概率重要度為f(x1=1)-f(x1=0)=0.19,以此類推可得到G2模塊中各事件的概率重要度為:
與計(jì)算結(jié)構(gòu)重要度相同,在計(jì)算G1中各事件的概率重要度時(shí),將G2作為單一事件,先計(jì)算G2的發(fā)生概率,應(yīng)用式 (2)可得到G1模塊中各事件的概率重要度為:
根據(jù)模塊化合并思想由式 (11)和 (12)可得事件x1、x2、x3在頂事件G1中的概率重要度為:
同理可遞歸計(jì)算所有的事件在整個(gè)故障樹中的概率重要度。
a)FUNCTION計(jì)算故障樹重要度
計(jì)算獨(dú)立模塊重要度 (Top);
合并獨(dú)立模塊重要度 (Top);
END FUNCTION。
b)FUNCTION計(jì)算獨(dú)立模塊重要度 (Node)
遍歷Node的子節(jié)點(diǎn)Child;
計(jì)算獨(dú)立模塊重要度 (Child);
結(jié)束遍歷。
c)IF當(dāng)前節(jié)點(diǎn)被定義為獨(dú)立的模塊THEN
計(jì)算Node發(fā)生概率;
計(jì)算Node結(jié)構(gòu)重要度權(quán)值;
遍歷當(dāng)前節(jié)點(diǎn)的底事件;
計(jì)算底事件的重要度;
結(jié)束遍歷;
將Node標(biāo)記為事件節(jié)點(diǎn);
END IF;
END FUNCTION。
d)FUNCTION合并獨(dú)立模塊重要度 (Node)
遍歷Node的子節(jié)點(diǎn)Child;
合并獨(dú)立模塊重要度 (Child);
結(jié)束遍歷。
e)IF當(dāng)前節(jié)點(diǎn)被定義為獨(dú)立的模塊THEN
遍歷當(dāng)前節(jié)點(diǎn)的底事件;
合并當(dāng)前模塊基本事件的結(jié)構(gòu)重要度;
合并當(dāng)前模塊基本事件的概率重要度;
結(jié)束遍歷;
END IF;
END FUNCTION。
五所工程軟件CARMES中包含了故障樹分析模塊,有廣泛的工程應(yīng)用經(jīng)驗(yàn),在國內(nèi)外質(zhì)量與可靠性軟件行業(yè)具有很大的影響力。
在CARMES 6.0中建立如圖1所示的故障樹,將所有的底事件發(fā)生概率設(shè)置為0.1,進(jìn)行分析計(jì)算后可見,計(jì)算結(jié)果與前文中應(yīng)用模塊化思想分析計(jì)算故障樹重要度的結(jié)果一致。如圖3所示:
圖3 CARMES 6.0的計(jì)算結(jié)果
本文提出一種基于模塊化思想的復(fù)雜故障樹重要度算法可在計(jì)算頂事件發(fā)生概率的同時(shí)獲得各個(gè)模塊中底事件的相對(duì)重要度,通過合并與遞歸計(jì)算即可得到所有的底事件在整個(gè)故障樹中的重要度,與直接計(jì)算故障樹重要度的方法相比,極大地提高了計(jì)算效率,尤其適用于規(guī)模較大的故障樹分析。
[1]GJB/Z 768A-1998,故障樹分析指南 [S].
[2]劉文彬.基于模塊化思想的動(dòng)態(tài)故障樹分析方法研究[D].南京:南京理工大學(xué),2009.
[3]張?jiān)稣?故障樹分析 [Z].廣州:工業(yè)和信息化部電子第五研究所,2001.
[4]張超.基于BDD的動(dòng)態(tài)故障樹優(yōu)化分析研究 [D].西安:西北工業(yè)大學(xué),2004.
[5]李彥鋒.復(fù)雜系統(tǒng)動(dòng)態(tài)故障樹分析的新方法及其應(yīng)用研究 [D].西安:電子科技大學(xué),2013.