基于遗传算法的PID控制概述

2013-07-10 22:41张亚飞
卷宗 2013年8期
关键词:Matlab仿真PID控制遗传算法

摘要:基于PID控制应用的广泛性,本文简要阐述了遗传算法理论的关键思想及其在PID控制中的应用策略,并用Matlab软件对一个控制实例进行了仿真研究。

关键词:PID控制;遗传算法;Matlab仿真

0 引言

PID控制作为最早实用化的控制算法已有70多年历史,现在仍然是控制系统中应用最为普遍的一种控制规律。它所涉及的算法和控制结构简单,实际经验以及理论分析都表明,这种控制规律对许多工业过程进行控制时, 一般都能得到较为满意的控制效果。随着控制理论的发展,尤其是人工智能研究的日趋成熟,许多先进的算法理论逐渐被应用到传统的PID控制中,并取得了更为优越的控制效果。本文就以传统PID控制和遗传算法理论为基础,简述了基于遗传算法整定的PID控制基本理论和方法。

1 PID控制

通过将偏差的比例(Proportional)、积分(Integral)、微分(Derivative)进行线性组合构成控制量,对被控对象进行控制,这种控制方法叫做PID控制。在自动控制发展的历程中,常规PID控制得到了广泛的应用,整个控制系统由常规PID控制器和被控对象组成,根据系统给定值r(t)与实际输出值y(t)存在的控制偏差e(t)=r(t)-y(t)组成控制规律。PID控制器将偏差e(t)的比例-积分-微分通过线性组合构成控制量,对被控对象进行控制。其基本控制规律为

式中,Kp为比例增益,Ti为积分时间常数,Td为微分时间常数,u(t)为控制量,e(t)为偏差。

2 遗传算法基本操作

遗传算法,简称GA(Genetic Algorithms),是由美国Michigan大学的Holland教授于上世纪六十年代率先提出的一种高效并行全局最优搜索方法。遗传算法是模拟达尔文生物进化论的自然选择和孟德尔遗传学机理的生物进化过程的计算模型,它将“优胜劣汰,适者生存”的生物进化理论引入优化参数形成的编码串联群体中,按所选择的适配值函数通过遗传中的复制、交叉和变异对种群个体进行筛选,并保留适配值高的种群个体,组成新的群体。新的群体既继承了上一代的种群信息,又包含有优于上一代的个体信息,这样周而复始,种群中个体的适应度不断提高,直到满足一定的特定条件而停止运算,从而得到最优解。

遗传算法的关键技术包含以下几个方面:

(1)遗传编码:遗传算法的编码方式主要有二进制编码、十进制编码、实数编码等。二进制编码是比较常见的编码方式,它将解空间编码成二进制串,然后对其进行遗传算法运算,二进制编码既符合计算机处理信息的原理,也方便了对染色体进行复制、交叉和变异等操作,但它通常都需要进行参数进制转换,需要对高维参数进行编码时很难平衡编码长度和变量精度之间的关系,算法的执行效率也是一大问题。实数编码将问题的解用一个实数来表示,解决了编码对算法精度和存储空间的影响,精度高,便于大空间搜索,适于高维复杂优化问题。

(2)适应度评估:遗传算法依照与个体适应度成正比的几率决定当前种群中各个个体遗传到下一代群体中的机会,个体适应度大的个体更容易被遗传到下一代,而用来衡量个体适应度大小的函数则被称为个体适应度函数。为正确分析遗传概率,通常要求所有个体的适应度必须为非负值,因此需要确定由目标函数到个体适应度值之间的转换规则。

(3)遗传算子:遗传算法的遗传算子主要包括选择算子、交叉算子和变异算子。选择算子是指从当前种群中根据“优胜劣汰、适者生存”的自然原理,选择适应度值高的个体以产生交配池的过程。选择的主要目的是避免有效基因的损失,提高全局收敛性和计算效率,通常使用的方法有适应度比例法、期望值法、排位次法等;交叉算子是指将两个父代个体的相关染色体的特定基因,加以重组排列出新个体的过程。交叉算子是遗传算法的核心,并决定遗传算法的收敛性和、,可提高算法执行过程中的优化效率,常用的交叉运算方式有单点交叉、多点交叉和均匀交叉运算等;变异算子是指以一定的概率模拟自然界生物进化中染色体上某等位基因发生的突变现象,从而改变遗传基因的过程。若只有选择和交叉,而缺乏变异,则有可能使进化过程在早期就陷入局部解而进入终止过程,造成算法的早熟收敛,变异操作一定程度上克服了这种情况,有利于在尽可能大的空间中获得质量较高的优化解。

(4)算法参数:遗传算法运行时有几个参数需要在种群初始化或者种群进化过程中进行合理的选择和控制,主要包括个体编码长度l、群体规模M(一般取20~100)、终止进化代数G(一般取100~500)、交叉概率Pc(一般取0.4~0.99)和变异概率Pm(一般取0.0001~0.1)。

3 基于遗传算法的PID控制

在传统的控制理论当中,PID控制的好坏主要取决于三个控制参数调节的好坏,而遗传算法的出现则提供了一种优化参数调节的可行方法。利用遗传算法对PID控制参数进行寻优并寻找合适的控制参数,使得设定的性能指标达到最优化,这就是基于遗传算法的PID控制的基本思想。

选取被控对象为二阶传递函数,采样时间为1ms,

采用10位二进制编码方式,样本群体规模为M=30,终止进化代数G=100,交叉概率为Pc=0.60,变异概率为Pm=0.001,进行Matlab仿真实验,其阶跃响应如图1所示。

4 结果讨论

由Matlab仿真实验结果可见,基于二进制编码遗传算法的PID控制阶跃响应过渡平稳,能快速达到控制要求,控制效果较为优良。根据遗传算法的特性,在实际应用中通过改变编码方式、交叉变异概率、样本数量及终止进化代数等参数都能显著影响到控制效果,这也为进一步提升遗传算法的优化方案指明了发展方向。

参考文献

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

[2] 侯志强. 基于遗传算法的PID控制参数优化在炉温监控系统中的应用[D]. 长沙:中南大学,2012.

[3] 朱成娟. 遗传算法的改进及其若干应用[D]. 秦皇岛:燕山大学,2006.

[4] 葛继科,等. 遗传算法研究综述[J]. 计算机应用研究, 2008,10:2911-2916.

作者简介

张亚飞,(1991.10-)男,河南周口人,中南大学信息科学与工程学院,本科生,研究方向:控制算法、模式识别。

猜你喜欢
Matlab仿真PID控制遗传算法
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
内模控制在火电厂主汽温系统中的应用
微信网络的信息传播模型研究
常规PID控制和常规模糊控制的比较
感应电机低速运行时自适应状态观测器研究
基于改进的遗传算法的模糊聚类算法