基于模块化分解的故障树分析方法

2015-01-06 08:21黄元亮
计算机工程 2015年2期
关键词:子树底层模块化

周 斌,黄元亮,黄 威

(暨南大学a.珠海校区现代教育技术中心;b.电气自动化研究所,广东珠海519070)

基于模块化分解的故障树分析方法

周 斌a,黄元亮b,黄 威b

(暨南大学a.珠海校区现代教育技术中心;b.电气自动化研究所,广东珠海519070)

传统故障树分析算法存在诊断成本高和耗时长的问题,为此,在研究故障树结构中的特殊规律的基础上,采用深度优先最左遍历算法对故障树进行模块化分解,减小故障树分析的规模。结合if-then-else运算符,将最左底层模块子树转化为相应的二元决策图结构。运用深度优先最左遍历算法得到该二元决策图结构中的割集和最小割集,用相同故障概率的基本事件替代最左底层模块子树得到新故障树。采用自底向上、从左至右的递归综合分析思想,获得系统元件故障发生的概率,实现对故障树的分析。对故障实例的分析诊断结果表明,该方法可有效提高诊断速度,减少诊断成本。

故障树;故障诊断;模块化;二元决策图;故障概率;深度优先搜索

1 概述

故障树分析(Fault Tree Analysis,FTA)[1]起源于对导弹随机失效问题的预测,经过40多年的发展,目前已广泛地应用到核能工业、航空航天、电子、化工和机器人等领域,文献[2]采用递归算法生成连锁故障树,进行故障预警。文献[3]提出了基于二元决策图的建筑施工安全风险评估方法,文献[4]提出了故障树模块化分解模型,采用动态和静态相结合的方法分析系统可靠性,文献[5]提出一种新的T-S模糊故障树分析方法,文献[6]提出寻找基本事件的最优排序的三条排序法则,使二元决策图节点数减少约二分之一。

尽管FTA技术得到了快速的发展,但它存在许多需要继续探讨或者扩展的问题,如顶事件割集的不交化问题,传统方法的思想和实际运用过程都比较冗长、繁杂。近年来出现的二元决策图(Binary Decision Diagram,BDD)[7-8]技术是故障树分析的一种非常有效的工具。尤其是针对传统故障树分析复杂系统时而导致的“组合爆炸”的问题,BDD技术显现出更为出色的运算能力。BDD技术可以一次性实现割集的不交化,当故障树是最简割集BDD时,可以从不交化割集中直接析出最小割集(Minimum Cut Set,MCS)。文献[9]提出了诊断重要度大的最小割集优先诊断的原理。

本文采用双深度优先最左遍历算法对大型复杂的故障树进行模块化分解,结合ite(if-thenelse)[10-11]运算符将故障树转化为BDD,应用一种基于线性搜索的算法,对故障树中的模块子树进行快速查找,从而增强模块的搜索速度,降低搜索成本。

2 故障树的模块化分解

为了有效降低故障树分析的运行时间和存储空间,有必要研究故障树结构中的特殊规律,从而对其进行模块化分解。通过划分得到的故障树子模块在逻辑图上反映为某个转入“事件”(但转入“事件”不一定是模块),子模块实际上是一棵独立的故障树。利用模块划分的思想,可以对子模块继续划分,直到不能划分为止。对故障树模块化分解后,只需分别分析独立的子模块,然后将子模块的结果进行综合(子模块通过某些逻辑关系构成顶事件),则可以得到整棵故障树的分析结果(比如:计算顶事件的失效概率、寻找最小割集等)。

本文应用一种基于线性搜索的算法,对故障树中的模块子树进行快速查找,能够大大增强模块的搜索速度,其寻找模块的时间与故障树的大小呈线性关系。此算法通过对故障树进行2次深度优先最左遍历(Depth First Left Most Searching,DFLMS)[12]的方式对事件进行搜索,得到故障树的各模块子树。

通过对故障树进行第一次搜索,对搜索到的故障树中的底事件和中间事件分别设置3个标记:

标记1:B1表示第1次搜索到该事件所用的步数;

