資源描述:
《單純形法MATLAB程序.docx》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、。單純形法(Matlab程序)%%單純形法(Matlab程序)a=input('inputthemajormatrixA');b=input('inputthematrixb');n=input('inputthejudgement');%%g為計數(shù)器(確定循環(huán)次數(shù))g=0;whileg<40%%確定非負alength=max(size(n));blength=max(size(b));m=0;fori=1:alengthifn(i)>=0m=m+1;endend;ifm==alengthx=b;breakend;%%找Ks=min
2、(n);fori=1:alengthifn(i)==sk=i;breakend;end;%%a[i,k]的非負性m=0;fori=1:blengthifa(i,k)<0m=m+1;end;end;ifm==blengthdisp('xdoesnotexit');judge=1;breakend;。1。%%找L確定主元cc=100000;fori=1:blengthifa(i,k)>0if(b(i)/a(i,k))3、a(i,k))==ccl=i;breakendendend;%%計算,a標準化zu=a(l,k);aa=a;fori=1:l-1forj=1:alengthaa(i,j)=a(i,j)-a(l,j)*a(i,k)/a(l,k);endend;fori=l+1:blengthforj=1:alengthaa(i,j)=a(i,j)-a(l,j)*a(i,k)/a(l,k);endend;forj=1:alengthaa(l,j)=a(l,j)/zu;end;%%b的判別bb=b;bb(l)=b(l)/zu;fori=1:l-1bb(i
4、)=b(i)-b(l)*a(i,k)/a(l,k);end;fori=l+1:blengthbb(i)=b(i)-b(l)*a(i,k)/a(l,k);end;b=bb;%%確定判別數(shù)。2。tt=n;forj=1:alengthtt(j)=n(j)-a(l,j)*n(k)/a(l,k);end;n=tt;a=aa;%%顯示單純形表sasa=[b'aa;0n];disp('單純表示例');disp(g+1);disp(sa);g=g+1;judge=2;end;ifjudge==2q=0;result=zeros(alength,2)
5、;forj=1+q:alengthifn(j)==0t=a(:,j);zu=find(t);result(j,1)=j;result(j,2)=x(zu);q=q+1;endifn(j)>0result(j,1)=q+1;q=q+1;endend;disp('最優(yōu)解');disp(result);disp('循環(huán)次數(shù)');gend。3。歡迎您的下載,資料僅供參考!致力為企業(yè)和個人提供合同協(xié)議,策劃案計劃書,學習資料等等打造全網(wǎng)一站式需求。4