AMPL(A Mathematical Programming Language)是一种代数建模语言,用于描述和解决存在大规模数学计算的高复杂性问题(大规模优化和调度类型的问题)。它由 Bell 实验室的 Robert Fourer, David Gay, and Brian Kernighan 开发。AMPL支持数十种求解器,包括开源和商业软件,包括CBC,CPLEX,FortMP,Gurobi,MINOS,IPOPT,SNOPT,KNITRO和LGO。当用户写好需要求解的问题的模型文件 . mod 和 参数文件 .dat, APML作为一个模型和求解器之间的接口,用户可以根据求解问题的需要,自由的选择需要的求解器进行求解。
AMPL适用于许多流行的32位和64位操作系统,包括Linux、MaOS、Solaris、AIX和Windows。AMPL同时也为C++,Python,MATLAB,C#,JAVA等语言提供接口。以下为AMPL在MATLAB上的Demo,笔者电脑64位Windows环境,读者应根据自己电脑情况复现,详细的AMPL的使用方法详见 AMPL官网 或者 AMPL AP 2.0.1-0 documentation
AMPL的Demo
(1) 下载: