基于遗传算法的PID参数的优化控制策略

2013-09-10 00:45李树青柳州柳工叉车有限公司广西柳州545006
自动化博览 2013年3期
关键词:适应度交叉遗传算法

李树青(柳州柳工叉车有限公司,广西 柳州 545006)

1 引言

PID(Proportional-Intigral-Differential)控制是比例积分微分控制的简称。在生产过程自动控制的发展历程中,PID控制是历史最久且生命力最强的基本控制方式之一。其优点主要体现在以下两个方面:(1)简单实用,易于实现,性能优良。PID控制器具有简单而固定的形式,原理也不复杂,使用起来很方便,控制效果也很好。(2)鲁棒性能优良。其控制品质对被控对象特性的变化不大敏感,在很宽的操作条件范围内都能保持较好的鲁棒性。由于具有这些优点,PID控制被广泛应用于工业与民用领域,并取得了很好的经济效果。但PID参数复杂繁琐的参数整定过程一直困扰着工程技术人员,用经验规则加试凑的方式来调整PID控制参数,往往费时且难以满足控制要求,因此,研究PID参数整定技术具有十分重要的工程实践意义。遗传算法(Genetic Algorithm,CA)为PID参数的优化整定提供了新的途径。遗传算法只依赖于适应度函数,不需知道对象的全部信息,这样即使在对象模型不确定的情况下,它仍可根据对象的输出情况对PID控制器中的参数进行优化,而且遗传算法的群体优化机制使得它可能找到全局最优解。

2 PID控制

2.1 PID控制原理

PID控制器本身是一种基于“过去”、“现在”和“未来”信息估计的简单控制算法。常规PID调节器是一种应用广泛、技术成熟的控制方法。PID控制的基本思想是将偏差的比例、积分和微分三参数通过线性组合构成控制器,对被控对象进行控制,采用PID控制时,系统控制品质的优劣取决于上述三参数的整定。如图1所示。

图1 PID控制系统原理框图

PID控制器根据给定值r(t)和实际输出值y(t)构成控制偏差

将偏差按比例、积分和微分通过线性组合构成控制量,对被控对象进行控制,其控制规律为:

式中,kp——比例系数;T1——积分时间常数;TD——微分时间常数。

PID控制器各校正环节作用如下:

(1)比例环节。及时成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差。

(2)积分环节。主要用于消除静差,提高系统的无差度。

(3)微分环节。能反映偏差信号的变化趋势,并能在偏差信号值变大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度减少调节时间。

3 遗传算法及其对PID整定原理

3.1 遗传算法的原理

3.1.1 遗传算法概述

遗传算法(Genetic Algorithms,GA)是1962年由美国Michigan大学的Holland教授提出的模拟自然界遗传机制和生物进化而成的一种随机并行搜索优化方法。他将“优胜劣汰,适者生存”的生物进化理论引入优化参数的编码串群体中,按所选择的适应度值函数并通过遗传中的选择、交叉和变异对个体进行筛选,使适应度值高的个体被保留下来,组成新的群体,新的群体既继承了上一代的信息,又优于上一代。这样周而复始,群体中的个体适应度值不断提高,直至满足一定的条件。

3.1.2 遗传算法的主要特点

(1)遗传算法是对参数的编码进行操作,而非对参数本身;

(2)遗传算法是从许多点开始进行操作,而非局限于一点;

(3)遗传算法是通过目标函数来计算适配值,而不需要其他推导,从而对问题的依赖性较小;

(4)遗传算法的寻优规则是由概率决定的,而非确定性;

(5)遗传算法在解空间进行高效启发式搜索,而非盲目地穷举或完全随机搜索;

(6)遗传算法对于待寻优的函数基本无限制,它既不要求函数连续,也不要求函数可微,既可以是数学解析式所表示的显函数,又可以是映射矩阵甚至是神经网络的隐函数,因而应用范围较广;

(7)遗传算法具有并行计算的特点,因而可通过大规模并行计算来提高计算速度;

(8)遗传算法更适合大规模复杂问题的优化;

(9)遗传算法计算简单,功能强。

3.1.3 遗传算法的基本操作

(1)复制(Reproduction Operator)

复制是从一个旧种群中选择生命力强的个体串产生新种群的过程。根据位串的适配值拷贝,也就是指具有高适配值的位串更有可能在下一代中产生一个或多个子孙。他模仿了自然现象,应用了达尔文的适者生存理论。复制操作可以通过随机数方法来实现。若用计算机程序来实现。此外,还可以通过计算方法实现,其中较典型的几种方法为适应度比例法、期望值法、排位次法等。

(2)交叉(Crossover Operator)

复制操作能从旧种群中选择出优秀者,但不能创造新的染色体。而交叉模拟了生物进化过程中的繁殖现象,通过两个染色体的交换组合,来产生新的优良品种。它的过程为:在匹配池中任选两个染色体,随机选择一点或多点交换点位置;交换双亲染色体右边的部分,即可得到两个新的染色体数字串。交换体现了自然界中信息交换的思想。交叉有一点交叉、多点交叉、还有一致交叉、顺序交叉和周期交叉。

