• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

粒子群算法matlab仿真,帮助研究生学姐的毕设写的

资源截图

代码片段和文件信息


function [fv_GloBestIndv] = PSO(nmVMPMtimeIndvNum)%求最小值
%计算各粒子适应度值并寻找GloBestIndv

format long;
w=1;c1=2;c2=2;
GloBestIndv = zeros(timem);

for i=1:IndvNum
    while(1)
        [x(i:)v(i:)] = Init(nm);
        for j=1:m                                % 阻止x v逸出
            while (x(ij)<1||x(ij)>n)   
                x(ij)=round(rand(11)*(n-1))+1;
            end
        end
        if (judge(nmVMPMx(i:))) break;       %确定虚拟机能放入物理机中
        end
    end                             
    
    PerBestIndv(i:) = x(i:);
    y(i:) = x(i:);
end
GloBestIndv(1:) = x(1:);
for i=2:IndvNum
    if fitness(nmVMPMx(i:))        GloBestIndv(1:) = x(i:);
    end
end

for t=2:time 
    for i=1:IndvNum
        %v(i:) = v(i:)+(PerBestIndv(i:)-x(i:))*rand()+(GloBestIndv-x(i:))*rand();
        v(i:)=w*v(i:)+c1*rand*(PerBestIndv(i:)-x(i:))+c2*rand*(GloBestIndv(t-1:)-x(i:));
  

评论

共有 条评论