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.')