一种改进的自适应变异的粒子群优化算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一种改进的自适应变异的粒子群优化算法
贾松浩;杨彩
【摘要】针对粒子群优化算法存在的早熟收敛问题,提出了一种改进的自适应变异的粒子群优化算法.该算法根据群体适应度方差和当前最优解的大小,确定当前粒子的最佳变异因子.使用变异因子来改变粒子的运动方向,使粒子进入临近区域继续搜索,以确定新的个体极值和全局极值,避免出现局部最优解.仿真结果表明:自适应变异操作增强了粒子群优化算法跳出局部最优解的能力,其全局搜索能力有了一定提高,收敛速度较快,并且能够有效避免早熟收敛问题;虽然耗费时间有所增加,但在可接受范围内,用少许的时间代价换取全局最优解是值得的.
【期刊名称】《实验室研究与探索》
【年(卷),期】2014(033)004
【总页数】4页(P14-17)
【关键词】粒子群优化算法;自适应变异;全局最优解;早熟收敛
【作者】贾松浩;杨彩
【作者单位】南阳师范学院计算机与信息技术学院,河南南阳473061;南阳师范学院计算机与信息技术学院,河南南阳473061
【正文语种】中文
【中图分类】TP301.6
0 引言
粒子群优化算法(Particle Swarm Optimization,PSO)是Kennedy等模拟鸟类觅食行为提出的一种新的全局进化算法, 用于求解非线性和多峰值的复杂优化问题。

PSO算法简单,容易实现,因此广泛应用于系统辨识、神经网络等领域。

但在复杂的多峰值搜索问题中,PSO存在早熟收敛问题。

目前,对粒子群算法的
改进主要集中在惯性权重、加速系数、约束系数方面。

文献[1]中引入了多策略进
化模式和多子群协同进化机制来协同PSO;文献[2]中提出一种既保持粒子活性又
保证粒子快速收敛于全局极值点的修补粒子群算法;文献[3]中提出使用加权函数
构成的适应度函数和元启发式优化技术对粒子群算法进行了优化;文献[4]中提出
一种新的PSO的参数自适应策略。

这些进化算法虽然解决部分问题,但是仍然存
在早熟的问题,即当群体进化时,不可避免地减少了群体的多样性。

为了解决早熟收敛的问题,本文提出了一种自适应变异的PSO(Particle Swarm Optimization Algorithm with Adaptive Mutation,AMPSO),算法根据群体适应度方差以及当前最优解的大小,确定当前最佳粒子的变异概率。

实验表明,该算法具有较强的全局搜索能力,而且能有效避免PSO的早熟收敛问题,增强了算法
跳出局部最优的能力。

1 粒子群算法
标准粒子群算法描述如下:D维搜索空间的N个粒子是一组,称为种群。

其中第i 个粒子是一个D维的向量Xi=(xi1,xi2,…,xiD),其中,i∈[1,N]。

每个粒子表示搜
索空间中的潜在的可行解,由适应度函数计算出该可行解。

在搜索空间中,每个粒子以一定的速度及方向运动,当到达新的位置时,用适应度函数进行评价,根据适应度值的优劣来决定粒子未来的方向与速度[5-8]。

标准全局粒子群算法(Standard Global Particle Swarm Optimization,SG-PSO)中,一个粒子Xi自身搜索到的历史最优解表示为phibest,称为自身历史最优解,所有粒子搜索到的最优解表示为pgbest,称为全局历史最优解,粒子邻域内的其
他粒子搜索到的历史最优解表示为plibest,称为邻域历史最优解,粒子运行的速度记为vi。

按下式进行速度、位置的更新:
(1)
式中:k表示迭代次数;Xik表示第k次迭代时第i个粒子的位置;vik表示第k次迭代时第i个粒子的速度;w表示惯性权重;c1、c2表示学习因子;r表示约束系数或者收敛因子,r1和r2是[0,1]之间的随机数[9-11]。

2 自适应的变异操作
针对早熟收敛的问题,应该提供一种方式使算法能够跳出局部最优解,从而进入到解空间的其他区域进行搜索,直到找到全局最优解。

结合控制种群多样性的思想,在自适应更新和优化选择的基础上,本文引入自适应变异操作,当粒子陷入局部聚集时,重新搜索一个新的方向,增大找到全局最优解的几率。

根据群体适应度方差来决定变异操作的时机,其计算如下:
(2)
式中:Pm为群体全局极值的变异概率;σ2为群体适应度方差;Pmax表示变异概率的最大值;Pmin表示变异概率的最小值。

可以看出,各粒子越靠近,群体适应度方差值越小,其全局极值的变异概率就越大;反之,适应度方差值越大,即群体保持较高的多样性时,全局极值的变异概率就越小[12]。

算法根据群体中粒子的位置状态自适应地调整变异操作,以达到粒子过于集中时打散继续搜索的目的。

考虑到粒子在当前pgbest作用下可能会发现更好的解,本文将变异操作设计成一个随机算子,对满足变异条件的pgbest按一定的概率Pm变异。

