智能优化算法的控制器参数整定分析
2017-08-01苏镜吾
苏镜吾
(大众一汽发动机(大连)有限公司长春分公司,吉林 长春 130011)
智能优化算法的控制器参数整定分析
苏镜吾
(大众一汽发动机(大连)有限公司长春分公司,吉林 长春 130011)
遗传算法(Genetic Algorithm,GA)和模拟退火算法(Simulated Annealing Algorithm,SA)均是近年来研究的热点智能优化方法,两种智能算法应用于 PID控制器参数调节,为 PID控制器参数的优化提供新的研究思路。本文针对GA后期进化缓慢的缺陷,引入自适应机制,可以实现基于自适应 GA的参数优化。将 GA与 SA有机结合,发挥 GA全局并行搜索能力与 SA较强的局部搜索能力,优势互补,实现了基于退火模式的 GA,并应用于 PID参数优化。最后本文以 Matlab为仿真工具,进行 PID控制器参数优化仿真实验,证明本文算法的可行性和有效性。
PID控制;遗传算法;模拟退火算法;参数优化
PID参数的调节与优化一般需要调试者具有丰富的调试经验,而实际系统的特性又是各不相同的,所以要想通过人工整定获得良好的 PID参数相当的困难。因此根据实际需要,研究人员提出了许多的 PID参数的自整定技术。
1 常规 Ziegler-Nichols调节方法
ZN调节方法的经验公式是基于带有延迟的一阶惯性模型提出的,这种对象模型可表示为:
其中K为放大系数,T为惯性时间常数,L为延迟时间。
ZN算法思路简单,并且有明确而又简单的公式,便于工程中应用,但尚存许多问题。为了获得临界振荡状态下的比例系数和频率往往需要增大pk直至使系统发生临界振荡,而在实际工程中,产生临界振荡时会给系统带来许多不稳定的因素,无法使系统运行最佳。
2 遗传算法
2.1 编码方式的确定
本文将采用实数编码方式对数据进行编码,每个个体由四个参数:Kp、Ki、Kd和个体的适应度组成,所以如果群体规模为n,种群的初始化实际上是产生一个 n×4阶的矩阵。
2.2 种群初始化
确定参数的范围,例如,设置函数 variableBounds=[0 40;0 40;0 40];即在 0~ 40这个范围中随机选择初始数据。然后可以在 Matlab中直接使用遗传算法工具箱中 initializega函数进行种群的初始化工作。
2.3 适应度函数的确定
适应度函数主要是通过对系统偏差进行处理,来评价参数的优劣。本文采用直接对偏差进行积分的方式,取积分结果的倒数为适应度。根据式(2)得到个体的适应度:
2.4 遗传算法的操作
选择操作:本文选择的是排序法,根据计算出的fit值对个体的大小进行排序,本文设定计算适应度值fitness大小的函数如下:
式中,q为选择系数;x为个体在排序后的序号;n为群体规模,得到一个 n×1的矩阵 a。然后设置函数sort(rand(n,1)) ,随机产生一个 n×1的矩阵 b,矩阵中每个元素均为 0~1之间的随机小数。将矩阵 a中第一个个体的 fitness值与矩阵 b中的第一行数值进行比较,大者保留。矩阵 a中 fitness值越高的个体保留下来的几率越大,这样被选中进行交叉、变异的概率也越大。
3 基于自适应遗传算法的 PID参数优化
对于遗传算法,交叉概率cP和变异概率mP的设定会直接影响算法的收敛性,是影响算法性能的关键所在。
3.1 交叉概率的设定
cP越大,群体的变化就会越大,算法的搜索范围也会相应地增大。然而,当cP过大时会使得具有高适应度的个体结构遭到破坏;但是如果cP过小,会使群体变化小,在一定的迭代次数下难于收敛于最优解。本文在交叉算子中采取自适应交叉概率的方式,构造交叉概率函数:
其中, 1p为设定的交叉概率;n为进化的代数;N为进化的总代数;af 为平均适应度;maxf 为种群中个体的最大适应度。当进化的代数n越大时,算法得出的解就会越接近最优解,所以设定cP随之减小会使系统更快的收敛于最优解。
3.2 变异概率的设定
对于变异概率mP,如果mP取值过大,那么遗传算法就变成了随机搜索算法;如果mP过小,就不容易产生新的个体结构。为了提高遗传算法的效率,本文设定的变异概率函数如下:
其中,mp 为设定变异概率;n为进化的代数;N为进化的总代数。
在基本遗传算法中引入自适应机制,可以避免破坏已经取得的优化基因结构,加快收敛速度,有效克服遗传算法后期进化缓慢的缺点。
4 基于模拟退火算法的 PID参数优化
4.1 模拟退火算法参数的设定
温度初始值的设置:初始值温度的设置会影响到全局最优解的搜索,但随着设置的初始温度越高则需要花费计算时间越长。一般需要根据实验的结果进行反复调整,本文设置初始温度 InitTemp值为 1。
衰减函数系数:在实际应用中,需要考虑到计算的复杂度和可行性等问题,本文采用如下降温方式:
式中 k 一般取略小于 1的常数,本文选取 k=0.6,t为降温的次数。
算法的终止温度:在不同的环境下对终止温度有不同的终止温度为要求,复杂的环境下,终止温度条件也可能会有许多种。算法的终止温度可以影响到算法的计算时间和收敛性,本文试验中设定为 10-8。
4.2 执行模拟退火算法
当设定好模拟退火算法的初始值和初始参数后,算法会以初始值为起点,在设定的邻域产生新解,然后通过设定的目标函数计算函数值,例如本文设置函数值的新解为 Ei,当前解为 Ej,比较两者的差值,如果 Ej-Ei> 1e-6则新解取代为当前解 Ej = Ei;否则算法会以 rand < exp( (oldenergy-newenergy)/(k·T) )概率即:
接收新解(Metropolis准则),式中 T为当前温度,K为 boltzmann系数这里设为常数 1。再将得到的新解重复上述的工作,直到算法终止。
模拟退火算法可以对一些不符合适应度要求的解给予保留,并且会以这个解作为新的代进行搜索;其次,模拟 退火算法中 含 有参数 Tt,能够对“ 温度”进行 控 制,Tt下降的越慢,结果越趋于最优,因此具有全局收敛性。而在遗传算法中没有这样的一个控制参数,存在着过早收敛的问题。
5 基于引入退火模式遗传算法的 PID参数优化
遗传算法和模拟退火算法均属于基本概率分布机制的优化算法。基于遗传算法容易出现过早收敛,而模拟退火算法由于保留不符合适应度要求解的特性,很难判断空间中的哪些区域会有更多的机会得到最优解。因此将两种方法相结合,优势互补,就可以发挥遗传算法的全局并行搜索能力和模拟退火算法的较强局部搜索能力。
5.1 实现算法的结合
本文通过在遗传算法的迭代函数中嵌入模拟退火算法,形成新的迭代函数,结合成模拟退火遗传算法。首先执行遗传算法,将通过遗传算法得到的当前最优解parent=[best(1) best(2) best(3)]作为模拟退火算法的初始值,然后调用模拟退火算法进行运算,最后再将得到的最优值返回给遗传算法,重复上述的运算,直到算法终止。
5.2 算法的终止条件
设定结合后的算法服从遗传算法的终止条件,例如:设定迭代次数为 10代,那么满足运算 10代后算法终止。算法的工作过程如图1。
图1 基于退火遗传算法 PID参数优化流程图
6 PID控制器参数优化仿真试验
本文应用 Matlab中 GUI设计模版对 PID控制器参数优化进行仿真界面设计,在PID参数优化仿真实验中,被控对象选取了两个传递函数模型,分别为:
函数模型一:
这两个传递函数模型具有很典型的根轨迹,使实验的效果明显。
设置参数。遗传算法:采样时间设为 0.01秒,初始群体数为 50,迭代次数为 10,交叉概率和变异概率均为 0.7;模拟退火算法:初始温度值为 1,终止温度值为 10-8,最多实验次数为 300,衰减函数系数值为0.6,GUI界面中 G函数的分母为变量 S前系数。由公式(8)所得出的仿真实验对比图2如下。
系统响应参数以及 PID控制器参数如表1。
表1 系统响应参数及 PID控制器参数表
通过实验的数据可以看出,对比传统的 PID参数整定算法,智能算法在 PID参数整定方面,上升时间都有了较大的改善,使系统可以更快速的收敛。与ZN算法相比,在上升时间方面,遗传算法提高 92.5%,自适应遗传算法提高 92.0%,模拟退火算法提高 91.5%,基于退火模式的遗传算法提高 92.9%。由公式 9所得出的仿真实验对比图3如下。
系统响应参数以及 PID控制器参数如表2。
表2 系统响应参数及 PID控制器参数表
通过实验的数据可以看出,相对于ZN算法, 在 上 升 时 间 方 面, 遗 传 算 法 提 高 35.5%,自 适 应 遗 传 算 法 提 高 31.9%, 模 拟 退 火 算 法提 高 31.2%, 基 于 退 火 模 式 的 遗 传 算 法 提 高 39.0%。当迭代次数增大时,智能算法的优势会更加明显。
图2 仿真实验对比图1
图3 仿真实验对比图2
7 结语
本文分析了 PID控制原理与 PID控制器参数调节的基本方法、详细讨论了常规ZN法参数调节的实现方法。在对遗传算法和模拟退火算法基本原理、实现策略及特点进行深入研究的基础上,以 PID控制器参数优化为目标,分别设计并实现了基于基本遗传算法的参数优化、基于自适应遗传算法的参数优化、基于模拟退火算法的参数优化和基于退火模式下的遗传算法的参数优化,详细讨论了各种算法的编码方案、目标函数选取、算子设计与参数控制。采用 Matlab作为数据处理工具,针对不同的控制对象,对算法进行了 PID参数优化仿真实验。实验结果证明了上述算法的可行性和有效性。
[1]郑海霞 ,王林 .遗传算法的自适应 PID控制器的应用 [J].自动化仪表, 2009(4): 58-60.
[2]周明 ,孙树栋 .遗传算法原理及应用 [M].北京 : 国防工业出版社,1999.
[3]张文修 ,梁怡 . 遗传算法的数学基础 [M].西安 : 西安交通大学出版社 , 2000.
[4]马永杰 ,马义德 ,蒋兆远等 .一种快速遗传算法及其收敛性 [J].系统工程与电子技术 . 2009(3): 714-718.
[5]段 红 伟 ,胡 劲 松 .基 于 模 拟 退 火 算 法 的 实 现 及 应 用 [J].科 技 信
TM571.6
A
1671-0711(2017)07(下)-0118-03