数控机床故障的智能化诊断系统需要获取和积累诊断知识、归纳和总结诊断规则[1]。传统的聚类算法采用迭代重定位技术将数据对象在簇间移动以进行优化划分。该类算法是一种局部搜索算法,一方面存在NP-hard问题,处理时间随数据的增长而呈指数上升;另一方面容易陷入局部极小值,只有穷举所有可能的划分才能得到全局最优解[2]。基于以上原因,本文提出一种基于改进遗传算法的数控机床故障识别分类算法,将故障识别问题转化为最优化聚类问题,并应用改进遗传算法进行求解。
1遗传算法
遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法,启迪于达尔文的“物竞天择,优胜劣汰”规律和孟德尔的“遗传变异”学说,其本质是一种求解问题的高效并行搜索方法[3]。该算法将问题求解过程转化为染色体的适者生存过程,通过染色体的选择、交叉及变异不断进化从而收敛到最适应环境的个体,求得问题的最优解。该算法是一种群体型操作,该操作以群体中的所有个体为对象,这使得它可以同时搜索解空间内的多个区域,且特别适合于大规模并行,可用于复杂系统优化计算的鲁棒搜索算法[4]。
2基于改进遗传算法的故障时别算法设计
2.1算法改进
遗传算法具有全局搜索能力,但在应用中主要有两大缺陷:①对某些问题,遗传算法求解速度太慢;②遗传算法容易产生早熟现象。遗传算法是一种随机搜索算法,但在解决具体问题时,影响算法的几种参数取值很难确定其最优值及最优组合,往往要根据经验和试验来自行确定,另外,对不同的问题也要选择合适的编码方案,不同的编码方案也会影响算法的执行效率[5]。早熟收敛是遗传算法的另一个重要问题。通过染色体的交叉和变异,种群已经很难产生优于父本的子代个体时,就会发生早熟。用遗传算法解具体问题时,当到达局部最优解时,遗传算法有时会出现进化停滞不前的现象,使得种群中的个体始终在局部最优解附近徘徊,新个体的适应度不再增加,随着迭代的进行得不到全局最优解[6]。在经典最优化方法中,拟牛顿法的收敛速度、计算量、适用范围等性能是最佳的,而BFGS算法最为著名。本文提出将BFGS算法融入基本遗传算法,对基于BFGS的遗传算法进行性能分析和数值模拟,应用到数控机床故障识别系统。采用基于簇号的编码,样本个数为染色体长度,每一位自然编号为一个样本号,每一位基因上的数为此样本所属簇号。首先根据簇数m产生初始种群,采用随机产生m的序列保证至少每个簇内有一个样本,剩余n-m个基因随机产生m以内的自然数。
2.2改进遗传算法流程
1)首先确定初始种群数目M,成员码串长度l,终止代数T,pc和pm等参数,随机选出M个成员代表初始种群P(t),t=0;2)破解编码串并按一定概率复制;3)对复制得来的子代群体进行交叉运算;4)对交叉得来的子代群体进行变异运算并得到新一代群体P(t+1);5)关键的一步,是否跳转BFGS算法用以下条件判定:确定所要优化的函数的梯度荦f(Xt)及其范数‖f(Xt)‖,如果所要优化的函数式离散型的,那么必须采用差商代换之;如果所要优化的函数满足荦f(Xt)<ε或‖荦f(Xt)‖<ε时,那么程序转入下一步,否则转入第2)步;6)采取BFGS算法对所要优化的函数进行寻优运算;7)最后一步输出所要优化的目标函数的近似最优解或最优值。
3实例仿真
为了分析基于BFGS的遗传算法的性能,本文利用基于BFGS的遗传算法、经典遗传算法和粒子群算法对Shaffer'sF6函数进行优化模拟测试,分析并比较三种算法的收敛速度,得出基于BFGS的遗传算法的性能,进而将该改进遗传算法与文献[7]中的遗传算法和文献[8]中的蚁群算法应用于某化学反应器故障诊断实例进行仿真对比,然后将三种算法应用于数控机床常见的齿轮箱故障诊断实例仿真,并比较三种算法的误差平方和、簇内距和簇间距。
3.1基于BFGS遗传算法与经典遗传算法、粒子群算法优化模拟测试
本文采用Shaffer'sF6函数进行优化模拟测试:从图1中可以看出此函数具有无穷多个局部极大值点,其中(0,0)是全局最大值点,其值是1。当优化结果大于0.995时,认为算法是收敛的。遗传算法参数设为pm=0.01,pc=0.25,粒子群算法适应度函数取目标函数,领域结构采取全局领域结构,惯性权重为0.9,c1=c2=2,最大速度为3。收敛结果如图2所示。从图2中可以看出,无论种群规模为20还是50,随着迭代次数的增加,三种算法都能逐渐搜索到全局最优解附近,但改进遗传算法收敛性最强,收敛性能显著高于遗传算法和粒子群算法。这表明改进遗传算法在充分继承了遗传算法全局收敛性强这一优点的基础上,由于BFGS算法的引入,使得局部收敛性能得到了很好的提升。
3.2与遗传算法、蚁群算法的实例1仿真对比
该实例取自文献[7]中某化学反应器故障诊断,16组三维过程样本数据,对应不同的故障状态,算法评价对比如表1所示。种群规模分别为50和100,迭代次数100,随机10次遗传算法收敛如图3所示。从表1可以看出,基于BFGS的遗传算法具有较小的误差平方和,簇内距和簇间距也是优于文献[7]中的遗传算法和文献[8]中的蚁群算法。从图3中可以看到无论种群大小为50还是100,基于BFGS的遗传算法的收敛性均略优于文献[7]中的遗传算法和文献[8]中的蚁群算法。
3.3齿轮箱故障诊断
由于数控机床组成复杂导致故障多样化,本文选取齿轮箱为研究对象,该实例2选取文献[8]中齿轮箱故障频域特征量的提取获得9组样本数据。种群大小分别为50和100,迭代次数100,随机10次遗传算法收敛如图4所示。簇分结果如表2所示。从表2中可以看出,基于BFGS的遗传算法其误差平方和最小,而簇内距和簇间距也是最优的。从图4可以看出,无论种群大小为50还是100,基于BFGS的遗传算法的收敛性优于文献[7]中的遗传算法和文献[8]中的蚁群算法。
作者:刘明敏 刘栋良 单位:杭州电子科技大学自动化学院
相关专题:税收征管规范落实情况 中国实用医刊投稿