粒子群算法解决函数优化问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
粒子群算法解决函数优化问题
1、群智能算法研究背景
粒子群优化算法(Particle Swarm Optimization,PSO)是由Kennedy 和Eberhart 在研究鸟类和鱼类的群体行为基础上于1995 年提出的一种群智能算法,其思想来源于人工生命和演化计算理论,模仿鸟群飞行觅食行为,通过鸟集体协作使群体达到优。
PSO算法作为一种新的群智能算法,可用于解决大量非线性、不可微和多峰值的复杂函数优化问题,并已广泛应用于科学和工程领域,如函数优化、神经网络训练、经济调度、模式识别与分类、结构设计、电磁场和任务调度等工程优化问题等。
PSO算法从提出到进一步发展,仅仅经历了十几年的时间,算法的理论基础还很薄弱,自身也存在着收敛速度慢和早熟的缺陷。
如何加快粒子群算法的收敛速度和避免出现早熟收敛,一直是大多数研究者关注的重点。
因此,对粒子群算法的分析改进不仅具有理论意义,而且具有一定的实际应用价值。
2、国内外研究现状
对PSO算法中惯性权重的改进:Poli等人在速度更新公式中引入惯性权重来更好的控制收敛和探索,形成了当前的标准PSO算法。
研究人员进行了大量的研究工作,先后提出了线性递减权值( LDIW) 策略、模糊惯性权值( FIW) 策略和随机惯性权值( RIW) 策略。
其中,FIW 策略需要专家知识建立模糊规则,实现难度较大,RIW 策略被用于求解动态系统,LDIW策略相对简单且收敛速度快,
任子晖,王坚于2009 年,又提出了基于聚焦距离变化率的自适应惯性权重PSO算法。
郑春颖和郑全弟等人,提出了基于试探的变步长自适应粒子群算法。
这些改进的PSO算法既保持了搜索速度快的特点, 又提高了全局搜索的能力。
对PSO算法的行为和收敛性的分析:1999 年采用代数方法对几种典型PSO
算法的运行轨迹进行了分析,给出了保证收敛的参数选择范围。
在收敛性方面Fransvan den Bergh引用Solis和Wets关于随机性算法的收敛准则,证明了标准PSO算法不能收敛于全局优解,甚至于局部优解;证明了保证收敛的PSO算法能够收敛于局部优解,而不能保证收敛于全局优解。
国内的学者:2006 年,刘洪波和王秀坤等人对粒子群优化算法的收敛性进行分析,指出它在满足收敛性的前提下种群多样性趋于减小,粒子将会因速度降低而失去继续搜索可行解的能力,提出混沌粒子群优化算法。
2008 年,黄翀鹏和熊伟丽等人分析惯性权值因子大小对PSO算法收敛性所带来的影响,对粒子群算法进行了改进。
2009 年,高浩和冷文浩等人,分析了速度因子对微粒群算法影响,提出了一种基于Gaussian变异全局收敛的粒子群算法。
并证明了它能以概率 1 收敛到全局优解。
2010 年,为提高粒子群算法的收敛性,提出了基于动力系统的稳定性理论,对惯性权重粒子群模型的收敛性进行了分析,提出了使得在算法模型群模型收敛条件下的惯性权重和加速系数的参数约束关系,使算法在收敛性方面具有显著优越性。
在PSO算法中嵌入别的算法的思想和技术。
1997年,李兵和蒋慰孙提出混沌优化方法;
1998年,Angeline在PSO算法中引入遗传算法中的选择算子,该算法虽然加快了算法的收敛速度,但同时也使算法陷入局部优的概率大增,特别是在优化Griewank 基准函数的优值时得到的结果不理想;
2004 年,高鹰和谢胜利将混沌寻优思想引入到粒子群优化算法中,首先对当前群体中的优粒子进行混沌寻优, 再用混沌寻优的结果随机替换群体中的一个粒子,这样提出另一种混沌粒子群优化算法。
2005 年,YuLiu 和ZhengQin提出了中心粒子群算法;
2010年,提出基于区域收缩搜索的混合粒子群算法。
和别的智能算法的融合。
国外学者:1998年,Angeline提出了结合遗传算法中选择算子的PSO算法,主要应用粒子群算法的基本机制以及自然选择机制所采用的演化计算方法,使PSO 的局部搜索能力得到了提高, 但同时削弱了全局搜索能力;
2001 年,Lovbierg等人,将繁殖和子群组的概念引入PSO算法中,防止了
基于适应值的选择对那些多局部极值函数带来的潜在问题;
2003 年,Zhang和Xie在PSO中加入差分进化算子,Higasbi、Iba和Stacey 等人试图在PSO中加入变异算子,同年,Hendtlass提出了一个研究,即扩大粒子有记忆的地方,它是通过对比蚁群算法信息素在路径上的分布情况得出的。
3、P SO算法介绍
Craig Reynoldsd的鸟群聚集模型:
基本思想:通过群体中个体之间的协作和信息共享来寻找最优解
优点:概念简单、容易实现、搜索速度快和搜索范围大
缺点:易陷入局部极小
基本粒子群算法流程:
1.初始化粒子群,随机初始化粒子(D维上的位置和速度)
2.根据适应度函数计算各粒子的适应度值
3.对每个粒子,将其与本身历史最好位置比较,若较好,则将其替换为当前最好位置
4.对每个粒子,将其与全局最好位置比较,若较好,则将其替换为全局最好位置
5.根据公式(1)更新粒子的速度和位置
6.若未达到约束条件,则返回步骤2
公式(1) 流程图
4、 算法改进
原始的PSO 算法易陷入局部最优解,而采用增加扰动的方法可以消除此现象。
当粒子群体最有位置有一定代数没有进化时,选其中的粒子(位置和全局最优值一样),用当前的粒子对其进行更新操作
PSO 算法中的w 是惯性权重,使粒子保持空间的运动惯性,其有扩展全局搜索的趋势,有能力搜索新的区域。
1112
2()()
k k k k k id id id id k
k k d id
v wv c rand pbest x c rand gbest x +=+-+
-
目前常用的有固定权值、线性递减权值等方法,固定权值不利于迭代最后阶段的收敛,线性递减权值方法需要用小步长才能出现较好的收敛效果。
采用随机权重方法,每次使w 随机分布在0.4-0.6之间,实践证明,要优于线性递减的算法。
5、 实验结果及分析
Sphere 函数:
Rastrigrin 函数:
广义Griewank 函数:
2
1
()n
i
i f x X
==
∑21
()(10cos (2)10)
n
i i i f x X x θπ==-+∑2
11
1()14000n n
i
i i f x X ===-+∑∏
程序运行截图
6、总结与期望
标准PSO算法具有收敛速度快,但易陷入局部最优,因此我们参考文献,提
出了两种改进算法,并对不同的测试函数测试比较。
在总体上得到的结果要优于标准的PSO算法,个别情况下改进算法会出现不稳定,收敛速度慢,仍需进一步的改进。
只选取了几个函数进行测试,所以结果还有待进一步的测试。
同时对于不同函数,各个参数的选取比较简单,有待进一步的测试分析。
程序画图的方式和画出的图像还需要进一步的优化。