(甘肃省庄浪县职业教育中心744699)
微粒群算法研究与应用分析
李新春 吴晓峰
(甘肃省庄浪县职业教育中心744699)
微粒群优化算法(PSO)是一种进化计算技术,通过微粒间的相互作用发现复杂搜索空间中的最优区域。本文介绍了微粒群算法的产生,标准微粒群算法及流程,算法参数.围绕微粒群算法的改进形式,算法的应用等方面对微粒群算法的研究现状进行综述。
进化计算微粒群算法微粒状态
微粒群算法是一种基于群体的、自适应的搜索优化方法,是在1995年由美国心理学家James Kennedy和电气工程师Russell Eberhart共同提出的,其基本思想是受他们早期对鸟类群体行为研究结果的启发,并利用了生物学家Frank Heppner的生物群体模型。目前,微粒群算法已成功的应用于函数优化、约束优化、极大极小问题、多目标优化以及人工神经网络等问题中,与其他智能方法相结合来提高算法的性能,如结合遗传思想、模拟退火算法等。
(一)算法流程
微粒群算法与其他进化算法相类似,其基本思想是:将所优化问题的每一个解称为一个微粒,每个微粒在n维搜索空间中以一定的速度飞行,通过适应度函数来衡量微粒的优劣,微粒根据自己的飞行经验以及其他微粒的飞行经验,来动态调整飞行速度,以期向群体中最好微粒位置飞行,从而使所优化问题得到最优解。
微粒群算法的具体实现步骤如下:第一步:初始化一群微粒,包括微粒的随机位置和速度。第二步:根据适应度函数计算每个微粒的适应值。第三步:对每个微粒xi,将其适应值与所经历过的最好位置pi作比较,如果较好,则将其作为当前的最好位置pi。第四步:对每个微粒,将其适应值与全局所经历的最好位置pg作比较,如果较好,则将其作为当前的全局最好位置。第五步:根据方程(1)(2)对微粒的速度和位置进行进化。第六步:如未达到结束条件(通常为足够好的适应值或达到一个预设最大代数Gmax),则返回第二步,达到要求结束迭代过程,输出结果。
(二)参数分析
1.惯性权重w。w对PSO能否收敛起重要作用,它使微粒保持运动惯性,使其有扩展搜索空间的趋势,有能力探索新的区域。文献中首次提出了惯性权重w的概念,并对基本算法中的粒速度更新公式进行了修正,如式(1)所示,以获得更佳的全局优化效果.其后的研究者普遍采用这种方式作为系统粒子速度更新的基本方式,并在大量的应用问题中充分验证了其合理性,文献中还提出了采用随时间递减的动态惯性权值设置方法以提高算法的有效性和可靠性。
2.加速常数c1和c2。在公式(1)中,若c1= c2=0,微粒将一直以当前的速度飞行,直到最优值为止,它只能搜索有限的区域,很难找到最好解;若c1=0,则微粒没有认知能力,只有社会认知,在微粒的相互作用下,有能力达到新的搜索空间,它的收敛速度比标准微粒群更快,但对复杂问题,则更容易陷入局部最优解;若c2=0,则微粒之间没有社会信息共享,只有认知部分,此时个体间没有信息交流,所以得到最优解的机率很小。
对微粒群优化算法的改进主要体现在对参数的调整,结构的重新定义,和其他智能算法的融合。目前主要改进工作是增加了收敛因子,依据一定的标准为整个群体或某些微粒的状态量重新赋值、与智能进化算法的结合、使用新的位置和速度更新等式和新的群体组织结构。
(一)增加收敛因子
由于不同问题对算法的全局或局部搜索能力会有不同要求,所以算法的全局搜索能力和局部搜索能力之间的平衡关系最好可以调整。文献提出了一种统一模型,并对模型的进化行为进行理论分析,同时给出了保证PSO算法具有全局收敛性的参数自适应方案,给不同的参数赋予不同的值得到不同的微粒群算法模型,适应解决不同问题的要求。
(二)迭代过程中微粒状态的调整
为微粒重新赋值微粒的状态量包括微粒的位置、速度和搜索空间,为了刺激群体持续进化,避免群体的早熟收敛和停滞现象,很多研究者指出依据一定的标准为整个群体或某些微粒的状态量重新赋值,以维持群体的多样性,使算法可持续进化。
研究者提出了多种动态调整的自适应微粒群算法,通过分析基本微粒群算法,给出了基于动态圆形的动态调整微粒群算法,实例仿真说明该方法不仅具有较快的收敛速度,而且跳出局部最优点的能力也大为提高。另有提出了一种改进的自适应微粒群算法.该算法通过引入活性因数,利用分布式处理模式以及使所有微粒均具有检测环境变化的能力的方式,提高了算法在复杂环境中检测环境变化的能力,尤其是在动态环境中存在某些静止的极点,而微粒群收敛于此暂时静止的极点时,IAPSO算法更能凸现其优势。
(三)与智能进化算法的结合
微粒群算法有其优点,也有其缺陷,近年来有很多研究将微粒群和遗传算法,模拟退火,蚁群算法等只能算法相结合提出了不同的优化方法取得了很好的效果,这些研究表明和其他进化算法的结合是微粒群算法的一个重要方向。
(四)新的群体组织结构
社会心理学研究表明:人们的态度、信仰和行为倾向于朝同伴的方向变化,他们会根据自己所处群体的规范选择自己的意见和行为,而不是某个特定个体的行为,有研究者根据不同的使用环境构造了不同的微粒群模型,为微粒群的新结构建立做了大量的工作,也是个重要的研究领域。
目前,已经出现了用算法解决整数规划、非线性规划、多目标优化问题等优化问题的文章.此外,该算法在系统辨识、神经网络训练等方面,也有着广泛的应用。主要应用于优化问题的求解、机器人领域、电力系统领域、交通运输领域、工程设计与优化领域、工业生产优化领域、计算机领域、通讯领域、生物信息领域,微粒群算法的应用范围和深度都在不断的加强,随着算法理论研究的成熟和应用的广泛进行,为一些NP问题的解决提供更好的算法支持。
对微粒群优化算法的研究还不是很成熟,许多问题有待解决。具体而言,有以下几点。
①算法理论:微粒群优化算法并没有能给出严格的数学证明,理论基础较弱,需要进一步研究,
②算法结构:算法结构包括算法基本形式和各种改进形式,还可以根据最新的技术和应用提出更好的模式。尤其最近用微粒群思想改进的细菌趋药性算法取得了较好的效果,得到越来越多的研究者关注。
③算法应用:目前,PSO的应用大量局限于连续、单目标、无约束的确定性优化问题.因此,如何将PSO算法应用于离散、多目标、约束、不确定、动态等优化问题,将是微粒群算法的主要研究方向。
PSO算法作为一种新的智能算法已经得到了广泛的应用,并取得很好的效果,随着智能计算的不断发展,会有更多的改进和应用,尤其算法的应用研究将促进我国高新技术的迅速发展。
[1]Y Shi R C Eberhart A Modified Particle Swarm Optimizer[A]Proceedings of the IEEE International Conference on Evolutionary computation.Piscataway,N.IEEE Press,1998,69-73.
[2]曾建潮,崔志华.微粒群算法的统一模型及分析[J].计算机研究与发展,200643(1):96~100.
(责编 张景贤)