自适应变异粒子群算法

2024-10-05

自适应变异粒子群算法(共4篇)

自适应变异粒子群算法 篇1

1 引言

永磁同步电机(PMSM)广泛用于柔性制造系统、风力发电和精密伺服系统等。但是,它的物理参数容易受到温度、定子电流和磁通饱和等因素的影响,获得准确可靠的物理参数是永磁同步电机系统稳定可靠运行的关键。精确的电机参数和先进的控制思想是设计电机控制器的基础,电机参数准确程度直接影响控制器控制性能的好坏。因此,需要研究相应的辨识算法来估计准确的电机参数信息。

将递推最小二乘法[1]、扩展卡尔曼滤波器法[2]和神经网络辨识方法[3]等传统方法应用于电机参数辨识时,需要对电机模型进行复杂的变换,因此,这些方法对具有非线性时变特征的参数和多参数的辨识还相当困难。近年来,许多智能优化算法如蚁群算法、遗传算法和粒子群算法等[4,5,6,7]被引入到电机参数辨识中,取得了很好的效果。文献[4]将粒子群算法用于感应电机的参数辨识中,仿真证明粒子群算法的辨识精度比蚁群算法更高。文献[5]提出了平均最好位置和柯西变异相结合的改进粒子群算法,对永磁同步电机定子绕组的电阻、电感和磁链进行辨识,实验证明该辨识方法搜索精度高,稳定性好。文献[6]提出了一种双模态自适应小波粒子群的永磁同步电机多参数识别与温度监测方法。文献[7]提出用蚁群矢量移动算法同时辨识永磁同步电动机负载运行时的转动惯量和负载转矩。

本文介绍了一种新的自适应变异概率的混合变异粒子群优化算法,并将其应用于PMSM的参数辨识。本文首先建立了永磁同步电机的非线性参数模型,采用矢量控制的永磁同步电机得到电机实际电压电流数据,利用新的自适应变异概率的混合变异粒子群优化算法辨识了电机模型的定子绕组电阻、dq轴电感和永磁磁链等参数。

2 PMSM数学模型

2.1 PMSM模型

本文中忽略PMSM的磁场饱和、铁损和涡流损耗,PMSM dq坐标系的电压方程和磁链方程分别为:

式中,ud、uq为d,q轴上的电压分量;id、iq为d,q轴上的电流分量;ψd、ψq为d,q轴上的磁链;R为定子绕组电阻;Ld、Lq为d,q轴上的等效电枢电感;ψf为永磁铁产生的磁链;υ为电气角度转速;在PMSM模型中,p={R,Ld,Lq,ψf}是需要辨识的参数。

当id=0时,对dq轴电流进行解耦,使定子电流只有q轴交流分量,在电机电流处于稳态时,将式(2)代入式(1)并进行离散化可得:

由于有四个参数需要辨识,在电机电流稳态时通过在短时间内注入一个id≠0的d轴电流,得到另一个二阶电机dq轴模型为:

综合式(3)和式(4),得到一种四阶PMSM电机dq轴辨识模型为:

则构造PMSM辨识模型的适应度函数如下:

式中,为实际PMSM模型dq轴定子电压输入;w1、w2、w3和w4为权重。

2.2 矢量控制方法

本文中采用id=0的控制方法对永磁同步电机进行控制。该控制策略可实现dq轴电流解耦。图1为永磁同步电机矢量控制框图。

3 基本粒子群算法

粒子群算法是由美国心理学家Kennedy和电气工程师Eberhart博士在1995年提出的。该算法通过定义带有速度和位置的粒子来搜索问题空间,通过种群中粒子的个体最优位置和全局最优位置指导下一代粒子速度和位置的更新,使种群收敛于全局最优位置。基本粒子群算法的速度和位置公式如下:

式中,w为惯性权重系数;ptibest代表第i个粒子的个体最优位置;gtbest代表所有粒子获得的全局最优位置;c1和c2为常数学习因子;r1和r2都是[0,1]上均匀分布的随机数;vit和xit分别表示第i个粒子在t次迭代时的速度和位置。

在本文中,选用现在比较常用的线性惯性权重更新公式:

式中,wmax、wmin分别表示惯性权重取值的上下限;M为总迭代次数;本文中,wmax、wmin分别取值为0.9、0.4。

4 自适应变异概率的混合变异粒子群算法(AMPSO)

4.1 自适应变异概率和全局最优混合变异

本文提出了一种基于聚集度的自适应变异概率和混合变异策略的粒子群优化算法。具体实施方法如下。若ftavg、ftmax和ftmin分别代表第t代的平均适应值、最大适应值和最小适应值,f(xit)代表第t代第i个粒子的适应值,则第t代粒子的聚集度δ计算如下:

聚集度δ能够反映粒子的多样性,当δ越大,则粒子的多样性就越好,当δ越小时,粒子的多样性就越差。因此,聚集度δ可以动态地调节每代粒子的变异概率,设第t代的变异概率为pmt,计算公式如下:

式中,α用来调节变异概率变化快慢,为一常数,取值范围为[2,4]。

本文采用对粒子最优位置进行变异的方式,如果rand∈[1,pmt],采用高斯分布和柯西分布对粒子最优位置gbest进行混合变异。高斯变异公式为:

柯西变异公式为:

式中,pg表示全局最优位置和全局次优位置中随机的一个;Cauchy为柯西分布的随机数。

全局最优混合变异策略(mut1)的伪代码如下:

4.2 最差个体最优的自适应小波变异

在4.1节所述混合变异策略中,利用了全局最优和次优极值进行变异,而没有利用较差个体最优。在种群中,较差个体最优对粒子的指导作用有限,因而,对较差个体最优进行变异有利于加快群体的收敛速度。本文采用自适应小波变异来改进最差个体最优,从而加快群体的进化速度。其母波函数为:

