Algebraic modeling language

Algebraic modeling language

Algebraic Modeling Languages (AML) are high-level programming languages for describing and solving high complexity problems for large scale mathematical computation (i.e. large scale optimization type problems). One particular advantage of AMLs like AIMMS, AMPL, GAMS and OPL 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, 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:

* linear problems
* integer problems
* (mixed integer) quadratic problems
* mixed complementarity problems
* mathematical programs with equilibrium constraints
* constrained nonlinear systems
* general nonlinear problems
* non-linear programs with discontinuous derivatives
* nonlinear integer problems
* global optimization problems
* stochastic optimization problems

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

See also

* AIMMS
* AMPL
* APMonitor
* ASCEND
* GAMS
* OptimJ


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Algebraic modeling language — General algebraic modeling system Pour les articles homonymes, voir GAMS. General Algebraic Modeling System (GAMS) est un logiciel de modélisation. GAMS a été le premier langage de modélisation algébrique (Algebraic modeling language ou AML) et… …   Wikipédia en Français

  • Modeling language — A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the… …   Wikipedia

  • General Algebraic Modeling System — Infobox Software name = GAMS developer = [http://www.gams.com GAMS Development Corporation] latest release version = 22.8.1 latest release date = August 1, 2008 platform = Cross platform status = Active license = Proprietary genre = Algebraic… …   Wikipedia

  • General Algebraic Modeling System — Pour les articles homonymes, voir GAMS. General Algebraic Modeling System (GAMS) est un logiciel de modélisation. GAMS a été le premier langage de modélisation algébrique (Algebraic modeling language ou AML) et est formellement similaire aux… …   Wikipédia en Français

  • General algebraic modeling system — Pour les articles homonymes, voir GAMS. General Algebraic Modeling System (GAMS) est un logiciel de modélisation mathématique. GAMS a été le premier langage de modélisation algébrique (Algebraic modeling language ou AML) et est formellement… …   Wikipédia en Français

  • Algebraic geometry — This Togliatti surface is an algebraic surface of degree five. Algebraic geometry is a branch of mathematics which combines techniques of abstract algebra, especially commutative algebra, with the language and the problems of geometry. It… …   Wikipedia

  • Racket (programming language) — Racket Paradigm(s) Multi paradigm: Functional, Procedural, Modular, Object oriented, Reflective, Meta Appeared in 1994 Developer …   Wikipedia

  • Leverage Point Modeling — (LPM) is a demonstrated approach for improved planning and spending for Operations and Support (O S) activities. LPM is a continuous event simulation technique that uses the System Dynamics approach of model building. Dr. Nathaniel Mass… …   Wikipedia

  • Haskell (programming language) — Haskell Paradigm(s) functional, lazy/non strict, modular Appeared in 1990 Designed by Simon Peyton Jones, Lennart Aug …   Wikipedia

  • Curry (programming language) — This article is about the programming language Curry. For the computer science technique, see Currying. Curry Paradigm(s) functional, logic, non strict, modular Designed by Michael Hanus, et al. Typing discipline static, strong, inferred …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”