APP下载

粒子群算法在系统辨识中的应用

2017-09-08孟令民常喜茂

数字技术与应用 2017年6期
关键词:粒子群算法

孟令民+常喜茂

摘要:系统辨识是设计控制系统中的一个重要部分。经典的辨识方法有阶跃响应法、脉冲响应法、频率响应法、相关分析法、谱分析法、最小二乘法和极大似然法等。结合现场中得来的脱硝实验数据,本文在阶跃响应法基础之上,利用现代辨识中的粒子群算法对初步辨识出的参数进行优化,即二次辨识。应用MATLAB软件仿真,可得到经粒子群算法二次辨识后的辨识结果。

关键词:系统辨识;阶跃响应法;粒子群算法;二次辨识

中图分类号:TP183 文献标识码:A 文章编号:1007-9416(2017)06-0144-02

辨识是现代控制中一个比较重要的部分,一个控制系统的完成与设计离不开系统辨识。经典的辨识方法有有阶跃响应法、脉冲响应法、频率响应法、相关分析法、谱分析法、最小二乘法和极大似然法等。随着社会不断的发展和进步,越来越多的系统具有很大的不确定性,这样的话只凭经典的辨识方法很难达到令人满意的辨识效果。因此,本文在经典辨识方法阶跃响应法进行初步辨识的基础之上,对其初步辨识出的参数利用粒子群算法进行了相应的优化,即二次辨识。由于粒子群算法结构简单、不需要梯度信息、易于实现、参数较少,因此受到众多学者的青睐,并在函数优化、多目标优化、模式识别、系统辨识众多领域中得到应用[1]。

1 粒子群算法的特点

粒子群是一种仿生的智能优化算法,这种方法是模拟鸟群寻找食物的活动行为。与普通的随机搜索法相比,实质上这种方法是对随机搜索发的一种升级与改进。粒子群法保留了随机算法的一些特性,因此,这种方法的优化参数结果同样具有随机性。

对于随机搜索法,在某种意义上可以认为是一个粒子在进行随机的搜索。而对于粒子群算法可以认为是一群的粒子在进行搜索,这样的话既可以保证了寻找的速度,又可以保证了寻优的精确性。所以说,这种方法可以比较有效的克服穷举法运算量太大的不足,又可以改善穷举法寻优精度不太高的缺陷。在面对比较复杂的辨识对象的时候,这种方法可以说还是比较实用的。

2 標准粒子群算法

通过以上面表达式(1)和(2),可以看出粒子群方法是一种很明显的动态过程,即每个粒子不同时刻之间的寻优动态,粒子之间的寻优动态,每个粒子运动位置的改变,运动速度的改变。同时,每个粒子的运动速度是与上一时刻的速速、最好历史粒子位置、粒子自身历史最优位置这几个量有关,同时粒子的移动速度具有随机性,这也就决定了粒子群优化算法和随机搜索算法一样具有随机性。但是当粒子群整体的寻优次数比较多并且粒子个数较多的时候,最终的寻优结果会基本保持不变,随机性的特点不再明显。

3 粒子群算法的应用步骤

粒子群算法步骤如下所示。

(1)设置好粒子的个数(一般情况下选择在30—50个即可),本次算例分析选择的是40个粒子;

(2)在选择好粒子之后,要对每个粒子进行初始化,这包括他们在整个区域中的位置以及他们的随机速度,实质上就等于把这些粒子随机的分不到区域的不同地方,让粒子去共同寻找最优的参数;

(3)接下来需要做的是要进行每一个粒子对自己本身不同时刻的寻优,即寻找自己过去历史上比较好的位置;

(4)除了寻找自己的历史最好点,粒子之间也要进行对比寻优,看同一时刻哪一个粒子的位置最接近最优点,并记录下全局最优位置。在编写的程序中这种思想方法有点像数列排序中的冒泡法;

(5)最后要做的是对每个粒子的位置改变以及其运动速速改变的一个设置。在这里要注意的是要给粒子的移动位置以及移动速度设置好最大的幅度,当超出这个幅度要进行必要的纠正。

4 实例分析

SCR脱硝喷氨量控制系统存在较大滞后性。一是由于烟气流量不宜准确测量,通常是通过DCS提供的锅炉空气流量和锅炉燃烧等数据计算得到;二是所需的氨气流量是通过CEMS在线监测装置测得NO浓度后,计算出NOX流量,再乘以摩尔比得到的,因此存在较大的滞后性[4]。

