*** Welcome to piglix ***

AMPL

AMPL
AMPL (textbook cover).jpg
Paradigm multi-paradigm: declarative, imperative
Designed by Robert Fourer
David Gay
Brian Kernighan
Bell Labs
Developer AMPL Optimization, Inc.
First appeared 1985; 32 years ago (1985)
Stable release
20131012 / October 12, 2013; 3 years ago (2013-10-12)
OS Cross-platform: Linux, OS X, some Unix, Windows
License Proprietary (translator),
free and open-source (AMPL Solver Library)
Filename extensions .mod .dat .run
Website www.ampl.com
Influenced by
AWK, C
Influenced
Coopr

A Mathematical Programming Language (AMPL) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (i.e., large-scale optimization and scheduling-type problems). It was developed by Robert Fourer, David Gay, and Brian Kernighan at Bell Laboratories. AMPL supports dozens of solvers, both open source and commercial software, including CBC, CPLEX, FortMP, Gurobi, MINOS, IPOPT, SNOPT, KNITRO, and LGO. Problems are passed to solvers as nl files. AMPL is used by more than 100 corporate clients, and by government agencies and academic institutions.

One advantage of AMPL is the similarity of its syntax to the mathematical notation of optimization problems. This allows for a very concise and readable definition of problems in the domain of optimization. Many modern solvers available on the NEOS Server (formerly hosted at the Argonne National Laboratory, currently hosted at the University of Wisconsin, Madison) accept AMPL input. According to the NEOS statistics AMPL is the most popular format for representing mathematical programming problems.

AMPL features a mix of declarative and imperative programming styles. Formulating optimization models occurs via declarative language elements such as sets, scalar and multidimensional parameters, decision variables, objectives and constraints, which allow for concise description of most problems in the domain of mathematical optimization.


...
Wikipedia

...