General Algebraic Modeling System

aus Wikipedia, der freien Enzyklopädie
GAMS
Basisdaten

Entwickler GAMS Development Corporation
Aktuelle Version 40.3.0
(16. September 2022)
Betriebssystem Plattformunabhängig
Kategorie Algebraische Modellierungssprache
Lizenz Proprietär
www.gams.com

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 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.

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 als auch die der Produzenten erfüllt.[1]

  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 ;

Siehe auch

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]).

Weblinks

Einzelnachweise

  1. George B. Dantzig: Linear Programming and Extensions. Princeton University Press, Princeton 2016, ISBN 978-1-4008-8417-9, 3.3. A Transportation Problem, S. 35 (books.google.de – Erstausgabe: 1963, Leseprobe).