GAMS軟件及各求解器介紹
通用代數建模系統(GAMS)是數學編程和優化的高級建模系統。它由一個語言編譯器和一個穩定的集成各種高性能的求解器組成。GAMS適用于復雜的、大規模的建模應用,并允許您創建大的維護模型以很快的適應新的情況。
最前沿的建模系統
專注建模
GAMS允許用戶在某種程度上,用跟數學描述非常相似的方式來制定數學模型。GAMS讓用戶專注建模,通過要求簡潔和精確的實體和關系規范,鼓勵良好的建模習慣。GAMS語言與通用編程語言形式相似,因此對于有編程經驗的人來說是熟悉的。由于模型的制定方式在某種程度上與它的數學描述類似,所以不僅是程序員,實際領域的專家也能理解和維護。GAMS專注于建模并且允許做所有相關的事。
陳述性知識和程序性要素的平衡混合,允許用戶在GAMS中構建復雜的算法甚至實現分解方法。尤其是解決異常問題的模型,以及隨之而來的性能問題。
設計不一樣的規則
我們努力去適應,而非直接拿來。
GAMS專注于其核心競爭力:讓用戶創建可讀性、可維護的模型,用最好的求解方法解決任何問題。開放的體系結構和多個數據接口允許與外部系統無縫通信。
模型、求解器、數據、平臺和用戶界面都在獨立層,便于切換求解器、使用多個數據集、在多個平臺運行以及將GAMS整合到現有的應用、結構和工作流中去。
獨立的模型和求解器
提供超過25個廣泛和多樣化的求解器組合,包括所有預期的商業化求解器。
LP/MIP/QCP/MIQCP: CPLEX, GUROBI, MOSEK, XPRESS
NLP: CONOPT, IPOPTH, KNITRO, MINOS, SNOPT
MINLP: ALPHAECP, ANTIGONE, BARON, DICOPT, OQNLP, SBB
混合互補問題求解器(MCP)、平衡約束數學規劃求解器(MPEC)和約束非線性系統求解器(CNS)
免費捆綁到每個GAMS系統中的 (比如 BONMIN (MINLP), CBC (LP, MIP), COUENNE (MINLP), IPOPT (NLP)。教育版還包括了SCIP和SOPLEX。
選擇使用的求解器非常簡單---只要改變一行代碼或者調整一個選項設置就可以了。想要比較求解器的性能或者看有什么改進的可能,也不需要做任何的設置。同樣的,模型類型可以輕松切換(比如:線性和非線性),嘗試不同的公式也非常的容易。通過使用GAMS,您可以得到一個廣泛類型的模型和求解器的環境。
獨立的模型和數據
你可以編寫獨立的模型數據,包括各種不同來源的數據,從ASCII到Excel或者Access
以及其他各種來源。比如使用GDX(GAMS數據交換)文件格式。GDX文件可以保存一個或多個GAMS符號的值,比如集、參數變量和方程。GDX文件可以為GAMS模型準備數據、展示GAMS模型的結果、使用不同的參數為這同一個模型保存結果等。GDX文件不能保存一個模型的公式或者執行語句。GDX文件二進制文件,可在不同平臺進行移植。
獨立的模型和平臺
模型在平臺間是完全可移植的---寫一次,可以在任意地方運行。
GAMS可以在Windows, Linux, Mac OS X, SOLARIS, Sparc Solaris和 IBM Power AIX上運行。
獨立的模型和用戶界面
面向對象的GAMA API允許GAMS無縫整合到為交互提供適當類別的應用中。這三個面向對象GAMS API是.NET, Java和Python與.NET framework 4 (Visual Studio 2010)、Java SE 5或更高版本以及Python 3.4, 2.7和2.6。
除了面向對象的GAMA API,還有專家級別(或級別) 的GAMS API,它們的使用要求有高深知識的GAMS組件庫。
除了API, GAMS還提供智能鏈接到應用程序,如MS Excel, MatLab或R。用戶可以在這個環境中繼續工作,通過一個API就可以訪問GAMS所有的優化功能。這就允許應用中的模型數據和結果可以可視化和分析了。
大型、全球用戶社區
超過120多個國家的不同領域的跨國公司、學校、研究機構和政府都在使用GAMS,包括能源化工、經濟建模、農業規劃或制造業。
GAMS求解器
求解器
描述
ALPHAECP
基于擴展平面切割(ECP)方法的MINLP求解器
AMPL
在AMPL模型系統中使用求解器時與GAMS模型連接
ANTIGONE 1.1
MINLP確定性全局優化
BARON
成熟全球解決方案的分支和減少優化向導
BDMLP
任意GAMS系統都配備了LP和MIP求解器
BENCH
實用方便的GAMS求解器和驗證方案
BONMIN 1.8
COIN-OR MINLP求解器執行各類分支定界和外逼近算法
CBC 2.9
高性能LP/MIP求解器
CONOPT 3
大型的NLP求解器
CONOPT 4
大型的NLP求解器
CONVERT
將模型轉換成其他語言的標量模型的框架
COUENNE 0.5
(MI)NLP確定性全局優化
CPLEX 12.7
高性能LP/MIP求解器
DE
產生和解決包括EMP/SP中的隨機規劃的確定等價
DECIS
大規模隨機規劃求解器
DICOPT
求解MINLP模型框架
EXAMINER
檢查解點并評估其優點的工具
GAMSCHK
GAMS求解線性規劃問題時對結構和解決方案屬性的檢查系統
GLOMIQO 2.3
混合整數二次模型分支定界全局優化
GUROBI 7.0
高性能LP/MIP求解器
GUSS
有效解決多個相關模型實例的框架(收集更新分散的求解方案)
IPOPT 3.12
大規模非線性規劃的內點優化算法
JAMS
擴展數學規劃求解器(包括LogMIP)
KESTREL
本地GAMS系統使用遠程NEOS求解器框架
KNITRO 10.0
大型NLP求解器
LGO
全局--局部非線性優化求解套件
LINDO 10.0
隨機求解器,包括一個無限制版本的LINDOGLOBAL
LINDOGLOBAL 10.0
成熟全局解決方案的MINLP求解器
LINGO
在LINGO模型系統中使用求解器求解GAMS模型的鏈接
LOCALSOLVER 6.0
混合鄰域搜索算法
LS
GAMS線性回歸求解器
MILES
MCP求解器
MINOS
NLP求解器
MOSEK 8
大型LP/MIP加錐凸非線性規劃系統
MSNLP
全局優化的多啟動方法
NLPEC
使用其他GAMS NLP求解器把MPEC轉換成NLP
OQNLP
全局優化的多頭啟動方法
OsiCplex
Bare-Bone與CPLEX連接
OsiGurobi
Bare-Bone 與Gurobi連接
OsiMosek
Bare-Bone與 Mosek 連接
OsiXpress
Bare-Bone與 Xpress 連接
PATHNLP
凸面問題的大規模NLP求解器
PATH
大規模MCP求解器
PYOMO
在PYOMO模型系統中使用求解器求解GAMS模型的鏈接
SBB
求解MINLP模型的分支定界算法
SCIP 3.2
高性能約束整數規劃求解器
SNOPT
基于NLP求解器的大規模SQP算法
SOPLEX 2.2
高性能LP求解器
XA
大規模LP/MIP求解器
XPRESS 28.01
高性能LP/MIP求解器