数模常用算法—粒子群算法讲解(一)入门介绍

这篇具有很好参考价值的文章主要介绍了数模常用算法—粒子群算法讲解(一)入门介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、启发式算法介绍

二、最简单优化问题的介绍

三、启发式算法引入

        1、粒子群算法的介绍

         2、粒子群算法进一步解释

         3、粒子群算法的基本概念

        4、粒子群算法的直观解释

         5、粒子群算法中常用的符号说明


一、启发式算法介绍

        在讲解粒子群算法之前,我们先来谈谈什么是启发式算法,根据百度百科上的定义,启发式算法是一个基于直观或经验构造的算法,在可接受的花费下给出待解决优化问题的一个可行解

(1)可接受的花费:这点我们可以这样理解,就是时间复杂度和空间复杂度,我们通常在编程时通常希望有较低的时间复杂度和空间复杂度,若运行一个程序需要一年,这种花费对我们来说显然是不可接受的。

(2)优化问题:这个相信大家都学过也都做过相应的题,其实优化问题就是我们高中经常做的一个数学规划问题,也就是找最大值和最小值的问题。

(3)可行解:就是这个解可以满足我们的需要即可,不一定非要是最优的解。

二、最简单优化问题的介绍

粒子群算法中的速度是什么,数学建模,动态规划

 我们需要找到这个一元函数的最大值,正常情况下我们可以考虑枚举法,就是在自变量区间内等间距的划分若干个点,分别求其函数值,看看哪个值比较大,最大的值对应的自变量值就是解,那这样做有什么问题呢?

        (1)这种情况显然是不精确的,即它把一个连续性问题变成了一个离散型问题。

        (2)若有n个变量怎么办呢?若有n个变量,时间复杂度将会呈指数似的增长。

三、启发式算法引入

        针对上述问题,我们就需要引入我们的启发式算法,今天我们先来介绍一下粒子群算法。

        1、粒子群算法的介绍

           粒子群算法的核心思想是利用群体中的个体怼信息的共享使整个群体的运动在问题求解空间中产生无序到有序的演化过程,从而获得问题的可行解。也就是说当一群鸟在觅食时,若有其中一只鸟发现了实物,就会对其他伙伴说“我这里有食物,你们快过来”。

         2、粒子群算法进一步解释

粒子群算法中的速度是什么,数学建模,动态规划

 这只鸟第d步所在的位置 = 第 d-1 步所在的位置 + 第 d-1 步的速度 * 运动的时间

        x(d) = x(d-1) + v(d-1)*t  (t一般取 1 )

 这只鸟第d步的速度 = 上一步自身速度的惯性 + 自我认知部分 + 社会认知部分

v(d) = w*v(d-1) + c1*r1*(pbest(d) - x(d)) + c2*r2*(gbest(d) - x(d))

         3、粒子群算法的基本概念

           粒子:优化问题的候选解

           位置:候选解所在的位置

           速度:候选解移动的速度

           适应度:评价粒子优劣的值,一般设置为目标函数值

           个体最佳位置:单个粒子迄今为止找到的最佳位置

           群体最佳位置:所有粒子迄今位置找到的最佳位置

        4、粒子群算法的直观解释

        如下图所示,当求解这个一元函数的最大值的问题的时候,我们设置的10个粒子,通过他们不断地变换,我们可以找到最大值

粒子群算法中的速度是什么,数学建模,动态规划粒子群算法中的速度是什么,数学建模,动态规划

         5、粒子群算法中常用的符号说明

粒子群算法中的速度是什么,数学建模,动态规划文章来源地址https://www.toymoban.com/news/detail-682766.html

