基于改进粒子群算法的优化策略
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2009-12-13
基金项目:国家自然科学基金资助项目(60674021)
作者简介:卢 峰(1982-),男,辽宁抚顺人,东北大学博士研究生;高立群(1949-),男,辽宁沈阳人,东北大学教授,博士生导师
第32卷第9期2011年9月东北大学学报(自然科学版)Journal of Northeastern U niversity(Natural Science)Vol 32,No.9Sep.2011
基于改进粒子群算法的优化策略
卢 峰,高立群
(东北大学信息科学与工程学院,辽宁沈阳 110819)
摘 要:为提高传统粒子群算法的搜索速度和搜索精度,提出了一种改进的自适应粒子群优化算法 将正则变化函数和慢变函数引入传统位置更新和速度更新公式当中,形成两种新的更新机制:搜索算子和开发算子 在算法运行的初始阶段,种群中大部分个体将按照搜索算子进行更新,搜索算子将有助于种群遍历整个解空间;随着迭代次数的增加,按照搜索算子进行更新的个体将逐渐减少,而按照开发算子进行更新的个体将逐渐增多,开发算子将有效地克服陷入局部最优解的问题 通过典型测试函数的仿真实验,新算法在加快收敛速度同时,提高了算法的全局搜索能力
关 键 词:进化算法;粒子群算法;全局优化;慢变函数;自适应
中图分类号:T G 273 文献标志码:A 文章编号:1005 3026(2011)09 01221 04
Novel Optimization Mechanism Based on Improved Particle Swarm Optimization
L U Feng ,GAO L i qun
(School of Information Science &Engineering,Northeaster n U niv ersity,Shenyang 110819,China.Corresponding author :LU F eng,E mail:feng.lu.lf @g )
Abstract :To accelerate searching speed and optimization accuracy of traditional PSO,an improved particle swarm optimization (PSO )algorithm w as presented.Regularly vary ing function and slow ly varying function were introduced in the position and velocity update formula.New mechanisms such as explorative operator and exploitative operator are formulated.At the beginning,most elements will be updated by explorative operator in the entire search space sufficiently.Within the iterations,more and more particles w ill be handled by ex ploitative operator,which are useful to overcome the deceptions of multiple local optima.It can be seen from the simulation results of the standard benchm ark test functions that the proposed algorithm not only accelerates the convergence process,but also improves g lobal optim ization ability.
Key words:evolutionary algorithms;particle sw arm optimization;global optimization;slow ly v arying function;self adaptive
20世纪90年代初,产生了模拟自然生物群体行为的优化方法,被称为群智能优化方法 Dorigo 等人通过模拟蚂蚁的寻径行为,提出了蚁群优化算法(ant colony optimization)[1]
;Eberhart 等人基于对鸟群、鱼群的模拟,提出了粒子群优化算法(particle sw arm optim ization )[2]
作为一种群智能优化方法的代表,粒子群算法通过个体间的协作来寻找最优解,每个个体都被赋予一个随机速度并在整个解空间中搜索,通
过个体之间的合作与竞争来实现个体进化 由于粒子群优化算法运算简单,易于实现,具有良好的解决非线性、不可微和多峰值复杂优化问题的能力,已被广泛应用于科学和工程实际领域[3-5]
但是,粒子群优化算法是根据全体粒子和自身的搜索经验向着最优解的方向进化,在进化后期收敛速度将变得缓慢,同时算法在收敛到一定精度时,容易陷入停滞,无法继续进化更新,因此,存在早熟和陷入局部极值点的现象
本文首先介绍了标准粒子群优化算法,并针对粒子群算法所存在的问题,将正则变化函数和慢变函数引入传统位置更新和速度更新公式中,形成两种新的更新机制;提出了一种改进的粒子群优化算法,通过仿真实验比较了本文提出的算法与标准粒子群算法和其他改进算法
1 粒子群优化算法
粒子群优化算法在解决优化问题时,问题的解对应于搜索空间中个体的位置,称这些个体为 粒子 每个粒子具有位置和速度两个特征,粒子位置坐标对应的目标函数值作为该粒子的适应度 算法通过适应度来衡量粒子的优劣 每个粒子记忆趋向当前的最优粒子,在解空间中更新迭代,如果找到较好的解,将以此为依据来进行下一次搜索,直到完成优化任务
假定优化问题如下式所描述:
min f(x1,x2, ,x N),
s.t.x L i x i x U i,i=1,2, ,N
其中:x L i,x U i分别表示第i个分量x i取值范围的下界和上界 首先,初始化1个由N个粒子组成的群体,其中第i个粒子表示1个m维的向量x i,即第i个粒子在m维的搜索空间中的位置是x i,m是解空间的维数;第i个粒子的 飞行 速度也是一个m维的向量,记为v i,i=1,2, ,N 每个粒子的位置就是一个潜在的解,将x i带入目标函数,计算出适应度值,并根据适应度值的大小衡量x i的优劣 将第i个粒子第t代搜索到的最优位置记为p t b i,i=1,2, ,N,整个粒子群迄今为止搜索到的最优位置为l t b i,则粒子群优化算法采用如下公式对粒子进行操作:
v t+1i=v t i+c1r1(p t b i-x t i)+c2r2(l t b i-x t i),
(1) x t+1i=x t i+v t+1i (2)式(1)中参数c1和c2被称做加速系数,分别控制个体历史最优解p t b i和全局历史最优解l t b i对于粒子更新的影响 参数r1和r2在区间[0,1]内随机选取 文献[6]将惯性权重因子引入到速度更新公式中:
v t+1i= i v t i+c1r1(p t b i-x t i)+c2r2(l t b i-x t i),
(3)对于原始粒子群优化算法做了有效的补充 惯性权重一般采用区间内递减的设置方法,文献[7]将
i 设置为从0 9到0 4的线性下降,使得PSO在
开始时探索较大的区域,较快地定位最优解的大
致位置,随着 i逐渐减小,粒子速度变慢,开始精
细的局部搜索
2 改进粒子群优化算法
本文所提出的改进粒子群优化算法是将正则
变化函数和慢变函数引入到粒子群优化算法的更
新公式中,在算法迭代的不同阶段,采用差异化的
操作方法,在提升算法搜索速度的同时,有效地避
免了陷入局部极值点的现象
2.1 初始化
为保证算法的搜索效率,初始种群X={x i,i
=1,2, ,N}应该较完整地覆盖搜索空间,以第
i个粒子的第j位初始参数值为例,可取x i,j=
rand j(0,1) (x j,m ax-x j,min)+x j,min,其中j=1,
2, ,m,rand(0,1)表示在(0,1)区间均匀分布的
随机数
2.2 更新
在式(3)的基础之上,引入搜索算子对种群中
粒子进行如下操作:
v t+1i= i v t i+c1r1(p t b i-x t i)+
c2r2(l t b i-x t i)+(x L(x)) ,
x t+1i=x t i+ i v t i+c1r1(p t b i-x t i)+
c2r2(l t b i-x t i)+x L(x)
(4)
其中, 0,L(x)为慢变函数,由慢变函数的定
义及其性质[8]可知x L(x)为正则变化函数 正
则函数对于速度和位置的更新产生变异性叠加
(参数 可以控制变异大小程度),有利于粒子遍
历解空间,加快搜索速度,适用于粒子前中期迭
代
为提高算法的搜索精度,引入开发算子对种
群中粒子进行更新,如下所示:
v t+1i= i v t i+c1r1(p t b i-x t i)+
c2r2(l t b i-x t i)+(L(x)) ,
x t+1i=x t i+ i v t i+c1r1(p t b i-x t i)+
c2r2(l t b i-x t i)+L(x)
(5)
由慢变函数性质可知,开发算子的更新公式等价
于如下形式:
v t+1i= i v t i+c1r1(p t b i-x t i)+
c2r2(l t b i-x t i),
x t+1i=x t i+v t+1i+L(x)
(6)
在速度更新的基础之上,
数的扰动,增强了局部搜索能力,有助于提高解的
精度,适用于粒子中后期迭代
1222东北大学学报(自然科学版) 第32卷