lingo求解多目標規(guī)劃__例題_第1頁
lingo求解多目標規(guī)劃__例題_第2頁
lingo求解多目標規(guī)劃__例題_第3頁
lingo求解多目標規(guī)劃__例題_第4頁
lingo求解多目標規(guī)劃__例題_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選文檔試驗二:目標規(guī)劃一、試驗?zāi)康哪繕艘?guī)劃是由線性規(guī)劃進展演化而來的,線性規(guī)劃考慮的是只有一個目標函數(shù)的問題,而實際問題中往往需要考慮多個目標函數(shù),這些目標不僅有主次關(guān)系,而且有的還相互沖突。這些問題用線性規(guī)劃求解就比較困難,因而提出了目標規(guī)劃。生疏目標規(guī)劃模型的建立,求解過程及結(jié)果分析。二、目標規(guī)劃的一般模型設(shè)是目標規(guī)劃的決策變量,共有個約束是國剛性約束,可能是等式約束,也可能是不等式約束。設(shè)有個柔性目標約束,其目標規(guī)劃約束的偏差是。設(shè)有個優(yōu)先級別,分別為。在同一個優(yōu)先級中,有不同的權(quán)重,分別記為。因此目標規(guī)劃模型的一般數(shù)學表達式為:min s.t. 三、試驗設(shè)備及分組試驗在計算機中心機房

2、進行,使用微型電子計算機,每人一機(一組)。四、試驗容及步驟1、打開LINGO,并利用系統(tǒng)菜單和向?qū)г贓盤創(chuàng)建一個項目。名目和項目名推舉使用同學自己的學號。2、以此題為例,建立數(shù)學模型,并用說明語句進行說明,增加程序的可讀性。例2.1:某工廠生產(chǎn)、兩種產(chǎn)品,需要用到A,B,C三種設(shè)備,已知有關(guān)數(shù)據(jù)見下表。企業(yè)的經(jīng)營目標不僅僅是利潤,還需要考慮多個方面:(1) 力求使利潤不低于1500元;(2) 考慮到市場需求,、兩種產(chǎn)品的產(chǎn)量比應(yīng)盡量保持1:2;(3) 設(shè)備A為貴重設(shè)備,嚴格禁止超時使用;(4) 設(shè)備C可以適當加班,但要把握;設(shè)備B即要求充分利用,又盡可能不加班。在重要性上,設(shè)備C是設(shè)備B的3

3、倍。設(shè)備的生產(chǎn)力量/hA(h/件)2212B(h/件)4016C(h/件)0515利潤 元/件200300解:此題中只有設(shè)備A是剛性約束,其余都是柔性約束。首先,最重要的指標是企業(yè)的利潤,將它的優(yōu)先級列為第一級;其次是、兩種產(chǎn)品的產(chǎn)量保持1:2的比例,列為其次級;再次,設(shè)備B、C的工作時間要有所把握,列為第三級。在第三級中,設(shè)備B的重要性是設(shè)備C的3倍,因此它們的權(quán)重不一樣,設(shè)備B的系數(shù)是設(shè)備C的3倍。該方案問題可用數(shù)學模型表示為:目標函數(shù) min 滿足約束條件 LINGO程序為:model:sets: !集合定義部分(從“sets:”開頭,到“endsets”結(jié)束):定義集合變量及其元素(含

4、義類似數(shù)組的下標)和屬性(含義類似于數(shù)組)。 level/1.3/:p,z,goal;!level說明的是目標規(guī)劃的優(yōu)先級,有三個變量p,z,和goal。其中p表示優(yōu)先級,goal表示相應(yīng)優(yōu)先級時的最優(yōu)目標值。!“1 .3”的意思是從1到3的全部整數(shù)。!基本集合的定義格式為:setname/member_ list/:attribute_list;其中setname為定義的集合名,member_list為元素列表,attribute_list為屬性列表。在“”中的容,表示是可選的項,即該項可以有也可以沒有。variable/1.2/:x;!x為決策變量向量。 h_con_num/1.1/:b;

