(GAMS)入门教程

资源

  • The GAMS Model Library 官网模型库,含讲解
  • User’s Guide - GAMS 官网的在线help,非常方便查问题,而且保证查到的是最新的资料。
  • PDF文档
    • 《GAMS用户指南》 魏传江等编译(中文版)
    • GAMS – A User’s Guide(英文版的PDF,可直接在软件的help打开,如下图所示)
      • 优点:方便Ctrl+F
      • 缺点:不一定全。如果查不到可以到 官网 搜一波。
        在这里插入图片描述

学习思路

  • 想学某一类问题的编程,如LP问题
    • 在数学建模书看懂这类问题
    • 找一个简单的例子练习
      • 自己构建好模型,列好式子
      • 先就去The GAMS Model Library 找找LP问题相似的例子,看一看怎么编写,看懂它~
      • 模仿一下很快就能编出来
  • 有知识点不明白的可以查一下help,或者是guide

加油!😄

  • 6
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
The General Algebraic Modeling System (GAMS)是一款数学规划和优化的高级建模系统。   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 输出档内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值