APP下载

PID控制中遗传算法优化研究

2017-09-03

福建质量管理 2017年8期
关键词:适应度交叉遗传算法

姚 磊

(四川华新现代职业学院 四川 成都 610107)

PID控制中遗传算法优化研究

姚 磊

(四川华新现代职业学院 四川 成都 610107)

PID控制器由于原理简单、适应性强及鲁棒性好等特点,因而在生产过程的自动化控制中有着极其广泛的应用,PID参数的优劣直接影响PID的闭环控制的效果,因此参数整定至关重要。在与使用动态特性参数法和稳定边界法两种传统的工程整定法的仿真实验对比中,本文提到的算法得到的调控效果明显要好。

PID控制器;遗传算法;参数优化

一、引言

PID控制器由于原理简单、方便使用、适应性强及鲁棒性好等特点[1],因而在生产过程的自动化控制中有着极其广泛的应用。PID控制在今天依然是主要而基础的控制方式[2]。

PID参数的优劣直接影响PID的闭环控制的效果[3],因此参数整定至关重要。随着自动控制的发展,实际控制系统越来越复杂,对控制的要求也越来越高,一方面控制对象的非线性、大时延和不稳定等特性使得精确的数学模型难以建立。

无论是工程整定还是自整定,为了满足越来越高的生产控制要求,都必须要求参数尽可能的精确,以达到更加优质的控制效果,而新兴的智能[5]计算刚好可以满足这些要求。

二、遗传算法

遗传算法是进化计算的一种,进化计算还包括进化策略、进化编程和遗传编程。

利用编码技术,将待求解问题的变量编码成称为染色体的串,为优化的目标建立一个适应度函数,适应度函数就是进化的方向,根据遗传学,利用作用于染色体上的选择(selection)、交叉(crossover)、变异(mutation)等遗传操作在适应度函数的自然选择机制,模拟由这些串组成的群体的进化过程,并在这个过程中完成搜索。

(一)遗传算法编码与解码。编码就是将解空间中的所有可以解转换为遗传算法搜索空间中的染色体串的过程。与之相对的解码就是把染色体串转换为问题解的过程。

常见的编码方法有二进制编码,浮点数编码、格雷码和符号编码等。

1.二进制编码。二进制编码是最常用的编码方法,编码方法如下:

(1)编码。假设某待求参数的取值范围为[M,N],用长度为λ的二进制串来编码表示该参数,由排列组合的知识我们知道,一共有2λ个不同的编码串,记紧邻的两个编码之间的长度为δ,得到对应的编码

二进制的编码精度为:

(2.1)

(2)解码。假设某个体的编码为:

X:bλbλ-1bλ-2……b2b1

则对应的解码公式为:

(2.2)

2.浮点数编码。采用浮点数编码方法编码时,每个基因值用一个范围内的浮点数来表示,个体编码的长度等于决策变量的个数,由于编码使用的是决策变量的真实值,因而又称为真值编码方法。

3.格雷码。格雷码又称为循环二进制码或反射二进制码,它是由二进制编码变换过来的。相邻的十进制数表示成格雷码时,只有一个码位不同。

格雷码编码方法的提出是为了克服二进制码的海明悬崖(Hamming Cliff)问题,所谓编码悬崖是指将相邻两个整数的二进制编码之间的海明距离很大,使得遗传操作的交叉和变异难以跨越。在整数的海明编码中,相邻整数间的海明距离恒为1,但是海明距离在整数之间的差却又不失单调递增的,这可能产生另一种隐海明悬崖。

4.符号编码。符号编码是指染色体串中的每一个基因值来自于一个没有实际数值意义而只有代码编号意义的符号集,对于这个符号集的选取也没有明确的限制或要求。

(二)适应度函数。适应度函数(fitness function)也称为评价函数,用来计算每个染色体的适应度,通过对每个个体适应度的评价决定其在后代中是被保留还是被淘汰。以TSP为例,其目标是旅行的路径长度为最短,这里可以直接用目标函数做适应度函数