5、!在目標規(guī)劃中,約束有兩類。一類是對資源有嚴格限制的,同線性規(guī)劃的處理相同,用嚴格的等式或者不等式約束來處理,稱此約束為剛性約束(hard constraint)。b表示的是剛性約束的資源向量。 s_con_num/1.4/:g,dplus,dminus;!另一類約束是可以不嚴格限制的,連同原線性規(guī)劃的目標,構(gòu)成柔性約束(soft constraint)。g表示的是柔性約束的資源向量,dplus,dminus是偏差變量。在目標規(guī)劃中,用偏差變量(deviational variables)來表示實際值與目標值之間的差異,dplus為超出目標的差值,稱為正偏差變量,dminus為未達到目標的差值

6、,稱為負偏差變量。 h_cons(h_con_num,variable):A;!剛性約束的價值向量。 s_cons(s_con_num,variable):c;!柔性約束的價值向量。 obj(level,s_con_num):wplus,wminus;!柔性約束在不同優(yōu)先級下的權(quán)重。endsetsdata:!數(shù)據(jù)輸入部分(從“data:”開頭,到“enddata”結(jié)束):作用在于對集合的屬性(數(shù)組)輸入必要的常數(shù)數(shù)據(jù)。p=? ? ?;!常數(shù)列表中的數(shù)據(jù)之間可以用“,”或者“空格”或者“回車”分開。假如想在運行時才對參數(shù)賦值,可以在數(shù)據(jù)段使用輸入語句,但這僅用于對單個變量賦值,而不能用于屬性變量

7、(數(shù)值)。輸入語句格式為“變量名=?;”。goal=? ? 0;b=12;g=1500 0 16 15;a=2 2;c=200 300 2 -1 4 0 0 5;!LINGO中的數(shù)據(jù)是按列賦值的,而不是按行賦值的。wplus=0 0 0 0 0 1 0 0 0 0 3 1;wminus=1 0 0 0 0 1 0 0 0 0 3 0;enddatamin=sum(level:p*z);!目標函數(shù)(“min=”后面所接的表達式)是用求和函數(shù)“sum(集合下標:關(guān)于集合屬性的表達式)”的方式定義的。這個函數(shù)的功能是對語句中冒號“:”后面的表達式,依據(jù)“:”前面的集合指定的下標(元素)進行求和。這里

