CN106055729A - 一种基于蒙特卡洛仿真的故障树分析方法 - Google Patents
一种基于蒙特卡洛仿真的故障树分析方法 Download PDFInfo
- Publication number
- CN106055729A CN106055729A CN201610247067.4A CN201610247067A CN106055729A CN 106055729 A CN106055729 A CN 106055729A CN 201610247067 A CN201610247067 A CN 201610247067A CN 106055729 A CN106055729 A CN 106055729A
- Authority
- CN
- China
- Prior art keywords
- event
- probability
- fault tree
- gate
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于蒙特卡洛仿真的故障树分析方法,通过蒙特卡洛抽样方法在故障树中的仿真实施过程,避免了求解故障树结构函数或所有最小割集,并能够得到底事件寿命分布服从任意分布函数情况下的顶事件发生概率,以及系统运行到某时刻,底事件发生概率可知而寿命分布未知情况下的系统顶事件发生概率。本发明适用于服从各种寿命分布的底事件构成的故障树,能够得到底事件发生概率已知而寿命分布未知时顶事件的发生概率,因此方法受限制条件小,具有受限条件少、求解过程简练的特点。
Description
技术领域
本发明涉及系统工程可靠性评估技术领域,具体是一种基于蒙特卡洛抽样原理对故障树进行仿真,从而计算出顶事件发生概率的方法。
背景技术
故障树是系统内故障逻辑与其它事件之间交互关系的图形化表示,利用故障树来求解系统可靠度,已成为系统可靠性分析领域最为常用的一种方法。故障树把系统最不希望发生的事情作为故障树的顶事件(分析目标),逐层向下追溯所有可能的原因,从而找出导致顶事件发生的各种因素及其与顶事件间的逻辑关系,并用倒树状图表示出来。其中,对于不能进一步分析其发生原因的事件称为基本事件,对于可进一步分析其发生原因的非顶事件称为中间事件。对故障树进行分析求解顶事件发生概率的方法称为故障树分析法。1.0减去顶事件发生概率即为故障树所表示的统的可靠度。现有的故障树分析法可分为公式计算方法和借助蒙特卡洛仿真原理的仿真计算方法两类。
在现有的公式计算方法中,最小割集的求解是计算故障树顶事件发生概率的第一步。首先,在最小割集的求解过程会涉及到大量布尔逻辑。针对这些布尔逻辑,须用集合运算法则加以简化、吸收,才可得到最小割集。随着故障树结构复杂度的提高,最小割集将增多,求解最小割集过程中涉及到的布尔逻辑也会增多,难于人工直接处理。其次,当在获得的最小割集基础上计算顶事件发生概率时,随着故障树结构复杂度的提高,最小割集的数目将随之增多,且这些最小割集包含的底事件往往相交,需要第二次进行布尔逻辑的不交化运算才可计算出顶事件发生概率,随着布尔逻辑不交化运算量的急剧增加,整个求解过程计算量巨大,甚至会出现数据量爆炸问题,最终使得顶事件发生概率的计算变得难以进行下去。对于大型复杂故障树,人工求解已经不可能,必须借助计算机才可求解,而相对于简单直接的代数运算,布尔逻辑运算过程繁杂,在计算机中编程实现也较为困难。
随着计算机技术在工程计算中的快速发展,需寻求一种更适用于计算处理的故障树分析方法。以蒙特卡洛仿真方法为基础的数字仿真技术在很多工程领域中得到了大量应用。现有的应用蒙特卡洛仿真方法对故障树进行仿真的具体方法有以下两种:
(1)基于结构函数的通扫故障树仿真方法。基于故障树结构函数的仿真方法是在故障树结构函数的基础上,按底事件寿命分布对各底事件失效时间进行抽样,对抽样失效时间从小到大进行排序,依次检查各个底事件失效是否会导致顶事件发生,从而找出顶事件发生时间。重复以上过程,最后通过对顶事件发生时间进行统计分析,得到顶事件发生概率。
(2)基于最小割集的故障树仿真方法。该方法通过对故障树的所有最小割集进行故障时间抽样,获得每一最小割集的故障时间,把这些故障时间的最小值作为顶事件发生时间。重复以上过程,最后对顶事件发生时间进行统计分析,得到顶事件发生概率。
上述两种仿真方法存在以下缺陷:
1.两种仿真方法都不能完全避免布尔逻辑运算。随着故障树复杂度增加时,布尔逻辑运算量仍会很大,造成计算机处理的不便。
虽然两种蒙特卡洛仿真方法不涉及布尔逻辑不交化运算,但从两种仿真方法的描述中可看出,实施蒙特卡洛仿真的基础是结构函数或最小割集的获得。其中,方法(1)需要求解故障树的结构函数;方法(2)需要求解故障树的所有最小割集。但不管是求解故障树的结构函数或是最小割集,都将涉及到布尔逻辑运算。因此相对于公式计算法,仿真方法可有效避免公式法中的第二次布尔逻辑运算,但仍不能避免公式法中第一次布尔逻辑运算。
2.方法(1)、(2)均需要依据各底事件寿命分布,抽取底事件发生时间。而在工程实践中,存在系统(在故障树中为顶事件)中元件(在故障树中为底事件)寿命分布未知,工程人员通过对元件健康状态进行评估获得元件故障发生概率的情况。针对这种底事件发生概率已知而寿命分布不知的情况,依据底事件寿命分布抽取底事件发生时间的方法必将失效,因此方法(1)和(2)不能用于仅已知底事件发生概率而底事件寿命分布未知的故障树。
针对以上两个缺点,寻求一种新的基于蒙特卡洛仿真的故障树分析方法是完全必要的。
发明内容
为克服现有技术中存在的逻辑运算量大、不能用于已知底事件发生概率而底事件寿命分布未知的故障树的不足,本发明提出了一种基于蒙特卡洛仿真的故障树分析方法。
本发明的具体过程是:
步骤1,确定故障树中的底事件、中间事件和顶事件。
在故障树中,原因事件和结果事件用逻辑门J相连,且逻辑门J下端为原因事件,上端为结果事件。
所述底事件的上端与逻辑门J相连,下端不与事件相连。顶事件的上端不与逻辑门J相连,下端与逻辑门相连。中间事件上端与下端均与逻辑门J相连。
在故障树中:不存在原因事件且存在结果事件的事件称为底事件,底事件是故障树中无需探明其发生原因的事件。既存在原因事件又同时存在结果事件的事件,称为中间事件。顶事件本身就是故障树分析中所关心的结果事件。
步骤2,对故障树所有事件进行排序:按照父节点在前、子节点在后及底事件在前、中间事件居中、顶层事件最后的排序原则对故障树所有事件进行排序,排序结果为{Xi,Gi,T},i=1,2,3,4,5。
在任意故障树中,如果底事件的上端或中间事件的上端指向逻辑门J,该逻辑门J上端又指向中间事件或顶事件的下端,则逻辑门J下端的事件是逻辑门J上端事件的父节点,辑门J上端事件是逻辑门J下端事件的子节点。
所述的父节点与子节点是以逻辑门连接的底事件或顶事件/中间事件,该逻辑门表达了若发生子节点事件,则父节点所须满足的逻辑条件。
步骤3,设定系统运行时刻T,并确定各底事件在系统运行时刻T的发生概率。
所述系统运行时刻T设定为大于0的任何值。
确定各底事件在系统运行时刻T的发生概率时:当各底事件的发生概率已知,将该已知概率作为底事件在系统运行时刻的发生概率;当各底事件的发生概率未直接给出,将系统运行时刻T分别带入已知的各概率分布F(t)中,得到各底事件在系统运行时刻的发生概率。
所述各底事件的概率分布F(t)是指底事件发生概率F随时间t变化的函数,函数中的自变量为时间t,t的范围需大于等于0,函数因变量F表示的是概率,因此范围为[0.0,1.0]。
步骤4,确定对故障树进行蒙特卡洛仿真的次数N。根据底事件最小概率值确定对故障树进行蒙特卡洛仿真的次数N。比较步骤3中得到的各底事件发生概率的值,取最小值作为底事件最小概率值。设定的仿真次N需满足条件:N>50/最小概率值。
步骤5,确定各底事件在系统运行时刻的状态。应用蒙特卡洛抽样方法,确定各底事件在系统运行时刻的状态;所述点状态为故障或正常。在确定各底事件状态时,随机抽取某底事件服从[0,1]均匀分布的随机数U1~U[0,1];
比较U1与底事件发生概率的大小,当U1小于底事件发生概率时,认为底事件发生;否则认为底事件不发生。
重复所述随机抽取各底事件的随机数U1~U[0,1],并将分别抽取的U1与底事件发生概率进行比较的过程,依次确定所有底事件的状态。
步骤6,依次确定中间事件及顶事件的状态:
在步骤5已确定的各底事件状态基础上,按照步骤2中的事件排序,依次确定中间事件及顶事件的状态,并记录确定好的顶事件状态。
对任意中间事件或顶事件,在确定所述任意中间事件的状态或顶事件的状态时,首先需确定该任意中间事件父节点的状态或顶事件父节点的状态。
其次,确定该任意中间事件或顶事件与父节点的连接逻辑门J。虽然对于不同的逻辑门J,确定所述任意中间事件状态或顶事件状态的方法不同,但均需遵从同一原则:既然逻辑门J表达了子节点发生时父节点所须的逻辑条件,那么当父节点的状态满足逻辑门J所表达的逻辑条件时,所述任意中间事件或顶事件发生,否则所述任意中间事件或顶事件不发生。
步骤7,重复确定底事件、中间事件及顶事件的状态:
连续重复步骤5和步骤6,直至重复次数达到设定的仿真次数N,在N次重复过程中,根据各次在步骤6中确定的顶事件状态,累计顶事件的发生次数M。当N次重复结束后,转到步骤8。
步骤8,确定顶事件发生概率和故障树所表示系统的可靠度:
顶事件发生概率=顶事件发生次数M/设定的仿真次数N;
系统可靠度=1.0-顶事件发生概率。
本发明通过蒙特卡洛抽样方法在故障树中的仿真实施过程,避免了求解故障树结构函数或所有最小割集,并能够得到底事件寿命分布服从任意分布函数情况下的顶事件发生概率,以及系统运行到某时刻,底事件发生概率可知而寿命分布未知情况下的系统顶事件发生概率。
相对现有技术,本发明的有益效果为:
1)本发明方法不涉及任何布尔逻辑的不交化运算,适用于计算机编程处理,可取代繁琐而复杂的传统计算方法,得到满足工程实践需求的顶事件发生概率结果。
由实施例可知,应用传统方法对故障树进行分析时,必然会涉及到布尔逻辑,而布尔逻辑需要进行比代数运算更繁杂的不交化处理。相比之下,本发明提出的仿真方法中,涉及到的最复杂计算是对故障树各底事件发生概率的代数运算。相对于布尔逻辑的不交化处理,代数运算不仅直观简单、且更容易在计算机中通过程序实现。此外,对比实例1的精确计算结果(公式计算法)与仿真结果(本发明方法)可知,本发明方法收敛于精确解,可满足工程实践要求。
2)本发明方法适用于服从各种寿命分布的底事件构成的故障树,可计算底事件发生概率已知而寿命分布未知时顶事件的发生概率,因此方法受限制条件小。
应用本发明方法对故障树分析时,由实施过程可看出,只需将系统运行时刻T带入到各底事件发生概率服从的分布中,就可计算出各底事件发生概率。对各底事件,抽取一服从[0,1]均匀分布的随机数U1~U[0,1],通过判断随机数与各底事件发生概率的大小,就可对底事件在系统时刻T的状态进行判断,方法直观简单,整个过程并未对底事件服从的寿命分布提出限制。本发明的实施例中,存在底事件寿命分布未知,发生概率已知的情况,结果表明通过本发明方法仍可计算得到收敛于正确解的计算结果,因此相对于现存的两类仿真方法,本发明方法受限制条件更小。
3)本发明方法不需要求解故障树中的所有最小割集或通扫故障树求解系统结构函数,相比现有的仿真方法,本发明方法求解过程更简练。
在对故障树进行分析时,传统的仿真方法均需要首先求解最小割集或者求解系统结构函数。而不管是求解最小割集或结构函数,都涉及到了布尔逻辑。从本发明的实施例的求解过程可看出,本发明方法并不需要求解最小割集或系统结构函数,可避免布尔逻辑不交化处理,求解更为简练。
附图说明
图1是基于蒙特卡洛仿真的故障树分析算法流程图;
图2是故障树的示意图,图中的X1,X2,X3,X4,X5均为该故障树中的5个底事件。
图3是本发明的流程图。
具体实施方式
本发明提出了一种基于蒙特卡洛仿真方法对故障树进行分析方法,用于故障树所表示的系统的可靠度计算。本发明的具体过程是:
步骤1,确定故障树中的底事件、中间事件和顶事件。如果一个事件可以导致另一个事件的发生,则前一事件称为原因事件,后一事件称为结果事件。在故障树中,原因事件和结果事件用逻辑门相连,且逻辑门下端为原因事件,上端为结果事件。
在故障树中:底事件是导致其它事件的原因事件,位于故障树的底部,它总是某个逻辑门的输入事件而不是输出事件;底事件用圆形符号表示,圆形符号的上端与逻辑门相连,下端不与任何图形符号相连。所有事件联合发生作用的结果事件是顶事件;顶事件位于故障树顶端,是所讨论故障树中逻辑门的输出事件而不是输入事件;顶事件用矩形符号表示,矩形符号上端不与逻辑门相连,下端与逻辑门相连。位于底事件和顶事件之间的结果事件称为中间事件;所述中间事件既是某个逻辑门的输出事件,同时又是别的逻辑门的输入事件;顶事件用矩形符号表示,矩形符号上端不与逻辑门相连,下端与逻辑门相连。
在故障树,各圆形符号或矩阵符号均以字母标注,相同字母标注的圆形符号或矩阵符号表示同一事件。
本实施例中,Xi表示底事件,Gi表示中间事件,T表示顶事件。i是事件数量的编号;i=1,2,3,4,5。
在图2中,X1不存在原因事件,但存在结果事件G1和G4;X2不存在原因事件,存在结果事件G2;X3不存在原因事件,存在结果事件G3和G5;X4不存在原因事件,存在结果事件G3和G5;X5不存在原因事件,存在结果事件G3和G5。底事件仅存在结果事件而不存在原因事件,因此X1、X2、X3、X4和X5五个事件为底事件,用圆形符号表示。
在图2中,G1存在原因事件X1和G3,存在结果事件T;G2存在原因事件X2和G4,存在结果事件T;G3存在原因事件X3、X4和X5,存在结果事件G1;G4存在原因事件X1和G5,存在结果事件G2;G5存在原因事件X3、X4和X5,存在结果事件G4。中间事件既存在原因事件也存在结果事件,因此G1、G2、G3、G4和G5五个事件为中间事件,用矩形符号表示。
在图2中,顶事件T存在原因事件G1和G2,不存在结果事件。顶事件仅存在原 因事件而不存在结果事件,因此T为顶事件,用矩形符号表示。
步骤2,对故障树所有事件进行排序。按照父节点在前、子节点在后及底事件在前、中间事件居中、顶层事件最后的排序原则对故障树所有事件进行排序,排序结果:{X1,X2,X3,X4,X5,G5,G4,G3,G2,G1,T}。在任意故障树中,如果圆形符号的上端或矩形符号的上端指向一个逻辑门J,逻辑门J上端又指向矩形符号下端,则逻辑门J下端的事件是逻辑门J上端事件的父节点,辑门J上端事件是逻辑门J下端事件的子节点。
一个子节点可以有多个父节点,一个父节点也可有多个子节点。即,父节点与子节点是以逻辑门连接的圆形符号或矩形符号,该逻辑门表达了若发生子节点事件,则父节点所须满足的逻辑条件。
步骤3,设定系统运行时刻T,并确定各底事件在系统运行时刻T的发生概率。确定方法:当各底事件的发生概率已知,将该已知概率作为底事件在系统运行时刻的发生概率;当各底事件的发生概率未直接给出,将系统运行时刻T分别带入已知的各概率分布F(t)中,得到各底事件在系统运行时刻的发生概率。
所述各底事件的概率分布F(t)是指底事件发生概率F随时间t变化的函数,函数中的自变量为时间t,t的范围需大于等于0,函数因变量F表示的是概率,因此范围为[0.0,1.0]。
故障树包括建模和分析两部分内容。本发明提出的方法是一种针对故障树的分析方法,与建模方法无关。在建模部分,底事件服从的概率分布F(t)由故障树建模者给出。当故障树的建模工作完成后,才可由故障树分析人员对故障树进行分析。因此,在故障树分析者对故障树进行分析时,概率分布F(t)是作为故障树的已知条件而存在的。
在图2中,底事件X2、X3、X4和X5各自服从的概率分布F(t)在其圆形符号下方,F(t)中的e为数学常量:自然对数的底数,λi(i=2,3,4,5)表示底事件Xi(i=2,3,4,5)的故障率。故障率的定义为工作到某时刻t尚未生效的事件,在该时刻t以后的下一个单位时间内发生故障的概率。通过故障率λ,能够获得事件发生概率随时间t的变化函数:exp为e的另一种等价数学表达形式。当λ(t)与时间无 关,等于常数时,函数F(t)=1-e-λt。
系统运行时刻T设定为大于0的任何值。在该实例中,设定系统运行时刻T=1000。对于图2中的底事件X2、X3、X4和X5,将时间T=t=1000带入F(t),计算得到底事件X2、X3、X4和X5在时刻T=1000时的发生概率依次为:
在图2中,底事件X1发生概率F是与时间无关的已知量,将已知量直接作为底事件发生概率,底事件X1在T=1000时的概率为:F1(T=1000)=0.010939。
F1、F2、F3、F5和F5的下标分别对应事件X1、X2、X3、X4和X5中的数字,下标表明了各底事件发生概率Fi(i=1,2,3,4,5)与各底事件Xi(i=1,2,3,4,5)的对应关系。
步骤4,确定对故障树进行蒙特卡洛仿真的次数N。根据底事件最小概率值确定对故障树进行蒙特卡洛仿真的次数N。比较步骤3中得到的各底事件发生概率的值,取最小值作为底事件最小概率值。设定的仿真次N需满足条件:N>50/最小概率值。在本实施例中,最小概率值为0.010939设定仿真次数N=5000。
步骤5,确定各底事件在系统运行时刻的状态。应用蒙特卡洛抽样方法,确定各底事件在系统运行时刻的状态;所述点状态为故障或正常。对于各底事件状态的确定方法,具体实施过程如下:
对任一底事件,随机抽取一服从[0,1]均匀分布的随机数U1~U[0,1];
比较U1与底事件发生概率的大小,当U1小于底事件发生概率时,认为底事件发生;否则认为底事件不发生。
按照步骤5所述具体实施过程依次确定所有底事件的状态。
所述确定各底事件在系统运行时刻T的状态的具体过程如下:
应用matlab,C编程软件均能够产生服从[0,1]均匀分布的随机数。本实施例中采用C编程软件进行随机数抽取。由于本发明提出的方法基于随机抽样,因此每次抽样得到的随机数可能不同。在该实施例中,本步骤仅以一种可能的抽样结果为例对本发明的方法进行说明,所述是对本发明的解释而不是限定。
为每个底事件分别抽取一随机数,结果如下:
对于X1,随机抽取服从[0,1]均匀分布的随机数为0.513657,大于X1发生概率F1(T=1000),故X1不发生;
对于X2,随机抽取服从[0,1]均匀分布的随机数为0.104892,小于X2发生概率F2(T=1000),故X2发生;
对于X3,随机抽取服从[0,1]均匀分布的随机数为0.99292,大于X3发生概率F3(T=1000),故X3不发生;
对于X4,随机抽取服从[0,1]均匀分布的随机数为0.66332,大于X4发生概率F4(T=1000),故X4不发生;
对于X5,随机抽取服从[0,1]均匀分布的随机数为0.189215,大于X5发生概率F5(T=1000),故X5不发生。
步骤6,依次确定中间事件及顶事件的状态。在步骤5已确定的各底事件状态基础上,按照步骤2中的事件排序,依次确定中间事件及顶事件的状态,并记录确定好的顶事件状态。
对任意中间事件或顶事件,在确定所述任意中间事件的状态或顶事件的状态时,首先需确定该任意中间事件父节点的状态或顶事件父节点的状态。
其次,确定该任意中间事件或顶事件与父节点的连接逻辑门J。虽然对于不同的逻辑门J,确定所述任意中间事件状态或顶事件状态的方法不同,但均需遵从同一原则:既然逻辑门J表达了子节点发生时父节点所须的逻辑条件,那么当父节点的状态满足逻辑门J所表达的逻辑条件时,所述任意中间事件或顶事件发生,否则所述任意中间事件或顶事件不发生。
在本实施例中,事件的排序为{X1,X2,X3,X4,X5,G5,G4,G3,G2,G1,T}。依照事件排序,本实施例中各中间事件和顶事件状态的确定步骤如下:
对于中间事件G5,导致该事件发生的父节点有X3,X4,X5。G5与父节点的连接逻辑门为或门,故导致G5发生的逻辑条件为:X3,X4,X5任一事件发生,G5发生。在步骤5中,已确定X3,X4,X5均不发生,故G5不发生;
对于中间事件G4,导致该事件发生的父节点有X1,G5。G4与父节点的连接逻辑门为与门,故导致G4发生的逻辑条件为:X1与G5均发生,G4发生。在步骤5中,已确定G5,X1均不发生,故G4不发生;
对于中间事件G3,导致该事件发生的父节点有X3,X4,X5。G3与父节点的连接逻辑门为与门,故导致G3发生的逻辑条件为:X3,X4,X5所有事件发生,G3发生。在步骤5中,已确定X3,X4,X5均不发生,故G3不发生;
对于中间事件G2,导致该事件发生的父节点有X2,G4。G2与父节点的连接逻辑门为或门,故导致G2发生的逻辑条件为:X2,G4任一事件发生,G2发生。已确定X2发生,G4不发生,故G2发生;
对于中间事件G1,导致该事件发生的父节点有X1,G3。G1与父节点的连接逻辑门为或门,故导致G1发生的逻辑条件为:X1,G3任一事件发生,G1发生。已确定X1,G3不发生,故G1不发生;
对于顶事件T,导致该事件发生的父节点有G1,G2。T与父节点的连接逻辑门为或门,故导致顶事件T发生的逻辑条件为:G1,G2任一事件发生,T发生。已确定G1不发生,G2发生,故T发生。
步骤7,重复确定底事件、中间事件及顶事件的状态。连续重复步骤5和步骤6,直至重复次数达到设定的仿真次数N,在N次重复过程中,根据各次在步骤6中确定的顶事件状态,累计顶事件的发生次数M。当N次重复结束后,转到步骤8。在该实施例中,累积得到顶事件发生次数M为113。
步骤8,确定顶事件发生概率和故障树所表示系统的可靠度。
顶事件发生概率=顶事件发生次数M/设定的仿真次数N;
系统可靠度=1.0-顶事件发生概率。
在该实施例中,顶事件发生概率=113/5000=0.0226,可靠度=1-0.0226=0.9774。
为验证本发明提出的蒙特卡洛仿真方法准确性,通过精确求解方法对该故障树进行求解。具体分析如下:
首先得到此故障树的最小割集有{X1}{X2}{X3,X4,X5}。
在图2中,顶事件T的表示为
T=G1∪G2
=(X1∪G3)∪(X2∪G4)
=[X1∪(X3∩X4∩X5)]∪[X2∪(X1∩G5)]
=X1∪(X3∩X4∩X5)∪X2∪(X1∩G5)
=X1∪(X3∩X4∩X5)∪X2∪[X1∩(X3∪X4∪X5)]
=X1∪(X3∩X4∩X5)∪X2∪(X1∩X3)∪(X1∩X4)∪(X1∩X5)
根据T的表达式,图2中的故障树存在6个割集:
{X1},{X3,X4,X5},{X2},{X1,X3},{X1,X4},{X1,X5}。
通过布尔逻辑的集合运算吸收规律简化以上6个割集,得到全部最小割集。因为X1+X1X3=X1、X1+X1X4=X1和X1+X1X5=X1,所以割集{X1,X4}和{X1,X5}被割集{X1}吸收,得到故障树的所有最小割集:{X1},{X2},{X3,X4,X5}。
当获得最小割集后,然后用公式法计算顶事件发生概率,顶事件发生概率计算公式为:
F=P(K1∪K2∪K3)=P(K1)+P(K2)+P(K3)
-P(K1K2)-P(K2K3)-P(K1K3)+P(K1K2K3)
=P(K1)+P(K2)+P(K3)
-P(K1)P(K2)-P(K2)P(K3)-P(K1)P(K3)+P(K1)P(K2)P(K3)
其中,K1、K2和K3分别为第1、2、3个最小割集,P(K1)、P(K1)和P(K1)分别表示第1、2、3个最小割集的发生概率,则P(K1)=F1(T=1000),P(K2)=F2(T=1000),P(K3)=F3(T=1000)F4(T=1000)F5(T=1000)。将此三个等式带入顶事件发生概率计算公式,得系统在T=1000h时刻,顶事件发生概率的精确计算结果F=0.02274,而仿真结果为0.0226,绝对误差0.00014,相对误差0.616%。为了进一步验证本发明提出的仿真方法有效性,表1给出了在不同仿真次数下的仿真结果。
表1不同仿真次数下的仿真结果
从表中可以看出,随着仿真次数的增大,仿真结果收敛于精确解,满足工程需求。通过对比仿真与精确计算结果,验证了本发明提出的仿真方法的正确性以及优越性:
首先,可以取代繁琐而复杂的传统公式计算方法,得到满足工程需求的不可靠度结果;
其次,由于X1寿命分布未知,无法应用传统的基于结构函数的通扫故障树仿真方法和基于最小割集的故障树仿真方法,而本发明提出的方法不需要确切知道各事件或元件的寿命分布,只需求解在系统运行时刻各底事件发生的概率,故使用受限制条件小,模拟过程更为灵活;
最后,本方法也不需要通扫故障树求解系统结构函数或求解系统所有的最小割,相比之下仿真流程简单,使用起来方便。
Claims (4)
1.一种基于蒙特卡洛仿真的故障树分析方法,其特征在于,具体过程是:
步骤1,确定故障树中的底事件、中间事件和顶事件:
在故障树中,原因事件和结果事件用逻辑门J相连,且逻辑门J下端为原因事件,上端为结果事件;
所述底事件的上端与逻辑门J相连,下端不与事件相连;顶事件的上端不与逻辑门J相连,下端与逻辑门相连;中间事件上端与下端均与逻辑门J相连;
步骤2,对故障树所有事件进行排序:
按照父节点在前、子节点在后及底事件在前、中间事件居中、顶层事件最后的排序原则对故障树所有事件进行排序,排序结果为{Xi,Gi,T},i=1,2,3,4,5;
在任意故障树中,如果底事件的上端或中间事件的上端指向逻辑门J,该逻辑门J上端又指向中间事件或顶事件的下端,则逻辑门J下端的事件是逻辑门J上端事件的父节点,辑门J上端事件是逻辑门J下端事件的子节点;
步骤3,设定系统运行时刻T,并确定各底事件在系统运行时刻T的发生概率:
所述系统运行时刻T设定为大于0的任何值;
确定各底事件在系统运行时刻T的发生概率时:当各底事件的发生概率已知,将该已知概率作为底事件在系统运行时刻的发生概率;当各底事件的发生概率未直接给出,将系统运行时刻T分别带入各底事件的分布F(t)中,得到各底事件在系统运行时刻的发生概率;
步骤4,确定对故障树进行蒙特卡洛仿真的次数N:
根据底事件最小概率值确定对故障树进行蒙特卡洛仿真的次数N;比较步骤3中得到的各底事件发生概率的值,取最小值作为底事件最小概率值;设定的仿真次N需满足条件:N>50/最小概率值;
步骤5,确定各底事件在系统运行时刻的状态:
应用蒙特卡洛抽样方法,确定各底事件在系统运行时刻的状态;所述点状态为故障或正常;在确定各底事件状态时,随机抽取某底事件服从[0,1]均匀分布的随机数U1~U[0,1];
比较U1与底事件发生概率的大小,当U1小于底事件发生概率时,认为底事件发生;
否则认为底事件不发生;
重复所述随机抽取各底事件的随机数U1~U[0,1],并将分别抽取的U1与底事件发生概率进行比较的过程,依次确定所有底事件的状态;
步骤6,依次确定中间事件及顶事件的状态:
在步骤5已确定的各底事件状态基础上,按照步骤2中的事件排序,依次确定中间事件及顶事件的状态,并记录确定好的顶事件状态;
对任意中间事件或顶事件,在确定所述任意中间事件的状态或顶事件的状态时,首先需确定该任意中间事件父节点的状态或顶事件父节点的状态;
其次,确定该任意中间事件或顶事件与父节点的连接逻辑门J;虽然对于不同的逻辑门J,确定所述任意中间事件状态或顶事件状态的方法不同,但均需遵从同一原则:既然逻辑门J表达了子节点发生时父节点所须的逻辑条件,那么当父节点的状态满足逻辑门J所表达的逻辑条件时,所述任意中间事件或顶事件发生,否则所述任意中间事件或顶事件不发生;
步骤7,重复确定底事件、中间事件及顶事件的状态:
连续重复步骤5和步骤6,直至重复次数达到设定的仿真次数N,在N次重复过程中,根据各次在步骤6中确定的顶事件状态,累计顶事件的发生次数M;当N次重复结束后,转到步骤8;
步骤8,确定顶事件发生概率和故障树所表示系统的可靠度:
顶事件发生概率=顶事件发生次数M/设定的仿真次数N;
系统可靠度=1.0-顶事件发生概率。
2.如权利要求1所述基于蒙特卡洛仿真的故障树分析方法,其特征在于,在故障树中:不存在原因事件且存在结果事件的事件称为底事件,底事件是故障树中无需探明其发生原因的事件;既存在原因事件又同时存在结果事件的事件,称为中间事件;顶事件本身就是故障树分析中所关心的结果事件。
3.如权利要求1所述基于蒙特卡洛仿真的故障树分析方法,其特征在于,所述的父节点与子节点是以逻辑门连接的底事件或顶事件/中间事件,该逻辑门表达了若发生子节点事件,则父节点所须满足的逻辑条件。
4.如权利要求1所述基于蒙特卡洛仿真的故障树分析方法,其特征在于,所述各底事件的概率分布F(t)是指底事件发生概率F随时间t变化的函数,函数中的自变量为时间t,t的范围需大于等于0,函数因变量F表示的是概率,因此范围为[0.0,1.0]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610247067.4A CN106055729B (zh) | 2016-04-20 | 2016-04-20 | 一种基于蒙特卡洛仿真的故障树分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610247067.4A CN106055729B (zh) | 2016-04-20 | 2016-04-20 | 一种基于蒙特卡洛仿真的故障树分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106055729A true CN106055729A (zh) | 2016-10-26 |
CN106055729B CN106055729B (zh) | 2018-11-02 |
Family
ID=57176134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610247067.4A Expired - Fee Related CN106055729B (zh) | 2016-04-20 | 2016-04-20 | 一种基于蒙特卡洛仿真的故障树分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106055729B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681142A (zh) * | 2016-12-26 | 2017-05-17 | 中国航空工业集团公司西安飞机设计研究所 | 一种产品故障触发及传递方法 |
CN107609325A (zh) * | 2017-10-18 | 2018-01-19 | 中国航空无线电电子研究所 | 基于sat的故障树求解最小割集的方法 |
CN107800578A (zh) * | 2017-11-27 | 2018-03-13 | 辽宁工程技术大学 | 一种网络化故障发生过程的分析方法 |
CN109376059A (zh) * | 2018-10-29 | 2019-02-22 | 中国石油大学(华东) | 一种基于蒙特卡洛树的系统运行状态表示方法 |
CN109784575A (zh) * | 2019-01-24 | 2019-05-21 | 新奥数能科技有限公司 | 设备状态的预测方法及装置、存储介质、电子装置 |
CN110084500A (zh) * | 2019-04-19 | 2019-08-02 | 深圳市德塔防爆电动汽车有限公司 | 基于安全树概率和安全重要度的电动车辆安全控制方法和电动车辆 |
CN110110401A (zh) * | 2019-04-19 | 2019-08-09 | 深圳市德塔防爆电动汽车有限公司 | 一种基于安全树模型的电动车辆安全设计优化方法 |
CN110135040A (zh) * | 2019-05-04 | 2019-08-16 | 西北工业大学 | 基于神经网络的3k行星减速器可靠性评估方法 |
CN110163284A (zh) * | 2019-05-23 | 2019-08-23 | 电子科技大学 | 风力发电机组齿轮箱行星传动系统fmeca分析方法 |
CN110705051A (zh) * | 2019-09-17 | 2020-01-17 | 北京航空航天大学 | 时间约束触改逻辑的动态故障树模型及仿真方法 |
CN111008310A (zh) * | 2019-12-11 | 2020-04-14 | 北京航空航天大学 | 不考虑维修的间歇性工作逻辑门及其故障树的仿真方法 |
CN111046556A (zh) * | 2019-12-11 | 2020-04-21 | 北京航空航天大学 | 考虑维修的含间歇性工作逻辑门的动态故障树仿真方法 |
CN112257268A (zh) * | 2020-10-23 | 2021-01-22 | 南京工业大学 | 一种液压多路阀可靠性分析方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436519A (zh) * | 2011-08-23 | 2012-05-02 | 戴志辉 | 电力系统自动装置动态可靠性综合评估方法 |
CN102495935A (zh) * | 2011-12-15 | 2012-06-13 | 中国石油天然气集团公司 | 一种地下储气库储存介质泄漏风险的测定方法 |
US20130205170A1 (en) * | 2012-02-07 | 2013-08-08 | Ald Software Ltd. | Methods, Apparatus and Systems for Performing Dynamic Fault Tree Analysis |
CN104392072A (zh) * | 2014-12-12 | 2015-03-04 | 北京交通大学 | 一种基于动态故障树的设备集成系统可靠性分析方法 |
CN104778370A (zh) * | 2015-04-20 | 2015-07-15 | 北京交通大学 | 基于蒙特卡洛仿真求解动态故障树模型的风险分析方法 |
-
2016
- 2016-04-20 CN CN201610247067.4A patent/CN106055729B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436519A (zh) * | 2011-08-23 | 2012-05-02 | 戴志辉 | 电力系统自动装置动态可靠性综合评估方法 |
CN102495935A (zh) * | 2011-12-15 | 2012-06-13 | 中国石油天然气集团公司 | 一种地下储气库储存介质泄漏风险的测定方法 |
US20130205170A1 (en) * | 2012-02-07 | 2013-08-08 | Ald Software Ltd. | Methods, Apparatus and Systems for Performing Dynamic Fault Tree Analysis |
CN104392072A (zh) * | 2014-12-12 | 2015-03-04 | 北京交通大学 | 一种基于动态故障树的设备集成系统可靠性分析方法 |
CN104778370A (zh) * | 2015-04-20 | 2015-07-15 | 北京交通大学 | 基于蒙特卡洛仿真求解动态故障树模型的风险分析方法 |
Non-Patent Citations (1)
Title |
---|
尉玉峰 等: "基于Petri网的复杂制造系统故障树分析", 《机械设计与制造》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681142A (zh) * | 2016-12-26 | 2017-05-17 | 中国航空工业集团公司西安飞机设计研究所 | 一种产品故障触发及传递方法 |
CN107609325A (zh) * | 2017-10-18 | 2018-01-19 | 中国航空无线电电子研究所 | 基于sat的故障树求解最小割集的方法 |
CN107800578A (zh) * | 2017-11-27 | 2018-03-13 | 辽宁工程技术大学 | 一种网络化故障发生过程的分析方法 |
CN109376059A (zh) * | 2018-10-29 | 2019-02-22 | 中国石油大学(华东) | 一种基于蒙特卡洛树的系统运行状态表示方法 |
CN109376059B (zh) * | 2018-10-29 | 2021-12-07 | 中国石油大学(华东) | 一种基于蒙特卡洛树的系统运行状态表示方法 |
CN109784575A (zh) * | 2019-01-24 | 2019-05-21 | 新奥数能科技有限公司 | 设备状态的预测方法及装置、存储介质、电子装置 |
WO2020211845A1 (zh) * | 2019-04-19 | 2020-10-22 | 深圳市德塔防爆电动汽车有限公司 | 一种基于安全树模型的电动车辆安全设计优化方法 |
CN110084500A (zh) * | 2019-04-19 | 2019-08-02 | 深圳市德塔防爆电动汽车有限公司 | 基于安全树概率和安全重要度的电动车辆安全控制方法和电动车辆 |
CN110110401A (zh) * | 2019-04-19 | 2019-08-09 | 深圳市德塔防爆电动汽车有限公司 | 一种基于安全树模型的电动车辆安全设计优化方法 |
CN110110401B (zh) * | 2019-04-19 | 2020-02-04 | 深圳市德塔防爆电动汽车有限公司 | 一种基于安全树模型的电动车辆安全设计优化方法 |
CN110135040A (zh) * | 2019-05-04 | 2019-08-16 | 西北工业大学 | 基于神经网络的3k行星减速器可靠性评估方法 |
CN110163284A (zh) * | 2019-05-23 | 2019-08-23 | 电子科技大学 | 风力发电机组齿轮箱行星传动系统fmeca分析方法 |
CN110705051A (zh) * | 2019-09-17 | 2020-01-17 | 北京航空航天大学 | 时间约束触改逻辑的动态故障树模型及仿真方法 |
CN111046556A (zh) * | 2019-12-11 | 2020-04-21 | 北京航空航天大学 | 考虑维修的含间歇性工作逻辑门的动态故障树仿真方法 |
CN111008310A (zh) * | 2019-12-11 | 2020-04-14 | 北京航空航天大学 | 不考虑维修的间歇性工作逻辑门及其故障树的仿真方法 |
CN111046556B (zh) * | 2019-12-11 | 2021-10-26 | 北京航空航天大学 | 考虑维修的含间歇性工作逻辑门的动态故障树仿真方法 |
CN111008310B (zh) * | 2019-12-11 | 2023-08-25 | 北京航空航天大学 | 不考虑维修的间歇性工作逻辑门及其故障树的仿真方法 |
CN112257268A (zh) * | 2020-10-23 | 2021-01-22 | 南京工业大学 | 一种液压多路阀可靠性分析方法 |
CN112257268B (zh) * | 2020-10-23 | 2024-05-24 | 南京工业大学 | 一种液压多路阀可靠性分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106055729B (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106055729A (zh) | 一种基于蒙特卡洛仿真的故障树分析方法 | |
CN105893256A (zh) | 基于机器学习算法的软件故障定位方法 | |
Zutshi et al. | Multiple shooting, cegar-based falsification for hybrid systems | |
Aliee et al. | A fast and accurate fault tree analysis based on stochastic logic implemented on field-programmable gate arrays | |
CN110174883B (zh) | 一种系统健康状态评估方法及装置 | |
US20080072190A1 (en) | Validating one or more circuits using one or more grids | |
CN103473162A (zh) | 一种基于软件故障注入的可靠性评测系统设计方法 | |
US7373550B2 (en) | Generation of a computer program to test for correct operation of a data processing apparatus | |
CN102360333B (zh) | 基于hisqm排队模型考虑故障排除过程的构件软件可靠性分析方法 | |
CN109492256A (zh) | 一种动态系统状态概率映射矩阵多向搜索方法 | |
CN104318110B (zh) | 一种提高大型复杂系统风险设计及维修效率的方法 | |
Chen et al. | Fast node merging with don't cares using logic implications | |
CN105243245A (zh) | 一种基于Petri网的电路模块故障机理相关关系的可靠性建模方法 | |
CN105184403B (zh) | 基于机器学习和统计模型检验的工作流最优配置寻优方法 | |
US20190121932A1 (en) | Covergroup network analysis | |
CN105512018A (zh) | 一种并行系统性能的形式化分析方法 | |
Liu et al. | STAR: Generating input vectors for design validation by static analysis of RTL | |
US20230094798A1 (en) | Enhanced coverage convergence and test status during simulation runtime | |
CN106125713A (zh) | 一种区间删失情况下可靠性增长的评估与预测方法 | |
Smith et al. | A method to determine equivalent fault classes for permanent and transient faults | |
Saeed et al. | Cost and effectiveness of search-based techniques for model-based testing: an empirical analysis | |
JP2001052043A (ja) | 組合せ検証におけるエラー診断方法及びエラーサイト証明方法 | |
Valueian et al. | Constructing automated test oracle for low observable software | |
JP5463226B2 (ja) | ソースコード検査方法およびソースコード検査装置 | |
CN104503913B (zh) | 一种基于迁移路径和改进马氏链的构件软件可靠性评估方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181102 Termination date: 20190420 |
|
CF01 | Termination of patent right due to non-payment of annual fee |