美章网 资料文库 混合策略的引力搜索算法范文

混合策略的引力搜索算法范文

本站小编为你精心准备了混合策略的引力搜索算法参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

混合策略的引力搜索算法

《系统工程与电子技术杂志》2014年第五期

1引力搜索算法基本原理

在GSA算法中,种群个体在万有引力的作用下相互运动,式中质量较大的个体所产生的作用力较大,因此会吸引其他个体,当搜索结束时,质量最大的个体处在最优位置上,其位置信息对应相应优化问题的最优解。在对最优解进行搜索的过程当中,依靠彼此间力的作用来达到优化信息的共享,最终在万有引力的作用下,使得种群朝着最优解所在的区域运动。通过个体的适应度值来计算其惯性质量的大小,惯性质量相对较大的个体所处的位置较优,其距离最优值也相对较近,该个体对其他个体的力的作用也较大,同时其所获得的加速度相对较小,运动较慢。个体的质量以及惯性质量计算方式如式(8)所示。

2基于混合策略引力搜索算法

目前许多智能优化算法都存在收敛速度慢、易陷入局部最优等问题,GSA算法也同样面临这些问题,本文对算法中存在的这些问题进行了深入的研究,找出了存在以上不足的根本原因,并从两个方面进行改进,提出一种基于混合策略的引力搜索算法(gravitationalsearchalgorithmwithmixedstrategy,MGSA),下面分别进行详细介绍。

2.1个体自身进化率的提出GSA算法具有较强的全局搜索能力,但过分的注重搜索的全局性,会导致算法对最优解搜索时,收敛速度较慢。因此为了提高算法的收敛速度,提高算法的整体性能,提出了利用个体自身进化率的改进策略,具体描述如下。随着迭代的进行,当种群个体得到相比原种群个体更优的解时,为了利用获得更优解个体的进化趋势,以期得到更优个体,首先对粒子每代的进化是否得到较优解进行判定,对于满足判定条件的粒子,求出该粒子一次迭代前后各维度上的变化率,并按照这一变化率对该粒子继续执行相应的变化操作,直到不满足判定条件为止。这样利用自身进化趋势的策略有两个优势:1)使种群快速朝着更优区域收敛,提高了收敛速度;2)没有朝着当前最优解进化,而是按照自身得到的进化趋势的进化,又保证了种群的多样性,降低了种群陷入局部最优的可能。另外,对于不同的进化阶段,进化前期,粒子分布较为分散,具有丰富的多样性,粒子较容易得到相较于当前更优的解;而进化后期,粒子分布较为集中,陷入局部最优的可能性会增加,得到较优解的难度会增大,因此,判定条件需随着种群的进化区间而相应的变化,综合以上分析,改进过程具体描述如下。首先判断是否对个体i采用个体自身进率策略,判断条件如(10)所示。

2.2变异上述的改进虽然使种群的整体进化趋势朝着最优解方向运动,但随着进化的进行,种群个体的多样性将随时间逐渐降低,尤其是到了进化后期,对其他粒子产生作用力的粒子只有少数几个最优的,一旦陷入局部最优并没有其它机制帮助跳出,将导致算法停止寻优的过程,针对这种情况,本文提出一种带有方向性的变异策略对个体进行变异处理:在进化前期,种群个体分布较为分散,每个个体的进化趋势都是由其他个体共同作用的结果,因此为了保持种群多样性,前期变异应去掉发生,应采取对当前最优个体施加变异的方式来扰动种群粒子。基于以上分析,对于进化未得到更优解的粒子,便对其进行变异,具体变异公式如(13)所示。实验比较,当c取值为2时效果较好。变异得到的新个体再与变异前进行比较,并保留适应度值较好的个体。这样在进化前期,扰动是围绕着当前粒子进行的,扰动的中心由当前个体逐渐转移到最优个体上,这样不断的对粒子施加扰动,可避免种群因陷入局部最优而导致的整个群体出现搜索停滞,增强了算法的局部开采能力。

2.3算法执行步骤整合对GSA的两个改进策略,本文所提算法具体步骤描述如下。步骤1初始化种群个体的数量、维数,并为每个个体随机产生位置、速度;设定引力常量中的G0、a,规定最大迭代次数T。步骤2计算每个个体的适应度值,并求出其相应的惯性质量。步骤3根据个体的惯性质量,求得每个个体所受的合力,进而求得其加速度。步骤4对于满足条件(10)的粒子,采用个体进化率策略,以提高粒子进化速度。步骤5对种群采用公式(12)所示的变异策略,并与变异前进行比较,保留最优值。步骤6若判断不满足终止条件,则转到步骤2,若满足条件,则输出当前最优解。