8、“sum”相當于求和符號“”。for(level(i): z(i)=sum(s_con_num(j):wplus(i,j)*dplus(j) +sum(s_con_num(j):wminus(i,j)*dminus(j); !約束是用循環(huán)函數(shù)“for(集合(下標):關(guān)于集合的屬性的約束關(guān)系)”的方式定義的。意思是對冒號“:”前面的集合的每個元素(下標),冒號“:”后面的約束關(guān)系式都要成立。for(h_con_num(i): sum(variable(j):a(i,j)*x(j)<=b(i);for(s_con_num(i): sum(variable(j):c(i,j)*x(j) +dm

9、inus(i)-dplus(i)=g(i); );for(level(i)|i#lt#size(level): bnd(0,z(i),goal(i); !限制0=z(i)=goal(i));!這個限制條件與集合之間有一個“|”分開,稱為過濾條件。限制條件“i#lt#size(level)”是一個規(guī)律表達式,意思是isize(level)。#lt#是規(guī)律運算符號,意思是“小于”;size(level)表示集合level元素的個數(shù)。End3、下面開頭用LINGO中的圖標或者Solve命令編譯模型,當程序運行時,會消滅一個對話框,如圖2.1。在作第一級目標計算時,p(1),p(2),p(3)分別輸入

10、1,0,0,goal(1)和goal(2)輸入兩個較大的值(例如100000),表明這兩項約束不起作用。運行狀態(tài)窗口如圖2.2,相應(yīng)信息含義見試驗一表1.1。圖2.1 LINGO的實時參數(shù)窗口圖2.2:LINGO運行狀態(tài)窗口計算結(jié)果如下: Global optimal solution found. Objective value: 0.000000 Total solver iterations: 1 Variable Value Reduced Cost P( 1) 1.000000 0.000000 P( 2) 0.000000 0.000000 P( 3) 0.000000 0.000

11、000 Z( 1) 0.000000 0.000000 Z( 2) 5.000000 0.000000 Z( 3) 58.00000 0.000000 GOAL( 1) 100000.0 0.000000 GOAL( 2) 1000000. 0.000000 GOAL( 3) 0.000000 0.000000 X( 1) 0.000000 0.000000 X( 2) 5.000000 0.000000 B( 1) 12.00000 0.000000 G( 1) 1500.000 0.000000 G( 2) 0.000000 0.000000 G( 3) 16.00000 0.000000

12、 G( 4) 15.00000 0.000000 DPLUS( 1) 0.000000 0.000000 DPLUS( 2) 0.000000 0.000000 DPLUS( 3) 0.000000 0.000000 DPLUS( 4) 10.00000 0.000000 DMINUS( 1) 0.000000 1.000000 DMINUS( 2) 5.000000 0.000000 DMINUS( 3) 16.00000 0.000000 DMINUS( 4) 0.000000 0.000000 A( 1, 1) 2.000000 0.000000 A( 1, 2) 2.000000 0.

13、000000 C( 1, 1) 200.0000 0.000000 C( 1, 2) 300.0000 0.000000 C( 2, 1) 2.000000 0.000000 C( 2, 2) -1.000000 0.000000 C( 3, 1) 4.000000 0.000000 C( 3, 2) 0.000000 0.000000 C( 4, 1) 0.000000 0.000000 C( 4, 2) 5.000000 0.000000 WPLUS( 1, 1) 0.000000 0.000000 WPLUS( 1, 2) 0.000000 0.000000 WPLUS( 1, 3) 0

14、.000000 0.000000 WPLUS( 1, 4) 0.000000 0.000000 WPLUS( 2, 1) 0.000000 0.000000 WPLUS( 2, 2) 1.000000 0.000000 WPLUS( 2, 3) 0.000000 0.000000 WPLUS( 2, 4) 0.000000 0.000000 WPLUS( 3, 1) 0.000000 0.000000 WPLUS( 3, 2) 0.000000 0.000000 WPLUS( 3, 3) 3.000000 0.000000 WPLUS( 3, 4) 1.000000 0.000000 WMIN

15、US( 1, 1) 1.000000 0.000000 WMINUS( 1, 2) 0.000000 0.000000 WMINUS( 1, 3) 0.000000 0.000000 WMINUS( 1, 4) 0.000000 0.000000 WMINUS( 2, 1) 0.000000 0.000000 WMINUS( 2, 2) 1.000000 0.000000 WMINUS( 2, 3) 0.000000 0.000000 WMINUS( 2, 4) 0.000000 0.000000 WMINUS( 3, 1) 0.000000 0.000000 WMINUS( 3, 2) 0.

16、000000 0.000000 WMINUS( 3, 3) 3.000000 0.000000 WMINUS( 3, 4) 0.000000 0.000000 Row Slack or Surplus Dual Price 1 0.000000 -1.000000 2 0.000000 -1.000000 3 0.000000 0.000000 4 0.000000 0.000000 5 2.000000 0.000000 6 0.000000 0.000000 7 0.000000 0.000000 8 0.000000 0.000000 9 0.000000 0.000000第一級的最優(yōu)偏

17、差為0,進行其次級計算。在其次級目標計算時,p(1),p(2),p(3)分別輸入0,1,0。由于第一級的偏差為0,因此goal(1)的輸入值為0,goal(2)輸入一個較大的值(例如100000)。計算結(jié)果如下:Global optimal solution found. Objective value: 0.000000 Total solver iterations: 2 Variable Value Reduced Cost P( 1) 0.000000 0.000000 P( 2) 1.000000 0.000000 P( 3) 0.000000 0.000000 Z( 1) 0.00

18、0000 0.000000 Z( 2) 0.000000 1.000000 Z( 3) 29.25000 0.000000 GOAL( 1) 0.000000 0.000000 GOAL( 2) 100000.0 0.000000 GOAL( 3) 0.000000 0.000000 X( 1) 1.875000 0.000000 X( 2) 3.750000 0.000000 B( 1) 12.00000 0.000000 G( 1) 1500.000 0.000000 G( 2) 0.000000 0.000000 G( 3) 16.00000 0.000000 G( 4) 15.0000

19、0 0.000000 DPLUS( 1) 0.000000 0.000000 DPLUS( 2) 0.000000 0.000000 DPLUS( 3) 0.000000 0.000000 DPLUS( 4) 3.750000 0.000000 DMINUS( 1) 0.000000 0.000000 DMINUS( 2) 0.000000 0.000000 DMINUS( 3) 8.500000 0.000000 DMINUS( 4) 0.000000 0.000000 A( 1, 1) 2.000000 0.000000 A( 1, 2) 2.000000 0.000000 C( 1, 1

20、) 200.0000 0.000000 C( 1, 2) 300.0000 0.000000 C( 2, 1) 2.000000 0.000000 C( 2, 2) -1.000000 0.000000 C( 3, 1) 4.000000 0.000000 C( 3, 2) 0.000000 0.000000 C( 4, 1) 0.000000 0.000000 C( 4, 2) 5.000000 0.000000 WPLUS( 1, 1) 0.000000 0.000000 WPLUS( 1, 2) 0.000000 0.000000 WPLUS( 1, 3) 0.000000 0.0000

21、00 WPLUS( 1, 4) 0.000000 0.000000 WPLUS( 2, 1) 0.000000 0.000000 WPLUS( 2, 2) 1.000000 0.000000 WPLUS( 2, 3) 0.000000 0.000000 WPLUS( 2, 4) 0.000000 0.000000 WPLUS( 3, 1) 0.000000 0.000000 WPLUS( 3, 2) 0.000000 0.000000 WPLUS( 3, 3) 3.000000 0.000000 WPLUS( 3, 4) 1.000000 0.000000 WMINUS( 1, 1) 1.00

22、0000 0.000000 WMINUS( 1, 2) 0.000000 0.000000 WMINUS( 1, 3) 0.000000 0.000000 WMINUS( 1, 4) 0.000000 0.000000 WMINUS( 2, 1) 0.000000 0.000000 WMINUS( 2, 2) 1.000000 0.000000 WMINUS( 2, 3) 0.000000 0.000000 WMINUS( 2, 4) 0.000000 0.000000 WMINUS( 3, 1) 0.000000 0.000000 WMINUS( 3, 2) 0.000000 0.00000

23、0 WMINUS( 3, 3) 3.000000 0.000000 WMINUS( 3, 4) 0.000000 0.000000 Row Slack or Surplus Dual Price 1 0.000000 -1.000000 2 0.000000 0.000000 3 0.000000 0.000000 4 0.000000 0.000000 5 0.7500000 0.000000 6 0.000000 0.000000 7 0.000000 0.000000 8 0.000000 0.000000 9 0.000000 0.000000其次級的最優(yōu)偏差為0,進行第三級計算。在第

24、三級目標計算時,p(1),p(2),p(3)分別輸入0,0,1。由于第一級、其次級的偏差均為0,因此goal(1)、goal(2)的輸入值也均是0。計算結(jié)果如下: GGlobal optimal solution found. Objective value: 29.00000 Total solver iterations: 0 Variable Value Reduced Cost P( 1) 0.000000 0.000000 P( 2) 0.000000 0.000000 P( 3) 1.000000 0.000000 Z( 1) 0.000000 0.000000 Z( 2) 0.0

25、00000 -5.666667 Z( 3) 29.00000 0.000000 GOAL( 1) 0.000000 0.000000 GOAL( 2) 0.000000 0.000000 GOAL( 3) 0.000000 0.000000 X( 1) 2.000000 0.000000 X( 2) 4.000000 0.000000 B( 1) 12.00000 0.000000 G( 1) 1500.000 0.000000 G( 2) 0.000000 0.000000 G( 3) 16.00000 0.000000 G( 4) 15.00000 0.000000 DPLUS( 1) 1

26、00.0000 0.000000 DPLUS( 2) 0.000000 0.000000 DPLUS( 3) 0.000000 6.000000 DPLUS( 4) 5.000000 0.000000 DMINUS( 1) 0.000000 0.000000 DMINUS( 2) 0.000000 11.33333 DMINUS( 3) 8.000000 0.000000 DMINUS( 4) 0.000000 1.000000 A( 1, 1) 2.000000 0.000000 A( 1, 2) 2.000000 0.000000 C( 1, 1) 200.0000 0.000000 C( 1, 2) 300.0000 0.000000 C( 2, 1) 2.000000 0.000000 C( 2, 2) -1.000000 0.000000 C( 3, 1) 4.000000 0.000000 C( 3, 2) 0.000000 0.000000 C( 4, 1) 0.000000 0.000000 C( 4, 2) 5.000000 0.000000 WPLUS( 1, 1) 0.000000 0.000000 WPLUS( 1, 2) 0.000000 0.000000 WPLUS( 1, 3) 0.000000 0.000000 WPLUS( 1, 4

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論