Generalidades de GAMS:
GAMS es un entorno para definir, analizar y resolver problemas de optimización.
1. GAMS no diferencia entre letras mayúsculas y minúsculas.
2. Todo comando debe terminar en punto y coma.3. Los comandos pueden definirse en cualquier orden, con la única restricción de que un elemento debe haber sido definido antes de usarlo.
4. Una línea precedida por un asterisco (en la primera columna) es interpretada como un comentario.
Algunos Comandos:
$TITTLE: Para Colocarle el titulo
SETS:
Para declarar Subíndice
i plantas de produccion / p1, p2 /
j mercados / m1*m3 /;
La asignación de valores se hace entre dos símbolos “/ ”. El símbolo “*” ayuda a definir, en forma compacta, conjuntos numéricos, es decir, /m1*m3/ es equivalente a /m1, m2, m3/. El comando concluye con el punto y coma.
SCALARS:
Se usa para dar nombre a los escalares y asignarles valores.
Ej:Scalar f carga (dolar por tonelada y kilometro) /0.09/;
Se define el escalar `f' y se le asigna el valor 0.09 entre el símbolo “ / ”.
VARIABLES:
Sirve para declarar variables, asignarles un tipo (opcional) y darles cotas inferior y superior.
Ej:x(i,j) Cantidades enviadas en toneladas
z coste total del transporte en dólares;
Positive Variable x
Binary Variable r;
Se usa para definir vectores de datos.
Ej:
a(i) capacity of plant i in tons
/ p1 300
p2 500 /;
Parameter c(i,j) transportation cost in dollars per ton;
c(i,j)=f* d(i,j);
Parameter c(i,j) transportation cost in dollars per ton
/ p1.m1 0.180
p2.m1 0.225
p1.m2 0.144
p2.m2 0.108
p1.m3 0.162
p2.m3 0.126 /;
TABLES:
Se usa para dar nombre a las matrices y asignarles valores .
Ej:
Table d(i,j) distance in km
m1 m2 m3
p1 2.0 1.6 1.8
p2 2.5 1.2 1.4;
Table c(i,j) transportation cost in dollars per ton
m1 m2 m3
p1 0.180 0.144 0.162
p2 0.225 0.108 0.126;
EQUATIONS:
Sirve para definir la función a optimizar y las restricciones.
Ej:
cost objective function
supply(i) meet supply limit at plant i demand(j) satisfy demand at market j;
supply(i) .. sum(j, x(i,j)) =l= a(i);
demand(j) .. sum(i, x(i,j)) =g= b(j);
=e= indica “es igual a’,
=l= indica “es menor o igual que’”, y
=g= indica “es mayor o igual que”
MODEL:
Se usa para dar nombre a los modelos y asignarles la lista de restricciones.
Ej:
Model transport /all/;
Tambien puede escribirse como: Model transport /cost,supply,demand/;
Sirve para Indicar a GAMS el programa que debe resolverlo.
Ej:
Solve transport using lp minimizing z; (para función mínima)
ó
Solve transport using lp maximizing z; (para función máxima)
DISPLAY:
Sirve para decir a GAMS los elementos a listar en el informe de salida.
Ej:
DISPLAY x.l;
VEA TAMBIEN EJERCICIOS EJEMPLO:
EJERCICIOS RESUELTOS EN GAMS I.O. (EJEMPLO 4)
Comentarios
Publicar un comentario