單純形法matlab程序_第1頁
單純形法matlab程序_第2頁
單純形法matlab程序_第3頁
單純形法matlab程序_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上function Z=dcxf(c,A,N) %定義函數(shù)名稱為dcxf。l=length(N);CB=c(N(1):N(l)m,n=size(A);b=A(:,n);A=A(:,1:n-1);%參數(shù)包括目標函數(shù)系數(shù)(C),約束條件的系數(shù)矩陣(A),%其中A的最后一列為約束條件的右端值b,初始基向量的位置(N)。sigma=c-CB*A;%計算檢驗數(shù)sigma。display('初始單純形表為:');%輸出初始的單純形表table=nan,nan,nan,c;CB',N',b,A;nan,nan,nan,sigmaopt=1;step=0

2、;while optstep=step+1;%定義循環(huán),直到第“step”步找到最優(yōu)解(opt=0)。if sum(sigma>0)=0 %利用檢驗數(shù)判斷是否得到最優(yōu)解,并給出提示。 display('沒有得到最優(yōu)解,繼續(xù)迭代'); opt=0; elseinb=find(sigma=max(sigma); %利用單純形方法找到入基變量的位置 num=length(inb); Inb=inb(num) flag=0; for i=1:m %利用單純形方法找出出基變量的位置 if A(i,inb)>0 theta(i)=b(i)/A(i,inb); else thet

3、a(i)=inf; end end outb=find(theta=min(theta); num=length(outb); %判斷足否出現(xiàn)退化現(xiàn)象,如出現(xiàn)退化,給il語言提示,并取最后出現(xiàn)的符合出基條件的變量為出基變量。 if num=1 display('出現(xiàn)退化情況'); end outb=outb(num);for i=1:m %將單純形表進行“轉(zhuǎn)軸”運算,得到新的單純形表。 for j=1:n-1 if i=outb Anew(i,j)=A(outb,j)/A(outb,inb); bnew(i)=b(outb)/A(outb,inb); else Anew(i,j

4、)=A(i,j)-A(outb,j)/A(outb,inb)*A(i,inb); bnew(i)=b(i)-b(outb)/A(outb,inb)*A(i,inb); end endend display('主元素為:'),a=A(outb,inb),outb,inb %輸出主元素,計算新單純形表的檢驗數(shù)。 A=Anew;b=bnew; N(outb)=inb; for i=1:l CB(i)=c(N(i); end sigma=c-CB*A;end display('迭代得到的單純形表為:'); %輸出得到的新單純形表。并給出提示語句。 table=nan,nan,nan,c;CB',N',b',A;nan,nan

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論