到了这里,关于数模常用算法—粒子群算法讲解(一)入门介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【机器人状态估计】粒子滤波算法介绍

    问题分类:位姿追踪、局部定位、全局定位;静态、动态环境定位;单一机器人定位、多机器人定位。 贝叶斯滤波框架: 定位置信度与运动模型卷积,两次独立估计值的整合比单一估计值使系统状态确定性更高。 基本思路 随机产生M个粒子(如M=1000),每个粒子表示状态变

    2024年02月22日
    浏览(31)
  • 14. unity粒子特效--速度、粒子环绕、力(重力、阻力、风力等)、噪音

    1. 渐变速度(Velocity over Time) 可以分别指定x,y,z三个方向的速度,最终的速度是三个方向的速度合成,点击右侧的下拉三角,也可以使用曲线进行速度的控制调节,如下图所示: 2. 粒子环绕 粒子的环绕就是让粒子绕着某一个轴进行转动,实现这个效果可以使用一个圆形发射

    2024年02月04日
    浏览(35)
  • 改进二进制粒子群算法在配电网重构中的应用(Matlab实现)【论文复现】

    目录  ​ 0 概述 1 配电网重构的目标函数 2 算例 3 matlab代码实现 配电系统中存在大量的分段开关和联络开关,配电网重构正是通过调整分段开关和联络升大的组合状态来变换网络结构,用于优化配电网某些指标,使其达到最优状态。正常运行时,则通过两类开关的不同组合状态

    2024年02月15日
    浏览(35)
  • UE4 niagara粒子 设置暂停和播放速度

    1.暂停 2.播放速度 我想在关卡序列去设置niagara播控,封装成函数即可,然后在关卡序列调用并K帧

    2024年02月12日
    浏览(29)
  • YOLOV5入门讲解+常用数据集

     大家好,我是csdn的博主: lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主 lqj_本人擅长微信小程序,前端,python,等方面的知识 https://blog.csdn.net/lbcyllqj?spm=1011.2415.3001.5343 哔哩哔哩欢迎关注: 小淼Develop 小淼Develop的个人空间-小淼Develop个

    2024年02月06日
    浏览(47)
  • S速度曲线轨迹规划(普通变频位置闭环控制算法详细介绍+SCL代码)

    位置控制用PD控制器,详细内容介绍请查看下面博客文章: PD控制器算法详细解读_RXXW_Dor的博客-CSDN博客 鉴于积分和微分在工程上的大量应用,这篇博文主要讲解工程上的如何求导f\\\'(x),导数反映的是函数(信号)的变化率,牛顿也是在研究运动的时候提出了微积分的概念,我

    2024年02月12日
    浏览(33)
  • 深入讲解Linux内核中常用的数据结构和算法

    Linux内核代码中广泛使用了数据结构和算法,其中最常用的两个是链表和红黑树。 Linux内核代码大量使用了链表这种数据结构。链表是在解决数组不能动态扩展这个缺陷而产生的一种数据结构。链表所包含的元素可以动态创建并插入和删除。链表的每个元素都是离散存放的,

    2023年04月16日
    浏览(28)
  • 零基础学MySQL(五)-- 详细讲解数据库中的常用函数

    提供 student 表 1️⃣count 函数 count 表示返回行的总数 (1)基本语法 (2)基本练习 统计一个班级共有多少学生? 统计数学成绩大于 90 的学生有多少个? 统计总分大于 250 的人数有多少? (3)注意细节 count(*) 和 count(列) 的区别: count(*) 返回满足条件的记录的行数 count(列

    2024年01月19日
    浏览(43)
  • 数模论文写作入门——正文篇

    提示:数模论文写作入门还有“首页篇”和“排版篇”,可查看专栏补充。 目录 前言 一、问题重述 1、改词降重 水论文方法 2、 查阅相关背景资料 引用高大上 二、问题分析  三、模型假设 1.题目中明确给出假设条件 2.排除生活中小概率时间(黑天鹅事件、非正常情况)

    2024年02月09日
    浏览(28)
  • Python开发GUI常用库PyQt6和PySide6介绍之三:交互和通信方式讲解

    在PyQt6和PySide6中,事件(Event)和信号(Signal)是两个不同的概念,它们都是Qt框架中用于处理不同类型的应用程序响应机制。简言之,事件是对用户交互或系统状态变化的直接响应,而信号和槽是一种允许对象间通信的机制。在PyQt6和PySide6的应用程序中,合理地使用事件和信

    2024年02月04日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包