基于蚁群算法的分数阶随机系统状态最优估计
2020-11-12赵亚亚黄姣茹钱富才陈超波
赵亚亚 黄姣茹* 钱富才,2 陈超波
1(西安工业大学电子信息工程学院 陕西 西安 710021) 2 (西安理工大学自动化与信息工程学院 陕西 西安 710048)
0 引 言
分数阶微积分是对整数阶微积分的任意阶次扩展,处理的是非整数阶的积分与导数。目前,分数阶微积分和分数阶系统被广泛用于各种领域中的系统建模,如分数阶PID控制器[1]、黏性阻尼器[2]、路径跟踪控制[3]和无人驾驶飞行器[4]等。许多研究表明,分数阶系统与经典系统相比,具有更好的性能和精度。考虑到实际系统中,当系统受到外界随机扰动时,系统内部也会发生相应的变化,导致系统的输入输出及干扰有随机因素,且系统的部分状态变量是不可测的,又或者因为环境等因素不能直接测量。此时则需要通过设计一个状态观测器,对系统的状态变量进行较为准确的估计。因此,对分数阶随机系统状态估计问题的研究是十分重要的。
目前,国内外研究学者对分数阶随机系统的状态估计问题做了不少研究工作。文献[5-6]针对受到非高斯Levy噪声的线性和非线性分数阶系统的滤波问题进行了研究,提出了一种新的分数阶扩展卡尔曼滤波器(EKF)设计策略,对分数阶系统的状态进行估计。文献[7]针对离散分数阶随机系统,通过将非高斯Levy噪声分解成高斯白噪声加上某些极大值的和,然后剔除极大值的方法得到近似高斯白噪声的Levy噪声,提出了改进的分数阶卡尔曼滤波算法,并对分数阶的阶次进行估计。文献[8]针对离散线性分数阶随机系统,基于分数阶系统的一种新的累积向量和扩展矩阵形式模型,提出了一种通用的卡尔曼滤波方法。孙永辉等[9]针对带Levy噪声的分数阶系统,提出了两种不同的逼近方法,分别针对这两种近似方法提出了两种新的分数阶扩展卡尔曼滤波器设计策略对系统进行估计。Aoun等[10]针对带有零均值高斯白噪声的连续时间线性分数阶系统,将经典卡尔曼滤波器推广到分数阶微分处理,提出了一种新的卡尔曼滤波方法,用于解决状态估计问题。Gao[11]针对含有高斯白噪声的连续线性和非线性分数阶系统,利用Tustin生成函数代替G-L定义法实现分数阶系统的离散化,提出了基于Tustin生成函数的分数阶卡尔曼滤波器和扩展分数阶卡尔曼滤波器。Arabi[12]针对一类连续线性且带有零均值的高斯白噪声的分数阶系统,基于非线性优化的方法,设计了状态观测器,进而得到系统最优滤波增益。然而上述滤波方法或是针对离散化后的分数阶系统进行研究,计算过程比较复杂,或是利用传统的梯度迭代方法对其进行非线性化处理,对被优化函数的要求较高,具有一定的局限性。
基于以上分析,本文针对一类分数阶随机系统的状态估计问题进行研究。考虑与状态变量估计误差相关的二次型成本函数,利用分数阶微积分算子的性质对其进行化简,将分数阶系统的状态估计问题转化为非线性优化问题,再利用蚁群优化算法对与滤波增益相关的成本函数求最优,得到系统的最优滤波增益,进而实现对状态观测器的设计。与传统梯度迭代优化算法相比,本文算法对被优化函数的要求较低,误差更小,通用性和鲁棒性更好,且算法简单易操作。
1 问题描述
考虑如下分数阶随机系统:
(1)
式中:Dα是基于Caputo定义下的分数阶微分算子;α是分数阶阶次且0<α<1;x∈Rn是系统状态向量,u∈Rm是系统控制向量;y∈Rn是系统输出向量;A、B、C是相应维数的常数系数矩阵;w(t)和v(t)是不相关的高斯白噪声,满足:
E(wwT)=W≥0
(2)
E(vvT)=V>0
(3)
E(wvT)=0
(4)
式中:E(·)表示数学期望。
设计如下形式的状态观测器:
(5)
为了实现状态观测器的设计,进而得到系统的最优状态观测器增益,需要对与状态估计误差相关的成本函数求最优值。
(A-LC)h(t)+w(t)-Lv(t)
(6)
考虑如下与系统状态变量估计误差相关的成本函数:
(7)
则式(1)的状态估计问题可以转换成如下优化问题:
(8)
s.t.Dαh(t)=(A-LC)h(t)+w(t)-Lv(t)
吴立表示,从国外经验来看,短期内在国内根除非洲猪瘟疫情并不现实,防控将是持久战。中小散户发生猪瘟疫情的概率要远大于规模化养殖场。目前国内的生猪调运已基本停止,且生猪调运限制将长期存在。政策导向上将保护种猪场及规模场,加速中小养殖场的退出。
(9)
针对式(1)中的状态估计问题,考虑与状态变量估计误差相关的二次型成本函数,将该系统的状态估计问题转化为优化问题进行处理。对于这类优化问题,多用传统的梯度迭代方法对其求最优解,但如果被优化函数比较复杂时,对其求偏导得到梯度值可能获得局部最优解,所以传统的梯度迭代方法具有一定的局限性。本文采用基于蚁群算法的方法去解决该优化问题。
2 基于蚁群算法的状态估计
为了实现状态观测器的设计,利用分数阶微积分的特性[13],对系统的状态变量估计误差进行化简得到与滤波增益相关的非线性函数,再利用蚁群算法对该成本函数求最优,进一步得到系统的最优滤波增益。
2.1 成本函数的推导
为了得到与滤波增益相关的h(t),首先,根据Caputo分数阶微分算子的性质:
n-1≤α (10) 对式(6)进行Laplace变换[14]: L{Dαh(t)}=sαH(s)-sα-1h0 (11) 则: sαH(s)-sα-1h0=(A-LC)H(s)+w-Lv (12) 又因为: (13) 对式(11)进行Laplace逆变换可以表示为: (14) 式中:Et(α,c)是Et函数,与经典的M-L函数有一些相似之处[15-16],定义为: (15) 式中:Γ为Gamma函数。 则系统的二次型成本函数重新表达如下: (16) 蚁群算法的基本思想类似于粒子群优化算法。通俗地说,蚂蚁在寻找食物的过程中,需要绕过障碍物,寻找一条最优的路径。蚂蚁们在前进的过程中,可以通过释放的一种和路径相关的信息素去引导选择,路径长短和所释放的浓度是成正比的。随着最短路径上的激素浓度越来越大,所有蚂蚁自然而然会转移到较短的路径上。在整个寻找最优路径的过程中,虽然单只蚂蚁的能力是有限的,但是通过激素的作用,彼此互相交流信息共享,最终能找到最优的路径[17]。 函数优化的问题,一般就是函数极值寻优的问题。文中主要是利用蚁群算法对分数阶随机系统中与状态估计误差相关的性能指标求最优(二维函数)。在上述寻优过程中,信息素更新公式如下: (17) 状态转移概率公式为: (18) 式中:ρ为信息素挥发系数;fitnessbest为最优解蚂蚁的信息素浓度;fitnessi为当前蚂蚁的信息素浓度。 具体优化流程如图1所示,在优化的过程中,将如下与滤波增益相关的性能指标作为算法中的适应度函数: (19) 图1 基于蚁群算法的性能指标优化流程图 通过利用蚁群算法对与系统滤波增益相关的成本函数求最优得到最优解L即分数阶系统的最优滤波增益,进一步实现状态观测器的设计,得到系统状态的估计值。 表1 两种优化算法的数据对比 图2 α=0.5时x1(t)的真实值和估计值的状态响应曲线 图3 α=0.5时x2(t)的真实值和估计值的状态响应曲线 图4 α=0.5时基于传统梯度迭代优化算法和基于蚁群算法得到的误差e1(t)的状态响应曲线 图5 α=0.5时基于传统梯度迭代优化算法和基于蚁群算法得到的误差e2(t)的状态响应曲线 分析表1数据可知,当取误差变量的初始状态为[h1(0)h2(0)]=[0.5 -2]时,利用蚁群算法对与滤波增益相关的二次型成本函数求最优,得到系统的成本函数为1.405 0。当误差变量的初始条件h0取不同值时,相比较而言,基于蚁群算法得到的二次型成本函数值比基于传统优化算法得到的二次型成本函数值更小。 由图2和图3可以看出,本文提出的基于蚁群算法的状态估计策略能够很好地估计出系统状态的真实值。由图4和图5很明显可以看出,系统的状态估计值与真实状态值的误差逐渐趋于零。与传统梯度迭代优化算法相比,基于蚁群算法的误差值更小。所以本文设计的状态观测器是有效的,且结果优于传统优化方法。 本文针对一类分数阶随机线性系统的状态估计问题进行研究。首先,设计一种状态观测器,进一步得到系统的误差方程,利用分数阶微分算子的性质将其化简得到与滤波增益相关的成本函数,并考虑从优化角度去解决分数阶系统的状态估计问题。再利用蚁群优化算法对相应的成本函数求最优值,即系统的最优滤波增益,最终得到系统状态的估计值。通过数值例子,对比分析基于传统梯度迭代优化算法与基于蚁群算法的状态策略,验证了该算法的可行性与有效性。2.2 基于蚁群算法的观测器增益设计
3 仿真分析
4 结 语