版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)學(xué)建模講座(數(shù)學(xué)建模講座(2004年年7月月8月月 江西)江西)優(yōu)化模型與優(yōu)化模型與LINDO/LINGO優(yōu)化軟件優(yōu)化軟件謝金星謝金星清華大學(xué)數(shù)學(xué)科學(xué)系清華大學(xué)數(shù)學(xué)科學(xué)系 Tel:mail: http:/ 優(yōu)化模型簡介優(yōu)化模型簡介 LINDO公司的主要軟件產(chǎn)品及功能簡介公司的主要軟件產(chǎn)品及功能簡介 LINDO軟件的使用簡介軟件的使用簡介 LINGO軟件的使用簡介軟件的使用簡介 建模與求解實例(結(jié)合軟件使用)建模與求解實例(結(jié)合軟件使用)優(yōu)化模型優(yōu)化模型 實際問題中實際問題中的優(yōu)化模型的優(yōu)化模型mixgtsxxxxfzMaxMiniTn, 2 , 1, 0)(. .
2、),(),()(1或x決策變量決策變量f(x)目標(biāo)函數(shù)目標(biāo)函數(shù)gi(x) 0約束條件約束條件數(shù)學(xué)規(guī)劃數(shù)學(xué)規(guī)劃線性規(guī)劃線性規(guī)劃(LP)二次規(guī)劃二次規(guī)劃(QP)非線性規(guī)劃非線性規(guī)劃(NLP)純整數(shù)規(guī)劃純整數(shù)規(guī)劃(PIP)混合整數(shù)規(guī)劃混合整數(shù)規(guī)劃(MIP)整數(shù)規(guī)劃整數(shù)規(guī)劃(IP)0-1整數(shù)規(guī)劃整數(shù)規(guī)劃一般整數(shù)規(guī)劃一般整數(shù)規(guī)劃連續(xù)規(guī)劃連續(xù)規(guī)劃LINDO LINDO 公司軟件產(chǎn)品簡要介紹公司軟件產(chǎn)品簡要介紹 美國芝加哥美國芝加哥(Chicago)大學(xué)的大學(xué)的Linus Schrage教授于教授于1980年前后開發(fā)年前后開發(fā), 后來成立后來成立 LINDO系統(tǒng)公司(系統(tǒng)公司(LINDO Systems I
3、nc.),), 網(wǎng)址:網(wǎng)址:http:/ LINDO: Linear INteractive and Discrete Optimizer (V6.1)LINGO: Linear INteractive General Optimizer (V8.0)LINDO API: LINDO Application Programming Interface (V2.0)Whats Best!: (SpreadSheet e.g. EXCEL) (V7.0)演示演示(試用試用)版、學(xué)生版、高級版、超級版、工業(yè)版、版、學(xué)生版、高級版、超級版、工業(yè)版、擴展版擴展版 (求解(求解問題規(guī)模問題規(guī)模和和選件選件
4、不同)不同)LINDOLINDO和和LINGOLINGO軟件能求解的優(yōu)化模型軟件能求解的優(yōu)化模型 LINGO LINDO優(yōu)化模型優(yōu)化模型線性規(guī)劃線性規(guī)劃(LP)非線性規(guī)劃非線性規(guī)劃(NLP)二次規(guī)劃二次規(guī)劃(QP)連續(xù)優(yōu)化連續(xù)優(yōu)化整數(shù)規(guī)劃整數(shù)規(guī)劃(IP) LP QP NLP IP 全局優(yōu)化全局優(yōu)化(選選) ILP IQP INLP LINDO/LINGO軟件的求解過程 LINDO/LINGO預(yù)處理程序預(yù)處理程序線性優(yōu)化求解程序線性優(yōu)化求解程序非線性優(yōu)化求解程序非線性優(yōu)化求解程序分枝定界管理程序分枝定界管理程序1. 確定常數(shù)確定常數(shù)2. 識別類型識別類型1. 單純形算法單純形算法2. 內(nèi)點算法內(nèi)
5、點算法(選選)1、順序線性規(guī)劃法、順序線性規(guī)劃法(SLP) 2、廣義既約梯度法、廣義既約梯度法(GRG) (選選) 3、多點搜索、多點搜索(Multistart) (選選) 建模時需要注意的幾個基本問題建模時需要注意的幾個基本問題 1、盡量使用實數(shù)優(yōu)化,減少整數(shù)約束和整數(shù)變量盡量使用實數(shù)優(yōu)化,減少整數(shù)約束和整數(shù)變量2、盡量使用光滑優(yōu)化,減少非光滑約束的個數(shù)盡量使用光滑優(yōu)化,減少非光滑約束的個數(shù) 如:盡量少使用絕對值、符號函數(shù)、多個變量求如:盡量少使用絕對值、符號函數(shù)、多個變量求最大最大/最小值、四舍五入、取整函數(shù)等最小值、四舍五入、取整函數(shù)等3、盡量使用線性模型,減少非線性約束和非線性變盡量使
6、用線性模型,減少非線性約束和非線性變量的個數(shù)量的個數(shù) (如(如x/y 5 改為改為x5y)4、合理設(shè)定變量上下界,盡可能給出變量初始值合理設(shè)定變量上下界,盡可能給出變量初始值 5、模型中使用的參數(shù)數(shù)量級要適當(dāng)模型中使用的參數(shù)數(shù)量級要適當(dāng) (如小于如小于103)需要掌握的幾個重要方面需要掌握的幾個重要方面1、LINDO: 正確閱讀求解報告(尤其要掌握敏感性分析)正確閱讀求解報告(尤其要掌握敏感性分析)2、LINGO: 掌握集合掌握集合(SETS)的應(yīng)用;的應(yīng)用;正確閱讀求解報告;正確閱讀求解報告;正確理解求解狀態(tài)窗口;正確理解求解狀態(tài)窗口; 學(xué)會設(shè)置基本的求解選項學(xué)會設(shè)置基本的求解選項(OPTI
7、ONS) ; 掌握與外部文件的基本接口方法掌握與外部文件的基本接口方法例例1 加工奶制品的生產(chǎn)計劃加工奶制品的生產(chǎn)計劃1桶牛奶 3公斤A1 12小時 8小時 4公斤A2 或獲利24元/公斤 獲利16元/公斤 50桶牛奶桶牛奶 時間時間480小時小時 至多加工至多加工100公斤公斤A1 制訂生產(chǎn)計劃,使每天獲利最大制訂生產(chǎn)計劃,使每天獲利最大 35元可買到元可買到1桶牛奶,買嗎?若買,每天最多買多少桶牛奶,買嗎?若買,每天最多買多少? 可聘用臨時工人,付出的工資最多是每小時幾元可聘用臨時工人,付出的工資最多是每小時幾元? A1的獲利增加到的獲利增加到 30元元/公斤,應(yīng)否改變生產(chǎn)計劃?公斤,應(yīng)否
8、改變生產(chǎn)計劃? 每天:每天:1桶牛奶 3公斤A1 12小時 8小時 4公斤A2 或獲利24元/公斤 獲利16元/公斤 x1桶牛奶生產(chǎn)桶牛奶生產(chǎn)A1 x2桶牛奶生產(chǎn)桶牛奶生產(chǎn)A2 獲利獲利 243x1 獲利獲利 164 x2 原料供應(yīng)原料供應(yīng) 5021 xx勞動時間勞動時間 48081221 xx加工能力加工能力 10031x決策變量決策變量 目標(biāo)函數(shù)目標(biāo)函數(shù) 216472xxzMax每天獲利每天獲利約束條件約束條件非負(fù)約束非負(fù)約束 0,21xx線性線性規(guī)劃規(guī)劃模型模型(LP)時間時間480小時小時 至多加工至多加工100公斤公斤A1 50桶牛奶桶牛奶 每天每天模型求解模型求解 max 72x1
9、+64x2st2)x1+x2503)12x1+8x24804)3x1100end OBJECTIVE FUNCTION VALUE 1) 3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 48.000000 3) 0.000000 2.000000 4) 40.000000 0.000000 NO. ITERATIONS= 2DO RANGE (SENSITIVITY) ANALYSIS? No
10、20桶牛奶生產(chǎn)桶牛奶生產(chǎn)A1, 30桶生產(chǎn)桶生產(chǎn)A2,利潤,利潤3360元。元。 模型求解模型求解 reduced cost值表值表示當(dāng)該非基變量示當(dāng)該非基變量增加一個單位時增加一個單位時(其他非基變量(其他非基變量保持不變)目標(biāo)保持不變)目標(biāo)函數(shù)減少的量函數(shù)減少的量(對對max型問題型問題) OBJECTIVE FUNCTION VALUE 1) 3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.00000
11、0 48.000000 3) 0.000000 2.000000 4) 40.000000 0.000000 NO. ITERATIONS= 2也可理解為:也可理解為:為了使該非基變?yōu)榱耸乖摲腔兞孔兂苫兞浚孔兂苫兞?,目?biāo)函數(shù)中對應(yīng)目標(biāo)函數(shù)中對應(yīng)系數(shù)應(yīng)增加的量系數(shù)應(yīng)增加的量 OBJECTIVE FUNCTION VALUE 1) 3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 48.00
12、0000 3) 0.000000 2.000000 4) 40.000000 0.000000原料無剩余原料無剩余時間無剩余時間無剩余加工能力剩余加工能力剩余40max 72x1+64x2st2)x1+x2503)12x1+8x24804)3x1100end三三種種資資源源“資源資源” 剩余為零的約束為緊約束(有效約束)剩余為零的約束為緊約束(有效約束) 結(jié)果解釋結(jié)果解釋 OBJECTIVE FUNCTION VALUE 1) 3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW
13、 SLACK OR SURPLUS DUAL PRICES 2) 0.000000 48.000000 3) 0.000000 2.000000 4) 40.000000 0.000000結(jié)果解釋結(jié)果解釋 最優(yōu)解下最優(yōu)解下“資源資源”增增加加1單位時單位時“效益效益”的的增量增量 原料增原料增1單位單位, 利潤增利潤增48 時間加時間加1單位單位, 利潤增利潤增2 能力增減不影響利潤能力增減不影響利潤影子價格影子價格 35元可買到元可買到1桶牛奶,要買嗎?桶牛奶,要買嗎? 35 ”(或(或“=”(或(或“=”)功能相同)功能相同變量與系數(shù)間可有空格變量與系數(shù)間可有空格(甚至回車甚至回車), 但
14、無運算符但無運算符變量名以字母開頭,不能超過變量名以字母開頭,不能超過8個字符個字符變量名不區(qū)分大小寫(包括變量名不區(qū)分大小寫(包括LINDO中的關(guān)鍵字)中的關(guān)鍵字)目標(biāo)函數(shù)所在行是第一行,第二行起為約束條件目標(biāo)函數(shù)所在行是第一行,第二行起為約束條件行號行號(行名行名)自動產(chǎn)生或人為定義。行名以自動產(chǎn)生或人為定義。行名以“)”結(jié)結(jié)束束行中注有行中注有“!”符號的后面部分為注釋。如符號的后面部分為注釋。如: ! Its Comment.在模型的任何地方都可以用在模型的任何地方都可以用“TITLE” 對模型命名對模型命名(最多(最多72個字符),如:個字符),如: TITLE This Model
15、 is only an Example變量不能出現(xiàn)在一個約束條件的右端變量不能出現(xiàn)在一個約束條件的右端表達式中不接受括號表達式中不接受括號“( )”和逗號和逗號“,”等任何符號等任何符號, 例例: 400(X1+X2)需寫為需寫為400X1+400X2表達式應(yīng)化簡,如表達式應(yīng)化簡,如2X1+3X2- 4X1應(yīng)寫成應(yīng)寫成 -2X1+3X2缺省假定所有變量非負(fù);可在模型的缺省假定所有變量非負(fù);可在模型的“END”語句語句后用后用“FREE name”將變量將變量name的非負(fù)假定取消的非負(fù)假定取消可在可在 “END”后用后用“SUB” 或或“SLB” 設(shè)定變量上設(shè)定變量上下界下界 例如:例如: “
16、sub x1 10”的作用等價于的作用等價于“x1=10” 但用但用“SUB”和和“SLB”表示的上下界約束不計入模表示的上下界約束不計入模型的約束,也不能給出其松緊判斷和敏感性分析。型的約束,也不能給出其松緊判斷和敏感性分析。14. “END”后對后對0-1變量說明:變量說明:INT n 或或 INT name15. “END”后對整數(shù)變量說明:后對整數(shù)變量說明:GIN n 或或 GIN name使用使用LINDOLINDO的一些注意事項的一些注意事項二次規(guī)劃規(guī)劃(QP)問題 LINDO可求解二次規(guī)劃可求解二次規(guī)劃(QP)問題,但輸入方式較問題,但輸入方式較復(fù)雜,因為在復(fù)雜,因為在LINDO
17、中不許出現(xiàn)非線性表達式中不許出現(xiàn)非線性表達式 需要為每一個實際約束增加一個對偶變量需要為每一個實際約束增加一個對偶變量(LAGRANGE乘子),在實際約束前增加有關(guān)乘子),在實際約束前增加有關(guān)變量的一階最優(yōu)條件,轉(zhuǎn)化為互補問題變量的一階最優(yōu)條件,轉(zhuǎn)化為互補問題 “END”后面使用后面使用QCP命令指明實際約束開始的命令指明實際約束開始的行號,然后才能求解行號,然后才能求解 建議總是用建議總是用LINGO解解QP注意注意對對QP和和IP: 敏感性分析意義不大敏感性分析意義不大狀態(tài)窗口狀態(tài)窗口(LINDO Solver Status) 當(dāng)前狀態(tài):已達最優(yōu)解當(dāng)前狀態(tài):已達最優(yōu)解 迭代次數(shù):迭代次數(shù):
18、18次次 約束不滿足的約束不滿足的“量量”(不不是是“約束個數(shù)約束個數(shù)”):0 當(dāng)前的目標(biāo)值:當(dāng)前的目標(biāo)值:94 最好的整數(shù)解:最好的整數(shù)解:94 整數(shù)規(guī)劃的界:整數(shù)規(guī)劃的界:93.5 分枝數(shù):分枝數(shù):1 所用時間:所用時間:0.00秒(太快秒(太快了,還不到了,還不到0.005秒)秒) 刷新本界面的間隔刷新本界面的間隔:1(秒秒)選項設(shè)置選項設(shè)置 Preprocess:預(yù)處理:預(yù)處理(生成割平面生成割平面); Preferred Branch:優(yōu)先的分枝方式:優(yōu)先的分枝方式: “Default”(缺省方式)、(缺省方式)、“Up”(向上取整優(yōu)先)、(向上取整優(yōu)先)、“Down”(向下取整優(yōu)先
19、);(向下取整優(yōu)先); IP Optimality Tol:IP最優(yōu)值允許的誤最優(yōu)值允許的誤差上限(一個百分?jǐn)?shù),如差上限(一個百分?jǐn)?shù),如5%即即0.05);); IP Objective Hurdle:IP目標(biāo)函數(shù)的籬目標(biāo)函數(shù)的籬笆值,即只尋找比這個值更優(yōu)最優(yōu)解笆值,即只尋找比這個值更優(yōu)最優(yōu)解(如當(dāng)知道當(dāng)前模型的某個整數(shù)可行解(如當(dāng)知道當(dāng)前模型的某個整數(shù)可行解時,就可以設(shè)置這個值);時,就可以設(shè)置這個值); IP Var Fixing Tol:固定一個整數(shù)變量:固定一個整數(shù)變量取值所依據(jù)的一個上限(如果一個整數(shù)取值所依據(jù)的一個上限(如果一個整數(shù)變量的判別數(shù)(變量的判別數(shù)(REDUCED COS
20、T)的)的值很大,超過該上限,則以后求解中把值很大,超過該上限,則以后求解中把該整數(shù)變量固定下來)。該整數(shù)變量固定下來)。Nonzero Limit:非零系數(shù)的個數(shù)上限;非零系數(shù)的個數(shù)上限;Iteration Limit:最大迭代步數(shù);最大迭代步數(shù);Initial Contraint Tol:約束的初始誤差上限;約束的初始誤差上限;Final Contraint Tol:約束的最后誤差上限;約束的最后誤差上限;Entering Var Tol:進基變量的進基變量的REDUCED COST的誤差限;的誤差限;Pivot Size Tol:旋轉(zhuǎn)元的誤差限旋轉(zhuǎn)元的誤差限Report/Statisti
21、cs第一行:模型有第一行:模型有5行(約束行(約束4行),行),4個變量,兩個整數(shù)變量(沒有個變量,兩個整數(shù)變量(沒有0-1變量),從第變量),從第4行開始是二次規(guī)劃的實際約束。行開始是二次規(guī)劃的實際約束。第二行:非零系數(shù)第二行:非零系數(shù)19個,約束中非零系數(shù)個,約束中非零系數(shù)12個個(其中其中6個為個為1或或-1),模型密度為模型密度為0.760(密度密度=非零系數(shù)非零系數(shù)/行數(shù)行數(shù)(變量數(shù)變量數(shù)) 。第三行的意思:按絕對值看,系數(shù)最小、最大分別為第三行的意思:按絕對值看,系數(shù)最小、最大分別為0.3和和277。第四行的意思:模型目標(biāo)為極小化;小于等于、等于、大于等于約第四行的意思:模型目標(biāo)為
22、極小化;小于等于、等于、大于等于約束分別有、個;廣義上界約束(束分別有、個;廣義上界約束(GUBS)不超過個;)不超過個;變量上界約束(變量上界約束(VUBS)不少于個。所謂)不少于個。所謂GUBS,是指一組不,是指一組不含有相同變量的約束;所謂含有相同變量的約束;所謂VUBS,是指一個蘊涵變量上界的約,是指一個蘊涵變量上界的約束,如從約束束,如從約束X1+X2-X3=0可以看出,若可以看出,若X3=0,則,則X1=0,X2=0(因為有非負(fù)限制),因此(因為有非負(fù)限制),因此X1+X2-X3=0是一個是一個VUBS約束。約束。第五行的意思:只含個變量的約束個數(shù)第五行的意思:只含個變量的約束個數(shù)
23、=個;冗余的列數(shù)個;冗余的列數(shù)=個個ROWS= 5 VARS= 4 INTEGER VARS= 2( 0 = 0/1) QCP= 4NONZEROS= 19 CONSTRAINT NONZ= 12( 6 = +-1) DENSITY=0.760SMALLEST AND LARGEST ELEMENTS IN ABSOLUTE VALUE= 0.300000 277.000OBJ=MIN, NO. : 2 0 2, GUBS = 0SINGLE COLS= 0 REDUNDANT COLS= 0LINDOLINDO行命令、命令腳本文件行命令、命令腳本文件批處理:可以采用命令腳本(行命令序列)批處
24、理:可以采用命令腳本(行命令序列)WINDOWS環(huán)境下行命令的意義不大環(huán)境下行命令的意義不大Example 演示演示Bat01.txt用用FILE / TAKE COMMANDS (F11) 命令調(diào)入命令調(diào)入必須是以必須是以LINDO PACKED形式形式(壓縮)保存的文件(壓縮)保存的文件FILE / SAVE命令命令SAVE行命令行命令LINGO軟件簡介軟件簡介目標(biāo)與約束段目標(biāo)與約束段 集合段(集合段(SETS ENDSETS) 數(shù)據(jù)段(數(shù)據(jù)段(DATA ENDDATA)初始段(初始段(INIT ENDINIT)LINGO模型的構(gòu)成:模型的構(gòu)成:4個段個段LINGO模型的優(yōu)點模型的優(yōu)點包含
25、了包含了LINDO的全部功能的全部功能提供了靈活的編程語言(矩陣生成器)提供了靈活的編程語言(矩陣生成器)LINGOLINGO模型模型 例:選址問題例:選址問題某公司有某公司有6個建筑工地,位置坐標(biāo)為個建筑工地,位置坐標(biāo)為(ai, bi) (單位:公里單位:公里),水泥日用量水泥日用量di (單位:噸)單位:噸)ia1.258.750.55.7537.25b1.250.754.7556.57.75d35476111)現(xiàn)有 2 料場,位于 A (5, 1), B (2, 7),記(xj,yj),j=1,2, 日儲量 ej各有 20 噸。假設(shè):假設(shè):料場料場和工地之間和工地之間有直線道路有直線道路
26、目標(biāo):制定每天的供應(yīng)計劃,即從 A, B 兩料場分別向各工地運送多少噸水泥,使總的噸公里數(shù)最小。用例中數(shù)據(jù)計算,最優(yōu)解為i1234561ic(料料場場 A)3507012ic(料料場場 B)00406102 , 1,6,.,1,. .)()(min612121612/122jecidctsbyaxcjijiiijjjiijijij線性規(guī)劃模型線性規(guī)劃模型決策變量:決策變量:ci j (料場料場j到到工地工地i的的運量)運量)12維維選址問題:選址問題:NLPNLP2)改建兩個新料場,需要確定新料場位置)改建兩個新料場,需要確定新料場位置(xj,yj)和和運量運量cij ,在其它條件不變下使總噸
27、公里數(shù)最小。,在其它條件不變下使總噸公里數(shù)最小。2 , 1,6,.,1,. .)()(min612121612/122jecidctsbyaxcjijiiijjjiijijij決策變量:決策變量:ci j,(xj,yj)16維維非線性規(guī)劃模型非線性規(guī)劃模型LINGO模型的構(gòu)成:模型的構(gòu)成:4個段個段集合段(集合段(SETS ENDSETS)數(shù)據(jù)段(數(shù)據(jù)段(DATA ENDDATA)初始段(初始段(INIT ENDINIT) 目標(biāo)與目標(biāo)與約束段約束段 局部最優(yōu):局部最優(yōu):89.8835(噸公里噸公里 ) LP:移到數(shù)據(jù)段:移到數(shù)據(jù)段邊界集合的類型集合的類型 集合集合 派生集合派生集合 基本集合基
28、本集合 稀疏集合稀疏集合 稠密集合稠密集合 元素列表法元素列表法 元素過濾法元素過濾法 直接列舉法直接列舉法 隱式列舉法隱式列舉法setname /member_list/ : attribute_list;setname(parent_set_list) /member_list/ : attribute_list;SETS: CITIES /A1,A2,A3,B1,B2/; ROADS(CITIES, CITIES)/ A1,B1 A1,B2 A2,B1 A3,B2/:D; ENDSETSSETS: STUDENTS /S1.S8/; PAIRS( STUDENTS, STUDENTS)
29、| &2 #GT# &1: BENEFIT, MATCH;ENDSETS集合元素的集合元素的隱式列舉隱式列舉類型類型隱式列舉格式隱式列舉格式示例示例示例集合的元素示例集合的元素數(shù)字型數(shù)字型 1.n1.51, 2, 3, 4, 5字符字符-數(shù)字型數(shù)字型stringM.stringNCar101.car208 Car101, car102, , car208星期型星期型 dayM.dayNMON.FRIMON, TUE, WED, THU, FRI月份型月份型 monthM.monthN OCT.JANOCT, NOV, DEC, JAN年份年份-月份型月份型monthYearM.monthYea
30、rNOCT2001.JAN2002OCT2001, NOV2001, DEC2001, JAN2002運算符的優(yōu)先級運算符的優(yōu)先級 優(yōu)先級優(yōu)先級運算符運算符最高最高#NOT# (負(fù)號)(負(fù)號)* /+ (減法)(減法)#EQ# #NE# #GT# #GE# #LT# #LE# #AND# #OR#最低最低(=)三類運算符:三類運算符: 算術(shù)運算符算術(shù)運算符 邏輯運算符邏輯運算符 關(guān)系運算符關(guān)系運算符集合循環(huán)函數(shù)集合循環(huán)函數(shù)四個集合循環(huán)函數(shù):四個集合循環(huán)函數(shù):FOR、SUM 、 MAX、MINfunction( setname ( set_index_list) | condition : ex
31、pression_list);objective MAX = SUM( PAIRS( I, J): BENEFIT( I, J) * MATCH( I, J);FOR(STUDENTS( I): constraints SUM( PAIRS( J, K) | J #EQ# I #OR# K #EQ# I: MATCH( J, K) =1);FOR(PAIRS( I, J): BIN( MATCH( I, J);MAXB=MAX(PAIRS( I, J): BENEFIT( I, J);MINB=MIN(PAIRS( I, J): BENEFIT( I, J);Example:PAIRSJIJI
32、MATCHJIBENEFIT),(),(*),(1),(),(IKorIJPAIRSKJKJMATCH狀態(tài)窗口狀態(tài)窗口Solver Type:B-and-BGlobal MultistartModel Class: LP, QP,ILP, IQP,PILP, PIQP,NLP,INLP,PINLP State:Global OptimumLocal OptimumFeasibleInfeasibleUnboundedInterruptedUndetermined7 7個選項卡個選項卡( (可設(shè)置可設(shè)置80-9080-90個控制參數(shù)個控制參數(shù)) ) 程序與數(shù)據(jù)分離程序與數(shù)據(jù)分離文文本本文文件件使
33、用外部數(shù)據(jù)文件使用外部數(shù)據(jù)文件 Cut (or Copy) Paste 方法方法 FILE 輸入數(shù)據(jù)、輸入數(shù)據(jù)、TEXT輸出數(shù)據(jù)(文本文件)輸出數(shù)據(jù)(文本文件) OLE函數(shù)與電子表格軟件(如函數(shù)與電子表格軟件(如EXCEL)連接)連接 ODBC函數(shù)與數(shù)據(jù)庫連接函數(shù)與數(shù)據(jù)庫連接 LINGO命令腳本文件命令腳本文件 LG4 (LONGO模型文件)模型文件) LNG (LONGO模型文件)模型文件) LTF (LONGO腳本文件)腳本文件) LDT (LONGO數(shù)據(jù)文件)數(shù)據(jù)文件) LRP (LONGO報告文件)報告文件)常用文件后綴常用文件后綴FILEFILE和和TEXTTEXT:文本文件輸入輸出
34、:文本文件輸入輸出MODEL:SETS: MYSET / FILE(myfile.txt) / : FILE(myfile.txt);ENDSETSMIN = SUM( MYSET( I): SHIP( I) * COST( I); FOR( MYSET( I): CON1 SHIP( I) NEED( I); CON2 SHIP( I) NEED( I); CON2 SHIP( I) SUPPLY( I);DATA: MYSET =OLE(D:JXIEBJ2004MCMmydata.xls,CITIES); COST,NEED,SUPPLY =OLE(mydata.xls); OLE(myd
35、ata.xls,SOLUTION)=SHIP; ENDDATAEND mydata.xls文件中必須有下列名稱(及數(shù)據(jù)): CITIES, COST,NEED,SUPPLY,SOLUTION 在在EXCEL中還可以通過中還可以通過“宏宏”自動調(diào)用自動調(diào)用LINGO(略略) 也可以將也可以將EXCEL表格嵌入到表格嵌入到LINGO模型中模型中(略略)演示演示 MydataExample.lg4ODBC ODBC :與數(shù)據(jù)庫連接:與數(shù)據(jù)庫連接輸入基本集合元素:輸入基本集合元素:setname/ODBC(datasource , tablename , columnname)/輸入派生集合元素:輸入
36、派生集合元素:setname/ODBC(source,table , column1, column2)/目前支持下列目前支持下列DBMS: (如為其他數(shù)據(jù)庫,則需自行安裝驅(qū)動如為其他數(shù)據(jù)庫,則需自行安裝驅(qū)動)ACCESS, DBASE,EXCEL,F(xiàn)OXPRO,ORACLE,PARADOX,SQL SERVER, TEXE FILES使用數(shù)據(jù)庫之前,數(shù)據(jù)源需要在使用數(shù)據(jù)庫之前,數(shù)據(jù)源需要在ODBC管理器注冊管理器注冊輸入數(shù)據(jù):輸入數(shù)據(jù):Attr_list=ODBC(source,table , column1, column2)輸出數(shù)據(jù):輸出數(shù)據(jù):ODBC(source,table , co
37、lumn1, column2)= Attr_list具體例子略具體例子略建模實例與求解建模實例與求解最短路問題最短路問題下料問題下料問題露天礦的運輸問題露天礦的運輸問題鋼管運輸問題鋼管運輸問題最短路問題最短路問題求各點到求各點到T的最短路的最短路56774968658336C1B1C2B2A1A2A3TS6shortestPath.lg4jijAjiiLcL),(min問題問題1. 如何下料最節(jié)省如何下料最節(jié)省 ? 例例 鋼管下料鋼管下料 問題問題2. 客戶增加需求:客戶增加需求:原料鋼管原料鋼管: :每根每根19米米 4米米50根根 6米米20根根 8米米15根根 客戶需求客戶需求節(jié)省的標(biāo)準(zhǔn)
38、是什么?節(jié)省的標(biāo)準(zhǔn)是什么?由于采用不同切割模式太多,會增加生產(chǎn)和管理成本,由于采用不同切割模式太多,會增加生產(chǎn)和管理成本,規(guī)定切割模式不能超過規(guī)定切割模式不能超過3種。如何下料最節(jié)?。糠N。如何下料最節(jié)省?5米米10根根 按照客戶需要在一根原料鋼管上安排切割的一種組合。按照客戶需要在一根原料鋼管上安排切割的一種組合。 切割模式切割模式余料余料1 1米米 4米米1根根 6米米1根根 8米米1根根 余料余料3米米 4米米1根根 6米米1根根 6米米1根根 合理切割模式合理切割模式的余料應(yīng)小于客戶需要鋼管的最小尺寸的余料應(yīng)小于客戶需要鋼管的最小尺寸余料余料3米米 8米米1根根 8米米1根根 鋼管下料鋼
39、管下料 為滿足客戶需要,按照哪些種合理模式,每種模式為滿足客戶需要,按照哪些種合理模式,每種模式切割多少根原料鋼管,最為節(jié)省?切割多少根原料鋼管,最為節(jié)省?合理切割模式合理切割模式2. 所用原料鋼管總根數(shù)最少所用原料鋼管總根數(shù)最少 模式模式 4米鋼管根數(shù)米鋼管根數(shù)6米鋼管根數(shù)米鋼管根數(shù)8米鋼管根數(shù)米鋼管根數(shù)余料余料(米米)14003231013201341203511116030170023鋼管下料問題鋼管下料問題1 1 兩種兩種標(biāo)準(zhǔn)標(biāo)準(zhǔn)1. 原料鋼管剩余總余量最小原料鋼管剩余總余量最小xi 按第按第i 種模式切割的原料鋼管根數(shù)種模式切割的原料鋼管根數(shù)( (i= =1,2,7) ) 約束約束滿
40、足需求滿足需求 決策變量決策變量 目標(biāo)目標(biāo)1(總余量)(總余量)765432113333xxxxxxxZMin5023454321xxxxx20326542xxxx152753xxx按模式按模式2切割切割12根根, ,按模式按模式5切割切割15根,余料根,余料27米米 模模式式4米米根數(shù)根數(shù)6米米根數(shù)根數(shù)8米米根數(shù)根數(shù)余余料料14003231013201341203511116030170023需需求求502015最優(yōu)解:最優(yōu)解:x2=12, x5=15, 其余為其余為0;最優(yōu)值:最優(yōu)值:27整數(shù)約束:整數(shù)約束: xi 為整數(shù)為整數(shù)當(dāng)余料沒有用處時,當(dāng)余料沒有用處時,通常以總根數(shù)最少為目標(biāo)通常
41、以總根數(shù)最少為目標(biāo) 76543212xxxxxxxZMin目標(biāo)目標(biāo)2(總根數(shù))(總根數(shù))鋼管下料問題鋼管下料問題1 1 約束條約束條件不變件不變 最優(yōu)解:最優(yōu)解:x2=15, x5=5, x7=5, 其余為其余為0;最優(yōu)值:最優(yōu)值:25。5023454321xxxxx20326542xxxx152753xxxxi 為整數(shù)按模式按模式2切割切割15根,根,按模式按模式5切割切割5根,根,按模式按模式7切割切割5根,根,共共25根,余料根,余料35米米 雖余料增加雖余料增加8米,但減少了米,但減少了2根根 與與目標(biāo)目標(biāo)1的結(jié)果的結(jié)果“共切割共切割27根,余料根,余料27米米” 相比相比 鋼管下料問
42、題鋼管下料問題2 2對大規(guī)模問題,用模型的約束條件界定合理模式對大規(guī)模問題,用模型的約束條件界定合理模式增加一種需求:增加一種需求:5米米10根;切割根;切割模式不超過模式不超過3種。種?,F(xiàn)有現(xiàn)有4種種需求:需求:4米米50根,根,5米米10根,根,6米米20根,根,8米米15根,用枚舉法確定合理切割模式,過于復(fù)雜。根,用枚舉法確定合理切割模式,過于復(fù)雜。決策變量決策變量 xi 按第按第i 種模式切割的原料鋼管根數(shù)種模式切割的原料鋼管根數(shù)( (i= =1,2,3) ) r1i, r2i, r3i, r4i 第第i 種切割模式下,每根原料鋼管種切割模式下,每根原料鋼管生產(chǎn)生產(chǎn)4米、米、5米、米、
43、6米和米和8米長的鋼管的數(shù)量米長的鋼管的數(shù)量滿足需求滿足需求50313212111xrxrxr10323222121xrxrxr20333232131xrxrxrxrxr模式合理:每根模式合理:每根余料不超過余料不超過3米米1986541641312111rrrr1986541642322212rrrr1986541643332313rrrr整數(shù)非線性規(guī)劃模型整數(shù)非線性規(guī)劃模型鋼管下料問題鋼管下料問題2 2目標(biāo)函數(shù)(目標(biāo)函數(shù)(總根數(shù))總根數(shù))321xxxMin約束約束條件條件整數(shù)約束:整數(shù)約束: xi ,r1i, r2i, r3i, r4i ( (i= =1,2,3)
44、 )為整數(shù)為整數(shù)增加約束,縮小可行域,便于求解增加約束,縮小可行域,便于求解321xxx原料鋼管總根數(shù)下界:原料鋼管總根數(shù)下界: 2619158206105504特殊生產(chǎn)計劃:對每根原料鋼管特殊生產(chǎn)計劃:對每根原料鋼管模式模式1:切割成:切割成4根根4米鋼管,需米鋼管,需13根;根;模式模式2:切割成:切割成1根根5米和米和2根根6米鋼管,需米鋼管,需10根;根;模式模式3:切割成:切割成2根根8米鋼管,需米鋼管,需8根。根。原料鋼管總根數(shù)上界:原料鋼管總根數(shù)上界:31 3126321xxx模式排列順序可任定模式排列順序可任定 鋼管下料問題鋼管下料問題2 2需求:需求:4米米50根,根,5米米
45、10根,根,6米米20根,根,8米米15根根每根原料鋼管長每根原料鋼管長19米米LINGOLINGO求解整數(shù)非線性規(guī)劃模型求解整數(shù)非線性規(guī)劃模型Local optimal solution found at iteration: 12211 Objective value: 28.00000Variable Value Reduced CostX1 10.00000 0.000000X2 10.00000 2.000000X3 8.000000 1.000000R11 3.000000 0.000000R12 2.000000 0.000000R13 0.000000 0.000000R21
46、0.000000 0.000000R22 1.000000 0.000000 R23 0.000000 0.000000 R31 1.000000 0.000000 R32 1.000000 0.000000 R33 0.000000 0.000000 R41 0.000000 0.000000 R42 0.000000 0.000000 R43 2.000000 0.000000 模式模式1:每根原料鋼管切割成:每根原料鋼管切割成3根根4米和米和1根根6米鋼管,共米鋼管,共10根;根;模式模式2:每根原料鋼管切割成:每根原料鋼管切割成2根根4米、米、1根根5米和米和1根根6米鋼管,米鋼管,共
47、共10根;根;模式模式3:每根原料鋼管切割成:每根原料鋼管切割成2根根8米鋼管,共米鋼管,共8根。根。原料鋼管總根數(shù)為原料鋼管總根數(shù)為28根。根。演示演示cut02a.lg4; cut02b.lg4露天礦里鏟位已分成礦石和巖石露天礦里鏟位已分成礦石和巖石: 平均鐵含量不低于平均鐵含量不低于25%的為礦石,否則為巖石。每個鏟位的礦石、巖石數(shù)的為礦石,否則為巖石。每個鏟位的礦石、巖石數(shù)量,以及礦石的平均鐵含量(稱為品位)都是已知的。量,以及礦石的平均鐵含量(稱為品位)都是已知的。每個鏟位至多安置一臺電鏟,電鏟平均裝車時間每個鏟位至多安置一臺電鏟,電鏟平均裝車時間5分鐘分鐘卡車在等待時所耗費的能量也
48、是相當(dāng)可觀的,原則上卡車在等待時所耗費的能量也是相當(dāng)可觀的,原則上在安排時在安排時不應(yīng)發(fā)生卡車等待不應(yīng)發(fā)生卡車等待的情況。的情況。 露天礦生產(chǎn)的車輛安排露天礦生產(chǎn)的車輛安排(CUMCM-2003B) 礦石卸點需要的鐵含量要求都為礦石卸點需要的鐵含量要求都為29.5% 1%(品位限品位限制),搭配量在一個班次(制),搭配量在一個班次(8小時)內(nèi)滿足品位限制即小時)內(nèi)滿足品位限制即可。卸點在一個班次內(nèi)不變。卡車載重量為可。卸點在一個班次內(nèi)不變??ㄜ囕d重量為154噸,平噸,平均時速均時速28km,平均卸車時間為平均卸車時間為3分鐘。分鐘。問題:出動幾臺電鏟,分別在哪些鏟位上;出動幾輛問題:出動幾臺電
49、鏟,分別在哪些鏟位上;出動幾輛卡車,分別在哪些路線上各運輸多少次卡車,分別在哪些路線上各運輸多少次 ?平面示意圖問題數(shù)據(jù)問題數(shù)據(jù) 距離鏟位1鏟位2鏟位3鏟位4鏟位5鏟位6鏟位7鏟位8鏟位9鏟位10礦石漏5.202.952.742.461.900.641.27倒裝1.900.991.901.131.272.251.482.043.093.51巖場5.895.615.614.563.513.652.462.461.060.57巖石漏0.641.761.271.832.742.604.213.725.056.10倒裝4.423.863.710.781.
50、621.270.50鏟位1鏟位2鏟位3鏟位4鏟位5鏟位6鏟位7鏟位8鏟位9鏟位10礦石量095105100105110125105130135125巖石量125110135105115135105115135125鐵含量30%28%29%32%31%33%32%31%33%31%問題分析問題分析 與典型的運輸問題明顯有以下不同:與典型的運輸問題明顯有以下不同:這是運輸?shù)V石與巖石兩種物資的問題;這是運輸?shù)V石與巖石兩種物資的問題;屬于產(chǎn)量大于銷量的不平衡運輸問題;屬于產(chǎn)量大于銷量的不平衡運輸問題;為了完成品位約束,礦石要搭配運輸;為了完成品位約束,礦石要搭配運輸;產(chǎn)地、銷地均有單位時間的流量限制;
51、產(chǎn)地、銷地均有單位時間的流量限制;運輸車輛只有一種,每次滿載運輸,運輸車輛只有一種,每次滿載運輸,154噸噸/車次;車次;鏟位數(shù)多于鏟車數(shù)意味著要最優(yōu)的選擇不多于鏟位數(shù)多于鏟車數(shù)意味著要最優(yōu)的選擇不多于7個個產(chǎn)地作為最后結(jié)果中的產(chǎn)地;產(chǎn)地作為最后結(jié)果中的產(chǎn)地;1. 最后求出各條路線上的派出車輛數(shù)及安排。最后求出各條路線上的派出車輛數(shù)及安排。近似處理:近似處理:先求出產(chǎn)位、卸點每條線路上的運輸量先求出產(chǎn)位、卸點每條線路上的運輸量(MIP模型模型)然后求出各條路線上的派出車輛數(shù)及安排然后求出各條路線上的派出車輛數(shù)及安排模型假設(shè)模型假設(shè) 卡車在一個班次中不應(yīng)發(fā)生等待或熄火后再啟動卡車在一個班次中不應(yīng)
52、發(fā)生等待或熄火后再啟動的情況;的情況; 在鏟位或卸點處由兩條路線以上造成的沖突問題在鏟位或卸點處由兩條路線以上造成的沖突問題面前,我們認(rèn)為只要平均時間能完成任務(wù),就認(rèn)面前,我們認(rèn)為只要平均時間能完成任務(wù),就認(rèn)為不沖突。我們不排時地進行討論;為不沖突。我們不排時地進行討論; 空載與重載的速度都是空載與重載的速度都是28km/h,耗油相差很大;,耗油相差很大; 卡車可提前退出系統(tǒng),等等。卡車可提前退出系統(tǒng),等等。如理解為嚴(yán)格不等待,難以用數(shù)學(xué)規(guī)劃模型來解如理解為嚴(yán)格不等待,難以用數(shù)學(xué)規(guī)劃模型來解 個別參數(shù)隊找到了可行解個別參數(shù)隊找到了可行解 (略)(略)符號符號 xij :從:從i鏟位到鏟位到j(luò)號
53、卸點的石料運量號卸點的石料運量 (車)(車) 單位:單位: 噸;噸; cij :從:從i號鏟位到號鏟位到j(luò)號卸點的距離號卸點的距離 公里;公里; Tij :從從i號鏟位到號號鏟位到號j卸點路線上運行一個周期平均時間卸點路線上運行一個周期平均時間 分;分; Aij :從號鏟位到號卸點最多能同時運行的卡車數(shù):從號鏟位到號卸點最多能同時運行的卡車數(shù) 輛;輛; Bij :從號鏟位到號卸點路線上一輛車最多可運行的次數(shù):從號鏟位到號卸點路線上一輛車最多可運行的次數(shù) 次;次; pi:i號鏟位的礦石鐵含量號鏟位的礦石鐵含量 p=(30,28,29,32,31,33,32,31,33,31) % qj : j號卸點任務(wù)需求,號卸點任務(wù)需求,q=(1.2,1.3,1.3,1.9,1.3)*10000 噸噸 cki :i號鏟位的鐵礦石儲量號鏟位的鐵礦石儲量 萬噸萬噸 cyi :i號鏟位的巖石儲量號鏟位的巖石儲量 萬噸萬噸 fi :描述第描述第i號鏟位是否使用的號鏟位是否使用的0-1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商用電腦購買合同
- 酒店租房協(xié)議合同范本
- 建筑幕墻勞務(wù)分包合同
- 舊房拆除補償合同樣本
- 解除采購合同約定
- 權(quán)威版勞務(wù)分包合同范本
- 洗車服務(wù)加盟合同模板
- 擠塑板購銷合同書
- 汽車質(zhì)押貸款合同范本
- 集裝箱物流成本分析服務(wù)合同
- 2024年浙江高考技術(shù)試題(含答案)
- TBSES 001-2024 建設(shè)項目環(huán)境影響后評價技術(shù)指南 污染影響類
- 《財務(wù)會計學(xué)(第14版)》課后參考答案 戴德明
- (2024)醫(yī)師定期考核法律法規(guī)必刷題庫及答案
- 人音版音樂二年級上冊《小紅帽》說課稿
- 人教版(PEP)英語四年級上冊《Unit 1 My classroom》單元教學(xué)設(shè)計 1
- 職業(yè)院?!敖鹫n”建設(shè)方案
- 為思維而教心得體會.文檔
- 深度學(xué)習(xí)入門(基于Python的理論與實現(xiàn))
- CJT 394-2018 電磁式燃?xì)饩o急切斷閥
- 中央2024年應(yīng)急管理部宣傳教育中心招聘筆試歷年典型考題及考點附答案解析
評論
0/150
提交評論