一種基于蒙特卡洛仿真的故障樹(shù)分析方法
【專(zhuān)利摘要】一種基于蒙特卡洛仿真的故障樹(shù)分析方法,通過(guò)蒙特卡洛抽樣方法在故障樹(shù)中的仿真實(shí)施過(guò)程,避免了求解故障樹(shù)結(jié)構(gòu)函數(shù)或所有最小割集,并能夠得到底事件壽命分布服從任意分布函數(shù)情況下的頂事件發(fā)生概率,以及系統(tǒng)運(yùn)行到某時(shí)刻,底事件發(fā)生概率可知而壽命分布未知情況下的系統(tǒng)頂事件發(fā)生概率。本發(fā)明適用于服從各種壽命分布的底事件構(gòu)成的故障樹(shù),能夠得到底事件發(fā)生概率已知而壽命分布未知時(shí)頂事件的發(fā)生概率,因此方法受限制條件小,具有受限條件少、求解過(guò)程簡(jiǎn)練的特點(diǎn)。
【專(zhuān)利說(shuō)明】
一種基于蒙特卡洛仿真的故障樹(shù)分析方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及系統(tǒng)工程可靠性評(píng)估技術(shù)領(lǐng)域,具體是一種基于蒙特卡洛抽樣原理對(duì) 故障樹(shù)進(jìn)行仿真,從而計(jì)算出頂事件發(fā)生概率的方法。
【背景技術(shù)】
[0002] 故障樹(shù)是系統(tǒng)內(nèi)故障邏輯與其它事件之間交互關(guān)系的圖形化表示,利用故障樹(shù)來(lái) 求解系統(tǒng)可靠度,已成為系統(tǒng)可靠性分析領(lǐng)域最為常用的一種方法。故障樹(shù)把系統(tǒng)最不希 望發(fā)生的事情作為故障樹(shù)的頂事件(分析目標(biāo)),逐層向下追溯所有可能的原因,從而找出 導(dǎo)致頂事件發(fā)生的各種因素及其與頂事件間的邏輯關(guān)系,并用倒樹(shù)狀圖表示出來(lái)。其中,對(duì) 于不能進(jìn)一步分析其發(fā)生原因的事件稱(chēng)為基本事件,對(duì)于可進(jìn)一步分析其發(fā)生原因的非頂 事件稱(chēng)為中間事件。對(duì)故障樹(shù)進(jìn)行分析求解頂事件發(fā)生概率的方法稱(chēng)為故障樹(shù)分析法。1. 〇 減去頂事件發(fā)生概率即為故障樹(shù)所表示的統(tǒng)的可靠度。現(xiàn)有的故障樹(shù)分析法可分為公式計(jì) 算方法和借助蒙特卡洛仿真原理的仿真計(jì)算方法兩類(lèi)。
[0003]在現(xiàn)有的公式計(jì)算方法中,最小割集的求解是計(jì)算故障樹(shù)頂事件發(fā)生概率的第一 步。首先,在最小割集的求解過(guò)程會(huì)涉及到大量布爾邏輯。針對(duì)這些布爾邏輯,須用集合運(yùn) 算法則加以簡(jiǎn)化、吸收,才可得到最小割集。隨著故障樹(shù)結(jié)構(gòu)復(fù)雜度的提高,最小割集將增 多,求解最小割集過(guò)程中涉及到的布爾邏輯也會(huì)增多,難于人工直接處理。其次,當(dāng)在獲得 的最小割集基礎(chǔ)上計(jì)算頂事件發(fā)生概率時(shí),隨著故障樹(shù)結(jié)構(gòu)復(fù)雜度的提高,最小割集的數(shù) 目將隨之增多,且這些最小割集包含的底事件往往相交,需要第二次進(jìn)行布爾邏輯的不交 化運(yùn)算才可計(jì)算出頂事件發(fā)生概率,隨著布爾邏輯不交化運(yùn)算量的急劇增加,整個(gè)求解過(guò) 程計(jì)算量巨大,甚至?xí)霈F(xiàn)數(shù)據(jù)量爆炸問(wèn)題,最終使得頂事件發(fā)生概率的計(jì)算變得難以進(jìn) 行下去。對(duì)于大型復(fù)雜故障樹(shù),人工求解已經(jīng)不可能,必須借助計(jì)算機(jī)才可求解,而相對(duì)于 簡(jiǎn)單直接的代數(shù)運(yùn)算,布爾邏輯運(yùn)算過(guò)程繁雜,在計(jì)算機(jī)中編程實(shí)現(xiàn)也較為困難。
[0004] 隨著計(jì)算機(jī)技術(shù)在工程計(jì)算中的快速發(fā)展,需尋求一種更適用于計(jì)算處理的故障 樹(shù)分析方法。以蒙特卡洛仿真方法為基礎(chǔ)的數(shù)字仿真技術(shù)在很多工程領(lǐng)域中得到了大量應(yīng) 用?,F(xiàn)有的應(yīng)用蒙特卡洛仿真方法對(duì)故障樹(shù)進(jìn)行仿真的具體方法有以下兩種:
[0005] (1)基于結(jié)構(gòu)函數(shù)的通掃故障樹(shù)仿真方法?;诠收蠘?shù)結(jié)構(gòu)函數(shù)的仿真方法是在 故障樹(shù)結(jié)構(gòu)函數(shù)的基礎(chǔ)上,按底事件壽命分布對(duì)各底事件失效時(shí)間進(jìn)行抽樣,對(duì)抽樣失效 時(shí)間從小到大進(jìn)行排序,依次檢查各個(gè)底事件失效是否會(huì)導(dǎo)致頂事件發(fā)生,從而找出頂事 件發(fā)生時(shí)間。重復(fù)以上過(guò)程,最后通過(guò)對(duì)頂事件發(fā)生時(shí)間進(jìn)行統(tǒng)計(jì)分析,得到頂事件發(fā)生概 率。
[0006] (2)基于最小割集的故障樹(shù)仿真方法。該方法通過(guò)對(duì)故障樹(shù)的所有最小割集進(jìn)行 故障時(shí)間抽樣,獲得每一最小割集的故障時(shí)間,把這些故障時(shí)間的最小值作為頂事件發(fā)生 時(shí)間。重復(fù)以上過(guò)程,最后對(duì)頂事件發(fā)生時(shí)間進(jìn)行統(tǒng)計(jì)分析,得到頂事件發(fā)生概率。
[0007] 上述兩種仿真方法存在以下缺陷:
[0008] 1.兩種仿真方法都不能完全避免布爾邏輯運(yùn)算。隨著故障樹(shù)復(fù)雜度增加時(shí),布爾 邏輯運(yùn)算量仍會(huì)很大,造成計(jì)算機(jī)處理的不便。
[0009] 雖然兩種蒙特卡洛仿真方法不涉及布爾邏輯不交化運(yùn)算,但從兩種仿真方法的描 述中可看出,實(shí)施蒙特卡洛仿真的基礎(chǔ)是結(jié)構(gòu)函數(shù)或最小割集的獲得。其中,方法(1)需要 求解故障樹(shù)的結(jié)構(gòu)函數(shù);方法(2)需要求解故障樹(shù)的所有最小割集。但不管是求解故障樹(shù)的 結(jié)構(gòu)函數(shù)或是最小割集,都將涉及到布爾邏輯運(yùn)算。因此相對(duì)于公式計(jì)算法,仿真方法可有 效避免公式法中的第二次布爾邏輯運(yùn)算,但仍不能避免公式法中第一次布爾邏輯運(yùn)算。
[0010] 2.方法(1)、(2)均需要依據(jù)各底事件壽命分布,抽取底事件發(fā)生時(shí)間。而在工程實(shí) 踐中,存在系統(tǒng)(在故障樹(shù)中為頂事件)中元件(在故障樹(shù)中為底事件)壽命分布未知,工程 人員通過(guò)對(duì)元件健康狀態(tài)進(jìn)行評(píng)估獲得元件故障發(fā)生概率的情況。針對(duì)這種底事件發(fā)生概 率已知而壽命分布不知的情況,依據(jù)底事件壽命分布抽取底事件發(fā)生時(shí)間的方法必將失 效,因此方法(1)和(2)不能用于僅已知底事件發(fā)生概率而底事件壽命分布未知的故障樹(shù)。
[0011] 針對(duì)以上兩個(gè)缺點(diǎn),尋求一種新的基于蒙特卡洛仿真的故障樹(shù)分析方法是完全必 要的。
【發(fā)明內(nèi)容】
[0012] 為克服現(xiàn)有技術(shù)中存在的邏輯運(yùn)算量大、不能用于已知底事件發(fā)生概率而底事件 壽命分布未知的故障樹(shù)的不足,本發(fā)明提出了一種基于蒙特卡洛仿真的故障樹(shù)分析方法。
[0013] 本發(fā)明的具體過(guò)程是:
[0014] 步驟1,確定故障樹(shù)中的底事件、中間事件和頂事件。
[0015] 在故障樹(shù)中,原因事件和結(jié)果事件用邏輯門(mén)J相連,且邏輯門(mén)J下端為原因事件,上 端為結(jié)果事件。
[0016] 所述底事件的上端與邏輯門(mén)J相連,下端不與事件相連。頂事件的上端不與邏輯門(mén) J相連,下端與邏輯門(mén)相連。中間事件上端與下端均與邏輯門(mén)J相連。
[0017] 在故障樹(shù)中:不存在原因事件且存在結(jié)果事件的事件稱(chēng)為底事件,底事件是故障 樹(shù)中無(wú)需探明其發(fā)生原因的事件。既存在原因事件又同時(shí)存在結(jié)果事件的事件,稱(chēng)為中間 事件。頂事件本身就是故障樹(shù)分析中所關(guān)心的結(jié)果事件。
[0018] 步驟2,對(duì)故障樹(shù)所有事件進(jìn)行排序:按照父節(jié)點(diǎn)在前、子節(jié)點(diǎn)在后及底事件在前、 中間事件居中、頂層事件最后的排序原則對(duì)故障樹(shù)所有事件進(jìn)行排序,排序結(jié)果為{Xi,Gi, T},i = l,2,3,4,5〇
[0019]在任意故障樹(shù)中,如果底事件的上端或中間事件的上端指向邏輯門(mén)J,該邏輯門(mén)J 上端又指向中間事件或頂事件的下端,則邏輯門(mén)J下端的事件是邏輯門(mén)J上端事件的父節(jié) 點(diǎn),輯門(mén)J上端事件是邏輯門(mén)J下端事件的子節(jié)點(diǎn)。
[0020] 所述的父節(jié)點(diǎn)與子節(jié)點(diǎn)是以邏輯門(mén)連接的底事件或頂事件/中間事件,該邏輯門(mén) 表達(dá)了若發(fā)生子節(jié)點(diǎn)事件,則父節(jié)點(diǎn)所須滿足的邏輯條件。
[0021] 步驟3,設(shè)定系統(tǒng)運(yùn)行時(shí)刻T,并確定各底事件在系統(tǒng)運(yùn)行時(shí)刻T的發(fā)生概率。
[0022] 所述系統(tǒng)運(yùn)行時(shí)刻T設(shè)定為大于0的任何值。
[0023] 確定各底事件在系統(tǒng)運(yùn)行時(shí)刻T的發(fā)生概率時(shí):當(dāng)各底事件的發(fā)生概率已知,將該 已知概率作為底事件在系統(tǒng)運(yùn)行時(shí)刻的發(fā)生概率;當(dāng)各底事件的發(fā)生概率未直接給出,將 系統(tǒng)運(yùn)行時(shí)刻T分別帶入已知的各概率分布F(t)中,得到各底事件在系統(tǒng)運(yùn)行時(shí)刻的發(fā)生 概率。
[0024] 所述各底事件的概率分布F(t)是指底事件發(fā)生概率F隨時(shí)間t變化的函數(shù),函數(shù)中 的自變量為時(shí)間t,t的范圍需大于等于0,函數(shù)因變量F表示的是概率,因此范圍為[0.0, 1.0]〇
[0025] 步驟4,確定對(duì)故障樹(shù)進(jìn)行蒙特卡洛仿真的次數(shù)N。根據(jù)底事件最小概率值確定對(duì) 故障樹(shù)進(jìn)行蒙特卡洛仿真的次數(shù)N。比較步驟3中得到的各底事件發(fā)生概率的值,取最小值 作為底事件最小概率值。設(shè)定的仿真次N需滿足條件:N>50/最小概率值。
[0026] 步驟5,確定各底事件在系統(tǒng)運(yùn)行時(shí)刻的狀態(tài)。應(yīng)用蒙特卡洛抽樣方法,確定各底 事件在系統(tǒng)運(yùn)行時(shí)刻的狀態(tài);所述點(diǎn)狀態(tài)為故障或正常。在確定各底事件狀態(tài)時(shí),隨機(jī)抽取 某底事件服從[0,1 ]均勻分布的隨機(jī)數(shù)山~1][0,1 ];
[0027]比較山與底事件發(fā)生概率的大小,當(dāng)山小于底事件發(fā)生概率時(shí),認(rèn)為底事件發(fā)生; 否則認(rèn)為底事件不發(fā)生。
[0028]重復(fù)所述隨機(jī)抽取各底事件的隨機(jī)數(shù)Ui-UtOJ],并將分別抽取的山與底事件發(fā) 生概率進(jìn)行比較的過(guò)程,依次確定所有底事件的狀態(tài)。
[0029] 步驟6,依次確定中間事件及頂事件的狀態(tài):
[0030] 在步驟5已確定的各底事件狀態(tài)基礎(chǔ)上,按照步驟2中的事件排序,依次確定中間 事件及頂事件的狀態(tài),并記錄確定好的頂事件狀態(tài)。
[0031 ]對(duì)任意中間事件或頂事件,在確定所述任意中間事件的狀態(tài)或頂事件的狀態(tài)時(shí), 首先需確定該任意中間事件父節(jié)點(diǎn)的狀態(tài)或頂事件父節(jié)點(diǎn)的狀態(tài)。
[0032] 其次,確定該任意中間事件或頂事件與父節(jié)點(diǎn)的連接邏輯門(mén)J。雖然對(duì)于不同的邏 輯門(mén)J,確定所述任意中間事件狀態(tài)或頂事件狀態(tài)的方法不同,但均需遵從同一原則:既然 邏輯門(mén)J表達(dá)了子節(jié)點(diǎn)發(fā)生時(shí)父節(jié)點(diǎn)所須的邏輯條件,那么當(dāng)父節(jié)點(diǎn)的狀態(tài)滿足邏輯門(mén)J所 表達(dá)的邏輯條件時(shí),所述任意中間事件或頂事件發(fā)生,否則所述任意中間事件或頂事件不 發(fā)生。
[0033] 步驟7,重復(fù)確定底事件、中間事件及頂事件的狀態(tài):
[0034] 連續(xù)重復(fù)步驟5和步驟6,直至重復(fù)次數(shù)達(dá)到設(shè)定的仿真次數(shù)N,在N次重復(fù)過(guò)程中, 根據(jù)各次在步驟6中確定的頂事件狀態(tài),累計(jì)頂事件的發(fā)生次數(shù)M。當(dāng)N次重復(fù)結(jié)束后,轉(zhuǎn)到 步驟8。
[0035] 步驟8,確定頂事件發(fā)生概率和故障樹(shù)所表示系統(tǒng)的可靠度:
[0036] 頂事件發(fā)生概率=頂事件發(fā)生次數(shù)M/設(shè)定的仿真次數(shù)N;
[0037]系統(tǒng)可靠度= 1.0-頂事件發(fā)生概率。
[0038] 本發(fā)明通過(guò)蒙特卡洛抽樣方法在故障樹(shù)中的仿真實(shí)施過(guò)程,避免了求解故障樹(shù)結(jié) 構(gòu)函數(shù)或所有最小割集,并能夠得到底事件壽命分布服從任意分布函數(shù)情況下的頂事件發(fā) 生概率,以及系統(tǒng)運(yùn)行到某時(shí)刻,底事件發(fā)生概率可知而壽命分布未知情況下的系統(tǒng)頂事 件發(fā)生概率。
[0039] 相對(duì)現(xiàn)有技術(shù),本發(fā)明的有益效果為:
[0040] 1)本發(fā)明方法不涉及任何布爾邏輯的不交化運(yùn)算,適用于計(jì)算機(jī)編程處理,可取 代繁瑣而復(fù)雜的傳統(tǒng)計(jì)算方法,得到滿足工程實(shí)踐需求的頂事件發(fā)生概率結(jié)果。
[0041 ]由實(shí)施例可知,應(yīng)用傳統(tǒng)方法對(duì)故障樹(shù)進(jìn)行分析時(shí),必然會(huì)涉及到布爾邏輯,而布 爾邏輯需要進(jìn)行比代數(shù)運(yùn)算更繁雜的不交化處理。相比之下,本發(fā)明提出的仿真方法中,涉 及到的最復(fù)雜計(jì)算是對(duì)故障樹(shù)各底事件發(fā)生概率的代數(shù)運(yùn)算。相對(duì)于布爾邏輯的不交化處 理,代數(shù)運(yùn)算不僅直觀簡(jiǎn)單、且更容易在計(jì)算機(jī)中通過(guò)程序?qū)崿F(xiàn)。此外,對(duì)比實(shí)例1的精確計(jì) 算結(jié)果(公式計(jì)算法)與仿真結(jié)果(本發(fā)明方法)可知,本發(fā)明方法收斂于精確解,可滿足工 程實(shí)踐要求。
[0042] 2)本發(fā)明方法適用于服從各種壽命分布的底事件構(gòu)成的故障樹(shù),可計(jì)算底事件發(fā) 生概率已知而壽命分布未知時(shí)頂事件的發(fā)生概率,因此方法受限制條件小。
[0043] 應(yīng)用本發(fā)明方法對(duì)故障樹(shù)分析時(shí),由實(shí)施過(guò)程可看出,只需將系統(tǒng)運(yùn)行時(shí)刻T帶入 到各底事件發(fā)生概率服從的分布中,就可計(jì)算出各底事件發(fā)生概率。對(duì)各底事件,抽取一服 從[0,1 ]均勻分布的隨機(jī)數(shù)Ui~U [ 0,1 ],通過(guò)判斷隨機(jī)數(shù)與各底事件發(fā)生概率的大小,就可 對(duì)底事件在系統(tǒng)時(shí)刻T的狀態(tài)進(jìn)行判斷,方法直觀簡(jiǎn)單,整個(gè)過(guò)程并未對(duì)底事件服從的壽命 分布提出限制。本發(fā)明的實(shí)施例中,存在底事件壽命分布未知,發(fā)生概率已知的情況,結(jié)果 表明通過(guò)本發(fā)明方法仍可計(jì)算得到收斂于正確解的計(jì)算結(jié)果,因此相對(duì)于現(xiàn)存的兩類(lèi)仿真 方法,本發(fā)明方法受限制條件更小。
[0044] 3)本發(fā)明方法不需要求解故障樹(shù)中的所有最小割集或通掃故障樹(shù)求解系統(tǒng)結(jié)構(gòu) 函數(shù),相比現(xiàn)有的仿真方法,本發(fā)明方法求解過(guò)程更簡(jiǎn)練。
[0045] 在對(duì)故障樹(shù)進(jìn)行分析時(shí),傳統(tǒng)的仿真方法均需要首先求解最小割集或者求解系統(tǒng) 結(jié)構(gòu)函數(shù)。而不管是求解最小割集或結(jié)構(gòu)函數(shù),都涉及到了布爾邏輯。從本發(fā)明的實(shí)施例的 求解過(guò)程可看出,本發(fā)明方法并不需要求解最小割集或系統(tǒng)結(jié)構(gòu)函數(shù),可避免布爾邏輯不 交化處理,求解更為簡(jiǎn)練。
【附圖說(shuō)明】
[0046]圖1是基于蒙特卡洛仿真的故障樹(shù)分析算法流程圖;
[0047]圖2是故障樹(shù)的示意圖,圖中的乂1,乂2上,乂4,乂5均為該故障樹(shù)中的5個(gè)底事件。
[0048]圖3是本發(fā)明的流程圖。
【具體實(shí)施方式】
[0049] 本發(fā)明提出了一種基于蒙特卡洛仿真方法對(duì)故障樹(shù)進(jìn)行分析方法,用于故障樹(shù)所 表示的系統(tǒng)的可靠度計(jì)算。本發(fā)明的具體過(guò)程是:
[0050] 步驟1,確定故障樹(shù)中的底事件、中間事件和頂事件。如果一個(gè)事件可以導(dǎo)致另一 個(gè)事件的發(fā)生,則前一事件稱(chēng)為原因事件,后一事件稱(chēng)為結(jié)果事件。在故障樹(shù)中,原因事件 和結(jié)果事件用邏輯門(mén)相連,且邏輯門(mén)下端為原因事件,上端為結(jié)果事件。
[0051] 在故障樹(shù)中:底事件是導(dǎo)致其它事件的原因事件,位于故障樹(shù)的底部,它總是某個(gè) 邏輯門(mén)的輸入事件而不是輸出事件;底事件用圓形符號(hào)表示,圓形符號(hào)的上端與邏輯門(mén)相 連,下端不與任何圖形符號(hào)相連。所有事件聯(lián)合發(fā)生作用的結(jié)果事件是頂事件;頂事件位于 故障樹(shù)頂端,是所討論故障樹(shù)中邏輯門(mén)的輸出事件而不是輸入事件;頂事件用矩形符號(hào)表 示,矩形符號(hào)上端不與邏輯門(mén)相連,下端與邏輯門(mén)相連。位于底事件和頂事件之間的結(jié)果事 件稱(chēng)為中間事件;所述中間事件既是某個(gè)邏輯門(mén)的輸出事件,同時(shí)又是別的邏輯門(mén)的輸入 事件;頂事件用矩形符號(hào)表示,矩形符號(hào)上端不與邏輯門(mén)相連,下端與邏輯門(mén)相連。
[0052] 在故障樹(shù),各圓形符號(hào)或矩陣符號(hào)均以字母標(biāo)注,相同字母標(biāo)注的圓形符號(hào)或矩 陣符號(hào)表不同一事件。
[0053] 本實(shí)施例中,Xi表示底事件,Gi表示中間事件,T表示頂事件。i是事件數(shù)量的編號(hào);i =1,2,3,4,5〇
[0054] 在圖2中,乂:不存在原因事件,但存在結(jié)果事件GJPG4; X2不存在原因事件,存在結(jié) 果事件G2;X3不存在原因事件,存在結(jié)果事件G3和G5;X4不存在原因事件,存在結(jié)果事件G 3和 G5;X5不存在原因事件,存在結(jié)果事件G3和G 5。底事件僅存在結(jié)果事件而不存在原因事件,因 此Xi、X2、X3、X4和X 5五個(gè)事件為底事件,用圓形符號(hào)表示。
[0055] 在圖2中,Gi存在原因事件X4PG3,存在結(jié)果事件T;G2存在原因事件X 2和G4,存在結(jié) 果事件T;G3存在原因事件X3、X4和X5,存在結(jié)果事件G 1;G4存在原因事件XjPG5,存在結(jié)果事 件G2 ;G5存在原因事件X3、X4和X5,存在結(jié)果事件G4。中間事件既存在原因事件也存在結(jié)果事 件,因此Gi、G 2、G3、GjPG5五個(gè)事件為中間事件,用矩形符號(hào)表示。
[0056] 在圖2中,頂事件T存在原因事件GjPG2,不存在結(jié)果事件。頂事件僅存在原因事件 而不存在結(jié)果事件,因此T為頂事件,用矩形符號(hào)表示。
[0057] 步驟2,對(duì)故障樹(shù)所有事件進(jìn)行排序。按照父節(jié)點(diǎn)在前、子節(jié)點(diǎn)在后及底事件在前、 中間事件居中、頂層事件最后的排序原則對(duì)故障樹(shù)所有事件進(jìn)行排序,排序結(jié)果:{Xi,X 2, X3,X4,X5,G5,G4,G 3,G2,Gi,T}。在任意故障樹(shù)中,如果圓形符號(hào)的上端或矩形符號(hào)的上端指向 一個(gè)邏輯門(mén)J,邏輯門(mén)J上端又指向矩形符號(hào)下端,則邏輯門(mén)J下端的事件是邏輯門(mén)J上端事 件的父節(jié)點(diǎn),輯門(mén)J上端事件是邏輯門(mén)J下端事件的子節(jié)點(diǎn)。
[0058] -個(gè)子節(jié)點(diǎn)可以有多個(gè)父節(jié)點(diǎn),一個(gè)父節(jié)點(diǎn)也可有多個(gè)子節(jié)點(diǎn)。即,父節(jié)點(diǎn)與子節(jié) 點(diǎn)是以邏輯門(mén)連接的圓形符號(hào)或矩形符號(hào),該邏輯門(mén)表達(dá)了若發(fā)生子節(jié)點(diǎn)事件,則父節(jié)點(diǎn) 所須滿足的邏輯條件。
[0059] 步驟3,設(shè)定系統(tǒng)運(yùn)行時(shí)刻T,并確定各底事件在系統(tǒng)運(yùn)行時(shí)刻T的發(fā)生概率。確定 方法:當(dāng)各底事件的發(fā)生概率已知,將該已知概率作為底事件在系統(tǒng)運(yùn)行時(shí)刻的發(fā)生概率; 當(dāng)各底事件的發(fā)生概率未直接給出,將系統(tǒng)運(yùn)行時(shí)刻T分別帶入已知的各概率分布F(t)中, 得到各底事件在系統(tǒng)運(yùn)行時(shí)刻的發(fā)生概率。
[0060] 所述各底事件的概率分布F(t)是指底事件發(fā)生概率F隨時(shí)間t變化的函數(shù),函數(shù)中 的自變量為時(shí)間t,t的范圍需大于等于0,函數(shù)因變量F表示的是概率,因此范圍為[0.0, 1.0]〇
[0061 ]故障樹(shù)包括建模和分析兩部分內(nèi)容。本發(fā)明提出的方法是一種針對(duì)故障樹(shù)的分析 方法,與建模方法無(wú)關(guān)。在建模部分,底事件服從的概率分布F(t)由故障樹(shù)建模者給出。當(dāng) 故障樹(shù)的建模工作完成后,才可由故障樹(shù)分析人員對(duì)故障樹(shù)進(jìn)行分析。因此,在故障樹(shù)分析 者對(duì)故障樹(shù)進(jìn)行分析時(shí),概率分布F(t)是作為故障樹(shù)的已知條件而存在的。
[0062]在圖2中,底事件X2、X3、X4和X5各自服從的概率分布F (t)在其圓形符號(hào)下方,F(xiàn) (t) 中的e為數(shù)學(xué)常量:自然對(duì)數(shù)的底數(shù),M (i = 2,3,4,5)表示底事件Xi (i = 2,3,4,5)的故障率。 故障率的定義為工作到某時(shí)刻t尚未生效的事件,在該時(shí)刻t以后的下一個(gè)單位時(shí)間內(nèi)發(fā)生 故障的概率。通過(guò)故障率A,能夠獲得事件發(fā)生概率隨時(shí)間t的變化函數(shù):
,exp為e的另一種等價(jià)數(shù)學(xué)表達(dá)形式。當(dāng)Mt)與時(shí)間無(wú)關(guān),等于常 數(shù)時(shí),函數(shù)F(t) = l-e~。
[0063] 系統(tǒng)運(yùn)行時(shí)刻T設(shè)定為大于0的任何值。在該實(shí)例中,設(shè)定系統(tǒng)運(yùn)行時(shí)刻T= 1000。 對(duì)于圖2中的底事件X2、X3、X4和X5,將時(shí)間T = t=1000帶入F(t),計(jì)算得到底事件X2、X3、X4和 X5在時(shí)刻T= 1000時(shí)的發(fā)生概率依次為:
[0064]
[0065]
[0066]
[0067]
[0068]在圖2中,底事件X1*生概率F是與時(shí)間無(wú)關(guān)的已知量,將已知量直接作為底事件 發(fā)生概率,底事件乂:在了= 1000時(shí)的概率為= F1(T=1000 ) =0.010939。
[0069] ?1、?2、?3、?5和?5的下標(biāo)分別對(duì)應(yīng)事件乂 1、乂2、乂3、乂4和)(5中的數(shù)字,下標(biāo)表明了各底 事件發(fā)生概率Fi(i = l,2,3,4,5)與各底事件Xi(i = l,2,3,4,5)的對(duì)應(yīng)關(guān)系。
[0070] 步驟4,確定對(duì)故障樹(shù)進(jìn)行蒙特卡洛仿真的次數(shù)N。根據(jù)底事件最小概率值確定對(duì) 故障樹(shù)進(jìn)行蒙特卡洛仿真的次數(shù)N。比較步驟3中得到的各底事件發(fā)生概率的值,取最小值 作為底事件最小概率值。設(shè)定的仿真次N需滿足條件:N>50/最小概率值。在本實(shí)施例中,最 小概率值為〇. 010939設(shè)定仿真次數(shù)N=5000。
[0071] 步驟5,確定各底事件在系統(tǒng)運(yùn)行時(shí)刻的狀態(tài)。應(yīng)用蒙特卡洛抽樣方法,確定各底 事件在系統(tǒng)運(yùn)行時(shí)刻的狀態(tài);所述點(diǎn)狀態(tài)為故障或正常。對(duì)于各底事件狀態(tài)的確定方法,具 體實(shí)施過(guò)程如下:
[0072]對(duì)任一底事件,隨機(jī)抽取一服從[0,1 ]均勾分布的隨機(jī)數(shù)Ui~U[0,1 ];
[0073] 比較U1與底事件發(fā)生概率的大小,當(dāng)山小于底事件發(fā)生概率時(shí),認(rèn)為底事件發(fā)生; 否則認(rèn)為底事件不發(fā)生。
[0074] 按照步驟5所述具體實(shí)施過(guò)程依次確定所有底事件的狀態(tài)。
[0075] 所述確定各底事件在系統(tǒng)運(yùn)行時(shí)刻T的狀態(tài)的具體過(guò)程如下:
[0076]應(yīng)用matlab,C編程軟件均能夠產(chǎn)生服從[0,1]均勻分布的隨機(jī)數(shù)。本實(shí)施例中采 用C編程軟件進(jìn)行隨機(jī)數(shù)抽取。由于本發(fā)明提出的方法基于隨機(jī)抽樣,因此每次抽樣得到的 隨機(jī)數(shù)可能不同。在該實(shí)施例中,本步驟僅以一種可能的抽樣結(jié)果為例對(duì)本發(fā)明的方法進(jìn) 行說(shuō)明,所述是對(duì)本發(fā)明的解釋而不是限定。
[0077]為每個(gè)底事件分別抽取一隨機(jī)數(shù),結(jié)果如下:
[0078] 對(duì)于X1,隨機(jī)抽取服從[0,1 ]均勻分布的隨機(jī)數(shù)為0.513657,大于X1發(fā)生概率?!( T = 1000),故Xi不發(fā)生;
[0079] 對(duì)于X2,隨機(jī)抽取服從[0,1 ]均勻分布的隨機(jī)數(shù)為0.104892,小于X2發(fā)生概率F2 (T = 1000),故 X2 發(fā)生;
[0080]對(duì)于X3,隨機(jī)抽取服從[0,1 ]均勻分布的隨機(jī)數(shù)為0.99292,大于X3發(fā)生概率F3(T = 1000),故X3不發(fā)生;
[0081 ]對(duì)于X4,隨機(jī)抽取服從[0,1 ]均勻分布的隨機(jī)數(shù)為0.66332,大于X4發(fā)生概率F4(T = 1000),故X4不發(fā)生;
[0082]對(duì)于X5,隨機(jī)抽取服從[0,1 ]均勻分布的隨機(jī)數(shù)為0.189215,大于X5發(fā)生概率F5 (T = 1000),故X5不發(fā)生。
[0083] 步驟6,依次確定中間事件及頂事件的狀態(tài)。在步驟5已確定的各底事件狀態(tài)基礎(chǔ) 上,按照步驟2中的事件排序,依次確定中間事件及頂事件的狀態(tài),并記錄確定好的頂事件 狀態(tài)。
[0084] 對(duì)任意中間事件或頂事件,在確定所述任意中間事件的狀態(tài)或頂事件的狀態(tài)時(shí), 首先需確定該任意中間事件父節(jié)點(diǎn)的狀態(tài)或頂事件父節(jié)點(diǎn)的狀態(tài)。
[0085] 其次,確定該任意中間事件或頂事件與父節(jié)點(diǎn)的連接邏輯門(mén)J。雖然對(duì)于不同的邏 輯門(mén)J,確定所述任意中間事件狀態(tài)或頂事件狀態(tài)的方法不同,但均需遵從同一原則:既然 邏輯門(mén)J表達(dá)了子節(jié)點(diǎn)發(fā)生時(shí)父節(jié)點(diǎn)所須的邏輯條件,那么當(dāng)父節(jié)點(diǎn)的狀態(tài)滿足邏輯門(mén)J所 表達(dá)的邏輯條件時(shí),所述任意中間事件或頂事件發(fā)生,否則所述任意中間事件或頂事件不 發(fā)生。
[0086] 在本實(shí)施例中,事件的排序?yàn)?X1,X2,X3,X 4,X5,G5,G4,G3,G 2,G1,T}。依照事件排序, 本實(shí)施例中各中間事件和頂事件狀態(tài)的確定步驟如下:
[0087] 對(duì)于中間事件G5,導(dǎo)致該事件發(fā)生的父節(jié)點(diǎn)有X3,X4,X5。6 5與父節(jié)點(diǎn)的連接邏輯門(mén) 為或門(mén),故導(dǎo)致&發(fā)生的邏輯條件為:X3,X4,X 5任一事件發(fā)生,G5發(fā)生。在步驟5中,已確定X3, X4,X5均不發(fā)生,故&不發(fā)生;
[0088]對(duì)于中間事件G4,導(dǎo)致該事件發(fā)生的父節(jié)點(diǎn)有X1,G5。G 4與父節(jié)點(diǎn)的連接邏輯門(mén)為 與門(mén),故導(dǎo)致G4發(fā)生的邏輯條件為山與65均發(fā)生,G4發(fā)生。在步驟5中,已確定G 5,X1均不發(fā) 生,故G4不發(fā)生;
[0089] 對(duì)于中間事件G3,導(dǎo)致該事件發(fā)生的父節(jié)點(diǎn)有X3,X4,X5 A3與父節(jié)點(diǎn)的連接邏輯門(mén) 為與門(mén),故導(dǎo)致G3發(fā)生的邏輯條件為山上,乂5所有事件發(fā)生,6 3發(fā)生。在步驟5中,已確定父3, X4,X5均不發(fā)生,故G3不發(fā)生;
[0090] 對(duì)于中間事件G2,導(dǎo)致該事件發(fā)生的父節(jié)點(diǎn)有X2,G4(3G2與父節(jié)點(diǎn)的連接邏輯門(mén)為 或門(mén),故導(dǎo)致6 2發(fā)生的邏輯條件為:X2,G4任一事件發(fā)生,G2發(fā)生。已確定X 2發(fā)生,G4不發(fā)生,故 G2發(fā)生;
[0091] 對(duì)于中間事件G1,導(dǎo)致該事件發(fā)生的父節(jié)點(diǎn)有X1,G3 A1與父節(jié)點(diǎn)的連接邏輯門(mén)為 或門(mén),故導(dǎo)致&發(fā)生的邏輯條件為= X1,G3任一事件發(fā)生,G1發(fā)生。已確定X1,G 3不發(fā)生,故&不 發(fā)生;
[0092] 對(duì)于頂事件T,導(dǎo)致該事件發(fā)生的父節(jié)點(diǎn)有G1, G2t3T與父節(jié)點(diǎn)的連接邏輯門(mén)為或門(mén), 故導(dǎo)致頂事件T發(fā)生的邏輯條件為:G1,&任一事件發(fā)生,T發(fā)生。已確SG 1不發(fā)生,G2發(fā)生,故 T發(fā)生。
[0093] 步驟7,重復(fù)確定底事件、中間事件及頂事件的狀態(tài)。連續(xù)重復(fù)步驟5和步驟6,直至 重復(fù)次數(shù)達(dá)到設(shè)定的仿真次數(shù)N,在N次重復(fù)過(guò)程中,根據(jù)各次在步驟6中確定的頂事件狀 態(tài),累計(jì)頂事件的發(fā)生次數(shù)M。當(dāng)N次重復(fù)結(jié)束后,轉(zhuǎn)到步驟8。在該實(shí)施例中,累積得到頂事 件發(fā)生次數(shù)M為113。
[0094] 步驟8,確定頂事件發(fā)生概率和故障樹(shù)所表示系統(tǒng)的可靠度。
[0095] 頂事件發(fā)生概率=頂事件發(fā)生次數(shù)M/設(shè)定的仿真次數(shù)N;
[0096]系統(tǒng)可靠度= 1.0-頂事件發(fā)生概率。
[0097] 在該實(shí)施例中,頂事件發(fā)生概率=113/5000 = 0.0226,可靠度=1 一0.0226 = 0.9774〇
[0098] 為驗(yàn)證本發(fā)明提出的蒙特卡洛仿真方法準(zhǔn)確性,通過(guò)精確求解方法對(duì)該故障樹(shù)進(jìn) 行求解。具體分析如下:
[0099] 首先得到此故障樹(shù)的最小割集有{XU {Χ2} {Χ3,Χ4,Χ5}。
[0100] 在圖2中,頂事件T的表示為
[0101] T=GiUG2
[0102] =(XiUG3) U (X2UG4)
[0103] =EX1U (X3 門(mén) X4 門(mén) X5)] U [X2U (X1AG5)]
[0104] =XiU (χ3 nX4ηX5) UX2U (XinG5)
[0105] =XiU (χ3 ηX4nx5) UX2U [Xi n (X3UX4UX5)]
[0106] =XiU (χ3ηχ4ηχ5) UX2U (Xinx3) υ (Xinx4) υ (Xinx5)
[0107] 根據(jù)T的表達(dá)式,圖2中的故障樹(shù)存在6個(gè)割集:
[0108] {Χι}, {Χ3,Χ4,Χ5}, {Χ2}, {Χι,Χ3}, {Χι,Χ4}, {Χι,Χδ} 〇
[0109] 通過(guò)布爾邏輯的集合運(yùn)算吸收規(guī)律簡(jiǎn)化以上6個(gè)割集,得到全部最小割集。因?yàn)閄1 +ΧιΧ3 = Χι、Χι+ΧιΧ4 = Χι 和 Χι+ΧιΧ5 = Χι,所以割集{Χι,Χ4}和{Xi,Xs}被割集{Χι}吸收,得到故障 樹(shù)的所有最小割集:{Χι},{X 2},{Χ3,Χ4,Χ5}。
[oho]當(dāng)獲得最小割集后,然后用公式法計(jì)算頂事件發(fā)生概率,頂事件發(fā)生概率計(jì)算公 式為:
[0111] F = P(Ki UK2 U K3) =Ρ(Κι)+Ρ(Κ2)+Ρ(Κ3)
[0112] -P (KiK2) -ρ (K2K3) -ρ (KiK3) +P (KiK2K3)
[0113] =Ρ(Κι)+Ρ(Κ2)+Ρ(Κ3)
[0114] -Ρ(Κι)Ρ(Κ2)-Ρ(Κ2)Ρ(Κ3)-Ρ(Κι)Ρ(Κ3)+Ρ(Κι)Ρ(Κ2)Ρ(Κ 3)
[0115] 其中,1^、1(2和1(3分別為第1、2、3個(gè)最小割集,P(K1)A(K 1)和P(K1)分別表示第I、2、3 個(gè)最小割集的發(fā)生概率,則P(K1) =FKT= 1000) ,P(K2)=F2(T=1000 ) ,P(K3)=F3(T=1000 ) F4(T = 1000 )F5 (T = 1000)。將此三個(gè)等式帶入頂事件發(fā)生概率計(jì)算公式,得系統(tǒng)在T = 1000 h 時(shí)刻,頂事件發(fā)生概率的精確計(jì)算結(jié)果F = 0.02274,而仿真結(jié)果為0.0226,絕對(duì)誤差 0.00014,相對(duì)誤差0.616%。為了進(jìn)一步驗(yàn)證本發(fā)明提出的仿真方法有效性,表1給出了在 不同仿真次數(shù)下的仿真結(jié)果。
[0116] 表1不同仿真次數(shù)下的仿真結(jié)果
[0119] 從表中可以看出,隨著仿真次數(shù)的增大,仿真結(jié)果收斂于精確解,滿足工程需求。 通過(guò)對(duì)比仿真與精確計(jì)算結(jié)果,驗(yàn)證了本發(fā)明提出的仿真方法的正確性以及優(yōu)越性:
[0120] 首先,可以取代繁瑣而復(fù)雜的傳統(tǒng)公式計(jì)算方法,得到滿足工程需求的不可靠度 結(jié)果;
[0121] 其次,由于X1壽命分布未知,無(wú)法應(yīng)用傳統(tǒng)的基于結(jié)構(gòu)函數(shù)的通掃故障樹(shù)仿真方 法和基于最小割集的故障樹(shù)仿真方法,而本發(fā)明提出的方法不需要確切知道各事件或元件 的壽命分布,只需求解在系統(tǒng)運(yùn)行時(shí)刻各底事件發(fā)生的概率,故使用受限制條件小,模擬過(guò) 程更為靈活;
[0122] 最后,本方法也不需要通掃故障樹(shù)求解系統(tǒng)結(jié)構(gòu)函數(shù)或求解系統(tǒng)所有的最小割, 相比之下仿真流程簡(jiǎn)單,使用起來(lái)方便。
【主權(quán)項(xiàng)】
1. 一種基于蒙特卡洛仿真的故障樹(shù)分析方法,其特征在于,具體過(guò)程是: 步驟1,確定故障樹(shù)中的底事件、中間事件和頂事件: 在故障樹(shù)中,原因事件和結(jié)果事件用邏輯門(mén)J相連,且邏輯門(mén)J下端為原因事件,上端為 結(jié)果事件; 所述底事件的上端與邏輯門(mén)J相連,下端不與事件相連;頂事件的上端不與邏輯門(mén)J相 連,下端與邏輯門(mén)相連沖間事件上端與下端均與邏輯門(mén)J相連; 步驟2,對(duì)故障樹(shù)所有事件進(jìn)行排序: 按照父節(jié)點(diǎn)在前、子節(jié)點(diǎn)在后及底事件在前、中間事件居中、頂層事件最后的排序原則 對(duì)故障樹(shù)所有事件進(jìn)行排序,排序結(jié)果為{Xi,Gi,T},i = 1,2,3,4,5; 在任意故障樹(shù)中,如果底事件的上端或中間事件的上端指向邏輯門(mén)J,該邏輯門(mén)J上端 又指向中間事件或頂事件的下端,則邏輯門(mén)J下端的事件是邏輯門(mén)J上端事件的父節(jié)點(diǎn),輯 門(mén)J上端事件是邏輯門(mén)J下端事件的子節(jié)點(diǎn); 步驟3,設(shè)定系統(tǒng)運(yùn)行時(shí)刻T,并確定各底事件在系統(tǒng)運(yùn)行時(shí)刻T的發(fā)生概率: 所述系統(tǒng)運(yùn)行時(shí)刻T設(shè)定為大于0的任何值; 確定各底事件在系統(tǒng)運(yùn)行時(shí)刻T的發(fā)生概率時(shí):當(dāng)各底事件的發(fā)生概率已知,將該已知 概率作為底事件在系統(tǒng)運(yùn)行時(shí)刻的發(fā)生概率;當(dāng)各底事件的發(fā)生概率未直接給出,將系統(tǒng) 運(yùn)行時(shí)刻T分別帶入各底事件的分布F(t)中,得到各底事件在系統(tǒng)運(yùn)行時(shí)刻的發(fā)生概率; 步驟4,確定對(duì)故障樹(shù)進(jìn)行蒙特卡洛仿真的次數(shù)N: 根據(jù)底事件最小概率值確定對(duì)故障樹(shù)進(jìn)行蒙特卡洛仿真的次數(shù)N;比較步驟3中得到的 各底事件發(fā)生概率的值,取最小值作為底事件最小概率值;設(shè)定的仿真次N需滿足條件:N> 50/最小概率值; 步驟5,確定各底事件在系統(tǒng)運(yùn)行時(shí)刻的狀態(tài): 應(yīng)用蒙特卡洛抽樣方法,確定各底事件在系統(tǒng)運(yùn)行時(shí)刻的狀態(tài);所述點(diǎn)狀態(tài)為故障或 正常;在確定各底事件狀態(tài)時(shí),隨機(jī)抽取某底事件服從[〇,1]均勻分布的隨機(jī)數(shù)山~1][0, 1]; 比較山與底事件發(fā)生概率的大小,當(dāng)山小于底事件發(fā)生概率時(shí),認(rèn)為底事件發(fā)生; 否則認(rèn)為底事件不發(fā)生; 重復(fù)所述隨機(jī)抽取各底事件的隨機(jī)數(shù)Ui~U[0,1],并將分別抽取的山與底事件發(fā)生概 率進(jìn)行比較的過(guò)程,依次確定所有底事件的狀態(tài); 步驟6,依次確定中間事件及頂事件的狀態(tài): 在步驟5已確定的各底事件狀態(tài)基礎(chǔ)上,按照步驟2中的事件排序,依次確定中間事件 及頂事件的狀態(tài),并記錄確定好的頂事件狀態(tài); 對(duì)任意中間事件或頂事件,在確定所述任意中間事件的狀態(tài)或頂事件的狀態(tài)時(shí),首先 需確定該任意中間事件父節(jié)點(diǎn)的狀態(tài)或頂事件父節(jié)點(diǎn)的狀態(tài); 其次,確定該任意中間事件或頂事件與父節(jié)點(diǎn)的連接邏輯門(mén)J;雖然對(duì)于不同的邏輯門(mén) J,確定所述任意中間事件狀態(tài)或頂事件狀態(tài)的方法不同,但均需遵從同一原則:既然邏輯 門(mén)J表達(dá)了子節(jié)點(diǎn)發(fā)生時(shí)父節(jié)點(diǎn)所須的邏輯條件,那么當(dāng)父節(jié)點(diǎn)的狀態(tài)滿足邏輯門(mén)J所表達(dá) 的邏輯條件時(shí),所述任意中間事件或頂事件發(fā)生,否則所述任意中間事件或頂事件不發(fā)生; 步驟7,重復(fù)確定底事件、中間事件及頂事件的狀態(tài): 連續(xù)重復(fù)步驟5和步驟6,直至重復(fù)次數(shù)達(dá)到設(shè)定的仿真次數(shù)N,在N次重復(fù)過(guò)程中,根據(jù) 各次在步驟6中確定的頂事件狀態(tài),累計(jì)頂事件的發(fā)生次數(shù)M;當(dāng)N次重復(fù)結(jié)束后,轉(zhuǎn)到步驟 8; 步驟8,確定頂事件發(fā)生概率和故障樹(shù)所表示系統(tǒng)的可靠度: 頂事件發(fā)生概率=頂事件發(fā)生次數(shù)M/設(shè)定的仿真次數(shù)N; 系統(tǒng)可靠度=1.0-頂事件發(fā)生概率。2. 如權(quán)利要求1所述基于蒙特卡洛仿真的故障樹(shù)分析方法,其特征在于,在故障樹(shù)中: 不存在原因事件且存在結(jié)果事件的事件稱(chēng)為底事件,底事件是故障樹(shù)中無(wú)需探明其發(fā)生原 因的事件;既存在原因事件又同時(shí)存在結(jié)果事件的事件,稱(chēng)為中間事件;頂事件本身就是故 障樹(shù)分析中所關(guān)心的結(jié)果事件。3. 如權(quán)利要求1所述基于蒙特卡洛仿真的故障樹(shù)分析方法,其特征在于,所述的父節(jié)點(diǎn) 與子節(jié)點(diǎn)是以邏輯門(mén)連接的底事件或頂事件/中間事件,該邏輯門(mén)表達(dá)了若發(fā)生子節(jié)點(diǎn)事 件,則父節(jié)點(diǎn)所須滿足的邏輯條件。4. 如權(quán)利要求1所述基于蒙特卡洛仿真的故障樹(shù)分析方法,其特征在于,所述各底事件 的概率分布F(t)是指底事件發(fā)生概率F隨時(shí)間t變化的函數(shù),函數(shù)中的自變量為時(shí)間t,t的 范圍需大于等于0,函數(shù)因變量F表示的是概率,因此范圍為[0.0,1.0]。
【文檔編號(hào)】G06F17/50GK106055729SQ201610247067
【公開(kāi)日】2016年10月26日
【申請(qǐng)日】2016年4月20日
【發(fā)明人】孫秦, 王瑤
【申請(qǐng)人】西北工業(yè)大學(xué)