在PSO粒子群算法【PSO学习笔记_01】_L1234X的博客-CSDN博客中,主要以介绍PSO算法的个人理解,以理论为主,本文将在此基础上进行实践。

目录

例题

对应函数图像用matlab画出为:

​函数:

画图程序:

解题

结合例题可知:

仿真计算结果:

补充:

参考文献


例题

对应函数图像用matlab画出为:

函数:

function y=fitness1(x)
%fitness函数,即例3-1中的测试函数
%输入x,给出相应的y值,在x=(0,0,…,0)处有全局极小点0
[row,col]=size(x);
if row>1error('输入的参数错误');
end
y=sum(x.^2+x-6);

画图程序:

function Drawfitness1()
x=[-4:0.05:4];
y=x;
[X,Y]=meshgrid(x,y);
[row,col]=size(X);
for l=1:colfor h=1:rowz(h,l)=fitness1([X(h,l),Y(h,l)]);end
end
surf(X,Y,z);
shading interp

解题

根据前文:

结合例题可知:

fitness适应度函数(目标函数)为:

因此可在matlab中建立适应度函数(目标函数)代码:

function F=fitness(x)
F=0;
for i=1:30F=F+x(i)^2+x(i)-6
end

此外,根据i可知自变量个数D=30。

函数的最小点均为0,粒子群规模为N=50,惯性系数为w=0.5,学习因子c1=1.5、c2=2.5,迭代步数M=100。然后在matlab命令行窗口输入如下代码即可:

x=zeros(1,30)%创造一个1行30列的0矩阵
%利用前文中的PSO粒子群函数求解目标函数最小值
[xm1,fv1]=PSO(@fitness,50,1.5,2.5,0.5,100,30)%其中@fitness为句柄函数,实际上就是指的题中目标函数

仿真计算结果:

则在上述条件下求得目标函数

的最小值为-185.4780

补充:

计算结果并不一定该目标函数“真正”的最小值,只能说为在上述假定条件下利用该PSO算法得到的最小值。

PSO为随机算法,即使是相同的参数,经过几次运算也可能得到不同的结果,因为最初位置、速度都是随机给定的。并且当调整函数中N、w、M、c1、c2参数时得到的结果也可能不同。

迭代次数M并不是越大结果越精准,因为PSO的缺点,算法优化到一定程度时其精度就无法继续优化了,其它参数同理。各参数更像一个经验参数,需要各参数之间的配合以达最优解。

参考文献

《matlab》智能算法 温正 孙华克

 未完待续...

PSO粒子群算法的matlab实践【PSO学习笔记_02】相关推荐

  1. PSO粒子群算法微电网优化调度(微电网孤岛运行优化调度)matlab程序

    PSO粒子群算法微电网优化调度(微电网孤岛运行优化调度)matlab程序 [含风电.光伏.微型燃机.储能蓄电池.燃料电池] 参考文献:基于改进粒子群算法的微电网优化调度 摘 要:当今全球普遍面临着能源 ...

  2. PSO粒子群算法优化BP神经网络(PSO-BPNN)回归预测MATLAB代码

    PSO粒子群算法优化BP神经网络(PSO-BPNN)回归预测MATLAB代码(有优化前后的对比) 代码注释清楚. main为运行主程序,可以读取本地EXCEL数据,也可以加载本地数据.mat,使用换自 ...

  3. 基于马尔可夫过程的一种新型混合PSO粒子群算法(SCI二区高被引文献)介绍及算法复现(使用chatgpt)

    以下是一篇算法领域的SCI二区文献(原文见附件),介绍了一种使用Markov概率转移矩阵对种群拓扑结构进行加权的粒子群算法,相比于标准PSO算法该算法提高了全局覆盖率,更容易跳出局部最优,但是在局部最 ...

  4. 粒子群算法的matlab实现

    转自:https://blog.csdn.net/just_do_it_123/article/details/50993439 粒子群算法,也称粒子群优化算法(Particle Swarm Opti ...

  5. jeremy的路径规划学习-1.三维地图定义,散点拟合插值与粒子群算法(matlab实现)

    jeremy的路径规划学习-1.三维地图定义,散点拟合插值与粒子群算法(matlab实现) 本文基于小黎的ally学习资料实现,感谢该博主的无私奉献 三维地图与二维地图的差别 1.二维无高度信息,多用 ...

  6. PSO粒子群算法调节PID控制器参数

    概述 PSO(粒子群算法)在处理连续问题上有着较强的能力,因此很适合用来做参数优化,而PID控制器由三个参数组成,它们分别是: Kp.Ki.KdK_p.K_i.K_dKp​.Ki​.Kd​ 我们可以把 ...

  7. 学习笔记|PSO粒子群算法(1)

    粒子群算法 源于对鸟群捕食行为的研究,每只鸟之间通过集体的协作使群体达到最优目的,使一种基于Swarm Intelligence的优化算法,关键点在于处理"社会行为"和" ...

  8. 粒子群算法的matlab实现(一)

    粒子群算法(Particle Swarm Optimization,PSO)是20世纪90年代兴起的一门学科,因其概念简明.实现方便.收敛速度快而为人所知.粒子群算法的基本思想是模拟鸟群随机搜寻食物的 ...

  9. 粒子群算法及其matlab实现

    粒子群算法( Particle Swarm Optimization, PSO)最早是由Eberhart和Kennedy于1995年提出,它的基本概念源于对鸟群觅食行为的研究.设想这样一个场景:一群鸟 ...

最新文章

  1. NHibernate3剖析:Query篇之NHibernate.Linq标准查询
  2. zabbix icmp ping 监控主机_Zabbix监控 MySQL 性能
  3. c语言if不能判断u8变量值,C语言变量名命规则.doc
  4. 修改epo服务器 gps,epo
  5. ios图片轮播 (基础篇——UIScrollView实现方式)
  6. Java运行时内存工作过程
  7. InstallShield 2012 Spring新功能试用(6): InstallScript工程支持64位组件(Components)...
  8. 1.4 多项式拟合实例
  9. 开源程序安装框架-BitNami
  10. JDK动态代理的意义和用法
  11. c语言 常量和变量 ppt,c语言常量与变量.ppt
  12. 计算机专业技能考核方案,巩义市计算机专业技能课教学考核方案.doc
  13. 【高等数学】定积分1
  14. windows运行库文件
  15. Orcle 12c 新特性--- 支持PDB OMF
  16. ae,me,pr功能区别
  17. 9个网站,给不知道去哪找数据的你
  18. 怎么访问到别人的电脑?
  19. DISPO与EKGRP 的关系(MRP控制者和采购组)
  20. I@de6ced(downloaded)

热门文章

  1. 小程序AI初体验 | 做一款实时识别车辆报价的小程序
  2. ES GET/MGET 设计理解
  3. [教程]使用gitbook写书
  4. Photoshop设计精讲精练笔记(五)
  5. Pycharm如何更改字体大小
  6. 学习HTML5不可错过的12家国外网站
  7. http://www.w3schools.com/
  8. WORD学习之插入分页符
  9. fixed定位导致的问题
  10. 08-图9 关键活动 (30 分)