GAMS建模语言系统概述

描述

系统概述

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连接到特定解算器,但不包括解算器的许可证。在使用解算器之前,可能需要从解算器供应商处购买单独的许可证。

选择正确的解算器可能需要相当多的尝试和错误,一般来说,特定解算器的性能无法通过问题大小或其他简单的度量来预测。





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分