Designed by | Johannes J. Bisschop Marcel Roelofs |
---|---|
Developer | AIMMS B.V. (formerly named Paragon Decision Technology B.V.) |
First appeared | 1993 |
Stable release |
AIMMS 4.0 / July 7, 2014
|
OS | Cross-platform with limitations such as Windows-only GUI |
License | Proprietary |
Filename extensions | .aimms .ams .prj .aim .amb .aimmspack .data .dat |
Website | AIMMS home page |
AIMMS (an acronym for "Advanced Interactive Multidimensional Modeling System") is a software system designed for modeling and solving large-scale optimization and scheduling-type problems. It consists of an algebraic modeling language, an integrated development environment for both editing models and creating a graphical user interface around these models, and a graphical end-user environment. AIMMS is linked to multiple solvers through the AIMMS Open Solver Interface, not to be confused with COIN-OR Open Solver Interface (OSI) which unlike AIMMS OSI is an open-source project. Supported solvers include CPLEX, Gurobi, MOSEK, CBC, Conopt, MINOS, IPOPT, SNOPT, KNITRO and CP Optimizer.
AIMMS is considered to be one of the five most important algebraic modeling languages (others are: AMPL, GAMS, LINDO/LINGO, and MPL), and the creator (Johannes J. Bisschop) has been awarded with INFORMS Impact Prize for his work in this language.
AIMMS features a mixture of declarative and imperative programming styles. Formulation of optimization models takes place through declarative language elements such as sets and indices, as well as scalar and multidimensional parameters, variables and constraints, which are common to all algebraic modeling languages, and allow for a concise description of most problems in the domain of mathematical optimization. Units of measurement are natively supported in the language, and compile- and runtime unit analysis may be employed to detect modeling errors.