APP下载

动态步长FOA的PID参数整定方法研究

2022-10-28朱元培

自动化仪表 2022年10期
关键词:果蝇步长适应度

李 猛,王 垚,刘 义,朱元培

(中国平煤神马集团尼龙科技有限公司,河南 平顶山 467000)

0 引言

在工业过程控制中, 比例积分微分(proportional integral differential,PID)控制被广泛应用于各个领域。PID参数整定具有非常重要的作用,关乎整个生产的安全性和产品质量的稳定性。关于PID控制的参数整定和自适应一直是重要的研究方向。传统的PID控制器参数整定需要丰富的经验和熟练的技巧,而且无法利用科学的性能准则,不易保证控制效果[1]。随着人工智能技术的发展,针对PID参数整定逐步发展出一类新型智能优化算法,如蚁群算法、遗传算法、粒子群算法等将自适应控制、最优控制和预测控制等智能策略引入传统PID控制,得到许多学者和专家的广泛关注[2]。果蝇优化算法(fruit fly optimization algorithm,FOA)相比于粒子群算法、蚁群算法和遗传算法等智能算法,具有参数少、结构简单且易于实现等优点。在解决实际的工业过程控制问题上,FOA具有广阔的应用前景。 由于传统FOA具有早熟和易陷入局部极值等不足,本文将Logistic(t)的变换函数lgt(t)引入FOA中,对该算法改进并用于PID参数整定。仿真结果表明,改进后的算法具有合理性及有效性。

1 PID控制参数的设计

PID控制器包括比例环节、积分环节和微分环节。PID控制系统如图1所示。

图1 PID控制系统示意图

图1中,ΔKp、ΔKi、ΔKd分别为比例、积分与微分量的加权。

PID控制系统通过输入值与输出值的偏差来调节这3个参数,从而达到控制的目的。其控制传递函数可表示为[3]:

(1)

式中:Kp为比例系数;Ki为积分时间常数;Kd为微分时间常数。

各系数的取值范围为0

采用FOA[4]对PID控制器参数整定,需要适应度函数综合评价各项性能指标,选取系统性能评价函数:

(2)

式中:w1和w2为权值常数,取值范围为[0,1];w3为权值,且w3远大于w1,一般情况下w1=0.999、w2=0.001、w3=100;e(t)为系统误差,根据迭代过程的动态特性,取其绝对值;u(t)为控制器输出信号,在适应度函数中引入控制值的目的是防止控制振幅过大;w3|e(t)|被加入目标函数以防止超调[5]。

控制器通过加权可以计算出控制信号,驱动被控对象。一般而言,初始值是在实际应用的取值范围内随机生成的。选取被控对象为:

(3)

从优化PID控制器参数整定的角度来看,需通过某种算法求出ΔKp、ΔKi、ΔKd这3个参数中最合理的一组值,使得系统表现为最优的性能,输出良好的阶跃响应曲线。

2 FOA及其改进

2.1 基本FOA

FOA是1种仿生学全局优化演进算法,由潘文超于2011年提出。FOA是利用果蝇在觅食过程中,首先通过嗅觉器官发现食物,然后飞向该区域,再通过视觉寻找食物和伙伴聚集的位置,进而确定最终的食物位置[6]。该算法具有寻优能力强、收敛速度快、可移植性好和可调参数少等优势。FOA的具体内容主要由随机初始化、味道浓度判定和迭代寻优这3部分组成[7]。

基本FOA实现流程如下。

①初始化算法的相关参数。相关参数包括种群规模(即果蝇个体的数量)Spop、最大迭代次数Maxgen以及随机初始化果蝇群体中心位置Xaxis、Yaxis。

②果蝇个体在种群中心位置的基础上随机选择方向和距离进行搜索。其中,LValue为果蝇搜索距离和方向的随机值。

(4)

③计算个体到原点的距离Dj,并将距离的倒数设为个体味道浓度判定值Tj。

(5)

(6)

④将Tj代入适应度函数,即可求解出果蝇个体味道浓度值Sj。

Sj=Function(Tj)

(7)

⑤找到果蝇群体在本次迭代中味道浓度最优个体的位置,并记录该个体的浓度值和坐标值(这里以最差个体浓度值为例)。

[bsmell,bindex]=min(Sj)

(8)

⑥记录每次迭代中最佳个体位置,并作为新的果蝇群体位置。其余个体向最佳个体所在位置聚集,并更新最优的浓度值。

(9)

⑦进入迭代寻优,重复执行步骤②~步骤⑤,并判断味道浓度是否优于前一迭代味道浓度。若是,则执行步骤⑥,直至达到最大迭代次数Maxgen。

2.2 动态步长果蝇算法

根据FOA寻优过程的基本步骤,每次迭代完成后保留最优浓度值和相应坐标作为新的迭代起点。种群中的其他果蝇个体利用视觉向该位置聚集,而后按照搜索步长LValue进行位置的更新[8]。果蝇种群在新位置附近寻优时没有系统函数对飞行距离和方向进行控制[9]。若步长设置较大,在搜索前期能够加快全局勘探速率,有利于全局寻优。但在搜索后期,随着搜索范围的减小,果蝇十分接近目标源。这时,太大的步长使局部寻优性能下降,需要减少步长进行局部搜索[10]。步长设置太小在搜索前期会使搜索效率下降。因此,固定步长搜索很难平衡全局寻优和局部寻优的精度和收敛速率。

动态步长果蝇优化算法(dynamic step fruit fly optimization algorithm,DSFOA)对PID参数整定的方法,是针对固定步长FOA存在的不足而提出的。DSFOA在搜索初期,先进行全局搜索,在搜索后期随着迭代次数的增加,搜索范围逐步减小,进行局部搜索。这样可以根据寻优的不同阶段,使搜索步长随迭代次数作自适应调整[11]。与FOA相比,DSFOA的改进主要由两部分构成[8]。

