系統概述
GAMS是一個用于數學規劃和優化的高級建模系統。它由一個語言編譯器和一系列相關的求解器組成。
GAMS建模語言允許建模人員將現實世界的優化問題快速轉換為計算機代碼。然后,GAMS語言編譯器將這些代碼翻譯成解算器可以理解和求解的格式。該體系結構提供了極大的靈活性,允許在不更改模型公式的情況下更改所使用的解算器。
GAMS語言概述
GAMS語言提供了描述模型的自然方式。Dantzig(1963年)的一個常用簡單示例最能說明這一點:
目標是最大限度地降低將貨物從兩個工廠運送到三個市場的成本,同時滿足供應和需求限制。
指數
給定數據
工廠↓ 紐約 芝加哥 托皮卡← 市場
西雅圖 2.5 1.7 1.8 350
圣地亞哥2.5 1.8 1.4 600
需求→ 325 300 275 ↑ 供應
F=每千英里$
決策變量
約束條件
目標函數
GAMS模型
使用GAMS語言可以很容易地表述上述內容。使用簡潔的代數描述使模型高度緊湊,具有邏輯結構。內部文檔,如參數和測量單位的解釋,使模型易于閱讀。
綜合解算器
GAMS具有開發、調試、部署和維護優化模型所需的所有功能。使用GAMS可以建立大量數學模型類型(線性、混合整數、非線性、混合整數非線性、混合互補等)。
GAMS從您的模型和數據中創建優化問題,并檢索結果進行分析和處理,但它不能解決優化問題。
相反,它使用已連接到GAMS并包含在GAMS系統中的所謂解算器。以下是每個解算器的簡要說明、每個解算器能夠解算的模型類型以及每個解算器支持的平臺。
GAMS BaseModule包括所有開源解算器、一些自由解算器和自由鏈接,以及大小受限版本中的所有其他解算器。盡管所有這些解算器都包含在GAMS系統中,但其中一些解算器需要商業許可證,其使用受我們的許可協議管轄。
如果您已經有權訪問要使用的特定解算器,則可以購買GAMS/Solver-Link。每個鏈接將GAMSBase Module連接到特定解算器,但不包括解算器的許可證。在使用解算器之前,可能需要從解算器供應商處購買單獨的許可證。
選擇正確的解算器可能需要相當多的嘗試和錯誤,一般來說,特定解算器的性能無法通過問題大小或其他簡單的度量來預測。
審核編輯:劉清
-
編譯器
+關注
關注
1文章
1636瀏覽量
49173
原文標題:GAMS - 建模語言
文章出處:【微信號:哲想軟件,微信公眾號:哲想軟件】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論