基于多种群风驱动优化算法的PID 参数整定*

2021-02-25 06:27任久斌曹中清
计算机与数字工程 2021年1期
关键词:适应度种群控制器

任久斌 曹中清

(西南交通大学机械工程学院 成都 610031)

1 引言

PID 控制器具有结构简单、实现方便、鲁棒性强、可靠性高等特点[1~2],而且人们对它的控制原理和物理意义相当熟悉,使得其在工业控制领域得到广泛使用。PID 控制器的性能取决于比例、积分、微分三个参数,因此,整定和优化PID 控制器参数具有重要的意义。相对于传统费时费力的人工调整方法,目前出现了大量的基于自然启发的智能优化算法,如遗传算法(GA)、粒子群算法(PSO)、风驱动优化算法(WDO)等[3~8]。这些智能优化算法原理简单、灵活性强,能够解决大规模、非线性组合优化问题,但是当面对实际领域中存在的多种多样的复杂优化问题时,也存在一定的不足,如算法收敛速度慢、收敛精度低,当种群规模较小时,容易陷入局部最优解,造成早熟收敛。针对PID 控制器参数优化问题,陈彬彬等[7]提出基于风驱动优化算法的方法,在收敛速度和精度上比遗传算法和粒子群优化算法要好。

针对早熟收敛的问题,本文利用多个种群并行搜索的策略,提出一种基于多种群的风驱动优化算法(Multi-population Wind Driven Optimization,MW-DO)。通过种群之间的迁移操作保证群体之间的相互联系,实现多个种群的协同进化,在进化的每一代通过选择操作保存各个种群的历史最优个体到精华种群中,同时将精华种群的最优个体保持代数作为衡量算法停止的依据。通过Matlab 对PID控制器参数优化过程进行仿真,并与标准的风驱动优化算法作比较,验证了该算法的有效性和优越性。

2 风驱动优化算法

风驱动优化算法(Wind Driven Optimization,WDO)是由Bayraktar 在2013 提出的一种基于种群的启发式迭代搜索算法[9],该算法在求解全局优化问题时具有简单易行和高效的特点。在地球表面,由于不同地区温度差异造成了空气密度的不同,进而导致大气压强的变化。气压的水平差异导致空气以一定的速度从高压区域流向低压区域,以此来达到气压平衡的目的。

假设大气中有一单位体积的空气微团,其简化后的牛顿第二运动定律和理想气体状态方程为

式中:ρ为气体的密度,a为空气微团的加速度,其大小为a= ΔuΔt,Δu为 Δt时间内速度的变化,Fi为作用在空气微团上的力,P为大气压强,R为理想气体常数,T为气体温度。

由空气动力学知识可知,式(1)中的Fi主要包含了四种作用力[10~11],使得空气微团以一定的速度向特定方向移动或者使其偏离现有路径。这四种力分别是:气压梯度力(FPG)、摩擦力(FF)、重力(FG)和科里奥利力(FC)。气压梯度力是空气微团运动的主要原因,控制空气微团从高压区域向低压区域运动。摩擦力是由于空气微团之间相互作用产生的,其方向与气压梯度力的方向相反。重力是空气微团受地球的万有引力作用引起的,其方向指向地心。科里奥利力是由于地球的旋转而产生的,可以表示为地球旋转角速度与空气微团速度的矢量积。这四个力的简化方程表示为

式中:-∇P为气压梯度,负号表示的是梯度下降方向,δV为空气微团的体积,这里假设δV=1,α为摩擦系数,u为空气微团的运动速度,g为重力加速度,Ω为地球的旋转角速度。令Δt=1,将式(3)~(6)代入式(1)后得:

将式(2)代入式(7)后得:

式中:Pcur为空气微团当前所在的位置,速度的变化Δu=unew-ucur,其中ucur表示空气微团当前迭代的速度,unew表示空气微团下一次迭代的速度。将式(8)左右两边同时除以Pcur RT得:

在气压梯度力FPG的作用下,空气微团从当前位置xcur向气压减小的位置xopt移动,可将气压梯度力简化表示为∇P= |Popt-Pcur|(xopt-xcur)。其中,Popt表示到目前为止找到的最优压力值,Pcur表示当前位置的压力值。将重力加速度矢量g改写为g= |g|(0 -xcur),代入到式(9)中得:

科里奥利力可以用同一空气微团其他任一维度的速度对当前维度的速度影响[12]简化其他系数可以合并到单独的一项c,即c=-2|Ω|RT,则式(10)可以改写为

为了避免当压力值较高的时候导致空气微团的速度变得太大,从而降低WDO算法的性能,所以实际使用的是基于压力值排序的方法[13],式(11)可以改写为

式中:i代表所有空气微团压力值的升序排列次序,对于最优压力值的排序为1。根据式(12)可以得出空气微团的位置更新方程为

式中:xcur为空气微团的当前位置,xnew为空气微团下一次迭代的位置。为了简单起见,假设Δt=1。

对与一般的优化问题,可以让一组空气微团以随机速度从搜索空间中的随机位置开始,在每次迭代过程中,利用式(12)和(13)调整每个空气微团的速度和位置,所有空气微团逐步向最优压力值(即适应度值)移动,直到满足最大迭代次数为止。

3 多种群风驱动优化算法

如同遗传算法和粒子群算法一样,风驱动优化算法也是一种基于群体的智能优化算法,种群的多样性和早熟收敛问题息息相关[14~15]。标准的风驱动优化算法只有一个种群,当种群的规模较小时,若进化初期适应度较高的个体繁殖过快,会造成所有个体趋于同一状态,使得算法的最终结果容易陷入局部最优。如果扩大种群的规模,势必又会造成算法计算量的增加。为此,本文提出多种群竞争的方法,以改善标准风驱动优化算法的性能。

