标题POS基本算法详细解析


粒子xi(t)与群相互交流,保存更新自己的最优点Pi(t),并且与群交流后得知全局(群)的最优点g(t),由原来的方向Vi(t)变到Vi(t+1)。

首先看懂上面两张图!再看程序

function[xm,fv] = PSO(fitness,N,c1,c2,w,M,D)
% c1,c2:学习因子
% w:惯性权重
% M:最大迭代次数
% D:搜索空间维数,也就是表示目标点需要几个参数,比如是三维的点,就需要三个维数,简单来说就是空间向量要三个参数确定xyz
% N:初始化群体个体数目

% 初始化种群的个体(可以在这里限定位置和速度的范围)
format long;%针对数据的显示形式进行控制,显示15位双精度,7位单精度
for i = 1:N
for j=1:D
x(i,j) = randn; % 随机初始化位置
v(i,j) = randn; % 随即初始化速度,共NxD个
end
end

% 先计算各个粒子的适应度(就是要计算的目标函数),并初始化pi和pg
for i=1:N
p(i) = fitness(x(i,:));%赋予随机初值
y(i,:) = x(i,:);%赋予粒子随机初值,状态方程用y(i,:)代替了
end
pg = x(N,:); % pg为全局最优,先定义随机选了x第N行的值为初值
for i=1:(N-1)%这里没搞懂N-1,不是N次循环吗?希望读者可以交流一下
if(fitness(x(i,:))<fitness(pg))%比较适应度(目标函数)全局Pg各个维度上最优和x第i行单个粒子最优,然后把N行中的D个维度综合最大的一行所有数据赋值给pg
pg = x(i,:);
end
end

% 进入主要循环,按照公式依次迭代,直到满足精度要求
for t=1:M
for i=1:N % 更新N个粒子速度、位移
v(i,:)=wv(i,:)+c1rand*(y(i,:)-x(i,:))+c2rand(pg-x(i,:));%这个地方y(i,:)不太懂,为啥不是p(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,:);%替换全局历史最优,第一次迭代下来就得到了N粒子中最优的全局值了,第M次迭代就得到了M次迭代下最优的值了
end
end
Pbest(t)=fitness(pg);
end

% 输出结果
disp(‘目标函数取最小值时的自变量:’)
xm=pg’;
disp(‘目标函数的最小值为:’)
fv=fitness(pg);

目标函数自己编写一个M文件,
主界面运行程序
x = zeros(1,D);
[xm1,fv1] = PSO(@fitness,N,c1,c2,w,M,D)

————————————————

原文链接:https://blog.csdn.net/zhaohaibo_/article/details/82465789

POS基本算法详细解析相关推荐

  1. PID算法详细解析——基于单片机

    本文主要是分享资料,讲解不会太多,因为分享的资料里面就有具体的详细解析,而且百度上面也有详细的资料,所以本次博文主要是讲解我用PID算法调温的经验. PID算法调整温度最大的问题的温度的上升问题以及温 ...

  2. yolo算法的优缺点分析_YOLO算法详细解析(一)

    目标检测和目标分类 图像识别算法是计算机视觉的基础算法,例如VGG,GoogLeNet,ResNet等,这类算法主要是判断图片中目标的种类. 目标检测算法和图像识别算法类似,但是目标检测算法不仅要识别 ...

  3. 小内存堆管理算法详细解析

    1.小内存堆管理算法介绍 本文所介绍的内存堆管理是RT Thread操作系统中的小内存管理算法,参考mem.c源文件.这个程序适用于小内存的CPU,比如像STM32F这样的只有几十-几百KB内存的处理 ...

  4. cs224n笔记(一) Lecture1: word2vec算法详细解析

    本文是对斯坦福CS224N关于word2vec内容的学习笔记 目录 1. 背景知识 2. 基本原理 1. CBOW 2. skip-gram 3.维度爆炸的处理 1. negative samplin ...

  5. RAID6的Q校验算法详细解析

    [前言] RAID为廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),RAID技术将一个个单独的磁盘以不同的组合方式形成一个逻辑硬盘,从而提高了磁盘读取的性 ...

  6. D*(Dynamic A*) 算法详细解析

    目录 记号 算法描述 参考 最初是Anthony Stentz发表在ICRA上,<Optimal and Efficient Path Planning for Partially-Known ...

  7. 数据结构与算法详细解析之双链表结构解析

    一.双向链表结构分析及其特点: 双链表结构:双向链表中每一个Node节点含Data域及pre指针(指向上一个节点).Next指针(指向下一个节点): 特点: 1)双向链表可以双向查找(向前或者向后查找 ...

  8. java中常见的限流算法详细解析

    目录 前言 1. 验证限流以及容器限流 2. 服务端限流 2.1 固定时间窗口 2.2 滑动时间窗口 2.3 漏桶算法 2.4 令牌桶算法 前言 以下的文章参考了一些具体的资料加深了解 B站:Java ...

  9. 标准BP算法详细解析

    下面的过程参考西瓜书 注意是标准BP噢,意思是一个单拿出一个样本来看的bp,单位是一个样本噢~ 一.图解以及符号定义 我要再啰嗦一遍,写成我习惯的方式: 二.过程解释 ①表示的是第一层第i个权值向量和 ...

最新文章

  1. ACE_Select_Reactor 一 ——入门
  2. 化生政组合能选计算机专业吗,化生政这个组合好不好? 适合哪些人报考
  3. 鲲鹏云HCIA知识总结(一)
  4. 文献记录(part#)--Automatic diagnosis of ECG disease based on intelligent simulation modeling
  5. spring javafx_Oracle Spring Clean JavaFX应该吗?
  6. macOS下查看Java/JDK的安装目录_查看Java/JDK的版本信息_配置环境变量JAVA_HOME
  7. 使用函数求最大公约数 pta_高中数学选修教材2-导数第6课时《函数的单调性与导数》教学设计...
  8. MySQL 服务器调优
  9. URL Loading System 概览
  10. Linq 中的Aggregate一些用法
  11. xbox360无线手柄接收器驱动_创新设计的多模手柄,北通宙斯T6精英机械游戏手柄体验点评...
  12. 门诊电子处方软件免费版本2.3
  13. U盘启动 WinPE系统维护工具 任意安装GHO/WIM/ESD系统映像 无广告专业版
  14. 遥感图像通用数据格式(BSQ\BIL\BIP)的理解
  15. qt打开xls文件_Qt读取excel文件的两种方法
  16. Swagger界面丑、功能弱怎么破?用Postman增强下就给力了!
  17. 省编码市编码区县编码_如何摆脱编码的束缚,走向事业
  18. 在IE8中使用建行企业网银的解决方法
  19. 大白话、最简单——SpringBoot+Mybatis+freemarker整合(二)
  20. 【知其然,知其所以然】配置中心 Apollo源码剖析

热门文章

  1. [算法][面试题]疯狂队列-排列使得序列两两间“差值的绝对值“之和最大
  2. 一个人的思想:漫谈技术社区
  3. pythonturtle八卦_使用turtle绘制太极八卦图
  4. 马里兰大计算机专业学phd博士,亚利桑那州立大学计算机CS博士PHD全奖录取
  5. ZOJ 4062 Plants vs. Zombies(二分答案)
  6. 程序员如何积累编程技术或编程经验?
  7. 为什么我可以正常上网,却ping不通自己的外网IP呢???
  8. 小陈谈JAVA(数组到底是怎样的,三分钟让你彻底认识数组)
  9. c语言中void的用法
  10. aw9523芯片按键失效问问题分析