《电子技术应用》

粒子群算法研究及其在流体矢量装置控制上的应用

2017年微型机与应用第10期 作者:王鑫,陈欣,李继广
2017/7/28 22:09:00

  王鑫,陈欣,李继广

  (南京航空航天大学 自动化学院,江苏 南京 211106)

  摘要粒子群算法对系统的依赖程度低,不要求被优化函数具有可微、可导、连续的特性。应用理论推导的方法,证明了粒子群算法在多极值目标函数下的全局收敛和局部收敛的条件,并且分析了粒子群算法中各参数对算法局部收敛速度、全局收敛能力的影响。本文主要贡献包括:分析发现粒子初始位置均匀分布可以提高算法的全局收敛能力;提出最大值的方法决定算法局部收敛速度,该函数不随权重系数单调递减;最后,将基于粒子群算法应用于流体矢量装置控制器上,仿真结果验证了该设计方法的有效性。

  关键词:粒子群算法;收敛性;收敛速度;流体矢量控制;补偿器

  中图分类号:V249文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.10.006

  引用格式:王鑫,陈欣,李继广.粒子群算法研究及其在流体矢量装置控制上的应用[J].微型机与应用,2017,36(10):18-22.

0引言

  粒子群(PSO)算法是一种基于智能的随机全局优化算法,其算法思想来源于动物行为学和社会心理学,是对生物社会系统的模拟[1]。该算法不要求被优化函数具有可微、可导、连续等条件[2],且具有思想直观、实现简单、执行效率高等优点,固而受到相关研究领域的关注[3]。

  对于多极点目标函数的搜索问题,粒子群算法存在容易陷入局部极值点的情况。为了克服该缺点,带审敛因子的变邻域粒子群方法[4]、基于局部搜索与混介多样性策略的多目标粒子群算法[5]和一种动态改变惯性权重的自适方案[68]先后被提出来以简化算法,提高算法的运行效率;粒子群算法和蚁群算法相结合,基于粒子群算法的多目标文化算法和一种基于自适应惯性权重的混沌粒子群算法大大提高了算法的搜索能力[9]。这些研究主要依据经验和仿真实验,但是对算法机理及各参数对算法收敛性影响的理论分析证明方面的研究则较少。虽然在理论上,对简化系统条件下应用线性系统分析了单个粒子的收敛问题,但是对算法的全局搜索能力、随机性、动态特性的影响的研究分析较少[10]。

  流体矢量喷管相比于机械式矢量喷管具有结构简单、质量轻、成本低、可靠性高等优点。相比于机械矢量喷管,流体矢量喷管质量减少24%~80%,发动机推质比提高7%~12%,成本和维护费用降低37%~53%。同时由于该喷管几何形状固定,消除了运动部件的缝隙,可以减小雷达散射截面,提高飞机的隐身性能[1112]。流体矢量技术可以作为新型控制舵面,为飞翼无人机控制提供了新的思路,是解决该问题的有效途径之一。

  本文应用理论方法证明,分析了粒子群算法中各参数对算法局部收敛速度、全局收敛能力的影响,给出了多极值目标函数下算法获得全局最优解的有效途径和加速局部收敛的条件,并应用本文得到的结论,给出了算法各参数的选取策略。最后,应用粒子群算法设计了流体矢量装置控制器,仿真结果验证了该粒子群算法设计应用的有效性。

