当前位置:首页 期刊杂志

基于合作协同进化算法的非线性系统辨识研究

时间:2024-04-24

吕微微++张尧��

摘要:針对Hammerstein模型中的非线性环节,传统算法不易辨识,导致辨识精度低等问题。应采用合作协同进化算法利用异构双种群搜索的方式,对Hammerstein模型的线性环节和非线性环节分开辨识,在邻域模型中彼此合作构成完整解,根据适应度函数值寻求最优解。实验证明,改进算法比传统算法具有更高的精度、稳定性以及快速性,从而验证了此算法在非线性系统辨识方面的优越性。

关键词:协同进化算法;粒子群;Hammerstein模型;系统辨识

中图分类号:TB文献标识码:Adoi:10.19311/j.cnki.16723198.2017.23.089

1引言

所谓的系统辨识问题就是根据工业过程中的过程输入和输出观测数据,按照某种规则建立生产过程中的一种较为实用的模型的理论和方法。Hammerstein模型是典型的非线性系统模型,应用广泛,结构复杂,众多学者采用传统的群智能算法对该模型进行辨识,但这些算法均存在对非线性环节不易辨识问题,导致辨识精度低等缺点。

针对该问题,本文提出异构双种群合作协同算法对Hammerstein模型进行辨识,其思想为采用不同机制的双种群在解空间中并行搜索,每个种群个体均为解的一部分,在邻域模型中合作构成完整解,根据适应度函数选出最优值。仿真实验证明,这一算法有效的解决了传统算法在非线性系统辨识中的瓶颈问题,这对非线性系统辨识领域的研究具有非常重要的意义。

2Hammerstein模型的原理

Hammerstein模型由增益环节和动态线性环节构成,结构图型如图1所示。

Hammerstein模型的方程表达式为:

A(q-1)y(k)=B(q-1)x(k)+C(q-1)ξ(k)x(k)=r1u(k)+r2u2(k)+r3u3(k)+…+rpup(k)A(q-1)=1+a1q-1+a2q-2+…+amq-mB(q-1)=b1q-1+b2q-2+…+bnq-nC(q-1)=1+c1q-1+c2q-2+…+crq-r (1)

其中,q-1为滞后算子,

SymbolxA@ (k)是均值为零,方差为σ2的高斯白噪声序列,u(k)和y(k)分别为系统的输入和输出,

SymbolxA@ (k)和u(k)相互无关。

3算法介绍

合作协同进化算法进化过程中,个体的适应度表现为种群之间的相互配合,扬长避短,寻找整个群落的最佳适应度值。两个种群通过跟踪个体极值和全局极值来更新粒子的速度和位置,公式为:

vid(k+1)=wvid(k)+c1r01(pBestid(k)-xid(k))+c2r02(gBestid(k)-xid(k))

xid(k+1)=xid(k)+vid(k+1) (2)

其中,i=1,2,…,n;d=1,2,…,D;k为当前的迭代次数,c1和c2为加速因子。r01和r02是取值介于(0,1)之间的随机数。在迭代中速度、位置的最大值按下式替代:Vid(k+1)=vmaxd,vid(k+1)>vmaxd-vmaxd,vid(k+1)<-vmaxd,Xid(k+1)=xmaxd,xid(k+1)>xmaxd-xmaxd,xid(k+1)<-xmaxd

w值具有平衡全局和局部的收敛能力,两个种群分别采用式(3)和(4)更新种群1(记为s1)和种群2(记为s2)的惯性因子w值。

w1 =w1max-k(w1max-w1min)/kmax(3)

w2=(w2max-w2min).*(kmax-k)./kmax+w2min(4)

本文采用合作协同进化算法,在搜索的过程中,一个种群辨识Hammerstein模型的非线性环节,另一种群辨识线性环节,两个种群并行地、独立地进化,他们通过共享邻域模型发生合作关系,最终组成一个完整解。通过对Hammerstein模型的线性和非线性环节分开辨识,使辨识精度和收敛速度得到了很大提高,取得了很好的辨识效果。

