改造者:孫瑞楨 姜周曙
基于BDD的膜法海水淡化系統(tǒng)故障樹分析
改造者:孫瑞楨 姜周曙
二元決策圖法(BDD)作為故障樹的定量和定性分析方法,已廣泛應(yīng)用于故障樹模型中。“脫鹽率與水通量下降”是膜法海水淡化系統(tǒng)中典型且損失重大的故障類型,發(fā)生故障時(shí)得到準(zhǔn)確的診斷和及時(shí)的處理顯得尤為重要。利用二元決策圖方法對(duì)該系統(tǒng)故障樹進(jìn)行分析,根據(jù)改進(jìn)的組件連接法連接規(guī)則,得到相應(yīng)的二元決策圖;采用基于哈夫曼碼的割集排序方法,通過比較具有相同結(jié)構(gòu)重要度的割集概率,從而快速有效的確定需要檢測(cè)故障源的排序。同時(shí),BDD方法能有效緩解組合爆炸(NP)問題,使復(fù)雜系統(tǒng)故障樹分析趨于簡(jiǎn)潔。
膜法海水淡化技術(shù)由于低能耗、高性能、低價(jià)格等特點(diǎn)而得到廣泛應(yīng)用,但是大規(guī)模膜法海水淡化系統(tǒng)復(fù)雜、投資巨大,發(fā)生故障時(shí)得不到及時(shí)診斷和維修將會(huì)造成不可估量的損失。因此,故障診斷技術(shù)在系統(tǒng)中對(duì)故障的預(yù)測(cè)和診斷具有重要意義。
故障樹(Fault Tree Analysis, FTA)是對(duì)大型系統(tǒng)進(jìn)行故障診斷的有效方法,它不需要對(duì)系統(tǒng)每個(gè)部件進(jìn)行內(nèi)部分析。傳統(tǒng)的故障樹分析是利用布爾代數(shù)法則計(jì)算最小割集和結(jié)構(gòu)重要度,但是由于故障樹的復(fù)雜程度會(huì)隨著系統(tǒng)的元件數(shù)和關(guān)聯(lián)性成指數(shù)增長(zhǎng),計(jì)算復(fù)雜度高,會(huì)出現(xiàn)“組合爆炸(NP)”問題。為了解決這一問題,Rauzy首先提出將二元決策圖(Binary Decision Diagram, BDD)引入FTA中,作為故障樹的定性和定量分析的替代技術(shù)。
BDD是布爾函數(shù)表示法之一,在故障樹分析中,BDD不僅具有計(jì)算效率高、計(jì)算結(jié)果精確并且便于計(jì)算機(jī)編程的特點(diǎn),更是有著簡(jiǎn)潔明了、一目了然的優(yōu)點(diǎn)。由于復(fù)雜故障樹存在NP問題,早在1996年,R.M. Sinnamon和J .D. Andrews就利用BDD對(duì)核電站超大規(guī)模復(fù)雜故障樹進(jìn)行了分析計(jì)算,為BDD用于復(fù)雜故障樹計(jì)算指出了新方向。BDD與FTA的結(jié)合,成功解決了故障樹的定性和定量分析問題。
大規(guī)模膜法海水淡化系統(tǒng)是由引水系統(tǒng)、預(yù)處理系統(tǒng)、反滲透系統(tǒng)和后處理系統(tǒng)等主要工藝流程構(gòu)成的多階段任務(wù)系統(tǒng)(Phased Mission Systems, PMS),膜組件作為反滲透系統(tǒng)的核心組件,其性能的優(yōu)劣直接決定反滲透階段產(chǎn)水的水質(zhì),因此,對(duì)膜組件的故障機(jī)理分析成為海水淡化系統(tǒng)故障診斷工作的重中之重。
通過對(duì)系統(tǒng)工藝流程的全面了解和膜組件故障機(jī)理的深入分析,構(gòu)建以“脫鹽率與水通量下降”為頂事件的故障樹,如圖1所示。
基于BDD的故障樹分析方法,是先將復(fù)雜故障樹規(guī)范化為只含“與”門和“或”門的簡(jiǎn)單故障樹,然后轉(zhuǎn)換成BDD,通過遍歷BDD直接獲取割集。
故障樹簡(jiǎn)化
復(fù)雜故障樹轉(zhuǎn)換為BDD前需要進(jìn)行簡(jiǎn)化,除去與頂事件無關(guān)的事件,并且使其簡(jiǎn)化成只包含與門和或門的規(guī)范化故障樹。簡(jiǎn)化分為以下三個(gè)部分。
(1)合并:合并相同類型的父子門事件,“與”門的子事件和“與”門的父事件合并,“或”門的子事件和“或”門的父事件合并,從而減少門事件數(shù)量。同時(shí)每個(gè)門事件的子事件數(shù)量達(dá)到最大,形成一棵“與”門和“或”門交替出現(xiàn)的故障樹。