1粒子群算法的分析和提出

  1.1影响局部收敛条件分析

  经典粒子群算法的更新方程为:

  vid=ωvid+c1rand()(Pid-xid)+c2rand()(Pgd-xid)

  xid=xid+vid(1)

  为了理论推导方便,本文把粒子群算法的更新方程表示成以下更具普遍意义的形式:

  v(t)=ωv(t-1)+φ1(p(t-1)-P)+φ2(pg-x(t-1))

  x(t)=x(t-1)+v(t)(2)

  算法的更新准则为:

  iff(x(t))<f(P),ThenP=x(t)

  iff(P)<f(Pg),ThenPg=P(3)

  为分析参数对算法局部搜索能力的影响,对粒子群算法做如下假设:

  (1)目标函数f(x)为单峰函数,搜索空间S为有界凸集。即目标函数f(x)在搜索空间S内满足:

  f((1-a)x1+ax2)<max(f(x1),f(x2))

  x1,x2∈Sa∈(0,1)(4)

  (2)f(Pg)≤f(p(t))始终成立。pg为群体最优值,P(t)为第t次迭代时的个体最优值。随迭代次数t的变化,P(t),Pg(t)的动态变化规律为:

  P(t+1)=x(t),f(x(t))≥f(p(t))

  P(t),f(x(t))<f(p(t))(5)

  Pg(t+1)=Pg(t),f(p(t))≥f(pg(t))

  P(t),f(P(t))<f(pg(t))(6)

  因为优化问题的搜索空间S是有限的,目标函数f(x)在搜索空间S中存在最优解,P(t),Pg(t)∈S,所以f(P(t))与f(Pg(t))存在下界。

  令limt→∞f(P(t))=f*P,limt→∞f(Pg(t))=f*g,则有:limt→∞P(t)=Sf*P={xf(x)=f*P,x∈S}

  limt→∞Pg(t)=Sf*g={xf(x)=f*g,x∈S}

  由式(2)和(3)知,limt→∞P(t)和limt→∞Pg(t)不会分别在以上两个集合的值上直接移动,而是集合中的某一固定值。所以,limt→∞P(t)和limt→∞Pg(t)存在。

  该结论说明,随着迭代次数的增加,f(P(t))与f(Pg(t))将逐步趋近于某一固定值,而P(t)与Pg(t)也将趋于稳定。也即随着迭代次数的增加,粒子群算法的随机性将减弱,P(t)与Pg(t)将趋于固定。这是个重要的结论,是下文推导的基础。

  由于P(t)与Pg(t)将趋于固定,令limt→∞P(t)=P*,limt→∞Pg (t) = P*g ,则有:

  limt→∞x(t)=limt→∞(1-a)P(t)+aPg(t)=(1-a)P*+aP*g(7)

  下面推导粒子群算法各参数对算法局部搜索能力的影响。

  随着迭代次数的增加,P(t)与Pg(t)将趋于固定,这里假设算法搜索后期P(t)与Pg(t)为固值,即P(t)=P与Pg(t)=Pg。

  令φ=φ1+φ2,根据式(2)消去相关项,可得如下差分方程:

  x(t+1)=(1+ω-φ)x(t)-ωx(t-1)+

  φ1P+φ2Pg(8)

  上式用矩阵形式表示为:

  6~H15DT`1469HWP0YER2IJ9.png

  由方程(12)知,算法收敛的充分必要条件是max(α,β)<1,且max(α,β)越小,算法的收敛速度越快。

  由算法的收敛条件max(α,β)<1以及特征根可以确定各参数的取值范围。求解不等式可得,保证算法收敛的各参数应满足:

  ω<1

  (1+ω-φ)2<4ω (13)

  由此可得,粒子群算法局部收敛条件是:

  0<ω<1

  0<φ<4

  ω>0.5φ-1(14)

  1.2全局收敛的条件

  粒子群算法是一种具有全局搜索能力的启发式算法。大量的实验证明,粒子群算法的收敛具有一定的随机性。粒子群算法所谓的收敛只是收敛到最优值Pg附近,即在迭代一定次数后,粒子只能在最优值Pg附近探索最好点。因此,本文所讨论的算法收敛指的是算法收敛于最优值附近的能力。

  为了分析算法的全局搜索能力,这里对其做如下定义:对于多峰值目标函数,粒子群算法的全局搜索能力是算法搜索最优单峰的能力。根据该定义,粒子群算法的全局搜索能力是指算法的迭代初始阶段搜索目标函数可行区域内的众多峰值中的最优峰值,并使得粒子向最优峰值附近聚集以达到局部搜索加快收敛的目的。

  差分方程(12)描述了算法的运动状态,上文的推导得出了算法收敛条件和收敛快慢的决定条件。但是要确定算法最后的收敛值还需要确定差分方程(12)中三个系数k1,k2,k3。对于多峰目标区域,上述系数并不是常数,确定各组系数是困难的甚至是不可能的。因此,对算法做如下假设:

  (1)为了使所有峰值附近同等地具有一定数量的粒子,初始状态粒子应尽可能地均匀分布在整个目标区域;

  (2)迭代初始阶段,各粒子向其附近的峰值聚集;

  (3)当更优的峰值出现时,粒子具有一定的能力向该峰值区域运动。

  根据假设(1),对目标函数峰值附近邻域进行划分得到不同的区域。在不同的区域内,粒子的运动等同于单峰目标搜索过程。

  根据算法初始化条件,令区域j内的粒子初始位置为xj0,初始速度为vj0,则有:

  1RDPDVEO0RH74M[60[[QGZ9.png

  这里a=φj1φj1+φj2为随机数。

  对于多峰目标函数,最优的Pg总是存在,且是固定的。当粒子以limt→∞x(t)=(1-a)Pj+aPjg向各自区域的最优值Pjg聚集时,由于随机数a=φj1φj1+φj2的存在,一部分粒子将跳出其所在的区域向max(Pjg)所在区域运动,并聚集到该区域继续接下来的运动。此时,若粒子具有足够的跳转速度,则可完成该粒子所在区域的转移过程,实现粒子向更优区域聚集的目的。随着该过程不断重复,所有的粒子都将聚集到最优值Pg所在的区域。此时,多峰目标函数搜索过程退化为单峰目标函数搜索过程。即最终将收敛于最优值Pg附近,算法是收敛的。

  1.3参数对收敛速度的影响分析

  从上文算法全局收敛的条件可知,为提高算法的全局搜索能力,算法应满足:(1)为了使粒子能够聚集到最优峰值Pg附近,初始时刻应使所有峰值附近均匀地具有一定数量的粒子。这就要求初始状态粒子应尽可能地均匀分布在整个目标区域;(2)在迭代过程中,当次优峰值出现时,粒子应有足够的速度聚集到该峰值附近。这要求算法具有较大的惯性系数。从上文算法局部收敛的条件可知,为提高算法的收敛速度,应使max(α,β)尽可能地小,其中α,β由式(11)确定。由于式(11)较复杂,这里固定φ值,研究max(α,β)随权重系数变化的情况,如图1所示。

  

Image 001.jpg

  由图1可知,max(α,β)值并不是随权重系数的大小线性变化,而是存在一个极小值,并且该极小值随φ值的增大而增大。因此,为了提高算法的全局搜索能力,随机数φ1、φ2应尽可能地均匀分布;搜索的开始阶段权重系数应尽可能地大;为了提高算法的收敛速度,搜索的后半阶段权重系数应根据φ值尽可能地使得max(α,β)值取到极小值。为了协调算法全局搜索能力和局部收敛速度,使惯性系数随着迭代次数的增加逐渐减小是一种有效的途径。并且,最好是上凸函数的递减关系。

  1.4初始分布的影响

  从前文的推导可知,粒子的初始分布在一定程度上决定着算法的全局搜索能力。在实际应用中,除了采用rands()函数产生随机分布粒子外,最常用的方法是采用混沌映射产生均匀粒子分布。

  应用rands()函数对粒子位置进行初始化,粒子在可行域内的分布可能并不均衡,这将对算法的全局搜索能力产生不利的影响。混沌序列具有混沌运动的遍历性、随机性等特性,能在一定范围内按自身的规律不重复地遍历所有状态。因此,应用混沌序列对算法粒子进行位置初始化设置更具优势。

  混沌模型中最具代表性的是Logistic映射和立方映射。其中,Logistic映射为:

  y(n+1)=γy(n)(1-y(n))

  0≤y(n)≤1,3.56≤γ≤4

  其中,γ为控制量,当γ=4时,系统完全处于混沌状态。

  立方映射的表达式为:

  y(n+1)=4y(n)3-3y(n))

  -1≤y(n)≤1

  只要迭代的初始值不为零,立方映射的混沌效应就会发生。

2流体矢量装置控制

  2.1流体矢量装置特性分析和建模

  流体矢量装置通过调节次流的流速,控制主流的矢量角可以提高飞机的升力,增大飞机失速迎角,达到飞翼无人机机动控制的目的。

  次流流速是影响装置矢量角度偏转的重要因素,CFD计算结果如图2所示。可以看出矢量角度随次流流速的增加而增加。当次流流速较小时,矢量角变化量很大,类似于装置的开关效应。但是,当次流速度大于20 m/s之后,主流的矢量角随次流流速的增加而增加,且具有较好的线性关系。

 

Image 002.jpg

  除二次流流速外,影响主流矢量角的因素还包括二次流吸入量(进气口面积S)、主流能量(这里用落压比NPR表示)。根据试验计算结果,FTV装置的数学模型为:

  δ=ε1sin(v/η1),0<v≤V1

  ε2Slog(η2NPR)v,V1<v≤V2

  ε3,v≥V3

  2.2流体矢量装置控制

  由于流体矢量装置的矢量角度对参数变化敏感,这里设计了粒子群自适应控制器。系统控制结构如图3所示。

  图3系统控制结构

  由于矢量角的测量存在误差,因此以次流流速为主反馈信号,矢量角信号作为辅助信号,主流矢量角的控制律为:

  H090I1LNZ_JLI64(G1MXHEN.png

  2.3仿真验证

Image 003.jpg

  为了提高算法的全局搜索能力和收敛速度,如图3所示的补偿器采用混沌函数对粒子初值进行初始化,公式如下:

  [5E}]7_SW)PUQ(D$1WE8MDY.png

  其数值仿真结果如图4所示,由图可知采用基于粒子群算法的流体矢量控制算法在系统不确定和有干扰情况下,具有跟踪输入信号的能力。

  

Image 004.jpg

3结论

  本文应用理论推导的方法,证明了粒子群算法在多极值目标函数下的全局收敛和局部收敛的条件,分析了粒子群算法中各参数对算法局部收敛速度、全局收敛能力的影响。根据推导过程,为了提高算法的全局搜索能力,随机数φ1,φ2应尽可能地均匀分布;搜索的开始阶段权重系数应尽可能地大。为了提高算法的收敛速度,搜索的后半阶段权重系数应根据φ值尽可能使得max(α,β)值取到极小值。为了协调算法全局搜索能力和局部收敛速度,使惯性系数随着迭代次数的增加逐渐减小是一种有效的途径,且最好是上凸函数的递减关系。对比分析了五种权重系数的选取方式及三种粒子位置初始化方式的影响。最后,应用粒子群算法设计了流体矢量装置控制器,仿真结果验证了该设计方法的有效性。

参考文献

  [1] 沈显君.自适应粒子群优化算法及其应用[M].北京:清华大学出版社,2015.

  [2] KENNEDY J, SPEARS W. Matching algorithms to problems:an experimental test of the particle swarm and some genetic algorithms on the multimodal problem generator[C]. Proceedings of IEEE International Conference(CEC1998),Anchorage,Alaska,USA,1998:78-83.

  [3] 刘建华,刘建伟. 基于粒子群算法的城市单交叉口信号控制[J].系统工程,2007, 25(7):83-89.

  [4] 范成礼,邢清华,范海雄,等. 带审敛因子的变邻域粒子群算法[J].控制与决策,2014,29(4): 696-701.

  [5] 贾树晋,杜斌,岳恒.基于局部搜索与混合多样性策略的多目标粒子群算法[J].控制与决策, 2012,27(6):813-819.

  [6] 张顶学,关治洪,刘新芝.一种动态改变惯性权重的自适应粒子群算法[J]. 控制与决策,2008,23(11):1253-1258.

  [7] 陈乐庚,胡锐.粒子群算法求解具有机器灵活性的FFSP[J].微机型与应用,2015,34(21):13-20.

  [8] 李锋.粒子群离散算法在无线传感网络中的应用[J], 微机型与应用,2014,33(12):53-55,60.

  [9] 周燕,刘培玉,赵静,等.基于自适应惯性权重的混沌粒子群算法[J].山东大学学报(理学版),2012,47(3);27-32.

  [10] POLI R, KENNEDY J, BLACKWELL T. Particle swarm optimization an overview[J]. Swarm Intelligence,2007, 1(1): 33-57.

  [11] SADIQ M U. Performance analysis and flowfield characterization of secondary injection thrust vector control(SITVC) for a 2DCD nozzle[D]. Los Angeles:University of Southern California,2007.

  [12] 王猛杰,额日其太,王强.激波矢量控制喷管落压比影响矢量性能及分离区控制数值模拟[J].航空动力学学报,2015,30(3):527-538.


继续阅读>>