郭明杰,韦根原
(华北电力大学 控制与计算机工程学院,河北 保定 071003)
PID控制器由于其拥有结构简单、易于实现、鲁棒性强等特点在工业控制领域中得到了大量成熟的应用。然而,使用目前常用的PID参数整定方法(如Z-N法、稳定边界法等)得到的PID参数控制效果有时并不理想,仍需大量的现场实验与计算。与此同时,随着近年来计算机科学特别是人工智能理论的快速发展,智能控制理论也日趋成熟与完善。因此,智能控制理论与传统PID的结合一直是众多专家学者的研究方向。在众多优化算法中,粒子群算法(PSO)作为一种代表性的群智能算法,在参数优化问题上拥有收敛速度快、原理简单等优点。但该算法同时有易陷入局部寻优的缺点,许多研究人员都提出了针对基本粒子群算法的改进方法。韦根原[1]、傅毅[2]针对粒子群优化算法易早熟的缺点,在算法的基础上引入了量子计算的概念,并针对不同研究对象进行了仿真建模;李剑波[3]引入了重新启动策略,使算法具有了摆脱局部极点的能力;高见文等[4]针对粒子群算法可能出现的停滞现象,在算法中加入混沌与变异处理,避免早熟收敛;高文松[5]加入了选择与变异机制,以此提高算法精度。这些研究都取得了较好的优化效果。
针对基本粒子群算法易陷入局部寻优等缺点,提出了一种混合了模拟退火与线性递减权重机制的改进SA-PSO算法,将改进的粒子群算法应用在大延迟、大惯性的电厂主汽温控制系统的PID控制器的参数优化中。并将仿真结果与其他智能算法进行比较,以此验证改进粒子群算法的优越性。
粒子群算法是由 Eberhart与 Kennedy[6]于 1995年提出的一种群智能算法,该算法中的各个粒子代表待优化问题的一个解,依据被优化的函数决定的适应值函数为每个粒子计算出一个适应度值。粒子的速度决定了其移动的方向和距离,而粒子的速度又由其自身位置以及全局最优粒子的移动进行动态调整,通过迭代计算在可行域中实现优化。
针对粒子群算法易早熟等问题的改进策略通常有两种:一是与其他智能算法进行融合,二是对粒子群算法的参数进行调整[7-9]。本文中采取了模拟退火机制[10-12]与线性递减权重[13]的方法对基本 PSO 算法进行了改进。
基本粒子群算法的速度和位置的更新公式为:
式中:Vi(k)为第 i个粒子第 k 次迭代的速度;Xi(k)为第i个粒子第k次迭代的位置;r1,r2为0~1的随机数;ω为惯性权重;c1,c2为加速度因子;pbi为个体 i最优值;gb为全局最优值。
其中,惯性权重ω表示粒子下一时刻速度受当前速度影响的权重。ω越大,粒子会以更大的步长进行寻优,相对的收敛就越慢;ω越小,粒子寻优的步长就会越小,也容易陷入局部最优。本文中采取Shi[13]提出的线性递减权重方法:
式中:ωmax与ωmin分别为预设的惯性权重的最大值与最小值;k为当前循环次数;K为最大循环次数。
采用线性递减权重的方法可以随着算法循环次数动态调整惯性权重,以此平衡算法的全局搜索能力与局部搜索能力。在寻优前期,惯性权重较大,使算法可以在较大搜索空间内寻优;在寻优后期惯性权重较小,使算法具有局部精细搜索的能力。
模拟退火(SA)算法是利用了物理学中固体降温特性的启发式算法,其特点是以Metropolis准则对已有最优解进行取舍,拥有较强的跳出局部最优解的能力。因此,为了改善PSO算法的寻优性能,可以在基本PSO中引入模拟退火算法的思想,改策略如下:
确定当前温度T下各个粒子的适配值为
根据Metropolis接受准则与轮盘赌选择法确定全局最优的替代值gb′,将其带入原有的速度和位置更新公式中。引入模拟退火机制的SA-PSO算法具有一定的突跳性能,可以克服基本PSO算法易早熟的缺点。
1)设定算法最大迭代次数、惯性权重最大最小值、初始温度、退火系数、粒子数目与学习因子等参数,随机初始化种群中各粒子的位置与速度;
2)计算所有粒子的适应度 f(pi),将粒子的位置记作pbi,将所有pbi中适应度最优的个体记为gb;
3)根据(4)式确定当前温度T下各个粒子的适配值Tf,并Metropolis接受准则确定全局最优的替代值 gb′;
4)根据式(1)、式(2)更新粒子的位置与速度,其中以 gb′代替原有 gb,以式(3)代替原有 ω;
5)计算粒子适应度,并更新pbi与gb,然后进行退火操作,退火操作为
式中:λ为退火系数;
6)当算法达到停止条件或最大循环次数时,则停止寻优;否则返回步骤3)继续寻优。
随着超超临界机组在我国电力行业中的广泛使用,对火电厂的控制指标的要求也越来越严格,而主蒸汽温度作为锅炉运行的主要参数之一,对电厂的安全运行有着巨大的影响。由于主汽温这一被控对象有着大迟延、大惯性的特点,目前实际生产中多采取串级PID-PI控制方案,如图1所示。
图1 主汽温串级控制系统
图1中,f1为控制量扰动;f2为输出扰动;W1(s)为导前区等效传递函数;W2(s)为惰性区等效传递函数;y为过热器出口汽温输出。
常见的评估控制系统的性能指标被分成两个主要类别:单项性能指标和误差积分指标。单项性能指标,如控制系统在设定值扰动下的衰减比n(或衰减率Ψ)、最大动态偏差y1(或超调量 σ)、调节时间Ts、振荡频率ω和残余偏差等只能保证系统上升时间、调节时间、衰减程度等单项品质能达到最优,然而并不能保证控制品质总体可以达到最优。然而误差积分指标则使用过渡过程中被调量y偏离其稳态值y(∞)的误差沿时间轴的积分值作为目标函数,该指标越小表示控制系统的越好。因此误差积分指标可综合考虑控制系统的品质指标,并且在整定控制系统参数时更为常用。常用的误差型指标的函数形式及数字算法如表1所示。
表1 常用误差型指标的函数形式及数字算法
以上各式中 e(t)=y(t)-y(∞)。
使用不同的误差型指标计算公式意味着评估整个控制系统的动态性能与静态性能时的着重点也不同。若ISE着重于减小过渡过程中的重大误差,而ITAE则着重减小控制系统的调节过程拖得过长。根据文献[14],主汽温串级控制系统中采取ITAE指标控制效果较好,本文也采用ITAE指标作为寻优时的目标函数。
某超临界锅炉的主汽温系统在现场测得的动态特性如表2所示(数据来自文献[15]),为了测试改进后的PSO算法在主汽温系统不同负荷下的寻优效果,分别在62%,88%和100%负荷的工况下进行寻优。
表2 主汽温动态特性数学模型
主汽温控制系统的内回路副调节器采用比例积分(PI)控制,参数由衰减曲线法确定。
使用改进的SA-PSO算法进行主汽温控制系统参数优化时的参数设置如下:
种群规模为50,迭代次数为150,学习因子c1,c2均为2.05,惯性权重最大与最小值分别为0.8与0.4,初始温度为30 000,退火系数为0.87。
为了证明SA-PSO算法的优越性,使用MATLAB以上述参数设置的算法进行主汽温控制系统的阶跃响应实验,并于与基本PSO算法(学习因子c1,c2均为2.05,惯性权重为0.73)、Z-N整定法得出的结果进行对比。不同负荷下的仿真结果如图2~4所示,不同优化方法下的性能指标对比如表3所示。
图2 62%负荷时主汽温控制系统阶跃响应
图3 88%负荷时主汽温控制系统阶跃响应
图4 100%负荷时主汽温控制系统阶跃响应
表3 不同负荷下3种方法的寻优结果对比
由图2~5可以看出,使用Z-N整定法得到的响应曲线在62%负荷下,超调量较大;在88%与100%负荷下,响应速度慢且振荡较为严重,控制效果并不理想。而SA-PSO算法在各工况下性能指标都明显优于基本PSO算法与Z-N整定法。综上,SA-PSO算法能够克服基本PSO算法容易陷入局部最优的缺点,使用SA-PSO算法进行控制系统的参数整定,使得系统振荡减少,调节时间变短,超调量减小,提升了控制性能。
围绕基本粒子群算法在实际应用中的局限性展开研究,通过在基本粒子群算法中引入模拟退火与线性递减权重的机制,平衡了算法的局部寻优与全局寻优能力并且给予了算法突跳的能力,克服了基本粒子群算法易陷入局部最优的缺点。通过使用SA-PSO算法对大迟延、大惯性的主汽温控制系统进行参数优化,优化结果表明:主汽温控制系统调节时间加快,超调量减小,控制品质提高。并且通过将SA-PSO算法与传统Z-N法、基本PSO算法的参数整定结果的对比,证明了SA-PSO算法在参数寻优上的优越性。