改造者:孫瑞楨 姜周曙
基于BDD的膜法海水淡化系統故障樹分析
改造者:孫瑞楨 姜周曙
二元決策圖法(BDD)作為故障樹的定量和定性分析方法,已廣泛應用于故障樹模型中?!懊擕}率與水通量下降”是膜法海水淡化系統中典型且損失重大的故障類型,發(fā)生故障時得到準確的診斷和及時的處理顯得尤為重要。利用二元決策圖方法對該系統故障樹進行分析,根據改進的組件連接法連接規(guī)則,得到相應的二元決策圖;采用基于哈夫曼碼的割集排序方法,通過比較具有相同結構重要度的割集概率,從而快速有效的確定需要檢測故障源的排序。同時,BDD方法能有效緩解組合爆炸(NP)問題,使復雜系統故障樹分析趨于簡潔。
膜法海水淡化技術由于低能耗、高性能、低價格等特點而得到廣泛應用,但是大規(guī)模膜法海水淡化系統復雜、投資巨大,發(fā)生故障時得不到及時診斷和維修將會造成不可估量的損失。因此,故障診斷技術在系統中對故障的預測和診斷具有重要意義。
故障樹(Fault Tree Analysis, FTA)是對大型系統進行故障診斷的有效方法,它不需要對系統每個部件進行內部分析。傳統的故障樹分析是利用布爾代數法則計算最小割集和結構重要度,但是由于故障樹的復雜程度會隨著系統的元件數和關聯性成指數增長,計算復雜度高,會出現“組合爆炸(NP)”問題。為了解決這一問題,Rauzy首先提出將二元決策圖(Binary Decision Diagram, BDD)引入FTA中,作為故障樹的定性和定量分析的替代技術。
BDD是布爾函數表示法之一,在故障樹分析中,BDD不僅具有計算效率高、計算結果精確并且便于計算機編程的特點,更是有著簡潔明了、一目了然的優(yōu)點。由于復雜故障樹存在NP問題,早在1996年,R.M. Sinnamon和J .D. Andrews就利用BDD對核電站超大規(guī)模復雜故障樹進行了分析計算,為BDD用于復雜故障樹計算指出了新方向。BDD與FTA的結合,成功解決了故障樹的定性和定量分析問題。
大規(guī)模膜法海水淡化系統是由引水系統、預處理系統、反滲透系統和后處理系統等主要工藝流程構成的多階段任務系統(Phased Mission Systems, PMS),膜組件作為反滲透系統的核心組件,其性能的優(yōu)劣直接決定反滲透階段產水的水質,因此,對膜組件的故障機理分析成為海水淡化系統故障診斷工作的重中之重。
通過對系統工藝流程的全面了解和膜組件故障機理的深入分析,構建以“脫鹽率與水通量下降”為頂事件的故障樹,如圖1所示。
基于BDD的故障樹分析方法,是先將復雜故障樹規(guī)范化為只含“與”門和“或”門的簡單故障樹,然后轉換成BDD,通過遍歷BDD直接獲取割集。
故障樹簡化
復雜故障樹轉換為BDD前需要進行簡化,除去與頂事件無關的事件,并且使其簡化成只包含與門和或門的規(guī)范化故障樹。簡化分為以下三個部分。
(1)合并:合并相同類型的父子門事件,“與”門的子事件和“與”門的父事件合并,“或”門的子事件和“或”門的父事件合并,從而減少門事件數量。同時每個門事件的子事件數量達到最大,形成一棵“與”門和“或”門交替出現的故障樹。
改進的組件連接法
在故障樹向BDD轉換過程中,組件連接法不僅能考慮只有底事件作為輸入事件的邏輯門事件,也可以轉換輸入事件已經表示為BDD的故障樹。
組件連接法的連接規(guī)則如下。
規(guī)則1 在將故障樹轉換為BDD的過程中,邏輯門為與門時,將輸入事件連接到每一個“1”子樹;邏輯門為或門時,將輸入事件連接到每一個“0”子樹。輸入事件可以是底事件,也可以是已經表示為BDD形式的BDD(見圖4)。
規(guī)則2 當兩個輸入事件是兩個BDD時,選出一個BDD作為主BDD(主BDD的選擇方法見規(guī)則4)。連接兩個BDD的邏輯門為與門時,將次BDD連接到主BDD的每一個“1”子樹;連接兩個BDD的邏輯門為或門時,將次BDD連接到主BDD的每一個“0”子樹。
假設示例中底事件排序為X1〈X2〈X3〈X4,故障樹轉換為BDD的示例圖如圖2所示。
底事件的排序會導致BDD結構的不唯一性,故障診斷的結果就不唯一。考慮到每個元件在整個系統中出現故障的概率,參考哈夫曼樹的特性,引入規(guī)則3-4來確保最終轉換成的BDD具有唯一的結構,便于快速找到故障源。
規(guī)則3 在故障樹轉換為BDD過程中,一開始要建立由底事件作為輸入事件的初始BDD,規(guī)則1提到與門或門的連接方法,這里提出將同一個邏輯門內最大發(fā)生概率的底事件作為初始BDD的根節(jié)點,其他底事件按照概率大小依次連接在根節(jié)點下面,即最小概率的底事件將排在初始BDD的底端。如果有兩個以上節(jié)點具有相等概率,則遵照先上后下先左后右的原則進行排序。
規(guī)則4 合并兩個BDD時,比較兩個BDD的根節(jié)點概率大小,將根節(jié)點概率大的BDD作為主BDD;若兩個根節(jié)點概率相等,遵照先上后下先左后右的原則進行排序。
參考規(guī)則1-4,將快速得到轉換后的二元決策圖。
基于哈夫曼碼的割集排序
按照傳統方法,當故障樹轉換為BDD后應該先對BDD進行化簡,根據化簡后BDD進行最小割集排序以此來確定故障源檢測順序。雖然化簡規(guī)則會簡化BDD結構并且縮短割集排序時間,但是簡化的過程不利于計算機表達,只能人工簡化。所以本文考慮對不經過簡化的BDD直接進行分析。
前面提到考慮系統中底事件發(fā)生概率來進行排序,假設系統各元件發(fā)生故障相互獨立,那么割集發(fā)生概率就是割集所包含底事件的概率乘積,因此當BDD結構確定的時候,割集也就確定了。參考哈夫曼碼的方法,割集可由BDD的每條路徑確定。每條路徑都是從根節(jié)點開始,經過非終結點到達終結點。如果一條路徑最終到達“1”終結點,則表示該條路徑代表的底事件發(fā)生;如果一條路徑最終到達“0”終結點,則表示該條路徑代表的底事件不發(fā)生。因此包含所有“1”終結點的路徑中結點的集合就是割集。每個割集都對應一個二進制字符串,字符串的每一位是1或0由結點所對應的事件發(fā)生與否來決定。
圖1 脫鹽率與水通量下降故障樹
圖2 改進的組件連接法連接規(guī)則示例
定義1 一個割集的哈夫曼碼是由0和1表示一串唯一的二進制字符串。0代表結點對應的事件不發(fā)生而1代表事件發(fā)生。
定義2 一個割集的結構重要度就是其哈夫曼碼的長度。具有較短哈夫曼碼的割集比具有較長哈夫曼碼的割集的結構重要度高。
例如,如圖3所示例子的哈夫曼碼:HC(X1X2)=11,HC(X1X3)=101,HC(X1X4)=1001,HC(X3)=01,HC(X4)=001。當最終結果確定后,每個割集的哈夫曼碼唯一。
當最終結果確定后,每個割集的哈夫曼碼和哈夫曼碼長度唯一。
根據定義2,可將割集按照哈夫曼碼長度進行分組,相同長度的割集具有相同結構重要度,所以將相同長度的割集分在同一個組里。每一個組都比下一個組長度少一位,即具有更高的結構重要度。對割集進行排序的時候首先將分組按照從短到長來排序,然后對每一個分組里的割集按照二進制從大到小來排序,所有割集排序就可以確定了。
本節(jié)將利用改進的組件連接法和基于哈夫曼碼的割集排序法對圖1所示對“脫鹽率與水通量下降”故障樹進行故障分析。首先將圖1所示故障樹簡化,簡化后如圖3所示。
假設各底事件是獨立事件,且發(fā)生概率為
圖3 簡化后故障樹
表1 基于哈夫曼碼的割集排序
圖4 最終合成BDD示例圖
則按照規(guī)則1-4最終合成的BDD如下圖4所示。
根據最終BDD進行基于哈夫曼碼的割集排序,排序結果如表1所示。
通過對大規(guī)模膜法海水淡化系統工藝流程及其核心膜組件故障機理的分析,構建以“脫鹽率和水通量下降”為頂事件的故障樹。引入二元決策圖法(BDD)對故障樹進行定性和定量分析,根據改進的組件連接法的連接規(guī)則,將已構建好的故障樹轉換為具有唯一結構的BDD;根據最終合成的BDD,寫出所有割集,割集概率的排序就是割集的哈夫曼碼的長度排序,在確定主要故障源的時候,只需檢測具有較短哈夫曼碼的割集所包含底事件即可,無需計算所有割集概率并進行排序。該方法無需計算最小割集、所有割集概率以及不需要簡化最終合成BDD,是一種高效的故障樹分析方法。另外,哈夫曼碼作為二進制表示法有利于計算機存儲和編程的實現。
10.3969/j.issn.1001-8972.2015.15.040