APP下载

基于化学反应算法的系统辨识

2016-03-17何兴华周永华

计算机应用与软件 2016年2期
关键词:遗传算法分子优化

何兴华 周永华

(广西大学电气工程学院 广西 南宁 530004)



基于化学反应算法的系统辨识

何兴华周永华

(广西大学电气工程学院广西 南宁 530004)

摘要化学反应优化算法起源于化学反应过程中的能量变化的模拟。提出一种利用化学反应优化算法对系统进行辨识的方法。即通过建立连续系统和离散系统的传递函数结构模型,首先将系统辨识问题转化为数学上求取相关参数的全局最优估计问题,然后利用化学反应优化算法对该问题进行求解。最后给出仿真实例,并且与遗传算法进行了比较,结果表明该方法具有较好的效果,且兼具速度快、精度高等特点。

关键词系统辨识化学反应优化算法全局最优估计

SYSTEM IDENTIFICATION USING CHEMICAL REACTION OPTIMISATION ALGORITHMS

He XinghuaZhou Yonghua

(College of Electrical Engineering,Guangxi University,Nanning 530004,Guangxi,China)

AbstractChemical reaction optimisation algorithms are derived from simulating the energy changes in chemical reaction process. This paper shows how the chemical reaction optimisation algorithms be applied for system identification. That is, by building the transfer function structural model of continuous and discrete systems, first we convert the problem of system identification to a global optimal estimation problem of seeking the correlated parameters in mathematics, then we use chemical reaction optimisation algorithms to solve the problem. In end of the paper, we give some simulation examples and compare them with genetic algorithms. Results prove that our method has better effect, and has the features of both high speed and accuracy.

KeywordsSystem identificationChemical reaction optimisation algorithmsGlobal optimal estimation

0引言

L.A.Zadeh在1962年首次提出“系统辨识”这个名词:系统辨识就是在输入和输出数据的基础上,从一组给定的模型类中,确定一个与所测系统等价的模型。自此之后系统辨识开始广泛地应用于电力、化工等工程技术领域[1]。

模型参数的辨识有很多的方法,其中最小二乘法是一种经典的和最基本的方法,也是应用最广泛的方法。但是,最小二乘估计不是无偏估计且无法应用于很多非线性模型的辨识,这就亟需新的方法以解决这个问题。随着优化理论的发展,一些新的智能算法得到了迅速发展和广泛应用,成为解决传统系统辨识问题的新方法,如遗传算法[2]、蚁群算法[3]、粒子群算法[4]、差分演化算法[5]等。这些算法极大地丰富了系统辨识技术。

化学反应优化算法CRO(Chemical Reaction Optimization Algorithms)[6,7]是由Albert Y.S. Lam等于2010年才提出来。它是一种新型的模拟化学反应过程中因分子碰撞而导致能量变化的群体多目标优化算法。化学反应中分子的能量的变化使作者得到了启发。众所周知,在放热反应的发生过程中,反应物含有的总能量总是大于生成物含有的总能量的。如果把能量类比为目标函数值,这正好类似于一个寻找最小值的过程。化学反应优化算法具有群体规模动态变化、个体之间信息交换手段丰富等独有的特征。因而该算法已经开始被广泛应用到各个领域,如电力系统潮流计算[8]、配电网的重构[9]、电动汽车与可再生能源多目标协同调度[10]等。

1系统的辨识问题

1.1连续系统的辨识问题

在控制系统里,一个线性连续动态系统可以分别用时域的微分方程或频域的传递函数来表示。鉴于具体连续系统辨识问题的需要,本文采取的是用传递函数表示法[11]。对于所要辨识的系统模型:

(1)

式中an-1,…,a0和bm,bm,…,b0就是所需辨识的系统参数,辨识的目的就是在系统的输入输出和结构都给定的情况下,估计系统的参数。估计偏差则必须设定一个适应度函数,从而使系统辨识问题转换成多元函数优化问题。本文采取如下适应度函数衡量偏差:

(2)

