清華大學(xué)-謝金星-optimizatio-lindo北戴河.ppt_第1頁
清華大學(xué)-謝金星-optimizatio-lindo北戴河.ppt_第2頁
清華大學(xué)-謝金星-optimizatio-lindo北戴河.ppt_第3頁
清華大學(xué)-謝金星-optimizatio-lindo北戴河.ppt_第4頁
清華大學(xué)-謝金星-optimizatio-lindo北戴河.ppt_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)學(xué)建模講座 清華大學(xué) 謝金星 優(yōu)化建模與LINDO/LINGO優(yōu)化軟件,簡(jiǎn)要提綱,1. 優(yōu)化模型與優(yōu)化軟件簡(jiǎn)介 2. LINDO公司的主要軟件產(chǎn)品及功能簡(jiǎn)介 3. LINDO / LINGO軟件的使用簡(jiǎn)介 4. 建模與求解實(shí)例(結(jié)合軟件使用),1. 優(yōu)化模型與優(yōu)化軟件簡(jiǎn)介,最優(yōu)化是工程技術(shù)、經(jīng)濟(jì)管理、科學(xué)研究、社會(huì)生活中經(jīng)常遇到的問題, 如:,優(yōu)化模型和優(yōu)化軟件的重要意義,結(jié)構(gòu)設(shè)計(jì),資源分配,生產(chǎn)計(jì)劃,運(yùn)輸方案,解決優(yōu)化問題的手段,經(jīng)驗(yàn)積累,主觀判斷,作試驗(yàn),比優(yōu)劣,建立數(shù)學(xué)模型(優(yōu)化模型),求最優(yōu)策略(決策),(最)優(yōu)化:在一定條件下,尋求使目標(biāo)最大(小)的決策,CUMCM賽題:約70%以上與優(yōu)化有關(guān),需用軟件求解,運(yùn)籌學(xué)(OR: Operations/Operational Research) 管理科學(xué)(MS: Management Science) 決策科學(xué) (DS: Decision Science),(最)優(yōu)化理論是運(yùn)籌學(xué)的基本內(nèi)容,無約束優(yōu)化,OR/MS/DS,優(yōu)化(Optimization), 規(guī)劃(Programming),線性規(guī)劃,非線性規(guī)劃,網(wǎng)絡(luò)優(yōu)化,組合優(yōu)化,整數(shù)規(guī)劃,不確定規(guī)劃,多目標(biāo)規(guī)劃,目標(biāo)規(guī)劃,動(dòng)態(tài)規(guī)劃,優(yōu)化問題三要素:決策變量;目標(biāo)函數(shù);約束條件,優(yōu)化問題的一般形式,可行解(滿足約束)與可行域(可行解的集合) 最優(yōu)解(取到最小大值的可行解),無約束優(yōu)化:最優(yōu)解的分類和條件,給定一個(gè)函數(shù) f(x),尋找 x* 使得 f(x*)最小,即,其中,局部最優(yōu)解,全局最優(yōu)解,必要條件,最優(yōu)解在可行域邊界上取得時(shí)不能用無約束優(yōu)化方法求解,約束優(yōu)化的 簡(jiǎn)單分類,線性規(guī)劃(LP) 目標(biāo)和約束均為線性函數(shù) 非線性規(guī)劃(NLP) 目標(biāo)或約束中存在非線性函數(shù) 二次規(guī)劃(QP) 目標(biāo)為二次函數(shù)、約束為線性 整數(shù)規(guī)劃(IP) 決策變量(全部或部分)為整數(shù) 整數(shù)線性規(guī)劃(ILP),整數(shù)非線性規(guī)劃(INLP) 純整數(shù)規(guī)劃(PIP), 混合整數(shù)規(guī)劃(MIP) 一般整數(shù)規(guī)劃,0-1(整數(shù))規(guī)劃,連續(xù)優(yōu)化,離散優(yōu)化,數(shù)學(xué)規(guī)劃,常用優(yōu)化軟件,1. LINDO/LINGO軟件 2. MATLAB優(yōu)化工具箱 3. EXCEL軟件的優(yōu)化功能 4. SAS(統(tǒng)計(jì)分析)軟件的優(yōu)化功能 5. 其他,MATLAB優(yōu)化工具箱能求解的優(yōu)化模型,優(yōu)化工具箱3.0 (MATLAB 7.0 R14),連續(xù)優(yōu)化,離散優(yōu)化,無約束優(yōu)化,非線性 極小 fminunc,非光滑(不可 微)優(yōu)化 fminsearch,非線性 方程(組) fzero fsolve,全局 優(yōu)化 暫缺,非線性 最小二乘 lsqnonlin lsqcurvefit,線性規(guī)劃 linprog,純0-1規(guī)劃 bintprog 一般IP(暫缺),非線性規(guī)劃 fmincon fminimax fgoalattain fseminf,上下界約束 fminbnd fmincon lsqnonlin lsqcurvefit,約束線性 最小二乘 lsqnonneg lsqlin,約束優(yōu)化,二次規(guī)劃 quadprog,2. LINDO公司的主要軟件產(chǎn)品及功能簡(jiǎn)介,LINDO 公司軟件產(chǎn)品簡(jiǎn)要介紹,美國(guó)芝加哥(Chicago)大學(xué)的Linus Schrage教授于1980年前后開發(fā), 后來成立 LINDO系統(tǒng)公司(LINDO Systems Inc.), 網(wǎng)址:,LINDO: Linear INteractive and Discrete Optimizer (V6.1) LINGO: Linear INteractive General Optimizer (V9.0) LINDO API: LINDO Application Programming Interface (V3.0) Whats Best!: (SpreadSheet e.g. EXCEL) (V8.0),演示(試用)版、學(xué)生版、高級(jí)版、超級(jí)版、工業(yè)版、擴(kuò)展版 (求解問題規(guī)模和選件不同),LINDO和LINGO軟件能求解的優(yōu)化模型,LINGO,LINDO,優(yōu)化模型,線性規(guī)劃 (LP),非線性規(guī)劃 (NLP),二次規(guī)劃 (QP),連續(xù)優(yōu)化,整數(shù)規(guī)劃(IP),LP QP NLP IP 全局優(yōu)化(選) ILP IQP INLP,LINDO/LINGO軟件的求解過程,LINDO/LINGO預(yù)處理程序,線性優(yōu)化求解程序,非線性優(yōu)化求解程序,分枝定界管理程序,1. 確定常數(shù) 2. 識(shí)別類型,1. 單純形算法 2. 內(nèi)點(diǎn)算法(選),1、順序線性規(guī)劃法(SLP) 2、廣義既約梯度法(GRG) (選) 3、多點(diǎn)搜索(Multistart) (選),建模時(shí)需要注意的幾個(gè)基本問題,1、盡量使用實(shí)數(shù)優(yōu)化,減少整數(shù)約束和整數(shù)變量 2、盡量使用光滑優(yōu)化,減少非光滑約束的個(gè)數(shù) 如:盡量少使用絕對(duì)值、符號(hào)函數(shù)、多個(gè)變量求最大/最小值、四舍五入、取整函數(shù)等 3、盡量使用線性模型,減少非線性約束和非線性變量的個(gè)數(shù) (如x/y 5 改為x5y) 4、合理設(shè)定變量上下界,盡可能給出變量初始值 5、模型中使用的參數(shù)數(shù)量級(jí)要適當(dāng) (如小于103),3. LINDO / LINGO軟件的使用簡(jiǎn)介,需要掌握的幾個(gè)重要方面,1、LINDO: 正確閱讀求解報(bào)告(尤其要掌握敏感性分析) 2、LINGO: 掌握集合(SETS)的應(yīng)用; 正確閱讀求解報(bào)告; 正確理解求解狀態(tài)窗口; 學(xué)會(huì)設(shè)置基本的求解選項(xiàng)(OPTIONS) ; 掌握與外部文件的基本接口方法,例1 加工奶制品的生產(chǎn)計(jì)劃,50桶牛奶,時(shí)間480小時(shí),至多加工100公斤A1,制訂生產(chǎn)計(jì)劃,使每天獲利最大,35元可買到1桶牛奶,買嗎?若買,每天最多買多少?,可聘用臨時(shí)工人,付出的工資最多是每小時(shí)幾元?,A1的獲利增加到 30元/公斤,應(yīng)否改變生產(chǎn)計(jì)劃?,每天:,x1桶牛奶生產(chǎn)A1,x2桶牛奶生產(chǎn)A2,獲利 243x1,獲利 164 x2,原料供應(yīng),勞動(dòng)時(shí)間,加工能力,決策變量,目標(biāo)函數(shù),每天獲利,約束條件,非負(fù)約束,線性規(guī)劃模型(LP),時(shí)間480小時(shí),至多加工100公斤A1,模型求解,max 72x1+64x2 st 2)x1+x250 3)12x1+8x2480 4)3x1100 end,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= 2,DO RANGE (SENSITIVITY) ANALYSIS?,No,20桶牛奶生產(chǎn)A1, 30桶生產(chǎn)A2,利潤(rùn)3360元。,模型求解,reduced cost值表示當(dāng)該非基變量增加一個(gè)單位時(shí)(其他非基變量保持不變)目標(biāo)函數(shù)減少的量(對(duì)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.000000 48.000000 3) 0.000000 2.000000 4) 40.000000 0.000000 NO. ITERATIONS= 2,也可理解為: 為了使該非基變量變成基變量,目標(biāo)函數(shù)中對(duì)應(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.000000 3) 0.000000 2.000000 4) 40.000000 0.000000,原料無剩余,時(shí)間無剩余,加工能力剩余40,max 72x1+64x2 st 2)x1+x250 3)12x1+8x2480 4)3x1100 end,三種資源,“資源” 剩余為零的約束為緊約束(有效約束),結(jié)果解釋,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,結(jié)果解釋,最優(yōu)解下“資源”增加1單位時(shí)“效益”的增量,原料增1單位, 利潤(rùn)增48,時(shí)間加1單位, 利潤(rùn)增2,能力增減不影響利潤(rùn),影子價(jià)格,35元可買到1桶牛奶,要買嗎?,35 48, 應(yīng)該買!,聘用臨時(shí)工人付出的工資最多每小時(shí)幾元?,2元!,RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 72.000000 24.000000 8.000000 X2 64.000000 8.000000 16.000000 RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 50.000000 10.000000 6.666667 3 480.000000 53.333332 80.000000 4 100.000000 INFINITY 40.000000,最優(yōu)解不變時(shí)目標(biāo)系數(shù)允許變化范圍,DO RANGE(SENSITIVITY) ANALYSIS?,Yes,x1系數(shù)范圍(64,96),x2系數(shù)范圍(48,72),A1獲利增加到 30元/千克,應(yīng)否改變生產(chǎn)計(jì)劃,x1系數(shù)由243= 72 增加為303= 90,在允許范圍內(nèi),不變!,(約束條件不變),結(jié)果解釋,結(jié)果解釋,RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 72.000000 24.000000 8.000000 X2 64.000000 8.000000 16.000000 RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 50.000000 10.000000 6.666667 3 480.000000 53.333332 80.000000 4 100.000000 INFINITY 40.000000,影子價(jià)格有意義時(shí)約束右端的允許變化范圍,原料最多增加10,時(shí)間最多增加53,35元可買到1桶牛奶,每天最多買多少?,最多買10桶?,(目標(biāo)函數(shù)不變),注意: 充分但可能不必要,使用LINDO的一些注意事項(xiàng),“”(或“=”(或“=”)功能相同 變量與系數(shù)間可有空格(甚至回車), 但無運(yùn)算符 變量名以字母開頭,不能超過8個(gè)字符 變量名不區(qū)分大小寫(包括LINDO中的關(guān)鍵字) 目標(biāo)函數(shù)所在行是第一行,第二行起為約束條件 行號(hào)(行名)自動(dòng)產(chǎn)生或人為定義。行名以“)”結(jié)束 行中注有“!”符號(hào)的后面部分為注釋。如: ! Its Comment. 在模型的任何地方都可以用“TITLE” 對(duì)模型命名(最多72個(gè)字符),如: TITLE This Model is only an Example,變量不能出現(xiàn)在一個(gè)約束條件的右端 表達(dá)式中不接受括號(hào)“( )”和逗號(hào)“,”等任何符號(hào), 例: 400(X1+X2)需寫為400X1+400X2 表達(dá)式應(yīng)化簡(jiǎn),如2X1+3X2- 4X1應(yīng)寫成 -2X1+3X2 缺省假定所有變量非負(fù);可在模型的“END”語句后用“FREE name”將變量name的非負(fù)假定取消 可在 “END”后用“SUB” 或“SLB” 設(shè)定變量上下界 例如: “sub x1 10”的作用等價(jià)于“x1=10” 但用“SUB”和“SLB”表示的上下界約束不計(jì)入模型的約束,也不能給出其松緊判斷和敏感性分析。 14. “END”后對(duì)0-1變量說明:INT n 或 INT name 15. “END”后對(duì)整數(shù)變量說明:GIN n 或 GIN name,使用LINDO的一些注意事項(xiàng),二次規(guī)劃(QP)問題,LINDO可求解二次規(guī)劃(QP)問題,但輸入方式較復(fù)雜,因?yàn)樵贚INDO中不許出現(xiàn)非線性表達(dá)式 需要為每一個(gè)實(shí)際約束增加一個(gè)對(duì)偶變量(LAGRANGE乘子),在實(shí)際約束前增加有關(guān)變量的一階最優(yōu)條件,轉(zhuǎn)化為互補(bǔ)問題 “END”后面使用QCP命令指明實(shí)際約束開始的行號(hào),然后才能求解 建議總是用LINGO解QP 注意對(duì)QP和IP: 敏感性分析意義不大,狀態(tài)窗口(LINDO Solver Status),當(dāng)前狀態(tài):已達(dá)最優(yōu)解 迭代次數(shù):18次 約束不滿足的“量”(不是“約束個(gè)數(shù)”):0 當(dāng)前的目標(biāo)值:94 最好的整數(shù)解:94 整數(shù)規(guī)劃的界:93.5 分枝數(shù):1 所用時(shí)間:0.00秒(太快了,還不到0.005秒) 刷新本界面的間隔:1(秒),選項(xiàng)設(shè)置,Preprocess:預(yù)處理(生成割平面); Preferred Branch:優(yōu)先的分枝方式: “Default”(缺省方式)、 “Up”(向上取整優(yōu)先)、 “Down”(向下取整優(yōu)先); IP Optimality Tol:IP最優(yōu)值允許的誤差上限(一個(gè)百分?jǐn)?shù),如5%即0.05); IP Objective Hurdle:IP目標(biāo)函數(shù)的籬笆值,即只尋找比這個(gè)值更優(yōu)最優(yōu)解(如當(dāng)知道當(dāng)前模型的某個(gè)整數(shù)可行解時(shí),就可以設(shè)置這個(gè)值); IP Var Fixing Tol:固定一個(gè)整數(shù)變量取值所依據(jù)的一個(gè)上限(如果一個(gè)整數(shù)變量的判別數(shù)(REDUCED COST)的值很大,超過該上限,則以后求解中把該整數(shù)變量固定下來)。,Nonzero Limit: 非零系數(shù)的個(gè)數(shù)上限; Iteration Limit: 最大迭代步數(shù); Initial Contraint Tol: 約束的初始誤差上限; Final Contraint Tol: 約束的最后誤差上限; Entering Var Tol: 進(jìn)基變量的REDUCED COST的誤差限; Pivot Size Tol: 旋轉(zhuǎn)元的誤差限,Report/Statistics,第一行:模型有5行(約束4行),4個(gè)變量,兩個(gè)整數(shù)變量(沒有0-1變量),從第4行開始是二次規(guī)劃的實(shí)際約束。 第二行:非零系數(shù)19個(gè),約束中非零系數(shù)12個(gè)(其中6個(gè)為1或-1),模型密度為0.760(密度=非零系數(shù)/行數(shù)(變量數(shù)) 。 第三行的意思:按絕對(duì)值看,系數(shù)最小、最大分別為0.3和277。 第四行的意思:模型目標(biāo)為極小化;小于等于、等于、大于等于約束分別有、個(gè);廣義上界約束(GUBS)不超過個(gè);變量上界約束(VUBS)不少于個(gè)。所謂GUBS,是指一組不含有相同變量的約束;所謂VUBS,是指一個(gè)蘊(yùn)涵變量上界的約束,如從約束X1+X2-X3=0可以看出,若X3=0,則X1=0,X2=0(因?yàn)橛蟹秦?fù)限制),因此X1+X2-X3=0是一個(gè)VUBS約束。 第五行的意思:只含個(gè)變量的約束個(gè)數(shù)=個(gè);冗余的列數(shù)=個(gè),ROWS= 5 VARS= 4 INTEGER VARS= 2( 0 = 0/1) QCP= 4 NONZEROS= 19 CONSTRAINT NONZ= 12( 6 = +-1) DENSITY=0.760 SMALLEST AND LARGEST ELEMENTS IN ABSOLUTE VALUE= 0.300000 277.000 OBJ=MIN, NO. : 2 0 2, GUBS = 0 SINGLE COLS= 0 REDUNDANT COLS= 0,LINDO行命令、命令腳本文件,批處理:可以采用命令腳本(行命令序列),WINDOWS環(huán)境下行命令的意義不大,Example 演示,用FILE / TAKE COMMANDS (F11) 命令調(diào)入,必須是以LINDO PACKED形式(壓縮)保存的文件,FILE / SAVE命令,SAVE行命令,LINGO軟件簡(jiǎn)介,目標(biāo)與約束段 集合段(SETS ENDSETS) 數(shù)據(jù)段(DATA ENDDATA) 初始段(INIT ENDINIT) 計(jì)算段 (CALC ENDCALC) - LINGO9.0,LINGO模型的構(gòu)成:5個(gè)段,LINGO模型的優(yōu)點(diǎn),包含了LINDO的全部功能 提供了靈活的編程語言(矩陣生成器),LINGO模型 例:選址問題,某公司有6個(gè)建筑工地,位置坐標(biāo)為(ai, bi) (單位:公里),水泥日用量di (單位:噸),假設(shè):料場(chǎng)和工地之間有直線道路,用例中數(shù)據(jù)計(jì)算,最優(yōu)解為,總噸公里數(shù)為136.2,線性規(guī)劃模型,決策變量:ci j (料場(chǎng)j到工地i的運(yùn)量)12維,選址問題:NLP,2)改建兩個(gè)新料場(chǎng),需要確定新料場(chǎng)位置(xj,yj)和運(yùn)量cij ,在其它條件不變下使總噸公里數(shù)最小。,決策變量: ci j,(xj,yj)16維,非線性規(guī)劃模型,LINGO模型的構(gòu)成:4個(gè)段,集合段(SETS ENDSETS),數(shù)據(jù)段(DATA ENDDATA),初始段(INIT ENDINIT),目標(biāo)與 約束段,局部最優(yōu):89.8835(噸公里 ),LP:移到數(shù)據(jù)段,邊界,集合的類型,集合 派生集合 基本集合 稀疏集合 稠密集合 元素列表法 元素過濾法 直接列舉法 隱式列舉法,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; ENDSETS,SETS: STUDENTS /S1S8/; PAIRS( STUDENTS, STUDENTS) | ENDSETS,集合元素的隱式列舉,運(yùn)算符的優(yōu)先級(jí),三類運(yùn)算符: 算術(shù)運(yùn)算符 邏輯運(yùn)算符 關(guān)系運(yùn)算符,集合循環(huán)函數(shù),四個(gè)集合循環(huán)函數(shù):FOR、SUM 、 MAX、MIN function( setname ( set_index_list) | condition : expression_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:,狀態(tài)窗口,Solver Type: B-and-B Global Multistart,Model Class: LP, QP,ILP, IQP,PILP, PIQP,NLP,INLP,PINLP,State: Global Optimum Local Optimum Feasible Infeasible Unbounded Interrupted Undetermined,7個(gè)選項(xiàng)卡(可設(shè)置80-90個(gè)控制參數(shù)),程序與數(shù)據(jù)分離,文 本 文 件,使用外部數(shù)據(jù)文件,Cut (or Copy) Paste 方法 FILE 輸入數(shù)據(jù)、TEXT輸出數(shù)據(jù)(文本文件) OLE函數(shù)與電子表格軟件(如EXCEL)連接 ODBC函數(shù)與數(shù)據(jù)庫(kù)連接 LINGO命令腳本文件,LG4 (LONGO模型文件) LNG (LONGO模型文件) LTF (LONGO腳本文件) LDT (LONGO數(shù)據(jù)文件) LRP (LONGO報(bào)告文件),常用文件后綴,FILE和TEXT:文本文件輸入輸出,MODEL: SETS: MYSET / FILE(myfile.txt) / : FILE(myfile.txt); ENDSETS MIN = SUM( MYSET( I): SHIP( I) * COST( I); FOR( MYSET( I): CON1 SHIP( I) NEED( I); CON2 SHIP( I) SUPPLY( I); DATA: COST = FILE(myfile.txt); NEED = FILE(myfile.txt); SUPPLY = FILE(myfile.txt); TEXT(result.txt)=SHIP, DUAL(SHIP), DUAL(CON1); ENDDATA END,myfile.txt文件 的內(nèi)容、格式: Seattle,Detroit,Chicago,Denver COST,NEED,SUPPLY,SHIP 12,28,15,20 1600,1800,1200,1000 1700,1900,1300,1100,演示 MyfileExample.lg4,OLE :與EXCEL連接,MODEL: SETS: MYSET: COST,SHIP,NEED,SUPPLY; ENDSETS MIN = SUM( MYSET( I): SHIP( I) * COST( I); FOR( MYSET( I): CON1 SHIP( I) NEED( I); CON2 SHIP( I) SUPPLY( I); DATA: MYSET =OLE(D:JXIEBJ2004MCMmydata.xls,CITIES); COST,NEED,SUPPLY =OLE(mydata.xls); OLE(mydata.xls,SOLUTION)=SHIP; ENDDATA END,mydata.xls文件中必須有下列名稱(及數(shù)據(jù)): CITIES, COST,NEED,SUPPLY,SOLUTION,在EXCEL中還可以通過“宏”自動(dòng)調(diào)用LINGO(略) 也可以將EXCEL表格嵌入到LINGO模型中(略),演示 MydataExample.lg4,ODBC :與數(shù)據(jù)庫(kù)連接,輸入基本集合元素: setname/ODBC(datasource , tablename , columnname)/ 輸入派生集合元素: setname/ODBC(source,table , column1, column2)/,目前支持下列DBMS: (如為其他數(shù)據(jù)庫(kù),則需自行安裝驅(qū)動(dòng)) ACCESS, DBASE,EXCEL,F(xiàn)OXPRO,ORACLE, PARADOX,SQL SERVER, TEXE FILES,使用數(shù)據(jù)庫(kù)之前,數(shù)據(jù)源需要在ODBC管理器注冊(cè),輸入數(shù)據(jù): Attr_list=ODBC(source,table , column1, column2) 輸出數(shù)據(jù): ODBC(source,table , column1, column2)= Attr_list,具體例子略,4. 建模與求解實(shí)例(結(jié)合軟件使用),建模實(shí)例與求解,最短路問題 下料問題 飛機(jī)定位 露天礦的運(yùn)輸問題 鋼管運(yùn)輸問題 電力市場(chǎng)的堵塞管理,例 最短路問題,求各點(diǎn)到T的最短路,問題1. 如何下料最節(jié)省 ?,例 鋼管下料,問題2. 客戶增加需求:,節(jié)省的標(biāo)準(zhǔn)是什么?,由于采用不同切割模式太多,會(huì)增加生產(chǎn)和管理成本,規(guī)定切割模式不能超過3種。如何下料最節(jié)省?,按照客戶需要在一根原料鋼管上安排切割的一種組合。,切割模式,合理切割模式的余料應(yīng)小于客戶需要鋼管的最小尺寸,鋼管下料,為滿足客戶需要,按照哪些種合理模式,每種模式切割多少根原料鋼管,最為節(jié)?。?合理切割模式,2. 所用原料鋼管總根數(shù)最少,鋼管下料問題1,兩種標(biāo)準(zhǔn),1. 原料鋼管剩余總余量最小,xi 按第i 種模式切割的原料鋼管根數(shù)(i=1,2,7),約束,滿足需求,決策變量,目標(biāo)1(總余量),按模式2切割12根,按模式5切割15根,余料27米,最優(yōu)解:x2=12, x5=15, 其余為0; 最優(yōu)值:27,整數(shù)約束: xi 為整數(shù),當(dāng)余料沒有用處時(shí),通常以總根數(shù)最少為目標(biāo),目標(biāo)2(總根數(shù)),鋼管下料問題1,約束條件不變,最優(yōu)解:x2=15, x5=5, x7=5, 其余為0; 最優(yōu)值:25。,xi 為整數(shù),按模式2切割15根,按模式5切割5根,按模式7切割5根,共25根,余料35米,雖余料增加8米,但減少了2根,與目標(biāo)1的結(jié)果“共切割27根,余料27米” 相比,鋼管下料問題2,對(duì)大規(guī)模問題,用模型的約束條件界定合理模式,增加一種需求:5米10根;切割模式不超過3種。,現(xiàn)有4種需求:4米50根,5米10根,6米20根,8米15根,用枚舉法確定合理切割模式,過于復(fù)雜。,決策變量,xi 按第i 種模式切割的原料鋼管根數(shù)(i=1,2,3),r1i, r2i, r3i, r4i 第i 種切割模式下,每根原料鋼管生產(chǎn)4米、5米、6米和8米長(zhǎng)的鋼管的數(shù)量,滿足需求,模式合理:每根余料不超過3米,整數(shù)非線性規(guī)劃模型,鋼管下料問題2,目標(biāo)函數(shù)(總根數(shù)),約束條件,整數(shù)約束: xi ,r1i, r2i, r3i, r4i (i=1,2,3)為整數(shù),增加約束,縮小可行域,便于求解,原料鋼管總根數(shù)下界:,特殊生產(chǎn)計(jì)劃:對(duì)每根原料鋼管 模式1:切割成4根4米鋼管,需13根; 模式2:切割成1根5米和2根6米鋼管,需10根; 模式3:切割成2根8米鋼管,需8根。 原料鋼管總根數(shù)上界:31,模式排列順序可任定,鋼管下料問題2,需求:4米50根,5米10根,6米20根,8米15根,每根原料鋼管長(zhǎng)19米,LINGO求解整數(shù)非線性規(guī)劃模型,Local optimal solution found at iteration: 12211 Objective value: 28.00000 Variable Value Reduced Cost X1 10.00000 0.000000 X2 10.00000 2.000000 X3 8.000000 1.000000 R11 3.000000 0.000000 R12 2.000000 0.000000 R13 0.000000 0.000000 R21 0.000000 0.000000 R22 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米鋼管,共10根; 模式3:每根原料鋼管切割成2根8米鋼管,共8根。 原料鋼管總根數(shù)為28根。,演示cut02a.lg4; cut02b.lg4,0,y,x,VOR2 x=629, y=375,309.00 (1.30),864.3(2.0),飛機(jī) x=?, y=?,VOR1 x=764, y=1393,161.20 (0.80),VOR3 x=1571, y=259,45.10 (0.60),北,DME x=155, y=987,飛機(jī)與監(jiān)控臺(tái)(圖中坐標(biāo)和測(cè)量距離的單位是“公里”),實(shí)例: 飛機(jī)精確定位問題,飛機(jī)精確定位模型,飛機(jī)精確定位模型,第1類模型: 不考慮誤差因素,超定方程組, 非線性最小二乘!,量綱不符! ?,飛機(jī)精確定位模型,第2類模型: 考慮誤差因素(作為硬約束),Min x; Min y; Max x; Max y.,以距離為約束,優(yōu)化角度誤差之和(或平方和); 或以角度為約束,優(yōu)化距離誤差.,非線性規(guī)劃,?,? 僅部分考慮誤差! 角度與距離的“地位”不應(yīng)不同!,有人也可能會(huì)采用其他目標(biāo),如:,誤差非均勻分布!,飛機(jī)精確定位模型,誤差一般服從什么分布?,正態(tài)分布!,不同的量綱如何處理?,無約束非線性最小二乘模型,歸一化處理!,shili0702.m,飛機(jī)坐標(biāo)(978.31,723.98), 誤差平方和0.6685 ( 4),角度需要進(jìn)行預(yù)處理,如利用 Matlab的atan2函數(shù), 值域(-pi, pi),第3類模型: 考慮誤差因素(作為軟約束); 且歸一化,飛機(jī)精確定位模型,小技巧: LINGO中沒有atan2函數(shù), 怎么辦?,可以直接利用tan函數(shù)!,exam0507c.lg4,同前面的模型/結(jié)果,飛機(jī)坐標(biāo)(980.21,727.30 ), 誤差平方和2.6 與前面的結(jié)果有所不同, 為什么? 哪個(gè)模型合理些?,最后: 思考以下模型:,exam0507d.lg4,露天礦里鏟位已分成礦石和巖石: 平均鐵含量不低于25%的為礦石,否則為巖石。每個(gè)鏟位的礦石、巖石數(shù)量,以及礦石的平均鐵含量(稱為品位)都是已知的。每個(gè)鏟位至多安置一臺(tái)電鏟,電鏟平均裝車時(shí)間5分鐘,卡車在等待時(shí)所耗費(fèi)的能量也是相當(dāng)可觀的,原則上在安排時(shí)不應(yīng)發(fā)生卡車等待的情況。,露天礦生產(chǎn)的車輛安排(CUMCM-2003B),礦石卸點(diǎn)需要的鐵含量要求都為29.5%1%(品位限制),搭配量在一個(gè)班次(8小時(shí))內(nèi)滿足品位限制即可。卸點(diǎn)在一個(gè)

溫馨提示

  • 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. 人人文庫(kù)網(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)論