实例介绍
1 引言
粒子群算法(Partical Swarm Optimization -PSO)是1995年由Eberhart博士和kennedy 博士共同提出的一种优化算法[1] [2]。它属于群智能算法的一种,和遗传算法相似,它也是从随机解出发,通过迭代寻找最优解,通过适应度来评价解的品质。但是粒子群算法比遗传算法规则更为简单,它没有遗传算法的“交叉”和“变异”操作,它通过追随当前搜索到的最优值来寻找全局最优。这种算法以其实现容易、精度高等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性[3]。
在标准PSO算法中由于粒子的移动没有选择性,即使粒子的下一个位置的评价函数值很差,粒子依然用这个位置代替当前位置,这就使粒子容易跳出最优解附近的某一邻域,在一定程度上使PSO方法在局部搜索能力上表现较差。因此将粒子群算法与模拟退火算法相结合,利用退火算法在一定概率控制下暂时接受一些劣质解的特性,改善了标准PSO算法的局部寻优能力,并给出了仿真实例,结果证明所提算法具有更好的优化效果。
2 标准粒子群算法
PSO算法通过个体间的协作与竞争,实现复杂空间中最优解的搜索。PSO先生成初始种群,即在可行解空间中随机初始化一群粒子,每个粒子都为优化问题的一个解,并由目标函数为之确定一个适应值(Fitness Value)。每个粒子将在解空间中运动,并由一个速度决定其方向和距离。通常粒子将追随当前的最优粒子而动,并经逐代搜索,最后得到最优解。
3 模拟退火算法与粒子群算法的结合
针对上述情况,我们在PSO中引入了模拟退火思想,利用退火算法在一定概率控制下暂时接受一些劣质解的特性改进标准PSO。仿真结果表明,基于模拟退火的粒子群算法能够得到更好的优化效果。
通过对改进后的算法的研究,发现在粒子运动过程中,当粒子下一代位置比当前位置好时,粒子移动到下一代位置;反之,若下一代位置比当前位置差,则粒子并不直接移动到下一代位置,而是以某一概率进行移动,且通过温度 来控制这一概率。这样粒子不会盲目的直接扑向下一代位置,而是以某种概率“试探”后再行动。因此,当温度下降的足够慢时,粒子不会轻易的跳出有“希望”的搜索区域,从而增强了粒子的局部搜索能力。
4 部分代码
5 结论
改进的PSO算法通过与模拟退火算法的结合,能够有效地调节全局搜索与局部搜索能力,不容易陷入局部最优,能得到更好的优化效果。粒子群算法与各种优化算法的结合近年来发展很快,但其数学基础比较薄弱,缺乏深刻且具有普遍意义的理论分析,这也是今后需要研究的一个重要方向[9]。
[1] Kennedy J, Eberhart R C. Particle swarm optimization [A]. Proceedings of IEEE International Conference on Neural Networks [C]. Piscataway, NJ: IEEE Press, 1995.1942-1948.
[2] Eberhart R C, Kennedy J. A new optimizer using particle swarm theory [A]. Proceeding of the sixth International symposium on micromachine and human science[C]. Piscataway: IEEE Service Center, 1995. 39-43.
[3] 刘康,余玲.一种仿生优化算法-微粒群算法[J].四川轻化工学院学报, 2003, (3): 9-11.
[4] Eberhart R C, Simpson P K, Dobbins R W. Computational Intelligence PC Tools [M]. Boston, MA: Academic Press Professional, 1996.
[5] Shi Y, Eberhart R C. A modified particle swarm optimizer [A]. Proceedings of the IEEE Congress on Evolutionary Computation [C]. Piscataway, NJ: IEEE Press, 1998.303-308.
[6] Shi Y, Eberhart R C. Empirical study of particle swarm optimization [A]. Proceedings of the IEEE Congress on
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论