改進(jìn)的組件連接法
在故障樹向BDD轉(zhuǎn)換過程中,組件連接法不僅能考慮只有底事件作為輸入事件的邏輯門事件,也可以轉(zhuǎn)換輸入事件已經(jīng)表示為BDD的故障樹。
組件連接法的連接規(guī)則如下。
規(guī)則1 在將故障樹轉(zhuǎn)換為BDD的過程中,邏輯門為與門時(shí),將輸入事件連接到每一個(gè)“1”子樹;邏輯門為或門時(shí),將輸入事件連接到每一個(gè)“0”子樹。輸入事件可以是底事件,也可以是已經(jīng)表示為BDD形式的BDD(見圖4)。
規(guī)則2 當(dāng)兩個(gè)輸入事件是兩個(gè)BDD時(shí),選出一個(gè)BDD作為主BDD(主BDD的選擇方法見規(guī)則4)。連接兩個(gè)BDD的邏輯門為與門時(shí),將次BDD連接到主BDD的每一個(gè)“1”子樹;連接兩個(gè)BDD的邏輯門為或門時(shí),將次BDD連接到主BDD的每一個(gè)“0”子樹。
假設(shè)示例中底事件排序?yàn)閄1〈X2〈X3〈X4,故障樹轉(zhuǎn)換為BDD的示例圖如圖2所示。
底事件的排序會(huì)導(dǎo)致BDD結(jié)構(gòu)的不唯一性,故障診斷的結(jié)果就不唯一。考慮到每個(gè)元件在整個(gè)系統(tǒng)中出現(xiàn)故障的概率,參考哈夫曼樹的特性,引入規(guī)則3-4來確保最終轉(zhuǎn)換成的BDD具有唯一的結(jié)構(gòu),便于快速找到故障源。
規(guī)則3 在故障樹轉(zhuǎn)換為BDD過程中,一開始要建立由底事件作為輸入事件的初始BDD,規(guī)則1提到與門或門的連接方法,這里提出將同一個(gè)邏輯門內(nèi)最大發(fā)生概率的底事件作為初始BDD的根節(jié)點(diǎn),其他底事件按照概率大小依次連接在根節(jié)點(diǎn)下面,即最小概率的底事件將排在初始BDD的底端。如果有兩個(gè)以上節(jié)點(diǎn)具有相等概率,則遵照先上后下先左后右的原則進(jìn)行排序。
規(guī)則4 合并兩個(gè)BDD時(shí),比較兩個(gè)BDD的根節(jié)點(diǎn)概率大小,將根節(jié)點(diǎn)概率大的BDD作為主BDD;若兩個(gè)根節(jié)點(diǎn)概率相等,遵照先上后下先左后右的原則進(jìn)行排序。
參考規(guī)則1-4,將快速得到轉(zhuǎn)換后的二元決策圖。
基于哈夫曼碼的割集排序
按照傳統(tǒng)方法,當(dāng)故障樹轉(zhuǎn)換為BDD后應(yīng)該先對(duì)BDD進(jìn)行化簡(jiǎn),根據(jù)化簡(jiǎn)后BDD進(jìn)行最小割集排序以此來確定故障源檢測(cè)順序。雖然化簡(jiǎn)規(guī)則會(huì)簡(jiǎn)化BDD結(jié)構(gòu)并且縮短割集排序時(shí)間,但是簡(jiǎn)化的過程不利于計(jì)算機(jī)表達(dá),只能人工簡(jiǎn)化。所以本文考慮對(duì)不經(jīng)過簡(jiǎn)化的BDD直接進(jìn)行分析。
前面提到考慮系統(tǒng)中底事件發(fā)生概率來進(jìn)行排序,假設(shè)系統(tǒng)各元件發(fā)生故障相互獨(dú)立,那么割集發(fā)生概率就是割集所包含底事件的概率乘積,因此當(dāng)BDD結(jié)構(gòu)確定的時(shí)候,割集也就確定了。參考哈夫曼碼的方法,割集可由BDD的每條路徑確定。每條路徑都是從根節(jié)點(diǎn)開始,經(jīng)過非終結(jié)點(diǎn)到達(dá)終結(jié)點(diǎn)。如果一條路徑最終到達(dá)“1”終結(jié)點(diǎn),則表示該條路徑代表的底事件發(fā)生;如果一條路徑最終到達(dá)“0”終結(jié)點(diǎn),則表示該條路徑代表的底事件不發(fā)生。因此包含所有“1”終結(jié)點(diǎn)的路徑中結(jié)點(diǎn)的集合就是割集。每個(gè)割集都對(duì)應(yīng)一個(gè)二進(jìn)制字符串,字符串的每一位是1或0由結(jié)點(diǎn)所對(duì)應(yīng)的事件發(fā)生與否來決定。

