# AMPL

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

Developed at Bell Laboratories, AMPL lets you use common notations and familiar concepts to express optimization models and examine solutions while the computer manages communication with an appropriate solver.

AMPL's flexibility and convenience make it ideal for rapid prototyping and model development, while its speed and control options make it an efficient choice for repeated production runs.

## Key modeling 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.

## Key modeling environment features

• Interactive command environment with batch processing options. A powerful display commands let you view any model component or expression, browsing on-screen or writing to a file, using automatic formatting or your own preferences.

• New looping and if-then-else commands. Simple programs in the AMPL command language can now be written to solve sequences of related problems, for sensitivity analysis and for decomposition or other iterative schemes.

• Separation of model and data. AMPL models remain concise even as sets and data tables grow. Models may incorporate many kinds of conditions for validity of the data.

• Interfaces to most famous solvers

## Operating systems

## Applications & examples

### AMPL main features:

• Modeling language dedicated to optimization problems.

• Enables fast-prototyping for developing and fine-tuning complex problems of any types (LPs, QPs, MIPs, NLPs, MINLPs, MPECs, etc.).

• Interfaces available to connect AMPL with several solvers, including KNITRO and FICO Xpress.

• Embeds one of the most efficient automatic differentiator and presolver for nonlinear optimization.

• Easy connection to data sources such as text files, Excel, SQL databases.

**Please feel free to contact us to receive more information regarding our business applications.**

### AMPL example: McDonald's diet problem

**Part 1**

• Counting Pennies and Counting Calories

• Variety is the Spice of Life

• The Whole Number Solution

Model file: diet1.mod

Data file: diet1.dat

**Part 2**

• The Whole Menu

• Some *Ad Hoc* Constraints

Model file: diet2.mod

Data file: diet2.dat

**References**

• George B. Dantzig, "The Diet Problem." Interfaces 20:4 (July-August 1990) 43-47.

• Robert A. Bosch, "Big Mac Attack: The Diet Problem Revisited." OR/MS Today 20:4 (August 1993) 30-31.

• Erhan Erkut, "Big Mac Attack Revisited." OR/MS Today 21:3 (June 1994) 50-52.

• Robert A. Bosch, "The Battle of the Burger Chains: Which is Best - Burger King, McDonalds, or Wendy's?" Technical report, Department of Mathematics, Oberlin College, Oberlin, OH (1995).

Other examples, please here.

## AMPL documentation

### The AMPL book: free for download

AMPL: A Modeling Language for Mathematical Programming

by Robert Fourer, David M. Gay, and Brian W. Kernighan

Duxbury Press / Brooks / Cole Publishing Company, 2003

Second edition, ISBN 0-534-38809-4

## AMPL licensing

• AMPL Commercial Licensing

• AMPL Academic Licensing

• AMPL End-User License Agreement

## Download a trial version

## FAQ

Please refer to AMPL Frequently Asked Questions.

## AMPL support

**Artelys provides worlwide technical support and assistance for AMPL.**

### The Annual License Maintenance Service (ALMS) contract offers the following services:

**Telephone and e-mail assistance** for the use of AMPL. This assistance is provided by Artelys. Help with modeling is excluded, but Artelys and AMPL provide you with useful information and advices to help you benefit from the numerical performances and all the functionalities of AMPL.

**Free upgrades **of your AMPL software. It is AMPL’s policy to continuously improve and enhance its products. ALMS holders benefit from all significant enhancements and bug fixes.

**Privileged access** to new services and products.

For any technical problem or commercial information, please contact us at +33 (0)1 44 77 89 00 or use our contact page.