您好, 访客   登录/注册

非线性系统模型参数估计的算法模型

来源:用户上传      作者: 魏振方 齐名军

  摘 要: 针对非线性系统模型的多样性,提出了适用于多种非线性模型的基于粒子群优化算法的参数估计方法。 计算结果表明,粒子群优化算法是非线性系统模型参数估计的有效工具。
  关键词: 粒子群优化算法; 非线性系统; 参数估计; 优化
  中国分类号:TP301.6 文献标志码:A 文章编号:1006-8228(2012)04-34-02
  An algorithm of parameter estimation of nonlinear system model
  Wei Zhengfang, Qi Mingjun
  (Hebi Occupation Technology College, Hebi, Henan 458030, China)
  Abstract: Aiming at the diversity of nonlinear system model, it is proposed in this article a parameter estimation method based on particle group optimization algorithm that is applicable to a variety of nonlinear models. The result shows that the particle group optimization algorithm for parameter estimation of nonlinear system model is an effective tool.
  Key words: particle group optimization algorithm; nonlinear system; parameter estimation; optimization
  0 引言
  非线性系统广泛地存在于人们的生产生活中,但是,目前我们对非线性系统的认识还不够深入,不能像线性系统那样,把所涉及的模型全部规范化,从而使辩识方法也规范化。非线性模型的表达方式相对比较复杂,目前还很少有人研究各种表达方式是否存在等效关系,因此,暂时还没有找到对所有非线性模型都适用的参数模型估计方法[1]。如果能找到一种不依赖于非线性模型的表达方式的参数估计方法,那么,也就找到了对一般非线性模型系统进行参数估计的方法[2]。
  粒子群优化算法[3](Particle Swarm Optimaziton,简称PSO)是由Kennedy博士和Eberhart博士于1995年提出的一种基于群体智能的优化算法,它源于对鸟群群体运动行为的研究,即粒子群优化算法模拟鸟群的捕食行为。设想这样一个场景:一群鸟在随机搜索食物,在这个区域里只有一块食物,所有的鸟都不知道食物在那里,但是他们知道当前的位置离食物还有多远,那么找到食物的最优策略是什么呢?最简单有效的方法就是搜寻目前离食物最近的鸟的周围区域。粒子群优化算法从这种模型中得到启示并用于解决一些优化问题。粒子群优化算法中,每个优化问题的解都是搜索空间中的一只鸟,我们称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值(fitness value),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。粒子群优化算法将粒子解初始化为一群随机粒子(随机解),然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个"极值"来更新自己,第一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest,另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。其基本思想[4]是模拟自然界生物的群体行为来构造解的随机优化算法,即从一组初始解群开始迭代,逐步淘汰较差的解,产生更好的解,直到满足某种收敛指标,即得到了问题的最优解。假设在一个n维的目标搜索空间中,有m个粒子组成一个群落,其中第i个粒子在n维搜索空间中的位置表示为一个n维向量,每个粒子的位置代表一个潜在的解。设为粒子i的当前位置;为粒子i当前飞行的速度;为粒子i所经历的最好位置,也就是粒子i所经历过的具有最好适应值的位置,称为个体最优位置;为整个粒子群直至当前时刻搜索到的最优位置,称为全局最优位置。将带入目标函数计算出其适应值,根据适应值的大小可以衡量的优劣。每个粒子的位置和速度按下文中式⑶和⑷两个公式迭代求得。用j 表示粒子的第j维(j=1,2,…,n),i表示第i个粒子(i=1,2,…,m),t表示第t代,c1、c2为加速度常数,通常在0~2间取值,c1调节粒子向自身最优位置飞行的步长,c2调节粒子向全局最优位置飞行的步长。,为两个相互独立的随机函数。为了减小在进化过程中粒子离开搜索空间的可能性,vij通常限定于一定范围内,即。如果问题的搜索空间限定在内,则可设定。迭代中若粒子的位置和速度超出了限定范围,则取边界值。代表第i个粒子在t时刻位置到直至t时刻搜索到的最优位置的距离,代表第i个粒子在t时刻位置到整个粒子群直至t时刻搜索到的最优位置的距离。公式⑵用于计算粒子的速度,如当前是t时刻,则粒子在t+1时刻速度是由当前时刻的速度、当前位置与该粒子的局部最优位置的距离、当前位置与全局最优位置的距离共同决定的;公式⑶用于计算粒子速度更新后的位置,它由粒子当前位置和粒子更新后的速度决定。所有粒子的初始位置和速度随机产生,然后根据上述两个公式进行迭代,不断变化它们的速度和位置,直到找到满意解或达到最大的迭代次数为止(粒子的位置即是要寻找的解)。因此,粒子群优化算法具有多点寻优、并行处理等特点。而且粒子群优化算法的搜索过程是从初始解群开始,以模型对应的适应函数作为寻优判据,从而直接对解群进行操作,而与模型的具体表达方式无关。这就决定了粒子群优化算法可适用于一般非线性系统模型的参数估计。
  1 基于粒子群优化算法的非线性系统模型参数估计方法
  1.1 问题的提出
  一般非线性系统模型可用式⑴表示。
   ⑴
  式中,y(t)为系统输出向量;u(t')为系统输入向量,0≤t'≤t;,θ为待定参数向量。f的形式已知,且u(t')已知。现已知y(t)的一组实际测量的离散数据y0(t),t=1,2,…,n。要求根据已知的y0(t)的值估计出θ的值。
  为了能够进行辩识,式⑴所代表的非线性系统模型还必须满足以下假设:①y必须可测;② 每个参数必须与输出y有关,即参数可估计;③系统的信噪比足够大,以至噪声可忽略不计;④ 只要参数确定,通过系统仿真可得到确定的输出值;⑤系统在有限时间t内不发散,即y值不趋于无穷大。
  1.2 基于粒子群优化算法的参数估计方法
  本文用一种改进粒子群优化算法自动寻找θ。具体步骤如下。
  ⑴确定适应函数:在已知各参数值的基础上,基于式⑴,可通过仿真实验求得各个时间的系统输出数值y(t)。辨识的目的是要使求得的系统输出数值y(t)尽量接近已知的系统输出数值,越接近说明仿真的效果越好,也就证明仿真所用的一组参数更接近实际参数值,因此应使这组参数对应的粒子群个体具有更小的适应值。所以,我们取y(t)曲线与y0(t)曲线之间距离的为适应值,

  即: ⑵
  ⑵随机产生n个θ。
  ⑶计算适应值fi,再根据式⑵中确定的适应函数计算出各个θ对应的适应值fi。
  ⑷计算每个粒子的适应值。
  ⑸对于每个粒子,将其适应值与所经历过的最优位置的适应值进行比较,若较好,则将其作为当前的最优位置。
  ⑹对于每个粒子,将其适应值与全局所经历的最优位置的适应值进行比较,若较好,则将其作为当前的全局最优位置。
  ⑺根据下面2个公式对粒子的速度和位置进行更新;
   ⑶
   ⑷ ⑻如未达到结束条件(通常为足够好的适应值)或达到一个预设最大代数Gmax,则返回步骤2 直至算法收敛,即所有个体基本相同,适应值很难进一步提高为止。
  2 仿真研究
  为了体现粒子群算法能适用于多种非线性系统模型的优点,我们分别以非线性系统的传递函数模型[5],非线性系统的状态空间模型及在非线性系统研究中应用较为广泛的Hammerstein 模型[6]为例进行仿真研究。
  传递函数模型的形式如下:
  
  可以看出,这是一个惯性环节加纯时滞模型,待估计的参数是比例系数K,惯性系数T 和时滞系数τ。在仿真实验中, 参数设置如下:学习因子c1=1.5,c2=2.5,惯性权重,T为最大代数,t为当前进化代数,在这里w将随着迭代次数的增加而逐渐减小,当w小于0.4时,将令w=0.4,即不再减小,以保证迭代后期粒子能够在一定空间探索更好的解。它们的群体规模是100,其他参数不变。在搜索过程中,以100代为上限(实际上,迭代50~80次即可得到满意结果)。仿真结果如表1所示。
  表1 例1 参数估计结果
  [[\&K\&T\&τ\&真实值\&10\&5\&9\&估计值\&10\&511\&9\&]]
  在例1的仿真实验中,因为模型结构简单,待定参数较少,应用粒子群算法搜索较为容易,所以为了提高运算速度,参数精度定得较底,仅为小数点后一位,但从搜索结果来看,参数估计是令人满意的。实验说明了以下几点:①用粒子群优化算法进行参数估计是有效的;②在模型较简单,需要估计的参数较少时,用粒子群优化算法进行参数估计可达到比较满意的精度。
  3 结束语
  本文在利用粒子群优化算法对非线性系统模型参数估计方面作了一些尝试,得到了比较满意的结果。仿真实验结果表明,粒子群优化算法切实可行,对非线性系统模型参数估计具有一定的实际价值和理论意义。
  
  
  参考文献:
  [1] 徐南荣,宋文忠, 夏安邦. 系统辨识[M].1991.
  [2] Goldberg D E Genetic Algorithms In Search ,Optimization [M] and Machine Learning[M] . Reading ,MA :Addison2Wesley,1989.
  [3] Kennedy J, Eberhart R C.Particle swarm optimization[C].In: IEEE
  International Conference on Neural Networks.Perth, Piscataway, NJ, Australia:IEEE Service Center, 1995; IV: 1942~1948
  [4] 张鸿宾,郭建军, 遗传算法在曲线多边形近似中的应用[J].计算机学报,1999.10:1100~1104
  [5] 方菲等.基于测试执行的失效数据建模研究[J].软件学报,1999.12:1233~1237
  [6] 郑人杰.计算机软件测试技术[M].清华大学出版社,1992.


转载注明来源:https://www.xzbu.com/8/view-1698764.htm