资源简介
zw_lw5413-9700981-BPSO.zip
代码片段和文件信息
function [ Besfi Besi Bfi DIVS ] = BPSO( SizeGc1c2wdeviceprice )
% 基本粒子群优化算法(Particle Swarm Optimization)
% 输入参数
% c1 学习因子1
% c2 学习因子2
% w 惯性权重
% G 最大迭代次数
% Size 初始化群体个体数目
% 输出参数
% 输出参数
% Besfi 优化后最优个体适应度
% pg 最优个体
% Bfi 每次迭代中最优个体的适应度,1*n向量
% DIVS 种群多样性
%创建一个进度条以监视优化进度
% hWaitbar=waitbar(0‘开始优化计算...‘‘Name‘[num2str(Size) ‘-‘ num2str(G) ‘-‘ num2str(c1) ‘-‘ num2str(c2) ‘-‘ num2str(w)]);
% set(hWaitbar‘Windowstyle‘‘modal‘); %窗口锁定最前
% btnCancel = findall(hWaitbar‘style‘‘pushbutton‘); %查找“取消“按钮
% set(btnCancel‘string‘‘取消‘‘fontsize‘10); %设置“取消“按钮显示字符
%优化对象参数提取
[concodedevicenumcodesizes] = Getcontrolcode( device ); %提取未优化时的运行编码
% D:搜索空间维数(未知数个数)
D=size(concode2);
%搜索范围和个体移动速度限制
Maxx=ones(1D);
Minx=zeros(1D);
Maxv=ones(1D);
Minv=zeros(1D);
% Maxv=(Maxx-Minx)/4;
% Minv=-Maxv;
%------初始化种群的个体 (可以在这里限定位置和速度的范围)------------
for i=1:Size
for j=1:D
% x(ij)=rand*(Maxx(j)-Minx(j)+Minx(j)); %随机初始化位置
v(ij)=rand*(Maxv(j)-Minv(j))+Minv(j); %随机初始化速度
x(ij)=round(v(ij));
end
end
%------先计算各个粒子的适应度,并初始化Pi和Pg----------------------
for i=1:Size
ps(i)=fun(deviceround(x(i:))devicenumcodesizesprice);
y(i:)=x(i:);
end
pg=round(x(1:)); %Pg为全局最优
Besfi=ps(1);
for i=2:Size
if ps(i) pg=round(x(i:));
Besfi=ps(i);
end
end
%------进入主要循环,按照公式依次迭代,直到满足精度要求------------
for k=1:G
time(k)=k;
% bf(t)=fitness(pgp);
%计算多样性
S=max(Maxx-Minx)/2;
for xj=1:1:D
avgxj(xj)=mean(x(:xj));
end
DIVS(k)=0;
for xi=1:1:Size
tmpd=0;
for xj=1:1:D
tmpd=tmpd+(x(xixj)-avgxj(xj))^2;
end
DIVS(k)=DIVS(k)+sqrt(tmpd);
end
DIVS(k)=DIVS(k)/(Size*S);
%DIVS(t)
for i=1:Size
randC1=rand(1D);
randC2=rand(1D);
%randC1=rand;
%randC2=rand;
%v(i:)=(0.9-0.5*t/MaxDT)*v(i:)+c1*randC1.*(y(i:)-x(i:))+c2*randC2.*(pg-x(i:));
%v(i:)=(0.9-0.5*t/MaxDT)*v(i:)+c1*randC1.*(y(i:)-x(i:))+c2*randC2.*(pg-x(i:));
v(i:)=w*v(i:)+c1*randC1.*(y(i:)-x(i:))+c2*randC2.*(pg-x(i:));
for dd=1:D
if v(idd)>Maxv(dd)
v(idd)=Maxv(dd);
end
if v(idd) v(idd)=Minv(dd);
end
end
x(i:)=round(v(i:));
% x(i:)=x(i:)+v(i:);
%
% for dd=1:D
% if x(idd)>Maxx(dd)
% x(idd)=Maxx(dd);
% end
% if x(idd) % x(idd)=Minx(dd);
% end
% end
%for dd=1:D
% if rand<0.01
% if rand<0.5
% x(idd)=x(idd)+rand*(Maxx(dd)-x(idd));
% else
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4020 2019-07-14 08:10 \lw5413-9700981-BPSO.m
文件 36 2019-07-14 08:10 \no.txt
相关资源
- zw_q514004204-10166342-BookStore.zip
- zw_cailunchong-1305615-C代码.zip
- zw_swallowinthesky-9958880-Mayr_arc_model.zip
- zw_sunxin1995-9838313-FieldOriented1.zip
- zw_qyq08409121-7589293-BP神经网络法确定工
- zw_qq_39785597-10426870-MIToolbox.zip
- zw_qq_35621500-10963053-武汉市六普人口空
- zw_lgf1818-9818280-nccsimple.zip
- zw_jksfkdjksdfjkjk-4705079-16PSK以及8PSK,Q
- zw_wangxingse-6021953-24C04与1602LCD设计电子
- zw_u012395517-10466514-PR_curve.zip
- zw_sunyu0414-7795933-work.zip
- zw_qq_36780670-10758712-基于遗传算法的B
- zw_chaojp-2461295-组态王卸载工具.zip
- zw_changbiao1990-4066000-project.zip
- zw_123.zip
- zw_Source.zip
- zw_res_eva.zip
- zw_socket最简单.zip
- zw_计算机专业毕业设计论文(C)外文
- zw_高斯扩散模型.zip
- zw_CC2530模块电路原理图和PCB文件.zip
- zw_Code.zip130960
- zw_MCCLib.zip
- zw_linux0.11带注解源代码.zip
- zw_PhaseCorrelationRegistration.zip
- zw_上海交通大学《计算机网络》动画
- zw_麻省理工学院公开课:计算机科学
- zw_PlistView.zip
- zw_INGPS.zip
评论
共有 条评论