2025年lingo教學教程-課件_第1頁
2025年lingo教學教程-課件_第2頁
2025年lingo教學教程-課件_第3頁
2025年lingo教學教程-課件_第4頁
2025年lingo教學教程-課件_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

LINGO軟件

LINGO軟件(1)美國芝加哥(Chicago)大學的LinusSchrage(萊納斯.施拉蓋)教授于1980年前后開發(fā)。(2)LINGO:LinearInteractiveGeneralOptimizer(線性交互式通用優(yōu)化器)。(3)用來求解的優(yōu)化模型(連續(xù)優(yōu)化和整數(shù)規(guī)劃(IP))。類型:線性規(guī)劃(LP)、二次規(guī)劃(QP)、非線性規(guī)劃(NLP)。LINDO/LINGO軟件能求解的模型優(yōu)化線性規(guī)劃非線性規(guī)劃二次規(guī)劃連續(xù)優(yōu)化整數(shù)規(guī)劃LINDOLINGOLINGO軟件的主窗口(用戶界面),所有其他窗口都在這個窗口之內(nèi)。模型窗口(ModelWindow),用于輸入LINGO優(yōu)化模型(即LINGO程序)。狀態(tài)行(最左邊顯示“Ready”,表示“準備就緒”)當前時間

當前光標的位置LINGO軟件界面LINGO軟件菜單——FILE1.新建(New)單擊“新建”按鈕或直接按F2鍵可以創(chuàng)建一個新的“Model”窗口。在這個新的“Model”窗口中能夠輸入所要求解的模型。2.

打開(Open)單擊“打開”按鈕或直接按F3鍵可以打開一個已經(jīng)存在的文本文件。這個文件可能是一個Model文件。3.

保存(Save)單擊“保存”按鈕或直接按F4鍵用來保存當前活動窗口(最前臺的窗口)中的模型結(jié)果、命令序列等保存為文件。4.

另存為...(SaveAs...)“另存為...”命令或按F5鍵可以將當前活動窗口中的內(nèi)容保存為文本文件,其文件名為你在“另存為...”對話框中輸入的文件名。利用這種方法你可以將任何窗口的內(nèi)容如模型、求解結(jié)果或命令保存為文件。5.

關(guān)閉(Close)在文件菜單中選用“關(guān)閉”(Close)命令或按F6鍵將關(guān)閉當前活動窗口。如果這個窗口是新建窗口或已經(jīng)改變了當前文件的內(nèi)容,LINGO系統(tǒng)將會提示是否想要保存改變后的內(nèi)容6.

打印(Print)“打印”

(Print)命令、單擊“打印”按鈕或直接按F7鍵可以將當前活動窗口中的內(nèi)容發(fā)送到打印機7.

打印設(shè)置(PrintSetup...)“打印設(shè)置...”命令或直接按F8鍵可以將文件輸出到指定的打印機。8.

打印預覽(PrintPreview)“打印預覽...”命令或直接按Shift+F8鍵可以進行打印預覽。9.

輸出到日志文件(LogOutput...)

從文件菜單中選用“LogOutput...”命令或按F9鍵打開一個對話框,用于生成一個日志文件,它存儲接下來在“命令窗口”中輸入的所有命令。10.提交LINGO命令腳本文件(TakeCommands...)“TakeCommands...”命令或直接按F11鍵就可以將LINGO命令腳本(commandscript)文件提交給系統(tǒng)進程來運行。11.引入LINGO文件(ImportLingoFile...)從文件菜單中選用“ImportLingoFile...”命令或直接按F12鍵可以打開一個LINGO格式模型的文件,然后LINGO系統(tǒng)會盡可能把模型轉(zhuǎn)化為LINGO語法允許的程序。12.退出(Exit)從文件菜單中選用“Exit”命令或直接按F10鍵可以退出LINGO系統(tǒng)。

