一种改进的粒子群算法的分数阶控制研究

2018-10-15 06:04韦宏利陈超波
计算机技术与发展 2018年10期
关键词:阶次微积分适应度

兰 歆,韦宏利,陈超波

(西安工业大学 电子信息工程学院,陕西 西安 710021)

0 引 言

随着自动控制的发展,及其在工业、农业、交通运输和国防等各领域应用的不断提高,高精度的控制也逐步提升。倒立摆是一个非线性、多变量、强耦合、不稳定的高阶系统,具有形象、直观、结构简单、物理参数和形状易于改变、成本低廉等优势。在控制理论发展过程中,将创新的控制算法应用到倒立摆系统的控制上,可验证该控制理论的性能,评判它在实际应用中的可行性,并对各种方法的控制性能进行对比,从而提出控制效果更优的控制算法。倒立摆系统控制的方法有:PID控制[1]、状态反馈控制[2]、模糊控制[3]、拟人智能控制[4]、滑模变结构控制[5]等等。

分数阶微积分(fractional-order calculus)是传统整数阶微积分的广义形式,两者同时产生。分数阶微积分,指微分、积分的阶次是任意的也可以是分数的,优于整数阶。分数阶微积分在科技、工程和工业等领域的研究和应用不断增加。分数阶控制系统可以用时域、频域、复域进行表示,也可通过稳定性、鲁棒性、可观性、可控性等来分析。其中对分数阶具有很大影响的是Igor Podlubny教授提出的PIλDμ[6]。分数阶PID不仅是从整数阶扩充到分数阶,同时比传统的PID控制多了2个可调参数:积分阶次λ和微分阶次μ,这相当于增加了两个维度,更便于调控[7-13]。

随着PIλDμ的提出及广泛应用,对其参数寻优方法的研究受到了研究者的青睐。Vinagre[14]提出了基于相角裕度和幅值裕度方法,还提出了极点阶数搜索法(即通过估计K来搜索一对较优的极点在时域上)。文献[15]采用对称优化方法改进了相角裕度和幅值裕度。文献[16-17]采用3种方法来研究PIλDμ的参数整定。上述方法都有一个共同的特点,即控制器参数都通过大量的公式推导得出,计算量相当大且繁琐复杂。文献[18]在PIλDμ设计中加入粒子群算法,简化了结构以及参数设置,同时拥有非常强大的全局优化水平且便于实现,但是未能改善PSO算法易陷入局部最优和收敛效率低等问题。

在上述研究基础上,文中提出一种CAPSO算法,结合自适应调节惯性权重的算法和混沌粒子群算法,以避免算法的局部收敛、提高算法的精确度。

1 倒立摆数学建模与分析

文中倒立摆系统描述中涉及的符号、物理意义及相关数值如表1所示。

表1 直线一级倒立摆的参数指标

倒立摆受力分析如图1所示。

由图1可得:

(1)

Fh=Fg·cosα

(2)

Fs=Fg·sinα

(3)

对摆杆水平方向的受力进行分析可得:

(4)

对摆杆垂直方向的受力进行分析可得:

(5)

图1 倒立摆受力分析

基于力矩平衡方程得:

Fglsinαcosθ+Fglcosαsinθ+

(6)

化简得:

假设θ<<1,则可以进行近似处理:

(7)

(8)

方程化为:

令Ff=Fg(-sinα-θcosα),则上式化为:

(9)

代入实际数据后,得到:

(10)

忽略Ff,得到如下系统的微分方程:

(11)

(12)

(13)

2 分数阶PID控制器

2.1 分数阶微积分基本定义

(14)

Grünwald-Letnikov分数阶微积分定义:对于任意实数m>0,整数部分为[m](即[m]为小于m的最大整数),则函数f(t)的α阶微积分为:

(15)

其中

Riemann—Liouville分数阶微积分定义:

(16)

其中,m-1<α

Caputo分数阶微积分定义:

其中,m-1<α

2.2 分数阶控制器设计

PIλDμ控制器包括积分阶次λ和微分阶次μ,若λ=μ=0,实现P控制器,若λ=1,μ=0,实现PI控制器,若λ=0,μ=1,实现PD控制器,若λ=μ=1,实现PID控制器。若λ、μ为任意实数或者复数,得到分数阶控制器为:

G(s)=Kp+Kis-λ+Kdsμ

(18)

PIλDμ控制器设计过程中需要先进行数值实现。文中利用Oustaloup[19]逼近算法进行离散化处理后进行数值实现。对于分数阶微积分算子的数值实现是Oustaloup滤波器[15]在频率域内,对Dα进行近似处理。Oustaloup滤波器的传递函数为:

(19)

滤波器零极点和增益如下:

(20)

(21)

3 基于改进的粒子群算法的分数阶控制器参数的寻优

3.1 粒子群算法

粒子群优化算法(PSO)[20-23]在求解优化问题时,每个问题的解被看作一个个的微粒。假设在一个D维搜索空间中,由N个粒子组成的种群中第i个粒子在D维搜索空间的位置Xi(k)=(Xi1(k),Xi2(k),…,Xid(k))T。基于目标函数中的每个粒子位置表示为pi=(pi1,pi2,…,piD)T,它所对应的适应度在第i个粒子的速度Vi(k)=(Vi1,Vi2,…,Vid)T,其个体最优位置为种群的群体最优位置pg=(pg1,pg2,…,pgD)T,且1≤d≤D,1≤i≤N。则更新粒子的速度和位移:

vid(k+1)=ω(k+1)vid(k)+a1r1[pid(k)-

xid(k)]+a2r2[pgd(k)-xid(k)]

