APP下载

基于改进粒子群算法的柴油机振动控制技术研究

2019-01-22胡甫才薛厚强魏志威

小型内燃机与车辆技术 2018年6期
关键词:常数适应度柴油机

胡甫才 薛厚强 魏志威 徐 阳 高 硕

(武汉理工大学能源与动力工程学院 湖北 武汉 430063)

引言

柴油机作为机械设备的主要动力源,在众多工程领域中占有突出的地位。伴随着对柴油机工作要求的不断提高,产生的有害振动也愈加严重,故而采取有效的振动控制措施是十分有必要的。柴油机的工况非常复杂,其控制系统是具有时滞特性的非线性系统,并且对外界干扰敏感,使得建立其精确模型尤为困难。因此,此类振动控制系统的优化设计成为近年来国内外学者研究的热点和难点。

时浩浩等[1]提出了一种模糊PID控制方法,对转子系统的非线性振动进行控制,起到了较好的控制效果。Gonzalez-vazquez等人[2]在经典的PID控制方法基础上提出了非线性PID控制方法并实现了四旋翼飞行器的姿态控制和位置控制。Altintas等人[3]采用遗传算法来优化磁悬浮系统控制器的参数,从而获得分数阶PID控制器(FOPID)和整数阶PID控制器(IOPID),通过分析验证了采用FOPID控制使系统获得更好的灵活性及动态响应。任伟健等[4]采用粒子群算法优化神经网络对抽油机进行故障诊断,得到了良好的效果。

类似于以上的控制策略都取得了较好的效果,基于此,本文针对柴油机传统的PID振动控制器存在时滞性、人工整定参数困难的问题。借鉴文献4,引入了粒子群算法对控制器的参数进行寻优,在此基础上对于粒子群算法易陷入局部最优的问题加入动态加速常数的保优思想进行改进。仿真结果证明了算法对振动控制的有效性及优越性。

1 系统分析

1.1 柴油机振动模型建立

柴油机运行过程中产生振动的原因主要是:当激励源为柴油机本身时,其产生的激振力将会由钢架传递至机座;当激励源为机座时,其产生的激振力将会由钢架传递至柴油机,以上两种激励均会使柴油机产生振动[5]。为了研究柴油机振动体系,在此建立其振动控制系统数学模型,其结构简图如图1所示。其中,m1表示中间质量、m2表示上层质量,x1表示中间质量的位移、x2表示上层质量的位移,k1、k2分别表示下层和上层减振器弹簧系数,c1、c2分别表示下层、上层减振器的阻尼系数,Fg表示柴油机工作时竖直方向产生的激励力,f表示控制器作用下阻尼器产生的控制力。

图1 振动系统简化模型

文章只考虑垂直方向的振动,选取同一方向的坐标方向与位移方向,向下为正,则其振动控制系统的动力学方程如下:

1.2 控制器模型建立[6]

PID控制器实现对被控对象控制的本质是以误差为对象,即对其进行比例、积分以及微分3种控制的线性组合,其传递函数模型为:

式中:Kp为比例增益;Ki为积分增益;Kd为微分增益;s为拉氏算子[5]。

假设初始状态为零,对(1)式进行拉氏变换,并设 s=jω,得到:

设控制系统的输出为F0=k1x1+c1x˙1,其拉氏变换为(k1+c1s)X1,同时设定中间变量为:

令 f=0,得:

令 F=0,得:

2 基于粒子群算法的控制器参数化设计

基于粒子群算法的PID控制系统的控制器主要由两大部分所构成,即PID控制器和PSO,采用粒子群算法根据系统的运行状态对Kp、Ki、Kd3个参数进行在线整定,并且PID控制器直接对被控对象进行闭环控制。通过实时寻优,以期达到某种性能指标的最优化。

基于粒子群算法,对振动控制器进行参数动态寻优的基本思想为:首先由算法产生初始化的或更新后的粒子群,使用粒子对振动控制系统中PID控制器的 3 个参数(Kp、Ki、Kd)依次进行赋值,在Matlab/Simulink平台对搭建好的控制系统仿真程序模型进行计算,计算后将会获得该组参数对应的性能指标,此性能指标将会作为该粒子的适应值传递到粒子群算法当中,最终判断是否可以退出算法[7],基本流程如图2所示。

2.1 基本PSO算法

