基于改进烟花算法的薄壁件铣削加工参数优化
2021-06-26郭建烨郑若池
郭建烨 郑若池
(沈阳航空航天大学机电工程学院, 辽宁 沈阳 110136)
近年来,由于我国航空航天工程的不断进步,对相应零部件的质量要求也随之提高,因此一些合金薄壁件因自身重量轻、比强度高等特点而被广泛使用[1-2]。但是薄壁件在加工制造过程中,由于自身尺寸壁薄,所以结构工艺性较差,很容易发生形变,进而影响零件的加工精度。其中导致加工变形的因素有很多,如:刀具参数、工艺参数、工件材料和残余应力等,而加工参数则是影响薄壁件加工变形的一个重要因素[3-4]。单一的铣削参数对薄壁件加工变形的影响可以通过有限元分析方法得到,但在实际加工过程中,众多铣削参数对加工变形的影响存在着耦合关系,这样通过有限元方法很难得到较精确的加工参数。因此,寻求一种合理有效的加工参数预测方法是很有必要的[5-7]。
随着智能技术的发展,一些能够高效解决非线性问题的算法也应运而生,并且已成功地运用于人工智能、目标优化和图像处理等方面[8-10]。在薄壁件加工变形的问题上,国内外学者也运用这些智能算法对铣削参数进行优化。杨勇[11]等学者针对汽车覆盖件模具,基于遗传算法和BP神经网络技术建立钛合金薄壁件的铣削参数优化目标函数,对铣削参数进行优化研究。S.Vijay[12]等学者利用田口法对进给量、切削速度等铣削加工参数进行了优化。Fanci Cus[13]等人利用BP人工神经网络对加工参数进行了多目标优化研究。但在实际应用中,大部分智能算法的预测结果与现场加工结果误差较大,不能有效地实现降低加工变形量的要求。因此,需要寻求一种与实际加工变形量更吻合的预测算法,进而更好地提高优化结果的精确性,降低薄壁件加工变形误差。
本文首先对烟花算法进行优化改进,接着用改进烟花算法优化BP神经网络并对薄壁件铣削加工变形进行预测,然后将改进烟花算法与遗传算法和粒子群算法的预测结果比较,最后通过现场加工实验进一步证明改进烟花算法的可行性。
1 基本烟花算法
烟花算法(fireworks algorithm, FWA)[14]是以烟花爆炸产生火花现象为基础的一种新型群体智能优化算法。其基本原理为:首先,随机产生一些烟花种群;接着,以爆炸和变异的方式让每一个烟花种群产生不同数量和范围的火花;然后,通过映射规则使得超出边界的火花回到可行域内;最后,基于距离的选择策略精选火花成员组成与初始种群相同规模的下一代群体。迭代过程中重复以上操作并判断是否满足问题要求,通过交互传递信息逐次提高群体对环境的适应性,最终得到优化问题的全局最优近似解。其算法执行流程如图1所示。
2 改进烟花算法
烟花算法自提出以来,已成功用于非线性问题求解、路径规划和图像处理等诸多方面,但其算法本身的一些参数设定、计算规则以及运行步骤等还不够精确。因此,下面在原有的烟花算法基础上,针对烟花算法运行过程的主要环节进行改善,提出一种改进烟花算法(improved fireworks algorithm, IFWA)。
2.1 最小爆炸半径检测
在FWA算法中,需要给予每一个烟花不同的爆
炸半径来确保烟花种群搜索的稳定性,通过式(1)可以达到这个要求。
(1)
式中:ymin=min(f(xi)),(i=1,2,…,N)为当前烟花种群中适应度最小值;A是一常数,用来改变爆炸半径值;ε用来避免分母为零。
但是,式(1)会导致适应度值较小的烟花的爆炸半径也随之变小,从而不必要的淘汰了一些计算可行的烟花。
为了解决这个问题,IFWA算法采用最小爆炸半径检测方法。若烟花爆炸半径低于一个固定值,那么便将爆炸半径设为该值,如式(2):
(2)
对于如何确定Amin,k,IFWA算法将使用非线性递减方式:
(3)
式中:t为目前函数的迭代次数,evals_max为函数迭代次数的最大值。Ainit、Afinal表示迭代环节开始和结束时的爆炸半径。
2.2 爆炸火花产生方式
在FWA算法中,烟花爆炸产生火花时在所有维度上设置的爆炸偏置均相同。但是,这样会很大程度上减少局部搜索的多样性。
为了解决这一问题,IFWA算法将在每个选择的维度上使用不同的偏置值。其运行过程伪代码如下:
(1)初始化爆炸火花的位置:xi=Xi;
(2)设置zk=round(U(0,1)),k=1,2,…,D;
(3)For每一个维数上xik,wherezk=1;do
(4)计算位移变异ΔXik=Ai×U(-1,1);
(5)xik=xik+ΔXik;
(6)Ifxik超出边界;then
(7)将xik映射到可行域内(参考下面的映射规则);
(8)end if;
(9)end for。
2.3 映射规则
在FWA算法中,当某一火花在特定空间k内越过其自身可行域,通过式(4)的映射规则会让火花调整到可行域范围内的一个新位置。
(4)
式中:xUB,k、xLB,k为特定空间k上的上限和下限。
大多数情况下,火花坐标越过可行域的值都相对较小,使用的检测函数也是以原点为中心的,即
xUB,k=-xLB,k
(5)
通过上面的映射规则会使得超出可行域的火花回到原点附近的地方,但是大部分问题目标函数的最优解都在原点附近,因此这种映射方法会造成算法过早收敛。
为了解决这一缺陷,IFWA算法将使用下式作为新的映射方法。
(6)
2.4 高斯变异算子
在FWA算法中,如果高斯分布随机变量e的值在零值附近,那么采用式(7)计算其值,这也会使得火花一直在原点附近徘徊。
(7)
式中:e~N(1,1),N(1,1)表示均值为1,方差为1的高斯分布。
为了避免这一问题,IFWA算法将使用一种新型高斯变异算子,计算公式为:
(8)
式中:g~N(0,1),xBk为当前烟花种群中适应度值最小的烟花在第k维度上的位置。
2.5 选择策略
在FWA算法中,选择策略是根据个体间的距离来衡量的,由式(9)来实现。
(9)
式中:R(xi)为当前个体xi与其他个体的距离之和。
但这样就要在每一次迭代计算候选烟花和火花个体间的距离,十分地消耗时间。
为了解决这个问题,IFWA算法将使用一种精英随机选择方法,即首先选出适应度值最小的个体,然后再用随机策略选择其他的烟花。
3 烟花算法优化BP神经网络
BP神经网络算法主要利用误差反向传播思想对网络结构进行优化训练,进而得出符合求解问题的权值和阈值[15],BP神经网络的结构如图3所示。
在图2中:X1、X2、…、Xn为BP网络输入值;Y1、Y2、…、Yn为BP网络输出值;ωij为输入层与隐藏层之间连接权值;ωjk为隐藏层与输出层之间连接权值。
BP神经网络具有较好的非线性拟合优势,网络层次比较简单,抗干扰能力强,因此BP神经网络在数据分析、人工智能等方面均已得到广泛地应用。但是,BP神经网络自身也有一定的缺陷。其中,比较突出的问题就是权值和阈值对目标函数影响较大,在迭代环节函数容易陷入局部极小值,进而使得运算收敛速度较慢,而烟花算法在问题求解过程可以较好地弥补BP神经网络的不足。因此,下面将烟花算法和BP神经网络相互结合,对薄壁件加工铣削参数进行训练优化。
BP神经网络由输入层、隐藏层和输出层组成。影响薄壁件加工变形的铣削参数有很多,本文选取以下几个主要铣削参数:铣削速度、进给量、背吃刀量和铣削宽度,所以将输入层神经元数量设置为4个;输出变量为薄壁件的加工变形量,所以将输出层神经元数量设置为1个;隐藏层通常设置为1层,并根据式(10)得出隐藏层神经元的数量在4~12,将隐藏层神经单元数量设置为10个。
(10)
式中:n1、n和m分别为隐藏层神经元的数量、输入层神经元的数量和输出层神经元的数量,a是介于1~10的随机数。
参照经验资料[16],设置BP神经网络的学习效率为0.1,迭代次数为1 000,训练目标为0.000 1。IFWA算法参数设置如下[17]:
改进烟花算法优化BP神经网络流程如图3所示。
烟花算法主要程序的伪代码如下所示:
(1)随机选择n个烟花的位置;
(2)While当前函数评估次数<最大函数评估次数do;
(3)对于n个烟花;
(4)for所有烟花xido;
(5)计算每个烟花产生的火花个数Si;
(6)计算每个烟花产生火花的幅度Ai;
(7)随机产生火花;
(8)end for;
(10)随机选择一个烟花xi并产生一个火花;
(11)end for;
(12)依据映射规则对火花进行映射;
(13)评估火花的适应度值;
(14)end while。
4 实验与仿真
为验证改进烟花算法的有效性和实用性,首先利用MATLAB软件设计出相应的算法程序,接着利用已有的铣削加工数据集对算法进行测试优化,最后通过实际铣削加工进行进一步的论证。铣削工件为一种摇臂薄壁件,加工模型如图4所示。
零件的材料为0Cr17Ni4Cu4Nb,此材料属于一种马氏体不锈钢。它既具有较高的强度、硬度,又具有良好的塑韧性、耐蚀性和加工性,零件的硬度为29~38HRC。摇臂零件近似于反“Z”型结构,零件的上部悬出结构厚度仅为0.8 mm,悬出长度接近40 mm,此部分的结构刚性极差,非常容易在切削力的作用下发生变形,故加工时对定位精度及切削力控制要求很高。
刀具结构参数为:刀具直径10 mm、刀刃齿数为4、刀具前角5°、刀具后角15°、刃宽2 mm。
加工时选择不对称铣削方式,走刀路线为沿零件对称线方向的两次平行运动,此工序采用专用夹具。
算法优化中的铣削数据参考实际生产加工过程中摇臂薄壁件的铣削参数范围,如表1所示。
表1 铣削参数范围
根据以往的该薄壁件现场铣削加工经验,选取60组铣削参数进行铣削加工实验并获得工件薄壁部分Z方向上的变形量,部分铣削参数和变形量如表2所示。
表2 部分样本数据
选取其中的50组数据来训练优化BP神经网络,剩余10组数据用来测试优化后的IFWA-BP算法的准确性。不同条件下工件变形量的模拟值和实测值以及两者之间的误差如表3所示。
表3 测试数据
由上表数据可以看出:IFWA-BP算法优化后的预测加工变形量与实际加工变形量较为吻合,能够在可接受误差范围内预测薄壁件的铣削加工变形状况。为验证IFWA-BP 算法较其他典型智能优化算法具有更好的预测性,将以上数据同样应用于GA-BP算法和PSO-BP算法。令GA-BP算法中的交叉概率PC=0.95、变异概率Pm=0.06 ,PSO-BP算法中的学习因子c1=c2=1.5、惯性权重ω=1,其余参数的设置与IFWA-BP算法相同。各算法对薄壁件变形量预测的相对误差如图 5 所示。
从图5可以看出, IFWA-BP算法的平均预测误差明显低于GA-BP算法的预测结果。虽然PSO-BP算法的平均预测误差与IFWA-BP算法比较接近,但在样本1、4、5、6、7处,IFWA-BP算法的预测误差显然比PSO-BP算法的预测误差小。因此,IFWA-BP算法相对于PSO-BP算法和GA-BP算法的预测优化结果更为精确。
接下来,利用测试好的IFWA-BP算法,以机床、夹具、刀具等自身属性为约束,薄壁部分变形量最小为优化目标,将铣削四要素作为求解变量进行优化。
得到优化后的铣削参数:主轴转速为3 460 r/min、背吃刀量为0.043 3 mm、铣削宽度5.769 mm、每齿进给量为0.238 mm/z。
为进一步证明IFWA-BP算法优化结果的正确,在VMC850机床上进行薄壁件铣削加工实验验证,如图6所示。
刀具、工件的选择均与上文一致,选用优化后的铣削参数:主轴转速为3 460 r/min、背吃刀量为0.043 3 mm、铣削宽度为5.769 mm、每齿进给量为0.238 mm/z,加工完成后的工件变形量由海克斯康三坐标测量机获取,如图7所示。
通过IFWA-BP算法的优化计算,得到比较优异的铣削参数组合并进行铣削加工实验,从实验结果可以看出优化后的最大变形量为0.013 1 mm,相比之前降低了0.024 3 mm,进而得出结论:由IFWA-BP算法优化后的铣削参数可以有效地减小薄壁件加工过程的变形量。
5 结语
为解决薄壁件在铣削加工过程中的变形问题,本文在原有烟花算法的基础上进行改进并对BP神经网络进行权值阈值优化,通过BP神经网络训练优化得到薄壁件加工过程的铣削参数。利用优化后的铣削参数进行现场实验加工,相比于未优化前的薄壁件变形量降低了0.024 3 mm,大幅度提高了薄壁件铣削加工的精度,同时也证明了IFWA-BP算法相对其他算法的优势,为控制薄壁件铣削加工变形提供了一种可行的参考方法。