标记2:B2表示第2次搜索到该事件所用步数;

标记3:B3表示最后一次搜索到该事件时所用的步数。

对于底事件,有标记1等于标记2;对于出现一次中间事件,有标记2等于标记3;对于出现2次或2次以上的中间事件,则3次标记各不相同。

然后再对故障树进行第2次搜索,对每一个中间事件,计算与其相连接的所有下层事件中,标记1的最小值Bmin和标记3的最大值Bmax,当满足下述条件时,节点N及其所有下层事件构成相应的模块子树:

(1)与其相连接的所有下层事件中,标记1的最小值Bmin比节点N的标记1的值大;

(2)与其相连接的所有下层事件中,标记3的最大值Bmax比节点N的标记2的值小。

考虑到模块的特征,进行模块搜索时,需要满足如下条件:

(1)如果故障树中的某个底事件只在同一个逻辑门的输入中出现,则该底事件只被搜索一次;

(2)模块中的每个中间节点(描述中间事件的逻辑门)至少被搜索2次(当搜索从其父节点向下到达该节点时,该节点获得第一次访问;当搜索从该节点的最右子节点返回到该节点时,该节点获得第二次访问);

(3)如果同一中间事件(节点)作为不同逻辑门的输入,则该节点下的子节点只被搜索一次。

对故障树进行模块化分解是减小故障树分析规模的重要措施,尤其是对大型复杂的故障树分析而言,具有非常重要的应用价值。

3 基于模块化分解的故障树分析

3.1 故障树向BDD的转化

本文采用基于渐进式底事件排序方法[13]之上的相邻底事件优先排序的方法对故障树底事件进行排序,文献[13]已证明,该底事件排序方法与现有的方法相比,在75%的实例中有效地提高了排序性能。

对底事件进行排序后,用Shannon分解[14]对结构函数进行进一步的分析、处理,使得影响顶事件故障(正常)状态的基本事件及传播路径变得清晰有序,而BDD技术则是实现和简化Shannon分解的有效工具。

3.2 基于DFLMS的BDD结构不交化割集搜索

顶事件的BDD结构精确地描述了底事件影响顶事件的状态及路径。在BDD结构得以简化的情况下,顶事件的所有1节点路径(根节点到1叶节点间的节点序列,不包括1叶节点)就是不交化割集。

在BDD结构未知的情况下,实现顶事件BDD结构的不交化割集的方式必须通过路径搜索,当搜索完某条路径,则该路径上的节点以某种方式排列而成的序列就形成割集的一条不交链。形成不交链的关键在于“继承”操作。

考虑到DFLMS算法对未知结构进行搜索时的高效性,本文采用DFLMS遍历的方法对BDD结构的不交化割集进行求解,其搜索步骤如下:

(1)从根节点开始向左搜索,若向左搜索时节点值为1,则记录下此时的搜索路径(即该节点的父节点的继承信息),返回该节点的父节点,执行步骤(2);若不是,将该节点作为根节点,执行步骤(1)。

(2)进行向右搜索(若已搜索过,则直接返回该节点的父节点的父节点),若节点值为0,则返回该节点的父节点的父节点,执行步骤(2);若不是,将该节点作为根节点,执行步骤(1);

经地质资料分析,漏失层段为1805~2110m段的生物灰岩和含玄武岩井段,该岩性地层孔隙度大、渗透率高,受到激动压力过大、钻井液液柱压力过高或当量破裂压力超出地层破裂压力,即发生漏失、井壁失稳等复杂事故,属于典型的低承压地层,遂使用雷特堵漏技术进行堵漏,提高地层承压能力,保证后期施工及固井质量。

当所有节点均搜索完毕时,算法终止。

3.3 自底向上、从左至右的递归综合分析方法

用故障树分析法对系统可靠性进行分析,首先须针对系统的可能故障来构建故障树,若是大型且复杂的故障树,须对构建完毕的故障树进行模块化分解(考虑到故障树的模块化分解能显著提高故障树的分析效率,故本文无论针对大型故障树还是小型故障树,均进行模块化分解),提出采用自底向上、从左至右的递归综合分析方法,具体步骤如下:

