“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
3. GAMS
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
GAMS es una herramienta computacional que puede considerarse un lenguaje de programación con la capacidad de resolver problemas de programación matemática de una alta complejidad numérica ofreciendo grandes ventajas entre las cuales pueden destacarse:
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
3.1 Prestaciones de GAMS
• Emplea un lenguaje de alto nivel que permite representar de manera compacta y sencilla grandes y complejos modelos matemáticos.
• Permite cambiar los modelos de forma simple y segura.
• Permite declaraciones inequívocas de relaciones algebraicas.
• Permite realizar descripciones de los modelos que son independientes del algoritmo de solución.
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
3.2. Características de un PL• Una única función objetivo, que representa el interés 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 física o técnicas entorno a la utilización de los recursos.
• Relaciones proporcionales entre las variables de decisión y el nivel de producción.
• La no negatividad de las variables de decisión, todas deben ser positivas o por lo menos cero pero nunca negativas.
• Naturaleza continua en las variables de decisión, es decir, las variables de decisión pueden asumir cualquier valor positivo, ya sea entero, fraccionario, decimal exacto, decimal periódico o decimal no periódico.
• Aditividad para todas las restricciones y para la función objetivo; esto implica que las relaciones se construyen como combinación lineal de las variables.
• Linealidad de las relaciones y de la función objetivo.
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
3.3. Estructura general de un problema de PL
1i i ifo c x g y
i i jj
m m kk
a x b
d y e
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
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
sion m
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
3.5. Problema de OptimizaciónCaso AGRO-TECH: Agro Tech Inc., es una compañía que se dedica a la fabricación 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 número se refiere al porcentaje de nitrato, el segundo número al porcentaje de fosfato y el último número corresponde al porcentaje de potasio. Los fertilizantes se estabilizan con una material de relleno que podría 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 dólares por concepto de mezclado de los fertilizantes. ¿Cómo 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”
UCPR
3.5.1. Modelo Matemático AGRO-TECH
• En el problema de AGRO-TECH se tiene el siguiente modelo matemático de programación 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 xs a
x x
x
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
3.5.2. Soluciones para el problema Agro-Tech
Sol x1 x2 x3 x4 x5 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”
UCPR
3.6. Implementación en GAMS
Modelo de programación implementad
o y desarrollado
en la plataforma
GAMS
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
3.6.1. Conjuntos
• Los conjuntos son bloques constructivos en que simplifican la forma como se definen y entran otros parámetros.
Setsi 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”
UCPR
3.6.2. Datos
Son el conjunto de todas las informaciones que representan el problema de programación lineal. Se pueden organizar en forma de:
• Vectores• Matrices
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
Entrada de datos en forma de listas
Parametersc(i) utilidad unitaria por venta
/ 5-5-10 18.55-10-5 20.0 /
b(j) disponibilidad de recursos/ nitrato 1100
fosfato 1800potasio 2000 / ;
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
Consideraciones Especiales
• La declaración debe ser única, no se pueden usar las mismas letras con que se definieron los conjuntos u otros parámetros.
• Las definición de los parámetros se debe hacer con líneas especificando primero el elemento del conjunto al cual pertenecen y posteriormente el valor.
• Si no se definen los valores para cada parámetro, GAMS asume y asigna el valor de cero; es decir, si no se hubiera especificado por ejemplo que la disponibilidad máxima para el fosfato eran 1800 toneladas, GAMS la asumiría como cero.
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
Entrada de datos en forma de matrices
5-5-10 5-10-5Nitrato 5% 5%Fosfato 5% 10%Potasio 10% 5%
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
Entrada de datos en forma de matrices
Table a(j,i) Valores pu qui muestra5-5-10 5-10-5
nitrato 0.05 0.05fosfato 0.05 0.10potasio 0.10 0.05;
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
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”
UCPR
3.6.3. Variables
• Las variables de decisión o variables endógenas, son los valores que se necesitan conocer, y para GAMS, deben ser declaras explícitamente. La sintaxis que define variables en GAMS es la siguiente
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
Tipo de Variables
Tipo Variable Rango permitido de la variablefree –∞ hasta ∞
positive 0 hasta ∞negative –∞ hasta 0binary 0 o 1integer Enteros positivos
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
Declaración 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”
UCPR
Asignación de límites
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”
UCPR
1.6.4. Ecuaciones
• Son la relaciones de igualdad o desigualdad entre los diferentes parámetros y las variables de decisión.
Equationsganancia Funcion Objetivodispon(j) Disponibilidad de recursos;
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
Notación Suma
sum , ( )i c i
sum , ( )i x i
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
Entrada de Ecuaciones
Notación Símbolo Función=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”
UCPR
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”
UCPR
---- ganancia =E= Funcion Objetivoganancia.. - 18.5*x(5-5-10) - 20*x(5-10-5) + z =E= 0 ; (LHS = 0)---- dispon =L= Capacidad maxima de mano de obradispon(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)
---- ganancia =E= Funcion Objetivoganancia.. - 18.5*x(5-5-10) - 20*x(5-10-5) + z =E= 0 ; (LHS = 0)---- dispon =L= Capacidad maxima de mano de obradispon(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”
UCPR
3.7. Solución del ModeloClase Tipo de problemalp Para programación linealnlp Para programación no linealmip Para programación entera mixtarmip Para programación entera mixta relajadaminlp Para programación no lineal entera mixtarminlp Para programación no lineal entera mixta relajadamcp Problemas complementarios mixtosmpec Para problemas de programación matemática con
restricciones de equilibriocns Para sistemas no lineales restrictivos.
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
Declaración 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”
UCPR
Salida de Datos
Display x.l, x.m, z.l
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
3.8. Salidas de Gams
S O L V E S U M M A R YMODEL UCPR OBJECTIVE zTYPE LP DIRECTION MAXIMIZESOLVER 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”
UCPR
Posibles Reportes
REPORTE DESCRIPCIÓN1 OPTIMAL Se encontró la solución óptima global de problema2 LOCALLY OPTIMAL Se encontró un óptimo local3 UNBOUNDED Aparece cuando el problema es ilimitado4. INFEASIBLE Aparece cuando el problema es infactible5. LOCALLY INFEASIBLE Aparece cuando el problema es infactible local, lo
cual no implica que no existan puntos factibles8 INTEGER SOLUTION Se encontró solución óptima para problemas de
programación lineal entera.
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
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”
UCPR
3.9.1. Solvers en GAMS• BDMLP: Problemas LP, variables enteras,
pequeña o mediana complejidad• CONOPT: Problemas de programación no
lineal.• CPLEX: Lineal entera mixta de gran
complejidad.• MINOS: Problemas lineales o no lineales de
gran tamaño.
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
D & M POWER PRODUCTS INC.• La D & M Power Products Inc., fabrica tres tipos de aisladores de uso
industrial en compañías de servicios electrónicos: aisladores de aplicación general, de aplicación especial y de alto voltaje. Cada producto pasa a través de tres operaciones de producción en la planta de la D & M: horneado, lavado y laminado y pulimiento. Sólo existe disponible una máquina en cada una de las respectivas operaciones. La tasa de producción (en unidades por hora) para cada tipo de aislador, y en cada operación, se muestran en la tabla 2. Los costos de las materias primas asociados con la fabricación de los aisladores son de $5 (aplicación general), $6 (aplicación especial) y $10 (alto voltaje). Los costos por hora de las respectivas operaciones de producción 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 compañía le gustaría 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”
UCPR
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
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
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 presión máxima de vapor aceptable y el octanaje mínimo. 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”
UCPR
GasolinaOctanaje Mínimo
Presión Máxima 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 características de las gasolinas base se muestran en la tabla.
Gasolina Base
OctanajePresión de Vapor
Disponibilidad Máxima (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”
UCPR
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 compañía le gustaría 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”
UCPR
Problema de Transporte
• Bavaria tiene cuatro plantas de producción de cerveza en cuatro ciudades capitales diferentes; Bogotá, Medellín, Cali y Santa Marta y desea suministrar producto entre cinco grandes bodegas en ciudades capitales intermedias: Cartagena, Pereira, Quibdó, Bucaramanga y Neiva. Cada fábrica dispone de una cantidad maxima de producto que puede enviar e igualmente cada ciudad intermedia tiene una demanda mínima que debe satisfacer. Por otro lado se asocian los costos de envio de cada fábrica a cada ciudad intermedia. EL problema consiste en determinar la cantidad de producto que se debe enviar desde cada fábrica a cada ciudad intermedia con el mínimo costo de transporte.
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz”
UCPR
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”
UCPR
Ejercicio• Sea el PL y cuatro casos con diferentes funciones objetivo, que se muestran a
continuación
1 2
1 2
1
2
min
2
2 6. .
0
0
cx
x x
x xs a
x
x
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”
UCPR
1
0
0x
2
0
2x
3
2
4x
2
2
1d
1
1
0d
1 1 2 2 3 3 1 1 2 2x x x x d d
Top Related