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

下載本文檔

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

文檔簡介

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

2、j ,wkj ( j 1,2,.,l) 。因此目標規(guī)劃模型的一般數(shù)學表達式為:qlmin zpk(wkjdjwkjdj );k1 j1ns.t.aijxj( , )bi ,i 1,2,.m,j1ncijxjdi di gi ,i1,2,.l,j1xjo, x 1,2,.,n,di , di 0,i1,2,.l.三、實驗設備及分組實驗在計算機中心機房進行,使用微型電子計算機,每人一機(一組)四、實驗內容及步驟1、打開lingo ,并利用系統(tǒng)菜單和向導在e盤創(chuàng)建一個項目。目錄和項目名推薦使用學生自己的學號。2、以此題為例,建立數(shù)學模型,并用說明語句進行說明,增強程序的可讀性。例 2.1:某工廠生產

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

4、是i、n兩種產品的產量保持 1: 2的比例,列為第二級;再次,設備 b、c的工作時間要有所控制,列為第三級。在第三級中,設備 b的重要性是設備c的3倍,因此它們的權重不一樣,設備b的系數(shù)是設備c的3倍。該計劃問題可用數(shù)學模型表示為:目標函數(shù)min zp1dlp2(d2 d2 ) p3(3d3 3d3 d4 )滿足約束條件2x1 2x212200x1 300x2 d1 d115002x1 x2 d2 d204x1d 3 d3 165x2 d4 d415x1,x2,di ,di0,i 1,2,3lingo 程序為:model :sets :! 集合定義部分(從“ sets: ”開始,到“ ends

5、ets ”結束):定義集合變量及其元素(含義類似數(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 為屬性列表。在“ ”中的內容,表示是可選的項,即該項可以有也可以沒有。variab

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

7、之間的差異, dplus 為超出目標的差值,稱為正偏差變量, dminus 為未達到目標的差值,稱為負偏差變量。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ù)之間可以用“,”或者“空格”或者“回車”分開。

8、如果想在運行時才對參數(shù)賦值, 可以在數(shù)據(jù)段使用輸入語句, 但這僅用于對單個變量賦值, 而不能用于屬性變量 (數(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 00 1 0 00 0 3 1;wminus=1 0 0 00 1 0 00 0 3 0;enddatamin =sum(level:p*z);!目標函數(shù)(“ min= ”后面所接的表達式)是用求和函數(shù)“sum(集合下標:關于集合屬性的表達式)”的方

9、式定義的。這個函數(shù)的功能是對語句中冒號“:”后面的表達式,按照“:”前 面的集合指定的下標(元素)進行求和。這里“sum”相當于求和符號“it。for (level(i):z(i)=sum(s_con_numo):wplus(i,j)*dpluso)+ sum(s_con_num(j):wminus(i,j)*dminus(j);!約束是用循環(huán)函數(shù)“ for(集合(下標):關于集合的屬性的約束關系)”的方式定義的。 意思是對冒號“:”前面的集合的每個元素(下標),冒號“:”后面的約束關系式都要成立。for (h_con_num(i):sum(variableq):a(i,j)*x(j)<

10、=b(i);for (s_con_num(i):sum(variable(j):c(i,j)*x(j)+dminus(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 )”是一個邏輯表達式,意思是i size (level )。#lt# 是邏輯運算符號,意思是“小于”;size (level )表示集合level元素的個數(shù)。end3、下面開始

11、用lingo 中的圖標或者 solve命令編譯模型,當程序運行時,會出現(xiàn)一 個對話框,如圖2.1。在作第一級目標計算時,p (1), p (2), p (3)分別輸入1, 0, 0,goal (1)和goal (2)輸入兩個較大的值(例如 100000),表明這兩項約束不起作用。運行 狀態(tài)窗口如圖2.2,相應信息含義見實驗一表1.1。圖2.1 lingo的實時參數(shù)窗口圖22lingo運行狀態(tài)窗口計算結果如下:global optimal solution found.objective value:0.000000total solver iterations:1variablevaluere

12、duced costp( 1)1.0000000.000000p( 2)0.0000000.000000p( 3)0.0000000.000000z( 1)0.0000000.000000z( 2)5.0000000.000000z( 3)58.000000.000000goal( 1)100000.00.000000goal( 2)1000000.0.000000goal( 3)0.0000000.000000x( 1)0.0000000.000000x( 2)5.0000000.000000b( 1)12.000000.000000g( 1)1500.0000.000000g( 2)0.0

13、000000.000000g( 3)16.000000.000000g( 4)15.000000.000000dplus( 1)0.0000000.000000dplus( 2)0.0000000.000000dplus( 3)0.0000000.000000dplus( 4)10.000000.000000dminus( 1)0.0000001.000000dminus( 2)5.0000000.000000dminus( 3)16.000000.000000dminus( 4)0.0000000.000000a( 1, 1)2.0000000.000000a( 1, 2)2.0000000

14、.000000c( 1, 1)200.00000.000000c( 1, 2)300.00000.000000c( 2, 1)2.0000000.000000c( 2, 2)-1.0000000.000000c( 3, 1)4.0000000.000000c( 3, 2)0.0000000.000000c( 4, 1)0.0000000.000000c( 4, 2)5.0000000.000000wplus( 1, 1)0.0000000.000000wplus( 1, 2)0.0000000.000000wplus( 1, 3)0.0000000.000000wplus( 1, 4)0.00

15、00000.000000wplus( 2, 1)0.0000000.000000wplus( 2, 2)1.0000000.000000wplus( 2, 3)0.0000000.000000wplus( 2, 4)0.0000000.000000wplus( 3, 1)0.0000000.000000wplus( 3, 2)0.0000000.000000wplus( 3, 3)3.0000000.000000wplus( 3, 4)1.0000000.000000wminus( 1, 1)1.0000000.000000wminus( 1, 2)0.0000000.000000wminus

16、( 1, 3)0.0000000.000000wminus( 1, 4)0.0000000.000000wminus( 2, 1)0.0000000.000000wminus( 2, 2)1.0000000.000000wminus( 2, 3)0.0000000.000000wminus( 2, 4)0.0000000.000000wminus( 3, 1)0.0000000.000000wminus( 3, 2)0.0000000.000000wminus( 3, 3)3.0000000.000000wminus( 3, 4)0.0000000.000000row slack or sur

17、plus dual price10.000000-1.00000020.000000-1.00000030.0000000.00000040.0000000.00000052.0000000.00000060.0000000.00000070.0000000.00000080.0000000.00000090.0000000.000000第一級的最優(yōu)偏差為 0 ,進行第二級計算。在第二級目標計算時, p ( 1 ) , p ( 2) , p(3)分別輸入0, 1, 0。由于第一級的偏差為0,因此goal ( 1)的輸入值為0, goal (2)輸入一個較大的值(例如100000) 。計算結果如

18、下:global optimal solution found.objective value:0.000000total solver iterations:2variablevaluereduced costp( 1)0.0000000.000000p( 2)1.0000000.000000p( 3)0.0000000.000000z( 1)0.0000000.000000z( 2)0.0000001.000000z( 3)29.250000.000000goal( 1)0.0000000.000000goal( 2)100000.00.000000goal( 3)0.0000000.00

19、0000x( 1)1.8750000.000000x( 2)3.7500000.000000b( 1)12.000000.000000g( 1)1500.0000.000000g( 2)0.0000000.000000g( 3)16.000000.000000g( 4)15.000000.000000dplus( 1)0.0000000.000000dplus( 2)0.0000000.000000dplus( 3)0.0000000.000000dplus( 4)3.7500000.000000dminus( 1)0.0000000.000000dminus( 2)0.0000000.000

20、000dminus( 3)8.5000000.000000dminus( 4)0.0000000.000000a( 1, 1)2.0000000.000000a( 1, 2)2.0000000.000000c( 1, 1)200.00000.000000c( 1, 2)300.00000.000000c( 2, 1)2.0000000.000000c( 2, 2)-1.0000000.000000c( 3, 1)4.0000000.000000c( 3, 2)0.0000000.000000c( 4, 1)0.0000000.000000c( 4, 2)5.0000000.000000wplu

21、s( 1, 1)0.0000000.000000wplus( 1, 2)0.0000000.000000wplus( 1, 3)0.0000000.000000wplus( 1, 4)0.0000000.000000wplus( 2, 1)0.0000000.000000wplus( 2, 2)1.0000000.000000wplus( 2, 3)0.0000000.000000wplus( 2, 4)0.0000000.000000wplus( 3, 1)0.0000000.000000wplus( 3, 2)0.0000000.000000wplus( 3, 3)3.0000000.00

22、0000wplus( 3, 4)1.0000000.000000wminus( 1, 1)1.0000000.000000wminus( 1, 2)0.0000000.000000wminus( 1, 3)0.0000000.000000wminus( 1, 4)0.0000000.000000wminus( 2, 1)0.0000000.000000wminus( 2, 2)1.0000000.000000wminus( 2, 3)0.0000000.000000wminus( 2, 4)0.0000000.000000wminus( 3, 1)0.0000000.000000wminus(

23、 3, 2)0.0000000.000000wminus( 3, 3)3.0000000.000000wminus( 3, 4)0.0000000.000000rowslack or surplus dual price10.000000-1.00000020.0000000.00000030.0000000.00000040.0000000.00000050.75000000.00000060.0000000.00000070.0000000.00000080.0000000.00000090.0000000.000000第二級的最優(yōu)偏差為 0 ,進行第三級計算。在第三級目標計算時,進行第三

24、級計算。在第三級目標計算時,p ( 1 ) , p ( 2) , p(3)分別輸入0, 0, 1 。由于第一級、第二級的偏差均為 0,因此 goal ( 1)、 goal (2)的輸入值也均是0。計算結果如下:gglobal optimal solution found.objective value:29.00000total solver iterations:0variablevaluereduced costp( 1)0.0000000.000000p( 2)0.0000000.000000p( 3)1.0000000.000000z( 1)0.0000000.000000z( 2)0

25、.000000-5.666667z( 3)29.000000.000000goal( 1)0.0000000.000000goal( 2)0.0000000.000000goal( 3)0.0000000.000000x( 1)2.0000000.000000x( 2)4.0000000.000000b( 1)12.000000.000000g( 1)1500.0000.000000g( 2)0.0000000.000000g( 3)16.000000.000000g( 4)15.000000.000000dplus( 1)100.00000.000000dplus( 2)0.0000000.

26、000000dplus( 3)0.0000006.000000dplus( 4)5.0000000.000000dminus( 1)0.0000000.000000dminus( 2)0.00000011.33333dminus( 3)8.0000000.000000dminus( 4)0.0000001.000000a( 1, 1)2.0000000.000000a( 1, 2)2.0000000.000000c( 1, 1)200.00000.000000c( 1, 2)300.00000.000000c( 2, 1)2.0000000.000000c( 2, 2)-1.0000000.000000c( 3, 1)4.0000000.000000c( 3, 2)0.0000000.000000c( 4, 1)0.0000000.000000c( 4, 2)5.0000000.000000wplus( 1, 1)0.0000000.000000wpl

溫馨提示

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

評論

0/150

提交評論