(1)对故障树进行模块化分解,执行步骤(2)。

(2)将最左底层模块子树转化为相应的BDD结构,执行步骤(3)。

(3)对该最左底层模块子树所对应的BDD结构进行分析,得出该模块子树的CS和MCS,然后用相同故障发生概率的基本事件替代该最左底层模块子树,得到新的故障树,执行步骤(4)。

(4)若存在上一个最左底层模块子树,则将上一个最左底层模块的CS代入至新故障树,执行步骤(5);否则,执行步骤(5)。

(5)若新故障树的最左底层模块为顶事件模块,则执行步骤(6);否则,执行步骤(3)。

(6)得到故障树的CS和MCS。

对上述算法进行整合,可得到故障树的分析流程如图1所示。

4 实例分析

为验证本文故障树分析方法的可行性,对如图2所示的故障树进行分析。根据第2节的方法对该实例故障树进行模块化分解,得到如表1所示的分解结果。

图2 故障树实例

表1 故障树的模块化分解结果

由表1可知,顶事件T及其下面的事件构成顶事件,即顶事件模块T,节点G1及其下层的事件可构成一个模块,即模块G1,节点G2及其下层的事件可构成一个模块,即模块G2,节点G3及其下面的事件可构成一个模块,即模块G3。根据前面所述的基于模块化分解的故障树分析方法,如图2可知,故障树最左底层模块的自底向上、从左至右的递归顺序为:模块G3<模块G1<模块G2<顶事件模块T。

根据前面所述的算法,先将最左底层模块转化为BDD结构,如图3(a)、图3(b)所示。

图3 模块G1及其对应的BDD结构

根据基于DFLMS的BDD结构不交化割集算法,可得该最左底层模块的不交化割集为{X9, X10},{X9,-X10,X11},故模块G3的顶事件失效概率为:

然后用相同故障发生概率的基本事件G3(为便于理解,本文用该最左底层模块的名称来表示该基本事件)替代该最左底层模块子树,得到新故障树,对新故障树的最左底层模块G1进行分析,得到模块G1的顶事件失效概率为:

按照自底向上、从左至右的递归综合分析思想,可得模块G2和顶事件模块T的顶事件失效概率分别为:

将式(1)~式(3)代入式(4)中,可得到原故障树的顶事件失效概率。

在对最左底层模块子树进行分析时所得到的不交化割集,通过对割集进行“去补”操作,得到各模块的最小割集如表2所示。其中,顶事件模块(即原故障树)的最小割集,只需将相应模块内的最小割集代入即可。

表2 各模块最小割集的求解结果

因此,若知道各底事件的失效概率,即可得出根据上述方法得到故障树的故障模式(CS和MCS),以及顶事件的失效概率,从而判定系统的可靠性。

此外,还可通过计算各底事件重要度的方法,即已知各底事件失效概率和顶事件失效概率,则可得出各底事件的概率重要度、结构重要度和关键重要度,从而为系统的故障诊断提供了依据。

5 结束语

本文研究基于故障树分析的故障诊断理论,完成了基于模块化分解的故障树分析研究,并结合实例对本文算法进行演示。采用双DFLMS算法对大型复杂的故障树进行模块化分解,结合ite运算符将故障树转化为其相应的BDD,将DFLMS算法应用于BDD结构,对故障树最左底层模块进行分析,得到其故障模式及顶事件失效概率,然后进行自底向上、从左至右递归综合,进而得到系统的故障模式及其故障发生概率。同时对各底事件进行重要度分析,得出系统各部件相应的故障诊断顺序。通过实例分析,验证了本文算法具有一定的可行性和高效性。

[1] 安晨亮.故障树原理在故障诊断系统中的应用[J].导弹与航天运载技术,2009,(1):48-51.

[2] 邹 欣,程 林,孙元章.基于线路运行可靠性模型的电力系统连锁故障概率评估[J].电力系统自动化, 2011,35(13):7-11.

