基于改进PSO算法的加热系统分数阶控制

2018-08-07 10:53姜苏英
计算机与现代化 2018年7期
关键词:趋化种群粒子

姜苏英

(宝鸡文理学院电子电气工程学院,陕西 宝鸡 721013)

0 引 言

实际系统中很多是分数阶的[1],如加热系统、粘弹性系统等,对于这些分数阶系统,如果采用传统的PID控制算法控制效果不是很理想,必须使用分数阶控制器对这类系统进行控制,才能满足需要。分数阶PIλDμ控制器由著名学者I.Podlubny教授提出,由于该控制器引入了微积分阶次λ和μ,因此多了2个可调参数,控制器的设计变得更加灵活,控制效果有所提高,但是控制器参数整定的难度也有所增加。近年来,分数阶PIλDμ控制器应用越来越广泛,因此PIλDμ控制器参数的整定与优化也成了控制界重点关注的课题。

很多学者在分数阶PID控制器参数的整定方面做了大量研究,并取得了一定的研究成果,如文献[2]提出了一种基于给定相位裕量和幅值裕量整定分数阶PIλDμ控制器参数的方法,该方法有效地实现了控制器参数的整定,但是该算法有点复杂;文献[3-5]基于伯德理想传递函数讨论了分数阶PIλDμ的设计。上述方法均可以实现对控制器参数的整定,但是算法的实现都比较复杂。

还有很多学者使用优化算法,如遗传算法(GA)、PSO算法等整定PIλDμ控制器参数。文献[6]提出一种使用GA算法对PIλDμ的参数进行整定,但是该算法本身具有一定的局限性,如GA算法需要复制、交叉、变异操作,迭代过程复杂,因此整定的参数有时无法达到最优;文献[7]提出采用PSO算法解决PIλDμ参数的优化设计问题。PSO算法由美国学者J.Kennedy和R.C.Eberhart于1995年提出,该算法的基本思想是:随机初始化一群没有体积没有质量的粒子,将每个粒子看作优化问题的一个可行解,粒子的好坏由一个事先设定好的适应度函数来决定。每个粒子将在可行解空间中运动,并由一个速度变量决定其方向和距离。通常粒子将追随当前的最优粒子,并经逐代搜索最后得到最优解。在该算法的每一次迭代过程中,粒子都将追踪2个极值,即粒子本身能找到的最优解和整个群体能找到的最优解。在这种情况下,种群中粒子的多样性会逐渐减小,种群会很快在自身和全局近优点附近陷入局部最优,也就是说该算法容易陷入局部最优解。因此,使用传统PSO算法整定PIλDμ控制器的参数不一定是最优参数。

针对上述问题,本文提出一种基于细菌趋化的改进粒子群算法的分数阶PIλDμ参数优化方法。该方法主要思想是:将细菌趋化现象中的吸引与排斥转换操作引入带收缩因子的粒子群优化算法中,得到一种改进PSOPB算法,并使用该算法设计分数阶PIλDμ控制器的参数,使系统的鲁棒性更强。最后,以某加热系统为对象,进行仿真研究,仿真结果表明使用该算法整定分数阶PIλDμ参数更简洁,且系统的鲁棒性更好。

1 基于改进PSOPB算法的PIλDμ控制器设计

1.1 分数阶PIλDμ控制器

分数阶PIλDμ控制器的传递函数为:

(1)

式(1)中,Kp、Ki、Kd分别为比例、积分、微分增益;λ、μ分别为积分阶次和微分阶次。

本文的分数阶微积分算子均采用Oustaloup滤波器逼近。在[wb,wh]频段内实现分数阶微分算子sα的近似,则逼近表达式为[8-11]:

(2)

其中,N为非负整数,且:

(3)

(4)

(5)

由式(1)可以看出,当λ、μ为0和1的不同组合时,即为传统的P、PI、PD、PID控制器。这些类型的PID控制器都是分数阶PIλDμ的某一个特殊情况。分数阶PIλDμ控制器比传统PID控制器多了λ、μ这2个参数。通过合理地选择PIλDμ控制器的5个参数,可以提高系统的控制效果。为了使控制器的参数尽可能地趋于最优,控制效果尽可能最好,本文提出一种使用基于细菌趋化的改进粒子群算法优化分数阶PIλDμ控制器参数的方法。

1.2 基于细菌趋化的改进PSO算法

为了提高PSO算法的搜索能力,M.Clerc在SPSO算法中引入收缩因子,提出了带收缩因子的粒子群优化算法,在该算法中用收缩因子取代SPSO算法中的惯性权重。