其中,y(k)表示辨识得出的系统的对数幅频特性的采样点,yk表示实际系统的对数幅频特性采样点,z(k)表示辨识得出的系统的相频特性的采样点,zk表示实际系统的相频特性采样点,N代表采样点的个数。

1.2离散系统的辨识问题

本文将要辨识的离散系统模型:

(3)

式中an-1,…,a0和bm,bm,…,b0就是所需辨识的系统参数。离散系统的辨识过程,和连续系统的辨识过程是类似的。本文取下式作为适应度函数衡量偏差。

(4)

考虑到对于离散系统而言,系统的阶跃响应更能从图像上反应其特征。因此式(4)中y(k)表示辨识得出的系统离散阶跃响应的采样点,yk表示实际系统的阶跃响应的采样点,N代表采样点的个数。

2化学反应优化算法

2.1CRO算法操作单元

CRO算法操作的单元就是分子,并且每一个分子都有一些特性,即分子结构ω、势能(PE)、动能(KE)、撞击次数(numHit)、最小撞击次数(minHit)等。分子结构代表所求问题的解,势能代表对应的目标函数值。如果解ω是已知的,令f(ω)为式(2)中的计算结果,那么就有PEω=f(ω)。本文使用动能来衡量分子结构转变为较差结构的能力(即一个有更高函数值的解)。使用动能的目的就是使目标函数值能跳出局部最优解(极小值)继续寻优。

2.2CRO的基础反应

在CRO算法中,有四种基础反应,它们分别如下表示:

(1) 分子与容器壁之间的无效碰撞

分子与容器壁之间的无效碰撞是指分子碰到容器壁后被反弹回来。由于反应发生得不剧烈,因此反应前后的分子结构应该是变化不大的。假定一个分子碰撞前的结构为ω,分子将要获得一个新的分子结构ω′=N(ω),其中N()表示一次邻域搜索操作且N(ω)返回分子结构ω的其中一个邻域值。ω的每一个变量都需要增加一个扰动以产生ω′。即:

ω′=N(ω(i))=ω(i)+δ(i)

(5)

式中,δ(i)表示的是第i维的扰动。考虑到本文系统辨识的实际问题,与文献[7]采取标准正态分布进行扰动不同,本文采用[-0.1,0.1]之间的随机数作为扰动。

实数域上的连续优化问题通常是有约束条件的,很多连续优化问题的最优解恰好是在约束条件的边界上的。所以使用扰动进行邻域的搜索操作有可能会越界。因此本文采取混合机制[4](HS)处理越界问题。令ω′(i)为ω′中的第i个变量,u(i)和l(i)分别为上下界。那么就有下式:

(6)

其中t是[0,1]中的随机数。在这种情况下,解恰好在边界或解在边界附近的情况就不会被忽略了。

PEω+KEω≥PEω′

(7)

反应发生后的动能大小是:

KEω′=(PEω+KEω-PEω′)×q

(8)

式中,q是[KELossRate,1]中的一个随机数。KELossRate是动能损失率,(1-q)表示碰撞过程中损失到环境中的动能系数,损失的动能被存储在中心能量缓冲器中,用于支持后续分子的分解。如果式(7)不满足则反应不发生。所有的分子保持不变。

(2) 分子的分解

正常情况下,下式成立时分子才能分解。

(9)

(10)

(3) 分子之间的无效碰撞

(11)

(4) 分子的合成

分子的合成是指 2个分子碰撞后合成为1个分子。假定碰撞前2个分子的结构是ω1和ω2,反应完成后形成了新的分子结构 。由于反应是剧烈的,因此ω′的分子结构与ω1和ω2的分子结构有很大的不同。合成的机理:对于ω′里的第i个变量,产生一个[0,1]的随机数ti,ω′的第i个变量:

(12)

(13)

反应后的动能KEω′=PEω1+PEω2+KEω1+KEω2-PEω′。如果式(13)不满足则反应不发生。

2.3化学反应优化算法流程

本文取式(14)作为分子结构。

(14)

