一种基于混合策略的快速序贯故障诊断方法转让专利

申请号 : CN202110654918.8

文献号 : CN113391938B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘震汪静元陈啸午杨成林龙兵周秀云

申请人 : 电子科技大学

摘要 :

本发明公开了一种基于混合策略的快速序贯故障诊断方法,先构建待测系统的故障测试模型,然后基于故障测试模型,通过样本模拟获得预测函数及切换比较矩阵,从而得到待测系统内部故障状态与系统中测点输出的关系,最后根据当前节点的规模选择使用由上而下或由下而上算法完成待测系统的实时故障诊断。

权利要求 :

1.一种基于混合策略的快速序贯故障诊断方法,其特征在于,包括以下步骤:(1)、构建故障测试模型H;

H={S,T,D,P,C}

其中,S表示待测系统出现的各种故障集,S={s1,s2,…,si,…,sm},si表示第i种故障;T表示待测系统的所有可用测点集,T={t1,t2,…,tj,…,tn},tj表示第j个可用测点;P表示待测系统发生某个故障的先验概率集,P={p1,p2,…,pi,…,pm},pi表示出现故障si的先验概率;C表示与T对应的测试代价集,C={c1,c2,…,cj,…,cn},cj表示测试tj的代价;D为故障依赖矩阵,具体表示为:

其中,dij表示故障si在可用测点tj下的测试信息,dij=0或dij=1,当dij=0时,表示待测系统中发生故障si时不能通过可用测点tj检测出来;当dij=1时,表示待测系统中发生故障si时能够通过可用测点tj检测出来;

(2)、训练预测函数及计算切换比较矩阵B;

(2.1)、生成样本序列

表示规模大小为i×j的第k个样本, 样本序列H的长度为N,N=ρ·m·n,ρ为生成系数;

(2.1.1)、定义样本的生成规模序号i和j,1≤i≤m,1≤j≤n,初始化i=1,j=1;

(2.1.2)、定义样本的生成次序序号k,1≤k≤ρ,初始化k=1;

(2.1.3)、构建 中出现的各种故障集 表示 中出现的第i种故障;构建 中所有可用测点集表示 中第j个可用测点;

(2.1.4)、生成 的故障依赖矩阵(2.1.4.1)、根据故障依赖矩阵D计算阈值Dratio, 其中,rj表示D的j列中max{0的个数,1的个数}/min{0的个数,1的个数};

(2.1.4.2)、定义循环参数i1和j1,1≤i1≤i,1≤j1≤j,初始化i1=1,j1=1;

(2.1.4.3)、生成一个0到1的随机数rand,若rand>Dratio,则 中第i1行第j1列的元素为1,否则为0;

(2.1.4.4)、若i1<i,则令i1=i1+1,再返回步骤(2.1.4.3);若i1=i且j1<j,则令i1=

1,j1=j1+1,再返回步骤(2.1.4.3);若i1=i且j1=j,则进入步骤(2.1.5);

(2.1.5)、生成 发生某个故障的先验概率集(2.1.5.1)、随机生成i个0到1的随机数,其中,第i1个随机数记为(2.1.5.2)、计算 中第i1个元素(2.1.6)、生成 对应的测试代价集在测试代价集C中标记出最大值与最小值,分别记为range1和range2;然后随机生成j个服从range1到range2均匀分布的随机数,其中,第j1个随机数记为 并作为 的第j1个元素;

(2.1.7)、判断生成次序序号k是否小于ρ,如果k<ρ,则将当前序号k加1,再按照步骤(2.1.3)‑(2.1.6)所述方法,生成下一个样本;否则,进入步骤(2.1.8);

(2.1.8)、若i=m且j=n,则进入步骤(2.2);若i=m且j<n,则将k置1,并令j=j+1,再进入步骤(2.1.3);若i<m,则将k置1,并令i=i+1,再进入步骤(2.1.3);

(2.2)、通过由上而下的启发式搜索算法分别生成N个样本的决策树,记为,同时记录生成每棵决策树

的生成时间,记为

(2 .3)、通过由下而上的搜索算法分别生成N个样本的决策树,记为同时记录生成每棵决策

树的生成时间,记为

(2.3.1)、在样本序列H中随机抽取一个样本 然后记录由下而上的启发式搜索算法生成样本 对应的决策树的开始时间(2.3.2)、给定样本 的初始状态集 其中,表示由0、1、d组成的长度为j的序列,d为无关项; 表示 所包含的故障; 为花费代价,初始值为0;

(2.3.3)、生成样本 的状态簇{Q2,Q3,…,Qi1,…,Qi},2≤i1≤i,初始化i1=2;

(2.3.3.1)、设置待组合的状态集编号i2、i3,且满足: i3=i1‑i2;设置状态编号h1、h2和h3,h2、h3为待组合的状态集中的状态编号,h1为组合后的状态集中的状态编号,初始化h1、h2和h3均为1;

(2.3.3.2)、将状态集 的第h2个元素 与状态集 的第h3个元素进行组合,生成组合后的状态集中第h1个元素具体组合方式为:将序列 与序列 中对应的元素进行比较,如果两个元素相同,则元素值保持不变 ,否则 ,令该元素值为d ,从 而得 到组 合后的 序列其中, 为能够隔离 与 的最小测试代价,p1、p2分别表示 与 所包含的故障的总概率;

