基于相关性矩阵的故障诊断优化方法与流程

文档序号:28326488发布日期:2022-01-05 01:00阅读:226来源:国知局
基于相关性矩阵的故障诊断优化方法与流程

1.本发明涉及故障诊断技术,尤其涉及一种基于相关性矩阵的故障诊断优化方法。


背景技术:

2.随着科技的发展,大型系统的性能在不断提高,同时,系统的复杂性也随之增长,这导致了对系统的故障诊断的难度日益增大,诊断费用也越发昂贵,因此对系统的故障诊断算法研究优化也越来越迫切。
3.综合诊断的目的是检测和隔离系统中所有已知或平均的所有故障,以最低的成本来满足系统的任务欲求。一个具有良好测试性的系统,能够大大减少其故障检测和隔离所需要的时间,从而显著缩短维修时间,并能够降低对维修人员的相应技能要求,从而达到提高系统可靠性、降低寿命周期费用的目。在分析设计阶段开展测试性分析设计,能够节省大量的建模时间,提高系统设计效率。对已经设计完备、正在运行使用的系统进行升级改造、日常维护,也需要进行测试性分析,来获得最优的测试方案用来指导维护工作,从而实现检修维护工作的及时、准确和低成本。
4.目前,生成故障诊断策略的算法有动态规划算法、贪婪算法、蚁群算法、遗传算法等。现有的故障策略算法存在一定的缺陷,大致可以表示为:
5.1)动态规划算法不适用于复杂系统。
6.2)贪婪算法只能求得系统的局部最优解,不能保证全局最优解。
7.3)蚁群算法和遗传算法不能保证一定能得到全局最优解,同时在算法后期会出现收敛速度慢,易陷入局部最优解等。


技术实现要素:

8.本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于相关性矩阵的故障诊断优化方法。
9.本发明解决其技术问题所采用的技术方案是:一种基于相关性矩阵的故障诊断优化方法,包括以下步骤:
10.1)根据待诊断的目标系统以及测试方案,建立多信号流图模型,完成系统各组成部分可能发生的故障与测试之间相关关系的描述;多信号流图模型包括:
11.多信号流图模型包括以下元素:
12.1.1)m+1个系统故障的有限集合x={x0,x1,
……
,x
m
},其中,x0表示无故障状态,x
i
,1<i<m,表示系统中m种可能故障状态之一;
13.1.2)故障发生概率p={p0,p1……
,p
m
};
14.1.3)测试点tp={tp1,tp2,
……
,tp
q
},每个测试点至少包含一个测试t
i

15.1.4)测试集合t={t1,

,t
j

,t
n
},其中,对应的测试的成本为c={c1,c2,
……
,c
n
};
16.2)按照多信号流图模型,生成故障与测试的相关性矩阵;所述相关性矩阵的矩阵
元素d
ij
为布尔变量,如果故障x
i
能被测试t
j
检测到,那令d
ij
为1,否则为0;
17.3)根据生成的相关性矩阵,判断是否存在故障的冗余测试,若存在冗余测试,将冗余的测试进行剔除;其中,冗余测试为矩阵中存在相同的不可区分的各列;
18.4)采用基于信息增益的方法,构造不同搜索宽度和深度组合下的故障诊断策略,对不同搜索宽度和深度下的平均测试代价进行比较,对故障诊断策略进行优化设计。
19.按上述方案,所述步骤4)具体如下:
20.4.1)计算每一次测试的平均信息增量;
21.选择当前故障状态模糊集x,依次从测试集合t中选择测试t
j
,针对每个测试t
j
,原始故障状态模糊集将被划分为两个新的or节点x
jp
和x
jf
,分别对应“测试通过”和“测试不通过”;按照测试结果对模糊故障集进行分割直至所有故障均被隔离或所有测试均被使用;在测试t
j
后,系统获得的信息增益为:
[0022][0023]
其中,p(x)=∑
xi∈x
p(x
i
);x=xjp∪xjf;
[0024][0025][0026]
式中,ig(x;t
j
)表示经过测试t
j
后集合x的信息增量,c
j
为测试t
j
的成本;式(4)称为信息增量启发式函数;
[0027]
4.2)根据信息增益启发式函数建立的搜索算法步骤如下:
[0028]
步骤4.2.1)首先,建立一个新的集合z,这个集合中只包含根节点s,s为完全模糊节点;创建一个空的图g;
[0029]
步骤4.2.2)重复下面列出的步骤,直到集合z为空;然后以图g中的测试序列作为诊断树,识别故障来源;
[0030]
步骤4.2.2.1)从集合z中提取or节点q,将节点q添加到图g中;如果q不是一个终端节点,则使用可用的测试集合中的每个测试t
j
将节点q划分为通过与不通过两个集合:x
qjp
和x
qif
;x
qjp
和x
qif
为节点q的直接后续or节点,建立新的集合y与空的图g’,将节点q的所有直接后续or节点添加到图g’中;如果q是一个终端节点,继续选择集合z中的下一个or节点;重复下述步骤直到图g’的测试深度为l,l为事先定义的测试深度参数;
[0031]
步骤4.2.2.1.1)从集合y中提取一个or节点r;如果节点r是目标节点,则继续处理集合y中的下一个or节点;反之,根据步骤4.1)计算节点上每个可用测试的单位成本信息增量;
[0032]
步骤4.2.2.1.2)对于节点r,选择每单位成本测试信息增量最大的测试,如果多个测试值相同,则选择索引最小的测试,然后,将测试添加到图g’中,通过测试将节点r划分为通过和不通过子集模糊节点,将得到的子集节点分别添加到集合y和图g’中;
[0033]
步骤4.2.2.2)根据生成的存储在图g’中的故障诊断策略,计算节点q的每个直接
后续or节点的平均测试成本;
[0034]
步骤4.2.2.3)使用以下公式计算节点q的每个可用测试t
j
∈t
q
的平均测试成本:
[0035][0036]
其中,
[0037][0038]
p(x
qjf
)=1