(3)变异(Mutation Operator)

变异运算用来模拟生物在自然的遗传环境中由于各种偶然因素引起的基因突变,它以很小的概率随机改变遗传基因(表示染色体的符号串的某一位)的值。在染色体以二进制编码的系统中,它随机地将染色体的某一个基因由1变为0,或由0变为1,若只有选择和交叉,而没有变异,则无法在初始基因组合以外的空间进行搜索,使进化过程在早期就陷入局部解而进入终止过程,从而影响解的质量。为了在尽可能大的空间中获得质量较高的优化解,必须采用变异操作。

3.1.4 遗传算法的构成要素

(1)染色体编码方法:基本遗传算法使用固定长度的二进制符号来表示群体中的个体,其等位基因是由二值符号集{0,1}所组成。初始个体的基因值可用均匀分布的随机值来生成。

(2)个体适应度评价:基本遗传算法与个体适应度成正比的概率来决定当前群体中每个个体遗传到下一代群体中的概率多少。为正确计算这个概率,要求所有个体的适应度必须为正数或零。应此,必须先确定由目标函数到个体适应度之间的转换规则。

(3)遗传算子:基本遗传算法使用下述三种遗传算子:

选择运算使用比例选择算子;

交叉运算使用单点交叉算子;

变异运算使用基本位变异算子或均匀变异算子。

(4)基本遗传算法的运行参数:有下述4个运行参数需要提前设定:

M:群体大小,即群体中所含个体的数量,一般取为20~100;

G:遗传算法的终止进化代数,一般取为100~500;

pc: 交叉概率,一般取为0.4~0.99;

pm:变异概率,一般取为0.0001~0.1。

3.1.5 遗传算法的应用步骤

对于一个需要进行优化的实际问题,一般可按下述步骤构造遗传算法:

第一步:确定决策变量及各种约束条件,即确定出个体的表现型X和问题的解空间;

第二步:建立优化模型,即确定出目标函数的类型及数学描述形式或量化方法;

第三步:确定表示可行解的染色体编码方法,即确定出个体的基因型x及遗传算法的搜索空间;

第四步:确定解码方法,即确定出由个体基因型x到个体表现型X的对应关系或转换方法;

第五步:确定个体适应度的量化评价方法,即确定出由目标函数值f(x)到个体适应度F(x)的转换规则;

第六步:确定遗传算法的有关运行参数,即M,G,pc,pm等参数。

3.2 遗传算法对PID整定

3.2.1 遗传算法对PID整定的原理

遗传算法对PID控制参数的整定,就是在已知控制PID控制策略为的情况下,利用遗传算法对PID控制器参数进行寻优,寻找合适的控制参数集使给定的性能指标:为最优。

实现这一优化寻优过程如下:

(1)参数的确定及表示

首先确定参数范围,该范围一般是由用户给定,然后由精度的要求,对其进行编码。选取二进制字串来表示每一个参数,并建立与参数间的关系。再把二进制串连接起来就组成一个长的二进制字串 ,该字串为遗传算法可以操作的对象。

(2)选取初始种群

因为需要编程来实现各个过程,所以采用计算机随机产生初始种群。针对二进制编码而言,先产生0~1之间均匀分布的的随机数,然后规定产生的随机数0~0.5之间代表0,0.5~1之间代表1。此外,考虑到计算的复杂程度来规定种群的大小。

(3)适配函数的确定

一般的寻优方法在约束条件下可求得满足条件的一组参数,在设计中从该组参数中寻找一个最好的。衡量一个控制系统的指标有三个方面:稳定性、准确性和快速性。上升时间反映了系统的快速性,上升时间越短,控制进行的越快,系统品质也就越好。

如果单纯追求系统的动态特性,得到的参数很可能使控制信号过大,在实际应用中会因系统中固有的饱和特性而导致系统不稳定,为了防止控制能量过大,在目标函数中加入控制量。因此为了使控制效果更好,我们给出了控制量,误差和上升时间作为约束条件。因为适应函数同目标函数相关,所以目标函数确定后,直接将其作为适配函数进行参数寻优。最优的控制参数也就是在满足约束条件下使f(x)最大时,x所对应的控制器参数。

(4)遗传算法的操作

首先利用适应度比例法进行复制。即通过适配函数求适配值,进而求每个串对应的复制概率。复制概率与每代字串的个数的乘积为该字串在下一代中应复制的个数。复制概率大的在下一代中将有较多的子孙,相反则会被淘汰。

其次进行单点交叉,交叉概率为pc。从复制后的成员里以pc的概率选取字串组成匹配池,交叉的位置也是随机确定的。

最后以概率pm进行变异。假如每代有15个字串,每个字串12位,则共有15×12=180个串位,期望的变异串位数为180×0.100=2(位),即每代中有俩个串位要由1变为0或又0变为1。

初始种群经过复制,交叉及变异得到新一代种群,该种群经解码后代入适配函数,观察是否满足约束条件,若不满足,则重复以上操作直到满足为止。约束条件由具体问题所定,只要各目标函数在规定范围内,则终止计算。以上操作过程可用图2表示。

