資源簡介
用matlab解決單純形法,免費(fèi)下載,適合應(yīng)付運(yùn)籌學(xué)作業(yè),內(nèi)涵超詳細(xì)注釋,免費(fèi)下載下就完事了,寫了好久我,麻煩別私下互傳,在這幫我貢獻(xiàn)一個下載量就好QAQ
代碼片段和文件信息
function?[CRBANS]=AZ(abc)
ST=zeros(1length(b));%⊙seita值
b=b(:);%基解
times=0;%debug用的,檢測循環(huán)過幾次
flag=1;%用于標(biāo)記是否繼續(xù)迭代的值
ZH=0;%換入基變量列和換出基變量行的相交值
H=0;%換入基變量所在的航
L=0;%換入基變量所在的列
A=[a?eye(length(b))];%基變量和非基變量系數(shù)
C=[c?zeros(1length(b))];%沒什么好說的
g=zeros(length(C)1);%A和F的積
f=C;%單純性法中的-z檢驗(yàn)數(shù)
F=zeros(length(b)1);%單純性的CR有的地方叫CB我叫他CR
RES=0;%MAXZ結(jié)果值
while?(flag)%進(jìn)行無限迭代(后面有寫跳出條件)
times=times+1;%每次迭代times+1
%%%%%%%確定-Z%%%%%%%%%
for?i=1:length(C)
????for?ii=1:length(F)
g(i)=g(i)+A(iii)*F(ii);
????end??
f(i)=C(i)-g(i);
end
g=zeros(length(C)1);%把臨時變量g歸零
%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%找出A中換入基變量的列數(shù)%%%%%
CHU=max(f);%找到-Z中最大的數(shù)
for?i=1:length(C)
????for?ii=1:length(F)
g(i)=g(i)+A(iii)*F(ii);
????end??
f(i)=C(i)-g(i);
????if(f(i)==CHU)
????L=i;
????end
end
g=zeros(length(C)1);%把臨時變量g歸零
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%確定換出基變量%%%%%%%%%
for?i=1:length(F)
????ST(i)=b(i)/A(iL);
????if(ST(i)<0)
????????ST(i)=inf;
????end
end
RU=min(ST);%找到seit
評論
共有 條評論