粒子群算法及其改进

1 粒子群算法介绍

求解非线性最优化问题时,有一种比较常用的算法为智能体算法,这里我们介绍的粒子群算法就隶属于智能体算法。

粒子群算法是模拟鸟寻找食物:一群鸟在随机的搜索食物。在这个区域里只有一块食物,所有的鸟都不知道食物在那。但是它们知道自己当前的位置距离食物还有多远。 然后他们根据群体中个体之间的协作和信息共享来寻找到食物。

2、粒子群算法介绍

在这里插入图片描述 在粒子群优化算法中,每个解可用一只鸟(粒子)表示,目标函数就是鸟群所需要寻找的食物源。寻找最优解的过程中,粒子包含两种行为:个体行为和群体行为。

个体行为:粒子根据自身在寻优过程中的最优解更新自己的位置。

群体行为:粒子根据群体在寻优过程中的最优解更新自己的位置。

假设N个粒子组成1个粒子群,每个粒子都是一个D维向量,则每个粒子的位置为:

将其代入适应度函数(优化问题的目标函数)计算出适应度值,第i个粒子经历过的最优适应度值的位置记为个体历史最优:

整个粒子群经历过的最优位置记为全局最优:

在找到上述这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

根据上述公式可知,每个鸟将向着自己和种群最优的方向出发。 是粒子的当前位置。 是学习因子。粒子都有一个最大限制速度Vmax,如果某一维的速度超过设定的Vmax ,那么这一维的速度就被限定为Vmax 。

3、各种粒子群算法改进

1、将学习因子自适应话; 2、引入遗传算法特性,与之进行结合; 3、结合混沌特性,使其不易陷入局部最优; 4、二阶粒子群算法 5、与模拟退火算法结合; 6、二阶振荡粒子群算法

4、部分代码及仿真结果

for t=1:M
    for i=1:N
        w = wmax - (t-1)*(wmax-wmin)/(M-1);
        v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:));
        x(i,:)=x(i,:)+v(i,:);
        if fitness(x(i,:))<p(i)
            p(i)=fitness(x(i,:));
            y(i,:)=x(i,:);
        end
        if p(i)<fitness(pg)
            pg=y(i,:);
        end
    end
    Pbest(t)=fitness(pg);
end
仿真结果
仿真结果

关注公众号,获取全部改进代码

❤️ 关注我领取海量matlab电子书和相关资料

❤️ 扫一扫,添加我的公众号或者搜索【无人机开发】 alt

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/61087.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系统发育树的生成与美化(MEGA7和iTOL)--1.MEGA7生成系统发育树

#小白学习生成系统发育树 1.序列准备-本文中的数据LOC号是在文献中的附件中所找到的&#xff0c;然后在Phytozome v13中逐个查找氨基酸序列&#xff0c;需要输入所查找的物种名称&#xff0c;以及基因号&#xff0c;如下图所示&#xff1a; 下滑看到蛋白质序列 然后将蛋白质序…

PCL 基于最小生成树(MST)获取单木骨架(粗)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 提取的过程大体上分为两个部分:生成单木MST(最小生成树)以及基于该MST获取大致的骨架结构(线条)。 具体的计算过程如下所述: 1、首先应用Delaunay三角剖分来构造初始图。Delaunay三角剖分是MST计算的基础,因…

详解综合学习粒子群算法——CLPSO(附该文作者给出的matlab代码)

最近团队出了两篇基于CLPSO[1]的改进算法&#xff0c;这里根据自己的理解分析一下这个综合学习的算法&#xff0c;并将文章作者给出的源代码分享出来供大家学习&#xff1a;https://download.csdn.net/download/Bernard_S/12612817 (免费下载&#xff0c;本身就是从作者的主页搬…

进化算法之粒子群算法和Matlab实现(多维)

&#xff08;粒子群算法进阶讲解传送门&#xff1a;(https://blog.csdn.net/DBLLLLLLLL/article/details/103036067) &#xff09; 前面一篇文章介绍了遗传算法&#xff0c;这里再介绍一种进化算法&#xff0c;称为粒子群算法。同遗传算法类似&#xff0c;粒子群算法也是仿照了…

粒子群算法及通过惯性权重和学习因子对其进行改进—MATLAB实现

本文的代码将放在最后&#xff0c;需要的小伙伴们可以免费获取哦&#xff01;&#xff01;&#xff01; 不要忘记点赞加关注奥&#x1f60b;&#x1f60b; 文章目录 粒子群算法一、理论基础1、介绍2、核心公式3、图形直观解释 二、问题描述三、解题思路四、MATLAB实现1、参数设…

可查看其他用户聊天记录,ChatGPT 爆出大BUG

ChatGPT一经推出&#xff0c;迅速出圈&#xff0c;用户赞誉如云&#xff0c;“绝对改变世界”、“第四次工业革命的“火药桶”、“苍天啊&#xff0c;它咋啥都会&#xff0c;我失业了”&#xff0c;一时间 ChatGPT 成为完美的代言词。 然而近日&#xff0c;ChatGPT 遇到了大麻烦…

ChatGPT 和 Midjourney 将改变我们的生活,日常工作流程将完全改变并与这些新型工具集成

