呂學(xué)志,范保新,趙新會,尹 健,王憲文,姚 耀
1.國防大學(xué) 信息作戰(zhàn)與指揮訓(xùn)練教研部,北京 100091
2.陸軍炮兵訓(xùn)練基地教研部,河北 宣化 075100
為了提高系統(tǒng)的可靠度,通常采用兩種方式:一是提高組件單元的可靠度,二是采用冗余形式。為了提高組件單元的可靠度,可能需要更精進(jìn)的制造工藝,這就需要投入更多的人力、資金、時間進(jìn)行研發(fā),從而增加制造成本,但組件單元可靠度的增加非常有限。在實(shí)際應(yīng)用中,一般采用組件冗余的方式,提高整個系統(tǒng)的可靠度。因此,冗余系統(tǒng)在現(xiàn)實(shí)世界中應(yīng)用非常廣泛。而可用度(Availability)是裝備可用性的概率度量,是系統(tǒng)效能的重要因素,是用戶最關(guān)心的重要參數(shù)之一。所以,分析冗余系統(tǒng)的可用度是工程人員經(jīng)常面臨的問題。
目前,對系統(tǒng)可用度分析主要使用馬爾可夫過程和仿真方法。文獻(xiàn)[1]運(yùn)用馬爾可夫過程分析了可修系統(tǒng)的可用度。文獻(xiàn)[2]運(yùn)用馬爾可夫過程分析了汽車機(jī)軸的可靠性。文獻(xiàn)[3]概述了馬爾可夫方法在多階段任務(wù)系統(tǒng)可靠性分析中的應(yīng)用。文獻(xiàn)[4-5]系統(tǒng)介紹了系統(tǒng)可靠性數(shù)字仿真方法。文獻(xiàn)[6]給出了基于最小路集的復(fù)雜系統(tǒng)可用度仿真算法。此外一些商業(yè)可靠性仿真軟件可以很好地實(shí)現(xiàn)對基于基本可靠性框圖的可靠性仿真,例如Blocksim 7.0,只要用戶給定可靠性、維修性參數(shù)、可靠性框圖,計算機(jī)將自動仿真計算出各類可靠性參數(shù)[7]。文獻(xiàn)[8]介紹了利用仿真方法確定最小割集以及可靠性的方法,系統(tǒng)的結(jié)構(gòu)用基于最小割集的真值表進(jìn)行描述。但是,上述仿真方法并不適用于包含冷儲備關(guān)系的冗余系統(tǒng),使得其應(yīng)用范圍受到了限制。
綜上所述,冗余系統(tǒng)可用度可以使用馬爾可夫過程,但是這種方法只適用于部件較少、結(jié)構(gòu)并不復(fù)雜的系統(tǒng),如果部件數(shù)量增加,結(jié)構(gòu)更加復(fù)雜,則由于狀態(tài)空間的急劇增加,很難對其進(jìn)行分析。雖然仿真方法不受部件規(guī)模的限制,但是目前的仿真方法主要用最小路基、最小割集、可靠性框圖來描述系統(tǒng)結(jié)構(gòu),這種描述方法很難反映部件狀態(tài)的相關(guān)性,并不適用于包含冷儲備這種狀態(tài)相關(guān)關(guān)系的冗余系統(tǒng),限制了其應(yīng)用范圍。所以,需要對冗余系統(tǒng)可用度仿真算法以及系統(tǒng)結(jié)構(gòu)描述進(jìn)行深入研究,解決目前面臨的難題。
冗余系統(tǒng)通常包括儲備系統(tǒng)和表決系統(tǒng)。儲備系統(tǒng)中有k個單元工作,把n-k個單元作為備件,且可以代替工作中失效的單元工作,以提高系統(tǒng)的可靠度,把這樣的系統(tǒng)稱為“n中取n-k備用(n-kout-ofn;Standby)的儲備系統(tǒng)”,記為n-k/n(S)系統(tǒng)。單元的儲備形式有多種多樣,常見的有冷儲備、熱儲備和溫儲備[9]。表決系統(tǒng)也是一種冗余系統(tǒng),在工程實(shí)踐中得到了廣泛的應(yīng)用。組成系統(tǒng)的n個單元中,只要有k個或k個以上單元正常,則系統(tǒng)正常,把這樣的系統(tǒng)稱為“n中取 k好(k-out-ofn;Good)表決系統(tǒng)”,記為 k/n(G)系統(tǒng)。表決系統(tǒng)的特例是并聯(lián)(1/n(G))和串聯(lián)(n/n(G))系統(tǒng)。熱儲備系統(tǒng)可以歸為表決系統(tǒng)。由于溫儲備和冷儲備都需要啟動備用單元,所以溫儲備可以歸為冷儲備的一種特例。所以經(jīng)過以上簡單分析,可以說冗余系統(tǒng)包括冷儲備系統(tǒng)和表決系統(tǒng)[9]。
圖2 并聯(lián)系統(tǒng)狀態(tài)轉(zhuǎn)移圖
本文的研究目的是利用離散事件仿真方法來分析冗余系統(tǒng)可用度,需要解決的第一個難題就是如何用結(jié)構(gòu)化的形式來表示冗余系統(tǒng)結(jié)構(gòu)。由于冗余系統(tǒng)中可能存在冷儲備系統(tǒng),其部件狀態(tài)相關(guān),關(guān)系結(jié)構(gòu)非常復(fù)雜,所以不能再按照基本可靠性框圖的方式來使用最小路集或最小割集來表示其結(jié)構(gòu)。這里采用BS樹形式來表示冗余系統(tǒng)結(jié)構(gòu)。見圖1。
圖1 BS樹狀結(jié)構(gòu)圖示例
在BS樹中,有三種圖形,即矩形、圓形、連接線。圓形表示下層部件,按數(shù)字順序進(jìn)行編號。矩形表示下層部件的關(guān)系,矩形中的“S”表示冷儲備關(guān)系,“B”表示表決關(guān)系。如果是冷儲備關(guān)系,矩形中數(shù)字表示冷儲備系統(tǒng)n-k/n(S)中正常工作單元數(shù)k。如果是表決關(guān)系,矩形中數(shù)字表示k/n(G)表決系統(tǒng)中的k。
為了分析復(fù)雜冗余系統(tǒng)行為,首先分析一下簡單的2部件并聯(lián)系統(tǒng)與2部件冷儲備系統(tǒng)的行為。圖2是2部件并聯(lián)系統(tǒng)狀態(tài)轉(zhuǎn)移圖,圖中x1與x2分別表示部件1和部件2,sys表示部件1和部件2組成的系統(tǒng)。 x1、x2有3個狀態(tài):wait(待用)、off(故障)、on(正常);sys有2個狀態(tài):off(故障)、on(正常)。 sys、x1與 x2的初始狀態(tài)為正常狀態(tài);當(dāng)x1、x2兩個部件都故障之后,整個系統(tǒng)故障。如果部件 x1或x2處于wait狀態(tài),當(dāng)sys進(jìn)入on狀態(tài),即en(sys.on),則 x1、x2進(jìn)入on狀態(tài)。當(dāng)部件x1或 x2處于on狀態(tài),當(dāng)sys進(jìn)入off狀態(tài),即en(sys.off),則 x1、x2進(jìn)入wait狀態(tài)。 f1、f2分別表示 x1、x2的故障事件,當(dāng)發(fā)生故障事件后,x1或x2由on狀態(tài)轉(zhuǎn)變?yōu)閛ff狀態(tài);g1、g2分別表示 x1、x2的修好事件,當(dāng)發(fā)生修好事件后,x1或x2由off狀態(tài)轉(zhuǎn)變?yōu)閣ait狀態(tài)。圖3是2部件冷儲備系統(tǒng)狀態(tài)轉(zhuǎn)移圖。x1、x2兩個部件中x2是備件,x2的初始狀態(tài)為wait狀態(tài),x1、sys的初始狀態(tài)為on狀態(tài);當(dāng)x1故障之后,則x2進(jìn)入正常狀態(tài);當(dāng)x2與x1都故障時,則系統(tǒng)故障。通過比較圖2、3,發(fā)現(xiàn)在冗余系統(tǒng)中,部件狀態(tài)是相關(guān)的。當(dāng)系統(tǒng)正常時,則原本處于待用狀態(tài)的部件也將進(jìn)入正常工作狀態(tài)。當(dāng)系統(tǒng)故障時,則原本正常工作的部件也將進(jìn)入待用狀態(tài)。因此,對于冗余系統(tǒng)來說,不僅部件狀態(tài)要受到系統(tǒng)狀態(tài)的影響,而且可能由于某些部件是備用的,部件之間狀態(tài)也是相互影響的[10]。
圖3 冷儲備系統(tǒng)狀態(tài)轉(zhuǎn)移圖
接下來,以圖1中的冗余系統(tǒng)為例對具有兩層嵌套結(jié)構(gòu)的冗余系統(tǒng)行為進(jìn)行分析。假設(shè)x1、x2、x3、x4、x5初始狀態(tài)為正常,處于第2層的“B,1”子系統(tǒng)正常,“S,2”子系統(tǒng)正常,則頂層的“S,1”系統(tǒng)狀態(tài)正常。頂層“S,1”系統(tǒng)狀態(tài)正常,由于其關(guān)系是冷儲備,所以處于第2層的“B,1”子系統(tǒng)、“S,2”子系統(tǒng)必有一個處于待用狀態(tài),選擇“S,2”子系統(tǒng)處于待用狀態(tài),則其下屬部件x3、x4、x5處于待用狀態(tài)。若x1、x2都故障且沒有修好,第2層的“B,1”子系統(tǒng)進(jìn)入故障狀態(tài),“S,2”子系統(tǒng)處于待用狀態(tài),啟動“S,2”子系統(tǒng)后頂層的“S,1”系統(tǒng)仍處于正常狀態(tài),選擇“S,2”子系統(tǒng)下屬部件x3、x4處于正常狀態(tài),x5處于待用狀態(tài)。
根據(jù)以上對圖1中冗余系統(tǒng)的分析,可以總結(jié)出以下規(guī)律。對于多層嵌套結(jié)構(gòu)的冗余系統(tǒng),其行為總是由部件的事件引起的,部件修好或故障事件再影響到上層子系統(tǒng)的狀態(tài),上層子系統(tǒng)的狀態(tài)將影響其上層子系統(tǒng)的狀態(tài),直至頂層系統(tǒng)狀態(tài),頂層系統(tǒng)狀態(tài)又會影響到下層子系統(tǒng)狀態(tài),直至底層部件狀態(tài),這樣部件就會間接影響到兄弟部件狀態(tài)。這樣的行為演變具體來說可分為兩個過程:一是確定頂層系統(tǒng)狀態(tài)的過程,這是一個“自下而上”的過程,二是確定底層部件狀態(tài)轉(zhuǎn)移的過程,這是一個“自上而下”的過程。
算法假設(shè)條件有:(1)部件三狀態(tài):部件有三個狀態(tài),即正常、故障、待用,且部件之間狀態(tài)相關(guān)。(2)系統(tǒng)兩狀態(tài):在任一時間,系統(tǒng)或者正?;蛘吖收?。(3)單調(diào)關(guān)聯(lián)系統(tǒng):復(fù)雜冗余系統(tǒng)被認(rèn)為是單調(diào)關(guān)聯(lián)系統(tǒng)(如果每個部件處于正常狀態(tài),則系統(tǒng)必定處于正常狀態(tài);如果每個部件處于故障狀態(tài),則系統(tǒng)必定處于故障狀態(tài);如果部件從故障狀態(tài)向正常狀態(tài)轉(zhuǎn)變,則不會導(dǎo)致系統(tǒng)從正常狀態(tài)向故障狀態(tài)轉(zhuǎn)變)。(4)復(fù)雜冗余系統(tǒng)結(jié)構(gòu):復(fù)雜冗余系統(tǒng)的可靠性關(guān)系結(jié)構(gòu)已知,可以用BS樹的形式給出。(5)部件的維修時間分布函數(shù)與故障分布函數(shù):每個部件的維修時間分布函數(shù)與故障分布函數(shù)已知,即分布類型與分布參數(shù)已知。(6)維修策略:對于每個部件持續(xù)監(jiān)視其狀態(tài),并采用事后維修策略,不考慮由于維修資源有限而產(chǎn)生的排隊問題。(7)部件修復(fù)后如新:當(dāng)部件故障后經(jīng)過維修(換件),部件如同新的一樣。
輸入數(shù)據(jù)主要包括:(1)仿真次數(shù):調(diào)整仿真次數(shù)可能影響仿真結(jié)果的精確性、耗費(fèi)的仿真時間與計算資源;(2)仿真時間:每次仿真過程中的邏輯時間;(3)部件數(shù)量;(4)部件故障分布函數(shù);(5)部件維修時間分布函數(shù);(6)復(fù)雜冗余系統(tǒng)結(jié)構(gòu)參數(shù)。
輸出數(shù)據(jù)主要包括:(1)系統(tǒng)仿真時間內(nèi)平均可用度;(2)平均可用時間(Mean Up Time,MUT);(3)平均非可用時間(Mean Down Time,MDT);(4)平均故障次數(shù)(Mean Times of Failure,MTF);(5)平均首次故障時間(Mean Time to First Failure,MTTFF);(6)平均維修時間(Mean Time to Repair,MTTR)[11]。
根據(jù)離散事件仿真方法設(shè)計了復(fù)雜冗余系統(tǒng)可用度仿真算法,如圖4所示。復(fù)雜冗余系統(tǒng)中的每個部件可能會經(jīng)歷故障事件與修好事件。算法步驟如下[12]:
步驟1仿真時鐘、統(tǒng)計變量初始化為0。
步驟2根據(jù)復(fù)雜冗余系統(tǒng)結(jié)構(gòu)參數(shù),以及部件的故障分布函數(shù)初始化事件表與每個部件的狀態(tài)。
步驟3確定下一個事件的類型、時間,以及發(fā)生部位(即確定由哪個部件產(chǎn)生的)。
步驟4判斷是故障事件,還是修好事件。若是故障事件則執(zhí)行故障事件操作流程;否則,執(zhí)行修好事件操作流程。
圖4 復(fù)雜冗余系統(tǒng)可用度仿真算法
步驟5更新系統(tǒng)狀態(tài)、統(tǒng)計變量,推進(jìn)仿真時鐘。
步驟6重復(fù)執(zhí)行步驟3到步驟5,直到滿足仿真時間。
步驟7記錄單次仿真數(shù)據(jù)。
步驟8重復(fù)執(zhí)行步驟1到步驟7,直到達(dá)到仿真次數(shù)要求。
下面對故障事件操作流程圖進(jìn)行介紹,如圖5所示。首先,根據(jù)相應(yīng)部件維修時間分布函數(shù)隨機(jī)生成維修部件所需維修時間tm,安排部件下一個事件為修好事件,修好事件發(fā)生時間為當(dāng)前時鐘加上維修時間tm。然后確定復(fù)雜冗余系統(tǒng)狀態(tài)st(1):
(1)如果系統(tǒng)狀態(tài)st(1)為正常,則確定部件轉(zhuǎn)移狀態(tài)。根據(jù)部件狀態(tài)和轉(zhuǎn)移狀態(tài)更新部件事件表。①如果部件狀態(tài)為備用并且轉(zhuǎn)移狀態(tài)為正常,則部件狀態(tài)為正常,安排故障事件。如果部件剩余壽命為0,則故障事件時間為仿真時鐘時間加上根據(jù)部件故障分布隨機(jī)生成的故障時間tf。如果剩余壽命不為0,則故障事件時間為仿真時鐘時間加上剩余壽命。②如果部件狀態(tài)為正常并且轉(zhuǎn)移狀態(tài)為備用,則部件狀態(tài)為備用,安排備用事件(事件編號設(shè)置為2,事件時間設(shè)置為inf(無限大)),并記錄部件剩余壽命。
(2)如果系統(tǒng)狀態(tài)st(1)為故障,則所有處于正常狀態(tài)部件處于備用狀態(tài),記錄部件的剩余壽命(故障事件時間減去仿真時鐘時間),并安排備用事件(事件編號設(shè)置為2,事件時間設(shè)置為inf)。
圖5 故障事件操作流程圖
圖6 是修好事件操作流程圖。首先,修好部件處于備用狀態(tài),更新部件對應(yīng)的仿真事件表(既不安排故障事件也不安排修好事件),修好部件剩余壽命為0。然后,確定復(fù)雜冗余系統(tǒng)狀態(tài)st(1),如果系統(tǒng)狀態(tài)st(1)為正常,則確定部件轉(zhuǎn)移狀態(tài)。根據(jù)部件狀態(tài)和轉(zhuǎn)移狀態(tài)更新部件事件表。(1)如果部件狀態(tài)為備用并且轉(zhuǎn)移狀態(tài)為正常,則部件狀態(tài)為正常,安排故障事件。如果部件剩余壽命為0,則故障事件時間為仿真時鐘時間加上根據(jù)部件故障分布隨機(jī)生成的故障時間tf。如果剩余壽命不為0,則故障事件時間為仿真時鐘時間加上剩余壽命。(2)如果部件狀態(tài)為正常并且轉(zhuǎn)移狀態(tài)為備用,則部件狀態(tài)為備用,安排備用事件(事件編號設(shè)置為2,事件時間設(shè)置為inf),并記錄部件剩余壽命。以上介紹了復(fù)雜冗余系統(tǒng)可用度仿真算法的流程,接下來介紹表示BS樹、如何確定系統(tǒng)狀態(tài)以及部件的轉(zhuǎn)移狀態(tài)。
圖6 修好事件操作流程圖
從圖1可以觀察到BS樹像一棵倒過來的樹,很顯然應(yīng)該使用樹這種數(shù)據(jù)結(jié)構(gòu)來描述BS樹。在編程語言中有兩種描述樹的方法:一種是父指針表示法,另一種是左子結(jié)點(diǎn)/右兄弟結(jié)點(diǎn)法[13-15]。這里介紹前一種方法。BS樹可以表示為圖7中的三維數(shù)組形式。
圖7 BS樹的父指針數(shù)組表示法
在父指針表示法中,每個結(jié)點(diǎn)包含一個指向父結(jié)點(diǎn)的指針、類型值和標(biāo)記值。父指針表示為父結(jié)點(diǎn)在數(shù)組中位置的下標(biāo)值。例如,結(jié)點(diǎn)1的指針為0,表示其為根結(jié)點(diǎn);結(jié)點(diǎn)2的指針為1,表示其父結(jié)點(diǎn)是根結(jié)點(diǎn)。類型值只取1、2、3這三個值,取1表示結(jié)點(diǎn)為表決關(guān)系結(jié)點(diǎn),其子結(jié)點(diǎn)組成表決子系統(tǒng),標(biāo)記值為k/n(G)表決系統(tǒng)中的k;取2表示結(jié)點(diǎn)為冷儲備關(guān)系結(jié)點(diǎn),其子結(jié)點(diǎn)組成冷儲備子系統(tǒng),標(biāo)記值為n-k/n(S)冷儲備系統(tǒng)中的k;取3表示結(jié)點(diǎn)為部件,其沒有子結(jié)點(diǎn),標(biāo)記值為部件編號。在復(fù)雜冗余系統(tǒng)可用度仿真算法中,用類(Class)來描述樹t,并定義樹的方法。這些方法主要包括得到結(jié)點(diǎn)i的子結(jié)點(diǎn)向量getchildren(i),得到結(jié)點(diǎn)i的類型值gettype(i),得到結(jié)點(diǎn)i的標(biāo)記值getmark(i),得到樹t的寬度搜索向量breadthfirstiterator,判斷結(jié)點(diǎn)i是否是葉子isleaf(i)。
確定復(fù)雜冗余系統(tǒng)狀態(tài)是一個“自下而上”的過程。輸入數(shù)據(jù)包括t(描述復(fù)雜冗余系統(tǒng)結(jié)構(gòu)的BS樹)和sc(描述所有部件狀態(tài)的向量)。輸出數(shù)據(jù)是BS樹所有結(jié)點(diǎn)狀態(tài)向量st,st(1)表示BS樹根結(jié)點(diǎn)狀態(tài),即復(fù)雜冗余系統(tǒng)狀態(tài)。確定復(fù)雜冗余系統(tǒng)狀態(tài)的流程圖如圖8所示,其中|I|表示向量I中的元素個數(shù);|C|表示向量C中的元素個數(shù);sign()是一個函數(shù),當(dāng)x非0時,sign(x)=x/|x|;當(dāng) x=0時,sign(x)=0。
圖8 確定系統(tǒng)狀態(tài)流程圖
根據(jù)第3章的分析,確定底層部件轉(zhuǎn)移狀態(tài)需要判斷系統(tǒng)狀態(tài)是否正常。(1)如果系統(tǒng)狀態(tài)正常,則再根據(jù)系統(tǒng)的關(guān)系確定下層子系統(tǒng)的轉(zhuǎn)移狀態(tài),再由下層子系統(tǒng)狀態(tài)確定其下層子系統(tǒng)或部件的轉(zhuǎn)移狀態(tài),直至確定所有底層部件的轉(zhuǎn)移狀態(tài),所以這個過程是一個“自上而下”的確定過程。(2)如果系統(tǒng)狀態(tài)為故障,則令所有處于正常狀態(tài)的部件直接進(jìn)入待用狀態(tài)。確定底層部件轉(zhuǎn)移狀態(tài)需要系統(tǒng)狀態(tài)必須為正常,也就是說只有確定了系統(tǒng)狀態(tài)為正常的情況下才會確定部件轉(zhuǎn)移狀態(tài)。而如何確定系統(tǒng)狀態(tài)在前面已經(jīng)探討過了。
確定部件狀態(tài)轉(zhuǎn)移算法的輸入數(shù)據(jù)包括sc(所有部件狀態(tài)的向量)和t(系統(tǒng)結(jié)構(gòu)的BS樹)。輸出數(shù)據(jù)是s′c(所有底層部件轉(zhuǎn)移狀態(tài)的向量)。
在BS樹中,對于轉(zhuǎn)移狀態(tài)為正常(即等于1)且類型是冷儲備關(guān)系的結(jié)點(diǎn),可以稱其為“S型”結(jié)點(diǎn)。對于不是“S型”結(jié)點(diǎn)的結(jié)點(diǎn),可將其稱為“B型”結(jié)點(diǎn)。
確定“S型”結(jié)點(diǎn)的子結(jié)點(diǎn)(包括子系統(tǒng)和部件)的狀態(tài)轉(zhuǎn)移流程較為復(fù)雜(圖9中由上向下第3個“判斷”框圖左下部分描述了這種結(jié)點(diǎn)的狀態(tài)轉(zhuǎn)移流程)。具體確定轉(zhuǎn)移狀態(tài)可以采用以下思路。首先,按照是否可能轉(zhuǎn)移狀態(tài)可以將“S型”結(jié)點(diǎn)分為兩種:一種是可能轉(zhuǎn)移狀態(tài)的子結(jié)點(diǎn),包括處于待用狀態(tài)、正常狀態(tài)的子結(jié)點(diǎn);另一種是不可能轉(zhuǎn)移狀態(tài)的子結(jié)點(diǎn),包括處于故障狀態(tài)的子結(jié)點(diǎn)。然后,從可能轉(zhuǎn)移狀態(tài)的子結(jié)點(diǎn)中,確定哪些子結(jié)點(diǎn)轉(zhuǎn)移狀態(tài)為正常,哪些子結(jié)點(diǎn)轉(zhuǎn)移狀態(tài)為備用。所以整個流程可以分為三步:第一步,確定可能轉(zhuǎn)移狀態(tài)子結(jié)點(diǎn)集合;第二步,從可能轉(zhuǎn)移狀態(tài)子結(jié)點(diǎn)集合中確定轉(zhuǎn)移狀態(tài)為正常的集合;第三步,確定所有子結(jié)點(diǎn)轉(zhuǎn)移狀態(tài)。
圖9 確定部件轉(zhuǎn)移狀態(tài)流程圖
在圖9中,第一步“確定可能轉(zhuǎn)移狀態(tài)子結(jié)點(diǎn)集合”的流程圖的背景色填充為5%度灰?!按_定待轉(zhuǎn)移狀態(tài)子結(jié)點(diǎn)集合”可以采用兩種策略。一種策略是處于正常、待用狀態(tài)的子結(jié)點(diǎn)可能轉(zhuǎn)移狀態(tài),而處于故障狀態(tài)的子結(jié)點(diǎn)不能可能轉(zhuǎn)移狀態(tài),將其稱為策略1。圖9采用了這種策略。另一種策略是處于待用狀態(tài)的子結(jié)點(diǎn)可能轉(zhuǎn)移狀態(tài),而處于故障、正常狀態(tài)的子結(jié)點(diǎn)不能可能轉(zhuǎn)移狀態(tài),將其稱為策略2。采用策略2確定可能轉(zhuǎn)移狀態(tài)集合的算法如圖10所示。在算法編程中可以根據(jù)需要選擇其中一種策略。
在圖9中,第二步“從可能轉(zhuǎn)移狀態(tài)子結(jié)點(diǎn)集合中確定轉(zhuǎn)移狀態(tài)為正常的集合”的流程圖的背景色填充為10%度灰。這里也可以采用兩種策略,一種策略是隨機(jī)確定轉(zhuǎn)移狀態(tài)為正常的集合,稱其為策略3。圖9中采用了這種策略。另一種策略是按照預(yù)先設(shè)定的優(yōu)先順序確定轉(zhuǎn)移狀態(tài)為正常的集合,稱其為策略4,具體流程如圖11所示。
圖10 策略2流程圖
圖11 策略4流程圖
在圖9中,第三步“確定所有子結(jié)點(diǎn)轉(zhuǎn)移狀態(tài)”的流程圖是由剩余的三個“判斷”框圖構(gòu)成的循環(huán)結(jié)構(gòu)組成。由于前兩步已經(jīng)確定了狀態(tài)轉(zhuǎn)移集合,就可以按照前面的集合確定具體子結(jié)點(diǎn)的轉(zhuǎn)移狀態(tài)的,所以這一步比較簡單。
對于“B型”結(jié)點(diǎn),其處理流程圖為從上向下第3個“判斷”框圖右下部分。如果結(jié)點(diǎn)轉(zhuǎn)移狀態(tài)為1,則所屬子結(jié)點(diǎn)中處于待用狀態(tài)的子結(jié)點(diǎn)的轉(zhuǎn)移狀態(tài)為正常狀態(tài),否則所屬子結(jié)點(diǎn)中處于正常狀態(tài)的子結(jié)點(diǎn)的轉(zhuǎn)移狀態(tài)為待用狀態(tài)。
考慮這樣的系統(tǒng),其可靠性框圖如圖12所示,部件2和3、部件4和5、部件6和7、部件8和9、部件10和11都是冷儲備關(guān)系,它們和部件1又共同構(gòu)成串聯(lián)關(guān)系。圖13是該系統(tǒng)的BS樹。
圖12 實(shí)例系統(tǒng)的可靠性框圖
圖13 實(shí)例的BS樹
系統(tǒng)由7個相同部件組成,其故障分布函數(shù)均為e-0.01t,t≥0,修理時間分布均為1-e-0.1t,t≥0。時間單位為小時(h)。表1用數(shù)組描述了系統(tǒng)的結(jié)構(gòu)。
表1 表示系統(tǒng)BS樹的數(shù)組
根據(jù)所提出的算法用Matlab進(jìn)行了編程,分別評估復(fù)雜冗余系統(tǒng)可用性。仿真時間為1 000 h,仿真的次數(shù)100次。平均可用度為0.896 6。每次仿真可用時間和不可用時間直方圖與累計概率分布曲線如圖14、15。平均可用時間為67.9 h,平均不可用時間為8.5 h。每次仿真首次故障時間直方圖與累計概率分布如圖16,平均首次故障時間MTTFF為69.3 h。每次仿真維修時間與維修次數(shù)的直方圖如圖17,平均維修時間MTTR為9.9 h。故障次數(shù)直方圖與累計概率分布曲線如圖18,平均故障次數(shù)為12.17。
圖14 系統(tǒng)可用時間統(tǒng)計分析圖
圖15 系統(tǒng)不可用時間統(tǒng)計分析圖
圖16 首次故障時間統(tǒng)計分析圖
圖17 維修時間與次數(shù)直方圖
圖18 故障次數(shù)統(tǒng)計分析圖
本文介紹了復(fù)雜冗余系統(tǒng)及其可用度分析的重要性;提出利用BS樹來描述冗余系統(tǒng)的結(jié)構(gòu);用狀態(tài)圖描述了復(fù)雜冗余系統(tǒng)的復(fù)雜行為;在離散事件系統(tǒng)仿真方法基礎(chǔ)上,設(shè)計了復(fù)雜冗余系統(tǒng)可用度的仿真算法,重點(diǎn)探討了如何描述BS樹,如何利用BS樹確定復(fù)雜冗余系統(tǒng)狀態(tài)和部件轉(zhuǎn)移狀態(tài)。該仿真算法可以對具有多層嵌套結(jié)構(gòu)的復(fù)雜冗余系統(tǒng)進(jìn)行可用度等多種參數(shù)進(jìn)行計算,不需要太多輸入?yún)?shù),計算機(jī)實(shí)現(xiàn)簡單,實(shí)用性與通用性都很強(qiáng),較好地解決了復(fù)雜冗余系統(tǒng)結(jié)構(gòu)描述、確定復(fù)雜冗余系統(tǒng)狀態(tài)及部件轉(zhuǎn)移狀態(tài)的技術(shù)問題。在今后的研究中,可以繼續(xù)考慮其他類型的冷儲備系統(tǒng)、類型表決系統(tǒng),以及考慮備件轉(zhuǎn)換的可靠性,不斷完善該仿真算法。