本发明涉及故障诊断方法技术领域,尤其涉及一种基于故障传播分析的故障诊断优化方法。
背景技术:
诊断策略优化主要包括测试项目优选和诊断流程优化,其最终目的是实现对产品故障的准确、快速检测与隔离,为实施维修保障工作提供决策支持。诊断策略优化的主要依据是产品故障与测试项目之间的相关性关系,这种相关性关系与产品内部故障传播路径紧密相连。现有技术中的故障诊断方法,一般不会对故障诊断的策略进行优化,因此造成故障诊断所需要的时间以及成本较高。
技术实现要素:
本发明所要解决的技术问题是如何提供一种能够对故障诊断的方法进行优化,使故障诊断所需要的时间和成本较低的基于故障传播分析的故障诊断优化方法。
为解决上述技术问题,本发明所采取的技术方案是:一种基于故障传播分析的故障诊断优化方法,其特征在于包括如下步骤:
获取被诊断优化系统在测试前的初始状态模糊集;
对初始状态模糊集进行优化测试;
判断上述测试是否通过,如果测试通过,推断出可能的诊断结论xjp,如果测试未通过,推断出可能的诊断结论xjf;
判断所述诊断结论xjp和诊断结论xjf是否达到隔离要求,如果达到隔离要求则输出诊断结论,如果未达到隔离要求,则判断是否有候选模糊集,如果有候选测试集则重复上述步骤对候选模糊集进行测试;如果没有候选模糊集则输出诊断结论。
进一步的技术方案在于:在对初始状态模糊集进行测试前所述方法还包括对诊断策略优化进行数据描述的步骤,具体包括如下步骤:
诊断方法的基本设定;
构造诊断方法所需的基本信息;
优化故障诊断所需要的目标。
进一步的技术方案在于:所述诊断方法的基本设定包括:
1)单故障:假设被诊断优化系统在诊断过程中最多只有一个故障发生;
2)二值测试:每个测试的结果只有通过或不通过两种情况;
3)测试结果可靠:即每个测试结果均是可靠的,不存在虚警和漏检;
4)测试独立:即在产品测试和决策过程中各个测试操作彼此独立,测试独立还特指代价独立,即每个步骤的代价与以前的操作无关,是常数;
5)系统状态恒定:即在系统诊断过程中,系统故障状态不发生改变,即只有无故障状态和永久故障状态,没有间歇故障和瞬态故障。
进一步的技术方案在于:所述基本信息包括:
被诊断优化系统在测试前的模糊集f,f={f0,f1,…fi…,fm};其中,f0表示无故障结论,fi表示只有第i个故障发生的结论;
诊断结论概率分布集合p:p={p(f0),…p(fi),…p(fm)},其中p(f0)表示系统无故障的概率,p(fi)表示仅有故障fi发生的概率,由下式求解:
式中,λi为故障fi的常数故障率;λk为故障fk的常数故障率、m为诊断结论概率分布集合p中元素数量;
系统中可用的测试集t:t={t1,…,tn},规定每个测试都是二值输出,而且测试结果都是可靠的,n为测试集t中元素的个数;
测试执行费用集合c:c={c1,…,cn},表示测试执行时间、人力的测度,规定测试费用为常量,即不依赖于测试顺序;
相关性矩阵b:b=[bij](m+1)*n表示测试与诊断结论的逻辑关系,其元素定义为bij=dij,其中dij表示故障与测试的相关性。
进一步的技术方案在于:在故障诊断所需要优化的目标时确定:测试序列所耗费的平均时间以及测试序列的平均测试费用作为优化的目标。
进一步的技术方案在于:判断所述诊断结论是否达到隔离要求的方法如下:
令执行测试tj前系统待隔离模糊集为x,测试tj有通过和不通过两种输出,对应的推理结论记为xjp和xjf:
若tj通过,则有
若tj不通过,则有
则fi必然属于集合xjp和xjf中之一,且不能同时属于集合xjp和xjf,即满足:
xjf∪xjp=x
xjf∩xjp=φ
若系统存在多故障,则上述推理机是不成立的。
进一步的技术方案在于:所述启发函数为:
k*=argmaxjh(x;tj)或k*=argminjh(x;tj)
上式表示对于待隔离模糊集x,下一步最佳测试编号为k*,该测试是候选测试集t中能使函数h(x;tj)取值最大或者取值最小的测试;h(x;tj)用于计算候选测试tj待隔离模糊集x的代价或能力。
进一步的技术方案在于:在对初始状态模糊集进行优化测试的过程中采用测试点最少的诊断策略生成算法,以测试点的优选结果为基础,根据测试点优选结果,用选出的测试点进行测试,按测试结果的正常与否确定下一步测试。
进一步的技术方案在于:使用ao*搜索方法对初始状态模糊集进行优化测试:
ao*搜索方法采用的是一种基于最少测试费用估计的启发函数:
k*=argminj{cj+p(xjp)h(xjp)+p(xjf)h(xjf)}
式中,h(xjp)和h(xjf)分别表示集合xjp和xjf的最小测试费用估计;
给定模糊集x,根据其概率计算得到各故障的霍夫曼编码平均字长为l*(x),对被选测试按照费用大小进行排序(0≤c1≤…≤cn),则x的测试费用评估函数为
式中,
式中,h(x)为待隔离模糊集x的熵;
类似可以推导出基于熵+1费用估计函数:
采用上述技术方案所产生的有益效果在于:所述方法通过对测试序列所耗费的平均时间以及测试序列的平均测试费用两方面对故障诊断方法进行优选,是的故障诊断方法的时间和成本较低,使得故障诊断方法能够实现对产品故障的准确、快速检测与隔离,为实施维修保障工作提供决策支持。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明实施例所述方法的主流程图;
图2是本发明实施例所述方法中测试点最少的诊断策略生成方法流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
诊断策略优化主要包括测试项目优选和诊断流程优化,其最终目的是实现对产品故障的准确、快速检测与隔离,为实施维修保障工作提供决策支持。诊断策略优化的主要依据是产品故障与测试项目之间的相关性关系,这种相关性关系与产品内部故障传播路径紧密相连。
诊断策略的基本假设:
1)单故障,即假设系统在诊断过程中最多只有一个故障发生。
2)二值测试,每个测试的结果只有“通过”、“不通过”两种情况。
3)测试结果可靠,即每个测试结果均是可靠的,不存在虚警和漏检。
4)测试独立,即在产品测试和决策过程中各个测试操作彼此独立。测试独立还特指代价独立,即每个步骤的代价与以前的操作无关,是常数。
5)系统状态恒定,即假设在系统诊断过程中,系统故障状态不发生变化,即只有无故障状态和永久故障状态,没有间歇故障和瞬态故障。
构造诊断策略所需的基本信息:
分层诊断策略问题的可由五元组(f,p,t,c,b)定义,其中:
1)系统在测试前的模糊集,记为f={f0,f1,…fi…,fm}。其中,f0表示无故障结论,fi表示只有第i个故障发生的结论。当指定分析对象和故障隔离精度时,如对象为lru1,要求隔离到单个sru,则{f1,…,fm}由隶属lru1的各sru的各故障模式构成。
2)诊断结论概率分布集合p:p={p(f0),…p(fi),…p(fm)},其中p(f0)表示系统无故障的概率,p(fi)表示仅有故障fi发生的概率,由下式求解:
式中,λi为故障fi的常数故障率。
3)系统中可用的测试集t:t={t1,…,tn},规定每个测试都是二值输出,而且测试结果都是可靠的;
4)测试执行费用集合c:c={c1,…,cn},表示测试执行时间、人力的测度,规定测试费用为常量,即不依赖于测试顺序;
5)相关性矩阵b:b=[bij](m+1)*n表示测试与诊断结论的逻辑关系,其元素定义为bij=dij,其中dij表示故障与测试的相关性。
优化目标:
诊断策略优化问题是一个典型的多标准问题,需要考虑以下四个因素:
①测试序列所耗费的平均时间;②测试序列的平均测试费用;③在测试与诊断过程中可能对产品造成的损坏或其他不良后果;④执行测试造成的负面影响,如bit虚警造成的使用者的不信任和消极态度。
由于风险和影响因素一般难以确定,因此在实际中更多地只考虑时间和费用因素。
平均测试费用最少的优化目标函数,分层诊断的优化目标函数定义为:
式中,dopt表示满足隔离精度要求,不模糊地隔离任意模块且平均测试费用最少的诊断策略;d(i)表示诊断树d中隔离出叶子节点xi的测试序列,|d(i)|表示该序列的长度,
一般过程:
诊断策略一般采用序贯诊断方法,这就决定了诊断策略的构建过程是一个“优选测试→诊断推理→再优选测试”的循环过程,其基本流程如图1所示。由上图可知,要构造一个诊断策略,需要解决以下两个关键问题:
1)如何根据所选测试及其输出结果推理得到系统诊断结论。
2)每一步如何优化选择测试。
如图1所示,本发明实施例公开了一种基于故障传播分析的故障诊断优化方法,包括如下步骤:
获取被诊断优化系统在测试前的初始状态模糊集;
对初始状态模糊集进行优化测试;
判断上述测试是否通过,如果测试通过,推断出可能的诊断结论xp,如果测试未通过,推断出可能的诊断结论xf;
判断所述诊断结论xjp和诊断结论xjf是否达到隔离要求,如果达到隔离要求则输出诊断结论,如果未达到隔离要求,则判断是否有候选模糊集,如果有候选测试集则重复上述步骤对候选模糊集进行测试;如果没有候选模糊集则输出诊断结论。
故障隔离推理机:
由于诊断策略中的测试是顺序执行的,因此每个测试执行之后,都要根据测试的结果来推断系统可能的诊断结论,这一推理过程称为系统状态的逻辑推断,具体的推理方法,称为“推理机”。
令执行测试tj前系统待隔离模糊集为x,tj有通过和不通过两种输出,对应的推理结论不妨记为xjp和xjf,由x推导出xjp和xjf的方法就是推理机。
若tj通过,则有
若tj不通过,则有
若诊断结论xif,则fi必然属于集合xjp和xjf中之一,且不能同时属于集合xjp和xjf,即满足:
xjf∪xjp=x
xjf∩xjp=φ
若系统存在多故障,则上述推理机是不成立的。
指导测试优化排序的启发函数:
故障隔离推理机只能根据给定测试及其结果来推理测试后系统可能的诊断结论,并不能确定下一步究竟使用哪个测试。对此,通常是构造一个函数来确定下一步究竟使用哪个测试,该函数称为“启发式评估函数”,简称启发函数。
启发函数的一般形式如下:
k*=argmaxjh(x;tj)或k*=argminjh(x;tj)
上式表示对于当前待隔离的模糊集x,下一步最佳测试编号为k*,该测试是候选测试集t中能使函数h(x;tj)取值最大或者取值最小的测试;h(x;tj)用于计算候选测试tj待隔离模糊集x的代价或能力。
测试点最少的诊断策略生成算法
所谓诊断策略是指故障检测和隔离时的测试顺序。它是系统测试性/bit详细设计分析的基础,同时也为系统外部诊断测试提供技术支持。这种诊断策略既可用于产品设计阶段,也可用于使用阶段维修时的故障诊断。
测试点最少的诊断策略以测试点的优选结果为基础,先检测后隔离,以测试点选出的先后顺序制定诊断测试策略。具体方法是根据测试点优选结果,用选出的测试点进行测试,按测试结果的正常与否确定下一步测试。诊断策略流程如图2所示。
故障检测权值计算:
假设系统简化后的相关性矩阵为d=[dij]m×n,则第j个测试点的故障检测权值(表示提供检测有用信息多少的相对度量)wfd可用下式计算,即
故障隔离权值计算:
假设uut简化后的相关性矩阵为d=[dij]m×n,则第j个测试点的故障隔离权值(提供故障隔离用信息的相对度量)wfi可用下式计算,即
式中:
z-矩阵数,z≤2p,p为已选为故障隔离用测试点数。
故障检测顺序:
①用第1个检测用测试点(fd用tp)测试系统:
如测试结果为正常,且“0”元素对应子矩阵
如测试结果为正常,且“0”元素对应子矩阵
②用第2个fd用tp测试
如测试结果为正常,且
如测试结果为正常,且
③选用下一个fd用tp测试,直到
④如任一步检测结果为不正常,则应转至故障隔离程序。
故障隔离顺序:
①用第1个隔离用测试点(fi用tp)测试系统,按其结果(正常或不正常)把系统相关性矩阵划分成两部分
如测试结果为正常,可判定
如测试结果为不正常,则可判定
②用第2个fi用tp测试剩余有故障部分(有故障的子矩阵),再次划分为两部分
如测试结果为正常,则故障在
如测试结果为不正常,则故障在
③用下一个fi用tp测试有故障的子矩阵
④在测试过程中,任何一步隔离测试,把原矩阵分割成两个子矩阵后,如某个子矩阵已成为单一行了,则对该子矩阵就不用测试了;对另一个不是单行的子矩阵应继续测试。
故障诊断树:
上述故障检测与隔离顺序的分析结果,可以用简单形象的图形表示出来。从第一个fd用测试点开始,按其测试结果“正常”和“不正常”画出两个分支:
①正常(以“0”表示)分支,继续用第2个fd用tp测试,再画出两个分析,其中不正常分支用fi用tp测试,转入隔离分支;而其中正常分支继续用fd用tp测试,直到用完fd用tp,判定系统有无故障,就画出检测顺序图。
②不正常(以“1”表示)分支,用第1个fi用tp测试,按其结果为“0”和为“1”画出两个分支;再分别用第2个fi用tp测试,画出两个分支。这样连续地画出分支,直到用完所选出的fi用tp,各分支末端为系统单个组成单元或模糊组为止,就画出了隔离顺序图。
ao*诊断策略生成算法:
启发式评估函数
因为生成最优测试序列是一个np完全问题,所以有必要使用启发式方法引导与或图的搜索。这种启发式方法通过使用启发式评估函数hef,来避免列举决策树的所有可能子集。hef是一个容易计算的最优测试代价的启发式评估函数h(x),其中h*(x)表示任何一个模糊子集x到叶子节点的测试代价。
根据测试序列和霍夫曼编码问题的相似性,可以推导出启发式评估函数hef。由霍夫曼编码的特性来帮助推导与或图搜索过程中用到的启发式评估函数hef。
属性:任意模糊子集x的有条件的平均霍夫曼编码长度w*(x)为有条件的平均编码长度提供了一个下限。任何测试算法的1(x)都结束于x。形式上表现为:
其中含有x的测试序列中,如果使用了测试tj能识别故障si,则aij(x)=1,否则aij(x)=0,并且
对应待隔离模糊集x的故障概率降序排序为p(s1)≥p(s2)≥…≥p(sm),其中si∈x,则与概率向量p=[p(s1),p(s2),...,p(sm)]相对应的最优huffman编码长度向量w=[1,2,...,m1,m,m],模糊子集x的平均huffman编码长度w*(x)为
与或图g中,如果启发式评估函数h(x)对于图g中的每一个节点x都有h(x)h*(x),则它是可接受的,为最优测试代价。注意只有当h*(x)为无穷的时候,h(x)才会为无穷。根据霍夫曼编码的属性可以推导出可接受的启发式评估函数hef,公式如定理中所示。
定理:不失一般性地假设测试代价按照升序排序为0≤c1≤c2...≤cn,则h(x)的下限如下:
其中w′(x)为w*(x)的整数部分。
ao*搜索方法的基本思路:
ao*搜索算法是与或图搜索的一种求解方法,其基本思路如下:
1、针对根节点依次计算每个测试所产生的枝节点,应用哈夫曼编码计算出隔离这些枝节点所需的最小隔离代价,再将计算所得代价加权求和,作为该测试的启发函数值,比较所有测试的启发函数值,暂时选定数值最小的测试作为第一步测试;
2、针对该测试下隔离代价最小的枝节点,按照前述方法选定第二步测试;
3、将该测试的启发函数值向上逐步反馈,即先对它上面枝节点的隔离代价进行修正,再用该枝节点的修正值对第一个测试的启发函数值进行修正;
4、修正完毕后,对根节点下面的全部候选测试按照启发函数值重新排序,暂时选定数值最小的测试作为第一步测试,并套用前述方法选择第二步测试。
ao*搜索方法采用的启发函数:
ao*搜索方法采用的是一种基于最少测试费用估计的启发函数:
k*=argminj{cj+p(xjp)h(xjp)+p(xjf)h(xjf)}
式中,h(xjp)和h(xjf)分别表示集合xjp和xjf的最小测试费用估计。
给定模糊集x,根据其概率计算得到各故障的霍夫曼编码平均字长为l*(x),对被选测试按照费用大小进行排序(0≤c1≤…≤cn),则x的测试费用评估函数为
式中,
式中,h(x)为故障模糊集x的熵。
类似可以推导出基于熵+1费用估计函数:
以上三个启发函数与贪婪算法的启发函数有所不同,它们不是选择信息与费用比值最大的测试,而是选择后续诊断费用最少的测试。由于只是费用近似估计,因此所选测试只是局部最优。