首页 > 范文大全 > 正文

基于改进粒子群优化算法的动态数据校正技术研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于改进粒子群优化算法的动态数据校正技术研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要: 动态数据校正是根据过程模型的数据校正机制降低测量值中离群点的影响,消除随机误差,使得到的估计校正值满足能量守恒和质量守恒定律.提出了一种基于不确定知识的粒子群优化算法的动态数据校正和离群值检测方法,改进的算法在粒子优化算法的基础上引入不确定知识,在粒子寻优迭代过程中限定粒子的搜索中心和搜索范围,提高了粒子可信度,克服了粒子早熟问题,使得粒子以更快、更有效的方式向最优值靠近.连续搅拌反应槽系统(CSTR)仿真实验证明了改进方法的有效性.

关键词: 粒子群优化; 不确定知识; 动态数据校正; 离群值; 连续搅拌反应槽系统

中图分类号: TP 273文献标志码: A

Study of dynamic data reconciliation based on

a novel particle swarm optimization

ZHANG Jing, LIU Guohai, MEI Congli, YAN Lihao

(School of Electrical Engineering,Jiangsu University,Zhenjiang 212013,China)

Abstract: Dynamic Data reconciliation (DDR) is the adjustment of a set of process data based on models of the process so that the derived estimates conform to natural laws of energy and mass conservation.A novel particle swarm optimization based on uncertain knowledge (PSOUK) for DDR and outlier detection is proposed in this paper.The uncertain knowledge is introduced in particle swarm optimization (PSO) algorithm,which limits the search center and range of particles,so that the confidence of particles is improved and the premature problem can be overcome.The particles fly more quickly and effectively toward the direction close to the optimal solution.The simulation of a continuous stirred tank reactor (CSTR) verifies the effectiveness of the proposed algorithm.

Key words: PSO algorithm; uncertain knowledge; dynamic data rectification; outlier; continuous stirred tank reactor

在化工过程中,数据的准确测量是过程操作优化、工艺分析、计划调度、管理决策的基础.过程生产变量数据包括物料流量、组分、温度、压力等,而实际测量中利用仪表测量得到的数据不可避免地存在误差,因此必须对含有误差的测量数据进行校正,以便得到更加可靠和准确的校正值,保证数据集成的准确性和完整性.然而,由于仪表自身故障、测量精度下降,测量数据中往往存在离群值.这些离群值可被认为是不服从正态分布的异常数据.因此,利用动态数据校正技术消除随机误差和检测估计离群值显得十分必要.

传统动态数据校正方法可分为三类:扩展卡尔曼滤波、人工神经网络、动态非线性约束方法.Singhal等[1]提出了将扩展卡尔曼滤波和最大期望算法相结合的方法,但是扩展卡尔曼滤波需要线性模型,当模型的非线性较强以及系统噪声为非高斯时估计精度严重降低.David等[2]提出了人工神经网络方法,利用历史数据进行快速简单的系统识别,但是神经网络的建立需要大量的训练网络模型,在状态后验概率非高斯时模型精确度降低.Romagnoli等[3] 提出了动态非线性约束方法,虽然该方法有较强的鲁棒性,但是其得到的状态变量和参数估计的耗费计算时间太多.

能源研究与信息2013年第29卷

第3期张静,等:基于改进粒子群优化算法的动态数据校正技术研究

标准粒子群优化(PSO)算法在演化过程中容易陷入局部最优值而导致粒子早熟问题.为了克服这一问题,研究人员提出了很多改进算法,根据PSO算法参数特性以及实际应用背景,开展了PSO算法参数选择策略、PSO算法与其它算法混合策略、控制种群多样性策略[4-5]等研究.这些策略一定程度上提高了PSO算法的全局搜索能力,但是仍然是在PSO算法框架下根据粒子个体和群体认知向最优解方向飞行,难以从本质上克服粒子容易陷入局部最优值而导致的早熟问题.

本文提出了一种基于不确定知识的粒子群优化 (PSOUK)算法的动态数据校正方法,即在标准粒子群算法的基础上引入了不确定知识,提高粒子的可信度、克服粒子早熟问题.在动态数据校正应用时该方法不仅继承了标准粒子群优化的简单易行的特点而且具有全局搜索能力,减小了离群值对估计值的影响,因此可得到很好的校正结果.通过对连续搅拌反应槽系统(CSTR)模型的仿真研究证明了所提出的PSOUK算法比PSO算法更有效地降低离群值的影响,表现出较好的校正性能.

1动态数据校正概述

一般非线性动态数据校正实际上是一种具有动态模型约束的优化问题.其目标是求得最接近测量值的估计值.测量误差的方差加权Φ受到动态模型和非线性代数模型或者不等式约束,有

min Φ=∑ci=0[x^(ti)-x~(ti)]T・

Q-1[x^(ti)-x~(ti)](1)

式中,i为整数变量;c为样本数;x~(ti)为t时刻的变量测量值向量;x^(ti)为t时刻的经过数据校正后的变量校正值向量;t0为起始时刻;tc为当前时刻;Q为已测数据随机误差的主对角协方差矩阵,此处假定为对角阵.

