Sei sulla pagina 1di 43

Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz

3. GAMS
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
GAMS es una herramienta computacional
que puede considerarse un lenguaje de
programacin con la capacidad de resolver
problemas de programacin matemtica de
una alta complejidad numrica ofreciendo
grandes ventajas entre las cuales pueden
destacarse:
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.1 Prestaciones de GAMS
Emplea un lenguaje de alto nivel que permite
representar de manera compacta y sencilla
grandes y complejos modelos matemticos.
Permite cambiar los modelos de forma simple
y segura.
Permite declaraciones inequvocas de
relaciones algebraicas.
Permite realizar descripciones de los modelos
que son independientes del algoritmo de
solucin.

Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.2. Caractersticas de un PL
Una nica funcin objetivo, que representa el inters o logro a
alcanzar, puede ser maximizar una ganancia, minimizar unos
costos, reducir tiempos, por citar algunos ejemplos.
Un conjunto de restricciones que establecen limitaciones fsica
o tcnicas entorno a la utilizacin de los recursos.
Relaciones proporcionales entre las variables de decisin y el
nivel de produccin.
La no negatividad de las variables de decisin, todas deben ser
positivas o por lo menos cero pero nunca negativas.
Naturaleza continua en las variables de decisin, es decir, las
variables de decisin pueden asumir cualquier valor positivo,
ya sea entero, fraccionario, decimal exacto, decimal peridico o
decimal no peridico.
Aditividad para todas las restricciones y para la funcin
objetivo; esto implica que las relaciones se construyen como
combinacin lineal de las variables.
Linealidad de las relaciones y de la funcin objetivo.
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.3. Estructura general de un
problema de PL
1 i i i
fo c x g y = +

i i j
j
m m k
k
a x b
d y e
s
s

Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.4. Ejemplo de conjuntos
convexos
{ / } Donde A es una matriz m n y b es un vector de dimension m
{ / ; 0} Donde A es una matriz m n y b es un vector de dimension m
{ / ; 0} Donde A es una matriz m n y b es un vector de dimen
x Ax b
x Ax b x
x Ax b x
=
= >
s > sion m
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.5. Problema de Optimizacin
Caso AGRO-TECH: Agro Tech Inc., es una compaa que se dedica a la
fabricacin de dos tipos de fertilizantes que se elaboran con ingredientes de
proveedores externos; los dos productos principales de Agro Tech Inc., que
compra un mayorista son el fertilizante denominado 5-5-10 y el 5-10-5 en
cada caso, el primer nmero se refiere al porcentaje de nitrato, el segundo
nmero al porcentaje de fosfato y el ltimo nmero corresponde al porcentaje
de potasio. Los fertilizantes se estabilizan con una material de relleno que
podra ser barro. Por ejemplo el fertilizante 5-5-10 est elaborado por 5% de
nitrato, 5% de fosfato, 10% de potasio y el 80% restante es barro. El mayorista
comprar cualquier cantidad de los dos fertilizantes que la empresa pueda
elaborar pero est dispuesto a pagar US$ 71.50 por tonelada del 5-5-10 y
US$69.00 por tonelada del 5-10-5. Para el mes en estudio la disponibilidad y
costos de materia primas son 1100 toneladas de nitrato a US$ 200 por
tonelada, 1800 toneladas de fosfato a US$80 por tonelada y 2000 toneladas de
potasio a US$160 por tonelada; el material de relleno est disponible en
cantidades ilimitadas a US$10 por tonelada. No hay restricciones para la mano
de obra ni tampoco para el empleo de maquinaria durante el mes, pero hay un
costo de 15 dlares por concepto de mezclado de los fertilizantes. Cmo se
deben administrar los recursos escasos de tal manera que se obtengan las
mayores utilidades para la empresa?
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.5.1. Modelo Matemtico AGRO-
TECH
En el problema de AGRO-TECH se tiene el
siguiente modelo matemtico de
programacin lineal:
1 2
1 2
1 2
1 2
max 18.5 20
0.05 0.05 1100
0.05 0.10 1800
. .
0.10 0.05 2000
0
z x x
x x
x x
s a
x x
x
= +
+ s

