最優(yōu)化方法――用Lingo對線性規(guī)劃進(jìn)行靈敏度分析_第1頁
最優(yōu)化方法――用Lingo對線性規(guī)劃進(jìn)行靈敏度分析_第2頁
最優(yōu)化方法――用Lingo對線性規(guī)劃進(jìn)行靈敏度分析_第3頁
最優(yōu)化方法――用Lingo對線性規(guī)劃進(jìn)行靈敏度分析_第4頁
最優(yōu)化方法――用Lingo對線性規(guī)劃進(jìn)行靈敏度分析_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、lingo軟件求解線性規(guī)劃及靈敏度分析注:以目標(biāo)函數(shù)最大化為例進(jìn)行討論,對求最小的問題,有類似的分析方法!所有程序運(yùn)行環(huán)境為lingo10。一、用lingo軟件求解線性規(guī)劃例1:在模型窗口輸入:model:max=2*x+3*y;4*x+3*y=10;3*x+5*y12;! the optimal value is :7. ;End如圖所示:運(yùn)行結(jié)果如下(點(diǎn)擊 工具欄上的solve或點(diǎn)擊菜單lingo下的solve即可):Global optimal solution found. Objective value: 7.(最優(yōu)解函數(shù)值) Total solver iterations: 2(迭

2、代次數(shù)) Variable (最優(yōu)解) Value Reduced Cost X 1. 0. Y 1. 0. Row Slack or Surplus Dual Price 1 7. 1. 2 0. 0.E-01 3 0. 0.例2:在模型窗口輸入:model:max=5*x1+4*x2;x1+3*x2+x3=90;2*x1+x2+x4=80;x1+x2+x5=45;end運(yùn)行(solve)結(jié)果如下:Global optimal solution found. Objective value: 215.0000 Total solver iterations: 3 Variable Value

3、 Reduced Cost X1 35.00000 0. X2 10.00000 0. X3 25.00000 0. X4 0. 1. X5 0. 3. Row Slack or Surplus Dual Price 1 215.0000 1. 2 0. 0. 3 0. 1. 4 0. 3.例3在模型窗口輸入:model:min=-x2+2*x3;x1-2*x2+x3=2;x2-3*x3+x4=1;x2-x3+x5=2;end運(yùn)行結(jié)果如下: Global optimal solution found. Objective value: -1. Total solver iterations:

4、2 Variable Value Reduced Cost X2 2. 0. X3 0. 0. X1 6. 0. X4 0. 0. X5 0. 0. Row Slack or Surplus Dual Price 1 -1. -1. 2 0. 0. 3 0. 0. 4 0. 0.例4:在模型窗口輸入:model:min=abs(x)+abs(y)+abs(z);x+y1;2*x+z=4;free(x);free(y);free(z);End求解器狀態(tài)如下:(可看出是非線性模型?。┻\(yùn)行結(jié)果為: Linearization components added: Constraints: 12 Var

5、iables: 12 Integers: 3 Global optimal solution found. Objective value: 3. Extended solver steps: 0 Total solver iterations: 4 Variable Value Reduced Cost X 2. 0. Y -1. 0. Z 0. 0. Row Slack or Surplus Dual Price 1 3. -1. 2 0. 1. 3 0. -1.二、用lingo軟件進(jìn)行靈敏度分析實例例5: 在模型窗口輸入:Lingo模型:model:max=60*x+30*y+20*z;

6、8*x+6*y+z48;4*x+2*y+1.5*z20;2*x+1.5*y+0.5*z8;y5;end(一)求解報告(solution report)通過菜單LingoSolve可以得到求解報告(solution report)如下:Global optimal solution found at iteration: 0 Objective value: 280.0000 Variable Value Reduced Cost X 2. 0. Y 0. 5. Z 8. 0. Row Slack or Surplus Dual Price 1 280.0000 1. 2 24.00000 0.

7、 3 0. 10.00000 4 0. 10.00000 5 5. 0.分析Value,Reduced Cost,Slack or Surplus,Dual Price的意義如下:1、最優(yōu)解和基變量的確定Value所在列給出了問題的最優(yōu)解。由于基變量取值非零,因此Value所在列取值非零的決策變量x,z是基變量。2、差額成本Reduced Cost(或opportunity cost)所在列的三個數(shù)值表示當(dāng)決策變量取值增加一個單位時,目標(biāo)函數(shù)值的減少量。例如:第2個數(shù)5表示當(dāng)變量y增加一個單位時,最優(yōu)目標(biāo)函數(shù)值減少的量。例如:當(dāng)y=1時,最優(yōu)目標(biāo)函數(shù)值為280-5=275。可通過如下模型可檢驗

8、:model:max=60*x+30*y+20*z;8*x+6*y+z48;4*x+2*y+1.5*z20;2*x+1.5*y+0.5*z8;y5;y=1;end注:(1)換一個角度說,就是目標(biāo)函數(shù)中變量y的系數(shù)增加5,那么生產(chǎn)y才會有利?。?)基變量的Reduced Cost值為0,只有非基變量的Reduced Cost值才可能不為0;故由value,和Reduced Cost值分析可知y為非基變量。3、松弛變量取值Slack or Surplus所在列的各數(shù)表示各行的松弛變量的取值。目標(biāo)函數(shù)行的Slack or Surplus值沒啥意義,不用考慮??赏ㄟ^如下模型檢驗:model:max=6

