单纯形法matlab程序Word格式文档下载.docx
《单纯形法matlab程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单纯形法matlab程序Word格式文档下载.docx(3页珍藏版)》请在冰豆网上搜索。
M=1000000;
A=[3,2,-3,1,0;
1,-2,1,0,1];
%系数矩阵
C=[-3,1,2,M,M,0];
%价值矩阵
B=[6;
4];
Xt=[45];
fori=1:
length(C)-1
D=0;
forj=1:
length(Xt)
D=D+A(j,i)*C(Xt(j));
end
xi(i)=C(i)-D;
end
s=[];
length(xi)
ifxi(i)<
s=[s,i];
f=length(s);
h=1;
while(f)
fork=1:
length(s)
j=1;
A
x=[];
ifA(i,s(k))>
x(j)=i;
j=j+1;
x
if(length(x)+1==1)
break;
y=1
length(x)
ifB(x(i))/A(x(i),s(k))<
B(x(y))/A(x(y),s(k))
y=i;
y=x(y);
y1=Xt(y);
%»
»
³
ö
±
ä
Á
¿
s
k
aa=A(y,s(k))%s(k)Î
ª
È
ë
A(y,:
)=A(y,:
)./aa;
B(y,:
)=B(y,:
z=[];
z=[z,i];
end
z
z(y)=[];
Xt
length(z);
yz=-A(z(i),s(k))
A(z(i),:
)=A(z(i),:
)+A(y,:
).*yz
B(z(i))
B(y)
yz
B(z(i))=B(z(i))+B(y).*yz
ifXt(i)==y1
Xt(i)=s(k);
break
disp('
×
º
ó
'
)
A=A
B=B
AB=[A,B];
fori=1:
length(C)
D=D+AB(j,i)*C(Xt(j));
xi
s=[];
length(xi)-1
ifxi(i)<
s=[s,i];
end
s
vpa([A,B;
C]);
f=length(s);
h=h+1;
ifh==5
-xi(length(xi))