改进遗传算法在PID参数寻优中的研究

2017-06-22 14:41余荣川彭建盛
河池学院学报 2017年2期
关键词:蒙特卡洛适应度遗传算法

余荣川,彭建盛,2

(1.广西科技大学 电气与信息工程学院,广西 柳州 545006;2.河池学院 物理与机电工程学院,广西 宜州 546300)

改进遗传算法在PID参数寻优中的研究

余荣川1,彭建盛1,2

(1.广西科技大学 电气与信息工程学院,广西 柳州 545006;2.河池学院 物理与机电工程学院,广西 宜州 546300)

在研究自动控制器参数优化问题中,PID参数优化问题是很常见却又非常重要的问题。在传统设置PID参数方法中,多数是通过实验和经验的方法人为地进行优化,这种方法需要大量的时间且准确性有限。利用蒙特卡洛方法的思想建立一个随机群体,然后以分段选取变异概率为例,利用改进遗传算法对已知数学模型的PID参数进行优化,通过在Simulink环境下对传统遗传算法和改进遗传算法所得到的两组PID参数进行仿真,由仿真实验结果得出,改进遗传算法比传统遗传算法有更好的响应曲线,说明改进遗传算法达到了优化参数的目的。

蒙特卡洛方法;改进遗传算法;PID;优化

0 引言

作为一种经典的控制方法,PID(Proportion Integral Derivative)控制自诞生以来,经历了几十年的发展和完善,因其具有优越的控制性能,越来越多的企业和研究机构在系统控制过程中用到PID控制,例如过程控制和运动控制。PID控制器的三个控制(P:比例单元,I:积分单元,D:和微分单元)在有的系统控制中并不一定全都需要,可能是其中的一个或者两个单元被用到,对于这三个单元的参数整定将直接关系到系统的控制性能。经过数十年的发展与积累,前人已经总结出一些关于PID参数的优方法,常见的主要有间接寻优法、爬山法、梯度法、Ziegler-Nichols法等[1]。随着智能控制的兴起与发展,越来越多的智能算法被挖掘出来并应用到系统控制中去,例如:神经PID控制、模糊PID控制、专家PID控制以及基于遗传算法的PID参数整定的方法等。

遗传算法是一种基于优胜劣汰、适者生存的生物进化过程的算法,通过数学来模拟自然进化过程然后搜索最优解的方法[2]16-19。在生产实践应用中表现为,在所有的解决方案中通过搜索寻找出最符合所针对问题的解决方法。本文是在已知的电机数学模型的基础上通过改进遗传算法对PID控制参数进行寻优,得出一组优化后的参数。简单的系统制控流程如图1所示:

图1 系统控制示意图

图2 遗传算法流程

1 改进的遗传算法

1.1 遗传算法

遗传算法于70年代由美国Michigan大学的Holland教授在《自然系统和人工系统的自适应》一书中首先提出来,Holland教授所提出的关于GA的理论通常被称为简单的遗传算法(Simple Genetic Algorithm,SGA),也是从那时候开始遗传算法才逐渐被人们所了解[3]143-145。遗传算法具有全局收敛的特点,在求解最优问题的时候,进行各种路线的平行搜索,能够避免陷入局部收敛的状态[4-5]。首先,确定各个参数例如算法迭代的次数,种群的大小等,接着要创建初始种群。然后,在评价适应度的基础上进行各个遗传操作的环节:选择操作、交叉操作、变异操作,这三个过程是模拟生物基因遗传的一个做法。在遗传操作完成之后,要对所取得的参数进行最优判断,是否满足最优条件,若满足最优条件,则结束遗传算法的流程,并输出当前最优结果,若不满足,将重新进行适应度的评价,进行新一轮的种群进化,一直到最优条件满足为止,算法流程如图2所示。

1.2 改进的遗传算法

1.2.1 初始化种群的方法

