Zum Inhalt springen

General Algebraic Modeling System

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 9. Februar 2011 um 16:19 Uhr durch StitchProgramming (Diskussion | Beiträge) (Siehe auch). Sie kann sich erheblich von der aktuellen Version unterscheiden.
GAMS
Basisdaten

Entwickler GAMS Development Corporation
Erscheinungsjahr 1976
Aktuelle Version 23.6.2
(13. Dezember 2010)
Betriebssystem Plattformunabhängig
Kategorie Algebraische Modellierungssprache
Lizenz Proprietär
GAMS USA
GAMS Germany

Das General Algebraic Modeling System ist eine algebraische Modellierungssprache für mathematische Optimierungsprobleme, deren Ursprünge in einem Forschungsprojekt der Weltbank liegen. Ab 1987 wird das System durch die GAMS Development Corp., USA weiterentwickelt und in Europa durch die GAMS Software GmbH vertrieben.

Neben großen linearen bzw. ganzzahligen Optimierungsproblemen lassen sich mit algebraischen Modellierungssprachen wie GAMS oder AMPL auch andere Modellierungssprobleme, wie etwa quadratische, nichtlineare, gemischtganzzahlig nichtlineare, quadratische, stochastische oder globale Optimierungsprobleme grundsätzlich unabhängig von den verwendeten Algorithmen effizient formulieren und lösen. Die grundsätzliche Trennung der Ebenen

  • Problemrepräsentation und -lösung,
  • Modellierungsebene und Benutzeroberfläche,
  • Modellformulierung und Daten,
  • Modellformulierung und Betriebssystem,

sowie umfangreiche Modellbibliotheken stellen weitere Elemente von algebraischen Modellierungssprachen dar.

Die Einsatzschwerpunkte des GAMS Systems liegen in den klassischen Operations Research-Bereichen. Daneben wird das System auch häufig für makroökonomische Fragestellungen etwa im Rahmen von Gleichgewichtsmodellen verwendet.

Ein Modellbeispiel

Transportmodell von George Dantzig. Dieses Modell ist Teil der GAMS Modellbibliothek. In diesem Problem wird der Transportplan mit den niedrigsten Gesamtkosten gesucht, der sowohl die Marktbedingungen der Abnehmer also auch die der Produzenten erfüllt.

Dantzig, G B, Chapter 3.3. In Linear Programming and Extensions. Princeton University Press, Princeton, New Jersey, 1963.

Eine detaillierte (englischsprachige) Beschreibung der Formulierung findet man hier.

 Sets
      i   canning plants   / seattle, san-diego /
      j   markets          / new-york, chicago, topeka / ;
Parameters
a(i) capacity of plant i in cases / seattle 350 san-diego 600 /
b(j) demand at market j in cases / new-york 325 chicago 300 topeka 275 / ;
Table d(i,j) distance in thousands of miles new-york chicago topeka seattle 2.5 1.7 1.8 san-diego 2.5 1.8 1.4  ;
Scalar f freight in dollars per case per thousand miles /90/ ;
Parameter c(i,j) transport cost in thousands of dollars per case ;
c(i,j) = f * d(i,j) / 1000 ;
Variables
x(i,j) shipment quantities in cases z total transportation costs in thousands of dollars ;
Positive Variable x ;
Equations
cost define objective function supply(i) observe supply limit at plant i demand(j) satisfy demand at market j ;
cost .. z =e= sum((i,j), c(i,j)*x(i,j)) ;
supply(i) .. sum(j, x(i,j)) =l= a(i) ;
demand(j) .. sum(i, x(i,j)) =g= b(j) ;
Model transport /all/ ;
Solve transport using lp minimizing z ;
Display x.l, x.m ;

Literatur

  • Anthony Brooke, David Kendrick, Alexander Meeraus: Gams: A User's Guide. Tutorial by Rick Rosenthal. GAMS Development Corporation, Washington, DC, USA 2010 (gams.com [PDF]).

Siehe auch