p(x
qjp
);
[0039]
其中,h(x
qjp
)和h(x
qif
)分别是测试通过和测试不通过子集x
qjp
和x
qif
产生的诊断策略的平均测试成本;
[0040]
步骤4.2.2.4)在平均测试成本的基础上对测试进行排序,选出n个最佳测试t
*
∈t
q
;如果几个测试的值相同,则选择索引最小的测试将t
*
添加到图g中,同时把t
*
通过和不通过的结果分别产生的通过和不通过的子集附加到集合z和图g中,生成诊断树。
[0041]
本发明产生的有益效果是:
[0042]
本发明将信息增益启发式函数与诊断策略搜索算法相结合,进行迭代更新,增加搜索宽度和深度,构造近似最优诊断策略,可以降低平均测试成本,适用复杂系统以及能保证全局最优解;
[0043]
通过结果分析,可以得到不同搜索宽度和深度对平均测试代价的影响趋势,对测试序列的搜索过程进行指导优化,以提高搜索效率和准确率。
附图说明
[0044]
下面将结合附图及实施例对本发明作进一步说明,附图中:
[0045]
图1是本发明实施例的方法流程图。
具体实施方式
[0046]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0047]
如图1所示,一种基于相关性矩阵的故障诊断优化方法,包括以下步骤:
[0048]
1)根据需要诊断的系统的相关结构、功能以及测试方案,建立多信号流图模型,其中多信号流图模型的内容包括系统组件、故障模块相关的信号集合、测试点的有限集合、测试的优先集合,完成系统各组成部分可能发生的故障与测试之间相关关系的描述;
[0049]
根据目标系统建立多信号流图模型,其中多信号流图模型由以下元素组成:
[0050]
1.m+1个系统故障的有限集合x={x0,x1,
……
,x
m
},其中x0表示无故障状态,xi(1<i<m)表示系统中m种可能故障状态之一;
[0051]
2.故障发生概率p={p0,p1……
,p
m
};
[0052]
3.测试点tp={tp1,tp2,
……
tp
p
},每个测试点至少包含一个测试t;
[0053]
4.测试t={t0,t1,
……
,t
n
},其中测试的成本为c={c1,c2,
……
,c
n
},由所需要的时间、人力需求或其他经济因素判断;
[0054]
5.独立功能信号的集合s={s1,s2,
……
,s
k
},用于表示系统中观测到的效应,每个
系统状态修改一个功能信号sx(x
i
),每个测试可以检测一组功能信号st(t
j
)。
[0055]
2)在建立多信号流图模型后,根据模型中故障节点与测试节点是否存在连接关系,得到故障与测试的一阶相关;再判断故障节点与故障节点之间的连接关系,由一阶相关递推得到高阶相关,将故障

