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頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

/實(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è)是目標(biāo)規(guī)劃的決策變量,共有個(gè)約束是國剛性約束,可能是等式約束,也可能是不等式約束。設(shè)有個(gè)柔性目標(biāo)約束,其目標(biāo)規(guī)劃約束的偏差是。設(shè)有個(gè)優(yōu)先級(jí)別,分別為。在同一個(gè)優(yōu)先級(jí)中,有不同的權(quán)重,分別記為。因此目標(biāo)規(guī)劃模型的一般數(shù)學(xué)表達(dá)式為:mins.t.三、實(shí)驗(yàn)設(shè)備與分組實(shí)驗(yàn)在計(jì)算機(jī)中心機(jī)房進(jìn)行,使用微型電子計(jì)算機(jī),每人一機(jī)(一組)。四、實(shí)驗(yàn)容與步驟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)Ⅰ、Ⅱ兩種產(chǎn)品,需要用到A,B,C三種設(shè)備,已知有關(guān)數(shù)據(jù)見下表。企業(yè)的經(jīng)營目標(biāo)不僅僅是利潤,還需要考慮多個(gè)方面:力求使利潤不低于1500元;考慮到市場(chǎng)需求,Ⅰ、Ⅱ兩種產(chǎn)品的產(chǎn)量比應(yīng)盡量保持1:2;設(shè)備A為貴重設(shè)備,嚴(yán)格禁止超時(shí)使用; 設(shè)備C可以適當(dāng)加班,但要控制;設(shè)備B即要求充分利用,又盡可能不加班。在重要性上,設(shè)備C是設(shè)備B的3倍。ⅠⅡ設(shè)備的生產(chǎn)能力/hA(h/件)2212B(h/件)4016C(h/件)0515利潤元/件200300解:此題中只有設(shè)備A是剛性約束,其余都是柔性約束。首先,最重要的指標(biāo)是企業(yè)的利潤,將它的優(yōu)先級(jí)列為第一級(jí);其次是Ⅰ、Ⅱ兩種產(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滿足約束條件LINGO程序?yàn)椋簃odel:sets:!集合定義部分(從“sets:”開始,到“endsets”結(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為屬性列表。在“[]”中的容,表示是可選的項(xiàng),即該項(xiàng)可以有也可以沒有。variable/1..2/:x;!x為決策變量向量。h_con_num/1..1/:b;!在目標(biāo)規(guī)劃中,約束有兩類。一類是對(duì)資源有嚴(yán)格限制的,同線性規(guī)劃的處理相同,用嚴(yán)格的等式或者不等式約束來處理,稱此約束為剛性約束(hardconstraint)。b表示的是剛性約束的資源向量。s_con_num/1..4/:g,dplus,dminus;!另一類約束是可以不嚴(yán)格限制的,連同原線性規(guī)劃的目標(biāo),構(gòu)成柔性約束(softconstraint)。g表示的是柔性約束的資源向量,dplus,dminus是偏差變量。在目標(biāo)規(guī)劃中,用偏差變量(deviationalvariables)來表示實(shí)際值與目標(biāo)值之間的差異,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ù)之間可以用“,”或者“空格”或者“回車”分開。如果想在運(yùn)行時(shí)才對(duì)參數(shù)賦值,可以在數(shù)據(jù)段使用輸入語句,但這僅用于對(duì)單個(gè)變量賦值,而不能用于屬性變量(數(shù)值)。輸入語句格式為“變量名=?;”。goal=??0;b=12;g=150001615;a=22;c=2003002-14005;!LINGO中的數(shù)據(jù)是按列賦值的,而不是按行賦值的。wplus=000001000031;wminus=100001000030;enddatamin=sum(level:p*z);!目標(biāo)函數(shù)(“min=”后面所接的表達(dá)式)是用求和函數(shù)“sum(集合下標(biāo):關(guān)于集合屬性的表達(dá)式)”的方式定義的。這個(gè)函數(shù)的功能是對(duì)語句中冒號(hào)“:”后面的表達(dá)式,按照“:”前面的集合指定的下標(biāo)(元素)進(jìn)行求和。這里“sum”相當(dāng)于求和符號(hào)“∑”。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(集合(下標(biāo)):關(guān)于集合的屬性的約束關(guān)系)”的方式定義的。意思是對(duì)冒號(hào)“:”前面的集合的每個(gè)元素(下標(biāo)),冒號(hào)“:”后面的約束關(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))+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、下面開始用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.1LINGO的實(shí)時(shí)參數(shù)窗口圖2.2:LINGO運(yùn)行狀態(tài)窗口計(jì)算結(jié)果如下:Globaloptimalsolutionfound.Objectivevalue:0.000000Totalsolveriterations:1VariableValueReducedCostP(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.0000000.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.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.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.000000WPLUS(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(3,2)0.0000000.000000WMINUS(3,3)3.0000000.000000WMINUS(3,4)0.0000000.000000RowSlackorSurplusDualPrice10.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é)果如下:Globaloptimalsolutionfound.Objectivevalue:0.000000Totalsolveriterations:2VariableValueReducedCostP(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.000000X(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.000000DMINUS(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.000000WPLUS(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.000000WPLUS(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(3,2)0.0000000.000000WMINUS(3,3)3.0000000.000000WMINUS(3,4)0.0000000.000000RowSlackorSurplusDualPrice10.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í),p(1),p(2),p(3)分別輸入0,0,1。由于第一級(jí)、第二級(jí)的偏差均為0,因此goal(1)、goal(2)的輸入值也均是0。計(jì)算結(jié)果如下:GGlobaloptimalsolutionfound.Objectivevalue:29.00000Totalsolveriterations:0VariableValueReducedCostP(1)0.0000000.000000P(2)0.0000000.000000P(3)1.0000000.000000Z(1)0.0000000.000000Z(2)0.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.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.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.000000

溫馨提示

  • 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)論