A modeling language for mathematical programming
AMPL is a modeling language for linear and nonlinear optimization problems, in continuous or discrete variables. It lets people use common notation and familiar concepts to formulate optimization models and examine solutions, while the computer manages communication with an appropriate solver.
AMPL offers an interactive command environment for setting up and solving optimization problems. A flexible interface allows a user to switch between solvers with a single command, and to select options that may improve solver performance. Once optimal solutions have been found, they are expressed in terms of the modeler's notation so that they can be viewed and analyzed. All of the general set and arithmetic expressions of AMPL can also be used for displaying data and results; a variety of options are available to format data for browsing on a screen, printing reports, or preparing input to other programs.
Looping and if-then-else commands allow the AMPL command language to also be used as a programming language, for rapid prototyping and testing of iterative schemes that incorporate the solution of one or more problems at each step.
A tutorial introduction and complete description of AMPL can be found in:
R. Fourer, D. M. Gay, and B. W. Kernighan, AMPL: A Modeling Language for Mathematical Programming, Duxbury Press/Wadsworth Publishing Company, Belmont, CA, 1993.
This book comes with an MS-DOS version of AMPL and the CPLEX and MINOS optimizers, limited to 300 variables and 300 constraints but full-featured in other respects. It is suitable for instructional use or for evaluation.
Platforms for AMPL include DOS 386/486/Pentium, Unix workstations (including IBM RS/6000, HP 9000, SUN SPARC, and SGI), and Cray (under UNICOS). A Microsoft Windows version called AMPL Plus is also available.
Check out the AMPL Web Site for an extensive FAQ, up-to-date information on new features, and complete lists of platforms, vendors and solver software. Further information can also be obtained by writing to info@ampl.com.
Netlib also has an AMPL area that contains bug reports, sample models, the latest versions of the AMPL book software for numerous platforms, and sample code that demonstrates how to hook additional solvers to AMPL. This information is available through the web or by anonymous ftp to netlib.bell-labs.com (cd to netlib/ampl).
[ Optimization Software Guide | OTC Home Page | NEOS Server | NEOS Guide ]