(2.3.3.3)、判断状态 是否具有逻辑性;

将 与 分别以卡诺圈表示,然后观察两个卡诺圈是否有重合部分,如果有重合,则舍弃组合的状态 再进入步骤(2.3.3.5);否则,将状态 加入到状态集 中,再进入步骤(2.3.3.4);

(2.3.3.4)、判断状态集 中是否存在一个状态,该状态由0、1、d组成的序列与 相同,如果存在,则保留代价较小的状态;否则,进入步骤(2.3.3.5);

(2.3.3.5)、令状态编号h3=h3+1,再返回步骤(2.3.3.2),开始组合下一个状态,直到遍历完 中每一个元素,然后进入步骤(2.3.3.6);

(2.3.3.6)、将h3置1,并令状态编号h2=h2+1,再返回步骤(2.3.3.2),开始组合下一个状态,直到遍历完 中每一个元素,然后进入步骤(2.3.3.7);

(2.3.3.7)、将h2和h3置1,并令状态集编号i2=i2+1,再返回步骤(2.3.3.2),开始组合下一个状态,直到遍历至i2的取值上限 然后进入步骤(2.3.3.8);

(2.3.3.8)、将h2、h3以及i2均置1,并令状态集编号i1=i1+1,再返回步骤(2.3.3.2),开始组合下一个状态,直到遍历至i,生成样本 的状态簇(2.3.4)、根据样本 的状态簇 得到对应的决策树 然后记录k

由下而上的启发式搜索算法生成样本 对应的决策树的结束时间t ,从而计算得到(2.3.5)、构建一个由自然数组成的序列,记为 μ为修正量;

(2.3.6)、在DES中读取第λ个元素的值,然后根据第λ个元素的值提取状态簇中对应的状态集,设提取的状态集为 然后统计状态 的相关参数:Xnumber以

及 其中,c=1,2,…,Δ,Δ为根据实际情况设置的常数, 表示生成状态集 过程中状态 与其他状态结合的次数;

表示生成状态集 后保留状态 与其他状态结合的次数;Xnumber表示状态中 的无关项的个数,

设置特征标记集合PRE,初始化为空集;

根据状态 的统计参数,以 作为第1组特征值存入特征标记集合PRE;以 作为第2组特值存入特征标记集合PRE;……;以 作为第c组特值存入特征标记集合PRE;……;以 作为第Δ组特值存入特征标记集合PRE;最后,改变状态编号h1,直到遍历完成状态集 中所有状态;

(2.3.7)、计算所有状态 的统计参数Cnumberi与ratioi的平均值,记为average1、average2;

若某一状态 中,某一组特征值中的Cnumberi与ratioi均低于平均值average1、average2,则将该状态对应的Δ组特征值的标记值全部都记为1,否则标记为0,并将对应的标记值存入特征标记集合PRE;

(2.3.8)、删除DES的元素i1,然后按照步骤(2.3.6)‑(2.3.7)所述方法遍历DES中每个元素,直到DES为空集;

(2.3.9)、同理,按照步骤(2.3.1)到(2.3.8)所述方法为每一个样本生成对应的决策树,并记录对应的生成时间,从而得到及生成时间

同时生

成特征标记集合PRE;

(2.3.10)、通过特征标记集合PRE中特征值与标记值训练支持向量机SVM,从而得到预测函数Pre_function;

(2.4)、计算规模大小为m·n的样本群的平均生成时间;

(2.4.1)、在 中,每ρ个样本统计一次平均生成时间,得到平均生成时间序列(2.4.2)、在 中,同样以每ρ个样本统计一次平均生成时间,得到平均生成时间序列(2.5)、生成切换比较矩阵B;

对比两条平均生成时间序列,如果对应元素 则令切换比较矩阵B中第i行第j列的元素bi×j=1否则,bi×j=0;

(3)、待测系统的实时故障诊断;

*

(3.1)、建立待测系统的初始节点node={S,T};设置代价集合Cost,初始化为空集;

(3.2)、通过由上而下的启发式搜索算法对node进行拓展,生成U个子节点,子节点合集表示为:subnode={node1,node2,…,nodef,…,nodeU},其中,nodef={Sf,Tf};

(3.3)、遍历子节点合集subnode中的每个子节点,初始化f=1;

(3.4)、为子节点nodef选择搜索算法:根据|Sf|、|Tf|的值,在切换比较矩阵B中找对应的元素 若B中对应元素 则选择由上而下算法进入步骤(3.5),否则,选择由下而上算法进入步骤(3.6);

*

(3.5)、使用由上而下的启发式搜索算法计算nodef的代价 再存入Cost ;

*

(3.6)、使用由下而上的搜索算法计算nodef的代价 再存入Cost ;

(3.6.1)、给定nodef的初始状态集 其中,mf表示Sf的长度,即mf=|Sf|;

(3.6.2)、按照步骤(2.3.3.1)‑(2.3.3.7)所述方法生成nodef的状态集Ql,l为状态集序号,初始化l=2;

(3.6.3)、若l‑1∈DES,则进入步骤(3.6.4);若l<mf且 则令l=l+1,再返回步骤(3.6.2);若l=mf,则进入步骤(3.6.12)(3.6.4)、建立删除集合DE,初始化为空集;设置遍历次序c,初始化c=1;统计状态集Ql‑1中每个状态的特征值:{Cnumberl,ratiol,Xnumber,l,mf,nf},nf=|Tf|,利用预测函数Pre_function预测出每个状态的标记值,再将标记值为0的状态加入DE中;

