Manual de Gams
GAMS (General Algebraic Modeling System) es un entorno
para definir, analizar y resolver problemas de optimizaci´n.
o
Los elementos m´s importantes de GAMS son:
a
1. Su capacidad para resolver problemas peque˜os (docenas
n
de variables y restricciones) y grandes problemas (miles
de variables y restricciones) escribiendo b´sicamente el
a
mismo programa. Dispone de unaforma compacta y
eficiente para escribir bloques de ecuaciones similares sin
m´s que escribir “una de ellas”.
a
2. Se separa la definici´n del modelo de la t´cnica de reo
e
soluci´n. El usuario de GAMS formula el modelo cono
sistentemente, y una vez expresado en notaci´n GAMS,
o
uno de los programas disponibles se encarga de generar
la soluci´n. Como resultado, el usuario se centra en el
omodelado, sin ser perturbado por los problemas t´cnicos
e
de los algoritmos de resoluci´n. Esto hace posible un
o
proceso de modelado muy sencillo y agradable.
3. GAMS pr´cticamente reproduce la descripci´n del proa
o
blema de programaci´n matem´tica. Como resultado, el
o
a
c´digo GAMS is casi auto-explicativo para los lectores
o
que tengan una m´
ınima formaci´n en optimizaci´n.
oo
4. GAMS suministra tambi´n mecanismos que permiten ree
solver colecciones de problemas de optimizaci´n estruco
turados, tales como los de t´cnicas de descomposici´n.
e
o
273
EL problema del transporte
Distancias en Km.
mercados
plantas m1 m2 m3
p1
2.0 1.6 1.8
p2
2.5 1.2 1.4
El problema consiste en
Minimizar
i j
cij xij
xij ≤ ai, ∀i
i xij ≥ bj , ∀j
xij ≥ 0, ∀i,j,
j
sujeta a
Los datos son:
i: N´mero de plantas (2).
u
j: N´mero de mercados (3).
u
a
o
ai: La m´xima capacidad de producci´n de la planta i en
toneladas (300 y 500 toneladas),
bj : La demanda del mercado j en toneladas (100, 200 y 300
toneladas), y
cij : el coste de transporte de la planta i al mercado j (0.09
d´lares por tonelada y km).
o
Las variables de decisi´n son:
oxij : la cantidad de producto a enviar de la planta i al mercado
j, en toneladas.
274
Problema del transporte
´
Codigo GAMS
$Title The Transportation Problem
* Simple transportation example
Sets
i
production plants
/ p1, p2 /
j
markets
/ m1*m3 /;
Table d(i,j) distance in km
m1
m2
m3
p1
2.0
1.6
1.8
p2
2.5
1.2
1.4;
Scalar f freight (dollars per ton y km) /0.09/;Parameters
a(i) capacity of plant i in tons
/
p1
300
p2
500 /
b(j) demand at market j in tons
/
m1
100
m2
200
m3
300 /
c(i,j) transportation cost in dollars per ton;
c(i,j) = f * d(i,j);
Variables
x(i,j) shipment quantities in tons
z
total transportation costs in dollars;
Positive Variable x;
Equations
cost
objective function
supply(i)
meet 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;
275
Algunos comandos de GAMS
Comando
Set(s)
Prop´sito
o
Dar nombre a los ´
ındices
y definir sus posibles valores
Scalar(s)
Dar nombre a los escalaresy asignarles valores
Parameter(s) Dar nombre a los vectores
y asignarles valores
Table(s)
Dar nombre a las matrices
y asignarles valores
Variable(s) Declarar variables,
asignarles un tipo (opcional)
y darles cotas inferior y superior
Equation(s) Definir la funci´n a optimizar
o
y las restricciones
Model
Dar nombre a los modelos
y asignarles la lista de restricciones
Solve
Indicar aGAMS el programa
que debe resolverlo
Display
Decir a GAMS los elementos
a listar en el informe de salida
276
Reglas de GAMS
1. GAMS no diferencia entre letras may´sculas y
u
min´sculas.
u
2. Todo comando debe terminar en punto y coma.
3. Los comandos pueden definirse en cualquier orden, con
la unica restricci´n de que un elemento debe haber sido
´
o
definido antes de...
Regístrate para leer el documento completo.