本文选择Morlet小波,公式如下:

小波幅值ψ(x)随着参数a的增加而不断地减少,为了自适应调节小波幅值ψ(x),本文提出自适应参数a,其表达式为:

式中,k和a0为正常数,文中k设定为10,a0设定为5。

求出最差个体m第j维的个体最优位置pmjbest,最差个体最优的自适应小波变异策略(mut2)如式(18)和式(19)所示:

4.3 AMPSO算法辨识PMSM参数的实现

在PMSM模型中,p={R,Ld,Lq,ψf}是需要辨识的参数,将其设置为粒子的位置,AMPSO算法辨识PMSM模型参数的实现步骤如下:

(1)初始化粒子群算法参数(每个粒子速度和位置),根据公式(5)求出理想的dq轴电压{ud0,uq0,ud,uq},计算PMSM辨识模型的适应度函数f(p),求出pibest和gbest。

(2)判断算法是否满足停止条件,是,执行步骤(6);否,执行步骤(3)~步骤(5)。

(3)根据式(7)~式(9)更新粒子的速度和位置。

(4)根据4.1节和4.2节的变异策略mut1和mut2进行变异。

(5)根据式(5)求出理想的dq轴电压{ud0,uq0,ud,uq},计算PMSM辨识模型的适应度函数f(p),更新pibest和gbest。

(6)输出最优的辨识参数p={R,Ld,Lq,ψf}和最优适应值f(p),算法运行结束。

5 实验验证与结果分析

5.1 实验设置

本实验在Windows 7的Matlab/Simulink软件平台上进行。其中,实验PC机软硬件配置为:Intel(R)core(TM)i3-3240处理器,主频3.4GHz,内存4GB。图2为基于AMPSO算法的PMSM多参数辨识模型,其中,。表1为永磁同步电机的设计参数。在PMSM的电流稳态时注入d轴电流,时间为50ms。分别在id=0时和id≠0时对信息量进行采样,采样时间为10-4s,数据长度为300。

本文借鉴了其他四种算法来进行对比,四种算法分别为耗散粒子群优化算法(DPSO)[8]、自组织分层粒子群优化算法(HPSO)[9]、微分进化混合粒子群优化算法(MPSO)[10]和速度差分变异粒子群优化算法(VDMPSO)[11]。实验参数设置如下:种群规模均为30,w=0.7、c1=c2=2、α=3。为了减少实验统计误差,所有实例独立运行20次,最大迭代次数为100。

5.2 试验结果与分析

表2分别列出了PMSM辨识模型的适应度函数优化结果的平均值(Mean)、最大值(Max)、最小值(Min)、方差(Std.dev)、t-value和平均消耗时间(Time)。表3分别列出了这五种算法对PMSM参数的辨识结果。t-value为采用双边t-test的统计学方法计算四种算法所得结果优劣的统计值,表2中,如果t-value为正,则表示算法1的寻优性能优于算法2,反之,则算法2的优化性能优于算法1;表3中,如果t-value≤2.1,则表示辨识结果与真实值无明显差异具有98%的置信度。其中加黑数字表示这五种算法的最优结果。

从表2中可知,AMPSO算法优化的适应值的平均值、最大值、最小值、方差和t-value值均优于DPSO、HPSO、MPSO和VDMPSO,证明AMPSO算法对PMSM参数辨识效果要好于其他四种算法。从平均消耗时间来看,AMPSO算法和其他四种算法相比没有明显优势。从表3中可知,AMPSO算法辨识电机参数的平均值、方差和t-value值的绝对值均比其他四种算法小,说明AMPSO算法对PMSM多参数辨识精度稳定性高,辨识结果与真实值无明显差异,具有98%的置信度。

图3为PMSM多参数辨识模型适应值收敛曲线,图4~图7为参数辨识过程的收敛曲线。

图4~图7中纵轴分别代表五种算法对PMSM的绕组电阻、d轴电感、q轴电感和永磁磁链的计算结果。从图3~图7可以看出,AMPSO算法解决PMSM参数辨识问题的收敛精度有明显提高。

6 结论

本文针对PMSM参数辨识问题,提出了一种自适应变异概率的粒子群算法。针对永磁同步电机多参数辨识问题,AMPSO能够准确地辨识出永磁同步电机定子电阻、d轴电感、q轴电感和永磁磁链,在电机参数辨识中具有良好的性能。通过仿真实验,证明该方法对PMSM参数辨识具有精度高、稳定性好的特点。

参考文献

[1]何晋伟,史黎明(He Jinwei,Shi Liming).一种基于静态特性的直线感应电机参数辨识方法(An identification method for linear induction motor parameter based on static characteristics)[J].电工电能新技术(Advanced Technology of Electrical Engineering and Energy),2009,28(4):50-53.

[2]Bolognani S,Tubiana L,Zigliotto M.Extended Kalman filter tuning in sensorless PMSM drives[J].IEEE Transactions on Industry Applications,2003,39(6):1741-1747.

[3]汪镭,周国兴,吴启迪(Wang Lei,Zhou Guoxing,Wu Qidi).神经网络辨识方案在异步电机传动系统参数辨识中的应用讨论(Application of Hopfield neural network in asynchronous motor parameters’identification)[J].电工电能新技术(Advanced Technology of Electrical Engineering and Energy),2001,20(2):58-63.

[4]陈振锋,钟彦儒,李洁(Chen Zhenfeng,Zhong Yanru,Li Jie).感应电机参数辨识三种智能算法的比较(Comparison of three intelligent optimization algorithms for parameter identification of induction motors)[J].电机与控制学报(Electric Machines and Control),2010,14(11):7-12.