设在N维搜索空间中,由m个粒子构成一个种群。第i个粒子的当前位置为Xi=(xi1,xi2,…,xiN)T,粒子的飞行速度为Vi=(vi1,vi2,…,viN)T,该粒子所经历的最优位置为Pi=[pi1,pi2,…,piN]T,种群的全局最优位置为Pg=[pg1,pg2,…,pgN]T,那么第i个粒子根据式(6)、式(7)更新自己的速度和位置[12-16]。

(6)

(7)

式(6)中K为收缩因子,由式(8)决定。

(8)

带收缩因子的PSO算法能更有效地控制约束粒子的飞行速度,增强算法局部搜索能力。但是,在带收缩因子的PSO算法中,每个粒子在飞行过程中都向自己的历史最优位置和群体最优位置靠近,这样,种群的多样性会失去,种群极易陷入自身及局部最优[17],因此,该算法和SPSO算法一样容易陷入局部最优解。鉴于此,本文提出一种在确保PSO算法多样性的同时不改变算法收敛速度及避免早熟收敛的方法。

本文从生物学角度研究带收缩因子的PSO算法因多样性丢失而陷入局部最优的问题。趋化是细菌群体的一种常见的生物行为。趋化机制可以使细菌个体趋向有利于自身生长的环境,而逃避不利的生长环境。本文将细菌趋化现象中的吸引与排斥机制引入带收缩因子的PSO算法中,提出基于细菌趋化的改进PSO算法。

在基于细菌趋化的改进PSO算法中,吸引操作定义为每个粒子向自身的最优位置与群体最优靠近,粒子速度按式(6)更新。

排斥操作规定为逃离粒子的历史最差位置与群体最差位置,粒子的速度按式(9)更新:

vid=K(vid-R1c1(Wid-xid)-R2c2(Wgd-xid))

(9)

式(9)中,Wid表示粒子的历史最差位置;Wgd表示群体最差位置。

因此,在基于细菌趋化的改进PSO算法中,粒子的行为既受到最优位置的影响,也受到最差位置的影响。在该改进PSO算法中,粒子被前面的最优位置和自身的最优位置吸引,同时也被自身历史最差位置和群体最差位置所排斥。当粒子受到当前最差位置排斥时,粒子向较好区域飞行的可能性更大,更有可能找到更好的位置。在改进PSO算法中,当算法为吸引操作时,多样性会逐渐失去,当算法为排斥操作时,多样性会逐渐增加。

为了确保吸引操作及排斥操作在任何情况下执行,本文使用一种多样性控制方法。多样性的度量公式[18]如下:

(10)

对于种群的多样性,可以设定一个范围dlow和dhigh,当种群的多样性小于dlow时,基于细菌趋化的改进PSO算法就会转入排斥操作机制,从而增加种群的多样性;当种群多样性大于dhigh时,该算法转入吸引操作机制,从而使种群的多样性减少。通过这种策略使种群的多样性在一个范围内,不至于太大,也不至于太小,从而保证粒子能在最短的时间内找到最优位置。

1.3 算法实现

本文选取时间与误差平方乘积的积分(ISTE)函数作为优化指标。采用基于细菌趋化的改进PSO算法整定PIλDμ控制器的5个参数,具体步骤如下:

1)初始化各类参数。根据本文情况设置以下参数:种群规模S,学习因子c1、c2,粒子维度D,粒子速度范围[vmin,vmax],多样性阈值范围[dlow,dhigh],最大迭代次数tmax,收敛精度ξ,随机给定粒子的最初位置与速度。

2)设置当前迭代次数t=0,当前模式为吸引操作,对每个粒子i执行如下操作。

3)根据适应度函数即本文优化指标,计算粒子的适应度函数值。

7)更新个体最优位置和群体最优位置,个体最差位置和群体最差位置。

8)若当前迭代次数达到了预先设定的最大次数tmax,或最终结果小于预先设定的收敛精度ξ要求,则停止迭代,输出最优解,否则转到步骤3。

2 仿真研究与分析

2.1 对象模型

为了验证本文算法的有效性,本文选取某加热系统为研究对象进行仿真研究。该加热系统主要由2个部分组成,即钢制管道和热电模块,其中管道中的物料是均匀放置的,本文只考虑一种物料的情况。

管道上纵向位置Z处的温度与加热源处热通量的动态关系如式(11)所示[19]:

