APP下载

基于双变异策略差分进化算法的模糊PI参数整定

2020-06-13陈春霞孙祥娥

武汉科技大学学报 2020年3期
关键词:差分变异种群

陈春霞,孙祥娥

(长江大学电子信息学院,湖北 荆州,434024)

模糊PID控制器因融合了模糊控制优良的动态性能和PID控制器良好的稳定性能而得到广泛应用,根据所应用的系统不同,通常采用比例、积分、微分3个控制规律中的全部或部分构成3种不同的控制器,即模糊P+I+D控制器(FPID)、模糊P+I控制器(FPI)和模糊P+D控制器(FPD)。模糊PID控制器的性能与输入量化因子、输出比例因子、隶属函数以及模糊控制规则等参数的选择密切相关,而参数间的相互影响使模糊PID控制器的参数整定相比于传统PID控制器更为复杂。到目前为止,也没有特别好的适用于模糊PID参数整定的指导性方法。

随着智能优化算法的发展,其在PID控制器参数整定领域的应用已成为一个研究热点[1-5]。其中,差分进化(Differential Evolution,DE)算法因结构简单、待定参数少,在求解非线性、不可微、多极值和高维复杂函数时表现出较强的全局收敛能力和鲁棒性而受到青睐,并在PID参数优化整定中得到成功应用[6-8]。然而,差分进化算法仍然存在以下问题:进化后期的种群多样性急剧下降,全局搜索能力被削弱,导致算法极易陷入局部最优而早熟收敛[9]。为此,研究者提出了一系列针对变异策略、变异因子和交叉因子的改进差分进化算法[10-12],提高了算法的应用性能。

本文提出一种基于双变异策略协同工作的自适应差分进化算法(简称为DSDE)。该算法将经典差分进化算法中的DE/target-to-best/1和DE/rand/2两种变异策略各自生成的变异个体通过一个标量权重因子组合成新的个体,并采用随当前迭代次数变化的正弦函数来动态调整该权重因子,同时采用Z型函数根据当前迭代次数动态调整变异因子,使得算法在“开发”和“探索”之间达到一个良好的平衡,在一定程度上提高算法的收敛速度和搜索精度。然后,将该算法应用于模糊PI控制器的参数整定,并通过仿真实验来验证其优越性。

1 差分进化算法

差分进化算法是一种基于群体差异的智能优化算法,其包括初始化、变异、交叉和选择4个基本步骤。

(1)初始化。根据式(1)在解空间随机产生一个初始种群:

(1)

(2)变异操作。在初始种群中随机选择若干与当前个体xi(t)互不相同的个体xp1(t)、xp2(t)、xp3(t)、…,根据不同策略进行变异操作,生成新的个体hi(t+1)。差分进化算法常用的5种变异策略如下:

①DE/rand/1:

hi(t+1)=xp1(t)+F(xp2(t)-xp3(t))

(2)

②DE/best/1:

hi(t+1)=xbest(t)+F(xp1(t)-xp2(t))

(3)

③DE/target-to-best/1:

hi(t+1)=xi(t)+F(xbest(t)-xi(t))+

F(xp1(t)-xp2(t))

(4)

④DE/best/2:

hi(t+1)=xbest(t)+F(xp1(t)-xp2(t))+

F(xp3(t)-xp4(t))

(5)

⑤DE/rand/2:

hi(t+1)=xp1(t)+F(xp2(t)-xp3(t))+

F(xp4(t)-xp5(t))

(6)

式(2)~式(6)中:t为当前迭代次数;xbest(t)为当前最优个体;F为变异因子。

(3)交叉操作。根据式(7)将hi(t+1)和xi(t)按照一定的交叉概率进行交叉操作,产生试验个体vi(t+1):

(7)

式中:下标j代表个体向量的第j维分量;CR为交叉概率因子。

(4)选择操作。按式(8)将试验个体与目标个体基于适应度函数进行比较,确定进入下一代的个体:

xi(t+1)=

(8)

式中:f(·)为适应度函数。

按以上步骤进行迭代,直至最大进化代数或满足其他停止进化条件。

2 双变异策略差分进化算法DSDE

2.1 双变异策略

大多数基于群体的搜索算法都试图在算法的全局探索能力和局部开发能力之间取得平衡[13]。对于差分进化算法而言,一种有效的方法是通过选择合理的变异策略来实现。

在差分进化算法的5种变异策略中,DE/target-to-best/1策略因所有个体在进化过程中都朝着适应度值最好的个体进化,使得算法更快地收敛于最优值,有利于提高算法的局部开发能力;而DE/rand/2策略因基础向量的随机性以及采用两个向量差进行变异,增强了算法的全局探索能力。

有别于传统DE算法通常选取一种策略进行变异操作,本文采用双变异策略协同工作,在进化过程中使用DE/rand/2和DE/target-to-best/1两种变异策略各产生一个变异向量,并采用基于当前迭代次数的正弦函数动态调整加权因子ω,将两个向量线性组合成最终的变异个体向量。具体计算过程如式(9)~式(12)所示:

F(xp4(t)-xp5(t))

(9)

F(xp1(t)-xp2(t))

(10)

(11)

(12)

式(11)中:tmax为最大进化代数。

2.2 变异因子F