Pm的计算公式如下:
(3)
式中:k∈[0.1,0.3];σ2的取值与实际问题有关,一般远小于σ2的最大值;fd 为理论上最优值。

该算法描述如下:
WHILE粒子规模≤ pt
IF rand≤Pm THEN
位置赋值pos(i,d)=(1+rand)×pos(i,d)
ELSE
位置为pos(i,d)=Gaussian(σ)×pos(i,d)
END WHILE
其中:Gaussian(σ)表示返回一个标准差为σ的符合高斯分布的随机数;pt表示外部存档的粒子规模。

3 AMPSO
根据式(1),当前位置和当前速度决定粒子下一时刻的位置,移动距离由当前速度大小决定,粒子前进方向由速度的方向决定。

影响粒子当前速度的因素包括:原来的速度、个体极值phibest以及全局极值pgbest。

如果算法出现早熟收敛,pgbest必是局部最优解[13]。

若改变全局极值,即可改变粒子的方向,使得粒子进入临近区域继续搜索,可能会发现新的个体极值和全局极值。

循环直到找到全局最优解为止。

AMPSO步骤描述为:
(1) 随机初始化粒子的位置与速度。

(2) 设置粒子的phibestt为当前位置,pgbest为初始群体中最佳粒子的位置。

(3) 判断是否满足算法收敛准则,如果满足,执行步骤(7),否则,执行步骤(4)。

(4) 对粒子群中的所有粒子,执行如下操作。

根据式(1)更新粒子的位置与速度;若粒子适应度优于phibest的适应度,phibest 更新为新位置;若粒子适应度优于pgbest的适应度,pgbest修改为新位置。

(5) 根据式(2)和(3)计算Pm。

(6) 生成随机数r∈[0,1],如果r<Pm,则按式(3)执行变异操作。

(7) 输出pgbest,得到全局最优解,算法结束。

从上述过程可以看出,AMPSO实际上是把随机变异算子增加在粒子群优化算法中,通过对pgbest的随机变异来提高PSO跳出局部最优解的能力,从而增大找到全
局最优解的概率。

由分析算法过程可知,新算法具有良好的收敛速度,可以避免局部最优。

4 算法性能分析
下面通过3种典型的基准函数进行仿真实验,以测试新算法的性能,并与SG-PSO进行对比,确认其性能是否符合要求。

(1) Ackley函数。

函数在[0,0,…,0]处有最小值0。

(2) Rastrigin函数。

函数在[0,0,…,0]处有最小值0。

(3)Schaffer函数。

x∈[-10,10]
函数在[0,0,…,0]处有最大值1[14]。

参数设置为:种群规模N=1 000,每个粒子的维数D=10,阈值b=0.9,阈值
k=0.01,约束系数r=0.729,算法的最大迭代次数设置为5 000次,在每个基准
函数上算法单独运行50次,运算结果的平均值如表1所示。

表1 3个测试函数下的运行结果平均值算法名称Ackley函数Rastrigin函数
Schaffer函数SG-PSO-0.7567±0.6897-
12.1499±15.82591.0000±0.0000AMPSO-0.0100±0.0000-
5.8513±2.46731.0000±0.0000
从表1可以看出,Schaffer函数比其他函数相对简单,两个算法此时都具备良好
的性能; Ackley、Rastrigin函数在全局最优位置附近有较多的局部最优干扰,两个算法表现出一致的性能,算法性能的表现恰能说明局部干扰的多少[15]。

AMPSO算法与SG-PSO算法对比,无论在平坦函数还是在复杂多峰函数上,表
现出的性能均较好。

利用测试函数边界给每个测试函数一个目标值来评估算法性能的方法,把Ackley、Rastrigin和Schaffer函数的目标值分别设为0.08、100和0.1。

计算算法运行达到的平均迭代次数和成功收敛率如表2所示。

表2 3个测试函数下的迭代次数/成功收敛率算法名称Ackley函数Rastrigin函数Schaffer函数SG-
PSO2714/54%2513/59%2434/87%AMPSO429/100%320/100%416/100%
从表2可以看出,SG-PSO算法在3个函数下收敛率比较低,不能成功收敛;它
的迭代次数多于AMPSO算法,可靠性较低。

AMPSO算法在3个函数下均能成
功收敛,可靠性好,收敛速度较快。

但是,由于AMPSO算法在群体进化中,每个粒子都要执行贪心随机搜索过程,
所以每次群体进化所消耗的时间也高于SG-PSO算法。

测试结果显示,AMPSO
算法与SG-PSO算法进化次数所消耗的时间对比如图1所示。

图1 采用变异操作时求解问题的时间比较
与SG-PSO算法对比,AMPSO算法成功收敛率高,可靠性好,收敛速度较快。

虽然执行变异操作时,消耗时间比SG-PSO算法稍长,但是在可接受范围以内,
以少许的时间代价换取全局最优解是值得的。

5 结语
本文提出了一种AMPSO,该算法根据群体适应度方差和当前最优解的大小,确定当前粒子的最佳变异因子。

根据变异因子改变粒子的运动方向,使粒子进入临近区域继续搜索,以确定新的个体极值以及全局极值,避免出现局部最优解。