[5]傅小利,顾红兵,陈国呈,等(Fu Xiaoli,Gu Hongbing,Chen Guocheng,et al.).基于柯西变异粒子群算法的永磁同步电机参数辨识(Permanent magnet synchronous motors parameters identification based on Cauchy mutation particle swarm optimization)[J].电工技术学报(Transactions of China Electrotechnical Society),2014,29(5):127-131.

[6]刘朝华,周少武,刘侃,等(Liu Zhaohua,Zhou Shaowu,Liu Kan,et al.).基于双模态自适应小波粒子群的永磁同步电机多参数识别与温度监测方法(Permanent magnet synchronous motor multiple parameter identification and temperature monitoring based on binary-modal adaptive wavelet particle swarm optimization)[J].自动化学报(Acta Automatica Sinica),2013,39(12):2121-2130.

[7]王少威,万山明,周理兵,等(Wang Shaowei,Wan Shanming,Zhou Libing,et al.).利用蚁群算法辨识PMSM伺服系统负载转矩和转动惯量(Identification of PMSM servo system’s load torque and moment of inertia by ant colony algorithm)[J].电工技术学报(Transactions of China Electrotechnical Society),2011,26(6):18-25.

[8]Xie X F,Zhang W J,Yang Z L.A dissipative particle swarm optimization[A].Proceedings of the IEEE International Conference on Evolutionary Computation[C].Honolulu,USA,2002.1456-1461.

[9]Ratnaweera A,Halgamuge S,Watson H C.Self-organizing hierarchical particle swarm optimizer with time-varying acceleration coefficients[J].IEEE Transactions on Evolutionary Computation,2004,8(3):240-255.

[10]Zhang W J,Xie X F.DEPSO:Hybrid particle swarm with differential evolution operator[A].Proceedings of IEEE International Conference on System,Man and Cybernetics[C].Washington D C,USA,2003.3816-3821.

[11]江善和,王其申,江巨浪(Jiang Shanhe,Wang Qishen,Jiang Julang).一种速度差分变异的粒子群优化算法(Particle swarm optimization algorithm based on velocity differential mutation)[A].中国控制与决策会议(Chinese Control and Decision Conference)[C].2009.1860-1865.

自适应变异粒子群算法 篇2

近年来多种启发式优化算法如遗传算法、Tabu算法、模拟退火算法等被用来求解电力系统无功电压优化控制问题[1,2,3,4]。改善了电力系统电压质量不稳定、电能损耗比较大的状况。但这类算法也存在容易陷入局部最优、后期搜索效率不高的问题。

许多文献验证, 在同样求解精度条件下, Tabu算法可节约20%的求解时间[5]。但常规Tabu算法对初始解具有较强的依赖性, 且可能在大范围 (超出禁忌表长) 内迂回搜索。模拟退火能以较大的概率获得全局最优, 要求退火过程不能太快, 使得算法收敛较缓慢。遗传算法适用范围比较广, 寻优能力较强, 程序实现简单, 适合于求解类似无功规划优化等复杂非线性优化问题, 但计算速度比较慢。与遗传算法相比, 粒子群算法的信息共享机制很不同:在遗传算法中, 染色体互相共享信息, 整个种群的移动是比较均匀地向最优区域移动, 在粒子群优化算法中, 信息单向流动, 即只有粒子历史最优位置gbes将信息传给其他的粒子, 搜索更新过程跟随当前最优解。据实验分析可得出粒子群优化算法在多数的情况下, 比遗传算法更快地收敛于最优解[6]。

粒子群算法[7]因其简单易行, 优化效率高, 鲁棒性较好等特点, 能方便地被用于求解带离散变量的非线性、不连续、多约束、多变量的复杂优化问题中[8,9]。PSO种群的初始化一般随机生成, 和遗传算法类似, 也存在如早熟与速度爆炸等问题, 即算法前期搜索速度较快, 但搜索后期粒子不断向个体最优和群体最优两个“最优值”靠近, 粒子渐趋同一化, 极易收敛于局部而不是全局最优。

本文提出一种自适应强引导粒子群的电力系统无功优化算法即在粒子群无功优化算法的基础上引入强引导思想[10,11], 在搜索初期, 利用外推对粒子位置的更新加以引导, 解决传统粒子群算法随机性较强的问题, 利用群体适应度方差判别种群的多样性, 并相应调整变异概率以作出变异判别实现自适应调整全局和局部搜索能力, 更有利于跳出局部最优, 可以更有效地搜索到全局最优解。

2 无功优化数学模型

2.1 目标函数

在保证系统无功平衡的条件下, 以发电机端电压、有载调压变压器电压比、补偿的电容器容量等控制变量为控制手段, 以降低系统网络损耗、改善电能质量为目标, 其目标函数如下:

其中, nG、nL、n分别为发电机节点总数、负荷节点个数、网络所有支路数;Ploss为系统有功损耗;Ui、Ui m ax和Ui m in为节点电压、节点电压上限和下限;QG i、QG i m ax和QG i m in为发电机节点无功出力、无功出力上限和下限;λv、λQ为相应的越界惩罚系数;Ui lim、QG i lim的取值为

2.2 变量约束

状态变量即发电机无功功率QG i和负荷节点电压Ui以及控制变量电容器补偿容量QC i、可调变压器电压比Ti和发电机端电压的UG i约束如下:

2.3 功率约束方程

功率约束方程见式 (4) 。式中, PG i、QG i分别为发电机节点有功、无功出力;PLi、QLi分别为负荷节点有功、无功功率;Gij、Bij、δij分别为节点i、j之间的电导、电纳和电压相角差;n为节点总数;nP Q为系统PQ节点个数。

3 粒子群算法及其实现