+ s

+ s

>

Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.5.2. Soluciones para el problema
Agro-Tech
Sol x
1
x
2
x
3
x
4
x
5
Z
1 0 0 1.1 1,8 2,0 0
2 0 22 0 -0,40 0,9 Infactible
3 0 18 0,20 0 1,1 $360.000
4 0 40 -0,90 -0,22 0 Infactible
5 36 0 -0,70 0 -1,6 Infactible
6 20 0 0,10 0,8 0 $370.000
7 22 0 0 0,9 -0,20 Infactible
8 8 14 0 0 0,5 $428.000
9 18 4 0 0,5 0 $413.000
10 14,6 10,6 -0,16 0 0 Infactible
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.6. Implementacin en GAMS
Modelo de
programacin
implementad
o y
desarrollado
en la
plataforma
GAMS
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.6.1. Conjuntos
Los conjuntos son bloques constructivos en
que simplifican la forma como se definen y
entran otros parmetros.
Sets
i fertilizante / 5-5-10, 5-10-5 /
j insumos / nitrato, fosforo, potasio /;

Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.6.2. Datos
Son el conjunto de todas las informaciones
que representan el problema de
programacin lineal. Se pueden organizar
en forma de:
Vectores
Matrices
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Entrada de datos en forma de
listas
Parameters
c(i) utilidad unitaria por venta
/ 5-5-10 18.5
5-10-5 20.0 /
b(j) disponibilidad de recursos
/ nitrato 1100
fosfato 1800
potasio 2000 / ;
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Consideraciones Especiales
La declaracin debe ser nica, no se pueden usar
las mismas letras con que se definieron los
conjuntos u otros parmetros.
Las definicin de los parmetros se debe hacer con
lneas especificando primero el elemento del
conjunto al cual pertenecen y posteriormente el
valor.
Si no se definen los valores para cada parmetro,
GAMS asume y asigna el valor de cero; es decir, si
no se hubiera especificado por ejemplo que la
disponibilidad mxima para el fosfato eran 1800
toneladas, GAMS la asumira como cero.

Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Entrada de datos en forma de
matrices
5-5-10 5-10-5
Nitrato 5% 5%
Fosfato 5% 10%
Potasio 10% 5%
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Entrada de datos en forma de
matrices
Table a(j,i) Valores pu qui muestra
5-5-10 5-10-5
nitrato 0.05 0.05
fosfato 0.05 0.10
potasio 0.10 0.05;
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Otras utilidades para entrada de
datos
w = sqr(c);
e = m*a;
w = l/e;
dato(i) = sqrt( 2*demanda(i)*costo(i)/cte(i));
t(i) = min(p(i), q(i)/r(i), log(s(i)));
euclidean(i,j) = sqrt(sqr(xi(i) - xi(j) + sqr(x2(i) - x2(j)));
presente(j) = futuro(j)*exp(-interes*tiempo(j));
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.6.3. Variables
Las variables de decisin o variables
endgenas, son los valores que se necesitan
conocer, y para GAMS, deben ser declaras
explcitamente. La sintaxis que define
variables en GAMS es la siguiente
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Tipo de Variables
Tipo Variable Rango permitido de la variable
free hasta
positive 0 hasta
negative hasta 0
binary 0 o 1
integer Enteros positivos
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Declaracin de Variables
Variables
x(i) Toneladas de fertilizantes procesado
z Utilidad Total ;

Positive Variable x;
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Asignacin de lmites
x.lo(i)=10;
x.up(i)=1000;
x.up(i)=pmax(i);
x.up(5-10-5)=1250;
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
1.6.4. Ecuaciones
Son la relaciones de igualdad o desigualdad
entre los diferentes parmetros y las
variables de decisin.
Equations
ganancia Funcion Objetivo
dispon(j) Disponibilidad de recursos;
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Notacin Suma
( )
sum , ( ) i c i
( )
sum , ( ) i x i
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Entrada de Ecuaciones
Notacin Smbolo Funcin
=e= = Igual a
=l= Menor o igual a
=g= Mayor o igual a
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Entrada de Ecuaciones
ganancia.. z =e= sum(i, c(i)*x(i)) ;
dispon(j).. sum(i,a(j,i)*x(i)) =l= b(j) ;
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
---- ganancia =E= Funcion Objetivo
ganancia.. - 18.5*x(5-5-10) - 20*x(5-10-5) + z =E= 0 ; (LHS = 0)
---- dispon =L= Capacidad maxima de mano de obra
dispon(nitrato).. 0.05*x(5-5-10) + 0.05*x(5-10-5) =L= 1100 ; (LHS = 0)
dispon(fosfato).. 0.05*x(5-5-10) + 0.1*x(5-10-5) =L= 0.4 ; (LHS = 0)
dispon(potasio).. 0.1*x(5-5-10) + 0.05*x(5-10-5) =L= 2000 ; (LHS = 0)
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.7. Solucin del Modelo
Clase Tipo de problema
lp Para programacin lineal
nlp Para programacin no lineal
mip Para programacin entera mixta
rmip Para programacin entera mixta relajada
minlp Para programacin no lineal entera mixta
rminlp Para programacin no lineal entera mixta relajada
mcp Problemas complementarios mixtos
mpec Para problemas de programacin matemtica con
restricciones de equilibrio
cns Para sistemas no lineales restrictivos.
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Declaracin del Modelo
Solve {nombre_modelo} using {clase} maxizing
{variable_optimizar} ;
Model UCPR /all/ ;
Solve UCPR using lp maxizing z ;
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Salida de Datos
Display x.l, x.m, z.l
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.8. Salidas de Gams
S O L V E S U M M A R Y
MODEL UCPR OBJECTIVE z
TYPE LP DIRECTION MAXIMIZE
SOLVER BDMLP FROM LINE 42
**** SOLVER STATUS 1 NORMAL COMPLETION
**** MODEL STATUS 1 OPTIMAL
**** OBJECTIVE VALUE 38500.0000
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Posibles Reportes
REPORTE DESCRIPCIN
1 OPTIMAL Se encontr la solucin ptima global de problema
2 LOCALLY OPTIMAL Se encontr un ptimo local
3 UNBOUNDED Aparece cuando el problema es ilimitado
4. INFEASIBLE Aparece cuando el problema es infactible
5. LOCALLY INFEASIBLE Aparece cuando el problema es infactible local, lo
cual no implica que no existan puntos factibles
8 INTEGER SOLUTION Se encontr solucin ptima para problemas de
programacin lineal entera.
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.9. SOLVERS
Los solvers son programas especializados
que se desarrollan sobre la plataforma
GAMS y que son los encargados de resolver
diversos problemas.
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
3.9.1. Solvers en GAMS
BDMLP: Problemas LP, variables enteras,
pequea o mediana complejidad
CONOPT: Problemas de programacin no
lineal.
CPLEX: Lineal entera mixta de gran
complejidad.
MINOS: Problemas lineales o no lineales de
gran tamao.

Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
D & M POWER PRODUCTS INC.
La D & M Power Products Inc., fabrica tres tipos de aisladores de uso
industrial en compaas de servicios electrnicos: aisladores de
aplicacin general, de aplicacin especial y de alto voltaje. Cada
producto pasa a travs de tres operaciones de produccin en la planta
de la D & M: horneado, lavado y laminado y pulimiento. Slo existe
disponible una mquina en cada una de las respectivas operaciones.
La tasa de produccin (en unidades por hora) para cada tipo de
aislador, y en cada operacin, se muestran en la tabla 2. Los costos de
las materias primas asociados con la fabricacin de los aisladores son
de $5 (aplicacin general), $6 (aplicacin especial) y $10 (alto
voltaje). Los costos por hora de las respectivas operaciones de
produccin son: $250 (horneado), $200 (lavado y laminado), y $100
(pulimiento). Los pesos unitarios de venta son $25, $39.75 y $67.50
para los tres productos, respectivamente. A la compaa le gustara
asignar el tiempo utilizado en las diferentes operaciones de manera
que se maximicen las utilidades por hora.
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
1 2 3
1 2 3
1 2 3
1 2 3
6 12.50 17.50
0.020 0.25 0.04 1
. . 0.025 0.050 0.10 1
0.040 0.050 0.10 1
z x x x
x x x
s a x x x
x x x
= + +
+ + s

+ + s

+ + s

Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
EVANS OIL DISTRIBUTORS
La Evans Oil Distributors comercializa
gasolina de dos grados: la extra y la normal.
Cada gasolina debe satisfacer ciertas
especificaciones, tales como la presin
mxima de vapor aceptable y el octanaje
mnimo. Los requerimientos de
manufactura para las gasolinas y el precio
por barril se muestran en las tablas.
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Gasolina
Octanaje
Mnimo
Presin
Mxima de
Vapor
Precio de venta
(por barril)
Normal 80 9 $21.00
Extra 100 6 $24.00
Se utilizan tres tipos de gasolinas para fabricar las gasolinas
normal y extra. Las caractersticas de las gasolinas base se
muestran en la tabla.
Gasolina
Base
Octanaje
Presin de
Vapor
Disponibilidad
Mxima
(barriles)
Costo por
Barril
Tipo 1 108 4 32,000 $22.00
Tipo 2 90 10 20,000 $20.00
Tipo 3 73 5 38,000 $19.00
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
La Evans se ha comprometido con un
comprador a proporcionarle 30,000
barriles de gasolina normal por semana. No
se tienen compromisos con respecto a la
gasolina extra. A la compaa le gustara
determinar el plan de manufactura para las
dos clases de gasolina que maximice las
utilidades.
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Problema de Transporte
Bavaria tiene cuatro plantas de produccin de
cerveza en cuatro ciudades capitales diferentes;
Bogot, Medelln, Cali y Santa Marta y desea
suministrar producto entre cinco grandes bodegas
en ciudades capitales intermedias: Cartagena,
Pereira, Quibd, Bucaramanga y Neiva. Cada fbrica
dispone de una cantidad maxima de producto que
puede enviar e igualmente cada ciudad intermedia
tiene una demanda mnima que debe satisfacer. Por
otro lado se asocian los costos de envio de cada
fbrica a cada ciudad intermedia. EL problema
consiste en determinar la cantidad de producto que
se debe enviar desde cada fbrica a cada ciudad
intermedia con el mnimo costo de transporte.
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Bogot Medellin Cali Sta Marta Requerim
Cartagena 2.0 1.8 4.2 0.8 12.5
Pereira 2.4 1.4 2.9 3.8 8.00
Quibd 3.6 2.0 1.2 4.6 6.50
Bucaramanga 1.6 1.8 3.0 1.2 7.50
Neiva 4.0 3.4 1.6 4.8 12.5
12 13 11 13
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
Ejercicio
Sea el PL y cuatro casos con diferentes funciones objetivo, que se
muestran a continuacin
1 2
1 2
1
2
min
2
2 6
. .
0
0
cx
x x
x x
s a
x
x
+ s

+ s

>

>

| |
| |
| |
| |
1 2
1 2
1 2
1 2
Caso 1: min 3 1, 3
Caso 2: min 3 4, 1
Caso 3: min 3 1, 1
Caso 4: min 3 1, 2
x x c
x x c
x x c
x x c
=
=
=
=
Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz
1
0
0
x
(
=
(

2
0
2
x
(
=
(

3
2
4
x
(
=
(

2
2
1
d
(
=
(

1
1
0
d
(
=
(

1 1 2 2 3 3 1 1 2 2
x x x x d d = + + + +

Potrebbero piacerti anche