测试相关性矩阵记为:
[0056][0057]
其中,矩阵元素d
mn
一般为布尔变量,如果故障x
i
能被测试t
j
检测到,那令d
ij
为1,否则为0。
[0058]
根据所生成的相关性矩阵,判断是否存在冗余测试,若存在冗余测试,需要将冗余的测试进行剔除,保留一个即可,实现矩阵的优化。
[0059]
对优化后的矩阵采用基于信息增益的搜索算法,构造不同搜索宽度和深度组合下的故障诊断策略。
[0060]
3)根据生成的相关性矩阵,判断是否存在故障的冗余测试,若存在冗余测试,将冗余的测试进行剔除;其中,冗余测试为矩阵中存在相同的不可区分的各列;
[0061]
4)采用基于信息增益的方法,构造不同搜索宽度和深度组合下的故障诊断策略,对不同搜索宽度和深度下的平均测试代价进行比较,对故障诊断策略进行优化设计。
[0062]
步骤4)具体如下:
[0063]
4.1)计算每一次测试的平均信息增量;
[0064]
信息增益启发式函数是求出每一次测试的平均信息增量,并以此值作为判断测试质量的标准,选择要隔离的当前故障状态模糊集x,依次从测试集合t中选择测试t
j
,针对每个测试t
j
,原始故障状态模糊集将被划分为两个新的or节点x
jp
和x
jf
,分别对应“测试通过”和“测试不通过”;按照测试结果对模糊故障集进行分割直至所有故障均被隔离或所有测试均被使用;在测试t
j
后,系统获得的信息增益为:
[0065][0066]
其中,p(x)=∑
xi∈x
p(x
i
);x=xjp∪xjf;
[0067][0068]
信息熵的值反映导致系统故障的故障模式的程度,
[0069][0070]
式中,ig(x;t
j
)表示经过测试t
j
后集合x的信息增量,c
j
为测试t
j
的成本;式(4)称为信息增量启发式函数;
[0071]
4.2)根据信息增益启发式函数确定,搜索算法步骤如下:
[0072]
步骤4.2.1)首先,建立一个新的集合z,这个集合中只包含根节点s,s为完全模糊节点;创建一个空的图g;
[0073]
步骤4.2.2)重复下面列出的步骤,直到集合z为空;然后以图g中的测试序列作为诊断树,识别故障来源;
[0074]
步骤4.2.2.1)从集合z中提取or节点q,将节点q添加到图g中;如果q不是一个终端节点,则使用可用的测试集合中的每个测试t
j
将节点q划分为通过与不通过两个集合:x
qjp
和x
qif
;x
qjp
和x
qif
为节点q的直接后续or节点,建立新的集合y与空的图g’,将节点q的所有直接后续or节点添加到图g’中;如果q是一个终端节点,继续选择集合z中的下一个or节点;重复下述步骤直到图g’的测试深度为l,l为事先定义的测试深度参数;
[0075]
步骤4.2.2.1.1)从集合y中提取一个or节点r;如果节点r是目标节点,则继续处理集合y中的下一个or节点;反之,根据步骤4.1)计算节点上每个可用测试的单位成本信息增量;
[0076]
步骤4.2.2.1.2)对于节点r,选择每单位成本测试信息增量最大的测试,如果多个测试值相同,则选择索引最小的测试,然后,将测试添加到图g’中,通过测试将节点r划分为通过和不通过子集模糊节点,将得到的子集节点分别添加到集合y和图g’中;
[0077]
步骤4.2.2.2)根据生成的存储在图g’中的故障诊断策略,计算节点q的每个直接后续or节点的平均测试成本;
[0078]
步骤4.2.2.3)使用以下公式计算节点q的每个可用测试t
j
∈t
q
的平均测试成本:
[0079][0080]
其中,
[0081][0082]
p(x
qjf
)=1

p(x
qjp
);
[0083]
其中,h(x
qjp
)和h(x
qif
)分别是测试通过和测试不通过子集x
qjp
和x
qif
产生的诊断策略的平均测试成本;
[0084]
步骤4.2.2.4)在平均测试成本的基础上对测试进行排序,选出n个最佳测试t
*
∈t
q
;如果几个测试的值相同,则选择索引最小的测试将t
*
添加到图g中,同时把t
*
通过和不通过的结果分别产生的通过和不通过的子集附加到集合z和图g中,生成诊断树。
[0085]
通过上述步骤,比较不同搜索宽度和深度组合构造的诊断策略,可以得到较低的平均测试成本,对测试序列的搜索过程具有指导意义,本发明可以提高故障诊断测试序列的搜索效率和精度。
[0086]
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1