APP下载

基于鸡群优化算法的PID参数优化∗

2020-07-13曹中清

计算机与数字工程 2020年5期
关键词:适应度鸡群公鸡

彭 健 曹中清

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

1 引言

PID控制器具有结构简单、鲁棒性好、适用性强的特点,是目前工业生产过程控制中运用极为广泛的控制策略之一[1]。PID参数是PID控制器中的核心,对于PID参数的整定,许多学者进行了各种各样的研究,其中基于群智能算法[2]的PID参数整定方法收到了良好效果。文献[3]提出了一种基于遗传算法的PID参数优化方法,与Z-N方法整定的PID参数相比,系统具有更小的振荡幅度和更短的振荡时间;文献[4]提出了一种改进遗传算法优化PID参数的方法,与基本的遗传算法相比,有更高的收敛速度和收敛精度;文献[5]提出了一种基于改进的粒子群算法的PID参数优化方法,解决了PSO易陷入局部最优的问题,提高了算法的寻优能力。文献[6]则对粒子群算法做了另一种改进,利用改进PSO优化后的PID控制器具备更强的抗干扰能力。文献[7]使用人群搜索方法整定PID参数,精度和收敛速度都优于PSO方法。文献[8]则对人群搜索方法做出改进,搜索速度和精度比传统人群搜索方法又有提高。得益于群智能算法的发展,利用群智能算法优化PID参数的方法层出不穷[9~12]。本文提出了一种基于鸡群优化算法的PID参数优化方法,通过Matlab仿真后的结果显示,与遗传算法和粒子群算法相比,本文方法具有更高的控制精度和更强的鲁棒性,体现了其优越性和有效性。

2 PID控制器

PID(Proportion-Integration-Differentiation)控制器由比例单元P、积分单元I和微分单元D构成,主要用于对基本线性和动态特性不随时间变化的系统进行控制。对于不同的控制过程需要选定相应的控制参数,否则控制器将达不到预期的效果[13]。

PID控制器的偏差e(t),由系统输入rin(t)和系统输出yout(t)构成:

PID控制器的输出为

在计算机系统中,需要对PID控制器输出进行离散化:

式中,Kp为比例系数Ti为积分时间常数,Td为微分时间常数,Ts为采样时间。PID控制器输出增量式的表达为

3 基于鸡群算法的PID控制器

3.1 鸡群优化算法

鸡群优化算法(Chicken Swarm Optimization,CSO)是Meng Xianbing等于2014年提出的一类基于群体智能的随机优化算法[14]。鸡群被分为公鸡、母鸡、小鸡三类角色,每只母鸡随机跟随一只公鸡,每只小鸡随机跟随一只母鸡,跟随关系保持数代,公鸡领导自己群体内的母鸡和小鸡与其他公鸡进行竞争,数代之后重新分配公鸡、母鸡、小鸡角色。经过数次迭代,选出最优的鸡群中最优的个体,即为问题的最优解。

鸡群优化算法流程具体如图1。

图1 鸡群算法流程图

3.2 算法的实现

3.2.1 参数的编码

设鸡群P中的个体的总数量为N,每个鸡群个体的位置矢量由PID控制器的比例、积分、微分三个控制参数构成,个体位置矢量的维数D=3,例如,第n只鸡的位置为ω3||e()

t)dt,e(t)<0。整个鸡群的位置可以用一下矩阵来表示:

e(t)<0参数的取值范围可以根据具体工程背景来决定,鸡群的初始位置在相应的取值范围内随机生成。

3.2.2 适应度函数的选取

为了获取满意的过渡过程动态特性,采用误差绝对值的时间积分性能指标作为最小目标函数。为了防止控制能量过大,引入控制输入平方项,目标函数为

其中,e(t)为系统输入rin(t)和系统输出yout(t)之间的误差值,u(t)为PID控制器的输出,将这一项加入适应度函数的目的是避免控制幅度过大,ω1和ω2为权重,取值范围为[0,1]。

另外,为了避免超调,在目标函数中引入了惩罚项,当出现超调时,误差值会被剧烈放大,出现超调时的目标函数为[15]

其中,ω3为惩罚项的权重,且ω3>>ω1,,一般情况下,权重取值ω1=0.999,ω2=0.001,ω3=100。

3.2.3 鸡群个体运动范围的确定

对于鸡群个体中位置矢量的每一个维度,鸡群优化算法只允许鸡群个体在给定的范围内运动。在迭代搜寻的过程中,如果鸡群个体的位置矢量超出给定的范围,那么这些超出范围的维度位置将被设置为边界值。鸡群个体遵循以下位置约束:

3.2.4 鸡群个体的更新

在鸡群个体更新的过程中,遵循以下规则:

1)在迭代开始时以及每经过若干次迭代时,将鸡群所有个体按照适应度从优到劣的顺序排列,适应度最优的若干个体设置为公鸡,其次的若干个体设置为母鸡,最差的若干个体设置为小鸡。

2)母鸡与公鸡的跟随关系、小鸡与母鸡的跟随关系都是随机的,跟随关系保持若干代不变。在对鸡群所有个体重新设置公鸡、母鸡、小鸡角色时,跟随关系会重新确立。

