参考资料

《精通MATLAB最优化计算(第二版)》

编程工具

Matlab 2019a

目录

石中居士:最优化计算与Matlab实现——目录​zhuanlan.zhihu.com



带压缩因子的粒子群算法

  • 原理

学习因子

决定了粒子本身经验信息和其他粒子的经验信息对粒子运行轨迹的影响,反映了粒子群之间的信息交流。设置
较大的值,会使粒子过多地在局部范围内徘徊,而较大的
值,则又会促使粒子过早收敛到局部最小值。

为了有效地控制粒子的飞行速度,使算法达到全局探测于局部开采两者间的有效平衡,Clerc构造了引入收缩因子的PSO算法,其速度更新公式为:

为保证算法的顺利求解,

必须大于4。典型的取法有:

(1)

,此时
,收缩因子
,这在形式上就等效于
的基本PSO算法;

(2)微粒规模

,此时
,收缩因子
  • 算法步骤

带压缩因子粒子群算法的基本步骤如下:

【1】随机初始化种群中各微粒的位置和速度;

【2】评价每个微粒的适应度,将当前各微粒的位置和适应值存储在各微粒的pbest中,将所有pbest中适应值最优个体的位置和适应值存储于gbest中;

【3】用下式更新粒子的速度和位移:

其中,

【4】对每个微粒,将其适应值与其经历过的最好位置作比较,如果较好,则将其作为当前的最好位置;

【5】比较当前所有pbest和gbest的值,更新gbest;

【6】若满足停止条件(通常为预设的运算精度或迭代次数),搜索停止,输出结果,否则返回【3】继续搜索。

  • Matlab代码与试算

求下面函数的最小值:

求解时采用两种参数取法:

(1)粒子群数目取40,学习因子都取2.05,迭代步数取10000;

(2)粒子群数目取30,学习因子1取2.8,学习因子2取1.3,迭代步数取10000。

解:建立目标函数文件fitness.m

fitness.m

function

test.m

[

Compressibility_Factor_Particle_Swarm_Optimization_Method.m

function

本题中的最小点为

,最小值为-2。两种参数情况下求出的解的精度都比较高。

即使采用同样的参数,粒子群算法每次得出的结果也可能不同,采取同样的参数(粒子群数目取40,学习因子都取2.05,迭代步数取10000)对本例题的函数用带压缩因子的粒子群算法求解20次。

test.m

X1 

图像

横坐标代表

,纵坐标代表
,从20次求解结果看出,大部分的点均匀分布在
附近。


matlab nan变成0_最优化计算与matlab实现(17)——粒子群优化算法——带压缩因子的粒子群算法...相关推荐

  1. matlab优化算法案例分析与应用_最优化计算与matlab实现(18)——粒子群优化算法——权重改进的粒子群算法...

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 权重改进 ...

  2. 【二次分配问题】基于遗传算法 (GA)、粒子群优化 (PSO) 和萤火虫算法 (FA) 求解二次分配( QAP)问题(MATLAB 实现)

    目录 1 概述 3 运行结果 3.1 萤火虫算法 3.2 粒子群优化算法 3.3 遗传算法

  3. 基于粒子群优化的灰色预测方法(Matlab)——附代码

    目录 摘要: 研究背景: GM(1,1)模型 基于PSO的灰色预测算法 运行结果: 本文Matlab代码分享 摘要: 本文对灰色预测算法进行了研究.在GM(1,1)模型中,发展系数a和灰色作用量u是两 ...

  4. matlab求二元函数极值算法_最优化计算与matlab实现(3)——进退法

    参考资料 <精通MATLAB最优化计算(第二版)> 数值实现 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 进退法 ...

  5. c++分治法求最大最小值实现_最优化计算与matlab实现(12)——非线性最小二乘优化问题——G-N法...

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 非线性最 ...

  6. matlab length_【重点】最优化计算与matlab实现(20)——遗传算法

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 遗传算法 ...

  7. 【MATLAB教程案例11】基于PSO粒子群优化算法的函数极值计算matlab仿真及其他应用

    FPGA教程目录 MATLAB教程目录 -------------------------------------------------------------------------------- ...

  8. 【控制】粒子群优化(PSO,Particle Swarm Optimization)算法及 Matlab 仿真实现

    文章目录 定义 对比模拟捕食 通俗解释 粒子抽象 关于速度和位置 速度和位置的更新 标准PSO算法流程 标准PSO算法的流程 PSO流程图解 学习因子 c1.c2c_1.c_2c1​.c2​ 分析 仿 ...

  9. 2021-01-28 粒子群优化算法-Python版本和Matlab函数 particleswarm 调用

    粒子群优化算法-Python版本和Matlab函数 particleswarm 调用 前两天分享了粒子群优化算法的原理和Matlab原理实现,本文分享一下Python代码下的PSO实现以及Matlab ...

最新文章

  1. socket通信时如何判断当前连接是否断开--select函数,心跳线程,QsocketNotifier监控socket...
  2. asp.net mvc Post上传文件大小限制 (转载)
  3. 用友华表cell的程序发布
  4. 老板怒了,“我们赚钱你们花钱,还总出毛病!”
  5. Python 3.8 已发布,现在是切换至新版本的好时机吗?
  6. C++匿名对象生命周期静态变量函数
  7. 持续集成工具集之六 参考
  8. PostgreSQL学习总结(1)—— PostgreSQL 入门简介与安装
  9. 228 Summary Ranges 汇总区间
  10. 为什么旧硬件的驱动越来越难找了?
  11. 细谈会话管理-----Cookie和Session
  12. [另类应用]让SQL Profiler拦不到你的SQL
  13. html文件form根目录,HTML ,form 和 link 使用根目录 的问题,我已经上图了!
  14. 自己写的BMFont导入工具,快速把图片转换为美术字体
  15. 华为自带计算机怎么算平方立方,智能家庭中心:华为荣耀立方体验评测
  16. Indicate whether to send a cookie in a cross-site request by specifying its SameSite attribute
  17. 【小学信息技术教资面试】教案模板
  18. Linux进程管理、防火墙
  19. 支付宝网站付沙箱配置
  20. ansible 配置使用大全资料

热门文章

  1. 单纤双向BIDI光模块的介绍
  2. python 批量修改/替换数据
  3. Ubuntu18.04安装RTL8125/RTL8168等网卡驱动程序
  4. 市占率第一,是vivo的起点还是终点?
  5. python基础教程:face++与python实现人脸识别签到(考勤)功能
  6. 14个SpringBoot优化小妙招
  7. Mac Xcode opencv C++环境配置 保姆级教程 填坑记录 19年最新版本
  8. 【linux_centOS】Warning: mysql_num_rows() expects parameter 1 to be resource
  9. RecyclerView超级万能适配器(多布局、head、foot、下拉刷新、上拉自动更多、滑动删除)
  10. C语言输出国际象棋的棋盘