粒子群算法求解函数优化问题
2019-07-23罗晓宾郭德龙周锦程
罗晓宾 郭德龙 周锦程
【摘 要】求解函数优化问题的方法有很多种,如传统求解函数优化问题的算法有:罚函数、解析法等。但这些传统算法都存在运行慢、收敛性差、迭代次数过多缺点。针对这些问题,本文引入粒子群优化算法进行函数优化问题求解,该算法收敛速度快、结构简单、调节参数少、易于实现等优点。经过充分发挥粒子群算法的优点,解决了传统优化算法中存在的不足。最后,仿真实验结果表明,粒子群优化算法是可行的和有效的。
【关键词】PSO算法;函数优化;最优解
中图分类号: TP18 文献标识码: A 文章编号: 2095-2457(2019)15-0106-003
DOI:10.19694/j.cnki.issn2095-2457.2019.15.051
Particle Swarm Algorithm for Solving Function Optimization Problems
LUO Xiao-bin1,2 GUO De-long1,2 ZHIU Jin-cheng1,2
(1.School of Mathematics and Statistics Qiannan Normal University for Nationalities,
Duyun Guizhou 558000,China;
2.Key Laboratory of Complex Systems and Intelligent Computing,School of Mathematics and Statistics,
Duyun Guizhou 558000,China)
【Abstract】There are many ways to solve function optimization problems,Such as the traditional solution function optimization algorithm algorithms are:Penalty function,analytic method and so on.However,these traditional algorithms are running slow,poor convergence,too many times the number of iterations.to deal with these problems,In this paper, particle swarm optimization algorithm is introduced to solve the function optimization problem,The algorithm has the advantages of fast convergence,simple structure,few adjustment parameters and easy realization.After giving full play to the advantages of particle swarm optimization algorithm,Which solves the shortcomings in the traditional optimization algorithm.Finally,the simulation results show that,Particle swarm optimization algorithm is feasible and effective.
【Key words】Particle swarm optimization;Function optimization;Optimal solution
0 引言
在當今的生产和工程技术应用中有一些问题最后归结为求函数优化问题,而传统的优化算法只能解决一些简单的函数优化问题并且要求函数可导和连续的条件,对于一些复杂的函数优化问题,它会陷入局部最优,收敛速度很慢。虽然传统算法在这个领域取得了一定的研究,但是在某些问题上还存在很多缺陷。因此,本文提出了一种求解粒子群优化算法的函数优化问题,与传统算法相比,PSO算法简单易懂,波动性没有变化,在实际求目标函数中该算法利用粒子飞行速度和位置来决定适应度。基于粒子群算法容易理解、操作简单、便于实现且参数少等优点。通过仿真实验结果表明:PSO克服了传统算法的一些局限寻优问题,同时收敛速度也优于传统优化算法,更好的解决了局部优化问题。
1 问题描述
假如目标函数F(X)的决定变量是一个n维向量X=(X ,X ,…,X ) ,即使带约束的优化问题,则可以经过引进惩罚函数等手段将带约束的优化问题改变为不带约束的优化问题[1],固然是关于最大值问题, 能够经过单一的改变转为最小值问题,如此优化问题则可以合并为谈论目标函数F(X)在各个决定分量区间min x max ,[min ,max ]i=1,2,…,n,n上的最小值问题。区间[min ,max ],i=1,2,…,n,n通过求解约束, 我们可以找到目标函数的最优搜索n维空间。
2 粒子群算法的介绍
2.1 粒子群算法的基本原理
自粒子群算法提出以来就被广泛关注,它是通过鸟群觅食思想的一种智能优化算法。将鸟群的个体当作是没有重量的微粒,和鸟群集体飞行搜索到最佳飞行方向相似,粒子也跟随当前最优而运动[2]。粒子群算法具有较好的搜索能力、容易理解、操作简单、参数少等优点,在实际运用该算法的时候将函数待求目标比作粒子,这些粒子在搜索空间中都以当前搜素到最优位置的粒子飞行,以达到整体寻优的目的[3]。
如下图1所示。粒子群算法求解抽象成颗粒的问题,随机获得初始化的粒子后计算其适应度,粒子群优化的位置和单个颗粒的最优位置的选取,然后分别更新粒子的速度和位置,如是满足终止条件,输出最佳的结果,否则,返回第二步重新计算。在计算中需要注意适应度误差应当在允许的范围内,或者迭代计算超过了允许的最大迭代次数,这些因素都影响着满足终止条件,从而直接影响输出的最优结果。下图1利用粒子群算法程序更好的说明了粒子群算法的基本原理。
2.2 标准粒子群算法的流程图
3 粒子群算法求解函数优化问题的实现步骤
4 数值仿真实验与结果分析
选取以下函数进行仿真实验:
仿真结果与统计数据见表1、表2。该实验是用Matlab R2010a 7.10.0编写,在操作系统:Windows7处理器:Intel(R)Celeron(R)CPU 1007U@1.50GHz安装内存:4.00GB系统类型:64位操作系统电脑上进行的。其中参数设置如下:c1=c2=1.49445,群体规模M=20,Wmax,Wmin分别为1,-1,为防止粒子飞出可行区域,设定最大速度Vmax和最大位移Xmax等于函数定义域范围。
5 结论
传统优化算法求解函数优化问题时,对于复杂的函数优化问题,在求解过程当中存在很多缺陷,所以,基于优化算法和粒子群算法对函数的优化问题,提出了PSO解决函数优化问题,該算法具有收敛快,易于理解,参数少,计算精确等优点,仿真实验结果表明该算法十分有效,可以看作是传统方法的补充和拓展。
【参考文献】
[1]杨艳,李树波.一种改进的权均值粒子群优化算法[J].软件导刊,2013(5):58-60.
[2]林伟民,周宁宁.线性递减的粒子群优化算法[J].计算机技术与发展,2014(10):73-76.
[3]赵会洋,王爽,杨志鹏.粒子群优化算法研究综述[J].福建电脑,2007(3):28-28.
[4]汪灵枝.模拟退火改进粒子群优化算法求解函数优化问题[J].柳州师专学报,2006(3):107-109.
[5]雷秀娟,史忠科,王来军.粒子群优化算法在多目标优化中的应用与仿真[J].计算机工程与应用,2006(2):32-33.