鲍克,胡旭东,向忠
(浙江理工大学 机械与自动控制学院,浙江 杭州 310018)
PID控制器具有结构简单、鲁棒性好、可靠性高等优点,被广泛应用于各种工业对象和过程[1-2]。PID参数的优化是 PID控制中的关键问题,控制参数的优劣直接影响控制效果的好坏,并与系统的稳定、经济运行息息相关[3]。随着工业技术的发展,被控对象日趋复杂,部分被控对象具有大滞后、非线性、无法建立精确数学模型等特点,利用传统方法很难获取最优或次优的PID参数组合。
随着人工智能技术和自动控制领域的相互渗透,各种先进PID参数优化方法层出不穷,许多PID控制器融合了模糊控制、神经网络技术、专家系统、遗传算法等智能技术,这给PID参数优化的研究注入了新的活力[4-5]。然而,模糊控制技术存在精度不高的缺点,神经网络训练周期较长,遗传算法容易陷入局部最优[6-7]。
本文结合小生境机制、混沌细搜索和人工免疫算法,提出了一种基于小生境混沌免疫算法的PID参数优化方法,并通过仿真实例验证了该方法的有效性。
PID控制器是一种线性控制器,它根据给定值和实际输出值构成控制偏差,将偏差的比例、积分和微分通过线性组合构成控制量对被控对象进行控制。
依据PID控制原理,调节kp、ki、kd3个参数,就可以改变控制量。在采用免疫算法对PID参数进行优化时,可将控制器的性能指标作为目标优化函数,视为抗原,而将参数 kp、ki、kd作为优化问题的解,视为抗体,其原理如图1所示。
图1 基于小生境混沌免疫算法的PID控制系统原理框图
混沌是非线性系统中普遍存在的一种复杂现象,混沌运动具有随机性,遍历性和对初值高度敏感的特点,它能在一定范围内按其自身规律不重复地遍历所有状态[8-9]。将混沌动力学特性与免疫算法结合起来,利用免疫算法进行全局粗搜索得到次优解后,再利用混沌算法在次优解周围进行细搜索,能够加强算法的局部寻优能力。
本文采用 Logistic方程产生混沌变量。Logistic映射形式如下:
式中Xn代表经过n次混沌迭代后的混沌变量,其中0<X0<1;当μ=4时,Logistic映射处于完全混沌状态,其混沌空间为(0,1)。
由于混沌变量的变化范围为(0,1),而PID参数不一定在此范围内,因此在进行混沌细搜索前需要将PID参数由解空间映射至混沌空间。设 kp的取值范围[kpmin,kpmax],混沌变量为 X1,n;ki的取值范围[kimin,kimax],混沌变量为 X2,n;kd的取值范围[kdmin,kdmax],混沌变量为 X3,n,则映射方程如下:
混沌细搜索结束后,再次通过映射方程将新一代混沌变量由混沌空间映射至解空间。
小生境机制运用到优化问题的主要思想是:当两个个体的海明距离小于预先设定的小生境距离L时,认为这两个个体距离过近并对其中适应度低的个体进行惩罚。
本算法中,将上一代抗体中适应度最高的n个抗体,与当前代抗体混合,计算任意两个抗体间的海明距离,若计算结果小于小生境距离,则对适应度低的抗体施加一个惩罚系数,待全部抗体的计算完成后,剔除适应度最低的n个抗体。抗体间的海明距离可由下式计算:
式中 d(v,w)表示抗体 v和抗体 w的海明距离;kvp、kvi、kid分别代表抗体v的比例、积分、微分三个参数。
小生境距离L的选取与解空间的范围有关。解空间的范围越大,L也越大。根据这种思想,设计如下小生境距离计算公式:
式中[kpmin,kpmax]、[kimin,kimax]、[kdmin,kdmax]分别表示 kp、ki、kd的取值范围,λ∈(0,1)。
公式(4)给出了小生境距离L的选取依据,通过λ可自由调整小生境机制对算法的影响。当λ取值越大,小生境距离L也越大,更多的抗体对处于小生境距离内,受到惩罚的抗体增加。此时,抗体群保持抗体多样性的能力较强,但收敛速度较慢。当λ取值减小时,处于小生境距离内的抗体对减少,抗体群的收敛速度加快。因此,一般可在算法运行的前期,设定较大的λ值,保持抗体多样性;在算法运行的后期,可逐步减小λ,保证算法的快速收敛。
在小生境机制的实现过程中,将上一代适应度最高的数个抗体与当前代混合,这在本质上实现了精英保留,可有效防止抗体群在进化过程中丢失最优抗体,因而引入小生境机制后的免疫算法无需再另行实现精英保留策略。
人工免疫算法与遗传算法的核心区别在于选择复制策略,人工免疫算法依据抗体适应度和浓度两个方面对抗体进行复制操作,对抗体质量的评价更为全面,减小了算法过早收敛的可能。
人工免疫算法中,抗体相似度、浓度、期望繁殖率、选择复制率概念如下:
在给定抗体群中,若抗体v和抗体w满足公式(5),则称抗体v与抗体w相似。式中fv和fw分别为抗体v和抗体w的适应度;ε称为抗体相似度阈值。越接近于0,抗体v和抗体w相似度越高。
在给定抗体群中,与抗体 v相似的抗体的个数(计入抗体 v自身)称为抗体v的浓度,记为cv。
在给定抗体群中,抗体 v的期望繁殖率 ev可由公式(6)表示。式中,β是反映期望繁殖率中抗体适应度和浓度相对重要性的一个可变参数。
在给定抗体群中,抗体v被选择复制的概率psv可由公式(7)表示。式中m表示种群规模。
交叉算子和变异算子是影响免疫算法行为和性能的关键因素之一,对算法收敛性有直接影响。为了保证算法的快速收敛和抗体群的多样性,对于适应度高于群体平均适应度的抗体,可采用较小的pc和pm;对于适应度低于群体平均适应度的抗体,可采用较大的pc和pm。本算法在变异操作中采用如下自适应变异概率:
式中fv表示抗体v的适应度,fmax表示当前抗体群的最大适应度,γ为变异系数,可自由调整。
选用误差绝对时间积分性能指标作为参数选择的目标函数。为了防止控制能量过大,在目标函数中加入控制输入的平方项,为了避免超调,在产生超调时将超调量作为目标函数的一项。
式中e(t)为系统误差,u(t)为控制器输出,tr为上升时间,w1,w2,w3,w4为权值,ey(t)=y(t)-y(t-1)。
抗体适应度与目标函数值一般通过下式转化:
但是公式(10)无法避免数值计算带来的舍入误差和计算溢出。为了提高算法的计算精度,可对抗体适应度函数作如下改进:
式中c为一固定系数,一般取为10n(n为正整数),δ为一极小的正实数。
(1)随机生成m个抗体,组成初始抗体群,设置进化代数 t=1。
(2)依公式计算各个抗体的适应度fk(k=1,2,…,m),根据适应度对抗体进行降序排序,记忆前h个抗体为q'(t),记忆前n个抗体为p'(t)。
(3)依公式(2)将q'(t)中的h个抗体转化至混沌空间。
(4)依公式(1)分别对h组混沌变量进行迭代,将迭代所得的混沌变量转化为PID参数,计算其适应度,若混沌迭代所得抗体的适应度大于原抗体的适应度,则替代。循环执行本步骤10次,
(5)依公式(5)计算各抗体的抗体相似度及抗体浓度。
(6)依公式(6)计算各抗体的期望繁殖率,依公式(7)计算各抗体的选择概率,根据选择概率利用“轮盘赌法”对抗体群执行选择和复制操作。
(7)对抗体群执行交叉操作。
(8)依公式(8)计算各抗体的变异率,对抗体群执行变异操作。
(9)将上一步得到的m个抗体和p'(t)中的n个抗体合并,得到一个含有m+n个抗体的新抗体群,依据公式(3)计算任意两个抗体的海明距离。当<L时,比较抗体 v和抗体 w的适应度大小,对其中适应度低的抗体施加一个惩罚系数p。
(10)依据新的适应度对这m+n个抗体进行降序排列,取前m个抗体作为新一代抗体群,记忆前h个抗体为q'(t),记忆前n个抗体为p'(t)。
(11)令t=t+1,若 t≤NC,则返回3);否则,输出最优 PID参数,算法结束。
仿真实验以HHS-2箱式电阻炉数学模型为对象,在MATLAB2011a上进行。HHS-2箱式电阻炉的数学模型如下:
设定 kp的取值范围为[0,1],ki的取值范围为[0,1],kd的取值范围为[0,10],种群规模 m=0,最大进化代数 NC=150,交叉概率 pc=0.7,变异系数 γ =2.5,λ =0.1,c=1 000,惩罚系数 p=0.5,采用实数编码,以单位阶跃信号为输入。
采用带有精英保留策略的遗传算法和人工免疫算法作为对比对象,其变异概率pm=0.1,其余参数设置与小生境混沌免疫算法相同。
图2 的单位阶跃曲线图
表1列出了三种算法下的阶跃响应系统性能指标,其中,NCIA表示小生境混沌免疫算法,调整时间的允许误差范围为2%,由于小生境混沌免疫算法无超调,故不统计其上升时间。图2为的单位阶跃响应曲线,图 3为目标函数的优化曲线。分析表1和图2可知,小生境混沌免疫算法下系统的调节时间ts、超调量Mp较 SGA、AIA 大幅下降,系统拥有更好的动态性能。分析图3可知,小生境混沌免疫算法和AIA都具备快速寻优能力,GA的寻优速度明显慢于两者。综上所述,基于小生境混沌免疫算法的PID控制器具有更好的控制效果。
图3 目标函数的优化曲线
表1 的阶跃响应系统性能指标
本文在免疫算法中引入小生境机制和混沌细搜索机制,提出了一种基于小生境混沌免疫算法的PID参数优化方法。仿真结果表明,利用小生境混沌免疫算法设计的PID控制器可以有效地提高控制性能,其控制效果优于遗传算法和人工免疫算法下的PID控制器。
[1]李凌宇,郭贵法,许锦标.基于模拟退火遗传算法的PID参数整定与优化[J].广东工业大学学报,2010,27(2):80-83.
[2]肖理庆,邵晓根,张亮,等.利用改进遗传算法优化 PID参数[J].计算机工程与应用,2010,46(1):200-202.
[3]刘函,刘丁.基于支持向量机的参数自整定 PID非线性系统控制[J].控制理论与应用,2008,25(3):468-474.
[4]盛孟刚,黄辉先.基于矢量距免疫遗传算法的PID参数整定[J].计算机工程与应用,2009,45(12):212-213.
[5]P.Cominos,N.Munro.PID controllers:recent tuning methods and design to specification[J].IEE Proceedings - Control Theory and Applications,2002,149(1):46-53.
[6]李丽香,彭海朋,王向东,等.基于混沌蚂蚁群算法的PID控制器的参数整定[J].仪器仪表学报,2006,27(9):1104-1106.
[7]伍铁斌,成运,周桃云,等.基于混沌遗传算法的PID参数优化[J].计算机仿真,2009,26(5):202-204.
[8]何宏,钱锋.基于免疫网络调节机理的混沌超变异免疫算法[J].系统仿真学报,2008,20(11):2810-2813.
[9]郭子龙,王孙安.三种混沌免疫优化组合算法性能之比较研究[J].系统仿真学报,2005,17(2):307-309.