摘 要: 针对传统模型参数辨识方法和遗传算法用于模型参数辨识时的缺点,提出了一种基于微粒群优化(PSO)算法的模型参数辨识方法,利用PSO算法强大的优化能力,通过对算法的改进,将过程模型的每个参数作为微粒群体中的一个微粒,利用微粒群体在参数空间进行高效并行的搜索来获得过程模型的最佳参数值,可有效提高参数辨识的精度和效率。
关键词: 微粒群算法;非线性系统;参数辨识
非线性模型参数估计是控制领域研究的重要问题。目前已有许多成熟的系统辨识和参数估计方法,如最小二乘法[1]、极大似然估计法[2]、神经网络用于参数辨识法[3]、遗传算法[4-5]等。但是最小二乘法和极大似然估计法都是基于过程梯度信息的辨识方法,其前提是可微的代价函数、性能指标和平滑的搜索空间。但在实际应用中,由于获得的数据含有噪声或所辨识的系统非连续,使得这一条件难以满足;利用神经网络进行系统参数辨识虽然具有以任意精度逼近非线性函数的能力,但是在实际应用中,只有选择了合适的网络结构,才能获得好的结果,但选择合适的网络结构往往是非常困难的;利用遗传算法特有的复制、交叉和变异功能以及群体寻优的方式来克服陷入局部最优解,可获得较好的模型参数估计,但是遗传算法需涉及到繁琐的编码、解码过程以及较大的计算量,而且整个种群是比较均匀地向最优解区域移动,因此其搜索效率不高。
由Kennedy等人提出的微粒群(PSO)算法[6-13]是一种有效的随机全局优化技术,已经被证明是一种很好的优化方法。PSO算法对优化目标函数形式没有特殊要求,而且没有遗传算法中的交叉、变异算子,各个算子根据自己的速度来搜索,整个搜索过程跟随当前最优解进行。目前已在许多函数优化、网络训练、参数整定等领域中得到了广泛应用。本文借助PSO算法的群体寻优能力,通过对算法的改进,将其应用到对非线性系统模型参数辨识中。
参数辨识就是在模型结构已确定的情况下, 根据已知的观测数据对(xi,yi),i=1,2,…,n求解偏差平方
此外,微粒的速度vi被一个最大速度所限制。如果当前对微粒的加速导致它在某维的速度vij超过该维的最大速度vmax,j,则该维的速度被限制为最大速度vmax,j,使得粒子不至于因为飞行速度过高而跳过可能的优化解。
2.2 PSO算法的改进
通过对式(3)、式(4)分析发现,如果粒子群的历史最优粒子位置Pgest在较长时间内没有发生变化,在粒子群体快接近Pgest时,其速度更新将由历史速度决定,于是速度将越来越小,粒子群呈现出强烈的“趋同性”,表现在式(3)中的第2项和第3项接近于0。这种“趋同性”加快了算法的搜索速度,但是却减弱了群体开拓新的搜索空间的能力。如果该最优位置为一局部最优点,则算法很容易陷入局部最优,发生早熟现象。通过粒子群优化算法的搜索机理分析发现,无论是早熟收敛还是全局收敛,微粒群中的粒子都会出现“聚集”现象。针对这个问题,本文对PSO算法作了以下改进:在微粒群从第t代向第t+1代“飞翔”时,粒子除追随个体极值Pbest和全局极值Pgest外,还追随从微粒群中随机选取的某个粒子个体极值Pn,则式(3)改写为:
2.3 算法设计
采用改进PSO算法进行非线性系统模型参数辨识研究,设计出的实现算法为:
(1)根据优化命题的复杂性,确定群体规模m和搜索空间维数D,并初始化群体的速度和位置;
(2)根据式(5),计算每一个微粒新的速度和位置;
(3)根据优化目标确定算法的适应度函数,适应度函数可以根据具体的情况来确定;
(4)对每个微粒,将其适应值与其经历过的最好位置Pg作比较。如果较好,则将其作为当前的最好位置Pg,否则继续执行下一步;
(5)对每个微粒,将其适应值与全局所经历的最好位置Pg作比较。如果较好,则将其作为当前全局的最好位置Pg,否则继续执行下一步;
(6)判断算法是否满足终止条件。若达到终止条件,则算法停止,返回当前最优个体为结果,否则,返回第二步继续。
3 仿真研究
为了验证利用改进PSO算法进行非线性模型参数估计的有效性,本文以谷氨酸菌体生长模型[5]参数优化估计为例进行了仿真研究。
菌体种子接入发酵罐以后,就在罐内按自然规律生长繁殖,在整个发酵期间,若无杂菌和噬菌体的侵袭, 罐内外没有大规模菌体迁移。菌体在发酵罐内的自然生长繁殖过程可以用Verhulst方程来描述[5]:
对上述的微分方程进行求解可得:
式(8)即可作为菌体在发酵罐内的生长模型。其中y(t)为菌体浓度,t为菌体生长时间,r、a、k为待定模型参数。
利用改进的PSO算法进行模型参数估计的目的是要确定菌体生长模型中的模型参数r、a、k使得实际观测值与模型估计值有较高的拟合度。本文利用参考文献[5]中提供的实际观测数据,通过改进的PSO算法对模型参数进行估计,见表1。
改进的PSO算法适应值函数采用如下偏差平方和形式:
根据表1中的观测数据,利用PSO算法进行参数估计,并与人工神经网络(ANN)、标准遗传算法(SGA)、改进遗传算法(IGA)、标准PSO算法4种方法进行了比较。表2给出了模型参数估计结果。
为了验证本文方法的有效性,将表2中的5种算法得到的估计值分别作为模型参数,并以表1中的实际观测数据作为检验样本,进行模型拟合度的比较。表3是谷氨酸菌体浓度实际观测值与模型拟合值,采用剩余标准差式(11)作为评价指标,表4是5种算法分别对应的剩余标准差值。
从模型拟合值和模型剩余标准差的比较结果可以看出,基于MPSO算法的模型参数估计精度略高于ANN、SGA、IGA、PSO算法,而采用ANN、SGA、IGA 3种算法也可得到较好的拟合效果。但从5种算法的实施过程来看,MPSO算法简单,需要调整的参数较少,易于编程实现、计算量小,适于在线辨识。可见将MPSO算法用于非线性模型参数估计是有效、可行的。
本文研究了用改进的PSO算法解决非线性模型参数估辨识问题,并以实例进行了验证。实验结果证明了基于改进的PSO算法的非线性模型参数估计是有效、可行的。从而为非线性模型参数估计问题提供了一种新途径。
参考文献
[1] 仇振安,何汉辉.基于广义最小二乘法的系统模型辨识及应用[J].计算机仿真,2007,24(10):89-91.
[2] 马世桡,卢建伟.极大似然估计法在高压断路器可靠性分析中的应用[J].沈阳工业大学学报,2007,29(1):41-43.
[3] 董泽,黄宇,韩璞.量子遗传算法优化RBF神经网络及其在热工辩识中的应用[J].中国电机工程学报,2008,28(17):99-104.
[4] 夏秀渝,周激流.一种混合遗传算法及其在线性系统辩识中的应用[J].四川大学学报,2005,37(1):104-107.
[5] 蔡煜东,陈常庆.用遗传算法辨识发酵动力学模型参数[J].化工学报,1995,46(3):338-342.
[6] ZHONG Wei min, LI Shao Jun, QIAN Feng. ?兹-PSO: a new strategy of particle swarm optimizition[J]. Journal of Zhejiang University SCIENCE A, 2008,9(16):786-790.
[7] 李炜,石连生,梁成龙.基于PSO-LSSVM的研究法辛烷值预测建模[J].化工自动化及仪表,2008,35(2):25-27.
[8] CUI Guang-Zhao, QIN Li-Min, LIU Sha. Modified PSO algorithm for solving planar graph coloring problem[J]. Progress in Natural Science, 2008,18(3):353-357.
[9] 成伟明,唐振民,赵春霞,等.基于神经网络和PSO的机器人路经研究[J].系统防真学报,2008,20(3):608-611.
[10] 刘晓峰,陈通.PSO算法的收敛性及参数选择研究[J].计算机工程与应用,2007:43(9):14-17.
[11] YUHUI S, EBERHART R. Proceedings of the 7th annual conference on evolutionary programming[C]. Washington: IEEE Press, 1998.
[12] YUHUI S, EBERHART R. Proceedings of the congress on evolutionary computation[C], Washington: IEEE Press, 1998.
[13] XIE Xiao Feng, ZHANG Wen Jun, YANG Zhi Lian. Overview of particle swarm optimization[J]. Control and Decision, Shenyang, 2003,18(2):129-134.
[14] MILLONAS M M. Swarms phase transition and collective intelligence[M]. MA: Addison Wesley, 2004.