(2.3)

其中cn+1=c1,d(ci,ci+1)表示两个城市之间的距离。

不是所有的目标函数都可以直接作为适应度函数使用的,通常需要一些变化,在使用遗传算法工具箱的时候,不同的工具箱对目标函数的处理也不一样,有的是求最大值有的是求最小值,需要具体情况具体对待。

(三)选择(Selection)。选择操作也称为复制(reproduction)操作,根据优胜劣汰的自然进化原则,适应度高的个体在后代被保留的机会就大一些,反之被淘汰的概率就大。

简单遗传算法(SGA)使用的是轮盘赌的选择策略,模拟轮盘赌玩法的一个选择算法,在轮盘上用扇形面积的大小表示个体被期望选择的概率,算法使用随机数随机地选择在轮盘上选择一块与随机数大小相等的区域,在这个区域中的个体都有可能被选择到,而剩下的个体则不会被选择。令fi表示种群中第i个个体的适应度值,∑fi表示群体中个体适应度之和,个体被选中的几率就为fi/∑fi。

(四)交叉(Crossover)。交叉操作就是两个父代染色体体交换部分基因而生产新的个体的操作。交叉操作需要确定的是交叉点的位置和用于交换的基因的部分。

1.单点交叉(Single-PointCrossover)。设染色体的编码长度为N,双亲分别为P1和P2,单点交叉算法第一步随机选择1到N之间的一个整数K;第二步,从P1中选取从1~K之间的编码,从P2中选择从K~M之间的编码,将这部分编码结合构成一个新的个体,P1和P2各自剩下的编码构成第二个新个体。

