欢迎来到天天文库
浏览记录
ID:12671104
大小:34.00 KB
页数:6页
时间:2018-07-18
《一种改进学习因子的粒子群算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一种改进学习因子的粒子群算法【摘要】针对高维复杂函数的标准粒子群算法常存在早熟收敛问题,提出一种让初始化粒子群的位置“相对均匀”并且随着搜索阶段不同而改变认知学习因子和社会学习因子的算法。该算法可以在搜索前期增强全局搜索,使之不陷入局部最优,而到搜索后期增强局部搜索能力,使之得到更精确全局最优解。通过五个典型测试函数的实验结果对比,可以清楚地表明改进后的算法得到的最优解更加接近真实的最优解。【关键词】粒子群算法;相对均匀;学习因子;全局搜索与局部搜索的平衡【abstract】particalswarmoptimizationusuallyleadtoprematureconver
2、gence,especiallyinoptimizinghigh-dimensionalfunctions.inthispaper,particlerelativelyuniformdistributeinsearchspacewheninitializingthem,twoaccelerationcoefficientsvarywithiterationsandsearchingstage.thealgorithmcanmakethesearchbehavewellingloblesearchingavoidinglocaloptimumatpreactivestage.mea
3、nwhile,itstrengthenslocalsearchingtogetmorepreciseglobleoptimum.fivetypicalbenchmarkfunctions’experimentsimulationshowthatproposedalgorithmcanmorebetterglobleoptimum.【keywords】particleswarmoptimizationalgorithm;relativelyuniform;accelerationcoefficient;balanceinlocalandgloblesearching0引言由eber
4、hart和kennedy于1995年提出粒子群算法模拟昆虫、鸟群和鱼群等群集行为,个体通过学习自身的经验和整个群体的经验来不断改变搜索方式,由于它不像其它进化算法操作起来复杂,所以自从粒子群算法提出后在很多优化领域得到广泛的成功应用。pso算法作为一种随机搜索算法,在高维目标函数,pso对全局最优解搜索有时不成功,而是陷入局部最优,为此许多研究者从不同的角度给出不同的策略改进算法。y.shir和eberhart在1998年提出线性递减惯性权重的粒子群算法,文献[3]给出了很多让非线性递减的方法。文献[4、5、6]给出了动态调整惯性权重的算法,使得惯性权值随着粒子的搜索状态而改变。
5、而为了不使粒子陷入局部最优,文献[7、8、9、10]采用变异的思想。本文在采用文献[2]中提到的改进惯性权重的基础上,对学习因子进行改进,使得算法更好地平衡局部搜索能力和全局搜索能力。通过五个测试函数的试验结果对比,发现本文算法在以前的算法上得到很好的改进。1惯性权重线性递减pso算法[ldiw-pso]shi和eberhart在1998年提出了惯性权重线性递减linearlydecreasinginertiaweight记为[ldiw-pso]ω=ωmax-(ωmax-ωmin)(1)式中ωmax,ωmin分别为最大,最小惯性权重,一般取ωmax=0.9,ωmin=0.42改进
6、学习因子的pso算法2.1微粒均匀分布在微粒位置初始化时往往是在搜索空间随机产生,这样容易造成微粒初始位置过于集中而使得搜索的失败。为此,本文在初始化时让微粒“相对均匀”分布在搜索空间里。设有m个微粒,搜索空间是[a,b]d,m个微粒的初始位置x10,x20,…,xm0,xi0∈[a+(i-1),b+i](d是空间维数)。2.2改进学习因子粒子群算法中的粒子在搜索过程中,希望搜索的前阶段速度大,达到对整个空间的搜索不致于陷入局部。本文就是对学习因子c1和c2进行改进,在搜索的前阶段c1取较大值,c2取较小值,目的是让粒子多向自己的最优pbest学习,向社会最优gbest学习少一些
7、,使粒子的全局搜索能力增强;而在后阶段刚好相反,c1取较小值,c2取较大的值,使粒子的向社会最优位置gbest的局部靠拢,使得局部搜索增强。我们对c1和c2的改进如下公式:c1=1.3+1.2cosc2=2-1.2cos其中k是当前迭代次数,itermax是最大迭代次数。由1.3+1.2cosx=2-1.2cosx,x∈[0,π],解得x≈0.47π因此,当1≤k≤0.47itermax时,c1>c2;当0.47itermax≤k≤itermax时,c1
此文档下载收益归作者所有