一、、基本概念
每个寻优的问题解都被想像成一只鸟,称为“粒子”。所有粒子都在一个D维空间进行搜索。

  • 所有的粒子都由一个fitness-function确定适应值以判断目前的位置好坏。
  • 每一个粒子必须赋予记忆功能,能记住所搜寻到的最佳位置。
  • 每一个粒子还有一个速度以决定飞行的距离和方向。这个速度根据它本身的飞行经验以及同伴的飞行经验进行动态调整。

二、基本公式
a. D维空间中,有m个粒子;
粒子ii位置:
xi=(xi1,xi2,…xiD)
xi=(xi1,xi2,…xiD)

粒子ii速度:
vi=(vi1,vi2,…viD),1≤i≤m,1≤d≤D
vi=(vi1,vi2,…viD),1≤i≤m,1≤d≤D

粒子ii经历过的历史最好位置:
pi=(pi1,pi2,…piD)
pi=(pi1,pi2,…piD)

群体内(或领域内)所有粒子所经历过的最好位置:
pg=(pg1,pg2,…pgD)
pg=(pg1,pg2,…pgD)

一般来说,粒子的位置和速度都是在连续的实数空间内进行取值。
b. 基本公式
vk+1iD=vkiD+c1r1(pkiD−xkiD)+pkgD−xkiD
viDk+1=viDk+c1r1(piDk−xiDk)+pgDk−xiDk

xk+1iD=xkiD+vk+1iD
xiDk+1=xiDk+viDk+1

其中,c1c1, c2c2 是学习因子和加速因子,r1r1, r2r2 取值范围是[0,1][0,1], 是该区间范围内的随机数,vmaxvmax是例子速度能达到的最大值

粒子群算法(PSO)基本原理相关推荐

  1. C语言实现粒子群算法(PSO)一

    C语言实现粒子群算法(PSO)一 最近在温习C语言,看的书是<C primer Plus>,忽然想起来以前在参加数学建模的时候,用过的一些智能算法,比如遗传算法.粒子群算法.蚁群算法等等. ...

  2. 粒子群算法(PSO)以及Matlab实现

    粒子群算法(PSO)以及Matlab实现 算法背景 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由Eberhart 博士和kennedy ...

  3. 粒子群算法(PSO)的C++实现

    粒子群算法(PSO)的C++实现 粒子群算法(PSO----Particle Swarm Optimization)是常用的智能算法之一,它模拟了 鸟群觅食 行为,是一种具有随机性的 仿生算法 .PS ...

  4. 粒子群算法(PSO)Matlab实现(两种解法)

    粒子群算法(PSO) 用途:可以用于寻求最优解问题 生物机理:鸟群寻找湖泊 在函数中,有很多是无法求出最优解的 在这时,我们会采用软计算方法,而PSO算法,在软计算算法中有重要的地位: 好吧,这个仁者 ...

  5. 粒子群优化算法和python代码_Python编程实现粒子群算法(PSO)详解

    1 原理 粒子群算法是群智能一种,是基于对鸟群觅食行为的研究和模拟而来的.假设在鸟群觅食范围,只在一个地方有食物,所有鸟儿看不到食物(不知道食物的具体位置),但是能闻到食物的味道(能知道食物距离自己位 ...

  6. 【老生谈算法】标准粒子群算法(PSO)及其Matlab程序和常见改进算法——粒子群算法

    1.算法详解: 1.原文下载: 本算法原文如下,有需要的朋友可以点击进行下载 序号 原文(点击下载) 本项目原文 [老生谈算法]标准粒子群算法(PSO)及其Matlab程序和常见改进算法.docx 2 ...

  7. 粒子群算法(PSO)初识

    粒子群算法PSO是模拟群体智能所建立起来的一种优化算法,用于解决各种优化问题. 抽象问题实例化: 假设一群 鸟在觅食,只有一个地方有 食物,所有鸟儿都看不见食物(不知道食物的具体位置,知道了就不无需觅 ...

  8. Python编程实现粒子群算法(PSO)详解

    1 原理 粒子群算法是群智能一种,是基于对鸟群觅食行为的研究和模拟而来的.假设在鸟群觅食范围,只在一个地方有食物,所有鸟儿看不到食物(不知道食物的具体位置),但是能闻到食物的味道(能知道食物距离自己位 ...

  9. 【ELM预测】基于粒子群算法PSO优化极限学习机预测含Matlab源码

    1 模型 为了提高空气质量预测精度,提出一种基于粒子群算法优化极限学习机的空气质量预测模型.运用粒子群算法优化极限学习机的初始权值和偏置,在保证预测误差最小的情况下实现空气质量最优预测.选择平均绝对百 ...

最新文章

  1. TCP协议的服务器与客户端的程序设计(代码注释超详细)
  2. 神奇的 SQL,Group By 真扎心,原来是这样!
  3. 机器学习初学者都应该知道的5类回归损失函数
  4. 边缘AI是内存技术发展的催化剂
  5. java file.canexecute_Java File canExecute()用法及代碼示例
  6. 动手实现Kotlin协程同步切换线程,以及Kotlin协程是如何实现线程切换的
  7. 动态规划之背包模型及其扩展应用
  8. “最佳融合通信创新应用平台”认证!2021 年度全球新经济卓越成就奖揭晓
  9. 【Linux系统编程】信号 (下)
  10. 第二章 XHTML简介
  11. Web工程师必备的可视化工具
  12. [python]python urllib 模块
  13. atitit.解决SyntaxError: missing ] after element list不个object 挡成个str eval ....
  14. 团队软件库_R FMEA软件介绍
  15. 营养电子秤控制板方案
  16. 微信公众号音频在线下载工具 微信公众号音频下载工具 微信公众号视频下载工具
  17. LiveQing私有云端流媒体-拉转直播功能
  18. 微擎上传图片失败——加密版本不能使用__DIR__或者__FILE__
  19. 正则表达式匹配字符串(scala)
  20. oracle模糊批量查询,Oracle 模糊查询方法

热门文章

  1. 安卓 类微信界面实现
  2. 【Element ui 的NavMenu二级菜单下拉icon修改】
  3. 格式化D盘显示有一个应用程序正在运行,无法格式化
  4. 用IMAP4访问Exchange邮箱
  5. OKR工作法的简单总结
  6. 问题解决:“nginx: [emerg] unknown directive “ “ in /etc/nginx/conf.d/XXX.conf:122”
  7. 如何从网上下载一段视频(iawia002)
  8. Landsat Collection 2 T1一级数据详细介绍(数据处理过程和几何精度)
  9. celeste mod如何安装
  10. Docker安装mysql8.0并配置忽略大小写