2.两点交叉(Two-PointCrossover)。同上,设双亲分别为P1和P2,并记染色体的编码长度为整数M。算法与单点交叉算法非常类似,第一步,先随机选择1~M中的两个不同的整数m和n,(假设m

3.算术交叉(ArithmeticCrossover)。算法生成的子代每个位置上的编码是双亲相应位置上编码的线性组合,在几何上来看,子代是一条分布在双亲中间的一条直线,不过算术交叉一般作用于浮点数编码的个体。

(五)变异(Mutation)。变异操作能够使种群中的个体产生小规模的随机改变,该操作保证了遗传算法的个体的多样性和算法具有更大的空间搜索能力。

同交叉操作类似,变异操作也是需要确定变异点的位置和变异点的替换策略。

1 基本位变异(SimpleMutation)

2 均匀变异(UniformMutation)

三、基于遗传算法的PID设计

(一)PID控制原理。PID控制是依据负反馈理论建立起来的一种控制方式[11],其特点是根据输出信号y(t)与输入信号r(t)之间的偏差e(t)产生控制作用,并将偏差作为控制装置的输入信号,而输出信号m(t)就是系统的实际控制信号。

PID控制参数调整方式包括比例控制,积分控制,微分控制等。

1.比例控制(P调节)。在式子(2.2)中,令Ti=∞,Td=0,可得

u(t)=Kpe(t)

(2.4)

比例控制器体现了负反馈理论控制系统按偏差调节的基本原则,在系统的动态和稳态控制过程中都起作用。比例控制器实际上是一个比例环节,或比例放大器,从幅频特性的角度,比例环节对任何频率的输入信号,只有幅值上有放大或衰减效果,而不改变信号的相位,即没有超前或滞后作用,可以真实地复现输入信号。增大比例增益Kp,可以使系统快速响应偏差,改善系统的稳态精度,但会降低系统的相对稳定;减小比例增益Kp,效果刚好相反,所以在实际使用中,往往和其它调节机制一同使用,而不单独使用。

2.积分控制(I调节)。对于单独的积分控制,设积分控制输出的控制量为m(t),则有

(2.5)

从频域的角度来看,积分环节是一个低通滤波器,对低频信号有放大作用,而对高频信号具有抑制作用,而且在幅频特性分析中,我们知道输入信号的频域越低,积分环节的放大作用越强,但对于相位有滞后作用。从物理上来看,积分控制器的输出反应的是偏差在时间上的累计,特别地,当e(t)=0时,其输出恒为一个常数。不难看出,加入积分控制机制,可以逐渐消除稳态误差,提供系统的稳态性;但 影响系统的快速性,同时相位的滞后,也会降低稳定性。综合来说,积分控制器可以随时间消除系统的稳态误差,提高系统的稳态性能,但会降低系统的动态性能。

3.微分控制(D调节)。对于单独的微分控制,设其输出控制量为h(t),则有

(2.6)

从式(2.6)中可以看出,微分控制的输出信号正比于偏差的变化率,也即微分控制是根据偏差的变化趋势起调控作用的,当偏差恒定或变化率不明显的时候,微分控制器不起作用,只有在偏差变化时才起作用,偏差变化越大,调剂作用越明显,因而能很好地改善系统的动态性能,而对稳态性能基本不去任何作用。从频域的角度来看,微分调节器是具有高通滤波的效果,从而对高频干扰有放大作用,这是其一大缺点,在实际使用中会限制最大高频增益。

(二)遗传算法的改进算法。下面介绍几种比较经典的改进算法。

1.分层遗传算法(HGA)。分层遗传算法(HierarchicalGeneticAlgorithm)是由John.R.Koza[14]等人提出的,该算法最突出的是提出了多子群的种群初始化方案,很好的维持了种群的多样性,[15]增大了算法的搜索空间,尽可能的将由于个体适应度问题引起的早熟现象限制在某个局部,该算法注重子群的操作,对于遗传因子基本沿用简单遗传算法的策略。

2.跨世代精英选择算法(CHC)。L.J.Eshelman等人提出了CHC(跨世纪精英选择策略)算法[18][19][20],在该算法中,将上个世代的个体与通过交叉产生的新的个体混合在一起择优选择,也即为跨世代的精英选择,这样可以避免好的个体被破坏掉,实际上保留每代最优个体的策略;算法在选择交叉上提出了基于海明距离的限制策略,这样交叉操作的两个个体必须满足设定的海明距离阈值才可以进行。

3.自适应遗传算法(AHC)。遗传算法在接近最优解时可能会出现接近最优解的个体总是被淘汰的现象,这是由于在整个遗传算法过程中遗传因子的值保持不变,因而在接近最优解时,适应度高的染色体会因为较高的Pc(交叉因子)或Pm(变异因子)而频繁地被淘汰掉,自适应遗传算法(AGA)[21][22][23]就是为了接近这个问题而提出来的。

4.小生境遗传算法(NGA)。小生境遗传算法(NichedGeneticAlgorithm)[25][26]的提出是基于这样一个生物进化的事实:在进化过程中,总是特性、外貌等相似的生物(即同一物种)生活在一起,也总是同一物种间的个体相互交配繁衍后代。与SGA不同的是NGA个体之间不仅存在竞争还相互合作,竞争体现在排挤机制上,合作体现在共享机制(FintnessSharing)上。

5.并行遗传算法(PGA)。为了提高遗传算法的搜索速度,研究者在很早就提出了并行遗传算法(ParallelGeneticAlgorithm)[27]的思想,并发展很多并行模型,岛模型是其中非常重要也被多次讨论的一个。在构建种群上,并行遗传算法[28][29]也提出了构造多个子种群的思想。

四、实验及结果分析

大多数工业被控对象的传递函数都可以用一阶惯性加存延迟滞后模型(FOFPD)近似描述。FOFPD模型被控对象传递函数如下:

(4.1)

式中,K,τ和T分别对象模型的开环增益、延迟(滞后)时间常数和惯性时间常数。

(一)PID控制的仿真系统。启动Matlab,进入Simulink,利用相关模块构建一个简单的连续仿真系统。

1.在(5.1)式中,取K,τ和T分别为1、0.5和1作为控制对象的传递函数,即

(4.2)

2.PID控制选用的是PID集成模块,在Simulink中,PID有两种集成方式,一种是典型PID集成方式,另一种是并行PID集成方式。

(1)并行PID控制。并行PID控制的传递函数:

(4.3)

(2)典型PID控制。典型PID控制的传递函数:

(4.4)

本仿真系统选择的默认并行模式,由于并行集成模式下,比例、积分和微分三种作用相互独立。

3.输入信号采用的是单位阶跃信号,且从时间t=0时刻就产生阶跃。

(二)实验结果。在仿真系统下,选用动态特性参数整定法、稳定边界整定法和本文提出的自适应遗传算法优化法分别进行了三组实验,并做了相应的实验对比。

1.动态特性参数整定法。由前面的Z-N经验公式可知:

Kp=2.4;Ti=1;Td=0.25;

将这三个值做相应的变换后分别去设定PID控制器的相应参数,然后启动仿真系统,得到的相应仿真曲线。

K=2.4;I=2.4;D=0.6

2.稳定边界法。本文试验中多次试验后确定下来P=4.0比较合适,即记Ku=4.0。

Tu,在下面的截图4.6中可以看到从t=0.5到t=9.0之间刚好有5个周期,因而确定临界震荡周期Tu=7.5。

按照稳定边界整定法的整定公式,可以得到

Kp=2.4;Ti=0.85;Td=0.2125

接着将这三个参数转化为仿真模型中PID相应的控制参数,然后启动仿真系统,得到的相应仿真曲线。

K=2.4;I=2.82;D=0.51

3.本文的遗传算法优化法。由遗传算法得到PID3个参数分别为:

Kp=2.2;Ti=0.957;Td=0.191;

将这三个参数转化为仿真模型中PID相应的控制参数

K=2.2;I=2.3;D=0.42;

(三)实验结果分析。从图5.5,图5.6和图5.8的对比中,本文使用的遗传算法得到的调节图效果要好,这是因为前面两种方法采用的是经验估计的方法,虽简单适用但不够精确,本文采用的方法通过直接寻求最优解,从数值分析的角度来看,前面两种方法得到的解一般来说距离最优解较远,而本文使用的方法得到的参数本身就是最优解或者是非常接近最优解,因而在精确性上应该优于前两者。

本文提出的方法,前期比较繁琐,需要大量的遗传算法设计不过从长远的角度来考虑这种繁琐还是很值得的。

五、结论

遗传算法寻优简单、鲁棒性强、易于并行化,是一种效率很高的寻优方法。为保证遗传算法的高效高速寻优,须合理确定遗传算法的控制参数。在对PID参数进行优化时,必须选定合适的优化目标。同时,应将性能指标的设计和控制器参数优化设计融为一体。在此基础上,使用遗传算法才可以实现PID控制参数的自适应调整和满意优化。

[1]金以慧编著.过程控制[M].北京:清华大学出版社,1993

[2]Astrom.K.J,Hagglund.PIDControllers:Theroy,DesignandTuning[J].InstrumentSocietyofAmerica,1995

[3]陶永华.新型PID控制及其应用——第一讲PID控制原理和自整定策略[J].工业仪表与自动化装置,第四期,1997年:60~64

姚磊(1984.7-),男,湖北人,四川华新现代职业学院助教,硕士,研究方向:控制工程。

猜你喜欢

适应度交叉遗传算法
改进的自适应复制、交叉和突变遗传算法
“六法”巧解分式方程
一种基于改进适应度的多机器人协作策略
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
连数
连一连
基于空调导风板成型工艺的Kriging模型适应度研究
基于改进的遗传算法的模糊聚类算法