General Algebraic Modeling System

algebraische Modellierungssprache für mathematische Optimierungsprobleme

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.

GAMS
Basisdaten

Entwickler GAMS Development Corporation
Erscheinungsjahr 1976
Aktuelle Version 47.2.0[1]
(1. Juli 2024)
Betriebssystem Plattformunabhängig
Kategorie Algebraische Modellierungssprache
Lizenz Proprietär
www.gams.com

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

Bearbeiten

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.[2]

  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

Bearbeiten

Literatur

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

Einzelnachweise

Bearbeiten
  1. www.gams.com.
  2. 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).