Lingo是一款優(yōu)秀的可視化數(shù)學建模軟件,提供了一個完全集成的軟件包,包括用于表達優(yōu)化模型的強大語言,用于構建和編輯問題的全功能環(huán)境以及一組快速內置解算,也可以用于一些線性和非線性方程組的求解等,功能十分強大,是求解優(yōu)化模型的最佳選擇。
Lingo軟件特色
1、簡單的模型表示
Lingo 可以將線性、非線性和整數(shù)問題迅速得予以公式表示,并且容易閱讀、了解和修改。
2、方便的數(shù)據(jù)輸入和輸出選擇
Lingo 建立的模型可以直接從數(shù)據(jù)庫或工作表獲取資料。同樣地,Lingo 可以將求解結果直接輸出到數(shù)據(jù)庫或工作表。
3、強大的求解引擎
Lingo 內建的求解引擎有線性、非線性(convex and nonconvex)、二次、二次限制和整數(shù)最佳化。
4、Model Interactively or Create Turn-key Applications
Lingo 提供完全互動的環(huán)境供您建立、求解和分析模型。Lingo 也提供 DLL 和 OLE 界面可供使用者由撰寫的程序中呼叫。
5、廣泛的文件和 HELP 功能
Lingo 提供的所有工具和文件可使你迅速入門和上手。Lingo 使用者手冊有詳細的功能定義。
Lingo軟件功能
1、代數(shù)建模語言:支持一種強大的,基于集合的建模語言,該語言允許用戶高效而緊湊地表達數(shù)學編程模型。使用LINGO的內部腳本功能可以迭代解決多個模型。
2、便的數(shù)據(jù)選項:花費時間和精力來管理數(shù)據(jù)。它使您可以構建直接從數(shù)據(jù)庫和電子表格中提取信息的模型。同樣,LINGO可以將解決方案信息直接輸出到數(shù)據(jù)庫或電子表格中,從而使您更輕松地在自己選擇的應用程序中生成報告。模型和數(shù)據(jù)的完全分離增強了模型的維護和可伸縮性。
3、交互式建?;騽?chuàng)建交鑰匙應用程序:您可以在LINGO中構建和求解模型,也可以直接從編寫的應用程序中調用LINGO。為了以交互方式開發(fā)模型,LINGO提供了一個完整的建模環(huán)境來構建,求解和分析您的模型。對于構建交鑰匙解決方案,LINGO帶有可調用的DLL和OLE接口,可以從用戶編寫的應用程序中調用它們。也可以直接從Excel宏或數(shù)據(jù)庫應用程序中調用LINGO。 LINGO當前包括C / C ++,F(xiàn)ORTRAN,Java,C#.NET,VB.NET,ASP.NET,Visual Basic,Delphi和Excel的編程示例。
4、廣泛的文檔和幫助:提供了快速啟動和運行所需的所有工具。您將獲得LINGO用戶手冊(印刷版,可通過在線幫助獲得),該手冊全面描述了該程序的命令和功能。超級版本和更大版本中還包括LINGO優(yōu)化建模的副本,這是一份全面的建模文本,討論了線性,整數(shù)和非線性優(yōu)化問題的所有主要類別。 LINGO還提供了許多基于現(xiàn)實世界的示例,供您修改和擴展。
5、強大的求解器和工具:可提供一組全面的快速內置求解器,用于線性,非線性(凸和非凸),二次,二次約束和整數(shù)優(yōu)化。您無需指定或加載單獨的求解器,因為LINGO會讀取您的公式并自動選擇合適的求解器。 LINGO中可用的求解器和工具的一般說明如下:
6、通用非線性求解器:提供一般的非線性和非線性/整數(shù)功能。為了使用LINDO API的非線性功能,需要使用非線性許可選項。
7、全局求解器:全局求解器在分支定界框架內結合了一系列范圍邊界(例如區(qū)間分析和凸分析)和范圍縮小技術(例如線性規(guī)劃和約束傳播),以找到經(jīng)過驗證的非凸非線性程序的整體解。傳統(tǒng)的非線性求解器可能會卡在次優(yōu)的局部解中。使用全局求解器時,情況不再如此。
8、多啟動求解器:多起點求解器在NLP和混合整數(shù)NLP的求解空間中智能地生成候選起點序列。每個起點都需要調用傳統(tǒng)的NLP求解器,以找到局部最優(yōu)值。對于非凸NLP模型,多起點求解器發(fā)現(xiàn)的最佳解決方案的質量往往優(yōu)于傳統(tǒng)非線性求解器的單個解決方案。用戶可調參數(shù)控制要執(zhí)行的最大多次啟動次數(shù)。
9、屏障求解器:障礙求解器是解決線性,二次和圓錐問題的一種替代方法。 LINGO最先進的屏障方法實現(xiàn)為大型,稀疏模型提供了巨大的速度優(yōu)勢。
10、單純形求解器:提供了原始和對偶單純形法的兩種高級實現(xiàn),作為解決線性編程問題的主要手段。其靈活的設計允許用戶通過更改一些算法參數(shù)來微調每種方法。
11、混合整數(shù)求解器:軟件的混合整數(shù)求解器的功能擴展到線性,二次和一般非線性整數(shù)模型。它包含幾種高級解決方案技術,例如剪切生成,動態(tài)減少樹增長的樹重新排序以及先進的啟發(fā)式和預解決策略。
12、隨機解算器:隨機規(guī)劃求解器通過具有追索權的多階段隨機模型支持不確定情況下的決策。用戶通過識別分布函數(shù)(內置的或用戶定義的)描述不確定性。
使用教程
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的列。
下一篇:杉果游戲服務平臺