?? ga-1.txt
字號:
function y=up1(zhq)
for j=1:3
v=sj(200,220,zhq); %z=隨機(價格下界,價格上界,生成個數) 3列
v=v.';
p(1:zhq,j)=v;
%p=p.'; %對價格轉質成n行1列
%b=dec2bin(p) %由十進制轉為二進制
end
for dxh=1:500 %迭代代數
p=p.';
x=[100 100 100;200 200 200;300 300 300;400 400 400;500 500 500]; % 5行3列
v=[300;300;300]; % 3個
g=[200;200;200]; % 3個
r=[1.1;1.3;1.2]; % 3個
s=[0.2;0.15;0.1]; % 3個
mbz=leader3(x,p,v,g,r,s); %目標函數值
as=mbz.';
shy=fit1(as); %適應度
%shy=shy.';
sumshy=sum(shy); %適應度總和
%選擇概率
[m,n]=size(shy);
for i=1:m
xzgl(i)=shy(i)/sumshy;
end
xzgl=xzgl.';
%累計概率
ljgl(1)=xzgl(1);
for i=2:m
ljgl(i)=ljgl(i-1)+xzgl(i);
end
ljgl=ljgl.';
%輪盤選擇
for i=1:m
lpsj=rand(1);
for j=2:m
%ljgl(0)=0.0000
if ljgl(j)>lpsj & lpsj>ljgl(j-1)
pp(:,i)=p(:,j);
end
end
%j=0
end
px=pp.';
%a=recdis(px)
% 交叉 p81
jx=recombin('recdis',px);
%b=b.'
% 變異 p73
FieldDR=[200 200 200;220 220 220];
by=mutbga(jx,FieldDR,[0.001 1.0]); %變異概率
pp=by;
end
p=round(pp.')
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -