91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-28
  • 語言: Matlab
  • 標簽: matlab??

資源簡介

依據 IEEE TEC2006 Comprehensive Learning Particle Swarm Optimizer for Global Optimization of Multimodal Functions 論文改寫,其中有詳細中文注釋,可直接運行。 從網上之前找了很多有關CLPSO的但是感覺有些部分和這篇論文對不上,于是就自己綜合了一下編寫了這個

資源截圖

代碼片段和文件信息

clc;clear;close;
tic
%%?初始化參數
rand(‘state‘sum(100*clock));%確定隨機數流
ps?=?10;%種群個數大小
dimension?=?10;%粒子維數
iter_max?=?3000;%最大迭代數
w0=0.9;w1=0.4;
c=1.49445;?%加速常數
v_min?=?-4;v_max?=?4;%粒子速度上下限???
V?=?v_min?+?(v_max?-?v_min)*rand(ps?dimension);%粒子速度
xmin=-5.12;xmax=5.12;%粒子位置的上下限值
mask_min?=?repmat(xmin?1?dimension);
mask_max?=?repmat(xmax?1?dimension);
X?=?rand(ps?dimension);%粒子初始化位置
for?i?=?1?:?dimension
???X(:?i)??=?repmat(xmin?ps?1)?+?(xmax?-?xmin)*X(:?i);????
end?
flag?=?zeros(ps1);%粒子停止改進代數標記
m=5;%刷新間隔
%%?計算適應度值,初始化pbest,gbest
fhd=str2func(‘@(x)sum(x.^2-10.*cos(2.*pi.*x)+102)‘);%定義函數句柄
for?i=1:ps
????e(i1)=feval(fhdX(i:));%計算每個粒子適應度值
end
%%?初始化pbest和gbest
pbest=X;%初始化位置作為pbest
pbestval=e;?%初始化粒子pbest和pbest的適應度值
[gbestvalgbestid]=min(pbestval);%求出適應值最小的粒子索引,得到gbest適應度值
gbest=pbest(gbestid:);%初始化gebst,將具有最小適應值的粒子的pbest作為gbest
%%?Pc學習率
t=0:1/(ps-1):1;
t=5.*t;
Pc=0.0+(0.5-0.0).*(exp(t)-exp(t(1)))./(exp(t(ps))-exp(t(1)));%每個粒子的學習可能性
ai=zeros(psdimension);
f_pbest=1:ps;%單獨一個粒子
f_pbest=repmat(f_pbest‘1dimension);%每個粒子每個維數需要學習的粒子索引數,初始化為每個粒子每一維從自身學習,行數代表粒子數列數是維數
%%?計算準熵
pbestval_history=pbestval;%將第一次初始化的pbest適應度值保存
P(:1)=pbestval_history(:1)./sum(pbestval_history(:1));%計算第一次迭代的Pti
QE(:1)=-sum(P(:1).*log(P(:1)));%計算初始準熵
%%?CLPSO開始
for?iter=1:iter_max
????w(iter)=w0-iter*(w0-w1)/iter_max;%更新慣性權重
????for?i=1:ps%每個粒子進行迭代
????????num=(iter-1)*10+i;%總循環次數
???????%%?粒子從其他粒子學習的錦標賽選擇過程
????????if?flag(i)>=m?%當連續沒有改進一定代數
????????????flag(i)=0;
????????????for?d=1:dimension%粒子每一維迭代
????????????????r?=?rand;%生成隨機數
????????????????if?r?????????????????????a=randperm(ps);
?????????????

評論

共有 條評論