AMPL: A Mathematical Programming Language
15 June 1987
Practical large-scale linear programming involves more than just the optimization of a linear objective function subject to constraint equations and inequalities. Before any algorithm can be applied to solve a linear program, considerable effort must be devoted to formulating the underlying model and to make determining the sparse matrix of coefficients. AMPL is a new language designed to make this process easier and less error-prone.
It closely resembles the symbolic algebraic notation that modelers commonly employ to describe linear programs; yet it is regular and general enough to be processed by a computer system. We have implemented a translator that takes as input a symbolic AMPL model and the associated data, and produces output suitable for standard LP solvers. Both the language and the translator admit straightforward extensions to more general mathematical programs that involve discrete variables or nonlinear expressions.