3.1 粒子群算法基本原理

在d维的目标搜索空间中, PSO初始化为n个随机粒子, 其中第i个粒子表示为一个d维的位置向量xi= (xi1, xi2, …xid) , i=1, 2, …n。每个粒子对应的空间位置都是一个潜在解, 把空间位置向量xi代入目标函数计算出相应的适应值f (xi) , 根据适应值评价粒子xi的优劣。对于最小化问题, 目标函数值越小, 对应的适应值越理想。第i个粒子的飞行速度以d维向量:vi= (vi1, vi2, …vid) , i=1, 2, …n表示, 第i个粒子以及整个粒子群迄今为止搜索到的最优位置分别为pgs= (pg1, pg2, …pgd) 和pis= (pi1, pi2, …pid) , i=1, 2, …n。粒子根据式 (5) 和式 (6) 来更新自己的飞行速度和位置[12,13]:

式中, xi (dt+1) 、xi (dt) 、vi (dt+1) 、vi (dt) 分别表示第i个粒子在t+1和t次迭代的空间位移与运动速度;ω为惯性系数, 按式 (7) 进行自适应调整随进化线性减少[14]。ωm ax、ωm in惯性系数上下限;iterm ax、iter分别表示迭代最大值和当前迭代次数;非负常数c1、c2是学习因子, 分别表示粒子个体和群体的加速权重;r1、r2分别表示与粒子个体及群体加速权重系数相关的随机初值, 为[0, 1]间的随机数;为防止粒子逃离解空间, 每维粒子速度vid∈[-vm ax, vm ax], 迭代终止条件一般为设定的最大迭代次数或粒子群已搜索到的最优位置满足预定最小适应阈值。

3.2 强引导型粒子群算法

本文的粒子群算法引入强引导思想, 结合随机数产生虚拟位置, 搜索过程较传统的PSO寻优位置更新多样化。结果表明该算法在稳定性、收敛性以及搜索效率上比基本粒子群算法有明显的改进。

设两个变量x1= (x11, x12, …x1 n) , x2= (x21, x22, …x2 n) , xi∈[xi m in, xi m ax], i=1, 2, …n, 且f (x1)

其中, k>0为调节系数, 决定调节的幅度, 一般根据经验取0.1。

对于单变量函数f (x) 利用外推调节原理求极小值的情况[11]。设变量x1、x2, 对应的函数值分别为f (x1) 、f (x2) , 非极值, 且f (x1)

若x1>x2, 可通过式 (8) 得x3>x1, 满足f (x3)

若x1

利用粒子适应值的差异引导外推方向[11]。结合随机数, 使PSO位置更新式 (6) 在粒子附近产生虚拟位置xi (dt+1) ', 表示粒子尚未达到最优点时, 连续函数在它附近存在适应值更小即更优点如式 (9) , 其中:rand[]∈[0, 1]。

结合式 (8) 和式 (9) 得到下一个虚拟位置

将式 (9) 代入式 (10) 整理得到

对多变量优化问题, 每个粒子位置分量较多, 使某些分量非常接近甚至相同的两个粒子, 此时对虚拟位置的更新变化不大。具体实现时可在式 (11) 后加上ε作为幅度微调算子[10], 当|x1-x2|较小加强微调幅度, 一般隔10代判断进化效果, 若效果差, 则逐步减小微调幅度。得位置公式[15]:

搜索过程利用式 (5) 、式 (7) 和式 (12) 更新粒子的速度和位置。

3.3 自适应强引导粒子群

3.3.1 粒子种群多样性测试

PSO算法在实际应用时, 搜索初期收敛速度比较快, 但到后期可能所有粒子的速度渐趋为零, 使种群失去进一步进化的能力, 粒子聚集在一起, 易陷入局部最优即种群多样性损失过快。搜索过程各粒子的位置通过适应度函数值来体现, 通过种群中所有粒子适应度函数值的变化来实现对各粒子聚集程度的描述。本文选取群体适应度方差作为测试种群多样性指标。群体适应度方差σ2为[16]:

其中, 粒子总数为n;第i个粒子适应度函数值为fi;favg为群体目前的平均适应度;f为归一化定标因子, 其作用是限制σ2的大小, 取值为:

群体适应度方差σ2用于反映粒子群中所有粒子的收敛程度即种群中各个体相互间的分布离散程度, 其值越小, 粒子群越趋于收敛, 种群越集中, 多样性越差;反之, 粒子群处于随机搜索阶段。

3.3.2 速度自适应变异操作

为让粒子在算法搜索过程渐趋于停滞时重新激活使之朝新方向搜索, 自适应变异的引入应根据群体的聚集程度来决定即变异概率的大小随σ2的大小而变化。本文采用的变异概率pm为

其中, pm、σm2分别表示第m次迭代中群体全体极值的变异概率、群体适应度方差;pm ax、pm in分别为当前变异概率的最大值、最小值。

从式 (15) 可看出, 适应度方差越小, 种群越集中, 多样性越差, 全局极值的变异概率越大;反之, 全局极值的变异概率越小。算法可根据群体中粒子位置状态自适应地调整变异概率, 以跳出局部最优。

本文采用的变异策略是在强引导粒子群搜索的基础上在对所有粒子速度的各维配置分布于[0, 1]的随机数γ, 如果γ小于由式 (15) 得到的变异概率pm, 则该粒子速度的该维向量在解空间初始化:

其中, vid为第i个粒子速度向量的第d个分量;vm ax、vm in为vid的上、下限;变异操作后, 搜索过程仍记忆粒子迄今找到的最优位置, 对n个粒子实施上述变异操作, 则种群变异完成, 进入新一轮的强引导粒子群寻优, 寻求全局最优解。

