GAMS 与 AMPL 代数建模语言的比较
我有兴趣了解 GAMS 和 AMPL 用户对这些语言的优缺点的意见。
I'd be interested in getting the opinion from users of GAMS and AMPL on what the strength and weaknesses of each these languages are.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
就功能而言,它们几乎相同,可以表达大多数类型的优化问题。就我个人而言,我更喜欢 AMPL,因为它具有直观且富有表现力的语法,并且在书中有很好的记录< /a>. AMPL 的另一个重要优点是,尽管它是商业性的,但您可以避免供应商锁定,因为有一个开源替代方案 - GNU MathProg。另一方面,GAMS 过去拥有比 AMPL 更先进的 IDE,尽管它随着新的 AMPL IDE。
您可以在 George Dantzig 的 Wikipedia 文章中找到使用 AMPL 和 GAMS 表述的相同交通问题的示例: AMPL< /a> 和GAMS。
In terms of functionality they are pretty much the same allowing to express most types of optimization problems. Personally, I prefer AMPL because it has intuitive and expressive syntax and it is very well documented in the book. Another important advantage of AMPL is that despite the fact that it is commercial you can avoid the vendor lock-in because there is an open source alternative - GNU MathProg. GAMS on the other hand used to have a more advanced IDE than those that existed for AMPL although it changed with the introduction of the new AMPL IDE.
You can find an example of the same transportation problem from George Dantzig formulated in AMPL and GAMS in their Wikipedia articles: AMPL and GAMS.
此博客有以下内容:
This blog has the following to say:
在我看来,所有语法考虑实际上都是品味问题; AMPL 和 GAMS 语言都很容易学习,并且在可以考虑的模型类型方面提供了相同的范围。
在撰写本文时,GAMS 提供了更多数量的求解器。话虽如此,AMPL 的求解器列表并不是 GAMS 求解器列表的子集。对于特定应用,我建议在购买 AMPL 或 GAMS 之前对求解器进行基准测试(例如,通过 NEOS 服务器进行优化)。
就我个人而言,我更喜欢 AMPL 的语法,因为它更接近数学符号。然而,我更喜欢将 GAMS 用于工业应用,主要是因为求解器的可用性以及它已在许多行业中嵌入/经过验证。这通常会简化与已经使用 GAMS 的工业合作伙伴/客户的对话。
In my opinion, all syntax considerations are really a matter of taste; both AMPL and GAMS languages are easy to learn and offer arguably the same scope in terms of the types of models that can be considered.
At the moment of writing this post, GAMS offers a larger number of solvers. That being said, AMPL's list of solvers is not a subset of the list of GAMS solvers. For a specific application, I suggest benchmarking solvers before buying either AMPL or GAMS (for example, via the NEOS server for optimization).
Personally, I prefer the syntax of AMPL since it is closer to mathematical notation. However, I prefer GAMS for industrial applications mainly because of solver availability and because it is embedded/proven in many industries. This often simplifies dialogue with an industrial partner/client who already uses GAMS.