发明名称 一种容错系统诊断策略优化方法
摘要 本发明公开了一种容错系统诊断策略优化方法,包括如下步骤:首先以多信号流模型为基础,自动生成贝叶斯网络模型,并设置网络节点参数;同时以信息熵理论为基础,构建同时考虑诊断能力和测试费用的代价函数,实现测试序列优化选择及序贯诊断;最后根据获得的推理模型和优化的测试序列进行系统的多故障诊断。本发明方法适用于故障容错系统,能够有效处理故障诊断中的不确定问题和多故障问题,并能及时、准确定位故障。
申请公布号 CN102662831B 申请公布日期 2015.02.11
申请号 CN201210073845.4 申请日期 2012.03.20
申请人 中国人民解放军国防科学技术大学 发明人 胡政;张士刚;刘颖;李岳;杨定新;宋立军
分类号 G06F11/36(2006.01)I;G06F11/07(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 长沙新裕知识产权代理有限公司 43210 代理人 刘熙
主权项 一种容错系统诊断策略优化方法,其特征在于包括以下步骤: 一、基于多信号模型自动构建贝叶斯网络: 第一步,利用TEAMS软件构建多信号模型,并导出相关性矩阵; 利用多信号流图建模软件TEAMS构建容错系统的多信号模型,用{F<sub>1</sub>,F<sub>2</sub>,…,F<sub>m</sub>}和{T<sub>1</sub>,T<sub>2</sub>,…,T<sub>n</sub>}分别表示模型中所有的故障模式F<sub>i</sub>和测试T<sub>j</sub>的集合,导出容错系统的相关性矩阵,用下式表示: <img file="FDA0000565458940000011.GIF" wi="1094" he="359" />在上述相关性矩阵(1)中,不同行表示不同的故障模式F<sub>i</sub>,不同列表示不同的测试T<sub>j</sub>,并且 <img file="FDA0000565458940000012.GIF" wi="1110" he="203" />其中,1≤i≤m,1≤j≤n; 第二步,基于相关性矩阵依据下述原则设定四种贝叶斯网节点: 1、故障节点:针对相关性矩阵中的所有故障模式F<sub>i</sub>,1≤i≤m,分别设定与之相对应的故障节点,记为故障节点f<sub>i</sub>; 2、测试节点:针对相关性矩阵中所有的测试T<sub>j</sub>,1≤j≤n,分别设定与之对应的测试节点,记为测试节点t<sub>j</sub>; 3、辅助监控节点:选取若干个故障模式{F<sub>1</sub>,F<sub>2</sub>,…,F<sub>m</sub>}的子集 {F<sub>i</sub>|i∈(1,m)},对应于每一个子集{F<sub>i</sub>|i∈(1,m)},分别设定一个节点,称之为辅助监控节点; 4、总监控节点:设定一个节点表示系统整体状态,即为总监控节点; 第三步,添加节点间的连接关系: 1、针对相关性矩阵中的所有元素,如果d<sub>ij</sub>=1,添加从故障节点f<sub>i</sub>到测试节点t<sub>j</sub>的连接关系; 2、添加由故障节点f<sub>i</sub>到辅助监控节点间的连接关系; 3、添加由所有故障节点f<sub>i</sub>到总监控节点的连接关系,或者添加由辅助监控节点到总监控节点的连接关系,最终能保证从任何故障节点f<sub>i</sub>均有路径到达总监控节点即可满足要求; 第四步,设定贝叶斯网节点参数: 1、故障节点参数设定 在构建的贝叶斯网中,故障节点f<sub>i</sub>均为父节点,对其设定两种状态:Good、Bad,假定每种故障模式F<sub>i</sub>的平均故障间隔时间分别用MTBF<sub>i</sub>,i=1,2,…m表示,则故障节点f<sub>i</sub>的状态概率按下式计算: <img file="FDA0000565458940000021.GIF" wi="1043" he="316" />P<sub>iGood</sub>=1‑P<sub>iBad</sub>    (3) 式(2)、(3)中P<sub>iBad</sub>、P<sub>iGood</sub>作为故障节点参数分别表示故障节点f<sub>i</sub>状态为Bad和Good的概率设置; 2、测试节点参数设定 测试节点t<sub>j</sub>设定为两种状态,分别对应于测试通过、未通过,记为Pass、Fail,测试节点t<sub>j</sub>均为子节点,因此设定的参数应为条件概率,具体设定规则为: 针对测试节点t<sub>j</sub>,用S<sub>j</sub>表示与其相关的故障节点f<sub>i</sub>个数,用集合{Z<sub>r</sub>},r=1,2,…S<sub>j</sub>具体表示与之相关的故障节点f<sub>i</sub>集合,则测试节点t<sub>j</sub>各种状态的条件概率为: P(t<sub>j</sub>=Pass|Z<sub>r</sub>=Good,r=1,2,…S<sub>j</sub>)=1    (4) P(t<sub>j</sub>=Fail|Z<sub>r</sub>=Good,r=1,2,…S<sub>j</sub>)=0    (5) 否则,若至少存在一个k,1≤k≤S<sub>j</sub>满足Z<sub>k</sub>=Bad,则: P(t<sub>j</sub>=Pass|Z<sub>r</sub>,r=1,2,…S<sub>j</sub>)=0    (6) P(t<sub>j</sub>=Fail|Z<sub>r</sub>,r=1,2,…S<sub>j</sub>)=1    (7) 式(4)‑(7)所表达的概率即为测试节点t<sub>j</sub>的参数,以此类推,对每个测试节点t<sub>j</sub>进行相应的设置; 3、辅助监控节点参数设定 辅助监控节点设定两种状态:Good和Bad,将其对应于测试节点t<sub>j</sub>的两种状态Pass和Fail,按照和测试节点t<sub>j</sub>完全相同的方式设定条件概率并作为辅助监控节点参数; 4、总监控节点参数设定 总监控节点设定两种状态:Good和Bad,当其状态全部为Good时,总监控节点为Good的概率为1,否则为0; 至此完成贝叶斯网的自动构建; 二、测试序列选择及序贯诊断: 第一步,测试诊断能力的计算: 测试T<sub>j</sub>的诊断能力用该测试的信息熵H(T<sub>j</sub>)表示,即 H(T<sub>j</sub>)=‑P(t<sub>j</sub>=Pass)logP(t<sub>j</sub>=Pass)‑P(t<sub>j</sub>=Fail)logP(t<sub>j</sub>=Fail)(8)式中P(t<sub>j</sub>=Pass)和P(t<sub>j</sub>=Fail)分别表示测试T<sub>j</sub>所对应的测试节点t<sub>j</sub>状态为Pass和Fail的概率,该值基于当前已知测试结果和已知故障状态通过所构建的贝叶斯网进行推理运算得到; 第二步,测试诊断价值的计算: 利用下式计算测试T<sub>j</sub>的诊断价值<img file="FDA0000565458940000041.GIF" wi="67" he="78" /><img file="FDA0000565458940000042.GIF" wi="1333" he="90" />式中:C为测试费用;w为权重系数,表示测试费用C在诊断价值<img file="FDA0000565458940000043.GIF" wi="67" he="78" />中所占的比重,即测试费用C对测试序列选择的影响程度,该值根据经验进行设定;H(T<sub>j</sub>)为依据式(8)计算的诊断能力;第三步,序贯诊断的实施: 基于诊断价值<img file="FDA0000565458940000044.GIF" wi="63" he="77" />,序贯诊断执行过程为:S1在未加入证据的情况下对贝叶斯网进行初始推理; S2依据公式(9)计算测试的诊断价值; S3选择诊断价值最高的测试并执行该测试,将测试结果作为证据加入贝叶斯网,具体实施规则为:假定选择执行的测试为T<sub>j</sub>,并且测试结果为通过,则将其对应的测试节点t<sub>j</sub>状态设为t<sub>j</sub>=Pass,否则设为t<sub>j</sub>=Fail; S4执行贝叶斯网推理; S5依次判读是否达到停机条件一和停机条件二,若达到条件一或同时 达到两个条件转步骤S6,若只达到条件二,转步骤S7,否则转步骤S2; S6按条件一输出序贯诊断结果; S7按条件二输出序贯诊断结果; 上述序贯诊断中的两个停机条件分别为: 条件一:容错系统所有故障模式F<sub>i</sub>中,某些故障模式F<sub>i</sub>对应的故障节点f<sub>i</sub>状态为Bad的概率高于设定阈值,此时输出结果为这些故障模式F<sub>i</sub>;或者总监控节点状态为Good的概率高于设定值,此时输出结果为“系统正常”;或者只关心辅助监控节点的状态,某些辅助监控节点状态为Bad的概率高于设定阈值,此时输出结果为这一辅助监控节点对应的故障模式{F<sub>1</sub>,F<sub>2</sub>,…,F<sub>m</sub>}的子集{F<sub>i</sub>|i∈(1,m)}; 条件二:所有剩余测试T<sub>j</sub>的诊断价值均低于设定值,此时的输出结果为可能故障集合即故障模式{F<sub>1</sub>,F<sub>2</sub>,…,F<sub>m</sub>}的子集{F<sub>i</sub>|i∈(1,m)},该集合的元素为:对应故障节点f<sub>i</sub>状态为Bad的概率大于0的故障模式F<sub>i</sub>;三、组合故障诊断: 执行组合故障诊断的条件为:上一节序贯诊断中给出的故障模式F<sub>i</sub>在维修操作中被证明是不存在的,此时需要进行组合故障诊断; 组合故障诊断的实现步骤为: 1、将利用序贯诊断得到的状态为Bad的概率最高的故障节点f<sub>i</sub>状态设为Good,并作为贝叶斯网的证据节点看待; 2、利用组合故障推理算法进行贝叶斯网推理,计算序贯诊断结果中状态为Bad的概率不为0的故障节点f<sub>i</sub>的状态组合为组合故障诊断结果。 
地址 410073 湖南省长沙市开福区砚瓦池正街47号