(22)

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

(23)

其中,假定粒子的编号是i=0,1,2…;a1、a2为学习因子(通常取值为2);r1、r2为分布在[0,1]区间的随机数。

3.2 改进的粒子群算法

针对PSO算法的缺陷,提出一种基于Logistic混沌搜索机制的粒子群算法,以提高粒子群的多样性和全局搜索能力。在该算法中,初始化混沌有助于增加粒子种群的多样性,而且混沌搜索可避免粒子陷入局部最优。在文献[20-24]中提出的各种混沌搜索算法都可以增强局部搜索能力。当粒子发生早熟时,由下式来更新位置变量:

yi+1=4y1(1-yi)

(24)

(25)

其中,yi∈[0,1]是混沌状态处于系统的第i个变量;δ是决定变异的一个范围。

加入自适应调整策略,既可以对惯性权重进行自适应调整,又保证了局部搜索和全局搜索之间的相互协调。在相关文献中提出了惯性权重关于时间的线性递减自调整策略,但在实际搜索时ω是非线性的过程,所以不能反映实际的优化搜索能力。对此,文中提出对ω的动态自调整策略,不仅可以控制粒子速度,而且还能平衡算法的全局搜索和局部搜索性能。具体调整方法如下:

(26)

其中,ωmax和ωmin分别为惯性权重的最大值和最小值;itermax和itermin分别为最大的迭代次数和最小的迭代次数。

当开始迭代时,迭代次数越小,惯性权重ω越大,粒子的运动速度、收敛速度都变快,从而易于全局搜索;反之,可将其作为局部搜索。

3.3 确定改进后算法的目标函数

适应度函数可作为PSO算法优化搜索的基本依据。文中采用的参数选择的目标函数是常规的ITAE性能指标。为了得到它的最小值,ITAE优化法是由系统绝对值误差与时间的乘积的积分进行表示,即适应度函数如下:

(27)

其中,假设每个粒子的位置都由一个5维向量表示,那么分数阶控制器的参数向量表示为x=(kp,ki,kd,λ,μ)。根据改进的粒子群算法进行寻优而得到的全局最优解,也是控制器参数整定的最优解。

3.4 基于CAPSO算法的PIλDμ的参数优化

利用CAPSO算法整定PIλDμ参数的步骤如下:

Step1:将参数进行初始化。即随机生成粒子的参数,如N、itermax、ω。

Step2:采用混沌的方法初始化xi、vi,将PIλDμ参数设为变量xi,在遍历范围内对xi、vi进行随机初始化。由式27计算fi(x),并与pi进行对比。若fi(x)

Step3:由式26调整ω,再由式24和式25更新xi、vi。

Step4:由式27计算更新后的适应度值,新粒子的个体和所处全局的最优位置,可得vt和xt。

Step5:判断是否到达itermax。当iter≥itermax时,转至Step7,否则转至Step6。

Step6:判断算法是否陷入局部最优。当第i个粒子连续N次满足条件f(xi)-f(pi)<η时(η为设定的常数阈值),则认为算法陷入局部最优,用式24和式25进行混沌搜索;否则转至Step4。

Step7:返回x=(kp,ki,kd,λ,μ),同时寻优完成。

3.5 Matlab仿真与分析

利用MATLAB软件对PIλDμ的参数x=(kp,ki,kd,λ,μ)进行寻优,基于Oustaloup近似算法完成逼近近似的过程。假设拟合频率范围为[10-3,103],阶次为4,N为500,itermax为1 000,采样时间为0.001 s,ωmin取0.4,ωmax取0.8。因为算法中的参数是随机产生的,所以仿真结果取500次的平均值。

由表2、3和图2所示,对PIλDμ控制器参数优化过程中的几种算法进行了对比,可见主导极点法会产生大的超调量、调节时间漫长等问题。然而,PSO算法与它相比,超调量、调节时间等都有所下降,但不令人满意。文中提出的CAPSO算法,仿真结果显示上升时间短、超调量小,目标函数ITAE值也最小,适应度值为1.912 1,优于上述两种优化算法。

表2 不同算法整定最优参数

表3 不同算法时域性能参数

图2 3种算法下的PIλDμ阶跃响应

将CAPSO算法应用于整数阶PID控制器和PIλDμ进行参数优化,阶跃响应曲线如图3所示。可见,CAPSO-FOPID的控制效果要优于CAPSO-PID,而且其调节时间更少。从仿真结果看出,超调量从25.86%降至6.50%,减小了系统的稳态误差。

图3 在阶跃信号下的两种控制器的响应

4 结束语

将一种改进的PSO算法用于传统的PID控制与分数阶PID控制中,并进行了对比仿真。结果表明,在控制性能上,分数阶控制器要优于传统PID控制器,而且CAPSO-FOPID控制器在收敛速度与精度上也得到大幅改善。该方法既达到了系统的性能要求,也满足了PIλDμ控制器参数寻优,同时也为分数阶PID控制器在倒立摆系统中的控制方法提供了参考。

猜你喜欢
阶次微积分适应度
改进的自适应复制、交叉和突变遗传算法
集合与微积分基础训练
集合与微积分强化训练
追根溯源 突出本质——聚焦微积分创新题
基于阶次分析的燃油泵噪声源识别及改善研究
阶次分析在驱动桥异响中的应用
基于齿轮阶次密度优化的变速器降噪研究
启发式搜索算法进行乐曲编辑的基本原理分析
TED演讲:如何学习微积分(续)
基于人群搜索算法的上市公司的Z—Score模型财务预警研究