图2 计算流程

假设在D维搜索空间中,有M个粒子组成一个群体,第i个粒子在D维空间中的位置为Xi=(xi1,xi2,、、、xiD),第 i个粒子的当前飞行速度为 Vi=(vi1,vi2,、、、viD),粒子 i所经历的最好位置 Pi=(pi1,pi2,、、、piD),当前群体所搜索到的最好点 Pg=(pg1,pg2,、、、pgD),即种群的全局历史最优位置,则在每次迭代中,其第d维(D≤d≤1)速度、位置更新根据下列方程变化:

式中:ω代表惯性权重,ωmax及ωmin分别为ω的最大值和最小值;t代表目前的迭代步数;tmax为迭代最大步数;d=1,2、、、,D;c1、c2代表加速常数,一般设为常数2;r1、r2代表均匀分布随机数,二者取值范围为[0,1];由于没有实际的机制来控制粒子的速度,因此粒子的位置限制在[-Xmax,Xmax]内,粒子寻优的速度范围规定在 [-Vmax,Vmax],同时可设定 Vmax=k·Xmax,0.1≤k≤1[4],来降低粒子飞离寻优空间的概率。

2.2 改进PSO算法(CPSO)

2.2.1 算法基本思想

由式(7)可以发现,在基本PSO算法中,粒子寻优性能与加速常数c1及c2有一定的关系,二者分别代表了自身和全局极值推进的加速权值,c1和c2反映的是粒子群之间的信息交流。它决定了个体和群体经验对其运动路径的影响,c1和c2取值大小对寻优的影响可总结如下:

1)c1和c2均设定为零,粒子飞行速度会保持不变,导致无法搜索整个空间;

2)c1和c2均设为较小值,会导致粒子飞行在远离目标区域且在该区域发生振荡;

3)c1和c2均设为较大值,显然粒子飞向目标区域的速度加快,然而还有可能导致粒子飞离目标区域;

4)如果式中只包含第一部分,即c2=0,会造成各粒子之间缺乏信息交流,没有合作关系,即没有交互,进而就会陷入局部最小值,得到最优解概率极小,使得性能变差;

5)如果c1=0,粒子会失去认知能力,造成个体之间没有交互,虽然使得粒子群收敛速度很快,但是在一些复杂情况下很易陷入局部最优,难以寻到最优解。

通常来说,利用粒子群算法解决工程优化问题时,目标是在初期让粒子群中的个体能够在整个搜索空间进行寻优,来避免易陷入局部最优的问题;在后期的目标是对粒子群算法寻优的收敛精度以及速度均有提高,以便快速、有效地寻找到全局最优解[4]。但是,采用传统的粒子群算法解决问题时,通常未按照不同的进化时期来确定加速常数c1及c2的取值。基于此,可以在粒子群进化过程中,引入动态的加速系数c1和c2的值来克服传统方法的缺点。

2.2.2 算法实现

鉴于以上分析,在此引入动态的加速常数优化基本粒子群算法,由此变为一种新的参数自适应策略。综合上述探讨,将认知因子最大初始值设定为2同时将c1和c2构造成函数形式,即分别为单调递减函数和单调递增函数,其表达式如式(10)、(11)所示。

由此得到粒子群速度更新公式为:

这种改进使得粒子群在进化初期c1取得较大值、c2取得较小值这样使得粒子可以在整个搜索空间移动,相反地在优化的后期,c1取得较小值、c2取得较大值这样可以使趋于最优解的收敛率得到增大[4]。

2.3 算法在函数测试

基于Matlab平台,选取几类经典的测试函数对基本PSO算法及引入动态加速常数后的CPSO算法进行对比仿真测试,旨在验证改进算法的正确性及优越性。在仿真测试中,常见的函数主要有Geriewank、Rosenbrock、Rastrigrin 以及函数 Schaffer,其自变量为二维时的图形分别如图 3a)、b)、c)、d)所示。

在此可以看出,Geriewank函数最难得到全局最优解,达到局部极小点;Schaffer在以全局极小点为圆心、半径约为3.14的区域内存在无限多的局部极小点,函数震荡强烈,也比较难得到全局最优解;Rastrigrin函数为一个多峰的函数,其局部最优解可以有非常多;Rosenbrock函数寻最优亦困难,这是由于它为非凸的病态函数,本文选择Schaffer函数,Geriewank函数对改进的粒子群算法进行性能测试,其参数设置如表1所示[8],测试结果如图4所示。