圖1 脫鹽率與水通量下降故障樹

圖2 改進(jìn)的組件連接法連接規(guī)則示例
定義1 一個(gè)割集的哈夫曼碼是由0和1表示一串唯一的二進(jìn)制字符串。0代表結(jié)點(diǎn)對(duì)應(yīng)的事件不發(fā)生而1代表事件發(fā)生。
定義2 一個(gè)割集的結(jié)構(gòu)重要度就是其哈夫曼碼的長(zhǎng)度。具有較短哈夫曼碼的割集比具有較長(zhǎng)哈夫曼碼的割集的結(jié)構(gòu)重要度高。
例如,如圖3所示例子的哈夫曼碼:HC(X1X2)=11,HC(X1X3)=101,HC(X1X4)=1001,HC(X3)=01,HC(X4)=001。當(dāng)最終結(jié)果確定后,每個(gè)割集的哈夫曼碼唯一。
當(dāng)最終結(jié)果確定后,每個(gè)割集的哈夫曼碼和哈夫曼碼長(zhǎng)度唯一。
根據(jù)定義2,可將割集按照哈夫曼碼長(zhǎng)度進(jìn)行分組,相同長(zhǎng)度的割集具有相同結(jié)構(gòu)重要度,所以將相同長(zhǎng)度的割集分在同一個(gè)組里。每一個(gè)組都比下一個(gè)組長(zhǎng)度少一位,即具有更高的結(jié)構(gòu)重要度。對(duì)割集進(jìn)行排序的時(shí)候首先將分組按照從短到長(zhǎng)來排序,然后對(duì)每一個(gè)分組里的割集按照二進(jìn)制從大到小來排序,所有割集排序就可以確定了。
本節(jié)將利用改進(jìn)的組件連接法和基于哈夫曼碼的割集排序法對(duì)圖1所示對(duì)“脫鹽率與水通量下降”故障樹進(jìn)行故障分析。首先將圖1所示故障樹簡(jiǎn)化,簡(jiǎn)化后如圖3所示。
假設(shè)各底事件是獨(dú)立事件,且發(fā)生概率為




圖3 簡(jiǎn)化后故障樹

表1 基于哈夫曼碼的割集排序

圖4 最終合成BDD示例圖
則按照規(guī)則1-4最終合成的BDD如下圖4所示。
根據(jù)最終BDD進(jìn)行基于哈夫曼碼的割集排序,排序結(jié)果如表1所示。
通過對(duì)大規(guī)模膜法海水淡化系統(tǒng)工藝流程及其核心膜組件故障機(jī)理的分析,構(gòu)建以“脫鹽率和水通量下降”為頂事件的故障樹。引入二元決策圖法(BDD)對(duì)故障樹進(jìn)行定性和定量分析,根據(jù)改進(jìn)的組件連接法的連接規(guī)則,將已構(gòu)建好的故障樹轉(zhuǎn)換為具有唯一結(jié)構(gòu)的BDD;根據(jù)最終合成的BDD,寫出所有割集,割集概率的排序就是割集的哈夫曼碼的長(zhǎng)度排序,在確定主要故障源的時(shí)候,只需檢測(cè)具有較短哈夫曼碼的割集所包含底事件即可,無需計(jì)算所有割集概率并進(jìn)行排序。該方法無需計(jì)算最小割集、所有割集概率以及不需要簡(jiǎn)化最終合成BDD,是一種高效的故障樹分析方法。另外,哈夫曼碼作為二進(jìn)制表示法有利于計(jì)算機(jī)存儲(chǔ)和編程的實(shí)現(xiàn)。
10.3969/j.issn.1001-8972.2015.15.040