[3] 杨莉琼,李世蓉,贾 彬.基于二元决策图的建筑施工安全风险评估[J].系统工程理论与实践,2013, 33(7):1889-1896.

[4] 陈光宇,黄锡滋,唐小我.故障树模块化分析系统可靠性[J].电子科技大学学报,2006,35(6):989-992.

[5] 宋 华,张洪钺,王行仁.T-S模糊故障树分析方法[J].控制与决策,2005,20(8):854-859.

[6] 闵 苹,童节娟,奚树人.利用二元决策图求解故障树的基本事件排序[J].清华大学学报,2005,15(12): 1646-1649.

[7] 陶勇剑,董德存,任 鹏.故障树分析的二元决策图方法[J].铁路计算机应用,2009,18(9):4-7.

[8] 刘文彬.基于模块化思想的动态故障树分析方法研究[D].南京:南京理工大学,2009.

[9] 刘 丹.模拟电路故障诊断中故障字典应用的研究[D].武汉:华中科技大学,2006.

[10] 孙 艳,杜素果.一种二元决策图底事件排序的新方法[J].系统管理学报,2008,17(2):210-216.

[11] 罗 航.故障树分析的若干关键问题研究[D].成都:电子科技大学,2010.

[12] 闫剑平.一种故障树模块的划分方法[J].北方交通大学学报,2000,24(5):63-66.

[13] 罗泽林,任 强,罗 航.实现非单调关联故障树PIS的联合技术[J].计算机应用,2011,31(11):3143-3148.

[14] 卢世荣,方 逵,周经纶.BDD表示下的部件重要度的计算[J].系统工程与电子技术,1999,21(3):69-72.

编辑 金胡考

Fault Tree Analysis Method Based on Modular Decomposition

ZHOU Bina,HUANG Yuanliangb,HUANG Weib
(a.Modern Education Technology Center of Zhuhai Campus;b.Institute of Electric and Automation, Jinan University,Zhuhai 519070,China)

For solving the diagnose cost and time applied to traditional fault tree analysis,based on studying the special disciplinarian of fault tree,this paper adopts the depth first left most searching algorithm to decompose the fault tree into modules,and decreases the scale of fault tree analysis.Combined with if-then-else operator,it converts the most left and bottom module binary decision diagram.It applies the depth first left most searching algorithm to acquire the cut set and the minimum cut set of the binary decision diagram,and then uses a new bottom event with the same failure probability to replace the module to generate a new fault tree.The probability that system elements occur faults is obtained by comprehensive analysis of from bottom to up and from left to right,and the fault tree analysis is finished.By analyzing fault diagnosis,it is verified that the method improves the speed of diagnose and decreases the cost of diagnose.

fault tree;fault diagnosis;modular;Binary Decision Diagram(BDD);fault probability;depth first searching

周 斌,黄元亮,黄 威.基于模块化分解的故障树分析方法[J].计算机工程,2015,41(2):141-144.

英文引用格式:ZhouBin,HuangYuanliang,HuangWei.FaultTreeAnalysisMethodBasedonModular Decomposition[J].Computer Engineering,2015,41(2):141-144.

1000-3428(2015)02-0141-04

:A

:TP393

10.3969/j.issn.1000-3428.2015.02.027

广东省产学研基金资助项目(2012B091000138);珠海市产学研基金资助项目(2012D0501990003,2013D0501990002)。

周 斌(1978-),男,硕士研究生,主研方向:故障诊断;黄元亮(通讯作者),教授、博士;黄 威,硕士研究生。

2014-01-23

:2014-04-14E-mail:tyoll@jnu.edu.cn

猜你喜欢
子树底层模块化
一种新的快速挖掘频繁子树算法
模块化自主水下机器人开发与应用
航天企业提升采购能力的底层逻辑
广义书本图的BC-子树计数及渐近密度特性分析*
模块化住宅
书本图的BC-子树计数及渐进密度特性分析∗
基于覆盖模式的频繁子树挖掘方法
ACP100模块化小型堆研发进展
模块化VS大型工厂
回到现实底层与悲悯情怀