对于初始化种群,首先要将遇到的问题进行处理,遗传算法无法直接对问题的解空间进行搜索,要将问题的解空间通过编码转换成遗传算法所能处理的解空间。常见的编码方法有几种:浮点、符号编码及编码二进制编码。本文采取的是二进制编码的方法,产生0~1之间均匀分布的随机数,例如x:10101010000101000011就表示一个个体的基因型,其中前10位表示x1,后10位表示x2。

对于随机数列的产生有很多方法,在这里是采用蒙特卡洛序列来产生随机序列。蒙特卡洛方法具有直观形象、简单易行的特点,并且其概率收敛与问题自身的维数无关。利用这些特点再算法实现过程也不会复杂,对于遗传算法来说初始化种群的大小会根据我们需要处理问题来定,也就是说所处理问题的维数会有所变化,那么采用蒙特卡洛方法就不需要在这方面有过多考虑,可以直接使用蒙特卡洛序列产生一组数然后通过数学知识扩展维数以满足问题需要。

在初始化种群时,一般的做法是随机产生的,这样的做法会导致获取目标函数的信息过低。为了避免这个问题,首先用蒙特卡洛序列产生一组随机数,然后再用矩阵论的知识将这组随机数扩展成符合我们要求维数的矩阵。由于蒙特卡洛序列产生的个体具有的差异度的性质,这样会降低种群的随机性从而提高均匀性,以获取目标函数的信息,这样的做法可以照顾到随机性又不失均匀性。具体操作步骤如图3所示:

图3 改进后的初始化种群

对于PID控制而言,首先预估PID三个参数的取值范围,在经过一定的数学处理之后,使遗传算法能够很好地在整个可行参数解范围内进行搜索。

1.2.2 变异操作的改进

变异指的是染色体中的某个基因发生了突变,在二进制编码中,变异是指一串二进制数中某个元素由1变为0,或由0变为1。例如:个体A:11000111个体B:11100011。

在传统的遗传算法中一般是选取一个固定的变异概率对种群所有的个体进行变异处理,这样会使适应度高的个体(优良个体)会和适应度低的个体一样会被处理掉。本文在选取变异概率时候采用分段处理的方式,将所有适应度的个体按高低分为三个部分,然后针对每个部分选取一个变异概率进行变异操作。这样的做法会在很大程度上保留种群中的优良个体而且又可以产生较好的个体[6]。变异概率分段选取的公式如下式(1):

(1)

式中:pm1=0.6,pm2=0.05,pm3=0.001,Bestfi是种群中适应度最好个体的适应度值,fi是待变异的个体的适应度值,f31和f32分别是适应度值由高到低排在1/3、2/3处的个体的适应度值。实现代码如下:

pm1=0.1;pm2=0.05;pm3=0.007;

if fi>=f32

pm=pm2+(pm1-pm2)*(Bestfi-fi)/(Bestfi-O2(2*Size/3));

else if f31<=fi

pm=pm3+(pm2-pm3)*(O2(2*Size/3)-fi)/(O2(2*Size/3)-O2(Size/3));

else

pm=pm1;

由公式中可以看出适应度低的个体其变异概率越高,也即容易变异产生新的个体,而适应度越高的个体就不容易变异,这样能很好地保留了优良个体。

2 仿真

为了验证改进算法在PID控制器中的效果,首先用两种算法分别得出一组PID参数,然后将参数代入到Simulink仿真图中去分析所得的响应曲线。在仿真中,改进前后的遗传算法的迭代次数以及种群大小是保持不变的,迭代次数为30,种群大小为30。本算法选取的二阶控制对象模型[7]325-326为,

(2)

传统遗传算法的变异概率pm=0.1,得到的一组PID参数kp=9.472 7,kd=0.147 5,ki=0.947 3。

改进后的遗传算法变异概率根据式(1)来选取,交叉概率也是同样的方法,得到一组参数kp=4.746 1,kd=0.039 1,ki=0.474 6。

两种算法主要参数设置及结果对比如表1。

表1 两种算法参数设置及结果对比

将所得到的两组PID参数在Simulink环境下进行仿真,对两种算法的系统单位阶跃响应曲线进行对比与分析。响应曲线如图4所示:

