Generated by GPT-5-mini| AMPL | |
|---|---|
![]() | |
| Name | AMPL |
| Paradigm | Declarative, algebraic modeling |
| Designer | Robert Fourer, David M. Gay, Brian W. Kernighan |
| First appeared | 1985 |
| Typing | Dynamic |
| License | Proprietary (AMPL/MP) and academic |
AMPL AMPL is a high-level algebraic modeling language designed for formulating and solving large-scale mathematical optimization problems. It provides a compact syntax for expressing linear, nonlinear, integer, and stochastic programs and interfaces to many third-party optimization engines. AMPL is used in academic research, industrial optimization, and teaching at institutions such as Massachusetts Institute of Technology, Stanford University, Princeton University, and University of California, Berkeley.
AMPL was created to separate model formulation from data and solver implementation, enabling modelers to focus on mathematical structure while leveraging engines like CPLEX, Gurobi, Mosek, and SNOPT. It supports explicit declaration of sets, parameters, variables, objectives, and constraints, and it can read data in formats akin to CSV and datatypes used in SAS and R. AMPL’s ecosystem includes commercial products, academic licenses, and integrations with environments such as MATLAB, GNU Octave, and Python (programming language) through connectors and APIs.
The language uses algebraic expressions and indexing constructs inspired by modeling traditions from IBM research and the Bell Labs software community, reflecting influences from authors affiliated with AT&T. Statements declare indexed sets and parametric data similar to paradigms in Fortran and ALGOL-derived syntaxes. AMPL supports piecewise-linear constructs, logical conditions, and user-defined functions callable from libraries compiled on platforms like Linux, macOS, and Microsoft Windows. Model files are typically separated from data files, permitting reuse across scenarios common in work at Sandia National Laboratories and Argonne National Laboratory.
AMPL communicates with solvers via a standardized solver interface used by vendors such as IBM, Gurobi Optimization, FICO (for Xpress), and academic solvers like COIN-OR projects. Integration methods include command-line invocation, shared libraries, and socket-based protocols similar to those in CORBA middleware. Users often connect AMPL to scripting environments such as Python (programming language), Julia (programming language), and R (programming language) for pre- and post-processing, and to workflow systems used at NASA and European Space Agency for mission design optimization.
AMPL is applied in transportation planning problems studied by MIT, supply chain optimization projects at Procter & Gamble and Walmart, and energy systems modeling in collaborations with General Electric and Siemens. Academic research employs AMPL for network flow, facility location, and mixed-integer nonlinear programming benchmarks in venues like INFORMS conferences and journals affiliated with SIAM. It is used for financial portfolio optimization in firms influenced by methods from Harry Markowitz and for scheduling tasks inspired by industrial cases at Boeing and Lockheed Martin.
AMPL’s modeling-to-solver pipeline emphasizes efficient presolve, sparse matrix representations, and derivative computation, paralleling practices in numerical libraries such as LAPACK and BLAS. Extensions include links to automatic differentiation tools used in computational projects at Princeton and algorithmic advances reflected in publications from Stanford and Carnegie Mellon University. Community extensions and interfaces appear in open-source repositories aligned with GitHub and collaborative efforts involving contributors from University of Cambridge and ETH Zurich.
AMPL was developed in the mid-1980s by academics and researchers across institutions including Northwestern University, Bell Labs, and Bell Communications Research, with initial design informed by optimization research presented at NeurIPS workshops and IJCAI symposia. Over decades it evolved through collaborations with solver vendors and research labs such as Lawrence Livermore National Laboratory and Oak Ridge National Laboratory, and found adoption in courses at Harvard University and Yale University. Ongoing development has continued through commercial stewardship, academic contributions, and community-driven interfaces demonstrated at meetings of SIAM and the INFORMS annual meeting.
Category:Modeling languages Category:Mathematical optimization