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

资源简介

PSO粒子群算法实现,比较通用,稍做改动就可以与其他算法结合!!!

资源截图

代码片段和文件信息


%% PSO


%% ------初始格式化--------------------------------------------------

clear all;
clc;

%format long;
format short;


%% ------给定初始化条件----------------------------------------------

c1=1.4962;             %学习因子1
c2=1.4962;             %学习因子2
w=0.7298;              %惯性权重
MaxNI=1000;            %最大迭代次数
D=10;                  %搜索空间维数(未知数个数)
N=40;                  %初始化群体个体数目
eps=10^(-6);           %设置精度(在已知最小值时候用)


%% ------初始化种群的个体(可以在这里限定位置和速度的范围)------------

for i=1:N
    for j=1:D
%         x(ij)=randn;  %随机初始化位置
%         v(ij)=randn;  %随机初始化速度

          x(ij)=rand;
          v(ij)=rand;
    end
end


%% ------先计算各个粒子的适应度
% 并初始化Pi(Yi)[各粒子最好解及适应度值]以及
% Pg(Z)[目前搜索到的最优解及其适应度值]

% for i=1:N
%     
%     Y(i)=fitness(x(i:)D);
%     
%     P(i:)=x(i:);
%     
% end

%       Pg=x(1:);             %Pg为全局最优
%       Z=fitness(PgD);
%       
%       
% for i=2:N
%     
%     if fitness(x(i:)D)%         
%         Z=fitness(x(i:)D);
%         Pg=x(i:);
%         
%     end
%     
% end

%       Z=fitness(PgD);
      
%%    
  
    Y(1)=fitnes

评论

共有 条评论