4协同进化算法辨识非线性模型

适应度函数通常为实际输出观测模型与估计输出参数模型的差的平方和,公式为:

f(θ)=Σsi=1[y(k-i)-y-(k-i)]2(5)

其中,s为辨识窗口,y(k)为估计参数模型的输出。通过合作协同算法获得(

SymbolqA@ )的最佳值,并保留相对应的参数值。

采用改进合作协同算法辨识分析Hammerstein模型,(

SymbolqA@ )作为选取最优值的评价准则, kmax为循环停止条件,其步骤为:

(1)初始化s1和s2种群的各参数。包含规模、维数、循环次数k,加速因子c1、c2,惯性因子w。

(2)随机初始化种群s1及s2中每个粒子的初始位置和初始速度,个体最优解pBest及全局最优解gBest。

(3)种群s1辨识Hammerstein模型的非线性环节,种群s2辨识线性环节。两种群互相配合、彼此合作构成完整解,再根据(

SymbolqA@ )函数,寻得整个群落的最佳解。

(4) 两个种群分别采用式(3)和(4)更新s1和s2的惯性因子w值,再根据式(2),更新整个群落的当前参数空间。

(5)根据适应度值更新种群的pBest和gBest。

(6)判断算法终止条件,如若达到kmax值,则循环终止,否则返回第3)步。

5仿真实例

选取模型式(6)进行检验改进算法的有效性:

A(q-1)y(k)=B(q-1)x(k)+c(q-1)ξ(k)endprint

x(k)=u(k)+0.5u2(k)+0.3u3(k)+…+0.1u4(k)A(q-1)=1+1.5q-1-0.7q-2B(q-1)=q-1+0.5q-2C(q-1)=1+1.5q-1 (6)

由式(6)可知,该模型参数有8个需要估计,即: θ1=(r2,r3,r4),θ2=(a1,a2,b1,b2,c1)。

参数设置:辨识窗口s=63;种群n=40,kmax=200,两种群分别采用式(3)和(4)更新w值(其w1max=0.824,w1min=0.0615,w2max=0.932,w2min=0.327),種群1的加速因子:c1=c2=2.153,最大速度v1 max=0.1285,最大位置x1max=1,种群2的加速因子:c1=2.14,c2=2.362, v2max=0.3, x2max=2,用MATLAB软件仿真,实验结果如表1所示。

从表1中可以看出,采用不同机制的双种群在解空间中并行搜索,能够更加快速准确的找到整个群落的最优解值。辨识参数变化过程如图2所示。

图2合作协同进化算法参数估计值变化过程

从图2看出,群体在迭代120次左右,辨识出的参数向量与真值较吻合,具有好的辨识效果。说明此算法辨识精度高。验证了合作协同进化算法在非线性系统辨识中的有效性。

6结束语

本文采用改进的合作协同进化算法辨识非线性系统模型,通过多个种群之间选用不同的参数进化,并行的在解空间中寻找最优解,增强了种群的多样性。多样性的提高,使种群易避开局部极值,再经过各个种群联手合作后可以很快的寻找到最优解值,有效的提高了速度和精度,这对非线性系统辨识问题具有重要意义。

参考文献

[1]王琳, 马平. 系统辨识方法综述[J]. 电力情报, 2001,(4): 6366.

[2]TAN Aihui,WONG Hinkwan,GOD frey K. Identification of a Wiener-Hammerstein system using an incremental nonlinear optimization technique [J].Control Engineering Practice,2012,20(11):11401148.

[3]胡欣欣,尹义龙. 求解连续函数优化问题的合作协同进化布谷鸟搜索算法[J]. 模式识别与人工智能,2013,(11):10411049.

[4]刘长良,任燕燕,王东风,孟丽. 热工系统Hammerstein-Wiener 模型辨识[J]. 计算机仿真, 2013,30(9):394397.

[5]伍大清,郑建国. 基于混合策略自适应学习的并行粒子群优化算法[J]. 控制与决策, 2013,28(7):10881092.endprint

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!