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

下載本文檔

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

文檔簡介

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

2、j ,wkj ( j 1,2,.,l) 。因此目標(biāo)規(guī)劃模型的一般數(shù)學(xué)表達(dá)式為: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.三、實(shí)驗(yàn)設(shè)備及分組實(shí)驗(yàn)在計(jì)算機(jī)中心機(jī)房進(jìn)行,使用微型電子計(jì)算機(jī),每人一機(jī)(一組)四、實(shí)驗(yàn)內(nèi)容及步驟1、打開lingo ,并利用系統(tǒng)菜單和向?qū)г趀盤創(chuàng)建一個(gè)項(xiàng)目。目錄和項(xiàng)目名推薦使用學(xué)生自己的學(xué)號(hào)。2、以此題為例,建立數(shù)學(xué)模型,并用說明語句進(jìn)行說明,增強(qiáng)程序的可讀性。例 2.1:某工廠生產(chǎn)

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

4、是i、n兩種產(chǎn)品的產(chǎn)量保持 1: 2的比例,列為第二級(jí);再次,設(shè)備 b、c的工作時(shí)間要有所控制,列為第三級(jí)。在第三級(jí)中,設(shè)備 b的重要性是設(shè)備c的3倍,因此它們的權(quán)重不一樣,設(shè)備b的系數(shù)是設(shè)備c的3倍。該計(jì)劃問題可用數(shù)學(xué)模型表示為:目標(biāo)函數(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 程序?yàn)椋簃odel :sets :! 集合定義部分(從“ sets: ”開始,到“ ends

5、ets ”結(jié)束):定義集合變量及其元素(含義類似數(shù)組的下標(biāo))和屬性(含義類似于數(shù)組)。level/1.3/:p,z,goal;! level說明的是目標(biāo)規(guī)劃的優(yōu)先級(jí),有三個(gè)變量 p , z ,和goal。其中p表示優(yōu)先級(jí),goal表 示相應(yīng)優(yōu)先級(jí)時(shí)的最優(yōu)目標(biāo)值。!“1 .3 ”的意思是從 1 到3的所有整數(shù)。! 基本集合的定義格式為: setname/member_ list/:attribute_list;其中 setname為定義的集合名, member_list 為元素列表, attribute_list 為屬性列表。在“ ”中的內(nèi)容,表示是可選的項(xiàng),即該項(xiàng)可以有也可以沒有。variab

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

7、之間的差異, dplus 為超出目標(biāo)的差值,稱為正偏差變量, dminus 為未達(dá)到目標(biāo)的差值,稱為負(fù)偏差變量。h_cons(h_con_num,variable):a;!剛性約束的價(jià)值向量。s_cons(s_con_num,variable):c;!柔性約束的價(jià)值向量。obj(level,s_con_num):wplus,wminus;!柔性約束在不同優(yōu)先級(jí)下的權(quán)重。endsetsdata :!數(shù)據(jù)輸入部分(從“ data :”開始,到“ enddata ”結(jié)束):作用在于對(duì)集合的屬性(數(shù)組)輸入必要的常數(shù)數(shù)據(jù)。p=? ? ?;!常數(shù)列表中的數(shù)據(jù)之間可以用“,”或者“空格”或者“回車”分開。

8、如果想在運(yùn)行時(shí)才對(duì)參數(shù)賦值, 可以在數(shù)據(jù)段使用輸入語句, 但這僅用于對(duì)單個(gè)變量賦值, 而不能用于屬性變量 (數(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);!目標(biāo)函數(shù)(“ min= ”后面所接的表達(dá)式)是用求和函數(shù)“sum(集合下標(biāo):關(guān)于集合屬性的表達(dá)式)”的方

9、式定義的。這個(gè)函數(shù)的功能是對(duì)語句中冒號(hào)“:”后面的表達(dá)式,按照“:”前 面的集合指定的下標(biāo)(元素)進(jìn)行求和。這里“sum”相當(dāng)于求和符號(hào)“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(集合(下標(biāo)):關(guān)于集合的屬性的約束關(guān)系)”的方式定義的。 意思是對(duì)冒號(hào)“:”前面的集合的每個(gè)元素(下標(biāo)),冒號(hào)“:”后面的約束關(guān)系式都要成立。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 ) );!這個(gè)限制條件與集合之間有一個(gè)“| ”分開,稱為過濾條件。限制條件"i#lt#size (level )”是一個(gè)邏輯表達(dá)式,意思是i size (level )。#lt# 是邏輯運(yùn)算符號(hào),意思是“小于”;size (level )表示集合level元素的個(gè)數(shù)。end3、下面開始

11、用lingo 中的圖標(biāo)或者 solve命令編譯模型,當(dāng)程序運(yùn)行時(shí),會(huì)出現(xiàn)一 個(gè)對(duì)話框,如圖2.1。在作第一級(jí)目標(biāo)計(jì)算時(shí),p (1), p (2), p (3)分別輸入1, 0, 0,goal (1)和goal (2)輸入兩個(gè)較大的值(例如 100000),表明這兩項(xiàng)約束不起作用。運(yùn)行 狀態(tài)窗口如圖2.2,相應(yīng)信息含義見實(shí)驗(yàn)一表1.1。圖2.1 lingo的實(shí)時(shí)參數(shù)窗口圖22lingo運(yùn)行狀態(tài)窗口計(jì)算結(jié)果如下: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第一級(jí)的最優(yōu)偏差為 0 ,進(jìn)行第二級(jí)計(jì)算。在第二級(jí)目標(biāo)計(jì)算時(shí), p ( 1 ) , p ( 2) , p(3)分別輸入0, 1, 0。由于第一級(jí)的偏差為0,因此goal ( 1)的輸入值為0, goal (2)輸入一個(gè)較大的值(例如100000) 。計(jì)算結(jié)果如

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第二級(jí)的最優(yōu)偏差為 0 ,進(jìn)行第三級(jí)計(jì)算。在第三級(jí)目標(biāo)計(jì)算時(shí),進(jìn)行第三

24、級(jí)計(jì)算。在第三級(jí)目標(biāo)計(jì)算時(shí),p ( 1 ) , p ( 2) , p(3)分別輸入0, 0, 1 。由于第一級(jí)、第二級(jí)的偏差均為 0,因此 goal ( 1)、 goal (2)的輸入值也均是0。計(jì)算結(jié)果如下: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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論