(3.6.5)、若c=Δ,则进入步骤(3.6.11),否则,进入步骤(3.6.6);

(3.6.6)、建立特征记录集合EIGEN,初始化为空集;

(3.6.7)、随机取Q1,Q2,…,Ql‑2,DE,Ql,…,Ql+c‑1的子集,子集的大小为对应集合的1/υ,υ为常数,抽取的子集记为 再利用抽取的子集生成状态合集Q′l+c;

(3.6.8)、记录DE中所有状态与其他状态的组合情况,将未曾记录过的组合情况加入到EIGEN,然后返回步骤(3.6.7),直到EIGEN在多次循环中都没有得到更新,再进入步骤(3.6.9);

(3.6.9)、通过Q′l+c统计DE内每个元素的特征值:{Cnumberl+c,ratiol+c,Xnumber,l+c,mf,nf},利用预测函数Pre_function预测出每个特征的标记值,再将标记值为1的状态从DE中删除;最后令c=c+1,然后清空EIGEN,进入步骤(3.6.10);

(3.6.10)、重复步骤(3.6.7)‑(3.6.9),直至c=Δ;

(3.6.11)、在Ql‑1中删除DE中包含的状态,再令l=l+1,再返回步骤(3.6.3);

*

(3.6.12)、将 的代价 加入到Cost ;

(3.7)、判断当前迭代次数f是否到达上限值U,如果f<U,则令f=f+1,再返回步骤(3.4);否则,进入步骤(3.8);

*

(3.8)、根据Cost中记录的U个子节点的代价,选择代价最小的子节点,并令node=这个节点,然后再判断node是否还能够拓展,若node已经无法拓展,则说明故障被完全隔离,进入(3.9),否则,返回(3.2);

(3.9)、根据node回溯,生成最优决策树,并根据最优决策树诊断每个测点故障。

说明书 :

一种基于混合策略的快速序贯故障诊断方法

技术领域

[0001] 本发明属于故障诊断技术领域,更为具体地讲,涉及一种基于混合策略的快速序贯故障诊断方法。

背景技术

[0002] 随着信息技术的日益发展,复杂装备系统内部模块设计日趋复杂,及时准确地确定各部件状态并隔离内部故障可以确保装备可靠运行。如何设计高效的故障诊断方案已成
为复杂装备系统设计领域的研究热点之一。
[0003] 然而随着大型装备系统复杂性上升,维修成本不断提高,当系统发生故障时,难以快速对系统进行故障诊断与定位,因此在系统设计阶段就应当考虑可测试性问题,以便能
及时准确地确定系统状态,隔离系统内部故障。
[0004] 现有的测试性设计方法中,序贯测试基于初步设计中给出的信号流图和相关性模型描述的电路关系,给出测试序列测试方法,减小测试产生的代价,可以有效地提高后期设
计和验证评估的效率,因此,该技术被广泛应用于复杂装备系统的可测性设计。
[0005] 对于序贯测试最优解的搜索问题在近几十年一直为该领域的热点问题。近年来,由上而下的启发式搜索备受关注。该方法基于故障模糊集和测点信息的逻辑关系生成隔离
各个故障的决策树模型,极大地提高了故障诊断的效率。然而,由于启发式搜索算法在各个
测点启发值相近时复杂度极高,造成实际应用中的局限性。

发明内容

