本發(fā)明屬于系統(tǒng)可靠性分析算法領(lǐng)域,具體涉及一種多狀態(tài)多階段任務(wù)系統(tǒng)可靠性參數(shù)的分析方法。
背景技術(shù):
隨著現(xiàn)代系統(tǒng)變得越來越復(fù)雜和智能化,系統(tǒng)的運行不再是單一過程,而是包括了多個功能流程的轉(zhuǎn)換,或者在不同階段通過對單元重組形成新系統(tǒng)的過程,這樣的系統(tǒng)稱之為多階段任務(wù)系統(tǒng)(phased-mission system,PMS),多階段任務(wù)系統(tǒng)是指可以根據(jù)系統(tǒng)配置、任務(wù)成功標(biāo)準(zhǔn)、子系統(tǒng)行為的差異將系統(tǒng)的任務(wù)周期分成一系列連續(xù)不相交的獨立時間段的系統(tǒng)。而這些連續(xù)不相交的獨立時間段則被定義為階段。
現(xiàn)在的PMS任務(wù)可靠性分析方法大致可分為2類:解析法和仿真法。解析法主要包括基于Markov的方法和基于BDD(Binary Decision Diagrams)的方法。前一種方法基于隨機(jī)過程的理論進(jìn)行分析,可能存在狀態(tài)空間爆炸的問題,限制了其實際應(yīng)用。后一種方法只適用于不可修的PMS。由于解析法描述和求解能力存在不足,仿真法得到了更多青睞,得到了廣泛的應(yīng)用。按照開發(fā)層次,仿真可以分為仿真模型、一次開發(fā)仿真程序和二次開發(fā)仿真程序。仿真模型是仿真程序的概念模型;一次開發(fā)仿真程序較為靈活,工作量較大;二次開發(fā)仿真程序工作量較少,但受第三方仿真工具在建模能力方面的限制。
根據(jù)很多文獻(xiàn)的論述,PMS有兩個基本特點:系統(tǒng)功能的實現(xiàn)依賴于時間連續(xù)且不重疊的多個任務(wù)階段;任務(wù)成敗標(biāo)準(zhǔn)具有階段依賴性。PMS經(jīng)常被配置到關(guān)鍵應(yīng)用中,特別是航天和軍用裝備領(lǐng)域,如巡航導(dǎo)彈系統(tǒng),防空武器系統(tǒng)及航天測控系統(tǒng)等,這些系統(tǒng)中對于任務(wù)可靠性都具有很高的要求。同時,PMS任務(wù)可靠性分析對于發(fā)現(xiàn)系統(tǒng)薄弱環(huán)節(jié)、改進(jìn)設(shè)計、合理分配可靠性指標(biāo)等都具有重要的作用。因此,基于PMS的可靠性建模與分析也逐漸成為研究的熱點。
每個任務(wù)階段系統(tǒng)可靠性關(guān)系,即任務(wù)成敗標(biāo)準(zhǔn)是建模重點。但是目前的分析方法主要用BDD、最小路集、最小割集、故障樹來描述系統(tǒng)可靠性關(guān)系,這種描述方法很難反映單元狀態(tài)的相關(guān)性和多樣性,并不適用于冷儲備這種狀態(tài)相關(guān)的可靠性邏輯關(guān)系,限制了其應(yīng)用范圍。
技術(shù)實現(xiàn)要素:
本發(fā)明需要解決的技術(shù)問題是提供一種能夠描述多階段任務(wù)系統(tǒng)每個階段的邏輯結(jié)構(gòu)關(guān)系的模型以及利用該模型的多狀態(tài)多階段任務(wù)系統(tǒng)可靠性參數(shù)的分析方法。
為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是:
一種多狀態(tài)多階段任務(wù)系統(tǒng)可靠性參數(shù)的分析方法,具體包括以下步驟:
A、建立多狀態(tài)多階段任務(wù)系統(tǒng)的AS樹模型;
對于多狀態(tài)多階段任務(wù)系統(tǒng),由于其行為總是由單元的事件引起的,單元故障或修好事件都會影響到上層關(guān)系的狀態(tài),并間接影響到兄弟單元的狀態(tài),為反映單元狀態(tài)的相關(guān)性和多樣性,采用AS樹來表示任一任務(wù)階段系統(tǒng)可靠性關(guān)系,以表示具有冷儲備狀態(tài)—即待用狀態(tài)的多狀態(tài)多階段任務(wù)系統(tǒng);
所述AS樹包括一個根節(jié)點、若干葉節(jié)點和零個以上階度的若干非葉節(jié)點,其中階度表示樹的第幾代,根節(jié)點為第一代,階度為1,根節(jié)點用于表示表決關(guān)系或者冷儲備關(guān)系,若干葉節(jié)點為最后一代,階度為大于等于2的自然數(shù),葉節(jié)點用于表示單元狀態(tài),非葉節(jié)點為第一代和最后一代之間的若干代,階度為大于等于2的自然數(shù),非葉節(jié)點用于表示單元狀態(tài)、表決關(guān)系和冷儲備關(guān)系之一或者其任意組合;
B、根據(jù)步驟A建立的多狀態(tài)多階段任務(wù)系統(tǒng)模型,采用離散事件仿真算法進(jìn)行仿真,仿真的單元事件包括單元故障、單元修好以及任務(wù)開始事件,仿真算法的步驟如下:
第1步:初始化仿真變量,即仿真時鐘與統(tǒng)計變量,所述統(tǒng)計變量包括需要初始化的各類輸入?yún)?shù)和輸出參數(shù),
第2步:初始化事件表,即安排第一個任務(wù)階段開始事件,
第3步:確定下一個事件的類型,發(fā)生時間,如果是故障事件和修好事件則確定發(fā)生部位,
第4步,判斷事件是故障,是修好,還是階段開始;若是故障事件,則采用故障事件操作;若是修好事件,則采用修好事件操作;若是階段開始事件,則采用階段開始事件操作;
第5步,更新系統(tǒng)狀態(tài)、統(tǒng)計變量,推進(jìn)仿真時鐘,
第6步:重復(fù)步驟3到步驟5,直到達(dá)到仿真時間,
第7步:記錄單次仿真數(shù)據(jù),
第8步:重復(fù)步驟1到步驟7,直到滿足仿真次數(shù)要求,
所述輸入?yún)?shù)主要包括:
1)仿真次數(shù);2)仿真時間;3)單元數(shù)量;4)單元故障分布函數(shù);5)單元維修時間分布函數(shù);6)任務(wù)階段數(shù)量;7)每個任務(wù)階段持續(xù)時間;8)每階段任務(wù)系統(tǒng)結(jié)構(gòu),以AS樹表示;
所述輸出參數(shù)主要包括:
1)任務(wù)可靠性R
2)平均可用度A0
3)戰(zhàn)備完好性(RED)
4)可用與可靠概率(PAR)PAR=平均使用可用度×可靠度 (4)
5)平均首次任務(wù)失效間隔時間(MTBMF)
其中,yi為每i次仿真中,系統(tǒng)第一次失效前的工作時間,如果任務(wù)沒有失效,則yi等于任務(wù)的時間長度。
6)系統(tǒng)的平均可用工作時間(MUT)和系統(tǒng)的平均不可用故障時間(MDT)
進(jìn)一步的,所述AS樹在進(jìn)行仿真編程時采用父指針數(shù)組表示法,AS樹種的每個節(jié)點均包含類型值和標(biāo)記值,以及一個指向父節(jié)點的指針。
進(jìn)一步的,確定系統(tǒng)狀態(tài)是一個“自下而上”的過程,確定系統(tǒng)狀態(tài)的流程如下:首先根據(jù)描述AS樹的數(shù)組來獲得寬度搜索向量,所述寬度搜索向量是AS樹中所有節(jié)點的個數(shù),然后根據(jù)獲得的搜索向量確定AS樹中每個節(jié)點的狀態(tài),確定過程是以搜索向量為循環(huán)變量采用循環(huán)判斷程序從最底層的葉子節(jié)點到最頂層的根節(jié)點逐個確定節(jié)點的狀態(tài)。
進(jìn)一步的,當(dāng)單元事件發(fā)生時,單元狀態(tài)發(fā)生轉(zhuǎn)移,確定單元轉(zhuǎn)移狀態(tài)是一個“自上而下”的過程,若系統(tǒng)狀態(tài)為故障,則所有處于工作狀態(tài)的單元進(jìn)入待用狀態(tài),只有系統(tǒng)狀態(tài)為工作的情況下才需要確定單元轉(zhuǎn)移狀態(tài),單元轉(zhuǎn)移狀態(tài)的確定流程如下:首先根據(jù)描述AS樹的數(shù)組來獲得寬度搜索向量并賦值,所述寬度搜索向量是AS樹中所有節(jié)點的個數(shù),然后以搜索向量為循環(huán)變量采用循環(huán)判斷程序從最頂層的根節(jié)點向下到最底層的葉子節(jié)點逐個節(jié)點去判斷是否是葉子節(jié)點并確定葉子節(jié)點的轉(zhuǎn)移狀態(tài),如果是葉子節(jié)點,則直接確定該葉子節(jié)點的轉(zhuǎn)移狀態(tài),如果是非葉子節(jié)點,則依據(jù)處于故障、工作狀態(tài)的子節(jié)點不可能轉(zhuǎn)移狀態(tài),待用狀態(tài)的子節(jié)點可能轉(zhuǎn)移狀態(tài)的策略進(jìn)一步判斷葉子節(jié)點的轉(zhuǎn)移狀態(tài)。
由于采用了上述技術(shù)方案,本發(fā)明取得的技術(shù)進(jìn)步是:本發(fā)明針對現(xiàn)有PMS可靠性仿真只考慮單元狀態(tài)0或1的情況,不能適應(yīng)于存在冷儲備關(guān)系的情況,不能處理單元可能存在故障、正常(工作與待用)三種特殊狀態(tài)且狀態(tài)相關(guān)的情況,利用AS樹狀結(jié)構(gòu)來描述任務(wù)階段系統(tǒng)可靠性關(guān)系;依據(jù)離散事件仿真思想,給出了PMS可靠性仿真算法,該仿真算法可以對多狀態(tài)PMS系統(tǒng)可靠性等多種參數(shù)進(jìn)行計算,且所需輸入?yún)?shù)較少,編程實現(xiàn)簡單,對任務(wù)階段系統(tǒng)可靠性關(guān)系具有良好的描述能力,具有很強(qiáng)的通用性與實用性。
附圖說明
圖1是本發(fā)明AS樹狀圖示例;
圖2是本發(fā)明2單元串聯(lián)系統(tǒng)狀態(tài)圖示例;
圖3是本發(fā)明并聯(lián)系統(tǒng)狀態(tài)圖示例;
圖4是本發(fā)明冷儲備系統(tǒng)狀態(tài)圖示例;
圖5是本發(fā)明PMS可靠性仿真算法流程圖;
圖6是本發(fā)明故障事件響應(yīng)操作流程圖;
圖7是本發(fā)明修好事件響應(yīng)操作流程圖;
圖8是本發(fā)明任務(wù)開始事件響應(yīng)操作流程圖;
圖9是本發(fā)明AS樹的父指針數(shù)組表示法;
圖10是本發(fā)明確定系統(tǒng)狀態(tài)流程圖;
圖11是本發(fā)明確定單元轉(zhuǎn)移狀態(tài)流程圖;
圖12是本發(fā)明策略2流程圖;
圖13是本發(fā)明優(yōu)先啟動流程圖;
圖14是本發(fā)明3個任務(wù)階段的系統(tǒng)AS樹狀圖;
圖15是本發(fā)明系統(tǒng)可用時間統(tǒng)計分析圖;
圖16是本發(fā)明系統(tǒng)不可用時間統(tǒng)計分析圖;
圖17是本發(fā)明平均首次任務(wù)失效間隔時間統(tǒng)計分析圖;
圖18是本發(fā)明維修時間與次數(shù)直方圖;
圖19是本發(fā)明故障次數(shù)統(tǒng)計分析圖。
具體實施方式
下面結(jié)合實施例對本發(fā)明做進(jìn)一步詳細(xì)說明:
多階段任務(wù)系統(tǒng)(Phased-Mission Systems,PMS)是指可以根據(jù)系統(tǒng)配置、任務(wù)成功標(biāo)準(zhǔn)、子系統(tǒng)行為的差異將系統(tǒng)的任務(wù)周期分成一系列連續(xù)不相交的獨立時間段的系統(tǒng)。而這些連續(xù)不相交的獨立時間段則被定義為階段。它自1975年由Esary和Ziehms提出以來,引起了許多學(xué)者的關(guān)注和研究?,F(xiàn)在的PMS任務(wù)可靠性分析方法大致可分為2類:解析法和仿真法。解析法主要包括基于Markov的方法和基于BDD(Binary Decision Diagrams)的方法。前一種方法基于隨機(jī)過程的理論進(jìn)行分析,可能存在狀態(tài)空間爆炸的問題,限制了其實際應(yīng)用。后一種方法只適用于不可修的PMS。由于解析法描述和求解能力存在不足,仿真法得到了更多青睞,得到了廣泛的應(yīng)用。按照開發(fā)層次,仿真可以分為仿真模型、一次開發(fā)仿真程序和二次開發(fā)仿真程序。聶成龍等建立了基于Petri網(wǎng)的多階段任務(wù)系統(tǒng)任務(wù)效能多層仿真模型。一次開發(fā)仿真主要是指在編程語言基礎(chǔ)上開發(fā)的仿真程序,如Murphy等開發(fā)的Raptor仿真工具可完成對PMS可靠性仿真。二次開發(fā)仿真是指在第三方仿真工具基礎(chǔ)上開發(fā)的仿真程序。楊建軍等提出基于Extend的多態(tài)PMS仿真模型。楊春輝等應(yīng)用著色Petri網(wǎng)(CPN,Colored Petri Net)Tools建立PMS的多層通用仿真模型。仿真模型是仿真程序的概念模型;一次開發(fā)仿真程序較為靈活,工作量較大;二次開發(fā)仿真程序工作量較少,但受第三方仿真工具在建模能力方面的限制?,F(xiàn)有的仿真法仍在建模能力方面存在局限,表現(xiàn)為只描述兩狀態(tài)單元,任務(wù)階段系統(tǒng)可靠性關(guān)系不能涵蓋冷儲備關(guān)系,這影響了其應(yīng)用范圍。本發(fā)明主要針對現(xiàn)有仿真法存在的問題,提出解決方法。
本發(fā)明多狀態(tài)多階段任務(wù)系統(tǒng)可靠性參數(shù)的分析方法,具體包括以下步驟:
A、建立多狀態(tài)多階段任務(wù)系統(tǒng)的AS樹模型;
B、根據(jù)步驟A建立的多狀態(tài)多階段任務(wù)系統(tǒng)模型,采用離散事件仿真算法進(jìn)行仿真,仿真的單元事件包括單元故障、單元修好以及任務(wù)開始事件。
其中,對于多狀態(tài)多階段任務(wù)系統(tǒng),由于其行為總是由單元的事件引起的,單元故障或修好事件都會影響到上層關(guān)系的狀態(tài),并間接影響到兄弟單元的狀態(tài),為反映單元狀態(tài)的相關(guān)性和多樣性,采用AS樹來表示任一任務(wù)階段系統(tǒng)可靠性關(guān)系,以表示具有冷儲備狀態(tài)—即待用狀態(tài)的多狀態(tài)多階段任務(wù)系統(tǒng);
所述AS樹包括一個根節(jié)點、若干葉節(jié)點和零個以上階度的若干非葉節(jié)點,其中階度表示樹的第幾代,根節(jié)點為第一代,階度為1,根節(jié)點用于表示表決關(guān)系或者冷儲備關(guān)系,若干葉節(jié)點為最后一代,階度為大于等于2的自然數(shù),葉節(jié)點用于表示單元狀態(tài),非葉節(jié)點為第一代和最后一代之間的若干代,階度為大于等于2的自然數(shù),非葉節(jié)點用于表示單元狀態(tài)、表決關(guān)系和冷儲備關(guān)系之一或者其任意組合;
AS樹狀圖的一個示例如圖1,在圖1中,有兩種圖形,分別為矩形和圓形。矩形表示下層單元的關(guān)系,矩形中的“A”表示表決關(guān)系,“S”表示冷儲備關(guān)系。如果是表決關(guān)系,矩形中數(shù)字表示k/n(G)表決系統(tǒng)中的k。如果是冷儲備關(guān)系,矩形中數(shù)字表示冷儲備系統(tǒng)n-k/n(S)中正常工作單元數(shù)k。圓形表示下層單元,按數(shù)字順序進(jìn)行編號。在圖1中,單元1、2、3組成1/3(G)表決系統(tǒng),單元4、5、6組成有2/3(S)冷儲備系統(tǒng)(3個單元中有2個備件),1/3(G)表決系統(tǒng)與2/3(S)冷儲備系統(tǒng)又構(gòu)成1/2(S)冷儲備系統(tǒng)。使用AS樹描述任務(wù)階段可靠性關(guān)系有以下幾個優(yōu)勢:1)容易建立,很容易從擴(kuò)展可靠性框圖轉(zhuǎn)化為AS樹。2)建模能力強(qiáng),可以描述串聯(lián)、并聯(lián)、表決、冷儲備等關(guān)系組成的復(fù)雜可靠性關(guān)系。3)可以很容易描述系統(tǒng)配置,PMS中,每個階段工作的單元可能是不同的,AS樹含有工作的單元的信息,即系統(tǒng)配置信息。4)利于編寫仿真算法,在具體介紹算法時,我們將會看到這種建模方法在確定系統(tǒng)狀態(tài)和單元轉(zhuǎn)移狀態(tài)方面的優(yōu)勢。
在分析PMS可靠性時,為了簡單起見通常假設(shè)單元有工作和故障兩個狀態(tài)。但是當(dāng)我們要考慮冷儲備關(guān)系時,就必須考慮單元的待用狀態(tài)。此外,當(dāng)系統(tǒng)故障時,單元也沒有必要處于工作狀態(tài),需要進(jìn)入待用狀態(tài)。為了分析PMS行為,我們首先分析一下典型的2單元串、并聯(lián)系統(tǒng)與2單元冷儲備系統(tǒng)的行為。圖2是2單元串聯(lián)系統(tǒng)狀態(tài)圖,圖中x1與x2分別表示兩個單元,sys表示系統(tǒng)。x1、x2有3個狀態(tài):work(工作)、down(故障)、wait(待用);sys有2個狀態(tài):work(工作)、down(故障)。x1、x2與sys的初始狀態(tài)為工作狀態(tài);當(dāng)x1、x2任一單元故障之后,系統(tǒng)故障。f1、f2分別表示x1、x2的故障事件;g1、g2分別表示x1、x2的修好事件。當(dāng)單元x1或x2處于work狀態(tài),sys進(jìn)入down狀態(tài),即en(sys.down),則x1、x2進(jìn)入wait狀態(tài)。當(dāng)單元x1或x2處于wait狀態(tài),sys進(jìn)入work狀態(tài),即en(sys.work),則x1或x2進(jìn)入work狀態(tài)。當(dāng)發(fā)生故障事件后,x1或x2由work狀態(tài)轉(zhuǎn)變?yōu)閐own狀態(tài)。當(dāng)發(fā)生修好時間后,x1或x2由down狀態(tài)轉(zhuǎn)變?yōu)閣ait狀態(tài)。圖3是2單元并聯(lián)系統(tǒng)狀態(tài)圖。圖2和圖3的區(qū)別主要是sys的狀態(tài)轉(zhuǎn)換條件不同。圖4是2單元冷儲備系統(tǒng)狀態(tài)圖。x2是備件,x1、sys的初始狀態(tài)為工作狀態(tài),x2初始狀態(tài)為待用狀態(tài);當(dāng)x1故障之后,x2進(jìn)入工作狀態(tài);當(dāng)x2與x1都故障時,系統(tǒng)故障。通過比較圖5和圖3、4,可知冗余系統(tǒng)中,單元狀態(tài)是相關(guān)的。當(dāng)系統(tǒng)故障時,可以正常工作的單元也將進(jìn)入待用狀態(tài)。當(dāng)系統(tǒng)正常工作時,處于待用狀態(tài)的單元也將進(jìn)入正常工作狀態(tài)。此外,在冷儲備系統(tǒng)中,由于某些單元是備用的,所以單元之間狀態(tài)是相互影響的。
我們以圖1所示的任務(wù)系統(tǒng)對具有兩層嵌套結(jié)構(gòu)的冗余系統(tǒng)行為進(jìn)行分析。假設(shè)單元1、2、3、4、5、6初始狀態(tài)為工作,處于第2層的1/3(G)表決系統(tǒng)處于工作狀態(tài),2/3(S)冷儲備系統(tǒng)處于工作狀態(tài),則頂層的1/2(S)冷儲備系統(tǒng)處于工作狀態(tài)。頂層系統(tǒng)狀態(tài)處于工作狀態(tài),由于其關(guān)系是冷儲備,所以處于第2層的1/3(G)表決系統(tǒng)、2/3(S)冷儲備系統(tǒng)必有一個處于待用狀態(tài),我們選擇2/3(S)冷儲備系統(tǒng)處于待用狀態(tài),則其下屬單元4、5、6處于待用狀態(tài)。若單元1、2、3都故障且沒有修好,第2層的1/3(G)表決系統(tǒng)進(jìn)入故障狀態(tài),2/3(S)冷儲備系統(tǒng)處于待用狀態(tài),啟動2/3(S)冷儲備系統(tǒng)后頂層的1/2(S)冷儲備系統(tǒng)仍處于正常工作狀態(tài),我們選擇2/3(S)冷儲備系統(tǒng)下屬單元4處于工作狀態(tài),單元5、6處于待用狀態(tài)。
通過以上分析,我們可以得出以下結(jié)論。對于PMS的某個任務(wù)階段,其行為總是由單元的事件引起的,單元故障或修好事件再影響到上層關(guān)系的狀態(tài),間接影響到兄弟單元狀態(tài)。這樣的行為變化具體來講分為兩個過程,一個過程是“自下而上”確定系統(tǒng)狀態(tài)的過程,另一個過程是“自上而下”確定單元轉(zhuǎn)移狀態(tài)的過程。以上的分析是建立仿真算法的基礎(chǔ)。
在設(shè)計仿真算法時,需要對多狀態(tài)多階段任務(wù)系統(tǒng)的一些具體的參數(shù)和變量進(jìn)行確定,并確定仿真的基礎(chǔ)條件。
仿真基礎(chǔ)條件有:1)系統(tǒng)功能的實現(xiàn)依賴于時間連續(xù)且不重疊的多個任務(wù)階段。2)單元三狀態(tài):單元有三個狀態(tài),即工作、故障、待用。3)系統(tǒng)兩狀態(tài):在任一時間,系統(tǒng)或者故障或者工作。4)單調(diào)關(guān)聯(lián)系統(tǒng):所分析的系統(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)變。5)單元之間狀態(tài)相關(guān)。6)任務(wù)階段系統(tǒng)結(jié)構(gòu):每個任務(wù)階段系統(tǒng)的邏輯結(jié)構(gòu)(AS樹形式)已知。7)單元的故障分布函數(shù)與維修時間分布函數(shù):每個單元的故障分布函數(shù)與維修時間分布函數(shù)已知,即分布類型與分布參數(shù)已知。8)維修策略:對于每個單元采用連續(xù)狀態(tài)監(jiān)視策略,以及事后維修策略,不考慮維修資源有限性。9)單元修復(fù)后如新:當(dāng)單元故障后經(jīng)過維修,或用新單元更換之后,單元如同新的一樣。
輸入?yún)?shù)主要包括:1)仿真次數(shù):增加仿真次數(shù)一方面可以提高結(jié)果的精確性,另一方面也將消耗更多的計算時間與內(nèi)存資源;2)仿真時間:每次仿真的邏輯時間;3)單元數(shù)量;4)單元故障分布函數(shù);5)單元維修時間分布函數(shù);6)任務(wù)階段數(shù)量;7)每個任務(wù)階段持續(xù)時間;8)任務(wù)階段系統(tǒng)結(jié)構(gòu),以AS樹形式表示。
輸出參數(shù)主要包括:
1)任務(wù)可靠性R
2)平均可用度A0
3)戰(zhàn)備完好性(RED)
4)可用與可靠概率(PAR)PAR=平均使用可用度×可靠度 (4)
5)平均首次任務(wù)失效間隔時間(MTBMF)
其中,yi為每i次仿真中,系統(tǒng)第一次失效前的工作時間,如果任務(wù)沒有失效,則yi等于任務(wù)的時間長度。
6)系統(tǒng)的平均可用工作時間(MUT)和系統(tǒng)的平均不可用故障時間(MDT)
基于上述條件,本發(fā)明的仿真算法采用離散事件仿真(Discrete Event Simulation,DES)方法,仿真事件主要包括單元故障、單元修好、任務(wù)開始事件。
本發(fā)明的仿真算法的步驟如下(其流程圖如圖5所示):
第1步:初始化仿真變量,即仿真時鐘與統(tǒng)計變量,所述統(tǒng)計變量包括需要初始化的各類輸入?yún)?shù)和輸出參數(shù),
第2步:初始化事件表,即安排第一個任務(wù)階段開始事件,
第3步:確定下一個事件的類型,發(fā)生時間,如果是故障事件和修好事件則確定發(fā)生部位,
第4步,判斷事件是故障,是修好,還是階段開始;若是故障事件,則采用故障事件操作;若是修好事件,則采用修好事件操作;若是階段開始事件,則采用階段開始事件操作;
第5步,更新系統(tǒng)狀態(tài)、統(tǒng)計變量,推進(jìn)仿真時鐘,
第6步:重復(fù)步驟3到步驟5,直到達(dá)到仿真時間,
第7步:記錄單次仿真數(shù)據(jù),
第8步:重復(fù)步驟1到步驟7,直到滿足仿真次數(shù)要求,
本發(fā)明的圖6是故障事件響應(yīng)操作流程圖,首先,根據(jù)維修時間分布函數(shù)生成維修時間,安排單元未來事件為修好事件(可以理解為維修結(jié)束時刻,單元修好),然后確定系統(tǒng)新狀態(tài)st(1),若有st(1)為正常工作,則確定單元狀態(tài),更新單元事件表,更新單元狀態(tài);否則,所有處于工作狀態(tài)單元處于備用狀態(tài),更新事件表,記錄單元剩余壽命。圖7是修好事件響應(yīng)操作流程圖。首先,單元處于備用狀態(tài),更新事件表,單元剩余壽命為0,然后確定系統(tǒng)新狀態(tài)st(1),若st(1)為正常工作,則確定單元狀態(tài),更新單元事件表,更新單元狀態(tài)。圖8是任務(wù)開始事件響應(yīng)操作流程圖,主要是根據(jù)任務(wù)階段的可靠性關(guān)系初始化系統(tǒng)狀態(tài)、單元狀態(tài)和事件表,安排下一任務(wù)開始事件。以上介紹了仿真算法框架,接下來介紹算法中的一些細(xì)節(jié)問題。
在進(jìn)行仿真程序設(shè)計時,要考慮AS樹的描述方法以及應(yīng)該采用何種數(shù)據(jù)結(jié)構(gòu),很顯然,AS樹可以用樹來描述。樹有兩種主要表示方法,一種是左子節(jié)點/右兄弟節(jié)點法,另一種是父指針表示法。這里采用后一種表示法--父指針表示法。
本發(fā)明圖1所示的AS樹可以表示為圖9中的3維數(shù)組形式。在父指針表示法中,每個節(jié)點包含類型值和標(biāo)記值,以及一個指向父節(jié)點的指針。為簡明起見,父指針表示為父節(jié)點在數(shù)組中位置的下標(biāo)值。類型值可以取1、2、3,取1表示節(jié)點為表決關(guān)系節(jié)點,取2表示節(jié)點為冷儲備關(guān)系節(jié)點,取3表示節(jié)點為單元。標(biāo)記值對于不同類型節(jié)點有不同含義。對于表決關(guān)系節(jié)點,標(biāo)記值為k/n(G)表決系統(tǒng)中的k。對于冷儲備關(guān)系節(jié)點,標(biāo)記值為n-k/n(S)冷儲備系統(tǒng)中的k。對于單元節(jié)點,標(biāo)記值為單元編號。在具體仿真計算過程中,用類來描述樹,并定義樹的方法。這些方法主要包括判斷節(jié)點i是否是葉子isleaf(i),得到寬度搜索向量breadthfirstiterator,得到節(jié)點的子節(jié)點向量getchildren(i),得到節(jié)點類型值gettype(i),得到節(jié)點標(biāo)記值getmark(i)。
正如前面的分析,確定系統(tǒng)狀態(tài)是一個“自下而上”的過程,確定系統(tǒng)狀態(tài)的流程如下:首先根據(jù)描述AS樹的數(shù)組來獲得寬度搜索向量,所述寬度搜索向量是AS樹中所有節(jié)點的個數(shù),然后根據(jù)獲得的搜索向量確定AS樹中每個節(jié)點的狀態(tài),確定過程是以搜索向量為循環(huán)變量采用循環(huán)判斷程序從最底層的葉子節(jié)點到最頂層的根節(jié)點逐個確定節(jié)點的狀態(tài)。
如圖10所示,本發(fā)明給出了確定系統(tǒng)狀態(tài)的詳細(xì)流程圖,在該流程圖中,sign()是一個函數(shù),當(dāng)x=0時,sign(x)=0;當(dāng)x非0時,sign(x)=x/|x|。I為AS樹的寬度搜索向量,i為寬度搜索向量的迭代下標(biāo),k為AS樹的節(jié)點Ii的標(biāo)記值,C為AS樹的節(jié)點Ii的子節(jié)點向量,j為C的迭代下標(biāo),T為用于累計的中間變量,st(1)表示AS樹的根節(jié)點狀態(tài),即系統(tǒng)狀態(tài)。該流程的輸入?yún)?shù)包括t(描述AS樹結(jié)構(gòu)的數(shù)組),sc(描述單元狀態(tài)的向量,sc(Ii)表示單元Ii的狀態(tài)),輸出參數(shù)是st(描述節(jié)點的狀態(tài)向量,st(Ii)表示AS樹節(jié)點Ii的狀態(tài))。
如圖11所示,當(dāng)單元事件發(fā)生時,單元狀態(tài)發(fā)生轉(zhuǎn)移,確定單元轉(zhuǎn)移狀態(tài)是一個“自上而下”的過程,若系統(tǒng)狀態(tài)為故障,則所有處于工作狀態(tài)的單元進(jìn)入待用狀態(tài),只有系統(tǒng)狀態(tài)為工作的情況下才需要確定單元轉(zhuǎn)移狀態(tài),單元轉(zhuǎn)移狀態(tài)的確定流程如下:首先根據(jù)描述AS樹的數(shù)組來獲得寬度搜索向量并賦值,所述寬度搜索向量是AS樹中所有節(jié)點的個數(shù),然后以搜索向量為循環(huán)變量采用循環(huán)判斷程序從最頂層的根節(jié)點向下到最底層的葉子節(jié)點逐個節(jié)點去判斷是否是葉子節(jié)點并確定葉子節(jié)點的轉(zhuǎn)移狀態(tài),如果是葉子節(jié)點,則直接確定該葉子節(jié)點的轉(zhuǎn)移狀態(tài),如果是非葉子節(jié)點,則依據(jù)處于故障、工作狀態(tài)的子節(jié)點不可能轉(zhuǎn)移狀態(tài),待用狀態(tài)的子節(jié)點可能轉(zhuǎn)移狀態(tài)的策略進(jìn)一步判斷非葉子節(jié)點的轉(zhuǎn)移狀態(tài)。該流程的輸'入?yún)?shù)包括t(描述AS樹結(jié)構(gòu)的數(shù)組),sc(描述單元狀態(tài)的向量,sc(Ii)表示單元Ii的狀態(tài)),輸出參數(shù)是sc′(描述單元轉(zhuǎn)移狀態(tài)的向量,sc′(Ii)表示單元Ii的轉(zhuǎn)移狀態(tài))。st′(描述所有AS樹節(jié)點轉(zhuǎn)移狀態(tài)的向量,st′(Ii)表示AS樹節(jié)點Ii的轉(zhuǎn)移狀態(tài))。st′(1)表示AS樹根節(jié)點的轉(zhuǎn)移狀態(tài),即系統(tǒng)的轉(zhuǎn)移狀態(tài)。I為AS樹的寬度搜索向量。i為寬度搜索向量的迭代下標(biāo)。k為AS樹的節(jié)點Ii的標(biāo)記值。C為AS樹的節(jié)點Ii的子節(jié)點向量。L為AS樹的節(jié)點Ii的類型值。j為C的迭代下標(biāo)。T為用于累計的中間變量。Set表示向量C中可能轉(zhuǎn)移狀態(tài)的節(jié)點集合。Set′表示向量C中轉(zhuǎn)移狀態(tài)為1的節(jié)點集合。Set″表示向量C中轉(zhuǎn)移狀態(tài)為2的節(jié)點集合。C′表示向量C中狀態(tài)不發(fā)生變化的集合。
對于類型是冷儲備關(guān)系且轉(zhuǎn)移狀態(tài)為工作(即等于1)的節(jié)點,可以稱其為“A型”節(jié)點,確定其子節(jié)點的轉(zhuǎn)移狀態(tài)較為復(fù)雜(流程圖從上向下第3個“判定”符號左下部分)。首先,對于“A型”節(jié)點的子節(jié)點,按照轉(zhuǎn)移狀態(tài)可以分為兩類:一是不可能轉(zhuǎn)移狀態(tài)的子節(jié)點,主要是處于故障狀態(tài)的子節(jié)點;二是可能轉(zhuǎn)移狀態(tài)的子節(jié)點,包括處于工作狀態(tài)、待用狀態(tài)的子節(jié)點。
在圖11中,內(nèi)容為“1≤j≤|C|&sign(st(Cj))=1”,“Set=Set∪Cj”三個框圖部分是“確定待轉(zhuǎn)移狀態(tài)子節(jié)點集合”。這里采用的策略1,即處于故障狀態(tài)的子節(jié)點不可能轉(zhuǎn)移狀態(tài),而處于工作、待用狀態(tài)的子節(jié)點可能轉(zhuǎn)移狀態(tài)。當(dāng)然,也可能采用策略2,即處于故障、工作狀態(tài)的子節(jié)點不可能轉(zhuǎn)移狀態(tài),而處于待用狀態(tài)的子節(jié)點可能轉(zhuǎn)移狀態(tài)。采用策略2確定待轉(zhuǎn)移狀態(tài)集合的算法如圖12所示。在具體編程時可以將這兩種策略用“分支結(jié)構(gòu)(switch)”組合在一起。之后,從待轉(zhuǎn)移狀態(tài)子節(jié)點集合中確定哪些子節(jié)點處于工作狀態(tài),哪些子節(jié)點處于待用狀態(tài),可稱該過程為“啟動方式”。在圖11中,內(nèi)容為“p=randperm(|set|)set'=set(p(1:m));j=1”的框圖描述了該過程。這里采用策略1,即隨機(jī)啟動方式。當(dāng)然,也可能采用策略2,優(yōu)先啟動方式。這種方式按照某種優(yōu)先順序啟動子節(jié)點,如圖13所示。對于不是“A型”節(jié)點的節(jié)點,可將其稱為“B型”節(jié)點。對于“B型”節(jié)點,確定其子節(jié)點的轉(zhuǎn)移狀態(tài)較簡單(圖11,從上向下第3個“判定”符號右下部分)。如果節(jié)點轉(zhuǎn)移狀態(tài)為1,則所屬子節(jié)點中處于待用狀態(tài)的子節(jié)點進(jìn)入工作狀態(tài)。如果節(jié)點轉(zhuǎn)移狀態(tài)為0,則所屬子節(jié)點中處于工作狀態(tài)的子節(jié)點進(jìn)入待用狀態(tài)。
以下是一個具體的多狀態(tài)多階段任務(wù)系統(tǒng)的仿真實例:
該系統(tǒng)由8個相同單元組成,其故障分布函數(shù)均為e-0.01t,t≥0,修理時間分布函數(shù)均為1-e-0.1t,t≥0。時間單位為小時。PMS有3個任務(wù)階段,3個任務(wù)階段持續(xù)時間分別為10、15、20,不同任務(wù)階段系統(tǒng)的結(jié)構(gòu)用AS樹表示,如圖14所示。根據(jù)本文所提出的算法設(shè)計用Matlab進(jìn)行了編程,評估PMS的可靠度。可靠度仿真的次數(shù)1000次。任務(wù)可靠性R為0.8030。平均可用度A0為0.9839。平均可用時間MUT為162.7983小時,平均不可用時間為2.9005小時。每次仿真可用時間和不可用時間直方圖與累積概率分布曲線如圖15、16。如果沒有任務(wù)時間的限制,可用時間和不可用時間通常會近似服從正態(tài)分布,而有了任務(wù)時間限制后,可用時間和不可用時間服從“截斷的”正態(tài)分布。每次仿真首次任務(wù)失效間隔時間直方圖與累積概率分布區(qū)域如圖17。原理同上,首次任務(wù)失效間隔時間也服從“截斷的”正態(tài)分布。平均任務(wù)首次失效間隔時間MTBMF為211.7207小時。戰(zhàn)備完好性RED為0.9269。每次仿真維修時間與維修次數(shù)的直方圖如圖19,維修時間呈指數(shù)分布,而維修次數(shù)呈泊松分布,平均維修時間MTTR為9.8003小時。故障次數(shù)直方圖與累積概率分布曲線如圖19,呈泊松分布,平均故障次數(shù)為0.263。