粒子群算法用matlab做,要把粒子初始化为矩阵要怎么做

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了粒子群算法用matlab做,要把粒子初始化为矩阵要怎么做相关的知识,希望对你有一定的参考价值。

粒子群算法中,要将每个粒子都定义成矩阵,然后每个粒子随机生成。首先随机生成0~100里面的5个点,然后生成5*5的矩阵,为粒子。就是根据这5个点,按横坐标和纵坐标延伸至一个交叉点就是这个矩阵的一个点。

参考技术A 可以参考一下这段代码

%------给定初始化条件----------------------------------------------
c1=1.8; %学习因子1
c2=1.8; %学习因子2
WMax=1.6; %惯性权重
WMin=0.8; %惯性权重
MaxDT=100; %最大迭代次数
D=3; %搜索空间维数(未知数个数)
N=30; %初始化群体个体数目
XUp=20/(2^0.5); %初始化位移上限
XDown=-20/(2^0.5); %初始化位移下限
VUp=0.5; %初始化速度上限
VDown=0.0; %初始化速度下限
eps=10^(-6); %设置精度(在已知最小值时候用)
%------初始化种群的个体(可以在这里限定位置和速度的范围)------------

x=((XUp-XDown).*rand(N,2*D)+XDown); %随机初始化位置
v=((VUp-VDown).*rand(N,2*D)+VDown); %随机初始化速度本回答被提问者采纳
参考技术B rand是随机生成数值 然后根据你的问题编写程序即可

MATLAB粒子群算法初始化粒子群函数

我安装的是MATLB7.6.0(R2008)版本!但在做粒子群算法(PSO)利用initSwarm函数初始化粒子群的时候遇到了问题,在没有警告错误的前提下运行会提示初始化粒子群那一行是错的,同时我在help里面没有查到这个函数,不知道是不是因为我MATLAB版本问题所以工具箱不自带这个函数!另外我调用出了遗传算法GA的工具箱,但也一样没找到遗传算法粒子群初始化函数initializega,不知道这两个是不是相同的问题!如果是因为没有自带函数工具箱,哪里可以下载可用的工具箱,紧急情况,求高人指点!

参考技术A 不是工具箱的问题,是工具箱里的函数
PSOT工具箱
hiddenutils文件夹下的frocerow,frocecol,normalize几个函数是工具箱写的,它们不在你的目录下
GA工具箱我这好像上来就能用,可能版本不同

以上是关于粒子群算法用matlab做,要把粒子初始化为矩阵要怎么做的主要内容,如果未能解决你的问题,请参考以下文章

自适应粒子群优化算法的MATLAB性能仿真

求带约束条件的粒子群算法的MATLAB编程

优化求解粒子群优化灰狼算法matlab源码

粒子群算法MATLAB代码,怎么运行不行,高手们给我修改一下,本人是菜鸟!谢谢!

背包问题基于matlab多目标粒子群算法求解多背包问题含Matlab源码 654期

matlab基本粒子群算法简单实现