我上了一堂关于"智能决策"(主要是问题优化课程)的课程.在课堂上我们学习了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)在他们领域的最前沿创造的.