注意到本文优化的目标函数是单峰的,因此并不需要具有很强的跳出局部最优解的能力,故初始动能取0。文献[2]随机生成一系列范围在[-2,2]的初始点以形成初始分子群。但是由于Bode图的特殊性,本文将连续系统的模型辨识的随机生成初始点的范围改为[0,2]。而离散系统的辨识仍然是[-2,2]。

在算法的初始化中,需要设置一些算法参数。其中PopSize是分子群中分子的总个数。dec是分子分解的临界值,如果最优解连续出现的次数达到dec,则进行分子的分解;否则进行分子之间的无效碰撞。Syn是分子合成的临界值,当选取的2 个分子的动能都小于Syn,则进行分子合成;否则进行分子之间的无效碰撞。KELossRate是动能的损失率,即每次碰撞损失的动能占总能量的比重。collRate是分子之间的碰撞比率,它决定参与反应的分子个数是单分子还是两个分子。iniBuffer是中心能量缓冲器的初始值。FELimit是目标优化函数的一个限制值,如果目标优化函数达到FELimit则停止迭代。

算法的具体步骤如下:

步骤1设置参数,输入实际系统的采样数据。

步骤2初始化分子群。计算出它们的目标函数值,取最小点为xmin,并计算当前点的势能保存到fmin中。

步骤3从 [0,1] 间取一个随机数t,如果t

步骤4如果最优解连续出现的次数达到dec,就进行分子的分解。否则将进行分子与容器壁之间的无效碰撞。

步骤5如果选取的两个分子的动能同时小于syn,就进行分子的合成。否则进行分子之间的无效碰撞。

步骤6每次反应完成后把反应前的分子更新为反应后的分子。接着计算反应后的分子的势能并更新当前的最优解xmin及最小值fmin。

步骤7判断是否满足终止条件,若满足则终止计算,不满足则重复步骤3。

步骤8输出最优解。

化学反应优化算法的流程如图1所示。

图1 基本化学反应优化算法流程图

3仿真

3.1连续系统模型辨识过程

为验证化学反应优化算法应用于连续系统传递函数模型参数辨识的有效性,现在考虑取用文献[2]中的二阶连续模型:

(15)

其中模型有4个待辨识的参数(1.0, 1.0, 0.5, 1.0),参数的取值范围均为[0,2],且整个辨识过程参数均取正数。

本文也采用的辨识方法如下所述:

步骤1在四个参数的取值范围任意取出4个参数值,接着使用MATLAB画出其Bode图。

步骤2分别对辨识得出的系统和实际系统相同的采样点进行采样,本文采取[10-2,102]区间内按对数分布均分采样200个点,并使用式(2)计算适应度函数。

步骤3求解系统辨识问题就转化为了数学上的寻优问题,可以运用第2节介绍的化学反应优化算法进行计算。

3.2离散系统模型辨识过程

由于本文对离散系统采取的辨识方法与文献[2]是迥然不同的,文献[2]采用的是通过辨识零极点来辨识系统。因此选取的模型不具有一般性。故本文不采取文献[2]中的传递函数模型。为了实际需要,本文采取与3.1节中相似的类型:

(16)

其中模型有4个待辨识的参数(0.5, 0.0, -0.5, 0.92),参数的取值范围均为[-2,2]。本文采用的辨识方法如下所述:

步骤1在四个参数的取值范围任意取出4个参数值,接着使用MATLAB画出其离散阶跃响应图。

步骤2分别对辨识得出的系统和实际系统相同的采样点进行采样200个点,并使用式(4)计算适应度函数。

步骤3求解系统辨识问题就转化为了数学上的寻优问题,可以运用第2节介绍的化学反应优化算法进行计算。

4算例分析

4.1连续系统模型辨识结果分析

本文的仿真使用一台内存是2 GB的i3-2310m的个人电脑,运行环境是Matlab 2013a。

在参考了文献[8]之后,本文选取的化学反应优化算法参数如表1所示。

表1 化学反应优化算法的参数选择