公鸡的更新公式为

式中,randn是一个服从均值为0,方差为σ2的正态分布的随机数。eps是一个很小的正数,为从所有公鸡中随机选取的个体的适应度值且k不等于i。为第t次迭代时,全局最优的个体。

母鸡的更新公式为

式中,rand为服从[0,1]上均匀分布的随机数,eps为一个非常小的正数,r为第i只母鸡跟随的公鸡,h为其他母鸡中随机抽取的个体,且h≠i。

小鸡的更新公式为

式中,m为第i只小鸡跟随的母鸡,r为母鸡m跟随的公鸡,C3和C4是服从[0,2]上均匀分布的随机数,ω为惯性权重系数,它按照以下公式计算[16]:

其中,t为当前迭代次数,maxgen为最大迭代次数。惯性权重ω可以影响鸡群算法的局部最优能力和全局最优能力。较大的ω有利于提高鸡群算法的全局搜索能力,而较小的ω会增强算法的局部搜索能力。

3.2.5 整定流程

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

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

用于PID参数整定的CSO算法流程如下:

1)初始化鸡群参数,随机产生一个N×D的鸡群矩阵。

2)根据公式计算鸡群个体的适应度值,记录最优个体位置和最优适应度值。

3)将鸡群按照适应度优劣进行排序,给鸡群分配公鸡、母鸡和小鸡的角色。

4)根据公式更新公鸡、母鸡和小鸡的位置并计算适应度,记录鸡群中最优个体位置和最优适应度值。

5)检查是否达到最大迭代次数,是则进入步骤6),否则结束迭代并输出最优个体和最优适应度值。

6)检查是否满足鸡群角色更新条件,是则返回步骤3),否则返回步骤4)。

4 仿真结果及分析

4.1 控制对象及仿真条件设置

在过程控制中,许多系统常常被近似为一阶或者是二阶的典型系统,本文选取二阶延迟系统作为控制对象,利用鸡群优化算法(CSO)对系统PID控制器参数进行整定,并将其与粒子群算法(PSO)、遗传算法(GA)、人群搜索算法(SOA)进行对比。选取的二阶系统的传递函数如下:

对以上系统进行仿真,设鸡群个体数量为60,公鸡母鸡和小鸡的比例分别为0.2、0.4、0.4,最大迭代次数为100代;Kp,Ki,Kd三个参数搜索范围为[0,100];输入信号为单位阶跃信号,采样时间间隔为0.001s,仿真时间为2s。四种算法各个参数的选取如表1所示。

表1 各算法参数设置

表1中,N为种群数量,w为惯性因子,wmax为权重上限,wmin为权重下限,Pc为染色体交叉互换概率,Pm为染色体突变概率,Umax为隶属度上限,Umin为隶属度下限。

4.2 仿真结果及分析

利用CSO、PSO、GA、SOA算法对选取的二阶系统进行仿真,得到各个算法的适应度函数变化曲线和系统阶跃响应输出曲线分别如图3和图4所示。

图3 适应度值变化曲线

从适应度值变化曲线可以看出,CSO算法的变化曲线下降速度和收敛代数都比另外三种算法要好,这说明CSO算法在收敛性上具有明显优势。

从系统阶跃响应曲线可以看出,CSO算法的超调量比另外三种算法小,调整时间也比另外三种算法短,这说明CSO算法优化的系统稳定性要更好。

图4 系统阶跃响应输出曲线

为了定量比较这几种算法的优劣,结合以上适应度函数曲线和系统阶跃响应曲线,选取了最小适应度值fmin、超调量Mp、调整时间ts(±2%)三项评价指标,并将几种算法优化得到的PID参数一并罗列比较,如表2所示。

表2 各算法整定的PID参数及评价指标数值

从适应度值可以看出,CSO算法的精度高于其他三种算法,从超调量和调整时间上可以看出,相比于另外三种算法,经过CSO优化的系统超调量更小,调整时间也更短,能够更快地进入稳定状态。综上所述,在PID参数整定上,CSO算法收敛速度更快,精度更高,其系统也具有更强的鲁棒性,CSO算法具有明显的优越性。

5 结语

针对PID参数的优化问题,本文提出了一种基于鸡群优化算法的PID参数优化方法,并以二阶时滞系统为例,使用Matlab软件对其进行仿真实验。仿真的结果表明,与基于GA、PSO和SOA的PID参数优化方法相比,本文方法具有更高的控制精度和更快的收敛速度,在优化PID参数的问题上具有优越性,可以为系统PID参数整定提供参考依据。可以预见,该方法在工业控制自动化方面会有不错的应用前景。

猜你喜欢

适应度鸡群公鸡
影响鸡群均匀度的原因及改进对策
改进的自适应复制、交叉和突变遗传算法
两只公鸡
画里有话
鸡场免疫失败的原因及注意事项
鸡群日常的观察与应对
启发式搜索算法进行乐曲编辑的基本原理分析
说话的公鸡
聪明的公鸡
基于人群搜索算法的上市公司的Z—Score模型财务预警研究