




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、用 LINDO、LINGO 和 WHATS BEST!解運籌學問題優化模型介紹實際問題中的優化模型z=f(x), x=(x1,.,xn)TMaxs.t.g i(x)0,i=1,2,.,m x1,.,xn0其中 x決策變量, f(x)目標函數,gi(x) 0約束條件數學規劃分類:線性規劃(LP)二次規劃(QP)非線性規劃(NLP)連續規劃整數規劃(IP):0-1 整數規劃、一般整數規劃、純整數規劃(PIP)、混合整數規劃(MIP)LINDO 公司產品簡要介紹芝加哥(Chicago)大學的 Linus Schrage 教授于1980 年前后開發, 后來成立 LINDO 系統公司(LINDO Sys
2、tems Inc.),:htLINDO: LinearLINGO: Lineareractive and Discrete Optimizereractive General Optimizer(V6.1)(V8.0)(V2.0)(V7.0)LINDO API: LINDO Application ProgrammingerfaceWhats Best!:(SpreadSheet e.g. EXCEL)演示(試用)版、學生版、高級版、超級版、工業版、擴展版 (求解問題規模和選件不同)LINDO 和 LINGO能求解的優化模型LINDO:線性規劃(LP)、二次規劃(QP)LINGO:線性規劃(L
3、P)、二次規劃(QP)、非線性規劃(NLP)建模時需要注意的幾個問題1、盡量使用實數優化,減少整數約束和整數變量2、盡量使用光滑優化,減少非光滑約束的個數如:盡量少使用絕對值、符號函數、多個變量求最大/最小值、四舍五入、取整函數等3、盡量使用線性模型,減少非線性約束和非線性變量的個數(如 x/y 5 改為 x5y)4、合理設定變量上下界,盡可能給出變量初始值5、模型中使用的參數數量級要適當(如小于 103)LINDO 使用簡介例加工奶制品的生產計劃1 桶牛奶( 經過 12 小時) 產生 3 公斤奶制品A ,可獲利 24 元/公斤或1 桶牛奶( 經過 8 小時) 產生 4 公斤奶制品 B ,可獲
4、利 16 元/公斤某天約束:50 桶牛奶 、時間 480 小時 、至多加工 100 公斤 A如何制定生產計劃,使這一天獲利最大?一些小問題如下:問 1、35 元可買到 1 桶牛奶,買嗎?若買,這一天最多買多少?問 2、可聘用臨時工人,付出的工資最多是每小時幾元?問 3、奶制品 A 的獲利增加到 30 元/公斤,是否應改變生產計劃?解:決策變量 用 x 桶牛奶生產 A用 y 桶牛奶生產 B目標函數約束條件Max z=72 x + 64 yx + y 50(原料供應 )12 x+ 8 y 480(勞動時間 )(加工能力,產量約束3 x 100)x, y0(非負約束 )在 LINDO 輸入窗中輸入如
5、下代碼:max72 x+64 yst2) x+y503) 12x+8y4804) 3x3408,20,30=18,33)時間加 1, 利潤增 2能力增減不影響利潤35 元可買到 1 桶牛奶,要買嗎?35 72 x+8y64end250.00000010.0000006.666667原料最多增加 103480.00000053.33333280.000000時間最多增加 534100.000000INFINITY40.00000035 元可買到 1 桶牛奶,每天最多買多少?最多買 10 桶?(多于 10 桶意味著基要發生改變,亦即生產計劃要發生較大變化?。┤粼诖a行“end”后定義整型變量或 0
6、/1 型變量,則可求解整數規劃問題了。定義形式為:0/1 型整型gin gin 使用 LINDO 的一些注意事項1.“”(或“=”(或“=”)功能相同2.變量與系數間可有空格(甚至回車), 但無運算符3.變量名以字母開頭,過 8 個字符4.變量名不區分大小寫(包括 LINDO 中的關鍵字)5.目標函數所在行是第一行,第二行起為約束條件6.行號(行名)自動產生或人為定義。行名以“)”結束7.行中注有“!”符號的后面部分為注釋。如:!Its Comment.8.在模型的任何地方都可以用“TITLE” 對模型命名(最多 72 個字符),如:TITLE This Mis myExle9.變量不能出現在
7、一個約束條件的右端10.表達式中不接受括號“( )”和逗號“,”等任何符號,例: 400(X1+X2)需寫為 400X1+400X211.表達式應化簡,如 2X1+3X2- 4X1 應寫成 -2X1+3X212.缺省假定所有變量非負;可在模型的“END”語句后用“FREE name”將變量 name 的非負假定取消13.可在 “END”后用“SUB” 或“SLB” 設定變量上下界例如: “sub x1 10”的作用等價于“x1=10”但用“SUB”和“SLB”表示的上下界約束不計入模型的約束,也不能給出其松緊判斷和敏感性分析。14. “END”后對 0-1 變量說明:n 或name15. “E
8、ND”后對整數變量說明:GIN n或 GIN name簡介LINGOLINGO 模型的優點包含了 LINDO 的全部功能提供了靈活的編程語言(矩陣)LINGO 模型的目標與約束段:4 個段集合段(SETSENDSETS)數據段(DATAENDDATA)初始段(INIT閱讀如下代碼:代碼 1:ENDINIT)m:!可省略;max=2*x1+3*x2; 4*x1+3*x2=10;3*x1+5*x2=12;end !可省略;代碼 2:msets:xx/1.1/:x,y; !集合名稱為xx; endsets max=sum(xx:2*x+3*y); for(xx(i):4*x(i)+3*y(i)=10
9、);for(xx(i):3*x(i)+5*y(i)=12);end代碼 3:msets:xx/1.2/ :x,c,d,e ; endsets max=sum(xx:c*x);sum(xx:d*x)=10; sum(xx:e*x)=12;data:c=2 3;d=4 3;e=3 5;enddata end代碼 4:msets:xx/1.2/:x; endsetsmax=2*x(1)+3*x(2); 4*x(1)+3*x(2)=10;3*x(1)+5*x(2)= REQUIRED( J); END優化問題是:郵局一周中每天需要不同數目的雇員,設周一至少 20 人,周二至少 16人,周日至少 12
10、人,又規定應聘者需連續工REQUIRED,START;作 5郵局每天聘多少雇員才能既滿足需求,又使聘用總人數最少。五個基本的組成部分:變量定義;數據輸入;目標函數;約束;變量取值范圍。常見函數:集合定義:setname/member list(or 1.n)/:attribute,attribute,etc.setname(set1,set2,etc.): attribute,attribute,etc.元素列表法派生集合稠密集合集合基本集合直接列舉法隱式列舉法min =s1+s2+s3+s4+s5+s6+s7; s1+s4+s5+s6+s7=20; !周 1 雇員數; s1+s2+s5+s6
11、+s7=16; !周 2 雇員數; s1+s2+s3+s6+s7=13; !周 3 雇員數; s1+s2+s3+s4+s7=16; !周 4 雇員數; s1+s2+s3+s4+s5=19; !周 5 雇員數; s2+s3+s4+s5+s6=14; !周 6 雇員數; s3+s4+s5+s6+s7=12; !周 7 雇員數;e.gSETS:CITIES /A1,A2,A3,B1,B2/;ROADS(CITIES, CITIES)/ A1,B1 A1,B2A2,B1A3,B2/:D; ENDSETSSETS:STUDENTS /S1.S8/;PAIRS( STUDENTS, STUDENTS) |
12、 &2 #GT# &1: BENEFIT, MATCH; ENDSETS集合元素的隱式列舉集合函數:set_operator(set_name|condition:expresset_operator:集合函數名 set_name:數據集合名)expres:表達式|condition:條件#AND#(與),#OR#(或),#NOT#(非)#EQ#(等于),#NE#(不等于),#GT#(大于),#GE#(大于等于),#LT#(小于),#LE#(小于等于)Max(set_name:expres Min(set_name:expres Sum(set_name:expresFor(set_name:
13、constra) 返回集合上的表達式的最大值) 返回集合上的表達式的最小值) 返回集合上的表達式的和_expres)類型隱式列舉格式示例示例集合的元素數字型1.n1.51, 2, 3, 4, 5字符-數字型stringM.stringNCar101.car208Car101, car102, , car208型dayM.dayNMON.FRIMON, TUE, WED, THU, FRI月份型monthM.monthNOCT.JANOCT, NOV, DEC, JAN年份-月份型monthYearM.monthYeOCT2001.JAN20OCT2001,NOV2001,DEC2001,對集合
14、(set_name)的每個元素獨立地生成約束,約束由約束表達式(constra_expres變量界定函數:BND(L,X,U) 限制 L=X1.1x+y=1 y1.1;x+y=1; y0.7;end例:用 LINGO 解決非線性問題m:max=sin(x); x3.14;initx=2;endinit end值得注意的是:LINGO 8.0 提供了 LINGO.DLL 文件可在 VB 或VC+等集成開發環境中調用。且有示例參考,為同一模型不同數據而得出的不同結果進行比較這一類問題提供了解決方案。WhatsBest!介紹首先安裝WhatsBest!,再打開 MS Excel 可看見多了菜單欄 “WB!”和模型求解上述例子在WhatsBe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 長沙市K郡雙語實驗中學2025年高二化學第二學期期末經典試題含解析
- 重慶西南大學附屬中學2025年數學高二下期末學業質量監測模擬試題含解析
- 云南省瀘水五中2024-2025學年高二下化學期末復習檢測模擬試題含解析
- 特色火鍋店承包經營合同模板
- 產城融合廠房出租居間服務合同
- 車輛轉讓附帶原廠保養及救援服務合同
- 橋梁工程-畢業設計開題報告
- 評選新時代好少年的主要事跡(27篇)
- 2024年河北省政務服務管理辦公室下屬事業單位真題
- 員工語言規范管理制度
- SL631水利水電工程單元工程施工質量驗收標準第1部分:土石方工程
- 2025年湖南出版中南傳媒招聘筆試參考題庫含答案解析
- GB/T 44880-2024因果矩陣
- (高清版)TDT 1075-2023 光伏發電站工程項目用地控制指標
- 新高考理解性默寫之意象關鍵詞類題目60練
- 新生入學報到證明(新生)
- XMT溫度控制儀說明書
- 教學能力比賽國賽一等獎教案設計模板
- 19QAKE質量保證關鍵要素(Quality Assurance Key Elements)稽核手冊
- 人教版英語(一年級起點)1-3年級單詞表【完整版】
- 實驗室生物安全程序文件(共43頁)
評論
0/150
提交評論