資源簡介
粒子群算法求解約束多目標(biāo)優(yōu)化萬能matlab代碼,很有參考價(jià)值
代碼片段和文件信息
function?PSOfirst()
%%?清空環(huán)境
clear;
clc;
%%?參數(shù)設(shè)置
w=0.9;%權(quán)值?將影響PSO?的全局與局部搜優(yōu)能力,?值較大,全局搜優(yōu)能力強(qiáng),局部搜優(yōu)能力弱;反之,則局部搜優(yōu)能力增強(qiáng),而全局搜優(yōu)能力減弱。
c1=0.1;%加速度,影響收斂速度
c2=0.1;
dim=6;%6維,表示企業(yè)數(shù)量
swarmsize=100;%粒子群規(guī)模,表示有100個解的空間
maxiter=200;%最大循環(huán)次數(shù),影響時(shí)間
minfit=0.001;%最小適應(yīng)值
vmax=0.01;
vmin=-0.01;
ub=[0.20.20.20.20.20.2];%解向量的最大限制
lb=[0.010.010.010.010.010.01];%解向量的最小限制
%%?種群初始化
range=ones(swarmsize1)*(ub-lb);
swarm=rand(swarmsizedim).*range+ones(swarmsize1)*lb;%粒子群位置矩陣
Y1=[33.08;
???21.85;?
???6.19;?
???11.77;?
???9.96;?
???17.15;];?
Y=Y1./100;%將百分?jǐn)?shù)化為小數(shù)
[ymyn]=size(Y);
for?i=1:swarmsize??%%?YX的約束
????s=swarm(i:);
????ss=s‘;
????while?sum(Y.*ss)<0.1*sum(Y)
????????ss=rand(dim1).*((ub-lb)‘)+ones(dim1).*((lb)‘);
????end
????swarm(i:)=ss‘;
end
vstep=rand(swarmsizedim)
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????5099??2013-06-23?17:02??粒子群算法求解約束多目標(biāo)優(yōu)化萬能matlab代碼.m
-----------?---------??----------?-----??----
?????????????????5099????????????????????1
評論
共有 條評論