LINGO,全稱Linear Interactive and General Optimizer,可以用于求解非線性規(guī)劃,也可以用于一些線性和非線性方程組的求解等,功能十分強大,是使建立和求解線性、非線性和整數(shù)最佳化模型更快更簡單更有效率的綜合工具。軟件內置建模語言,提供十幾個內部函數(shù),可以允許決策變量是整數(shù),方便靈活,而且執(zhí)行速度非常快。能方便與EXCEL,數(shù)據(jù)庫等其他軟件交換數(shù)據(jù)。
LINGO軟件特色
1、簡單的模型表示
Lingo 可以將線性、非線性和整數(shù)問題迅速得予以公式表示,并且容易閱讀、了解和修改。LINGO的建模語言允許您使用匯總和下標變量以一種易懂的直觀的方式來表達模型,非常類似您在使用紙和筆。模型更加容易構建,更容易理解,因此也更容易維護。
2、方便的數(shù)據(jù)輸入和輸出選擇
Lingo 建立的模型可以直接從數(shù)據(jù)庫或工作表獲取資料。同樣地,Lingo 可以將求解結果直接輸出到數(shù)據(jù)庫或工作表。使得您能夠在您選擇的應用程序中生成報告.
3、強大的求解器
LINGO擁有一整套快速的,內建的求解器用來求解線性的,非線性的(球面&;非球面的),二次的,二次約束的,和整數(shù)優(yōu)化問題。您甚至不需要指定或啟動特定的求解器,因為LINGO會讀取您的方程式并自動選擇合適的求解器。
4、交互式模型或創(chuàng)建Turn-key應用程序
您能夠在LINGO內創(chuàng)建和求解模型,或您能夠從您自己編寫的應用程序中直接調用LINGO。對于開發(fā)交互式模型,LINGO提供了一整套建模環(huán)境來構建,求解和分析您的模型.對于構建turn-key解決方案,LINGO提供的可調用的DLL和OLE界面能夠從用戶自己寫的程序中被調用。LINGO也能夠從Excel宏或數(shù)據(jù)庫應用程序中被直接調用.
5、廣泛的文件和 HELP 功能
Lingo 提供的所有工具和文件可使你迅速入門和上手。Lingo 使用者手冊有詳細的功能定義。
LINGO軟件功能
1、改進單純形求解器的線性模型的快速求解
改進單純形解算器提高大型線性模型的性能。
大模型解決了平均為35%的速度更快,使用原始單純形和20%的速度更快的雙單純形。
2、具有新特性的改進的整數(shù)解算器
一種新的優(yōu)化模式已被引入,以確保運行的重現(xiàn)性。
調查最快的替代方案。
增強的K-Best算法尋找最佳的解決方案,允許K在多一點時間比找到一個解決方案。
尋找更快的解決方案,以背包約束和塊結構模型,采用新的啟發(fā)式算法。
新的預處理水平•收緊變界更好的類非線性模型的性能。
3、增強隨機解
•大型線性多級SP的情況下解決60%改進管理更快的嵌套Benders分解法。
更好地處理不具備全部追索權的多級SP模型。
解析器的擴展允許隨機參數(shù)的任意復雜函數(shù)的使用。
4、改進的全局求解器
在二次問題的類上,全局解算器的性能得到了極大的改善。特別是,非凸二次
其他者拒絕問題,否則只有慢慢局部最優(yōu)解的傳統(tǒng)的NLP求解器??梢越鉀Q一些
以前難以解決的問題,全球最優(yōu)性,特別是金融投資組合模型的最低購買量,
和/或限制儀器的數(shù)量在非零水平。
•采用了新的約束收緊過程線性化,提高了線性模型的可解性。
顯著更快,更強大的性能在許多車型上的功能,如@最大(),@最小(),@的Z = Z Z Z = 0或1,等等。
5、本地的Macintosh和Linux的支持
•LINGO軟件的用戶界面已經(jīng)完全改寫為Macintosh和Linux平臺的原生支持。
下面是一個對圖像的非線性的程序在Mac LINGO模型
6、矩陣函數(shù)
•已經(jīng)出現(xiàn)了一些新的功能被添加到Lingo進行矩陣運算。
支持的操作包括:特征值和特征向量的計算、矩陣的行列式,Cholesky分解,
矩陣的逆矩陣,和矩陣的轉置。
7、線性回歸
增加了多元線性回歸的新的回歸函數(shù)。
8、其他改進
現(xiàn)在支持Tornado圖。
額外的分類能力,方便數(shù)據(jù)準備和解決方案報告。
•新日期的功能,“stm2ymdhms,LINGO的標準時間值轉換為等效的日歷日期和時間。
使用說明lingo怎么導出數(shù)據(jù)?
與大多數(shù)接口函數(shù)一樣,@ ODBC可以導出數(shù)據(jù)并導入數(shù)據(jù)。具體來說,您可以在模型的數(shù)據(jù)部分中使用@ODBC函數(shù)將集合成員和屬性值導出到ODBC數(shù)據(jù)源。要使用@ODBC導出解決方案,請將調用@ODBC放入模型的數(shù)據(jù)部分。每次解決模型時都會執(zhí)行這些@ODBC導出指令。
語法形式1:
使用@ODBC導出數(shù)據(jù)的第一種語法形式是:
@ODBC(['data_source'[,'table_name'[,'column_name_1'[,...,
'column_name_n']]]]] = object_list;
注意:導入時,@ODBC出現(xiàn)在等號右側。導出時,@ODBC函數(shù)出現(xiàn)在等號的左側。
請記住,集合成員將導出為文本,而集合屬性將導出為雙精度浮點值。
使用@ODBC將數(shù)據(jù)值導出到ODBC數(shù)據(jù)源的一些示例如下:
示例1:@ODBC('TRANSPORTATION',
'LINKS','VOLUME')=音量;
LINGO將VOLUME屬性的值發(fā)送到ODBC數(shù)據(jù)源TRANSPORTATION中的數(shù)據(jù)表LINKS中標題為VOLUME的列。
示例2:@ODBC()= NUMBER_WORKING;
@ODBC函數(shù)的所有參數(shù)都已省略,默認為數(shù)據(jù)源的模型標題,數(shù)據(jù)表的父集屬性以及列名的屬性名稱。 因此,假設我們使用TITLE語句命名此模型SCHEDULING,并且在集合SCHEDULES上定義了屬性NUMBER_WORKING,則LINGO將屬性NUMBER_WORKING導出到ODBC數(shù)據(jù)源SCHEDULING中數(shù)據(jù)表SCHEDULES中標題為NUMBER_WORKING的列。