logo资料库

改进单纯形法matlab程序.docx

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
CB0=C(:,t); XN01=X; for i=1:length(t); for j=1:length(X); if XN01(j)==t(i) XN01(j)=0; end end end j=1; for i=1:length(X); if XN01(i)~=0 XN0(j)=XN01(i); j=j+1; end end for j=1:length(XN0); CN0(j)=C(XN0(j)); end N0=[]; for i=1:length(XN0); end xiN0=CN0-CB0*B0*N0; j=1; z=[]; for i=1:length(xiN0) if xiN0(i)>0 N0=[N0,A(:,XN0(i))]; clear clc X=[1 2 3 4 5]; A=[ 1 2 1 0 0; 4 0 0 1 0; 0 4 0 0 1]; C=[2 3 0 0 0 ]; b=[8;16;12]; t=[3 4 5]; B0=A(:,t); while 1 z(j)=i; j=j+1; end break; end if length(z)+1==1; end n=1; for i=1:length(z) if z(i)>z(n) end n=i; end k=XN0(z(n));%换入变量 B=B0*b; P=B0*A(:,k); j=1; for i=1:length(P)
if P(i)>0 x(j)=i; j=j+1; end end y=1; for i=1:length(x) if B(x(y))/P(x(y))>B(x(i))/P(x(i)) end y=i; end y1=x(y); y=t(y1);%换出变量 for i=1:length(t) if t(i)==y m=i; break; end end t(m)=k; P2=B0*A(:,k); q=P2(y1); P2(y1)=-1; P2=-P2./q; E=[1 0 0;0 1 0;0 0 1]; E(:,m)=P2; B0=E*B0; end CB0*B0*b
分享到:
收藏