lingo求解多目標規劃例題_第1頁
lingo求解多目標規劃例題_第2頁
lingo求解多目標規劃例題_第3頁
lingo求解多目標規劃例題_第4頁
lingo求解多目標規劃例題_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

/實驗二:目標規劃一、實驗目的目標規劃是由線性規劃發展演變而來的,線性規劃考慮的是只有一個目標函數的問題,而實際問題中往往需要考慮多個目標函數,這些目標不僅有主次關系,而且有的還相互矛盾。這些問題用線性規劃求解就比較困難,因而提出了目標規劃。熟悉目標規劃模型的建立,求解過程與結果分析。二、目標規劃的一般模型設是目標規劃的決策變量,共有個約束是國剛性約束,可能是等式約束,也可能是不等式約束。設有個柔性目標約束,其目標規劃約束的偏差是。設有個優先級別,分別為。在同一個優先級中,有不同的權重,分別記為。因此目標規劃模型的一般數學表達式為:mins.t.三、實驗設備與分組實驗在計算機中心機房進行,使用微型電子計算機,每人一機(一組)。四、實驗容與步驟1、打開LINGO,并利用系統菜單和向導在E盤創建一個項目。目錄和項目名推薦使用學生自己的學號。2、以此題為例,建立數學模型,并用說明語句進行說明,增強程序的可讀性。例2.1:某工廠生產Ⅰ、Ⅱ兩種產品,需要用到A,B,C三種設備,已知有關數據見下表。企業的經營目標不僅僅是利潤,還需要考慮多個方面:力求使利潤不低于1500元;考慮到市場需求,Ⅰ、Ⅱ兩種產品的產量比應盡量保持1:2;設備A為貴重設備,嚴格禁止超時使用; 設備C可以適當加班,但要控制;設備B即要求充分利用,又盡可能不加班。在重要性上,設備C是設備B的3倍。ⅠⅡ設備的生產能力/hA(h/件)2212B(h/件)4016C(h/件)0515利潤元/件200300解:此題中只有設備A是剛性約束,其余都是柔性約束。首先,最重要的指標是企業的利潤,將它的優先級列為第一級;其次是Ⅰ、Ⅱ兩種產品的產量保持1:2的比例,列為第二級;再次,設備B、C的工作時間要有所控制,列為第三級。在第三級中,設備B的重要性是設備C的3倍,因此它們的權重不一樣,設備B的系數是設備C的3倍。該計劃問題可用數學模型表示為:目標函數min滿足約束條件LINGO程序為:model:sets:!集合定義部分(從“sets:”開始,到“endsets”結束):定義集合變量與其元素(含義類似數組的下標)和屬性(含義類似于數組)。level/1..3/:p,z,goal;!level說明的是目標規劃的優先級,有三個變量p,z,和goal。其中p表示優先級,goal表示相應優先級時的最優目標值。!“1..3”的意思是從1到3的所有整數。!基本集合的定義格式為:setname[/member_list/][:attribute_list];其中setname為定義的集合名,member_list為元素列表,attribute_list為屬性列表。在“[]”中的容,表示是可選的項,即該項可以有也可以沒有。variable/1..2/:x;!x為決策變量向量。h_con_num/1..1/:b;!在目標規劃中,約束有兩類。一類是對資源有嚴格限制的,同線性規劃的處理相同,用嚴格的等式或者不等式約束來處理,稱此約束為剛性約束(hardconstraint)。b表示的是剛性約束的資源向量。s_con_num/1..4/:g,dplus,dminus;!另一類約束是可以不嚴格限制的,連同原線性規劃的目標,構成柔性約束(softconstraint)。g表示的是柔性約束的資源向量,dplus,dminus是偏差變量。在目標規劃中,用偏差變量(deviationalvariables)來表示實際值與目標值之間的差異,dplus為超出目標的差值,稱為正偏差變量,dminus為未達到目標的差值,稱為負偏差變量。h_cons(h_con_num,variable):A;!剛性約束的價值向量。s_cons(s_con_num,variable):c;!柔性約束的價值向量。obj(level,s_con_num):wplus,wminus;!柔性約束在不同優先級下的權重。endsetsdata:!數據輸入部分(從“data:”開始,到“enddata”結束):作用在于對集合的屬性(數組)輸入必要的常數數據。p=???;!常數列表中的數據之間可以用“,”或者“空格”或者“回車”分開。如果想在運行時才對參數賦值,可以在數據段使用輸入語句,但這僅用于對單個變量賦值,而不能用于屬性變量(數值)。輸入語句格式為“變量名=?;”。goal=??0;b=12;g=150001615;a=22;c=2003002-14005;!LINGO中的數據是按列賦值的,而不是按行賦值的。wplus=000001000031;wminus=100001000030;enddatamin=sum(level:p*z);!目標函數(“min=”后面所接的表達式)是用求和函數“sum(集合下標:關于集合屬性的表達式)”的方式定義的。這個函數的功能是對語句中冒號“:”后面的表達式,按照“:”前面的集合指定的下標(元素)進行求和。這里“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)));!約束是用循環函數“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)*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元素的個數。End3、下面開始用LINGO中的圖標或者Solve命令編譯模型,當程序運行時,會出現一個對話框,如圖2.1。在作第一級目標計算時,p(1),p(2),p(3)分別輸入1,0,0,goal(1)和goal(2)輸入兩個較大的值(例如100000),表明這兩項約束不起作用。運行狀態窗口如圖2.2,相應信息含義見實驗一表1.1。圖2.1LINGO的實時參數窗口圖2.2:LINGO運行狀態窗口計算結果如下: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第一級的最優偏差為0,進行第二級計算。在第二級目標計算時,p(1),p(2),p(3)分別輸入0,1,0。由于第一級的偏差為0,因此goal(1)的輸入值為0,goal(2)輸入一個較大的值(例如100000)。計算結果如下: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第二級的最優偏差為0,進行第三級計算。在第三級目標計算時,p(1),p(2),p(3)分別輸入0,0,1。由于第一級、第二級的偏差均為0,因此goal(1)、goal(2)的輸入值也均是0。計算結果如下: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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論