A modeling Language for Mathematical Programming

Authors: Bell Laboratories, Inc.
Robert Fourer
David M. Gay
Brian W. Kernighan

Bell Laboratories, Inc.
3699 Kinsman Blvd.
Madison, WI 53704
(800) 323-6628


AMPL is a comprehensive and powerful algebraic modeling language for linear and nonlinear optimization problems, in discrete or continuous variables.

Language features

Broad support for sets and set operators. AMPL models can use sets of pairs, triples, and longer tuples;

Collections of sets indexed over sets; unordered, ordered, and circular sets of objects; and sets of numbers.

General and natural syntax for arithmetic, logical, and conditional expressions; familiar conventions for summations and other iterated operators.

Nonlinear programming features such as initial primal and dual values, user-defined functions, fast automatic differentiation, and automatic elimination of "defined" variables.

Convenient alternative notations including node and arc declarations for network problems, a special syntax for piecewise-linear functions, and columnwise specification of linear coefficients.