




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、2.1.2 編寫一個簡單的LINDO程序,例2.1 簡單的線性規(guī)劃(LP)問題:,在空白的模型窗口中輸入這個LP模型:,max 2x+3y st 4x+3y=10 3x+5y12 end,如圖:,LINDO程序有以下特點:, 程序以“MAX”(或“MIN”)開始,表示目標最大化(或最小化)問題,后面直接寫出目標函數(shù)表達式和約束表達式; 目標函數(shù)和約束之間用“ST”分開; (或用“s.t.”,“sunject to”) 程序以“END”結束( “END” 也可以省略)。 系數(shù)與變量之間的乘號必須省略。 系統(tǒng)對目標函數(shù)所在行自動生成行名“1)”,對約束默認的行名分別是“2)” “3)”,用戶也可以
2、自己輸入行名;行名放在對應的約束之前。 書寫相當靈活,不必對齊,不區(qū)分字符的大小寫。 默認所有的變量都是非負的, 所以不必輸入非負約束。 約束條件中的“=”可分別用“”代替。 一行中感嘆號“!”后面的文字為是注釋語句,可增強程序的可讀性,不參與模型的建立。,模型求解:,用鼠標點擊工具欄中的圖標 , 或從菜單中選擇Solve|Solve(Ctrl+S)命令,LINDO首先開始編譯這個模型,編譯沒有錯誤則開始求解; 求解時會首先顯示如右圖所示的LINDO“求解器運行狀態(tài)窗口 ”。,求解器運行狀態(tài)窗口顯示的相應信息及含義:,緊接著彈出一對話框,詢問你是否需要做靈敏性分析(DO RANGE (SENS
3、ITIVITY) ANALYSIS? )先選擇“否(N)”按鈕,這個窗口就會關閉。然后,再把狀態(tài)窗口也關閉。,報告窗口,用鼠標選擇“Window | Reports Window”(報告窗口), 就可以查看該窗口的內容,輸出結果表示的意思是:,“LP OPTIMUM FOUND AT STEP2” 表示單純形法在兩次迭代(旋轉)后得到最優(yōu)解。,“VALUE”給出最優(yōu)解中各變量(VARIABLE)的值: X =1.272727, Y =1.636364.,“OBJECTIVE FUNCTION VALUE 1) 7.4545450 ”表示最優(yōu)目標值為7.4545450.(注意:在LINDO中目標
4、函數(shù)所在的行總是被認為是第1行,這就是這里“1)”的含義)。,“SLACK OR SURPLUS(松馳或剩余)” 給出約束對應的松馳變量的值: 第2、3行松馳變量均為0, 說明對于最優(yōu)解來講,兩個約束(第2、3行)均取等號,即都是緊約束。 “DUAL PRICES” 給出對偶價格的值: 第2、3行對偶價格分別為 .090909,.545455。 “NO. ITERATIONS= 2” 表示用單純形法進行了兩次迭代(旋轉)。,“REDUCED COST” 給出最優(yōu)的單純形表中目標函數(shù)行(第1行)中變量對應的系數(shù)(即各個變量的檢驗數(shù)(也稱為判別數(shù)). 其中基變量的reduced cost值一定為0
5、;對于非基變量(注意:非基變量本身取值一定為0), 相應的 reduced cost值表示當該非基變量增加一個單位(其他非基變量保持不變)時目標函數(shù)減少的量( 對max型問題)。本例最優(yōu)解中兩個變量都是基變量,所以對應的REDUCED COST的值均為0。,保存文件,選擇File|Save(F5)命令把“結果報告”保存在一個文件中(缺省的后綴名為LTX,即LINDO文本文件) 類似地,回到模型窗口,可以把輸入的模型保存在一個文件中。保存的文件將來可以用File | Open(F3)和File | View(F4)重新打開,用前者打開的程序可以進行修改,而后者只能瀏覽。,如果模型有錯誤,運行時會
6、彈出出錯信息報告窗口(LINDO Error Message),則需要修改模型。,2.1.3 LINDO模型的一些注意事項,1.變量名由字母和數(shù)字組成,但必須以字母開頭,且長度不能超過8個字符,不區(qū)分大小寫字母,包括關鍵字(如MAX、MIN等)也不區(qū)分大小寫字母。,2.對目標函數(shù)和約束用行號(行名)進行標識,這些標識會在將來的求解結果報告中用到。 行名可以和變量名一樣命名,也可以只用數(shù)字命名,還可以含有中文字符,但長度同樣不能超過8個字符。 為了方便將來閱讀求解結果報告,建議用戶總是自覺地對每個約束進行命名。 行名結束標志符號、即右括號“)”必須是英文字符,否則會出現(xiàn)錯誤。,3.可以用“TIT
7、LE”語句對輸入的模型命名,用法是在TITLE后面寫出其名字(最多72個字符,可以有漢字),在程序中單獨占一行,可以在模型的任何地方。 模型命名的第一個作用類似于對模型的注釋和說明。 模型命名的另一個目的,是為了方便將來閱讀求解結果報告。因為用戶有可能同時處理多個模型,很容易混淆模型與求解結果的對應關系。這時如果對不同模型分別進行了命名,就可以隨時(例如在求解當前模型前)使用菜單命令“FILE|TITLE”將當前模型的名字顯示在求解結果報告窗口中,這樣就容易判別每個求解結果與每個模型的對應關系。,4.模型中以感嘆號“!” 開頭的是注釋行(注釋語句,或稱為說明語句),可以幫助他人或以后自己理解這
8、個模型。實際上,每行中“!”符號后面的都是注釋或說明。注釋語句中可以使用漢字字符 。,5.變量不能出現(xiàn)在一個約束條件的右端(即約束條件的右端只能是常數(shù));變量與其系數(shù)間可以有空格(甚至回車),但不能有任何運算符號(包括乘號“*”等)。,6.模型中不接受括號“( )”和逗號“,”等符號(除非在注釋語句中)。 例如: 4(X1+X2)需寫為4X1+4X2;“10,000”需寫為10000。,7.表達式應當已經經過化簡。 如不能出現(xiàn)2X1 + 3X2 - 4X1,而應寫成 -2X1 + 3X2等。,8.LINDO 中已假定所有變量非負。若要取消變量的非負假定,可在模型的“END”語句后面用命令“FR
9、EE”。例如,在“END”語句后輸入FREE vname,可將變量vname的非負假定取消。,9.可以在模型的“END”語句后面用命令“SUB”(即設置上界(SET UPPER BOUND)的英文縮寫)設定變量的上界,用命令“SLB” (即設置下界(SET LOWER BOUND)的英文縮寫)設定變量的上下界。其用法是:“SUB vname value”將變量vname的上限設定為value;“SLB”的用法類似。 用“SUB”和“SLB”表示的上下界約束不計入模型的約束,因此LINDO也不能給出其松緊判斷和敏感性分析。,10.數(shù)值均衡化考慮:如果約束系數(shù)矩陣中各非零元的絕對值的數(shù)量級差別很大
10、(相差1000倍以上),則稱其為數(shù)值不均衡的。為了避免數(shù)值不均衡引起的計算問題, 使用者應盡可能自己對矩陣的行列進行均衡化。此時還有一個原則, 即系數(shù)中非零元的絕對值不能大于100000 或者小于.0001。LINDO 不能對LP 中的系數(shù)自動進行數(shù)值均衡化,但如果LINDO 覺得矩陣元素之間很不均衡, 將會給出警告。,11. 簡單錯誤的檢查和避免: 輸入模型時可能會有某些輸入錯誤. 當問題規(guī)模較大時, 要查找錯誤是比較困難的。在LINDO 中有一些可幫助尋找錯誤的功能,其中之一就是菜單命令“Report | Picture(Alt+5)” , 它的功能是可以將目標函數(shù)和約束表達式中的非零系數(shù)
11、通過列表(或圖形)顯示出來。,例2.2 菜單命令“Report | Picture(Alt+5)” 的功能,用Report | Picture命令,將彈出一個對話框,在彈出的對話框中采用缺省選項(即不采用下三角矩陣形式,并以圖形方式顯示),直接按“OK”按鈕可得到一個輸出圖形??梢詮膱D中很直觀地發(fā)現(xiàn),其實錯誤原因只不過是在輸入5)行的表達式中C0與CO弄混了(英文字母O與數(shù)字0弄混了)。在圖中,還可以用鼠標控制顯示圖形的縮放,這對于規(guī)模較大的模型是有用的。,MIN 5 A0 +6 A1 +2 A2 +4 B0 +3 B1 +7 B2 +2 C0 +9 C1 +8 C2 SUBJECT TO 2
12、) A0 +Al +A2 =8 3) B0 +B1 +B2 =9 4) C0 +C1 +C2 =6 5) A0 +B0 +CO =6 6) A1 +B1 +C1 =5 7)A2 +B2 +C2 =9 END,對如下的一個有錯誤的模型輸入:,例2.3 三個變量范圍限定命令(FREE、SUB、SLB)的作用,求解如下的LP問題:,這個模型中對變量x沒有非負限制,對y有上限限制,對z有下限限制。用FREE、SUB、SLB三個命令可以實現(xiàn)這些功能。,MAX 2x 3y + 4z S.T. con2) 4 x + 3y + 2z 8 con5) -5x - y - z 2 END free x ! 說明:變量x沒有非負限制 sub y 20 ! 說明:變量y的上界為20 slb z 30 ! 說明:變量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學語文一年級考試體系試題及答案
- 寵物主人常見的營養(yǎng)誤區(qū)及試題及答案
- 計算機基礎考試重難點分析試題及答案
- 2024年食品質檢員心理素質要求試題及答案
- 美容師考試題目設計與解讀技巧試題及答案
- 食品流通過程中的證據(jù)采集考查試題及答案
- 重大動物防控知識課件
- 實戰(zhàn)經驗的小學語文試題及答案
- 二手車評估師基礎知識考試試題及答案
- 二手車評估師應試能力提升試題及答案
- LY/T 1955-2022林地保護利用規(guī)劃林地落界技術規(guī)程
- 大學成績單(大專)
- 專練11(30題)(網格作圖題)2022中考數(shù)學考點500題(吉林)解析版
- JJF 1367-2012烘干法水分測定儀型式評價大綱
- 醫(yī)院麻醉藥品、精神藥品考試試題及答案
- GB/T 31586.1-2015防護涂料體系對鋼結構的防腐蝕保護涂層附著力/內聚力(破壞強度)的評定和驗收準則第1部分:拉開法試驗
- GB/T 1936.1-2009木材抗彎強度試驗方法
- “三重一大”事項決策情況記錄表
- 教科版科學五年級下冊《生物與環(huán)境》單元教材解讀及教學建議
- 高考70天-讓我們一起努力!(課堂PPT)
- 蟻群算法最全集課件
評論
0/150
提交評論