郝继升;朱文婷;袁倩;雷珍
【摘 要】粒子群算法是美国学者受鸟类觅食行为启发提出的一种群体优化算法,在迭代后期易早熟收敛。为此利用混沌运动的随机性、规律性和遍历性的特点对粒子群算法进行优化,提出了一种惯性权重自适应改变的混沌粒子群算法。在算法中对惯性权重进行调整加快算法前期收敛速度,而且加入了变异操作以帮助粒子后期跳出局部极小。最后用测试函数进行仿真实验,结果表明该算法收敛快,寻优能力强,寻优精度高。%Particle swarm algorithm proposed by American scholars who inspired by the foraging behavior of birds is a colony optimization algorithm,which tends to premature convergence in later iterations. By using randomness, regularity,ergodicity of chaotic movement to optimize particle swarm algorithm,a chaos particle swarm algorithm with adaptive changing inertia weight is proposed. The inertia weight is adjust ed to accelerate the convergence of former iterations.
Furthermore,joining mutation in the algorithm helps avoiding trapping to local minima. Simulation results of the test functions show that the algorithm has fast convergence and strong optimization capability and higher optimization precision. 【期刊名称】《河南科学》 【年(卷),期】2015(000)006 【总页数】4页(P942-945)
【关键词】粒子群;混沌;自适应;变异 【作 者】郝继升;朱文婷;袁倩;雷珍
【作者单位】延安大学数学与计算机科学学院,陕西延安 716000;延安大学数学与计算机科学学院,陕西延安 716000;延安大学数学与计算机科学学院,陕西延安 716000;延安大学数学与计算机科学学院,陕西延安 716000 【正文语种】中 文 【中图分类】TP181
粒子群算法(PSO)是Kennedy和Eberhart受鸟类觅食行为启发[1]提出的一种群体优化算法,由于没有遗传算法的选择交叉操作,计算简单且具有较强的全局搜索能力[2],近几年来受到很多学者的关注.算法中的参数惯性权重对粒子群算法的优劣影响很大[3-4],较大的惯性权重偏向全局搜索,较小的惯性权重偏向局部搜索.在算法运行过程中对惯性权重进行自适应调整,算法的性能会明显提高. 混沌运动具有随机性、规律性和遍历性,能够帮助粒子跳出局部极小值,提高训练精度.因此我们将混沌思想引入到粒子群算法中并在后期加入变异策略,提出了一种惯性权重自适应改变的混沌粒子群算法. 1.1 粒子群算法
粒子群算法是模拟鸟类觅食行为.假设一个区域内所有个体都不知道食物在哪里,但是知道自己目前的位置离食物有多远.那获得食物最快的方法就是搜寻离食物最近的个体周围的区域.将每个个体看成一个粒子以一定的速度在D维空间搜索,并设定适应度值评估目前位置的好坏.粒子们通过跟踪自己找到的最优位置和整个群体找到的最优位置调整速度.所有的粒子通过迭代在搜索空间里寻找最优解,在每次迭代过程中,每个粒子会通过个体找到的最优位置(即个体极值)和群体的最优
位置(即全局极值)来更新自己的速度和位置.第j个粒子的速度和位置更新公式如下:
其中:vj(t)为第j个粒子在第t代的速度;ω为惯性权重;c1为认知系数;c2为社会系数,通常c1,c2取1.494;r1,r2为[0,1]之间的随机数;pj(t)为第j个粒子在第t代的个体历史最优位置;pg(t)为整个群体在第t代的历史最优位置;xj(t)为第j个粒子在第t代的位置. 1.2 混沌粒子群算法
为了提高粒子群的多样性和粒子搜索的遍历性,利用混沌运动的随机性、遍历性[5-7]等特点,在标准粒子群算法中引入混沌思想,形成混沌粒子群算法(CPSO),以使粒子能在更大范围内搜索,改善粒子群算法摆脱局部极值的能力.混沌搜索的主要思路是:先通过某种特定的迭代格式产生混沌序列,然后通过载波的方式将混沌变量放大到优化变量的取值范围.
最常用的混沌模型有Logistic映射和Tent映射.大多数研究是基于Logistic映射进行的混沌搜索[8-10].但是Logistic映射存在着分布不均匀的缺陷.相较于Logistic映射,Tent映射产生的混沌序列分布较均匀,具有全局遍历性,且对初值不敏感[11-13].Tent映射的表达式 其中:zk表示混沌序列第k次向量;μ取值为1.
在粒子群算法中,惯性权重ω是一个重要参数,一般认为ω较大时算法偏向全局搜索,ω较小时偏向局部搜索[14-15].因此适应度值较好的粒子应偏向局部搜索,适应度值不好的粒子前期进行全局寻优.文献[15]提出了一种计算惯性权重的方法.其权重更新公式如下:
其中:IWmax,IWmin为初始最大最小惯性权重;t代表迭代数;Iteration表示总的迭代数;是第t次迭代的最大惯性权重表示第i个粒子第t次迭代的惯性权重;fit表示第i个粒子第t次迭代的适应度值;是第t次迭代群体的平均适应度值和最
小适应度值.为了加快收敛,我们在公式(3)的基础上做修正,在迭代过程中如果某个粒子这一代的适应度值没有上一代好,保持惯性权重不变,否则更新惯性权重. 鉴于Tent映射的优点,将其嵌入到惯性权重自适应变化的粒子群算法中,同时为进一步改善粒子摆脱局部极值的能力,在算法中引入变异操作[16],即对某些粒子以一定概率进行重新初始化.在此基础上提出了惯性权重自适应改变的混沌粒子群算法.
惯性权重自适应改变的混沌粒子群算法步骤:①初始化:设定种群的规模,粒子的维度.混沌初始化粒子的位置,随机初始化粒子的速度.②计算:计算每个粒子的适应度值,用它的适应度值与个体极值(初始适应度值即为个体极值)比较,如果较好,则替换个体极值,然后再与全局极值比较,如果较优,则替代全局极值.③更新:根据公式(1)、(2)更新粒子的速度和位置,生成下一代粒子,其中惯性权重我们用公式(3)计算并进行后期调整,c1,c2取常数1.494.④变异:以一定的概率对某个粒子进行重新初始化.⑤判断:判断算法是否达到最大迭代次数,如果是则停止搜索,否则转回步骤②继续搜索.
为了验证本文算法的可行性,选择了3个函数作为测试函数:测试函数1: 测试函数2: 测试函数3:
函数F1,F3都存在一个全局极小值0,函数F2有一个全局极大解1.对于三个函数均设粒子群规模为50,维度视情况而定.惯性权重从1.2递减至0.4.测试函数1迭代1000次,测试函数2迭代500次,测试函数3迭代5000次.实验结果分析如下所示.
图1是两种算法对测试函数1求解得到的寻优曲线比较.测试函数1是典型的多峰函数,具有全局极小值0,在[-5.12,5.12]范围内大约有10 n个局部极小点.从图1看,惯性权重自适应混沌粒子群算法相较于标准粒子群算法能很好地接近
全局最优解.图2是测试函数2的寻优曲线.从图2来看,惯性权重自适应混沌粒子群算法寻优精度明显高于标准粒子群算法,而且惯性权重自适应混沌粒子群算法在大约第50代收敛一段时间后(这时搜索到的最优解与标准粒子群算法相同)能再次(大约第160代)向最优解靠近,说明惯性权重自适应混沌粒子群算法能更好地跳出局部极小值,接近全局最优解.从图1和图2来看,惯性权重自适应混沌粒子群算法在迭代前期收敛速度较快,比标准粒子群算法更快地到达极值区域.而且惯性权重自适应混沌粒子群算法寻优得到的适应度值在前期比标准粒子群算法大,这是混沌初始化增加了粒子群的多样性,使粒子能在较大范围内搜索的结果. 测试函数3是典型的病态二次函数,很难精确收敛到最优解.由于适应度值变化范围较大,用图表进行表示.表1是两种算法对测试函数3连续运行10次得到的最优适应度值.在寻优精度方面,惯性权重自适应混沌粒子群算法的优势不是很明显.将两种算法各运行20次,得到惯性权重自适应混沌粒子群算法的平均适应度值是8.514 7,标准粒子群算法的平均适应度值为66.599 6.在平均适应度方面惯性权重自适应混沌粒子群算法要优于标准粒子群算法.对比两种算法20次运行结果误差不超过10的次数,惯性权重自适应混沌粒子群算法20次全部满足,标准粒子群算法有13次,说明惯性权重自适应混沌粒子群算法具有较好的性能.
惯性权重是粒子群算法的一个重要参数,对算法的搜索能力有很大的影响.惯性权重自适应改变允许惯性权重随着迭代次数根据适应度值进行自适应改变,加快了算法的收敛速度.而且对粒子群进行混沌初始化增加了粒子群的多样性,使粒子能在较大范围内搜索,同时,加入变异操作帮助粒子在后期跳出局部极小值.仿真实验结果表明,虽然对粒子群进行混沌初始化使得粒子初期搜索范围大,但惯性权重自适应混沌粒子群算法比标准粒子群算法能更快收敛,而且收敛精度高,说明该算法是行之有效的.
【相关文献】
[1]Kennedy J,Eberhart R C.Particle swarm optimization[C]//Proceedings of the IEEE International Conference on Neural Networks Piscataway,N J,USA:IEEE Press,1995. [2]沈艳,郭兵,古天祥.粒子群优化算法及其与遗传算法的比较[J].电子科技大学学报,2005,34(5):696-699.
[3]崔志华,曾建潮.微粒群优化算法[M].北京:科学出版社,2011.
[4]Shi Y,Eberhart R C.Parameter selection in particle swarm optimization[C]//Poceedings ofthe 7th Annual Conference on Evolu⁃tionary Programming.Berlin,Germany:Springer-Verlag,1998.
[5]高鹰,谢胜利.混沌粒子群算法[J].计算机科学,2004,31(8):13-15.
[6]刘玲,钟伟民,钱锋.改进的混沌粒子群优化算法[J].华东理工大学学报:自然科学版,2010,36(2):267-272.
[7]李小青,张文祥.混沌粒子群算法及其在优化设计中的应用[J].计算机系统应用,2009,18(4):171-174.
[8]赵志刚,常成.自适应混沌粒子群优化算法[J].计算机工程,2011,37(15):128-130. [9]徐生林,史燕.应用混沌粒子群优化训练的BP神经网络预报高炉铁水含硅量[J].冶金分析,2010,30(5):9-13.
[10]高尚,杨静宇.混沌粒子群优化算法研究[J].模式识别与人工智能,2006,19(2):266-270.
[11]魏玉琴,戴永寿,张亚南,等.基于Tent映射的自适应混沌嵌入式粒子群算法[J].计算机工程与应用,2013,49(10):45-49.
[12]黄美灵,赵之杰,浦立娜,等.基于自适应Tent混沌搜索的粒子群优化算法[J].计算机应用,2011,31(2):485-489.
[13]刘长平,叶春明.基于逻辑自映射的变尺度混沌粒子群优化算法[J].计算机应用研究,2011,28(8):2825-2827.
[14]张选平,杜玉平,秦国强,等.一种动态改变惯性权重的自适应粒子群算法[J].西安交通大学学报,2005,39(10):1039-1042.
[15]He Hongdi,Lu Weizhen,Xue Yu.Prediction of particulate matter at street level using artificial neural networks coupling with chaotic particle swarm optimization algorithm[J].Build Environ,2014,78(8):111-117.
[16]李宁洲,冯晓云,卫晓娟.动态多子群QPSO算法及其在机车粘着优化控制中的应用[J].计算机应用研究,2014,31(10):3020-3027.
因篇幅问题不能全部显示,请点此查看更多更全内容