SCR脱硝喷氨量控制系统具有强非线性。由于在催化剂作用下,反应器内化学反应的复杂性、流场的不均匀性等影响,即使在确定的锅炉负荷条件下,反应器出口的NOX浓度波动依然较大。因此喷氨量控制系统还是一个强非线性系统。

从上面的分析可以看出,只凭借经典辨识方法是满足不了辨识要求的。

(1)首先利用MATLAB中的xlsread()函数把Excel中的实验数据载入MATLAB中;

(2)对初始数据先挑选出比较稳定的数据段,然后进行预处理。数据处理过程包括去零值、平滑曲线、去粗大值等处理。本实例平滑曲线采用的是五步均值法;同时,通过描绘出的输出数据曲线结合先验知识可以推断出该系统是一个有自衡的控制模型,控制模型结构的数学表达式为[5]: (3)

延迟部分中的参数工程上一般直接通过实际输出曲线观察得出即可,通过观察可得出=15。主要辨识 的是n、K、T这三个参数。

(3)通过阶跃响应法进行一次辨识。

从图1可以看出一次变时候辨识结果与实际曲线大致符合。图中实线是实际对象输出曲线,虚线是一次辨识结果曲线。

一次辨识后的参数K=-1.2995,n=6

T= 65.7407。到此,系统的基本参数已经初步辨识出来,下面便是利用粒子群算法对其进行二次辨识。

(4)粒子群算法二次辨识。

本实例中选择的粒子个数是40个(一般选在30—50即可),最大循环搜索次数是200次。二次辨识优化的参数是K和T,K的下限是 0.1倍的K,上限是2倍的K;T的下限是0.1倍的T,上限是2倍的T。初始化种群之后,进行相应的寻优搜索即可。

从图2可以看出,粒子寻优后的最优位置(图2中的实点)在整个寻优范围的大致中间位置,这说明寻优的时候没有出界,证明参数的控制范围选择或者粒子越界控制比较得当。

从图3可以看出,经过粒子群算法二次辨识以后,辨识曲线更加接近实际对象曲线了。

二次辨识之后的参数T= 60.9196、K= -1.2580。通过与第一次辨识的结果T= 65.7407,K=-1.2995相比,可发现两次的参数有明显的变化,第二次的参数则是在第一次的基础之上进行优化所得到的。

另外,当最大寻优循环次数比较小的时候,如为20次的时候,经过仿真会发现每次的寻优结果不同,这也正体现了粒子群算法的随机性。但是当最大寻优循环次数增加时,比如本次实例选择的200次,经过多次的仿真运行发现每次的寻优结果基本不变。可以得出,当随着粒子群寻优次数(粒子的个数要适当多)逐渐增多的时候,最终的寻优参数结果会基本相差不大,最终会使得粒子群的寻优参数结果的随机性不再明显。实质上,这也正符合随机概率的规律。

5 结语

针对复杂的控制控制模型单纯用经典辨识方法无法很好的获取辨识的结果这一事实,本文在阶跃响应法的基础上利用标准粒子群算法进行了二次辨识,取得相对比较好的效果。不足之处是标准粒子群算法在应用的时候其收敛速度比较慢甚至会早熟,这也是今后应用中需要改进和注意的地方。

参考文献

[1]高卫峰,刘三阳.一种高效粒子群优化算法[J].控制与决策,2011,26(8):1158-1162.

[2]韩璞.智能控制理论及应用[M].第1版.中国电力出版社,2013.

[3]莫愿斌,陈德钊,胡上序.求解非线性方程组的混沌粒子群算法及应用[J].计算力学学报, 2007,24(4):505-508.

[4]李娜.选择性催化还原法烟气脱硝控制系统设计[D].华北电力大学,2016.

[5]张志超.电厂SCR脱硝系统建模与优化控制[D].华北电力大学(保定),2015.endprint

猜你喜欢

粒子群算法
一种基于高维粒子群算法的神经网络结构优化研究
基于PSODE混合算法优化的自抗扰控制器设计
电力市场交易背景下水电站优化调度研究
基于粒子群算法的产业技术创新生态系统运行稳定性组合评价研究
大型风电机组组合式塔架结构优化设计