[0006] 本发明的目的在于克服现有技术的不足,提供一种基于混合策略的快速序贯故障诊断方法,通过选择使用由上而下/由下而上的搜索算法,减少搜索次数,从而能够快速生
成最优测试序列,进而能够快速实现故障隔离。
[0007] 为实现上述发明目的,本发明一种基于混合策略的快速序贯故障诊断方法,其特征在于,包括以下步骤:
[0008] (1)、构建故障测试模型H;
[0009] H={S,T,D,P,C}
[0010] 其中,S表示待测系统出现的各种故障集,S={s1,s2,…,si,…,sm},si表示第i种故障;T表示待测系统的所有可用测点集,T={t1,t2,…,tj,…,tn},tj表示第j个可用测点;P表
示待测系统发生某个故障的先验概率集,P={p1,p2,…,pi,…,pm},pi表示出现故障si的先
验概率;C表示与T对应的测试代价集,C={c1,c2,…,cj,…,cn},cj表示测试tj的代价;D为故
障依赖矩阵,具体表示为:
[0011]
[0012] 其中,dij表示故障si在可用测点tj下的测试信息,dij=0或dij=1,当dij=0时,表示待测系统中发生故障si时不能通过可用测点tj检测出来;当dij=1时,表示待测系统中发
生故障si时能够通过可用测点tj检测出来;
[0013] (2)、训练预测函数及计算切换比较矩阵B;
[0014] (2.1)、生成样本序列表示规模大小为i×j的第k个样本, 样本序列H的长度为N,
N=ρ·m·n,ρ为生成系数;
[0015] (2.1.1)、定义样本的生成规模序号i和j,1≤i≤m,1≤j≤n,初始化i=1,j=1;
[0016] (2.1.2)、定义样本的生成次序序号k,1≤k≤ρ,初始化k=1;
[0017] (2.1.3)、构建 中出现的各种故障集表示 中出 现的 第 i 种故障 ;构建 中 所 有可 用 测点 集
表示 中第j个可用测点;
[0018] (2.1.4)、生成 的故障依赖矩阵
[0019] (2.1.4.1)、根据故障依赖矩阵D计算阈值Dratio, 其中,rj表示D的j列中max{0的个数,1的个数}/min{0的个数,1的个数};
[0020] (2.1.4.2)、定义循环参数i1和j1,1≤i1≤i,1≤j1≤j,初始化i1=1,j1=1;
[0021] (2.1.4.3)、生成一个0到1的随机数rand,若rand>Dratio,则 中第i1行第j1列的元素为1,否则为0;
[0022] (2.1.4.4)、若i1<i,则令i1=i1+1,再返回步骤(2.1.4.3);若i1=i且j1<j,则令i1=1,j1=j1+1,再返回步骤(2.1.4.3);若i1=i且j1=j,则进入步骤(2.1.5);
[0023] (2.1.5)、生成 发生某个故障的先验概率集
[0024] (2.1.5.1)、随机生成i个0到1的随机数,其中,第i1个随机数记为
[0025] (2.1.5.2)、计算 中第i1个元素
[0026] (2.1.6)、生成 对应的测试代价集
[0027] 在测试代价集C中标记出最大值与最小值,分别记为range1和range2;然后随机生成j个服从range1到range2均匀分布的随机数,其中,第j1个随机数记为 并作为
的第j1个元素;
[0028] (2.1.7)、判断生成次序序号k是否小于ρ,如果k<ρ,则将当前序号k加1,再按照步骤(2.1.3)‑(2.1.6)所述方法,生成下一个样本;否则,进入步骤(2.1.8);
[0029] (2.1.8)、若i=m且j=n,则进入步骤(2.2);若i=m且j<n,则将k置1,并令j=j+1,再进入步骤(2.1.3);若i<m,则将k置1,并令i=i+1,再进入步骤(2.1.3);
[0030] (2.2)、通过由上而下的启发式搜索算法分别生成N个样本的决策树,记为,同时记录生成每棵决策树
的生成时间,记为
[0031] (2.3)、通过由下而上的搜索算法分别生成N个样本的决策树,记为同时记录生成每棵决策
树的生成时间,记为
[0032] (2.3.1)、在样本序列H中随机抽取一个样本 然后记录由下而上的启发式搜索算法生成样本 对应的决策树的开始时间
[0033] (2 .3 .2)、给定样本 的初始状态集 其中,表示由0、1、d组成的长度为j的序列,d为无关项; 表示 所包含的
故障; 为花费代价,初始值为0;
[0034] (2.3.3)、生成样本 的状态簇 2≤i1≤i,初始化i1=2;
[0035] (2.3.3.1)、设置待组合的状态集编号i2、i3,且满足: i3=i1‑i2;设置状态编号h1、h2和h3,h2、h3为待组合的状态集中的状态编号,h1为组合后的状态集中的状态
编号,初始化h1、h2和h3均为1;
[0036] (2.3.3.2)、将状态集 的第h2个元素 与状态集 的第h3个元素 进行组合,生成组合后的状态集中第h1个元素
[0037] 具体组合方式为:将序列 与序列 中对应的元素进行比较,如果两个元素相同,则元素值保持不变,否则,令该元素值为d,从而得到组合后的序列
其中, 为能够隔离 与 的最小测试代价,
p1、p2分别表示 与 所包含的故障的总概率;
[0038] (2.3.3.3)、判断状态 是否具有逻辑性;
[0039] 将 与 分别以卡诺圈表示,然后观察两个卡诺圈是否有重合部分,如果有重合,则舍弃组合的状态 再进入步骤(2.3.3.5);否则,将状态 加入到状态集 中,再进
入步骤(2.3.3.4);
[0040] (2.3.3.4)、判断状态集 中是否存在一个状态,该状态由0、1、d组成的序列与相同,如果存在,则保留代价较小的状态;否则,进入步骤(2.3.3.5);
[0041] (2.3.3.5)、令状态编号h3=h3+1,再返回步骤(2.3.3.2),开始组合下一个状态,直到遍历完 中每一个元素,然后进入步骤(2.3.3.6);
[0042] (2.3.3.6)、将h3置1,并令状态编号h2=h2+1,再返回步骤(2.3.3.2),开始组合下一个状态,直到遍历完 中每一个元素,然后进入步骤(2.3.3.7);
[0043] (2.3.3.7)、将h2和h3置1,并令状态集编号i2=i2+1,再返回步骤(2.3.3.2),开始组合下一个状态,直到遍历至i2的取值上限 然后进入步骤(2.3.3.8);
[0044] (2.3.3.8)、将h2、h3以及i2均置1,并令状态集编号i1=i1+1,再返回步骤(2.3.3.2),开始组合下一个状态,直到遍历至i,生成样本 的状态簇
[0045] (2.3.4)、根据样本 的状态簇 得到对应的决策树 然后k
记录由下而上的启发式搜索算法生成样本 对应的决策树的结束时间t ,从而计算得到
[0046] (2.3.5)、构建一个由自然数组成的序列,记为 μ为修正量;
[0047] (2.3.6)、在DES中读取第λ个元素的值,然后根据第λ个元素的值提取状态簇中对应的状 态集 ,设提 取的状 态集为 Qi 1 ,然 后统计 状态 的相关 参数 :
Xnumber以
及 其中,c=1,2,…,Δ,Δ为根据实
际情况设置的常数, 表示生成状态集 过程中状态 与其他状态结合的次
数; 表示生成状态集 后保留状态 与其他状态结合的次数;Xnumber表示状
态 中 的无关项的个数,
[0048] 设置特征标记集合PRE,初始化为空集;
[0049] 根据状态 的统计参数,以 作为第1组特征值存入特征标记集合PRE;以 作为第2组特值存入特
征标记集合PRE;……;以 作为第c组特值存入特征
标记集合PRE;……;以 作为第Δ组特值存入特征
标记集合PRE;最后,改变状态编号h1,直到遍历完成状态集 中所有状态;
[0050] (2.3.7)、计算所有状态 的统计参数Cnumberi与ratioi的平均值,记为average1、average2;
[0051] 若某一状态 中,某一组特征值中的Cnumberi与ratioi均低于平均值average1、average2,则将该状态对应的Δ组特征值的标记值全部都记为1,否则标记为0,并将对应的
标记值存入特征标记集合PRE;
[0052] (2.3.8)、删除DES的元素i1,然后按照步骤(2.3.6)‑(2.3.7)所述方法遍历DES中每个元素,直到DES为空集;
[0053] (2.3.9)、同理,按照步骤(2.3.1)到(2.3.8)所述方法为每一个样本生成对应的决策树,并记录对应的生成时间,从而得到
及生成时间
同时生
成特征标记集合PRE;
[0054] (2.3.10)、通过特征标记集合PRE中特征值与标记值训练支持向量机SVM,从而得到预测函数Pre_function;
[0055] (2.4)、计算规模大小为m·n的样本群的平均生成时间;
[0056] (2.4.1)、在 中,每ρ个样本统计一次平均生成时间,得到平均生成时间序列
[0057] (2.4.2)、在 中,同样以每ρ个样本统计一次平均生成时间,得到平均生成时间序列
[0058] (2.5)、生成切换比较矩阵B;
[0059] 对比两条平均生成时间序列,如果对应元素 则令切换比较矩阵B中第i行第j列的元素bi×j=1否则,bi×j=0;
[0060] (3)、待测系统的实时故障诊断;
[0061] (3.1)、建立待测系统的初始节点node={S,T};设置代价集合Cost*,初始化为空集;
[0062] (3.2)、通过由上而下的启发式搜索算法对node进行拓展,生成U个子节点,子节点合集表示为:subnode={node1,node2,…,nodef,…,nodeU},其中,nodef={Sf,Tf};
[0063] (3.3)、遍历子节点合集subnode中的每个子节点,初始化f=1;
[0064] (3.4)、为子节点nodef选择搜索算法:根据|Sf|、|Tf|的值,在切换比较矩阵B中找对应的元素 若B中对应元素 则选择由上而下算法进入步骤(3.5),否则,
选择由下而上算法进入步骤(3.6);
*
[0065] (3.5)、使用由上而下的启发式搜索算法计算nodef的代价 再存入Cost ;*
[0066] (3.6)、使用由下而上的搜索算法计算nodef的代价 再存入Cost ;
[0067] (3.6.1)、给定nodef的初始状态集 其中,mf表示Sf的长度,即mf=|Sf|;
[0068] (3.6.2)、按照步骤(2.3.3.1)‑(2.3.3.7)所述方法生成nodef的状态集Ql,l为状态集序号,初始化l=2;
[0069] (3.6.3)、若l‑1∈DES,则进入步骤(3.6.4);若l<mf且 则令l=l+1,再返回步骤(3.6.2);若l=mf,则进入步骤(3.6.12)
[0070] (3.6.4)、建立删除集合DE,初始化为空集;设置遍历次序c,初始化c=1;统计状态集Ql‑1中每个状态的特征值:{Cnumberl,ratiol,Xnumber,l,mf,nf},nf=|Tf|,利用预测函数
Pre_function预测出每个状态的标记值,再将标记值为0的状态加入DE中;
[0071] (3.6.5)、若c=Δ,则进入步骤(3.6.11),否则,进入步骤(3.6.6);
[0072] (3.6.6)、建立特征记录集合EIGEN,初始化为空集;
[0073] (3.6.7)、随机取Q1,Q2,…,Ql‑2,DE,Ql,…,Ql+c‑1的子集,子集的大小为对应集合的1/υ,υ为常数,抽取的子集记为 再利用抽取的子集生成状态
合集Q′l+c;
[0074] (3.6.8)、记录DE中所有状态与其他状态的组合情况,将未曾记录过的组合情况加入到EIGEN,然后返回步骤(3.6.7),直到EIGEN在多次循环中都没有得到更新,再进入步骤
(3.6.9);
[0075] (3.6.9)、通过Q′l+c统计DE内每个元素的特征值:{Cnumberl+c,ratiol+c,Xnumber,l+c,mf,nf},利用预测函数Pre_function预测出每个特征的标记值,再将标记值为1的状态从
DE中删除;最后令c=c+1,然后清空EIGEN,进入步骤(3.6.10);
[0076] (3.6.10)、重复步骤(3.6.7)‑(3.6.9),直至c=Δ;
[0077] (3.6.11)、在Ql‑1中删除DE中包含的状态,再令l=l+1,再返回步骤(3.6.3);*
[0078] (3.6.12)、将 的代价 加入到Cost ;
[0079] (3.7)、判断当前迭代次数f是否到达上限值U,如果f<U,则令f=f+1,再返回步骤(3.4);否则,进入步骤(3.8);
[0080] (3.8)、根据Cost*中记录的U个子节点的代价,选择代价最小的子节点,并令node=这个节点,然后再判断node是否还能够拓展,若node已经无法拓展,则说明故障被完全隔
离,进入(3.9),否则,返回(3.2);
[0081] (3.9)、根据node回溯,生成最优决策树,并根据最优决策树诊断每个测点故障。本发明的发明目的是这样实现的:
[0082] 本发明基于混合策略的快速序贯故障诊断方法,先构建待测系统的故障测试模型,然后基于故障测试模型,通过样本模拟获得预测函数及切换比较矩阵,从而得到待测系
统内部故障状态与系统中测点输出的关系,最后根据当前节点的规模选择使用由上而下或
由下而上算法完成待测系统的实时故障诊断。
[0083] 同时,本发明基于混合策略的快速序贯故障诊断方法还具有以下有益效果:
[0084] (1)、本发明设计了由下而上的搜索算法,解决了传统方法生成过多冗余状态的弊病,加速了决策树的构建;
[0085] (2)、本发明设计的由下而上的搜索算法是通过故障节点组合的方式计算参数集,以卡诺图的形式判断生成参数的逻辑性,再通过模拟退火算法快速统计特征值,使用预测
函数挑选生成参数中有价值的参数,进而剔除无关项,减少计算次数,从而能够快速生成最
优测试序列;
[0086] (3)、根据当前节点的规模,本发明选择使用由上而下/由下而上的搜索算法,通过结合两种算法减少搜索次数,从而能够快速生成最优测试序列。