4 基于自适应强引导粒子群的电力系统无功优化实现过程

本文的优化算法, 首先初始化一个规模为n的种群, 设定粒子的各边界条件, 在满足控制变量约束条件下随机赋予各粒子初始位置和速度, 解算潮流, 评估粒子适应度。引入强引导思想对粒子速度和位置进行更新, 重新评估粒子的适应度, 更新个体最优pis和全局最优pgs。利用式 (14) 计算出群体适应度方差值σ2, 据式 (15) 得出变异概率pm, 产生随机数γ, 据式 (16) 判断是否进行变异操作, 若是则对n个粒子都实施上述变异操作, 则种群变异完成, 进入新一轮的强引导粒子群寻优搜索, 寻求全局最优解。对算例利用强引导粒子群进行搜索后, 若未达到设定的最大迭代次数或满足收敛标准, 更新粒子速度和位置, 重新更新个体最优pis和全局最优pgs, 反之, 输出计算结果。改进的算法改善了粒子群算法摆脱局部极值点的能力, 提高了算法的收敛性和精度。具体实现过程如图1所示。

5 结果分析

如图2示, 系统有25条支路, 15台变压器, 2个电源节点, 17个负荷节点。节点9为系统的平衡节点, 其余节点都为PQ节点。PQ节点电压限值0.95~1.05 pu, PV节点电压限值为0.9~1.1 pu, 可调变压器共10台, 电压比为0.9~1.1, 12个待补偿点, 可调电容器容量限值为0~0.5pu, 粒子数目为50, 最大迭代次数为50。c1=c2=1.8, ω从1.0到0.4按式 (7) 随进化线性减少, k=0.10, ε=10-6*rand[]。算例初始潮流网损为3.745MW, 最低电压为0.8950 pu。采用遗传 (GA) 、模拟退火 (SA) 、传统粒子群 (PSO) 、强引导粒子群 (IPSO) 、强引导与混沌优化 (ICPSO) 以及本文算法 (AIPSO) 等不同方法按精度10-4运行50次所得结果如表1和表2所示。本文算法优化后平均降损率为12.20%, 最优降损率可达15.3%, 最低电压为0.9973pu, 虽然平均无功补偿量及计算时间需求较某些方法略高, 但从降损、电压质量提高的总体效果充分说明采用自适应强引导粒子群较传统人工智能算法具备更强的全局寻优能力。

6 结论

自适应变异粒子群算法 篇3

关键词:受信任邻域,粒子群算法,交叉变异

0引言

粒子群优化 (PSO) 算法是Eberhart和Kennidy于1995年提出的, 它源于对鸟群捕食行为的简化社会模型的研究, 通过对鸟群觅食过程中迁徙和群体行为的模拟, 实现了个体的协同优化。该算法很好地利用了信息共享机制, 使粒子之间相互学习竞争, 促进整个群体的发展, 具有典型的群体智能特性。该算法简洁, 易于实现, 收敛速度快。目前PSO算法的研究已在参数设置调整、与Ant等算法的融合改进以及工程应用中得到了广泛的应用。但基本粒子群已陷入局部最优, 并且具有后期收敛速度慢等缺点, 本文改进的算法, 通过将基本粒子群算法粒子行为基于个体极值点转化为个体自身极值与其邻居的极值的加权平均值, 从而让个体很好地受到邻居的熏陶, 而全局极值点转化为群体中优秀个体极值的加权平均值, 使粒子能够获得更多的信息来调整自身的状态。

1标准粒子群算法PSO

粒子群优化算法将个体看作是D维搜索空间中的一个粒子, 根据对环境的适应度将群体中的粒子移动到好的区域。该算法对标准粒子群优化算法中”社会”部分对粒子运动的影响方式进行了改进, 增加了粒子视野范围内个邻居中具有最优适应度值的粒子作为参考, 以克服原算法采用全体粒子中最优个体作为全局极值而产生的易陷入局部最优的缺点, 从而更真实地模拟群体行为。