3实验结果与分析

为验证算法的整体性能,通过仿真实验对所提算法进行测试,并与GSA算法及目前改进效果最好的IGSA算法和GPS算法进行对比。实验的仿真环境为Intel®Core™2DuoCPUP72502.0GHz、内存2GB、主频1GHz、Windows7操作系统的计算机上进行,仿真软件采用Matlab2010.b。验证算法性能所选取的测试问题,本文采用目前较流行的11个典型Benchmark函数进行测试。这些函数的取值范围以及理论最优值如表1所示。这些函数是由一些具有连续型单模态函数、非连续型单模态函数、噪声函数以及复杂的多模态函数所组成,他们可以测试算法的全局搜索性能和避免早熟的能力。

3.1实验参数设置

所有算法的种群规模N设置为50,粒子的维数K取30,对所有测试函数的最大迭代次数设为1000次,引力常量G0取100。

3.2实验仿真及结果分析

每个测试函数均独立运行30次,并以测试结果的平均值和方差、函数评价次数及成功率(SR)来考察算法的寻优性能,在衡量算法的收敛速度时,设定各函数的求解精度VTR=10-6(除了函数f6,VTRf6=10-3)。

3.2.1两个改进效果的性能测试首先验证两个改进策略各自的改进效果,因篇幅有限本文选取单峰函数f3和多峰函数f10验证个体变化率对算法的改进效果,实验结果如图1所示,选取单峰函数f1和多峰函数f8验证变异对于算法的改进效果,实验结果如图2所示。从图2中可以看出,对函数f3的寻优过程中,改进后的算法较原算法在收敛精度以及收敛速度上都有较大提高,对于函数f10的寻优过程中,采用个体进化率的算法较原算法在收敛精度上有所提高,证明了个体进化率策略的有效性从图3中可以看到,在对f1、f8的寻优过程中,无论是算法的收敛速度还是计算精度,采用变异策略后的算法都优于改进前的算法,证明了变异策略的有效性。

3.2.2MGSA算法整体性能测试将本文提出的MGSA与GSA、IGSA和GPS进行比较,每个测试函数都独立运行30次,并记录最终得到测试结果的平均值和方差,所得的四种算法的实验结果如表2所示。所得结果平均值较小的算法,其对最优解的搜索能力较强,方差较小的算法稳定性较高,从表2数据结果可以看出,在几乎所有测试函数中,无论是收敛精度还是算法的稳定性,MGSA算法在解决单峰优化函数和多峰优化函数上都取得了较优的结果。为了比较四种算法的收敛速度,通过实验记录,表3给出了算法达到规定精度时的函数评价次数、平均时间以及成功率。由表3可知,对于f1,f2,f4,f6,f7,f8,f9,MGSA算法较GSA算法,IGSA算法和GPS算法的函数评价次数和平均时间均较少;对于f3,只有MGSA算法最终收敛到最优解;对于f5,f10,f11,MGSA算法的函数评价次数最少,但收敛速度略低于GSA算法,虽然函数评价次数和最终的CPU运行时间均较多,但是取得最优值的成功率较高。综合算法在各个测试函数上的CPU运行时间以及函数评价次数这两个方面,可以看出在收敛速度上,MGSA算法明显优于GSA算法、IGSA算法和GPS算法。通过对实验仿真结果的分析可知,MGSA算法与其他3种算法相比,在收敛速度和收敛速精度上均有显著提高,说明本文提出的两个改进措施较为有效,混合改进策略能够较好地平衡算法全局搜索能力和局部开采能力,有效避免了算法易陷入局部最优的缺陷。

4结束语

本文提出了一种基于混合改进策略的引力搜索算法(MGSA)。该算法主要有两个创新点工作:(1)提出种群个体进化率,充分利用了进化过程中的有效信息,增强算法对解的搜索能力;(2)提出带有方向性的变异策略,前期可增强全局勘探能力,后期可增强局部开采能力,一定程度上避免算法陷入局部最优。从仿真实验可以看出,本文提出的MGSA算法具有较好的收敛速度和收敛精度,有较强的跳出局部最优的能力,在解决函数优化问题上优势明显,具有较好的推广价值。

作者:毕晓君刁鹏飞肖婧单位:哈尔滨工程大学信息与通信工程学院辽宁省交通高等专科学校信息工程系