随机权重的PSO算法
选用随机的权重,可以在多峰函数求解的时候,避免陷入局部最优。
文章目录
- 一、目标函数
- 二、随机权重的计算公式
- 三、MATLAB代码实现
- 四、测试
一、目标函数
y=x(1)^2+2*x(2)^4;
二、随机权重的计算公式
权重可以理解为所占工作量的大小及影响整体能力的程度。
权重w设定为某种随机分布的随机数,当粒子在起始位置接近最优点时候,权重最小,加快算法的收敛。同时也可以克服在初期找不到最优点的局限。
%w=u+m*N(0,1)
%u=u(min)+[u(max)-u(min)]*rand(0,1)
三、MATLAB代码实现
随机权重的PSO:
function [xm,fv]=suijiquanzhongPSO(suijiquanzhonghanshu,N,c1,c2,meanmax,meanmin,sigma,M,D)
%目标函数、粒子数、学习因子、学习因子、最大权重、最小权重、方差、迭代步数
format long;
for i=1:Nfor j=1:D%初始化位置x(i,j)=randn;%初始化速度v(i,j)=randn;end
end
%计算适应度
for i=1:Np(i)=suijiquanzhonghanshu(x(i,:));y(i,:)=x(i,:);
end
zuiyou=x(N,:);%全局最优
for i=1:N-1if suijiquanzhonghanshu(x(i,:))<suijiquanzhonghanshu(zuiyou)zuiyou=x(i,:);end
end
%迭代求解
for t=1:Mfor i=1:Nmiu=meanmin+(meanmax-meanmin)*rand();w=miu+sigma*randn();v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(zuiyou-x(i,:));x(i,:)=x(i,:)+v(i,:);if suijiquanzhonghanshu(x(i,:))<p(i)p(i)=suijiquanzhonghanshu(x(i,:));y(i,:)=x(i,:);endif p(i)<suijiquanzhonghanshu(zuiyou)zuiyou=y(i,:);endendpbest(t)=suijiquanzhonghanshu(zuiyou);
end
r=[1:1:100];
plot(r,pbest,'r--','linewidth',2);
xlabel('迭代次数');ylabel('适应度');
title('随机权重策略自适应算法收敛曲线');
grid on
hold on
xm=zuiyou';
fv=suijiquanzhonghanshu(zuiyou);
目标函数:
function y=suijiquanzhonghanshu(x)
y=x(1)^2+2*x(2)^4;
end
%w=u+m*N(0,1)
%u=u(min)+[u(max)-u(min)]*rand(0,1)
四、测试
在命令行输入
[xm,fv]=suijiquanzhongPSO(@suijiquanzhonghanshu,100,2,2,0.8,0.5,0.2,100,2)
选取参数含义为:
目标函数:suijiquanzhonghanshu
粒子数:100
学习因子:2
权重最大值:0.8
权重最小值:0.5
随机权重平均值的方差:0.2
迭代步数:100
结果
得到理论最小值点为xm所表示:(-0.000004443481202e-04, -0.408099448228020e-04)
最小值fv所表示为: 5.744903292062844e-18
根据检验,图像符合实际,所以计算的结果可以认为是准确的。
如有遗漏或者错误,请在评论区中指正!
随机权重的PSO算法相关推荐
- 优化算法 | 随机漂移粒子群优化算法(附标准PSO算法Python工具包)
目录 ▎标准PSO算法 ▎RDPSO算法 ▎标准PSO算法Python工具包 01 | 工具包适用范围 02 | 工具包安装方法 03 | 工具包使用实例 ▎参考文献 今天为各位讲解一种改进的粒子群优 ...
- 一种非线性动态自适应惯性权重PSO算法-附代码
一种非线性动态自适应惯性权重PSO算法 文章目录 一种非线性动态自适应惯性权重PSO算法 1.粒子群优化算法 2. 改进粒子群算法 2.1 改进的动态自适应惯性权重 PSO 算法 3.实验结果 4.参 ...
- PSO算法文献阅读笔记
粒子群算法读书笔记精读 2020<电子信息学报>基于非线性降维的自然计算方法 孙小晴(2020-04-28) 1针对问题 高维大规模优化问题,陷入局部最优与收敛速度和时间复杂度的矛盾. 2 ...
- Particle Swarm Optimization粒子群优化算法(PSO算法)概念及实战
Particle Swarm Optimization 粒子群算法(PSO算法) 定义 粒子群算法,又称粒子群优化算法(Particle Swarm Optimization),缩写为 PSO, 是近 ...
- pso算法matlab程序,基本PSO算法的matlab源程序
<基本PSO算法的matlab源程序>由会员分享,可在线阅读,更多相关<基本PSO算法的matlab源程序(2页珍藏版)>请在人人文库网上搜索. 1.主函数源程序( main. ...
- 粒子群优化算法(PSO算法)
目录 粒子群算法的发展 粒子群算法的概述 粒子群算法的步骤与实现 算法步骤 算法的实现(MATLAB) 调用示例 关于惯性权重[^7] 自适应权重法 随机权重法 关于学习因子[^8] 同步变化的学习因 ...
- 算法 - 粒子群(PSO)算法
文章目录 0. 简介 1. 原理 2. 流程 3. 代码 4. 权重的选择 0. 简介 粒子群算法( particle swarm optimization, PSO)是计算智能领域,除了蚁群算法.鱼 ...
- 粒子群PSO算法 python实现(亲测)
受到生物学家Frank Heppner建立的鸟群运动模型影响,James Kennedy和Russell Eberhart于1995年提出了粒子群优化算法(Particle Swarm Optimiz ...
- PSO算法优化应用实例(2020.09.24)
PSO算法解决函数优化问题 考虑下面的优化函数 PSO算法简要介绍 第一步,群体粒子的初始化 第二步,更新每个粒子的速度和位置 第三步,根据粒子的适应值来更新个体的历史极值并计算全局极值 最后 考虑下 ...
最新文章
- 计算机科学summer program,UCBLeadershipandInnovationSummerProgram加州大学伯克利分校夏季领导力创新课程.doc...
- 更新失败无法连接更新服务器未响应,逆水寒客户端更新失败_长时间停滞未响应相关问题解答[图]...
- C++vector容器-构造函数
- 前端学习(2999):vue+element今日头条管理--element导入
- 强大的DataGrid组件[12]_分组(Group)——Silverlight学习笔记[20]
- xamarin.android 图片高斯模糊效果
- 大道至简-第一张 伪代码
- Android 存储学习之在内部存储中读写文件
- 【JY】精彩仿真书籍推荐与投票~
- C语言实现贪吃蛇(简易)
- 豆瓣TOP250爬虫,数据分析项目实战——pyecharts
- 计算机,通信,自动化等方向期刊排名
- 马科维茨投资组合理论(均方模型)(1)
- 【华为机试真题 Python实现】黑板上的数字涂颜色【2022 Q1 Q2 |100分】
- Docker Windows Containers
- 给你的App添加动画效果
- 从零开始搭二维激光SLAM --- Hector论文公式推导与相关代码解析
- Android App开发基础篇—数据存储(SQLite数据库)
- VLC 视频转成rtsp流
- Linux、UNIX 下磁带机设备(Tape)的管理和使用
热门文章
- oracle 2018 拉里,Oracle拉里,有新武器对付SAP和HANA
- 三菱PLC模板程序FX5U轴FB块 使用ST语言编写的轴FB块,包含原点复归,点动,定位运动
- office运行时错误,部分系统文件可能丢失或已损坏(错误代码:0x80040154)
- springboot+微信小程序“微印象”在线打印预约系统的设计与实现毕业设计源码061642
- Activiti6 流程模型图中文显示为方块□□
- 德州仪器TI芯片实时监控自动抢购
- HTTP代理IP的三种使用方法
- 社工工具包 SEToolkit
- Convert() 转换时 报错:输入字符串的格式不正确
- php必应收录查询api,必应 Web 搜索 API v7.0