前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >粒子群算法

粒子群算法

作者头像
六四零
发布2021-01-21 09:55:38
1.3K0
发布2021-01-21 09:55:38
举报
文章被收录于专栏:小白VREP小白VREP

粒子群优化算法是通过模拟鸟群觅食过程中的迁徙和群聚行为而提出的一种基于群体智能的全局随机搜索算法。

自然界中各种生物体均具有一定的群体行为。生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模型,经过仿真,结果非常接近鸟群飞行现象。

于1995年,美国心理学家JK和电气工程师RE共同提出了粒子群算法,其基本思想是对鸟类群体行为进行建模与仿真的研究结果的启发,对仿真模型进行修正,使粒子飞向空间并且在最好处进行降落。

此图借鉴于CSDN,不是原创,借用此图对粒子群算法进行简单介绍。

粒子群算法就是根据鸟群觅食行为而来的,如上图所示:

鸟儿的速度和三个方面有关:

(1)受前一时刻速度的影响:速度不能突变

(2)个体历史最优影响:鸟儿个体所发现的最好的东西

(3)团队历史最优影响:鸟群曾发现的最好的东西

受以上三个因素的影响,最终合成鸟儿的速度。

MATLAB代码的主要组成:

(1)清空环境;

(2)编写适应度函数以及约束条件;

(3)设置种群参数:包括初始种群个数、空间维度、最大迭代次数、设置未知参数限制、限制速度参数限制、惯性权重、自我学习因子以及群体学习因子;

(4)生成初始种群:首先随机生成初始种群位置和速度,然后初始化个体历史最佳位置以及个体历史最佳适应度,初始化群体历史最佳位置以及群体历史最佳适应度;

(5)进行粒子群迭代:更新速度并对速度进行边界处理,更新位置并对位置进行边界处理,进行自适应变异,进行约束条件判断并计算新种群各个个体位置的适应度,将新适应度与个体历史最佳适应度进行比较,个体历史最佳适应度与种群最佳适应度作比较,再次循环或者结束;

(5)进行迭代结果输出。

以上代码部分是在csdn上下载的,未进行更改,在这里就不抛出来了,有需要的小伙伴可以私信我。

以下是我用粒子群优化算法对一工程实际问题进行优化的结果:

由于粒子群算法比较成熟,为进行对比,采用2020年提出的麻雀搜索算法对同一问题进行优化,结果如下:

那下一次就来说麻雀搜索算法吧~~~

麻雀搜索算法具有平稳性好、收敛速度快的优势,但是在这里体现不算明显。

最近没有学VREP,想发啥就发啥啦~~~

谁让这是在我的地盘呢~~~

hhhahha

鸡汤(原本放在简介里了,但是预览的时候没有,在这里我再放一下,)读一些无用的书,做一些无用的事,花一些无用的时间,都是为了在一切已知之外,保留一些超越自己的机会。人生中一些很了不起的时刻,就是来自这种时刻。-LWD

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白VREP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档