系统概述
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文章
1618浏览量
49057
原文标题:GAMS - 建模语言
文章出处:【微信号:哲想软件,微信公众号:哲想软件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论