①确定搜寻动态步长。该步骤是通过将Logistic(t)变换后的函数lgt(t)引入新算法实现的。

(10)

将果蝇搜寻方向和距离的随机值LValue修正为动态变化的,则:

(11)

式中:Gen为当前迭代次数;Maxgen为最大迭代次数。

L′Value可视化结果如图2所示。

图2 L′Value可视化结果

图2中,L′Value呈倒S型。由此可知,迭代前期,以较大的步长进行全局性搜索,加快收敛速度;迭代后期,以较小的步长进行局部性的搜索,从而提高搜索的精度,使得步长可以自适应变化。

②种群个体坐标更新。种群个体按照式(12)更新,即用式(12)取代式(4)。

(12)

3 基于DSFOA的PID参数整定步骤

基于DSFOA的PID整定流程如图3所示。

图3 基于DSFOA的PID整定流程图

①初始化参数包括群体规模Spop、最大迭代数Maxgen和随机初始化果蝇群体位置Xaxis。其中,每个果蝇的位置由比例、积分、微分这3个控制参数组成Xaxis=[KpKiKd]。在实际的工程应用中,由于果蝇种群的多样性,设定Kp、Ki、Kd的初始化位置坐标是在相应取值范围内随机生成的[12]。

由于Kp的取值范围为[0,100],Ki、Kd的取值范围为[0,1],所以设定搜索半径ωp=1、ωi=ωd=0.1,rand()服从均匀分布,其值在[0,1]之间。

③根据式(11),随着迭代次数的增加,保证搜索范围越来越小。

④通过目标函数J对解进行评价,并更新局部和全局最优解信息。

按式(9)记录并保留最佳味道浓度值bSmell与最优果蝇个体位置。

⑤进入迭代寻优,重复执行步骤②~步骤⑤。若本次迭代的最佳味道浓度值优于上次最佳味道浓度值,将更新、记录,并判断当前迭代次数是否大于最大迭代次数。

⑥通过执行程序,输出最优个体气味浓度适应值Sbest以及PID最优参数Xbest(Kp,Ki,Kd)。

4 仿真试验与结果分析

在MATLAB 2018a环境下选取二阶系统(3)作为控制对象进行仿真,设果蝇种群大小为30、最大迭代次数为100次,输入为阶跃响应信号rin(k)=1.0,采样时间间隔为0.001 s,对仿真结果进行比较。

系统阶跃响应如图4所示。

图4 系统阶跃响应

由图4可知,控制系统在输入单位阶跃信号的情况下,DSFOA-PID系统响应的上升时间和调整时间都优于FOA-PID,输出信号响应速度快,并且在控制过程中系统超调量非常小,有较明显的控制品质优势。

气味浓度适应度函数曲线如图5所示。

图5 气味浓度适应度函数曲线

图5中,J为根据果蝇群体每轮迭代选定的最优个体与食物源之间的距离,按一定算法得出的数据。由图5可知,根据lg(t)函数的动态特征,在寻优过程前期DSFOA较FOA搜索范围更广,产生误差较大,适应度函数值更大。随着迭代次数的增加,搜索范围迅速减小,适应度函数值相应快速收敛,优化速度超过FOA ,并且在FOA几乎早熟收敛时DSFOA仍在不停地寻优。这说明DSFOA对防止寻优过程容易过早陷入局部极值的情况具有一定的作用,优化精度优于FOA。

FOA的果蝇群体寻优路径如图6所示。

图6 FOA的果蝇群体寻优路径

DSFOA的果蝇群体寻优路径如图7所示。

图7 DSFOA的果蝇群体寻优路径

图6和图7中:Xaxis、Yaxis、Zaxis分别对应PID控制器的3个参数Kp、Ki、Kd;轨迹表示每次优化迭代计算出的最优解。随着迭代次数的增加,预测结果逐渐趋近于目标值。FOA果蝇群体的寻优路径比较分散。DSFOA的寻优路径更加集中,有更高的果蝇群体密集度,使解的空间更大,且解的质量得到进一步改善。这有利于平衡局部搜索策略的改良和空间探索能力的提升。由此表明,DSFOA相比于FOA探索质量更高,提升了全局搜索的能力,对解空间探索与开发的能力更强。

2种算法的PID优化参数对比如表1所示。

表1 2种算法的PID优化参数对比

由表1可知,采用DSFOA优化PID控制器,系统的上升时间、调节时间和稳态误差等参数指标均明显优于FOA,控制效果更好。由此表明,DSFOA具有更优的控制精度和鲁棒性。

5 结论

为了进一步提高FOA对PID参数整定的控制精度及寻优效率,本文引入Logistic变换后的lgt(t)函数,设计了1种DSFOA对PID参数整定方法,并以二阶系统为控制对象进行仿真。仿真结果表明,相比于基本FOA,基于DSFOA的PID控制器参数整定的超调量、调节时间、稳态误差和上升时间等指标更优,能够使系统有更好的响应性能和鲁棒性。因此,基于DSFOA的PID参数整定为工业控制提供了参考。后续研究将进一步优化该算法的求解性能,使其在实际的工程中得到更合理的应用。

猜你喜欢

果蝇步长适应度
改进的自适应复制、交叉和突变遗传算法
果蝇遇到危险时会心跳加速
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
2021年大樱桃园果蝇的发生与防控
一种改进的变步长LMS自适应滤波算法
基于变步长梯形求积法的Volterra积分方程数值解
董事长发开脱声明,无助消除步长困境
小果蝇助力治疗孤独症
果蝇杂交实验教学的改进策略
启发式搜索算法进行乐曲编辑的基本原理分析