表2中,化学反应优化算法与文献[2]中的遗传算法对于连续系统模型的辨识结果对比表明:前者所得的结果更接近与真实值。表3列出的是在同一运行环境中化学反应算法与遗传算法的结果对比,其中使用的遗传算法的程序来自Matlab 2013a自带的遗传算法工具箱。图2和图3分别为辨识得出的连续系统与实际系统的Bode图和阶跃响应对比。从表2和表3可以看出化学反应优化算法更精确地辨识出了实际系统且计算时间更少。

表2 本文与文献[2]的结果对比

表3 在同一平台下化学反应算法与遗传算法的结果对比

图2 辨识得出的连续系统与实际系统的阶跃响应图

图3 辨识得出的连续系统与实际系统的Bode图

4.2离散系统模型辨识结果分析

化学反应优化算法的辨识结果为:

(16)

通过与式(15)输入的传递函数模型作对比,可以看出辨识得出的结果还是与真实值很接近的,这说明了化学反应优化算法也可以应用于离散系统的辨识中。通过与文献[2]对比,也能看出化学反应优化算法从算法性能上相对于遗传算法的优越性。

5结语

本文通过将辨识问题转换为优化问题,以化学反应优化算法做为工具,应用于模型结构已知且可用传递函数模型进行描述的控制系统,克服了传统的最小二乘法的过程复杂、计算量大、不是无偏估计等缺点,简化了系统辨识的过程,且提高了辨识的效率。

本文仿真结果验证了该寻优过程的可行性,并且证实了化学反应优化算法相对于遗传算法在系统辨识方面的优越性。该算法还可推广到控制系统的其它优化问题的研究中。与很多优化算法一样,在应用到实际工程问题时算法参数的选择往往影响巨大,因此具体问题需要具体分析,参数的选择有赖于大量反复试验,合理调节算法的参数可以使它更易收敛于全局最优。但是该算法存在收敛速度过慢以及参数过多等问题,对于该算法的改进还有待研究和验证。

参考文献

[1] 冯培悌.系统辨识[M].杭州:浙江大学出版社,1999.

[2] Kristinsson K,Dumont G A.System identification and control using genetic algorithms[J].IEEE Transactions on Systems Man and Cybernetics,1992,20(5):1033-1046.

[3] 汪镭.蚁群算法在系统辨识中的应用[J].自动化学报,2003,29(1):103-109.

[4] 徐小平,钱富才,刘丁,等.基于PSO算法的系统辨识方法[J].系统仿真学报,2008,20(13):3525-3528.

[5] Shihlian Cheng,Chyi Hwang.Optimal Approximation of Linear Systems by a Differential Evolution Algorithm[J].IEEE Transactions on Systems,Man,and Cybernetics,2001,31(6):698-707.

[6] Lam A Y S,Li V O K.Chemical-reaction-inspired Metaheuristic for Optimization[J].IEEE Trans on Evolutionary Computation,2010,14(3):381-399.

[7] Lam A Y S,Li V O K.Real-coded chemical reaction optimization[J].IEEE Trans on Evolutionary Computation,2012,16(3):339-353.

[8] Yi Sun,Albert Y S Lam,Victor O K Li,et al.Chemical Reaction Optimization for the Optimal Power Flow Problem[C].WCCI 2012 IEEE World Congress on Computational Intelligence June,2012.Brisbane:Australia.

[9] 王淳.基于化学反应算法的配电网重构[J].电网技术,2012,36(5):209-214.

[10] 张智晟,温令云,李国,等.基于改进化学反应优化算法的电动汽车与可再生能源多目标协同调度[J].电网技术,2014,38(3):633-637.

[11] 杨承志.系统辨识与自适应控制[M].重庆:重庆大学出版社,2003.

中图分类号TP273

文献标识码A

DOI:10.3969/j.issn.1000-386x.2016.02.062

收稿日期:2014-06-28。何兴华,硕士生,主研领域:智能信息处理。周永华,教授。

猜你喜欢

遗传算法分子优化
超限高层建筑结构设计与优化思考
民用建筑防烟排烟设计优化探讨
关于优化消防安全告知承诺的一些思考
一道优化题的几何解法
分子的扩散
“精日”分子到底是什么?
米和米中的危险分子
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
软件发布规划的遗传算法实现与解释