• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-06
  • 语言: Matlab
  • 标签: matlab  粒子群  

资源简介

利用matlab写了粒子群优化算法的一个脚本文件,每行代码都有详细注释,可以根据代码内容自行修改,实现自己需要的功能

资源截图

代码片段和文件信息

save para-file tol Y;
clear all;
close all;
load para-file;
n=size(tol);
N=n(1);

%限定位置和速度范围
MinX=[0 0 0 0 -5 0 0];
MaxX=[2 200 2 1 0 1 5];
Vmax=100;
Vmin=-100;

%设计粒子群参数
Size=200;
CodeL=7;%设计参数个数

c1=1.3;c2=1.7;       %学习因子
wmax=0.90;wmin=0.10; %惯性权重
G=200;               %最大迭代次数

%(1)初始化种群的个体
%初始化每次更新的惯性权重
for i=1:1:G
    w(i)=wmax-((wmax-wmin)/G)*i;
end
%随机初始化位置及速度
for i=1:1:CodeL
    P(:i)=MinX(i)+(MaxX(i)-MinX(i))*rand(Size1);
    v(:i)=VminX(i)+(Vmax(i)-Vmin(i))*rand(Size1);
end

%(2)初始化个体最优和全局最优
for i=1:1:Size
    Ji(i)=obj(P(i:)tolYN);%目标函数
    P1(i:)=P(i:);
end
BestS=P(1:);%全局最优个体
for i=2:Size
    if obj(P(i:)tolYN)        BestS=P(i:);
    end
end

%(3)进入主循环,直到满足精度要求
for kg=1:1:G
    time(kg)=kg;
    

评论

共有 条评论