变异因子F是差分进化算法的重要参数,它控制着种群的多样性和收敛性。进化过程中,F值较小时,群体的多样性减小,算法极易陷入局部极值而过早收敛;F值较大时,群体的多样性增加,算法虽然容易跳出局部极值,但收敛速度会减慢。标准差分进化算法中F一般在[0,2]区间取一个固定值,这种取值方法不能充分发挥变异因子在不同进化阶段的作用。为此,本文采用随迭代次数的增加而减小的Z型函数对变异因子F进行动态调整,计算公式如下:

(13)

F(t)=Fmin+α(t)(Fmax-Fmin)

(14)

式中:Fmax和Fmin分别为变异因子的上限和下限。

结合式(9)~式(12)可知,在进化初期,种群多样性较高,F取较大值有利于种群朝着最优解进化的同时还能保持其多样性;在进化后期,算法逐渐收敛,F取较小值有利于在最佳区域周围进行搜索的同时适当提高种群多样性,从而提高算法的收敛速度和搜索精度。

DSDE算法的具体流程如图1所示。

图1 DSDE算法流程

3 基于DSDE的模糊PI参数整定

如图2所示,本文研究的模糊调谐PI控制器由模糊控制器和PI控制器组成。模糊控制器首先将偏差e、偏差变化ec通过量化因子Ke和Kec变换成模糊量E和EC,然后根据模糊规则对模糊输入量进行模糊推理得到模糊控制量,最后乘以相应的比例因子,输出到PI控制器,对其比例系数和积分系数进行在线修改。

图2 模糊PI控制器结构

然而,模糊调谐PI控制器的控制效果很大程度上取决于输入量化因子、输出比例因子、隶属函数和模糊规则的选择,其中输入量化因子和输出比例因子是影响全局的参数。为此,本文通过DSDE算法对模糊PI控制器参数进行整定优化,将Ke、Kec、Kup、Kui这4个参数构成一个4维向量,进行浮点数编码,组成差分进化算法的个体向量。以常用的系统性能指标函数ITAE(时间乘绝对偏差积分)作为DSDE算法的适应度函数。

4 仿真实验

在MATLAB环境下,采用某二阶系统作为仿真对象,其传递函数如下:

(15)

首先设定DSDE参数:种群规模通常为问题空间维度的5~10倍,种群数越大,种群多样性越丰富,获得最优解概率越大,但是计算时间更长,本文问题空间维度为4,为节省计算量,取种群数为维度的5倍,即NP=20;变异因子下限Fmin=0.1、上限Fmax=2;交叉概率因子CR=0.6;最大迭代次数tmax=50;个体各个维度分量的寻优范围均设为[0.001,2]。仿真开始时给系统施加一个阶跃输入信号,采样时间ts=0.001 s,仿真时长为1 s。

经过DSDE算法针对上述系统进行FPI控制器的参数整定优化,得到最优控制器参数为Ke=1.03、Kec=0.001、Kup=1.897、Kui=0.05,控制系统性能指标ITAE值为3.667。

图3为DSDE算法优化得到的性能指标ITAE变化曲线。由图3可以看出,ITAE值在进化过程中不断减小,DSDE算法收敛速度较快,且在进化后期仍然具有较强的探索能力,在第44步时收敛到最优值。

为了验证DSDE算法在FPI参数整定中的优越性,将本文DSDE-FPI与传统FPI、采用标准差分进化算法进行参数整定的DE-FPI以及基于文献[8]中自适应变异PID参数整定的AMDE-FPI进行仿真对比分析,得到二阶系统(式(15))的阶跃响应曲线如图4所示,部分性能指标(调节时间ts、峰值时间tp、超调量δ)如表1所示。

图3 ITAE指标变化曲线

图4 系统阶跃响应曲线

Table 1 Comparison of performance indexes of different control methods

控制方法ts/stp/sδ/%FPI0.2650.2286.16DE-FPI0.0690.1401.13AMDE-FPI0.0930.2200.57DSDE-FPI0.0640.1390.69

由表1可知:从这3项指标来看,DSDE-FPI均优于FPI和DE-FPI,并且DSDE-FPI的超调量比DE-FPI的超调量降低了38.9%;与AMDE-FPI相比,虽然DSDE-FPI的超调量大了0.12个百分点,但调节时间和峰值时间分别减少了31.2%和36.8%。综合来看,与FPI、DE-FPI及AMDE-FPI控制相比较,DSDE-FPI控制具有比较明显的优势。

5 结语

本文提出了一种基于双变异策略协同工作的差分进化算法DSDE。该算法选用有助于提升局部开发能力的DE/target-to-best/1变异策略以及有助于提升全局探索能力的DE/rand/2变异策略,在进化过程中同时生成两个变异个体,并采用随进化代数变化的权重因子ω将两个变异个体线性组合成一个新的个体,同时还采用随进化代数变化的Z型函数对变异因子F进行动态调节。在进化初期种群多样性较好的情况下,其朝着最优解进化的同时搜索范围也得到有效扩大;在进化后期算法收敛的情况下,种群在最佳区域周围进行搜索的同时也能适当提高多样性。从本文算法在以某二阶模型为被控对象的模糊PI参数整定中的应用效果来看,与FPI,DE-FPI、AMDE-FPI控制器相比,DSDE-FPI控制器在考虑超调量、调节时间和峰值时间3个主要指标的综合性能上优势明显。

猜你喜欢

差分变异种群
RLW-KdV方程的紧致有限差分格式
山西省发现刺五加种群分布
符合差分隐私的流数据统计直方图发布
数列与差分
变异
“最大持续产量”原理分析
由种群增长率反向分析种群数量的变化
变异的蚊子
病毒的变异
相对差分单项测距△DOR