AMPL (programming language)
From Wikipedia, the free encyclopedia
AMPL, short for "A Mathematical Programming Language", is a high-level programming language, developed at Bell Laboratories, for describing and solving high complexity problems for large scale mathematical computation (i.e. large scale optimization and scheduling type problems). AMPL does not solve those problems directly; instead, it calls appropriate external solvers (such as CPLEX, FortMP, MINOS, IPOPT, SNOPT, KNITRO, and so on) to obtain solutions. AMPL handles linear and nonlinear optimization problems as well as complementarity problems (MPECs), in discrete or continuous variables.
One particular advantage of AMPL is the similarity of its syntax to the mathematical notation of optimization problems. This allows for a very concise and readable definition of problems in the domain of optimization. Many modern solvers available on the NEOS [1] server (hosted at the Argonne National Laboratory) accept AMPL input.
AMPL was created by Robert Fourer, David Gay and Brian Kernighan. It is currently maintained by AMPL Optimization LLC.
[edit] References
- R. Fourer, D.M. Gay, and B.W. Kernighan. AMPL: A Modeling Language for Mathematical Programming, 2nd Ed.. Pacific Grove, CA: Brooks/Cole--Thomson Learning, 2003.