上周末我花了很多时间先玩 Open AI ChatGPT,然后玩 Midjourney。起初我笑了,然后我开始完全被各种可能性所困扰,然后我终于意识到了它的潜力,并开始将其用于更有成效的工作。 注意:我本可以用它来制作一个引人入胜的点击诱饵标题,但我没有. 这是我问 Open AI 聊天的第一…

博弈的意思_博弈是什么意思(博弈最通俗的解释)

国学智慧《鬼谷子》:在封闭和开合的状态中,达到自己想要的目的。 鬼谷子是一本智谋之书,里面主要讲述的就是在和别人博弈的时候,以什么样的心态和姿态,来达到自己想要的目的。也是为人处世,处世权谋之中,不可不读的一本书。鬼谷子这本书中的捭阖术,其中的道理也要灵活多…

你是伪民主式父母吗?

经常给青少年做咨询&#xff0c;发现一个有趣的现象&#xff0c;就是关于他们家庭的养育方式&#xff0c;孩子和父母的表述是不一样的&#xff0c;父母说他们是民主式的家长&#xff0c;给孩子尽量多的自由&#xff0c;不去过多管制&#xff1b;而孩子说自己的父母是特别专制和…

聪明人是怎么说话办事的?曾国藩这幅书法对联,两句话讲解透彻!

晚清名臣曾国藩的经典对联&#xff1a; “大处着眼&#xff0c;小处着手&#xff1b;群居守口&#xff0c;独居守心”&#xff01; 曾国藩是第一等的聪明人&#xff0c;能在复杂的官场中生存&#xff0c;还能赢得会做人的美誉&#xff0c;关键在于他做到了两件事&#xff0c;一…

嵌入式为什么没有软件架构师?

点击上方“小麦大叔”&#xff0c;选择“置顶/星标公众号” 福利干货&#xff0c;第一时间送达 我从事嵌入式软件开发有6、7个年头&#xff0c;bsp&#xff0c;驱动&#xff0c;应用软件&#xff0c;android hall&#xff0c;framework等都有涉猎。平时除了关注嵌入式行业的发展…

总结一下进程是什么

1、我们常说的进程是什么&#xff1f; 进程&#xff08;Process&#xff09;是计算机中的程序关于某数据集合上的运行活动&#xff0c;是系统进行资源分配和调度的基本单位&#xff0c;是操作系统结构的基础。 进程是程序的基本执的实体 2、进程状态 就绪状态 进程已获得除处…

Vue 方法中this指向 引起的祸端

可忽略 最近在写 vue 项目&#xff0c; 使用 总监封装 好的框架&#xff0c;遇到一个问题&#xff1a; vue 实例 methods 中的 方法在传递后&#xff0c;通过 函数名&#xff08;&#xff09; 方式调用后&#xff0c; 其内部 this 竟然没有指向 window。当时就不服了&#xff…

PHP语言25周年,PHP是世界上最好的语言

1995年6月8日&#xff0c;PHP 1.0版本正式问世&#xff0c;目前已经更迭到7.4版本&#xff0c;PHP 8.0 Alpha1版本也有望于今年6月中旬发布。25周年之际&#xff0c;杜蕾斯官方微博发文庆祝&#xff1a;“#PHP语言25周年#不管PHP是不是世界上最好的语言&#xff0c;反正—— pr…

“5G 太耗电,关掉它!”

作者 | Carol 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 随着5G的普及&#xff0c;如今已经有很多手机用户已经体验到了5G的便捷了。无论国内外&#xff0c;从各大运营商及手机厂商向5G的投入中可见&#xff0c;5G的普及只不过是时间问题罢了。 但就在大家都…

Android App 耗电量统计

前言 在Android统计App耗电量比较麻烦&#xff0c;直至Android 4.4&#xff0c;它仍没公开“电量统计”API或文档……额&#xff0c;是的&#xff0c;仅没有公开&#xff0c;并不是没有。平时在手机“设置- 电量”看到的数据 就是系统调用内部API的统计结果。 基础概念 1. 手机…

泰安柒柒:一篇文章带你了解爆火的ChatGPT

OpenAI发布聊天机器人模型ChatGPT&#xff0c;迅速出圈全网。它以对话方式进行交互。以更贴近人的对话方式与使用者互动&#xff0c;可以回答问题、承认错误、挑战不正确的前提、拒绝不适当的请求。 那么&#xff0c;ChatGPT为什么会爆火呢&#xff1f; 1 ChatGPT是什么&#…

ControlNet-有条件图文生成论文阅读

文章目录 摘要算法&#xff1a;ControlNetControlNet in Image Diffusion ModelTrainingImproved Training 实验Canny edgesHough linesHuman scribblesHED boundary mapOpenpifpaf poseOpenposeADE20K segmentation mapCOCO-Stuff segmentation mapDIODE normal mapDepth-to-I…

如何解决“德语/文”等外文字符显示乱码问题

目录 1“德文/语字符”等外文显示乱码原因 2 如何解决“德文/语字符”等外文显示乱码 2.1 使用支持多个“编码”切换的工具打开该文本 2.2 使用变音字符的标准ASCII字符 2.3 将计算机系统切换至西欧编码 3 结尾 1“德文/语字符”等外文显示乱码原因 以德文/语为例&#…