图4 两种算法所得的相应曲线

由响应曲线图可以看出(实线是传统遗传算法得到的PID参数后的仿真曲线,虚线是改进遗传算法的仿真曲线),改进遗传算法所得到单位阶跃相应曲线比传统遗传算法的效果更好。两种算法所取得的结果对比如表2,改进的遗传算法到达峰值时间比传统遗传算法有明显的提前,改进后的遗传算法虽然也有超调,但是相对于传统的遗传算法已经有明显的缩小。

表2 两种算法仿真差异

3 结论

本算法主要是传统算法进行研究,在其基础上遗传算法过程中的初始化种群、变异概率及交叉概率进行改进,仿真结果表明改进遗传算法比传统遗传算法取得更好的相应效果曲线,验证了该改进方法对PID参数取得明显的优化效果。

[1]胡绪昌,沈小波,项卫东,等.基于遗传算法整定控制的柴油机调速系统研究[J].船舶工程,2015(37):150.

[2]杨淑莹,张桦.群体智能与仿生计算-Matlab技术实现[M].北京:电子工业出版社,2012.

[3]温正.精通MATLAB智能算法[M].北京:清华大学出版社,2015.

[4]NeathMJ,SwainA,MadawalaU,etal.AnOptimalPIDControllerforaBidirectionalInductivePowerTransferSystemUsingMulti-objectiveGeneticAlgorithm[J] .IEEETransactionsonPowerElectronics(S0885-8993), 2013,29(3): 1-10.

[5]LIUJ,XIFQW.ResearchontheFuzzyPlDspeedofpermanentmagnetlinearbasedongeneticalgorithm[J].AppliedMechanicsandMaterials,2014(494).

[6]李雅,黄少滨,李艳梅,等.基于遗传算法的反例理解[J].哈尔滨工程大学学报,2016,37(10):1394-1399.

[7]刘金琨.先进PID控制MATLAB仿真[M].3版.北京:电子工业出版社,2011.

[责任编辑 韦杨波]

StudyonimprovedgeneticalgorithminPIDparameteroptimization

YURongchuan1,PENGJiansheng1,2

(1.SchoolofelectricalandInformationEngineering,GuangxiUniversityofScienceandTechnology,Liuzhou,Guangxi545006;2.SchoolofPhysicsandMechanical&ElectronicEngineering,HechiUniversity,Yizhou,Guangxi546300,China)

In the problem of automatic controller parameters, the optimization of PID parameters is very common but very important problem. Most of the traditional methods of setting the PID parameters are optimized by experiment and experience. These methods often require a lot of time and the accuracy will be Limited. By using the idea of Monte Carlo to establish a random population, then selected mutation probability as an example, using the improved genetic algorithm to optimize the PID parameter of the known mathematical model. We can get two sets of PID parameters with the simulation of the traditional genetic algorithm and improved genetic algorithm under Simulink environment. The results show that the response curve of the improved genetic algorithm is better than that of traditional genetic algorithm.

Monte Carlo; improved Genetic Algorithm; PID; optimization

O59

A

1672-9021(2017)02-0084-05

余荣川(1989-),男,广东湛江人,广西科技大学在读硕士研究生,主要研究方向:智能控制与智能自动化。

国家自然科学基金项目(61640305);广西高校科研项目(ZD2014112);广西高校智能综合自动化高校重点实验室基金资助项目(GXZDSY2016-04)。

2016-12-15

猜你喜欢
蒙特卡洛适应度遗传算法
改进的自适应复制、交叉和突变遗传算法
征服蒙特卡洛赛道
基于蒙特卡洛法的车用蓄电池20h率实际容量测量不确定度评定
一种基于改进适应度的多机器人协作策略
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于空调导风板成型工艺的Kriging模型适应度研究
蒙特卡洛模拟法计算电动汽车充电负荷
软件发布规划的遗传算法实现与解释
基于改进的遗传算法的模糊聚类算法
基于蒙特卡洛模拟的精益六西格玛医院就诊流程优化研究