有没有人再使用AMPL了

mon*_*ksy 1 matlab ampl

我上了一堂关于"智能决策"(主要是问题优化课程)的课程.在课堂上我们学习了AMPL以及如何扩展求解器.我最近没有听到太多关于它的消息,也没有看到它的工作清单.

我的问题是:AMPL还在继续使用吗?如果是这样,它用于什么?

是的,我确实理解AMPL可以用Matlab替换,但是AMPL是免费的,Matlab甚至不是很接近.

Esc*_*alo 19

你很困惑.

AMPL和Matlab是两个完全不同的东西,它们可能在某些应用领域相交,但它们旨在解决完全不同类型的问题.

AMPL是一种描述优化问题的语言.它本身不做任何事情:它只为用户提供与解算器交互的方法.求解器可用于线性编程(CPLEX),非线性编程(Ipopt)或其他更深奥的类型.

Matlab是一种用于技术计算的语言:线性代数,微分方程,统计和 - 一些优化--Matlab的优化功能在AMPL旁边相形见绌.

AMPL通过自动微分提供精确的一阶和二阶导数,这是一个只有GAMS才能达到的关键特性,你可能不知道它有多重要和困难,但是 - 相信我 - 它.

没有人会为"AMPL编码器"提供工作,因为没有这样的东西.这项工作提供给知道什么是优化以及哪些工具处于最前沿的人.同样,没有人为"Matlab编码器"提供工作,他们为知道Matlab的工程师提供工作.

最后,AMPL不是免费的.您只能出于学习目的免费使用学生版.这样的版本限制你100个变量和约束(我猜你知道这意味着什么).如果你想要一个成熟的AMPL,你需要支付许可证和解算器的许可证,每一个都是!Ipopt是开源的,但Cplex非常昂贵.

是的,AMPL仍在使用,非常如此.我用它来计算最佳的航天器轨迹,相信我,没有什么比这更接近了.我喜欢Matlab,但使用Matlab进行严谨的优化就像用勺子打开一罐食物 - 你可能会成功,但会有血与泪.

AMPL和Matlab有一个共同点:它们都是由杰出的科学家(Moler-> Matlab,Gay-> AMPL)在他们领域的最前沿创造的.

  • 我的观点是,这些工作本身并不适用于Matlab开发人员,而是适用于可以使用Matlab解决特定应用领域问题的技术人员.Matlab如此受欢迎,很可能直接在工作机会中引用,但AMPL(本文的重点)不一定会被引用.如果您是一名工程师而且您正在寻找"Matlab工作",那么除非您想为Mathworks工作,否则您将严重限制自己.如果我正在采访一位告诉我他/他在这里的因为我们使用Matlab的人,我会把那个候选人拒之门外.Matlab是一种工具,本身并不是目的. (7认同)