图2 遗传算法的流程图

3.2.2 遗传算法对PID整定的具体步骤

(1)确定各参数的大致范围和编码长度并编码;

(2)随机产生n个体构成初始种群 P(0);

(3)将种群中各个体解码成对应的参数值,用此参数求代价函数值J 和适应函数值f,取J=1/f;

(4)应用复制、交叉和变异算子对种群P(t)进行操作,产生下一代种群P(t+1);

(5)重复步骤(3)和(4),直至参数收敛或达到预定的指标。

4 遗传算法程序设计

4.1 基于实数编码遗传算法的PID整定

设被控对象为二阶传递函数:

采样时间为1ms,输入指令为一阶跃信号。

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

式3中,e(t )为系统误差,u(t) 为控制器输出,ts为上升时间,w1,w2,w3为权值。

为了避免超调,采用了惩罚功能,即一旦产生超调,将超调量作为最优指标的一项,此时最优指标为:

式4中,w3为权值,且为被控对象输出。取w1=0.999,w2=0.001,w3=2.0,w4=100。

4.2 设计程序并仿真

(1)定义遗传算法中使用的样本个数为30,进化代数为100代,交叉概率为 Pc=0.90,变异概率为 Pm=0.033。参数kp的取值范围为[0,20],ki,kd的取值范围为[0,1],参照参考文献设计程序并运行,得到如下结果:

经过100代的进化,获得的优化参数如下:PID整定结果为 kp= 17.9472,ki= 0.2678 ,kd= 0.5689,性能指标是J= 23.8378代价函数J的优化过程和采用整定后的PID控制阶跃响应如图3和图4。

图3 、图4 PID控制阶跃响应图

从图3、4可知,当进化到27代时,已得到最优解,且调节过程良好。

通过对程序的分析,发现了一些可改进的地方,在程序中,只是对父代的一个最优解进行了替代保留,并没有把适应度小的个体(即差的个体)去除,这样,差的个体与好的个体同概率交叉和变异,减少了下一代出现更优解的可能性。

(2)定义遗传算法中使用的样本个数为30,进化代数为100代,交叉概率为 Pc=0.90,变异概率为 Pm=0.033。参数kp的取值范围为[0,20],ki,kd的取值范围为[0,1],修改原程序。在对父代进行适应度排序后,把最好的10个个体进行强制交叉,并把交叉结果替代最差的10个个体,这样,下一代出现更优解的可能性大大增加了,收敛速度也大大加快了。

运行修改后的程序,经过100代的进化,获得的优化参数如下:PID整定结果为kp= 17.9668, ki= 0.2678 , kd= 0,性能指标是J= 23.7153代价函数J的优化过程和采用整定后的PID控制阶跃响应如图5和图6。

图5 、图6 运行修改后的程序,PID控制阶跃响应图

从图5、6可知,通过保留的较优个体的增加、较优个体强制交叉后替代较差个体,系统收敛速度大大增加,得到的最优个体也更好,在3到5代的遗传后已得到最优解,且不影响调节过程。

5 结语

遗传算法操作简单、鲁棒性强、易于并行化,是一种高效的优化搜索方式。遗传算法具有全局搜索能力,能快速达到全局收敛。将遗传算法应用于PID控制器的参数寻优。在合理设计相关遗传算子的前提条件下,可以快速搜索到优化的参数值。经过仿真实验证明是一种可行的且效率较高的算法,它解决了经典PID控制算法在实际应用中存在的缺陷,提高了算法的寻优精度和收敛速度。但是,由于随着自适应遗传算法所处理的数据量的增加,运算时间较长。减少迭代次数和初始群体数,可以减少运行时间,但又会使所得结果的精度降低,这也是它的不足之处。故而需要优化程序,使之收敛速度加快,才能据此减少迭代次数,以保证结果的精度。

[1]陶永华,尹怡欣,葛芦生.新型PID控制及其应用[M].北京:机械工业出版社,2003.

[2]周明,孙树栋.遗传算法原理及应用[M.北京:国防工业出版社,2002.

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

[4]陈在平,杜太行.控制系统计算机仿真与CADMatlab语言应用[M].天津:天津大学出版社,2001.

[5]雷英杰.MATLAB遗传算法工具箱及应用[M].西安:西安电子科技大学出版社,2005.

[6]玄光男, 程润伟.遗传算法与工程优化[M].北京:清华大学出版社,2004.

[7](美)米凯利维茨(Michalewicz,Z.).演化程序:遗传算法和数据编码的结合[M].北京:科学出版社,2000.

[8]Mitsuo Gen, RunweiCheng.Genetic Algorithms and Engineering Design[S].Wiley-IEEE,1997.

猜你喜欢
适应度交叉遗传算法
改进的自适应复制、交叉和突变遗传算法
菌类蔬菜交叉种植一地双收
基于遗传算法的高精度事故重建与损伤分析
“六法”巧解分式方程
基于遗传算法的智能交通灯控制研究
一种基于改进适应度的多机器人协作策略
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
连数
连一连
基于改进多岛遗传算法的动力总成悬置系统优化设计