9、0*x+30*y+20*z;8*x+6*y+z+s1=48;4*x+2*y+1.5*z+s2=20;2*x+1.5*y+0.5*z+s3=8;y+s4=5;end4、對偶價格(影子價格)Dual Price所在列的各數(shù)表示相應(yīng)約束條件的右端常數(shù)增加一個單位時,最優(yōu)目標(biāo)函數(shù)值的增加量。注,只有緊約束行的Dual Price值不為0。例如:要檢驗第二行約束,可通過如下模型:model:max=60*x+30*y+20*z;8*x+6*y+z48;4*x+2*y+1.5*z21;2*x+1.5*y+0.5*z8;y5;end(二)靈敏度分析報告 首先設(shè)置:LingoOptionsGeneral so

10、lverDual computationsPrices and Range。 當(dāng)求解完成后,最小化求解報告窗口,然后點(diǎn)擊菜單LingoRange,可得靈敏度分析報告: Ranges in which the basis is unchanged: Objective Coefficient Ranges Current Allowable Allowable Variable Coefficient Increase Decrease X 60.00000 20.00000 4. Y 30.00000 5. INFINITY Z 20.00000 2. 5. Righthand Side Ra

11、nges Row Current Allowable Allowable RHS Increase Decrease 2 48.00000 INFINITY 24.00000 3 20.00000 4. 4. 4 8. 2. 1. 5 5. INFINITY 5.分析Objective Coefficient Ranges,Righthand Side Ranges的意義如下:1、目標(biāo)函數(shù)中系數(shù)的變化對最優(yōu)基的影響 Objective Coefficient Ranges表示目標(biāo)函數(shù)行各系數(shù)在某個范圍內(nèi)變化時,最優(yōu)基保持不變。以變量x的系數(shù)為例:當(dāng)x的系數(shù)在內(nèi)取值時,最優(yōu)基保持不變。此時,最優(yōu)

12、解不變,最優(yōu)目標(biāo)函數(shù)值變了。例如:可通過如下模型檢驗:model:max=56.0001*x+30*y+20*z;8*x+6*y+z48;4*x+2*y+1.5*z20;2*x+1.5*y+0.5*z8;y5;end2、約束條件右端常數(shù)變化對最優(yōu)基的影響 Righthand Side Ranges表示約束右端項各數(shù)在某個范圍內(nèi)變化時,最優(yōu)基保持不變。以第一個約束行為例:當(dāng)右端項在內(nèi)取值時,最優(yōu)基保持不變。此時,最優(yōu)解,目標(biāo)函數(shù)的最優(yōu)值變化了。例如:可通過如下模型檢驗:model:max=60*x+30*y+20*z;8*x+6*y+z4800;4*x+2*y+1.5*z20;2*x+1.5*y

13、+0.5*z8;y=0)bnd(a,x,b)Axb練習(xí):1、建立線性規(guī)劃模型并求解(1)某工廠生產(chǎn)甲、乙兩種產(chǎn)品。已知生產(chǎn)甲種產(chǎn)品需耗種礦石、種礦石、煤;生產(chǎn)乙種產(chǎn)品需耗種礦石、種礦石、煤。每甲種產(chǎn)品的利潤是元,每乙種產(chǎn)品的利潤是元。工廠在生產(chǎn)這兩種產(chǎn)品的計劃中要求消耗種礦石不超過、種礦石不超過、煤不超過。甲、乙兩種產(chǎn)品應(yīng)各生產(chǎn)多少,能使利潤總額達(dá)到最大?(2)設(shè)有A1,A2兩個香蕉基地,產(chǎn)量分別為60噸和80噸,聯(lián)合供應(yīng)B1,B2,B3三個銷地的銷售量經(jīng)預(yù)測分別為50噸、50噸和40噸。兩個產(chǎn)地到三個銷地的單位運(yùn)價如下表所示:表1(單位運(yùn)費(fèi):元/噸)問每個產(chǎn)地向每個銷地各發(fā)貨多少,才能使總的運(yùn)費(fèi)最少?2、用Lingo軟件對下列線性規(guī)劃問題進(jìn)行靈敏度分析。(1)(2)(3)3、綜合題某工廠用甲,乙兩種原料生產(chǎn)A,B,C,D 四種產(chǎn)品,每種產(chǎn)品的利潤、現(xiàn)有原料數(shù)量及每種產(chǎn)品消耗原料定額如下表:每萬件產(chǎn)品所耗原料(千克)ABCD現(xiàn)有原料(千克)甲3210418乙0022.53每萬件產(chǎn)品利潤(萬元)985019問題:(1)怎樣組織生產(chǎn)才能使總利潤最大?(2)如果產(chǎn)品A的利潤有波動,波動范圍應(yīng)限制在什么范圍內(nèi),才能使得原生產(chǎn)計劃不變?(3)若原料甲的數(shù)量發(fā)生變化,在什么范圍內(nèi)變化時才能使得原生產(chǎn)計劃不變?(4)若工廠引進(jìn)新產(chǎn)品E, 已知生產(chǎn)1萬件E消耗原料甲3千克,材

溫馨提示

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

評論

0/150

提交評論