假设包含m个粒子的粒子群在D维空间 (即搜索空间) “飞翔”, 第i个粒子在D维空间中的位置向量xi= (xi, 1, xi, 2, …, xi, D) , 第i个粒子在D维空间中的当前速度vi= (vi, 1, vi, 2, …, vi, D) , 第i个粒子在D维空间中的历史最优位置Pi= (Pi, 1, Pi, 2, …, Pi, D) , 整个粒子群的所有粒子在D维空间中的历史最优中的最优位置Pg= (Pg, 1, Pg, 2, …, Pg, D。该粒子群的第i个粒子速度和位置的迭代公式如下:

undefined

式中:r1, r2为介于 (0, 1) 之间的随机数, c1, c2为非负的学习因子。算法执行的终止条件为搜索到满足误差条件的解, 或者达到预设的最大迭代次数。

2 改进的经典PSO算法

基本PSO算法存在诸多问题, 主要表现在收敛速度慢和过早收敛:随着迭代数的增加, 粒子间相似度增大, 基本PSO算法不能对解进行持续优化, 而是在局部最优解附近徘徊。粒子群算法的本质是利用个体极值与全局最优值对基本PSO算法改进, 方法主要有两种:一种是对权重的变化进行改进, 权重变化对算法的全局探索和局部探测有很大影响, 为此把权重线性变化变成非线性变化或模糊化 ;另一种是通过控制种群的多样性来提高算法性能, 通过解决微粒间冲突 , 引人速度变异和位置变异, 小概率重新初始化等方法, 增加粒子的多样性, 提高全局搜索能力, 避免陷人局部最优。

3 改进的粒子群优化算法

标准PSO算法在进化过程中除跟踪自身最优外, 只与种群最优粒子发生信息交流, 在进化过程中种群最优对其影响很大, 一旦粒子赶上种群最优, 粒子会聚集到相同位置并停止, 从而导致算法过早收敛而出现早熟。而收敛现象过早发生时, 往往是适应度暂时最优的那些个体相互趋同, 其余适应度较小的个体在种群空间中依然是离散分布。为了降低种群最优粒子的影响, 本文在粒子位置更新时除考虑自身最优和种群最优外, 还与粒子邻域内粒子最优发生信息交流。

在粒子群算法中, 每个粒子周围都存在一定数量的邻居, 它们之间相互共享信息。这就恰恰和人类社会相同。他人和群体制约的个体的行为、判断和思想, 如人际知觉、人际吸引、社会促进和社会抑制、顺从等。同时群体本身特有的心理特征, 如群体凝聚力、社会心理气氛、群体决策等等也会受到个体的影响。

文献[1]中提出了带邻近粒子信息的模型, 因此将上式改为

undefined

新算法粒子位置更新由3部分组成, 其中Pl= (Pl, 1, Pl, 2, …, Pl, D) 表示第i个粒子其各邻居在D维空间中的历史最优位置。第一部分为粒子先前的速度;第二部分为“认知部分”, 是粒子对自身的思考;第三部分为“社会部分”, 表示粒子与邻居间的信息共享和相互合作。从式 (3) 中可以看出, 该算法充分利用了社会部分包括了与种群最优粒子和目前位置最近粒子最优之间的信息交流。较基本PSO更好地在初期应保持较高的多样性, 应减小种群最优的影响, 而增加最近粒子的影响, 防止粒子向种群最优位置聚集。这样使得算法在粒子位置更新时除考虑自身最优和种群最优外, 还与粒子目前位置最近粒子最优发生信息交流。

实验表明这种改进通过自适应调整惯性因子, 能兼顾搜索效率和搜索精度, 优化性能有所改善。但是未考虑算法随迭代次数增多之后邻域内的粒子性能下降, 所以本文在此基础上自适应的调整邻域受“孟母三迁”的启发, 个体具有强烈的易驱性, 会随迭代的增加而进入局部最优当发现粒子小于阀值时, 根据算法为其更换邻居, 防止其陷入局部最优交叉邻域。本文考虑了两种情况为粒子搬家, 第一种情况:当个体周围的邻居其信誉低于某个值时, 为其更换邻居;第二种情况:当个体陷入局部优化时, 个体在某一个极值点附近振动, 为其更换邻居。

3.2 基于自适应的交叉变异

自适应有个阈值。

邻域交换策略。

3.3 算法流程

①初始化粒子群, 设定最大迭代次数T一, 当前值置1, 设定学习因子C。、C 。在空间Ro中产生m个粒子, 随机初始化粒子位置和初始速度;②计算每个粒子的适应值;③比较粒子当前适应值F (x。) 和自身历史最优值P , 若F (X。) 比P 更优, 则置P 为F (X ) , P。为当前X;④比较粒子当前适应值F (x ) 和群体最优值g , 若F (x。) 比 更优, 则置g 为v (X。) , P 为当前x;⑤粒子飞翔, 进行迭代, 按式 (7) 、 (8) 、 (9) 更新粒子速度, 粒子群更新为x;⑥查看局部优化标志位。若达到其临界值, 粒子陷入局部优化, 重新初始化该粒子;⑦检查结束条件, 如果满足, 则算法结束。如果不满足, 转②。结束条件为寻找到满足精度的解或者算法达到最大迭代次数。

4 新算法的仿真测试

为了证明算法改进的有效性, 选择Sphere、Rosenbrock、Rastrigrin、Griewank这4个无约束优化基准测试函数对改进算法进行测试。通过与标准PSO 算法比较收敛精度和收敛速度, 检验FPSO的性能。4个函数分别如下所示:

Sphere

undefined

Ronsenbrock

undefined

Rastringin

undefined

Griewank

undefined

4个函数中, 前两个为单峰值函数, 后两个为多峰值函数。两种算法取相同的参数, 粒子群规模为50, C =C =2。

4.1 测试收敛精度

在收敛精度测试中, 取最大迭代次数为1 000, 两种算法重复运行30次, 比较两种算法的平均适应值和最优值。解空间维数分别取20、30。测试结果如表1所示。

从表1中可以看出, NPSO 比标准PSO 有更好的收敛精度。在20维和30维空间中, NPSO的收敛精度均明显优于标准PSO。

4.2 测试收敛速度

在收敛速度测试中, 取最大迭代次数为2 000, 解空间维度为10, 并为每个函数设置精度较高的算法结束条件, 每个算法测试结果:运行30次, 统计算法寻优成功率和寻优成功情况下的平均迭代次数, 测试结果如表2所示。

5 结束语

针对经典的PSO算法容易陷入局部最小值, 提出了一种新的带变异自适应参数调整PSO算法。通过引入粒子群评价, 根据粒子群的整体性能评价对PSO算法的所有参数进行动态调整, 同时对粒子本身找到的最优解以动态调整概率进行变异。这样可以帮助算法摆脱后期已陷入局部最优点的束缚, 同时能够保持前期搜索的快速性。对4个经典的测试函数进行了对比实验, 结果表明, 本文提出的算法性能优于经典PSO等算法。在前100次迭代中要优于基本粒子群和动态邻域算法, 但是新算法也存在着迭代稳定性的问题, 如将每个粒子视为一个进程, 其邻域即空间中的可用资源, 在迭代中会出现进程间抢占资源问题, 这是今后研究中要解决的问题

参考文献

[1] KENNEDY J, EBELHART R.Particle swarm optimization[C].IEEE Int Cod Neural Networks, 1995.

[2] SHI Y, EBERHART R.A modified particle 8mtarnl optimizer[C].IEEE World Congress on Computational Intelligence, 1998.

[3]SHI Y, EBERHART R C.Fuzzy adaptive particle swarm optimiza-tion[C].Proceedings of the IEEE Conference on EvolutionaryComputation Piscataway, NJ:IEEE Press, 2001.

自适应变异粒子群算法 篇4

微粒群优化算法PSO属于群体智能方法的一个分类,是1995年首次由Kennedy与Eberhart等首次提出的[1],是一种新的进化算法。但当面临复杂的优化问题,由于目标存在很多的局部极值,也不可避免地存在早熟、收敛速度慢等一些缺陷。

本文针对这一问题,提出以全局性更好的小生境策略,小生境中各个子种群互相排斥,动态形成自己独立的搜索空间,各自追逐自己搜索范围内的极值点,使小种群在搜索空间有效地分布,避免了协同中的种群汇聚;进一步引入淘汰更新机制,迭代一定次数后更新最劣子种群,以保证整个种群不断向前进化,直至搜索到全局最优点;引入变尺度混沌变异,进一步提高了本文算法的搜索精度。

2004年Sun等在研究了Clerc等人关于粒子收敛行为的研究成果后,从量子力学的角度提出了一种新的PSO算法模型。认为粒子具有量子行为,并根据这种模型提出了量子粒子群算法(QPSO)[2],并且得到了很好的实验效果。

1 粒子群和量子粒子群算法

1.1 粒子群算法(PSO)

由Kennedy和Eberhart提出的PSO算法[3],是将寻优的参数组合成群体,通过对环境的适应度来将群体中的个体向好的区域移动。与其他进化算法不同,个体没有体积的微粒(点),结合微粒的历史最佳位置和群体历史最佳位置信息,以一定的速度向目标值逼近。

1.2 量子粒子群算法(QPSO)

从量子力学的角度提出了一种新的PSO算法模型[4,5]。认为粒子具有量子行为,并根据这种模型提出了量子粒子群算法(QPSO),在量子空间中粒子的满足聚集态的性质完全不同,它可以在整个可行解空间中进行搜索,因此QPSO算法的全局搜索的性能远远优于标准PSO算法。在量子空间中,粒子的速度和位置是不能同时确定的。通过波函数来描述粒子的状态,并通过求解薛定谔方程得到粒子在空间某一点出现的概率密度函数,又通过蒙特卡罗随机模拟方式得到粒子的位置方程。在具有量子行为的粒子群优化算法中,粒子的主要迭代公式:

undefined

Pid=ϕ*Pid+(1-ϕ)*Pgd ϕ=rand (2)

xid=Pid±β*|mbest-xidundefined

这里mbest是粒子群pbest的中间位置,Pid为Pid和Pgd之间的随机点,ϕ和μ都是[0,1]的随机数,β为QPSO的收缩扩张系数。

QPSO的算法流程可以这样描述:

(1) 初始化粒子群;

(2) 根据公式(1)计算mbest的值;

(3) 求每一个粒子的适应度值,比较求出Pid;

(4) 对于每一个粒子比较Pid,求得Pgd;

(5) 更新Pgd;

(6) 对于粒子的每一维,根据公式(2),在Pid和Pgd之间取得一个随机点;

(7) 根据公式(3)获得一个新的位置;

(8) 重(2)~(7)直到条件不满足,则迭代过程结束。

2基于混沌变异算子的小生境量子粒子群算法

2.1 RCS小生境进化策略

小生境策略以其能有效解决多峰函数优化问题而广泛应用于进化算法[6]。本文采用文献[7]提出的RCS(Real time Control System)策略作为构造小生境的基础。通过控制子种群之间的排挤和竞争,使各个子种群在进化中动态形成各自独立的搜索空间,从而实现对多个局部极值进行同步搜索,避免了算法的早熟收敛。

算法中的小生境半径定义了各个子种群独立的搜索空间,一旦某个小生境最优个体进入了其他小生境的搜索空间,则重置该个体,并在其所在的小生境内重新选择最优个体。从而使每个小生境子种群自然形成,减少了标准PSO算法和QPSO算法的所有个体作为整体种群陷入局部最优的概率。

2.2 变尺度混沌变异

混沌是自然界广泛存在的一种非线性现象,具有随机性、遍历性、初始条件敏感性等特点,已被广泛应用于随机优化[8],在局部寻优领域具有优越的性能。本文使用的混沌映射Logistic迭代方程为:

βundefined=μβundefined(1-βundefined) k=1,2,… (4)

β∈(0,1) β≠0.25,0.5,0.75

其中βundefined是对应于粒子Xundefined的第j个混沌向量,当μ=4时,logistic方程完全进入混沌状态。经过多次试验可以证明,利用混沌的遍历性,可以很好地实现局部搜索。

在寻优的过程中,对每个小生境的种群最优个体进行混沌迭代变异,变异空间随着代数的增加而逐渐减小。对第i个种群的最优个体Pibest=[x1,x2,…,xj,…,xn]进行混沌变异最优粒子Pnbest变量的搜索空间随着代数的增加而围绕小生境的极点逐渐缩小。这样,在进化初期变异尺度大,有利于算法在广阔的空间搜索全局最优解;在进化后期变异尺度小,在小空间内紧紧围绕局部极点精细搜索,有利于提高解的精度。

2.3 基于混沌变异算子的小生境量子粒子群算法

结合小生境策略全局优化与变尺度混沌变异精细搜索各自的优点,本文提出一种全新的粒子群算法,并在算法中引入了种群淘汰策略,结合小生境的子种群竞争策略一起使用。运行中首先利用RCS竞争策略,使各个小生境子种群形成独立的搜索空间,追逐不同的极值点;然后每隔一定代数,对陷入局部最优的最劣子种群进行随机初始化。这样可使种群在不断的竞争和更新中向前进化,从而避免了算法早熟收敛,保证了收敛到全局最优。而没有更新的小生境种群继续向前进化,又保证了搜索精度的连续提高。NCQPSO(Niche Chaotic mutation Quantum-Behaved Particle Swarm Optimization )算法具体流程如下:

(1) 初始化小生境粒子种群;

(2) 计算粒子适应度,找出每个小生境种群中的最优粒子;

(3) 实施RCS小生境淘汰选择进化策略,确定每个小生境独立搜索空间的最优个体;

(4) 如果迭代次数到达一定代数,则对最劣的小生境子种群进行更新初始化;

(5) 对所有小生境子种群的最优个体实行变尺度的混沌变异,进一步提高搜索的精度;

(6) 对每一个小生境子种群独立进行QPSO优化;

(7) 如果满足条件,则停止迭代,输出最优解,否则转向(2)。

3 实验结果和分析

为了测试基于混沌变异小生境的量子粒子群算法(NCQPSO)的性能,本文使用了3个典型测试函数来进行实验,并且将实验的结果和标准的PSO和原始的QPSO算法进行比较。所用函数如图1所示,Rosenbrock函数是一个经典复杂优化问题,其全局最优点位于一个平滑、狭长的抛物线形山谷内,由于函数仅仅为优化算法提供了少量信息,使算法很难辨别搜索方向,找到全局最小点的机会微乎其微,因此,Rosenbrock函数通常用来评价优化算法的执行效率。Rastrigrin和Griewank函数是典型的非线性多模态函数,它们具有广泛的搜索空间、大量的局部极小点和高大的障碍物,通常被认为是遗传算法很难处理的复杂多模态问题。表1给出的是3个测试函数的初始空间,以及理论值,维位置的上限。

本文比较了NCQPSO算法和标准的PSO算法,原始的QPSO 算法对于基准函数测试的结果。算法的粒子种群为25,分为5个子种群,每个子种群的粒子数是5。标准PSO的参数的设置如下:

c1=c2=2 wmax=0.9 wmin=0.1

算法统一的迭代的次数定为2000次,2000次以后认为算法停滞。各个算法分别运行50次,取平均结果来表示算法对函数测试的结果。与此同时,将各个种群的空间维数固定为20,以便于各个算法进行比较,同时设小生境的半径Rnich为10-4。另外还将在50次运算当中成功找到最优解的次数作为解的稳定性的衡量。

从表2可以看出NCQPSO与另外两种算法相比较具有更加优秀的搜索最优解的能力,即拥有更高的稳定性和更加精确的搜索精度。为了进一步说明NCQPSO的优越性,本文给出几种算法对于Rosenbrock函数的测试曲线,如图1所示。

4 结 论

本文算法利用广泛应用于多目标函数优化的小生境策略掌控粒子群的全局搜索方向,其竞争策略使子种群在搜索过程中自动追寻不同的极值点,形成不同的搜索空间;淘汰策略则使子种群不断更新。两种策略的有机结合,成功地避免了算法的早熟收敛,提高了全局寻优能力;变尺度混沌变异的引入,则显著提高了算法的搜索精度。实验结果表明,与传统的PSO算法和QPSO算法相比,本文算法寻优能力强、搜索精度高、稳定性好,适用于处理高维多极连续函数的优化问题。

摘要:针对粒子群算法早熟收敛和搜索精度低的问题,提出了基于混沌变异的小生境量子粒子群算法(NCQPSO)。该算法结合小生境技术并加入了淘汰机制。使算法具有良好的全局寻优能力。变尺度混沌变异具有精细的局部遍历搜索性能。使算法具有较高的搜索精度,实验结果表明,NCQPSO算法可有效避免标准PSO(Particle Swarm Optimization)算法的早熟收敛,具有寻优能力强、搜索精度高、稳定性好等优点。也优于原始的量子粒子群算法QPSO(Quantum-behaved Particle Swarm Optimization)。

关键词:混沌变异,小生境,粒子群优化算法,量子粒子群优化算法

参考文献

[1]Kennedy J,Eberhart RC.Particle Swarm Optimization[A].Proceed-ings of the IEEE Service Center,1995:1942-1948.

[2]Sun J,Feng B,Xu WB.Particle SwarmOptimization with Particles Hav-ing Quantum-Behavior[A].Proceedings of 2004 Congress on Evolu-tionary Computation,2004:325-331.

[3]Eberhart R,Kennedy J.A new optimizer using particle swarm theory[C].Proc of Int’1 Symp on Micro Machine and Human Science.Pis-cataway,IEEE Service Center,1995:39-43.

[4]Sun J,Xu WB.A Global Search Strategy of Quantum-behaved ParticleSwarm Optimization[A].Proceedings of the IEEE Congress on Cyber-netics and Intelligent System,2004:111-116.

[5]Maurice Clerc,James Kennedy.The Particle Swarm:Explosion,Stabili-ty,and Convergence in a Multi-Dimensional Complex Space.IEEETransactions on Evolutionary Computation,2002:58-73.

[6]陈辉,张家树,张超.实数编码混沌量子遗传算法[J].控制与决策.2005,20(11):1300-1303.

[7]Lee C G,Cho D H,Jung H K.Niche genetic algorithm with restrictedcompetition selection for multimodal function optimization[J].IEEETrans on Magnetics,1999,35(3):1122-l125.

【自适应变异粒子群算法】推荐阅读:

自适应有限元06-23

自适应门限论文09-11

上一篇:竞争力来源下一篇:化学信息技术课程管理

本站热搜

    相关推荐