LINGO軟件菜單——EIDT1.恢復(Undo)從編輯菜單中選用“恢復”(Undo)命令或按Ctrl+Z組合鍵,將撤銷上次操作、恢復至其前的狀態(tài)。2.剪切(Cut)從編輯菜單中選用“剪切”(Cut)命令或按Ctrl+X組合鍵可以將當前選中的內(nèi)容剪切至剪貼板中。3.復制(Copy)從編輯菜單中選用“復制”(Copy)命令、單擊“復制”按鈕或按Ctrl+C組合鍵可以將當前選中的內(nèi)容復制到剪貼板中。4.粘貼(Paste)從編輯菜單中選用“粘貼”(Paste)命令、單擊“粘貼”按鈕或按Ctrl+V組合鍵可以將粘貼板中的當前內(nèi)容復制到當前插入點的位置。5.粘貼特定..(PasteSpecial。。)與上面的命令不同,它可以用于剪貼板中的內(nèi)容不是文本的情形.6.全選(SelectAll)

從編輯菜單中選用“SelectAll”命令或按Ctrl+A組合鍵可選定當前窗口中的所有內(nèi)容。7.匹配小括號(MatchParenthesis)

從編輯菜單中選用“MatchParenthesis”命令、單擊“MatchParenthesis”按鈕或按Ctrl+P組合鍵可以為當前選中的開括號查找匹配的閉括號。8.粘貼函數(shù)(PasteFunction)從編輯菜單中選用“PasteFunction”命令可以將LINGO的內(nèi)部函數(shù)粘貼到當前插入點。LINGO軟件菜單——LINGO1.求解模型(Slove)

從LINGO菜單中選用“求解”命令、單擊“Slove”按鈕或按Ctrl+S組合鍵可以將當前模型送入內(nèi)存求解。2.求解結(jié)果...(Solution...)

從LINGO菜單中選用“Solution...”命令、單擊“Solution...”按鈕或直接按Ctrl+O組合鍵可以打開求解結(jié)果的對話框。這里可以指定查看當前內(nèi)存中求解結(jié)果的那些內(nèi)容。3.靈敏性分析(Range,Ctrl+R)用該命令產(chǎn)生當前模型的靈敏性分析報告:研究當目標函數(shù)的費用系數(shù)和約束右端項在什么范圍(此時假定其它系數(shù)不變)時,最優(yōu)基保持不變。靈敏性分析是在求解模型時作出的,因此在求解模型時靈敏性分析是激活狀態(tài),但是默認是不激活的。為了激活靈敏性分析,運行LINGO|Options…,選擇GeneralSolverTab,在DualComputations列表框中,選擇PricesandRanges選項。靈敏性分析耗費相當多的求解時間,因此當速度很關(guān)鍵時,就沒有必要激活它。4.選項...(Options...)從LINGO菜單中選用“Options...”命令、單擊“Options...”按鈕或直接按Ctrl+I組合鍵可以改變一些影響LINGO模型求解時的參數(shù)。該命令將打開一個含有7個選項卡的窗口,你可以通過它修改LINGO系統(tǒng)的各種參數(shù)和選項。

5.模型通常形式...(Generate...)從LINGO菜單中選用“Generate...”命令或直接按Ctrl+G組合鍵可以創(chuàng)建當前模型的代數(shù)形式、LINGO模型或MPS格式文本。6.圖片(Picture)7.調(diào)試(Debug)8.模型統(tǒng)計(ModelStatistics)6.查看...(Look...)從LINGO菜單中選用“Look...”命令或直接按Ctrl+L組合鍵可以查看全部的或選中的模型文本內(nèi)容。通過“LINGO|Generate|DisplayModel(Ctrl+G)”命令可以看到完整的模型以及每行語句對應(yīng)的行號了。可使用“

LINGO|Picture

”命令檢查模型中的簡單錯誤,該命令將目標函數(shù)和約束表達式中的非零系數(shù)通過列表(或圖形)顯示出來。敏感性分析敏感性分析的作用是給出“Rangesinwhichthebasisisunchanged”,即研究當目標函數(shù)的系數(shù)和約束右端項在什么范圍變化(此時假定其他系數(shù)保持不變)時,最優(yōu)基(矩陣)保持不變。注意:這里LINGO不詢問是否進行敏感性分析。如果需要進行敏感性分析,必須用“LINGO|Options”命令打開系統(tǒng)選項對話框,在“GeneralSolver”標簽下的“DualComputations”下拉列表中選中“Prices&Range”,再按下“OK”按鈕激活敏感性分析功能。修改了系統(tǒng)選項后,以后只需調(diào)用“LINGO|Range”命令即可進行敏感性分析了。修改運行時的內(nèi)存限制激活敏感性分析LINGO軟件菜單——WINDOW1.命令行窗口(OpenCommandWindow)