(11)

其中,T(s,z)为系统输出,H(s,0)为系统输入。k=0.8209,a=33.0597,z=0.2623,α=0.7779。

通过阶跃响应辨识法,对式(11)进行降阶[19]:

(12)

其中,模型参数K=0.589,T=44.085,L=19.237,β=0.797。

2.2 参数设置

以上述加热系统为对象,使用分数阶PIλDμ控制器对其控制,控制器的参数通过文中改进粒子群优化算法整定。

采用改进粒子群算法优化PIλDμ控制器的参数,仿真过程参数设置如下:种群规模为100;最大迭代次数为100;收敛精度为0.001;惯性权重wstart=0.9,wend=0.4;学习因子c1、c2的最大值和最小值一致,分别为cmax=2.5,cmin=0.5;搜索空间Kp∈[0.001,5],Ki∈[0.001,5],kd∈[0.001,5],λ∈[0.05,2],μ∈[0.001,2];多样性阈值范围dlow=0.25,dhigh=0.35。

2.3 仿真结果分析

为了验证本文算法的有效性,分别使用GA、SPSO算法、本文改进算法来优化PIλDμ控制器的5个参数。为了确保对比的公平性,仿真过程中,各种算法的搜索空间保持一致。同时,为了消除算法随机性的影响,每个算法独立运行20次,取20次优化结果的平均值作为控制器的最终参数。分别使用这3种算法得到的控制器,对本文加热系统进行控制,系统的时间乘以误差绝对值积分指标及各算法运行20次所得平均最优适应值如表1所示,系统的单位阶跃响应曲线如图1所示。

表1 各算法的结果

算法平均适应值ITAEGA46952.041892SPSO35614.082651本文算法28480.591531

由表1可知,使用本文算法整定控制器参数,最优适应度函数值的平均值最小;使用本文算法得到的控制器对系统进行控制,系统的ITAE指标最小,因此,使用本文算法整定控制器参数,系统误差更小。

图1 3种算法相应速度对比

由图1明显可见,当使用SPSO算法、遗传算法优化控制器参数时,系统响应曲线有较大的超调,使用本文算法优化控制器参数,系统超调极小。可知,当使用本文算法得到的控制器对系统进行控制时,系统能更快进入稳态,系统响应度快,调节时间短。

图2 对象参数增大时响应曲线对比

图3 对象参数减小时响应曲线对比

当被控对象增益、时间常数及时滞均增大或减小20%时,控制器参数不变,系统响应曲线分别如图2、图3所示。由图2可知,当被控对象参数增大时,使用SPSO、GA算法,系统超调较大,而使用本文算法系统超调量很小。由图3可知,当被控对象参数减小时,使用SPSO、GA算法,系统有超调,但使用本文算法系统没有超调量。综上所述,当被控对象的参数摄动时,使用本文算法得到的控制器对系统进行控制,系统响应曲线波动小,比较稳定,本文算法控制效果更好,因此本文算法的鲁棒性更好。

3 结束语

由于分数阶PIλDμ控制器有5个参数,且各个参数之间有一定的耦合性,因此整定时比较复杂。如果使用试凑法,有时控制器参数无法达到最优,并且比较费时间;如果使用SPSO算法,由于粒子容易陷入局部最优解,所以优化得到的控制器参数可能不是最优解。由于存在上述问题,因此本文使用一种基于细菌趋化的改进粒子群算法对PIλDμ控制器参数进行优化整定,使控制器参数的调整变得简单。然后,以加热系统为对象,使用分数阶PIλDμ控制器对其控制,分别使用SPSO算法、GA、本文方法优化控制器参数,并进行仿真研究。仿真结果表明,与SPSO算法和遗传算法相比,使用基于细菌趋化的改进粒子群算法得到的分数阶PIλDμ控制器,可使系统的动态性能更好,同时还保证了系统的鲁棒性。

猜你喜欢
趋化种群粒子
山西省发现刺五加种群分布
三维趋化流体耦合系统整体解的最优衰减估计
一类描述肿瘤入侵与具有信号依赖机制的趋化模型有界性与稳定性分析
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
根际微生物组中细菌趋化系统的生态功能
带非线性扩散项和信号产生项的趋化-趋触模型解的整体有界性
基于双种群CSO算法重构的含DG配网故障恢复
基于膜计算粒子群优化的FastSLAM算法改进
Conduit necrosis following esophagectomy:An up-to-date literature review
中华蜂种群急剧萎缩的生态人类学探讨