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

下載本文檔

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

文檔簡介

1、實驗二:目標規(guī)劃一、實驗目的目標規(guī)劃是由線性規(guī)劃發(fā)展演變而來的,線性規(guī)劃考慮的是只有一個目標函數(shù)的問題,而實際問題中往往需要考慮多個目標函數(shù),這些目標不僅有主次關系,而且有的還相互矛盾。這些問題用線性規(guī)劃求解就比較困難,因而提出了目標規(guī)劃。熟悉目標規(guī)劃模型的建立,求解過程及結果分析。二、目標規(guī)劃的一般模型設).2, 1(njxj是目標規(guī)劃的決策變量,共有m個約束是國內剛性約束,可能是等式約 束 , 也 可 能 是 不 等 式 約 束 。 設 有l(wèi)個 柔 性 目 標 約 束 , 其 目 標 規(guī) 劃 約 束 的 偏 差 是),.,2, 1(,liddii。設有q個優(yōu)先級別,分別為qppp,.,21

2、。在同一個優(yōu)先級kp中,有不同的權重,分別記為),.,2, 1(,ljwwkjkj。因此目標規(guī)劃模型的一般數(shù)學表達式為:min ljjkjjkjqkkdwdwpz11);(s.t. ,.2, 1,),(1mibxanjijij.,.2, 1, 0,.,2, 1,.2, 1,1liddnxoxligddxciijinjiijij三、實驗設備及分組實驗在電腦中心機房進行,使用微型電子電腦,每人一機一組。四、實驗內容及步驟1、打開lingo ,并利用系統(tǒng)菜單和向導在e 盤創(chuàng)建一個項目。目錄和項目名推薦使用學生自己的學號。2、以此題為例,建立數(shù)學模型,并用說明語句進行說明,增強程序的可讀性。例 2.1

3、:某工廠生產、兩種產品,需要用到a ,b,c 三種設備,已知有關數(shù)據(jù)見下表。企業(yè)的經營目標不僅僅是利潤,還需要考慮多個方面:(1)力求使利潤不低于1500 元;(2)考慮到市場需求,、兩種產品的產量比應盡量保持1:2;(3)設備 a為貴重設備,嚴格禁止超時使用;(4)設備 c可以適當加班,但要控制;設備b即要求充分利用,又盡可能不加班。在重要性上,設備c是設備 b的 3 倍。設備的生產能力/h ah/件2 2 12 bh/件4 0 16 ch/件0 5 15 利潤元/件200 300 解:此題中只有設備a 是剛性約束,其余都是柔性約束。首先,最重要的指標是企業(yè)的利潤,將它的優(yōu)先級列為第一級;其

4、次是、兩種產品的產量保持1: 2 的比例,列為第二級;再次,設備b、c的工作時間要有所控制,列為第三級。在第三級中,設備b的重要性是設備 c的 3 倍,因此它們的權重不一樣,設備b的系數(shù)是設備c的 3 倍。該計劃問題可用數(shù)學模型表示為:目標函數(shù)min )33()(433322211dddpddpdpz滿足約束條件2122xx1215003002001121ddxx022221ddxx14x1633dd155442ddx3 ,2, 1,0,21iddxxiilingo 程序為:model : sets: ! 集合定義部分從“sets:”開始,到“ endsets”結束:定義集合變量及其元素含義類

5、似數(shù)組的下標和屬性含義類似于數(shù)組。 level/1.3/:p,z,goal; !level說明的是目標規(guī)劃的優(yōu)先級,有三個變量p,z ,和 goal。其中 p表示優(yōu)先級,goal表示相應優(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.

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

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

8、用于屬性變量數(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( 集合下標:關于集合屬性的表達式 ) ”的方式定義的。這個函數(shù)的功能是對語句中冒號“:”后面的表達式,按照“:”前面的集合

9、指定的下標元素進行求和。這里“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(集合下標:關于集合的屬性的約束關系”的方式定義的。意思是對冒號“:”前面的集合的每個元素下標,冒號“:”后面的約束關系式都要成立。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)

10、*x(j) +dminus(i)-dplus(i)=g(i); ); for (level(i)|i#lt#size (level): bnd(0,z(i),goal(i); !限制 0=z i =goali ); ! 這個限制條件與集合之間有一個“ | ” 分開,稱為過濾條件。 限制條件 “i#lt#sizelevel ”是一個邏輯表達式,意思是i size level。 #lt#是邏輯運算符號,意思是“小于”;size level表示集合 level元素的個數(shù)。end 3、下面開始用lingo中的圖標或者solve 命令編譯模型,當程序運行時,會出現(xiàn)一個對話框,如圖2.1。在作第一級目標計

11、算時,p1 ,p2 ,p3分別輸入1,0,0,goal1和 goal2輸入兩個較大的值例如100000 ,說明這兩項約束不起作用。運行狀態(tài)窗口如圖2.2,相應信息含義見實驗一表1.1。圖 2.1 lingo的實時參數(shù)窗口圖 2.2:lingo運行狀態(tài)窗口計算結果如下: 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)

12、 0.000000 0.000000 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

13、.00000 0.000000 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,

14、 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

15、 wplus( 1, 3) 0.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.00000

16、0 0.000000 wminus( 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 w

17、minus( 3, 2) 0.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

18、0.000000 第一級的最優(yōu)偏差為0,進行第二級計算。在第二級目標計算時,p1 ,p 2 ,p3分別輸入 0, 1,0。由于第一級的偏差為0,因此 goal1的輸入值為 0, goal2輸入一個較大的值例如100000 。計算結果如下: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.0000

19、00 z( 1) 0.000000 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

20、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) 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.0

21、00000 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.

22、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 wminu

23、s( 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.0

24、00000 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 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)偏

25、差為0,進行第三級計算。在第三級目標計算時,p1 ,p 2 ,p3分別輸入 0, 0,1。由于第一級、第二級的偏差均為0,因此 goal1 、goal2的輸入值也均是 0。計算結果如下: 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.0000

26、00 z( 2) 0.000000 -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

27、 dplus( 1) 100.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.000

溫馨提示

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

評論

0/150

提交評論