约束条件:

fdx^dt,x^(t)]=0,h[x^(t)]=0,g[x^(t)≥0(2)

式中,f为微分方程约束等式;h为代数方程约束等式;g为不等式约束.

但是动态数据校正充分利用了从初始时刻到当前时刻的所有冗余信息,计算维数会随着时间的增长而不断变大.本文采用滑动窗口降低系统维数,提高计算效率.采用滑动窗口之后,目标函数改写为

min Φ=∑ci=c-H[x^(ti)-x~(ti)]T・

Q-1[x^(ti)-x~(ti)](3)

式中,H为滑动窗口的长度.

假设最近测量数据在tc时刻,则一个滑动窗口H即是从(tc-HΔt)到tc,Δt为采样时间间隔.

2改进的粒子群优化算法

2.1PSO算法

PSO算法最初是由Kennedy和 Eberhart在1995年提出,2008年Schwaab等利用它解决了参数优化问题.该算法的思想是在搜索区域中假设一群粒子,通过适应度函数评估粒子的最优位置并将最优结果保存.PSO算法中,粒子通过自身经验和群体经验调整飞行速度和方向.第i个粒子的位置矢量和速度矢量在搜索D维空间中分别表示为Xi=(xi1,xi2,xi3,…,xiD)和Vi=(vi1,vi2,vi3,…,viD).第i个粒子搜索到的历史最优位置为X*i,整个粒子群搜索到的最优位置为X*.第i个粒子在第的d+1次迭代中的速度和位置的计算式为

Vi,d+1=wVi,d+c1r1(X*i-Xi,d)+

c2r2(X*-Xi,d)(4)

Xi,d+1=Xi,d+Vi,d(5)

式中,w为惯性权重;c1和c2为加速系数;r1和r2为在[0,1]内的随机数.

PSO算法的流程如图1所示.

图1PSO算法流程

Fig.1Flow chart of PSO algorithm

2.2基于不确定知识的粒子群优化(PSOUK)算法

PSO算法中个体粒子的运动从自身行为和群体行为中学习经验、获取信息,以最优个体为学习对象,把知识仅仅局限在个体知识和群体知识.但是,PSO算法中当式(4)中r1和r2取值都较小时,粒子从个体行为和群体行为中获得的经验信息也较少,粒子速度变慢,而且失去了寻优的方向,这时粒子基本上根据惯性盲目“飞行”,此时粒子群的认知具有不确定性.粒子在缺少认知时,搜索空间中的任意一点都有可能成为粒子飞行的目标.在PSO算法基础上,如果将空间中任意一点为目标的粒子飞行行为理解为不确定知识,引入这一不确定知识以完善粒子知识结构构成,扩展粒子搜索的范围,从而使粒子知识结构重新构造为个体知识、群体知识和不确定性知识三个部分.

基于上述思想的改进PSO算法称为基于不确定性知识的粒子群优化(PSOUK)算法,其演化公式为

Vi,d+1=wVi,d+c1l1(X*i-Xi,d)+

c2l2(X*-Xi,d)+

c3l3(CD-Xi,d)(6)

Xi,d+1=Xi,d+Vi,d+1(7)

式中,l1=r1/(r1+r2+r3);l2=r2/(r1+r2+r3);l3=r3/(r1+r2+r3);CD=sgn (r4-0.5) ・L+pc;c3为加速系数; r3,r4为[0,1]之间的随机数;sgn为符号函数,表示粒子在不确定知识下飞行方向的不确定性;L为搜索空间边界到中心的距离;pc为搜索空间中心;CD表示粒子不确定性知识的边界.

3仿真研究

3.1连续搅拌反应槽系统

采用一阶反应器CSTR模型[6-7]进行仿真实验.该反应器有4个测量变量:2个进料变量(反应器的进料浓度C0和进料温度T0),2个状态变量(出料浓度CA和出料温度T).过程动态模型为:

dCAdt=FV(C0-CA)-KCA(8)

dTdt=FV(T0-T)+(-ΔHr)ArKCAρcpTr-

UAρcpV(T-TJ)(9)

K=k0exp-ET・Tr(10)

式中,K为反应速率;T为反应物温度;V为反应器容积,V=1.0×10-3 m3;F为加料浓度,F=1.0×10-5 m3・s-1;ρ为密度,ρ=1.0 kg・m-3;E为活化能,E=14 090 kJ・mol-1;cp为比定压热容,cp=1.0×10-3 J・kg-1・K;-ΔHr为反应热,-ΔHr=-2.71×104 J・mol-1;TJ为反应槽夹套的温度,TJ=340 K;k0为频率因子,k0=7.86×1012 s-1;Ar为无因次化的相对浓度,Ar=0.1 m2;Tr为无因次化的相对温度;UA为热交换系数,UA=0.5 W・m-2・K-1.

3.2PSOUK算法在动态数据校正技术中的实现步骤(1) 根据CSTR模型参数生成进料浓度、进料温度的真实值;

(2) 在真实值的基础上加上90%的高斯白噪声,10%的离群值,并以此作为测量值;

(3) 初始化参数,设定粒子种群数和最大迭代次数等;

(4) 设定k=i(i=5~100).采用PSOUK算法进行优化,将数据校正的目标函数作为粒子寻优的适应度函数,同时限制粒子的搜索中心和搜索范围,使得粒子向接近全局最优解方向飞行.将滑动窗口内测量值的平均值作为粒子搜索空间中心pc,将pc±50%作为粒子搜索的范围;

(5) 寻优并保存粒子最优位置,如迭代次数大于100,则迭代结束,执行下一步,否则,返回第(4)步;

(6) 若k>100,则循环结束,出料粒子最优位置,即样本校正值,否则k=k+1,返回第 (3)步继续运行.

3.3仿真结果分析

测量数据是由动态模型积分值加上高斯白噪声和离群值产生,其中噪声方差为测量值的5%,均值为0 的高斯白噪声.选取100个采样样本,时间间隔为2.5 s.初始值为C0=6.5 mol・m-3,T0=3.5 K,CA=0.153 1 mol・m-3,T=4.609 1 K.测量方差为σ=[0.325,0.175,0.007 5,0.205].在采样时刻30 s时,进料浓度从6.5 mol・m-3跳变为7.5 mol・m-3.

采用欧拉离散化方法将微分方程组离散为代数方程.然后用PSOUK算法求解代数方程组所约束的动态数据校正问题.图2中(a)~(d)分别给出了PSO算法和PSOUK算法对含有高斯白噪声的出料浓度、出料温度、进料浓度、进料温度的校正值,其中,DDRPSO表示利用PSO算法进行的动态数据校正,DDRPSOUK表示利用PSOUK算法进行的动态数据校正.

图2PSO算法和PSOUK算法在无离群值时的校正效果

Fig.2Correction effect of PSO algorithm and PSOUK algorithm without outliers

结果显示,PSOUK算法比PSO算法具有更好的数据校正性能,PSOUK算法校正的估计值比PSO算法更接近真实值.为了更好地说明PSOUK算法的优越性,给出了这两种方法的均方差,如表2所示.

表2无离群值时PSO算法和PSOUK算法的均方差

Tab.2Performance comparison between PSO algorithm and PSOUK algorithm without outliers

算法均方差CATC0T0PSO9.045 6×10-81.880 6×10-56.193 1×10-48.793 3×10-4PSOUK4.660 7×10-89.356 8×10-71.521 7×10-52.481 1×10-5

从表2可以看出,基于PSOUK算法校正的数据的均方差值小于基于PSO算法校正的数据的均方差值,这进一步说明了改进算法的有效性.此外,为了验证两种校正方法对数据中含有的离群值的校正能力,随机地在测量数据中加入占总体测量数据10%的离群值.基于PSOUK算法和PSO算法的动态数据校正结果如图3所示.

图3PSO算法和PSOUK算法在有离群值时的校正效果

Fig.3Correction effect between PSO algorithm and PSOUK algorithm with outliers

从仿真结果可看出,两种方法都检测出了离群值,并对离群值进行了校正,但是PSOUK算法比PSO算法有更好的校正性能,利用PSOUK算法校正的估计值更接近于真实值,有效地降低了离群值对校正数据的影响.表3中给出了PSOUK算法和PSO算法的均方差值,前者比后者的均方差值小,说明PSOUK算法具有更好的校正性能.

表3有离群值时PSO算法和PSOUK算法的均方差

Tab.3Performance comparison between PSO algorithm and PSOUK algorithm with outliers

采用算法均方差CATC0T0PSO5.451 2×10-62.758 7×10-42.220 9×10-31.491 3×10-4PSOUK1.684 8×10-67.127 6×10-55.343 2×10-46.489 1×10-5

4结论

本文提出了一种基于不确定知识的粒子群优化算法.改进算法中引入了粒子的搜索中心和搜索范围,确保了粒子向最优值飞行,克服了粒子的早熟问题,在动态数据校正中应用时降低了离群值对校正值的影响,消除了随机误差.本文所提出的方法可以很好地应用于非高斯和非线性的领域,通过CSTR模型的仿真实例验证了方法的有效性.

参考文献:

[1]SINGHAL A,SEBORG D E.Dynamic data rectification using the expectation maximization algorithm[J].AIChE Journal,2000,46(8):1556-1565.

[2]DAVID M,HIMMELBLAU,THOMAS W K.Rectification of data in a dynamic process using artifical neural networks[J].Computers & Chemical Engineering,1996,20(6):805-811.

[3]ROMAGNOLI J A,SANCHEZ M C.Data Processing and Reconciliation for Chemical Process Operations[M].San Diego:Academic Press,2000.

[4]张顶学,廖锐全.一种基于种群速度的自适应粒子群算法[J].控制与决策,2009,24(8):1257-1260.

[5]方伟,孙俊,须文波.一种多样性控制的粒子群优化算法[J].控制与决策,2008,23(8):863-868.

[6]CHEN J,ROMAGNOLI J A.A strategy for simultaneous dynamic data reconciliation and outlier detection[J].Computers & Chemical Engineering,1998,22(4):559-562.

[7]周凌柯.数据校正技术的研究与应用[D].杭州:浙江大学,2005.