首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

智能优化算法—粒子群算法(PSO)

人工智能优化算法

粒子群算法(PSO)是由美国社会心理学家J.Kennedy和电气工程师R.Eberhart于1995年共同提出的。起源于对简单社会系统的模拟,因此它既保持了传统进化算法的群体智慧背景,同时又具有良好的优化性能。关注公众号获取源代码回复“PSO”或“粒子群算法”。

01 算法理论基础

      PSO算法的基本思想受到许多对鸟类的群体行为进行建模与仿真研究结果的启发,最初设想是模拟鸟群觅食的过程。“如一群鸟随机分布在一个区域,且此区域中只有一块食物,但是所有的鸟都不知道这块食物具体方位,只知道自己当前位置距离食物还有多远”。找到食物最简单有效的方式就是搜索目前到食物最近鸟的周围区域。如果把食物当作最优点,而把鸟到食物的距离当作函数的适应度,那么鸟寻觅食物的过程就可以当作函数寻优的过程。由此受到启发,提出了PSO算法。

02 算法实现

PSO算法中没有进化算子,而是将每个个体看作搜索空间中一个没有重量和体积的微粒,并在搜索空间中以一定的速度飞行,该飞行速度由个体飞行经验和群体的飞行经验进行动态调整。

其中 X_i 第i个粒子的n维位置向量,由适应度函数计算出粒子的适应度值;v_i为粒子第i  的飞行速度;  Pbest_i为粒子的最优位置。

若  f(X)为最小化的目标函数,微粒 i  则是当前最好位置。

其中,  j表示为粒子的第j  维,j =1,2,....,n  ;  i表示为第  i个粒子;  t 是迭代次数; r_1  和 r_2  为 [0,1]的随机数;  c_1 和 c_2 为加速因子,  c_1 调节粒子向自身最好位置方向移动的步长,c_2   调节粒子向全局最好位置方向移动的步长,这两个参数对粒子群算法收敛起的作用不是很大,但是适当调整这两个参数,可使粒子群算法收敛速度变快。

03 粒子群算法流程图

粒子群算法流程图,如下图所示:

图1  粒子群算法流程图

04 参考文献

[1] Kennedy J, Eberhart R C. Particle Swarm Optimization[C]. IEEE Conference on Neural Networks, Piscataway, NJ: IEEE Service Center, 1995: 1942-1948.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230319A072P900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券