Jump to content

Algebraic modeling language

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Mapgccv (talk | contribs) at 09:21, 1 November 2013 (See also). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Algebraic Modeling Languages (AML) are high-level computer programming languages for describing and solving high complexity problems for large scale mathematical computation (i.e. large scale optimization type problems).[1] One particular advantage of some algebraic modeling languages like AIMMS,[1] AMPL,[2] GAMS[1] or Xpress-Mosel[1] [3] is the similarity of their syntax to the mathematical notation of optimization problems. This allows for a very concise and readable definition of problems in the domain of optimization, which is supported by certain language elements like sets, indices, algebraic expressions, powerful sparse index and data handling variables, constraints with arbitrary names. The algebraic formulation of a model does not contain any hints how to process it.

An AML does not solve those problems directly; instead, it calls appropriate external algorithms to obtain a solution. These algorithms are called solvers and can handle certain kind of mathematical problems like:

Core Elements

The core elements of an AML are:

  • a modeling language interpreter (the AML itself)
  • solver links
  • user interfaces (UI)
  • data exchange facilities

Design Principles

Most AML follow certain design principles:

  • a balanced mix of declarative and procedural elements
  • open architecture and interfaces to other systems
  • different layers with separation of:
    • model and data
    • model and solution methods
    • model and operating system
    • model and interface

References

  1. ^ a b c d Kallrath, Joseph (2004). Modeling Languages in Mathematical Optimization. Kluwer Academic Publishing. ISBN 978-1-4020-7547-6.
  2. ^ "A Modeling Language for Mathematical Programming". Management Science. 36: 519–554–83. 1990.
  3. ^ Gueret, Christelle; Prins, Christian; Sevaux, Marc (2002). Applications of Optimization with Xpress-MP. Dash Optimization Limited. ISBN 0-9543503-0-8.

See also

  • AIMMS
  • AMPL - a popular modeling language for large-scale linear, mixed integer and nonlinear optimization
  • APMonitor
  • ASCEND
  • Coopr
  • GAMS
  • OptimJ - a Java-based modeling language
  • SAMPL - a set of extension to AMPL to support Stochastic Programming and Robust Optimisation problems, and the definition of (Integrated) Chance Constraints