附图说明

[0087] 图1是本发明基于混合策略的快速序贯故障诊断方法流程图;
[0088] 图2是超外差分析仪的D矩阵示意图;
[0089] 图3是最优决策树示意图。

具体实施方式

[0090] 下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许
会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0091] 实施例
[0092] 图1是本发明基于混合策略的快速序贯故障诊断方法流程图。
[0093] 在本实施例中,如图1所示,本发明一种基于混合策略的快速序贯故障诊断方法,主要包括三个大步骤:(1)、构建故障测试模型H;(2)、使用SVM训练预测函数及计算切换比
较矩阵B;(3)、待测系统的实时故障诊断;下面我们对每一步进行详细说明,具体如下:
[0094] (1)、构建故障测试模型H;
[0095] H={S,T,D,P,C}
[0096] 其中,S表示待测系统出现的各种故障集,S={s1,s2,…,si,…,sm},si表示第i种故障;T表示待测系统的所有可用测点集,T={t1,t2,…,tj,…,tn},tj表示第j个可用测点;P表
示待测系统发生某个故障的先验概率集,P={p1,p2,…,pi,…,pm},pi表示出现故障si的先
验概率;C表示与T对应的测试代价集,C={c1,c2,…,cj,…,cn},cj表示测试tj的代价;D为故
障依赖矩阵,具体表示为:
[0097]
[0098] 其中,dij表示故障si在可用测点tj下的测试信息,dij=0或dij=1,当dij=0时,表示待测系统中发生故障si时不能通过可用测点tj检测出来;当dij=1时,表示待测系统中发
生故障si时能够通过可用测点tj检测出来;
[0099] 在本实施例中,以超外差分析仪的D矩阵为例,超外差分析仪的D矩阵和P矩阵如图2,其中,图2的最后一列为P矩阵,其余部分构成D矩阵,规模m=22,n=36,C矩阵的元素都为
1。
[0100] (2)、使用SVM训练预测函数及计算切换比较矩阵B;
[0101] (2.1)、生成样本序列表示规模大小为i×j的第k个样本, 样本序列H的长度为N,
N=ρ·m·n,ρ为生成系数,ρ的取值越大,预测函数和B越精确,当ρ取20时,SVM的准确度已
经高达97%,所以本实验取ρ=20;
[0102] (2.1.1)、定义样本的生成规模序号i和j,1≤i≤m,1≤j≤n,初始化i=1,j=1;
[0103] (2.1.2)、定义样本的生成次序序号k,1≤k≤ρ,初始化k=1;
[0104] (2.1.3)、构建 中出现的各种故障集表 示 中 出现 的 第i 种故障 ;构建 中所 有 可 用测点 集
表示 中第j个可用测点;
[0105] (2.1.4)、生成 的故障依赖矩阵
[0106] (2.1.4.1)、根据故障依赖矩阵D计算阈值Dratio, 其中,rj表示D的j列中max{0的个数,1的个数}/min{0的个数,1的个数};
[0107] (2.1.4.2)、定义循环参数i1和j1,1≤i1≤i,1≤j1≤j,初始化i1=1,j1=1;
[0108] (2.1.4.3)、生成一个0到1的随机数rand,若rand>Dratio,则 中第i1行第j1列的元素为1,否则为0;
[0109] (2.1.4.4)、若i1<i,则令i1=i1+1,再返回步骤(2.1.4.3);若i1=i且j1<j,则令i1=1,j1=j1+1,再返回步骤(2.1.4.3);若i1=i且j1=j,则进入步骤(2.1.5);
[0110] (2.1.5)、生成 发生某个故障的先验概率集
[0111] (2.1.5.1)、随机生成i个0到1的随机数,其中,第i1个随机数记为
[0112] (2.1.5.2)、计算 中第i1个元素
[0113] (2.1.6)、生成 对应的测试代价集
[0114] 在测试代价集C中标记出最大值与最小值,分别记为range1和range2;然后随机生成j个服从range1到range2均匀分布的随机数,其中,第j1个随机数记为 并作为
的第j1个元素;
[0115] (2.1.7)、判断生成次序序号k是否小于ρ,如果k<ρ,则将当前序号k加1,再按照步骤(2.1.3)‑(2.1.6)所述方法,生成下一个样本;否则,进入步骤(2.1.8);
[0116] (2.1.8)、若i=m且j=n,则进入步骤(2.2);若i=m且j<n,则将k置1,并令j=j+1,再进入步骤(2.1.3);若i<m,则将k置1,并令i=i+1,再进入步骤(2.1.3);
[0117] (2.2)、通过由上而下的启发式搜索算法分别生成N个样本的决策树,记为,同时记录生成每棵决策树
的生成时间,记为
[0118] (2.3)、通过由下而上的搜索算法分别生成N个样本的决策树,记为同时记录生成每棵决策
树的生成时间,记为
[0119] (2.3.1)、在样本序列H中随机抽取一个样本 然后记录由下而上的启发式搜索算法生成样本 对应的决策树的开始时间
[0120] (2 .3 .2)、给定样本 的初始状态集 其中,表示由0、1、d组成的长度为j的序列,d为无关项; 表示 所包含的
故障; 为花费代价,初始值为0;
[0121] (2.3.3)、生成样本 的状态簇 2≤i1≤i,初始化i1=2;
[0122] (2.3.3.1)、设置待组合的状态集编号i2、i3,且满足: i3=i1‑i2;设置状态编号h1、h2和h3,h2、h3为待组合的状态集中的状态编号,h1为组合后的状态集中的状态
编号,初始化h1、h2和h3均为1;
[0123] (2.3.3.2)、将状态集 的第h2个元素 与状态集 的第h3个元素 进行组合,生成组合后的状态集中第h1个元素
[0124] 具体组合方式为:将序列 与序列 中对应的元素进行比较,如果两个元素相同,则元素值保持不变,否则,令该元素值为d,从而得到组合后的序列
其中, 为能够隔离 与 的最小测试代
价,p1、p2分别表示 与 所包含的故障的总概率;
[0125] (2.3.3.3)、判断状态 是否具有逻辑性;
[0126] 将 与 分别以卡诺圈表示,然后观察两个卡诺圈是否有重合部分,如果有重合,则舍弃组合的状态 再进入步骤(2.3.3.5);否则,将状态 加入到状态集 中,再进
入步骤(2.3.3.4);
[0127] (2.3.3.4)、判断状态集 中是否存在一个状态,该状态由0、1、d组成的序列与相同,如果存在,则保留代价较小的状态;否则,进入步骤(2.3.3.5);
[0128] (2.3.3.5)、令状态编号h3=h3+1,再返回步骤(2.3.3.2),开始组合下一个状态,直到遍历完 中每一个元素,然后进入步骤(2.3.3.6);
[0129] (2.3.3.6)、将h3置1,并令状态编号h2=h2+1,再返回步骤(2.3.3.2),开始组合下一个状态,直到遍历完 中每一个元素,然后进入步骤(2.3.3.7);
[0130] (2.3.3.7)、将h2和h3置1,并令状态集编号i2=i2+1,再返回步骤(2.3.3.2),开始组合下一个状态,直到遍历至i2的取值上限 然后进入步骤(2.3.3.8);
[0131] (2.3.3.8)、将h2、h3以及i2均置1,并令状态集编号i1=i1+1,再返回步骤(2.3.3.2),开始组合下一个状态,直到遍历至i,生成样本 的状态簇
[0132] (2.3.4)、根据样本 的状态簇 得到对应的决策树 然后k
记录由下而上的启发式搜索算法生成样本 对应的决策树的结束时间t ,从而计算得到
[0133] (2.3.5)、构建一个由自然数组成的序列,记为 μ为修正量,实验的规模较小所以取DES={2,3};
[0134] (2.3.6)、在DES中读取第λ个元素的值,然后根据第λ个元素的值提取状态簇中对应的 状 态集 ,设 提取 的 状态 集 为 然 后统 计 状 态 的 相关 参 数 :
Xnumber以
及 其中,c=1,2,…,Δ,Δ为根据实
际情况设置的常数,在样本数量足够大,即=20时的情况下,Δ可以取 表示生
成状态集 过程中状态 与其他状态结合的次数; 表示生成状态集 后保
留状态 与其他状态结合的次数;Xnumber表示状态 中 的无关项的个数,
[0135] 设置特征标记集合PRE,初始化为空集;
[0136] 根据状态 的统计参数,以 作为第1组特征值存入特征标记集合PRE;以 作为第2组特值存入特
征标记集合PRE;……;以 作为第c组特值存入特征
标记集合PRE;……;以 作为第Δ组特值存入特征
标记集合PRE;最后,改变状态编号h1,直到遍历完成状态集 中所有状态;
[0137] (2.3.7)、计算所有状态 的统计参数Cnumberi与ratioi的平均值,记为average1、average2;
[0138] 若某一状态 中,某一组特征值中的Cnumberi与ratioi均低于平均值average1、average2,则将该状态对应的Δ组特征值的标记值全部都记为1,否则标记为0,并将对应的
标记值存入特征标记集合PRE;
[0139] (2.3.8)、删除DES的元素i1,然后按照步骤(2.3.6)‑(2.3.7)所述方法遍历DES中每个元素,直到DES为空集;
[0140] (2.3.9)、同理,按照步骤(2.3.1)到(2.3.8)所述方法为每一个样本生成对应的决策树,并记录对应的生成时间,从而得到
及生成时间
同时生
成特征标记集合PRE;
[0141] (2.3.10)、通过特征标记集合PRE中特征值与标记值训练支持向量机SVM,从而得到预测函数Pre_function;
[0142] (2.4)、计算规模大小为m·n的样本群的平均生成时间;
[0143] (2.4.1)、在 中,每ρ个样本统计一次平均生成时间,得到平均生成时间序列
[0144] (2.4.2)、在 中,同样以每ρ个样本统计一次平均生成时间,得到平均生成时间序列
[0145] (2.5)、生成切换比较矩阵B;对比两条平均生成时间序列,如果对应元素则令切换比较矩阵B中第i行第j列的元素bi×j=1否则,bi×j=0;
[0146] (3)、待测系统的实时故障诊断;
[0147] (3.1)、建立待测系统的初始节点node={S,T};设置代价集合Cost*,初始化为空集;
[0148] (3.2)、通过由上而下的启发式搜索算法对node进行拓展,生成U个子节点,子节点合集表示为:subnode={node1,node2,…,nodef,…,nodeU},其中,nodef={Sf,Tf};
[0149] (3.3)、遍历子节点合集subnode中的每个子节点,初始化f=1;
[0150] (3.4)、为子节点nodef选择搜索算法:根据|Sf|、|Tf|的值,在切换比较矩阵B中找对应的元素 若B中对应元素 则选择由上而下算法进入步骤(3.5),否则,
选择由下而上算法进入步骤(3.6);
*
[0151] (3.5)、使用由上而下的启发式搜索算法计算nodef的代价 再存入Cost ;*
[0152] (3.6)、使用由下而上的搜索算法计算nodef的代价 再存入Cost ;
[0153] (3.6.1)、给定nodef的初始状态集 其中,mf表示Sf的长度,即mf=|Sf|;
[0154] (3.6.2)、按照步骤(2.3.3.1)‑(2.3.3.7)所述方法生成nodef的状态集Ql,l为状态集序号,初始化l=2;
[0155] (3.6.3)、若l‑1∈DES,则进入步骤(3.6.4);若l<mf且 则令l=l+1,再返回步骤(3.6.2);若l=mf,则进入步骤(3.6.12)
[0156] (3.6.4)、建立删除集合DE,初始化为空集;设置遍历次序c,初始化c=1;统计状态集Ql‑1中每个状态的特征值:{Cnumberl,ratiol,Xnumber,l,mf,nf},nf=|Tf|,利用预测函数
Pre_function预测出每个状态的标记值,再将标记值为0的状态加入DE中;
[0157] (3.6.5)、若c=Δ,则进入步骤(3.6.11),否则,进入步骤(3.6.6);
[0158] (3.6.6)、建立特征记录集合EIGEN,初始化为空集;
[0159] (3.6.7)、随机取Q1,Q2,…,Ql‑2,DE,Ql,…,Ql+c‑1的子集,子集的大小为对应集合的1/υ,υ为常数,抽取的子集记为 再利用抽取的子集生成状态
合集Q′l+c;
[0160] (3.6.8)、记录DE中所有状态与其他状态的组合情况,将未曾记录过的组合情况加入到EIGEN,然后返回步骤(3.6.7),直到EIGEN在多次循环中都没有得到更新,再进入步骤
(3.6.9);
[0161] (3.6.9)、通过Q′l+c统计DE内每个元素的特征值:{Cnumberl+c,ratiol+c,Xnumber,l+c,mf,nf},利用预测函数Pre_function预测出每个特征的标记值,再将标记值为1的状态从
DE中删除;最后令c=c+1,然后清空EIGEN,进入步骤(3.6.10);
[0162] (3.6.10)、重复步骤(3.6.7)‑(3.6.9),直至c=Δ;
[0163] (3.6.11)、在Ql‑1中删除DE中包含的状态,再令l=l+1,再返回步骤(3.6.3);*
[0164] (3.6.12)、将 的代价 加入到Cost;
[0165] (3.7)、判断当前迭代次数f是否到达上限值U,如果f<U,则令f=f+1,再返回步骤(3.4);否则,进入步骤(3.8);
[0166] (3.8)、根据Cost*中记录的U个子节点的代价,选择代价最小的子节点,并令node=这个节点,然后再判断node是否还能够拓展,若node已经无法拓展,则说明故障被完全隔
离,进入(3.9),否则,返回(3.2);
[0167] (3.9)、根据node回溯,生成最优决策树,生成的决策树如图3,例如判断故障22需依次使用测点34,8,19,26和21。并根据最优决策树诊断每个测点故障。
[0168] 尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技
术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些
变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。