用3种典型的基准函数对该算法和标准粒子群算法进行仿真实验。

结果表明,AMPSO具有很强的全局搜索能力,且算法简单、易于实现,可以有效地避免PSO的过早收敛问题。

参考文献(References):
【相关文献】
[1] 张洁,裴芳. 多策略协同进化粒子群优化算法[J]. 计算机应用研究,2013,30(10):2965-
2967,2990.
ZHANG Jie,PEI Fang. Multi-strategy cooperative evolutionary particle swarm optimization [J]. Application Research of Computers, 2013, 30(10):2965-2967, 2990. [2] 孙凌,周琳. 基于修补粒子群算法的动态网格数据流优化[J]. 实验室研究与探
索,2011,30(6):208-212.
SUN Ling, ZHOU Lin. Dynamic Grid Data Stream Optimization Based on Repair Particle Swarm Algorithm [J]. Research and Exploration in Laboratory, 2011, 30(6):208-212.
[3] Babaei M. A general approach to approximate solutions of nonlinear differential equations using particle swarm optimization[J]. Applied Soft Computing Journal, 2013,13 (7):3354-3365.
[4] Bo Jiang,Ning Wang, Liping Wang. Particle swarm optimization with age-group topology for multimodal functions and data clustering[J]. Communications in Nonlinear Science and Numerical Simulation,2013, 18 (11):3134-3145.
[5] 朱晓曦,张潜. 改进粒子群优化算法在GM(1,1,λ)模型上的应用[J]. 计算机工程与应
用,2010,46(32):44-47.
ZHU Xiao-xi,ZHANG Qian. Application of improved particle swarm optimization algorithm on gray model GM (1,1,λ)[J]. Computer Engineering and Applications, 2010, 46(32):44-47.
[6] 常先英,李荣钧. 粒子群优化算法中加速系数的实验分析[J]. 计算机工程, 2010,36(4):183-186. CHANG Xian-ying,LI Rong-jun. Experimental Analysis of Acceleration Coefficient in Particle Swarm Optimization Algorithm[J]. Computer Engineering, 2010, 36(4):183-186. [7] 谭德坤. 量子粒子群算法优化钢结构截面[J]. 河南科技大学学报, 2011,32(3):47-51.
TAN De-Kun. Optimization Calculation of Steel Structure Sections Based on Quantum -behaved Particle Swarm Optimization [J]. Journal of Henan University of Science & Technology (Natural Science), 2011, 32(3):47-51.
[8] 王刚,刘元宁,张晓旭等. 基于模糊自适应粒子群的垃圾邮件过滤新方法[J]. 吉林大学学报 (工学版), 2011,41(3):716-720.
WANG Gang,LIU Yuan-ning,ZHANG Xiao-xu, et al. Novel spam filtering method based on fuzzy adaptive particle swarm optimization[J]. Journal of Jilin University (Engineering and Technology Edition), 2011, 41(3):716-720.
[9] Reza Toushmalani. Gravity inversion of a fault by Particle swarm optimization (PSO) [J]. SpringerPlus, 2013, 2(1):1-7.
[10] Mehdi Neshat. FAIPSO: fuzzy adaptive informed particle swarm optimization [J]. Neural Computing and Applications, 2013, 23 (1):95-116.
[11] Waleed Al-Saedi, Stefan W. Lachowicz,Daryoush Habibi etal. Voltage and frequency regulation based DG unit in an autonomous micro grid operation using Particle Swarm Optimization[J]. International Journal of Electrical Power and Energy Systems, 2013,
53:742-751.
[12] 陈鹏,何涛. 基于动态粒子群算法的工作流服务主体优选方法[J]. 计算机科学,
2012,39(12):204-207.
CHEN Peng,HE Tao. Optimization Method of Workflow Service Subject Based on Dynamic Particle Swarm Algorithm[J]. Computer Science, 2012, 39(12):204-207.
[13] 刘卫宁,李一鸣,刘波. 基于自适应粒子群算法的制造云服务组合研究[J]. 计算机应用,
2012,32(10):2869-2874,2878.
LIU Wei-ning,LI Yi-ming,LIU Bo. Service composition in cloud manufacturing based on adaptive mutation particle swarm optimization[J]. Journal of Computer Applications, 2012,32(10):2869-2874,2878.
[14] 黄泽霞,俞攸红,黄德才. 惯性权自适应调整的量子粒子群优化算法[J]. 上海交通大学学报, 2012,46(2):228-232.
HUANG Ze-xia,YU You-hong,HUANG De-cai. Quantum-Behaved Particle Swarm Algorithm with Self-adapting Adjustment of Inertia Weight[J]. Journal of Shanghai Jiaotong University, 2012, 46(2):228-232.
[15] 龚国斌. 自适应约束优化混合粒子群算法[J]. 计算机工程与应用, 2013,49(9):50-53.
GONG Guobin. Adaptive constrained optimization hybrid Particle Swarm Optimization algorithm [J]. Computer Engineering and Applications, 2013,49(9):50-53.。

相关文档
最新文档