图3 测试函数分布图

图4 算法性能测试对比

表1 不同粒子群算法参数设置表

采用Schaffe函数测试结果显示出PSO算法及CPSO算法均可以搜索到最优解并且寻优所用时间也是一致的。然而算法在Griewank函数中测试,若要寻找到最优解尤为困难,这是由于Griewank函数强烈振荡的特点造成的,从测试结果也看到基本PSO算法最终寻优结果为2.5,而改进后CPSO算法最终寻找到1.5最优结果,也容易看出CPSO算法较PSO算法速度更快。因此,有理由相信,加入动态加速常数对粒子群算法进行改进是合理的,且改进的粒子群算法在寻优过程中的搜索速度更快、收敛精度及稳定性更高,确实解决了粒子群算法易陷入局部最优的问题。

3 CPSO算法对控制系统的实现

鉴于以上改进的粒子群算法(CPSO)具有动态的加速常数,求解性能优越,为此引入CPSO算法对PID的3个参数进行动态寻优。

1)选择目标函数

利用改进粒子群算法对PID的3个参数优化时,需构建一目标适应度函数,从而解决寻优问题。本文选择具有代表性的ITAE函数作为目标函数即为适应度函数,实质上对时间误差的绝对值进行积分运算,它能较好地体现工程实用性,算法优化参数过程中需使适应度函数f(t)有最小值,在此改变为求ITAE的极大值,即把ITAE的倒数视为适应度函数,计算方法如公式(12)[9]所示:

2)寻优实现

在寻优过程中,主要分6步来完成,首先是把种群之内的各个粒子进行随机初始化,其中每个粒子都包含与所需空间维度一致的变量数目;第二步是计算第一步已初始化粒子群的适应度,并对群体信息进行统计;第三步对目前粒子的适应度值以及自身的最优值作出比较,以确定出粒子的当前最优值及在空间中的位置;第四步是对粒子的适应度值以及种群的最优值作出比较,以确定目前粒子的适应度值及粒子矩阵的下标;第五步是按照粒子群更新公式以更新其位移方向和步长来产生新种群,再进行寻优结束条件的判别,即:满足寻优条件将进入下一步,否则将返回第一步;最后为寻优结束并将最终寻优结果输出[9]。

4 仿真试验

通过分析,基于Matlab/Simulink搭建系统的仿真程序模型[10],旨在验证基于此种改进粒子群算法整定PID参数进而对柴油机振动控制的正确性以及优越性,其加速度响应对比结果如图5所示。

图5 仿真对比

对比图5可知:无控制、传统控制及优化控制状态的峰值响应大约分别为:1.5 m/s2、1.0 m/s2、0.6 m/s2。由此可见传统控制及优化控制均能有效地对振动进行控制,而优化控制效果明显优于传统控制。

5 结论

本文首先研究了柴油机振动控制模型,为了得到最优控制效果,针对系统存在大延迟、参数多,传统的人工整定控制器参数耗时长且难以达到最优的问题,采用基于粒子群算法的PID控制器参数寻优方法,同时为了解决粒子群算法易陷入局部最优的问题,加入动态加速常数进行操作,对适应值不好的粒子进行保优,以提高粒子的多样性,加快寻优速度。使用Simulink对整个优化过程进行了仿真。结果表明,传统的PSO算法及CPSO在柴油机振动控制中均能够有效解决控制器人工参数整定困难的问题,且算法简单,调参时间短,易于实现。而控制器经过改进的CPSO算法优化后具有更好的动态特性和稳态特性,寻优速度更快,对柴油机振动控制效果更加明显,具有较大的实际应用价值。

猜你喜欢

常数适应度柴油机
改进的自适应复制、交叉和突变遗传算法
关于Landau常数和Euler-Mascheroni常数的渐近展开式以及Stirling级数的系数
美国FCA 推出第三代EcoDie s e l V6 柴油机
谭旭光:柴油机50年内仍大有可为
一种基于改进适应度的多机器人协作策略
万有引力常数的测量
基于空调导风板成型工艺的Kriging模型适应度研究
现代柴油机的技术发展趋势
新型2.0L高效柴油机的开发
紫外分光光度法测定曲札芪苷的解离常数