美賽利器中,除了較為(wei) 通用的MATLAB和SPSS,還有一款軟件不容錯過。眾(zhong) 所周知,優(you) 化類問題是美賽中的常見考點,而其模型構建、計算是個(ge) 不小的挑戰,手工計算不現實、編程計算困難又耗時,那,專(zhuan) 門針對優(you) 化問題而生的LINGO便是不二之選了。
01
LINGO的基本介紹
LINGO是美國LINDO係統公司(LindoSystemInc)開發的求解數學規劃係列軟件中的一個(ge) ,是交互式的線性和通用優(you) 化求解器,主要功能是快速、方便和有效的構建和求解大型線性、非線性和整數規劃問題。Lingo提供強大的語言和快速的求解引擎來闡述和求解最佳化模型。
LINGO目前分為(wei) Demo、SolveSuite、Super、Hyper、IndustrialExtended等六類不同版本(並有單機版和教學網絡版的區分),隻有Demo版是免費的,其他版本需要購買(mai) ,LINGO的不同版本對模型的變量總數、非線性變量數目、整型變量數目和約束條件的數量作出不同的限製(其中Extended版本無限製)。
02
LINGO在美賽中的強大之處
是不是許多小夥(huo) 伴有這樣的想法:“MATLAB有著一手走遍美賽的強大功能,那我們(men) 為(wei) 什麽(me) 還要學習(xi) LINGO呢?”
在美賽中,優(you) 化問題是常考題型。我們(men) 遇到的許多優(you) 化問題都可以歸結為(wei) 規劃問題,如線性規劃、非線性規劃、二次規劃、整數規劃、動態規劃、多目標規劃等。
當遇到變量比較多或者約束條件表達式比較複雜的情況時,想用手工計算來求解之類問題幾乎是不可能的。
MATLAB等編程計算雖然可行,但工作量大,程序長而繁瑣,稍不小心就會(hui) 出錯;還可能需要花費大量的時間和精力。
可行的辦法是用現成的軟件求解,LINGO是專(zhuan) 門用來求解各種規劃問題的軟件包,其功能十分強大,是求解優(you) 化模型的最佳選擇。
LINGO的主要功能特色為(wei) :
(1)既能求解線性規劃問題,也有較強的求解非線性規劃問題的能力;(2)輸入模型簡練直觀;(3)運行速度快、計算能力強;(4)內(nei) 置建模語言,提供幾十個(ge) 內(nei) 部函數,從(cong) 而能以較少語句,較直觀的方式描述較大規模的優(you) 化模型;(5)將集合的概念引入編程語言,很容易將實際問題轉換為(wei) LINGO模型;(6)能方便地與(yu) Excel、數據庫等其他軟件交換數據。
03
LINGO學習(xi) 建議
學習(xi) LINGO需要有運籌學的基礎。如果沒有學過運籌學,那麽(me) 可以按照如下路線來學習(xi) 。
1.學習(xi) 線性規劃:掌握目標函數、約束條件的表達。對於(yu) 具體(ti) 的計算方法可以完全忽略,因為(wei) 後麵就要用LINGO來求解,也就是把學習(xi) 重點放在建立模型上,而不要在求解算法(如單純型法)花太長時間。對於(yu) 一個(ge) 個(ge) 具體(ti) 問題,如何表達目標函數和約束條件,應當反複揣摩,仔細體(ti) 會(hui) ,因為(wei) 這是建立模型最基本也是最常用的技巧。
2.學習(xi) LINGO的基本使用:嚐試用LINGO解決(jue) 一些相對比較簡單的線性規劃問題。掌握LINGO中的函數的用法,掌握原始集合和派生集合的使用。
3.學習(xi) 整數規劃:包括純整數規劃、混合整數規劃。了解分支定界算法的基本思想就可以了,對於(yu) 大規模的問題,手工肯定是算不出來的,一定要用LINGO來算。這一塊也要學習(xi) 如何用數學中的等式和不等式來表達目標函數和約束條件。
4.學習(xi) 用LINGO求解經典整數規劃問題:例如背包問題、指派問題和其他整數問題。學習(xi) 如何表達決(jue) 策變量的整數約束、0-1整數約束,當然重點還是學習(xi) 整數規劃建模的思想方法。
5.學習(xi) LINGO中稀疏集合的表示方法,並用LINGO求解一些圖論中的問題,比如最短路問題。
6.學習(xi) 通過剪貼板、文本文件、EXCEL和LINGO交換數據的方法。
04
LINGO基本用法
考慮到有些小夥(huo) 伴對LINGO接觸尚淺,小競在這裏用通用簡單的知識點和例子為(wei) 大家介紹一下LINGO的常見用法。
(一)LINGO輸入模型的語法規範
通常,一個(ge) 優(you) 化模型由以下三部分所組成:(1)目標函數,一般表示成求某個(ge) 數學表達式的最大值或最小值;(2)決(jue) 策變量,目標函數值取決(jue) 於(yu) 哪些變量;(3)約束條件,對變量附加一些條件限製(常用等式或不等式表示)。
LINGO的語法規定:(1)求目標函數的最大值或最小值分別用MAX=…或MIN=…來表示;
(2)每個(ge) 語句必須以分號“;”結束,每行可以有多個(ge) 語句,語句可以跨行;
(3)變量名稱必須以字母(A~Z)開頭,由字母、數字(0~9)和下劃線所組成,長度不超過32個(ge) 字符,不區分大小寫(xie) ;
(4)可以給語句加上標號,例如[OBJ]MAX=200*X1+300*X2;
(5)以!開頭,以“;”號結束的語句是注釋語句;
(6)如果對變量的取值範圍沒有作特殊說明,則默認所有決(jue) 策變量都非負;
(7)LINGO模型以語句“MODEL:”開頭,以“END”結束,對於(yu) 比較簡單的模型,這兩(liang) 個(ge) 語句可以省略。
(二)LINGO實現約束條件下的最值問題
以上就是運用LINGO輸入模型的基本知識。下麵我們(men) 舉(ju) 個(ge) 例子具體(ti) 感受一下:
如何在LINGO中輸入數學式進行計算呢?
我們(men) 在Model窗口內(nei) 輸入如下模型即可:
MAX=200*X1+300*X2;
X1<=100;
X2<=120;
X1+2*X2<=160;
到此模型就輸入完畢了。選菜單Lingo|Solve,或按Ctrl+S,或用鼠標點擊“求解”按鈕,LINGO便可自動用內(nei) 部所帶的求解程序求出模型的解,然後彈出一個(ge) 標題為(wei) “LINGOSolver Status”(求解狀態)的窗口,其內(nei) 容為(wei) 變量個(ge) 數、約束條件個(ge) 數、優(you) 化狀態、非零變量個(ge) 數耗費內(nei) 存、所花時間等信息。
(三)其他用途
除了上麵所介紹的條件約束下的最值問題,LINGO還可以求解許多類型的優(you) 化、最值問題。
比如美賽中一個(ge) 常見又讓諸多小夥(huo) 伴望而卻步的考點便是微分方程模型了,構建微分方程組已是不易,求解其最優(you) 解更是一大難題。小競訓練的時候,隔壁小夥(huo) 伴不知是編了什麽(me) 代碼計算微分方程組,電腦呼呼呼從(cong) 午飯時間跑到午休結束,終於(yu) 是出了一個(ge) 結果。那可以用LINGO軟件包自帶程序方便快速地求解微分方程組時,一定不要錯過。
05
安裝步驟與(yu) 界麵介紹
經過上麵的介紹,是不是有很多小夥(huo) 伴想下載LINGO好好學習(xi) 一下了?小競貼心的為(wei) 大家整理了安裝步驟和界麵介紹。技不壓身,快快GET同款學起來吧~
(一)下載鏈接
鏈接:
https://pan.baidu***.com/s/1x-1hy51M8UBdpAStHyXnlg
提取碼:s2fj
(二)安裝步驟
1、解壓壓縮包,得到安裝包以及破解補丁,雙擊“LINGO-WINDOWS-64x86-18.0.exe”,單擊“next”。
2、選擇我接受,單擊“next”。
3、單擊“next”。
4、單擊“instll”。
5、等待安裝。
6、單擊“finish”。
7、將破解文件“Lingo_v18_x64_patcher.exe”複製到安裝目錄下,然後運行“Lingo_v18_x64_patcher.exe”。
8、將注冊(ce) 碼“DJqo-DTBK-Bg82-oH8R-FWnT-hRyF-u%9v-tUVQ-JeBc-CTaQ-96k3-N92F-6hD2-c&&N-2E3B-gqZQ-f8Pd-5EJK-i2hK-8yus-ZoaJ-Gah7-yNF8-*%MY-YQUM-$Khz-UPd9-qw4z-U88R-fAJs-W2oJ-Cm?C-%@mE-K59n-Qtdk-Q$?a-?tVs-$qSH-d*U@-@xJo-?A5L-AmXX-zuxv-Q36P-UJhD-U3LR-CA6M-V&#X-iT%t-zdws-ps98-YiFQ-*iuL-w3Ue-pfx@-JCvb-25e$-hq8a-w*C5-up?d-YuEZ-xL4i-*EGZ-bwds-XYYE-4#2*-y%X4-q?Mf-FcV2-gN7X-aEML-bBb9-o*2s-AXNm-a@GT-ZQ%r-@2Vi-bLSV-zng?-rPXG-rcSc-XXrN-ZnRs-Xw*a-o2Yx-APR”複製框中,單擊“ok”。
9、彈出來的對話框中,選擇ok。
10.破解完成。
(三)界麵介紹
1.主界麵
LINGO的主界麵上方位置有一個(ge) 工具條,其上有一些按鈕,如圖所示,自左至右,按鈕的功能依次為(wei) :新建、打開、保存、打印、剪切、複製、粘貼、取消(Undo)、重做(Redo)、查找、定位、匹配括號、求解、顯示解答、模型圖示、選項設置(Options)、窗口後置、關(guan) 閉所有窗口、平鋪窗口、在線幫助和上下文相關(guan) 幫助。單擊某個(ge) 按鈕能執行相應的命令。
2.運行狀態窗口
3.結果窗口
關(guan) 於(yu) LINGO的科普和安裝步驟介紹就到這裏啦,是不是覺得LINGO對優(you) 化、規劃類問題非常有用呢?
評論已經被關(guan) 閉。