gams

Páginas: 26 (6500 palabras) Publicado: 26 de octubre de 2014
GAMS, ejemplos introductorios
H´ector Manuel Mora Escobar
Marzo de 2009
hectormora@yahoo.com
El programa comercial Gams, General Algebraic Modeling System, es una herramienta de alto
nivel para modelamiento y soluci´on de problemas de optimizaci´on y programaci´on matem´atica.
Su p´agina es www.gams.com. All´ı se puede descargar un demo de Gams, la gu´ıa del usuario, un
tutorial, ...
Sucalidad, versatilidad y gran uso han hecho que se convierta en un est´andar para la escritura de problemas de optimizaci´on. En NEOS, servidor para problemas de optimizaci´on,
www-neos.mcs.anl.gov , la mayor´ıa de los solucionadores (“solvers”) tienen como uno de los
formatos predeterminados el de Gams.
Es posible descargar e instalar Gams sin haber comprado la licencia, pero funciona como undemo de uso libre que tiene restricciones de tama˜
no. Para la mayor´ıa de los ejemplos acad´emicos
es m´as que suficiente. Muchas gracias a los directivos de Gams. Los l´ımites superiores de tama˜
no
son, entre otros:
• N´
umero de restricciones y variables: 300.
• N´
umero de elementos no nulos: 2000.
• N´
umero de variables discretas: 50.
Gams viene para muchas plataformas, Windows,Linux, Solaris, Mac, ..., 32 y 64 bits. A
continuaci´on hay indicaciones someras para los primeros pasos de Gams en Windows y Linux.

0.1

Windows

En Windows, Gams tiene un IDE (ambiente integrado de desarrollo) que permite, entre muchas
cosas m´as, editar (escribir) el archivo y ejecutar Gams. Este archivo donde se escribe el problema tiene extensi´on .gms.
El archivo .gms es de tipoASCII y puede ser escrito con cualquier editor para este tipo de
archivos (Emacs, Bloc de notas, ...). El editor del ambiente Gams tiene una gran ventaja,
resalta con diferente color las palabras espec´ıficas de Gams.
Tambi´en desde el ambiente Gams se puede activar Gams mediante la tecla F9 o mediante el
bot´on de la barra de men´
u Run Gams.
Gams mira el archivo .gms y si est´a bien escritoresuelve el problema. Gams env´ıa algunos
resultados al ambiente y crea un archivo .lst donde est´a la informaci´on sobre la soluci´on.
Si en el archivo .gms hay errores, entonces en el archivo .lst aparece una transcripci´on del
archivo .gms, con numeraci´on de los renglones, e inmediatamente despu´es de una l´ınea err´onea,
aparece algo semejante a
****

$409
1

El valor 409 (u otrovalor) es un c´odigo de error. Un poco m´as adelante, en el archivo .lst,
aparece el significado de cada uno de los c´odigos de los errores ocurridos.

0.2

Linux

En Linux, Gams no viene con ambiente integrado. El archivo .gms se puede escribir con
cualquier editor de texto (Emacs, vi, Kate, ... ). Para invocar Gams, desde una ventana se da
la orden
gams archivo.gms
Tambi´en se puede darla orden sin explicitar la extensi´on
gams archivo
De nuevo, se crea un archivo .lst donde est´a el resultado, bien sea la soluci´on, o bien informaci´on sobre los errores de la misma manera que en Windows (ver secci´on anterior).

0.3

Un archivo expl´ıcito de datos

Los ejemplos de modelos en Gams de este documento est´an muy lejos de ser exhaustivos con el

umero de temas o con laprofundidad utilizada. El prop´osito es explicar someramente algunos
de los conceptos involucrados en un ejemplo. El lector interesado podr´a encontrar informaci´on
mas amplia y precisa en la gu´ıa del usuario de Gams.
Consideremos un problema de fabricaci´on de sillas y escritorios, cuyo modelo sea:

min z = −x1 − 1.4x2
x1 + x2 ≤ 400
x1 + 2x2 ≤ 580
x1 ≤ 300
x ≥ 0.
El archivo de datos enGams puede ser el siguiente:
* problema de OL, formulacion explicita
VARIABLES x1, x2, z;
POSITIVE VARIABLES x1, x2;
EQUATIONS obj, restr1, restr2;
obj..
z =e= -x1 - 1.4*x2;
restr1.. x1 + x2 =l= 400;
restr2.. x1 + 2*x2 =l= 580;
2

x1.UP = 300;
MODEL ejemplo /ALL/;
SOLVE ejemplo USING LP MINIMIZING z;
Supongamos que el archivo se llama ej01.gms . Al utilizar Gams, ´este producir´a...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Gams
  • GAMS
  • Gams
  • Gams
  • Introduccion a gams
  • Gams
  • Gams
  • gams

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS