開啟主選單

求真百科

來自 搜狐網 的圖片

GAMS是中國的一個專有文化術語。

語言一發即逝,不留痕跡。當人類意識到需要把說出的話記下來時,就發明了文字[1]。在世界範圍內,曾經獨立形成的古老文字除我們的漢字外,還有埃及的聖書字、兩河流域的楔形文字、古印度的印章文字以及中美洲的瑪雅文[2]。後來,這些古老文字的命運各不相同,或因某種歷史原因而消亡,如瑪雅文;或因文字的根本變革而遭廢棄,如楔形文、聖書字,只漢字沿用至今,而且古今傳承的脈絡清晰可見,成了中華民族文化的良好載體。

目錄

名詞解釋

GAMS是最佳化的計算機數值分析商業軟件相當普遍,如 LINDO、DOT 等,以矩陣運算見長的MATLAB 計算機軟件亦有發展"optimization tool box",可以解各種非線性最佳化問題的數值解。這裡要介紹的最佳化的計算機數值分析商業軟件 GAMS,則是以簡單清楚的使用者接口和強健穩定的數值分析能力見長。

通用代數建模系統(GAMS)是特別為建模線性,非線性和混合整數最優化問題而設計的.本系統對於大型的,複雜的問題特別有幫助.GAMS可以運行在個人計算機、工作站、大型機和超級計算機上.

優點

GAMS允許使用者通過制定簡單的設置來把精力放在建模問題上.至於特定機器和系統軟件執行的費時的細節將由GAMS系統來處理.

GAMS對於處理大型的,複雜的,需要多次修訂才能最終確定精確模型的獨一無二的問題特別有幫助.系統以高 度簡潔和自然的方式來建模問題.使用者能夠快速和方便的更改公式,能從一個求解器轉到另一個,甚至稍加費心就能從線性轉換到非線性.

GAMS讓使用者把精力集中到建模上.通過排除考慮純技術上的機器特定的問題的需要,比如地址計算,存儲分配,子程序鏈接,和輸入輸出和流程控制,GAMS增加了用於概念化和運行模型,和分析結果的時間.GAMS本身構建了良好的建模習慣,通過請求簡明而精確的實體和關係的規範.GAMS語言形式上和通常使用的編程語言相似.因此對於那些有編程檢驗的使用者將非常熟悉.

使用GAMS,數據僅僅需要一次就能在熟悉的列表和表格形式中輸入.模型以簡練的代數聲明來描述,對於人和機器都很容易讀懂.非常相關的約束的整個集合都被輸入到一個聲明中.GAMS自動生成每個約束等式,並讓使用者處理例外情況,假使那裡一般來說是不需要的.在模型中的聲明能夠被重用,而不需要更改代數式,當其它的實例是相同的或出現了相關問題.錯誤的位置和類型會在嘗試解決方案前被查明.GAMS處理動態模型,包括時間序列,滯後,及暫時終點的提示和處理.

GAMS是靈活而強大的.模型可以非常方便的從一個計算機平台移到另外一個,只要GAMS已經在每個平台被安裝好.GAMS很容易進行敏感度分析.使用者能夠方便的規劃模型來求解一個成分的不同值,然後生成一個輸出報告,列出了每種情況的解決方案特徵.模型能夠同時被開發和文檔化,因為GAMS允許使用者包含解釋性的文本來作為任意符號和等式的定義和解釋.

GAMS不斷的在被增強和擴展.2.25版本包含了多個語言擴展,例如在一個循環中的SOLVE聲明,INCLUDE聲明,IF-ELSE聲明,和使用PUT聲明進行報告編寫的功能.其它的加強包括增加的系統集成特徵,性能改善,新的子系統,和另外的計算機平台支持.

當前版本2.50包括一個基於Intel Windows平台(95/98/ME和NT/2K/XP)的集成開發環境(IDE).GAMS 2.50的新的分發包含新的語言特徵和新發表的全新/更新的求解器,一年至少4次.請檢查版本聲明.

示例:

從著名的1963書(由George Dantzig編寫)中提取的一個運輸問題,用來描述GAMS的有效性.這個模型只是模型庫中的部分,模型庫中還包含了大量的完整GAMS模型.

支持模型的類型:

GAMS模型類型包括LP,MIP和NLPs的不同形式.這裡列出了GAMS支持的所有的模型類型.

GAMS 的發展背景

GAMS 是"General Algebraic Modeling System"(㆒般性代數仿真系統)的縮寫,最早是由美國的世界銀行(World Bank)的 Meeraus 和 Brooke [Brooke, Kendrickm and Meeraus, 1992]所發展。"GAMS"事實㆖並不代表任何最佳化數值算法,而只是㆒個高級語言的使用者接口,利用 GAMS 可以很容易建立、修改、除錯你的最佳化模型輸入文件,而輸入檔經過編譯後,成為較低階的最佳化數值算法程序所能接受的格式,再加以執行並寫出輸出檔。

數值算法方面,對線性與非線性規劃問題,GAMS 使用由新南韋爾斯大學的Murtagh、及史丹福大學的 Gill、Marray、Saunders、Wright 等㆟所發展的 MINOS [Murtagh and Saunders, 1983] 算法。MINOS是 "Modular In-core Non-linear Optimization System"的縮寫,這個算法綜合了縮減梯度法和准牛頓法,是專門為大型、複雜的線性與非線性問題設計的算法。對混合整數規劃問題,則採用亞歷桑那大學的 Marsten 及巴爾第摩大學的 Singhal[1987]共同發展的 ZOOM(Zero/One Optimization Method)算法。

GAMS 使用範例說明

如前所述,GAMS 本身有非常完整的英文版使用者手冊,GAMS 的計算機軟件㆗也附帶了許多學習範例的檔案。這裡所作的 GAMS 使用範例說明,目的絕非在取代原版的使用者手冊,而是要配合本課程說明的形式,重新編寫使用範例輸入文件,使讀者能很快的進入情況,了解其使用程序。

GAMS 的操作大抵可分為三個步驟:建立 GAMS 輸入文件,執行 GAMS 程序,檢視 GAMS 輸出檔內容。

參考文獻