從窗口菜單中選用“OpenCommandWindow”命令或直接按Ctrl+1可以打開LINGO的命令行窗口。在命令行窗口中可以獲得命令行界面,在“:”提示符后可以輸入LINGO的命令行命令。2.狀態(tài)窗口(StatusWindow)

從窗口菜單中選用“StatusWindow”命令或直接按Ctrl+2可以打開LINGO的求解狀態(tài)窗口?;氐侥P痛翱冢⊿entToBack)Ctrl+B關(guān)閉所有窗口(CloseAll)Ctrl+3并行放置窗口(Tile)Ctrl+4層疊放置窗口(Cascade)Ctrl+5放置圖標(ArrangeIcons)Ctrl+6LINGO軟件菜單——HELP1.幫助主題(HelpMenu)

從幫助菜單中選用“HelpMenu”可以打開LINGO的幫助文件。注冊信息(Register)

填寫注冊信息。自動更新(AutoUptate)

自動升級。2.關(guān)于LINGO(AboutLingo)

關(guān)于當前LINGO的版本信息等。打開文件:F3打印文件:F7復制:Ctrl+C取消操作:Ctrl+Z查找:Ctrl+F顯示解答:Alt+O匹配括號:Ctrl+P選項設(shè)置:Ctrl+I關(guān)閉所有窗口:Alt+X在線幫助:F1新建文件:F2保存文件:F4剪切:Ctrl+X粘貼:Ctrl+V恢復操作:Ctrl+Y定位某行:ctrl+T求解模型:Ctrl+S模型圖示:Ctrl+K窗口后置:Ctrl+B

平鋪窗口:Alt+T上下文相關(guān)的幫助LINGO軟件工具欄“LG4”表示LINGO格式的模型文件,是一種特殊的二進制格式文件,保存了我們在模型窗口中所能夠看到的所有文本和其他對象及其格式信息,只有LINGO能讀出它,用其他系統(tǒng)打開這種文件時會出現(xiàn)亂碼

“LNG”表示LINGO文本文件,以這個格式保存模型時系統(tǒng)

將給出警告,因為模型中的格式信息(如字體、顏色等)將會丟失

“LDT”表示數(shù)據(jù)文件“LTF”表示

命令腳本文件“LGR”表示

報告文件

除“LG4”文件外,這里的另外幾種格式的文件其實都是普通的文本文件,可以用任何文本編輯器打開和編輯

LINGO軟件文件保存類型Variables(變量數(shù)量):變量總數(shù)(Total)、非線性變量數(shù)(Nonlinear)、整數(shù)變量數(shù)(Integer)。Constraints(約束數(shù)量):約束總數(shù)(Total)、非線性約束個數(shù)(Nonlinear)。Nonzeros(非零系數(shù)數(shù)量):總數(shù)(Total)、非線性項系數(shù)個數(shù)(Nonlinear)。GeneratorMemoryUsed(K)(內(nèi)存使用量)ElapsedRuntime(hh:mm:ss)(求解花費的時間)LINGO軟件運行狀態(tài)窗口的參數(shù)解釋LINGO軟件運行狀態(tài)窗口的參數(shù)解釋求解器(求解程序)狀態(tài)框當前模型的類型:LP,QP,ILP,IQP,PILP,PIQP,NLP,INLP,PINLP(以I開頭表示IP,以PI開頭表示PIP)當前解的狀態(tài):"GlobalOptimum","LocalOptimum","Feasible","Infeasible“(不可行),"Unbounded“(無界),"Interrupted“(中斷),"Undetermined“(未確定)解的目標函數(shù)值當前約束不滿足的總量(不是不滿足的約束的個數(shù)):實數(shù)(即使該值=0,當前解也可能不可行,因為這個量中沒有考慮用上下界命令形式給出的約束)目前為止的迭代次數(shù)運行狀態(tài)窗口擴展的求解器(求解程序)狀態(tài)框使用的特殊求解程序:B-and-B(分枝定界算法)Global(全局最優(yōu)求解程序)Multistart(用多個初始點求解的程序)目前為止找到的可行解的最佳目標函數(shù)值目標函數(shù)值的界特殊求解程序當前運行步數(shù):分枝數(shù)(對B-and-B程序);子問題數(shù)(對Global程序);初始點數(shù)(對Multistart程序)有效步數(shù)