多种群风驱动优化算法(MWDO)的结构示意图如图1所示。

图1 MWDO算法的结构示意图

多种群风驱动优化算法在标准风驱动优化算法的基础上引入了多个种群同时进行优化搜索,不同的种群彼此间相互独立,仅通过迁移操作进行联系。在进化的每一代,迁移操作是将源种群中出现的最优个体引入到目标种群中,替换目标种群中的最差个体,实现种群之间的信息交换。在完成所有种群间的迁移操作后,通过选择操作选择出各个种群的最优个体,并分别与精华种群中它们各自的历史最优值作比较,然后更新精华种群,作为下一代选择操作时各个种群的历史最优。此外,选择精华种群中最优个体保持不变的代数作为终止判据,与标准风驱动优化算法以最大迭代次数作为终止判据相比,可以有效地避免因最大进化代数选择不当而造成的问题未收敛到全局最优。

4 基于MWDO算法的PID参数优化

基于MWDO的PID参数整定原理如图2所示。

图2 基于MWDO的PID参数整定原理

PID 控制器的优化问题就是确定一组合适的参数Kp、Ki、Kd,使得性能指标(即适应度)达到最优,这里选择的性能指标是ITAE指标,其定义为

用于PID参数整定的MWDO算法流程如下。

1)随机初始化K个种群中所有空气微团的位置和速度,每个种群大小为M×N;初始化精华种群,其大小为K×N;初始化精华种群的最优个体保持不变的最大代数Maxgen,将当前保持不变的代数gen初始化为0。

2)根据式(14)计算所有种群中每个空气微团的适应度值。

3)对每个种群中所有空气微团进行适应度值升序排序。

4)根据适应度值对所有种群进行迁移操作。

5)对迁移操作后的所有种群进行选择操作,更新精华种群。

6)记录精华种群的最优个体,若最优个体的适应度值发生改变,则将gen置零;否则,gen=gen+1。

7)若gen小于 Maxgen,则根据式(12)和(13)对所有种群中的空气微团进行速度和位置更新,并返回步骤2);否则,终止算法并输出结果。

5 实验仿真与结果分析

5.1 实验对象与仿真参数设置

为了验证MWDO 算法对PID 控制器参数整定性能的影响,选择以下不稳定系统作为本次实验的被控对象。

在 Matlab 的 Simulink 环境[16]下建立的模型如图3所示。

分别采用 GA、PSO、WDO 和 MWDO 算法对以上系统进行仿真,设置的种群规模均为M=40,三个待优化参数Kp、Ki、Kd的范围均为[0,300],维度为N=3。GA算法的参数设置:最大遗传代数为100,交叉概率为px=0.7,变异概率为pm= 0.01,代沟为Ggap=0.95。PSO算法的参数设置为:最大进化代数为100,学习因子c1=c2=2。WDO 算法的参数设置:RT=1.5,g=0.65,α=0.85,c=3.6,最大进化代数为100。MWDO 算法的参数设置:RT=1.5 ,g=0.65 ,α=0.85 ,c=3.6 ,种群数为K=5 ,精华种群最优个体的最大保持代数为Maxgen=50。WDO 算法和MWDO 算法的空气微团在搜索时的最大速度为1。输入信号采用单位阶跃信号,采样时间间隔设置为0.001s,仿真时间为10s。

5.2 仿真结果与分析

利用 GA、PSO、WDO 和 MWDO 算法分别进行PID 参数整定,得到它们各自的适应度值变化过程曲线如图4 所示,对优化后的PID 控制器输入单位阶跃信号,得到它们的阶跃响应曲线如图5所示。

从图4 中可以看出,WDO 算法比GA 算法和PSO 算法的收敛速度快、收敛精度高,但仅仅只是收敛到局部最优解,而改进后的MWDO 算法在收敛速度和收敛精度上改善程度更大,并且能够收敛到全局最优解,大约只需要进化54 代就能够使得ITAE 性能指标达到0.61655。从图5 中可以看出,经由MWDO算法优化后的PID控制器,其阶跃响应的超调量得到明显的抑制,调整时间较其他三种算法更短,可见,MWDO 算法优化后的PID 控制器对控制对象具有更好的控制效果。

图5 阶跃响应曲线

6 结语

WDO 算法是一种新兴的基于自然启发的群智能优化算法,该算法原理简单、全局搜索能力强,但存在局部搜索能力弱、容易陷入局部最优的缺点。为了改善标准WDO 算法的性能,本文提出了一种MWDO 算法。该算法在标准风驱动优化算法的基础上,利用多个种群同时对解空间进行协同搜索,兼顾了算法全局搜索和局部搜索能力的均衡,对未成熟收敛的抑制具有明显的效果。通过将其应用到PID 控制器的参数整定当中,并与GA、PSO、WDO 算法作比较。仿真结果表明,MWDO 算法具有更好的控制精度和收敛速度,由MWDO 设计出的最优PID 控制器Kp、Ki、Kd选择合理,验证了改进算法的有效性和优越性。

猜你喜欢
适应度种群控制器
改进的自适应复制、交叉和突变遗传算法
山西省发现刺五加种群分布
三转子式比例控制器设计与内泄漏分析
南京溧水电子3款控制器产品
基于NFV的分布式SDN控制器节能机制
由种群增长率反向分析种群数量的变化
启发式搜索算法进行乐曲编辑的基本原理分析
基于人群搜索算法的上市公司的Z—Score模型财务预警研究
智能液位控制器在排水系统中的应用
种群增长率与增长速率的区别