基于人工鱼群的风机故障诊断方法
2018-01-25孙洁连畅
孙洁 连畅
摘 要:为了提高风机故障检测准确率并改善风机系统振动故障复杂性较高的问题,文中提出了基于人工鱼群的风机故障诊断方法。人工鱼群算法结构简单,具有良好的并行性、快速性等优点,但易陷入局部最优。为解决这一问题,在人工鱼群算法的基本原理上提出了基于差分进化算法和人工鱼群算法相融合的混合算法,在人工鱼群算法中引入了交叉变异策略,使原始种群能够不断优化,提高了全局寻优的能力。试验表明,相对于其他检测方法,改进的人工鱼群算法的识别率及计算效率均有所提高,对风机早期故障的诊断效果较佳。
关键词:风机;故障诊断;人工鱼群;局部最优;差分进化算法
中图分类号:TP39;TD441 文献标识码:A 文章编号:2095-1302(2018)01-00-03
0 引 言
随着科技的不断进步和发展,风机发展也体现出高速化、复杂化和智能化的趋势,其结构和组成亦随之变的更加复杂。一方面,如果风机故障时有发生,那么企业将遭受非常严重的经济损失;另一方面,如若风机系统发生故障,往往还会导致人身安全损伤和环境污染等后果。因此,对风机故障进行准确诊断不仅具有重大经济效益还具有良好的社会效义[1-3]。为了对风机早期故障进行有效诊断,需要运用部分算法对故障数据进行有效的分类和提取。人工鱼群算法不仅具有自组织性和自适应性等特点,还具有搜索速度快、参数少、易于实现等优点[4],目前在故障诊断、图像处理等领域的应用取得了一定成果。
文中首先利用小波包對振动信号进行提取,再利用经差分进化算法改进后的人工鱼群算法对风机故障进行快速、准确地诊断改进。
1 故障分析理论
1.1 小波包熵特征提取
风机故障发生时的振动信号若存在于不同的频带上,那么其所具有的能量分布亦不同。因此,在风机发生故障时,我们可以以不同频带能量特征的差异为根据对故障进行识别。
小波包变换可将时域中的问题转换到频域上进行分析,并能够保持问题信息的完整性[5,6]。小波包熵提取的具体步骤如下:
(1)原始信号在经过4 层小波包分解后,能够获得16个频带上的信号特征。
(2)需要求取16个频带上信号的能量。设为对应频带中的重构信号,其能量如式(1)所示:
(3)对得到的各能量进行归一化处理,得到:
(4)计算各频带的能量熵K,作为待识别的故障特征值,K即人工鱼公告板信息。
1.2 人工鱼群算法
人工鱼群算法(Artificial Fish Swarm Algorithm,,AFSA)是李晓磊博士受鱼群行为的启发,于2002年提出的一种新型智能仿生优化算法。在水中,鱼总是能够自行游动亦或尾随其他鱼游动,找到含营养物质最多的地方,因此可以推知,在营养物质多的区域中相应所含鱼的数目也最多[7-9]。根据鱼群这一特点来进行人工鱼群对鱼群觅食、聚群和追尾行为的模仿,通过模仿实现寻优。
个体鱼的状态用X=(x1,x2,…,xn)描述, 其中xi(i=1,2,…,n)表示寻优变量,通过人工鱼所在位置营养物质浓度的大小,即使用目标函数值Y=f(X)来判断个体优劣。人工鱼个体间距用dij=‖Xi-Xj‖表示;Visual表示人工鱼可见范围;Step为人工鱼所移动步长的最大值;δ表示拥挤度因子。
(1)觅食行为即人工鱼不断向富含营养物质较多的区域移动的行为,是向更优区域移动的迭代方式。人工鱼Xi代表在一个可见区域内以随机选择的方式所选择的一条人工鱼,其状态设置为Xj,若其目标函数值Yj比当前值更优,则朝Xj所在方向游动一步;否则,将再次重新随机选择一个Xj,重复尝试trynumber次,若所得目标函数值仍然不具备前进所需的条件,则向任意方向随机游动一步。
(2)聚群行为是人工鱼向鱼群中心方向游动并避免过分拥挤的一种行为。人工鱼的状态设为Xi,将当前可见区域内(即di,j≤Visual)的伙伴数量和中心位置分别用nf和Yc表示,如果出现Yc?nf>δYi且Yi (3)追尾行为即一种鱼群个体朝着可见范围内最优个体所在方向游动,并避免过分拥挤的行为。人工鱼Xi在可见区域内搜索最优伙伴,即在可见区域内的所有人工鱼中寻找适应度值最高的个体Xj,若出现Yc?nf>δYi且Yi (4)公告板即人工鱼在每完成一次迭代后都进入一个新的状态,将之与公告板中所记录的状态进行对比,若新状态更优,则公告板信息会更新为新状态。迭代结束后,输出更新后的公告板记录,该记录即为所求的最优值。 2 改进人工鱼算法在风机故障检测中的研究 2.1 差分进化算法 自差分进化算法(Differential Ev,DE)[10]作为近年来新兴算法中的一种,对个体的最优解拥有较好的记忆能力,同时也可共享种群内部信息。相较于其他不同的算法,对于求解比较复杂的全局优化问题,DE的优势更加明显,性能更加优越,具有受控参数少,优化过程简单,鲁棒性强等优点[11,12],使得DE被看作是仿生智能计算算法产生后,在算法结构方面获取的一项重要成果。 2.2 对人工鱼算法的改进 当鱼群算法进入后期阶段,在公告板进行了连续多次的迭代后,公告板将出现信息并未更新或更新变化非常小的问题,即寻优过程陷于停滞状态,导致出现陷入局部最优的问题。对此本文使用DE算法中的交叉、变异策略,当公告板的停滞状态大于最大停滞参数时,选择部分人工鱼个体对其实施DE交叉操作和变异操作[13],以产生新的个体。对比产生的新个体和当前目标函数值,将对比结果与公告板的状态再次进行比较,若对比结果优于公告板记录,则更新公告板的状态,跳出局部最优。
实现过程如下:
(1)将参数初始化:将第t次迭代的第个i个个体表示为Xi(t)=xi1,xi2,…,xiD,i=1,2,…,N,个体鱼的状态用X=x1,x2,…,xn描述,其中xi(i=1,2,…,n)表示寻优变量。鱼群规模为N,最大迭代次数为Nmax,人工鱼可见区域用Visual表示,移动步长最大值为Step,拥挤度因子为δ,将觅食过程中的随机试探次数trynumber等设置为鱼群参数,并设定最大停滞参数Stopmax等。设置公告板停滞状态为0,即Stopstep=0,设定系统初始迭代次数Nc=1。随机产生的种群规模为N,产生依据如式(4):
其中rand为(0,1)之间的随机数,j=1,2,…,D,xijU为Xi中第j个分量的上界,而xijL则为下界。
(2)计算比较初始人工鱼个体的当前函数值,取其最优值记录在公告板中。
(3)人工鱼个体根据邻近伙伴的中心和公告板的记录来模拟鱼群的聚群行为和追尾行为,若最优目标函数值比公告板记录更优,则执行最优的目标函数值,否则执行觅食行为。
(4)人工鱼每完成一次迭代后便会产生新的状态,并将其与公告板的记录作对比,若当前的新状态比公告板记录更优,则公告板信息将会更新为新的状态,并将停滞状态Stopstep重置为0。
(5)当公告板停滞状态大于或等于最大停滞参数时,对部分人工鱼个体实施DE中的交叉和变异操作,否则继续向下执行步骤(6),差分操作如下所示:
a.變异策略:在人工鱼中随机选择除其之外的两个不同个体r1,r2,变异策略采用以下变异方式:
其中,β为(0,1)之间的任一随机数。
b.交叉策略 :交叉策略采用线性交叉方式,生成一个中间个体Si (t+1),增加了种群多样性,此个体第j个分量可表示为:
si(t+1)=αxij (t)+(1-α)uij(t+1) (6)
其中,α取(0,1)之间的任一随机数。
c.将新个体的适应度值与公告板中所记录的状态进行对比,若前者更优,则公告板信息将会更新为当前状态,并重新将公告板停滞状态设置为0,即Stopstep=0。
(6)设Nc=Nc+1,Stopstep=Stopstep+1,判断是否能够满足Nc=Nmax或其他结束条件,如果已满足条件则停止搜索,并将公告板信息及其所对应的目标函数值输出;若未满足,则返回重新执行步骤(3),继续下一个循环。
3 实例分析
采集振动信号,并对其实施小波包变换,提取小波包熵特征值作为原始种群,运用本文改进的人工鱼群算法对风机进行故障诊断。
本文采用图1所示的五种故障振动信号。对采集到的信号经小波包分析提取出7个不同频段的信息,每一种故障状态选40组特征向量,共200组样本作为原始种群,数据采集器的采集频率取800 Hz,采样时间为5 s,数据处理等工作均在台式机上完成。表1为实验采用的部分样本,其中f为基频,样本1~5各表示一种风机故障:样本1代表轴不对中,样本2代表转子质量不平衡,样本3代表机械碰摩,样本4代表轴承故障,样本5代表基础松动。
图2中横纵坐标分别代表迭代次数和整体故障诊断正确率。图2能够直观表示出前期故障诊断正确率随迭代次数的增大而不断上升的趋势,后期尤其当迭代次数达到60次之后故障诊断正确率趋于平稳,不再随着迭代次数的增大而出现大幅波动。将200组样本数据作为故障检测数据进行实验,诊断正确率的检测结果见表2所列。
从表2可以明确看出对轴不对中诊断的正确率达95%,对转子质量不平衡诊断的正确率为90%,对机械碰摩诊断的正确率高达100%,对轴承故障诊断的正确率为95%,对基础松动的诊断正确率为90%。由此可见,采用本文所述方法可大大提高对风机5种故障的诊断正确率。
4 结 语
本文提出了基于人工鱼群的风机故障诊断方法,将改进的人工鱼群算法应用于风机故障诊断当中,具有实现过程简单,运算速度快,适应能力强等优点。实验证明,本文提出的方法故障诊断正确率高,具有很强的可行性,为风机故障诊断这一领域提供了方便。
参考文献
[1]吕茂超,华钢,刘晶晶.基于LabVIEW的风机故障监测诊断系统的设计[J].煤矿安全,2011, 42(10):51-53.
[2]李宁,王李管,贾明滔,等.基于信息融合理论的风机故障诊断[J].中南大学学报(自然科学版),2013, 44(7):2861-2866.
[3]吕振江,汤家升.基于遗传算法的风机故障诊断研究[J].煤炭工程, 2015, 47(1):101-103.
[4]刘刚.一种人工鱼群算法及其应用研究[D].上海:华东理工大学, 2015.
[5]丁建明,林建辉,任愈,等.基于谐波小波包能量熵的轴承故障实时诊断[J].机械强度,2011,33(4):483-487.
[6]薛勇,万振刚.基于改进人工蜂群的轴承故障诊断方法[J].轴承, 2017(5):45-48.
[7]王联国.人工鱼群算法及其应用研究[D].兰州:兰州理工大学,2009.
[8]吴昌友.一种改进的人工鱼群优化算法[J].智能系统学报, 2015 (3):465-469.
[9]王联国,洪毅,赵付青,等.一种改进的人工鱼群算法[J].计算机工程, 2008,34(19):192-194.
[10]卢青波,张学良,温淑花,等.高斯变异差分进化算法及其应用研究[J].工程设计学报,2012, 19(5):372-378.
[11]朱宇航.差分进化算法及其在云计算任务调度中的应用研究[D].兰州:兰州交通大学, 2013.
[12]刘波,王凌,金以慧.差分进化算法研究进展[J].控制与决策, 2007,22(7):721-729.
[13]张大斌,杨添柔,温梅,等.基于差分进化的鱼群算法及其函数优化应用[J].计算机工程,2013, 39(5):18-22.