一個簡單的LINGO程序例直接用LINGO來解如下二次規(guī)劃問題:輸入窗口如下:目標函數(shù)約束條件變量取整每個語句以“;”結(jié)束順序無關(guān)程序:eg1.lg4

輸出結(jié)果:運行菜單命令“LINGO|Solve”最優(yōu)整數(shù)解X=(35,65)最大利潤=11077.5一個簡單的LINGO程序語法以“model:”開始,以“end”結(jié)束字母不區(qū)分大小寫每個語句以分號“;”結(jié)束規(guī)定所有決策變量非負“

”與“>”

輸入為

“>=”“

”與“<”

輸入為“<=”[注釋]或為!注釋文字abc輸入為ab和ac兩個式子a/bc輸入為ab*c無上下標號例如x1

輸入為x1目標函數(shù)Maxz=……輸入為max=…..

Minz=……輸入為min=…..

例3.1一奶制品加工廠用牛奶生產(chǎn)A1,A2兩種奶制品,1桶牛奶可以在甲車間用12h加工成3kgA1,或者在乙車間用8h加工成4kgA2。根據(jù)市場需求,生產(chǎn)出的A1,A2全部能售出,且每千克A1獲利24元,每千克A2獲利16元?,F(xiàn)在加工廠每天能得到50桶牛奶的供應(yīng),每天正式工人總的勞動時間為480h,并且甲車間的設(shè)備每天至多能加工100kgA1,乙車間的設(shè)備的加工能力可以認為沒有上限限制(即加工能力足夠大)。試為該廠制定一個生產(chǎn)計劃,使每天獲利最大,并進一步討論以下3個附加問題: (1)若用35元可以買到1桶牛奶,是否作這項投資?若投資,每天最多購買多少桶牛奶? (2)若可以聘用臨時工人以增加勞動時間,付給臨時工人的工資最多是每小時幾元? (3)由于市場需求變化,每千克A1的獲利增加到30元,是否應(yīng)該改變生產(chǎn)計劃?優(yōu)化模型

決策變量: 設(shè)每天用x1桶牛奶生產(chǎn)A1,用x2桶牛奶生產(chǎn)A2

目標函數(shù): 設(shè)每天獲利為z(元),x1桶牛奶生產(chǎn)3x1(kg)A1,獲利24×3x1,x2桶牛奶生產(chǎn)4x2(kg)A2,獲利16×4x1,故z=72x1+64x2.

約束條件:

原料供應(yīng):生產(chǎn)A1,A2的原料(牛奶)總量不得超過每 天的供應(yīng),即x1+x2≤50(桶);

勞動時間:生產(chǎn)A1,A2的總加工時間不得超過每天正式 工人總的勞動時間,即12x1+8x2≤480(h);

設(shè)備能力:A1的產(chǎn)量不得超過甲車間設(shè)備每天的加工 能力,即3x1≤100;

非負約束:x1,x2均不能為負值。綜上所述Maxz=72x1+64x2;s.t.x1+x2≤50,

12x1+8x2≤480,

3x1≤100,

x1,x2≥0線性規(guī)劃模型(LP)模型分析與假設(shè)

比例性可加性連續(xù)性xi對目標函數(shù)的“貢獻”與xi取值成正比xi對約束條件的“貢獻”與xi取值成正比xi對目標函數(shù)的“貢獻”與xj取值無關(guān)xi對約束條件的“貢獻”與xj取值無關(guān)xi取值連續(xù)A1,A2每公斤的獲利是與各自產(chǎn)量無關(guān)的常數(shù)每桶牛奶加工出A1,A2的數(shù)量和時間是與各自產(chǎn)量無關(guān)的常數(shù)A1,A2每公斤的獲利是與相互產(chǎn)量無關(guān)的常數(shù)每桶牛奶加工出A1,A2的數(shù)量和時間是與相互產(chǎn)量無關(guān)的常數(shù)加工A

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論