Gams

43
“Somos apoyo para llegar a ser gente, gente de bien y profesionalmente capaz” U C P R 3. GAMS

Transcript of Gams

Page 1: Gams

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

UCPR

3. GAMS

Page 2: 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:

Page 3: Gams

“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.

Page 4: Gams

“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.

Page 5: Gams

“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

Page 6: Gams

“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

Page 7: Gams

“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?

Page 8: Gams

“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

Page 9: Gams

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

UCPR

Page 10: Gams

“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

Page 11: Gams

“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

Page 12: 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 /;

Page 13: Gams

“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

Page 14: Gams

“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 / ;

Page 15: Gams

“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.

Page 16: Gams

“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%

Page 17: Gams

“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;

Page 18: Gams

“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));

Page 19: Gams

“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

Page 20: Gams

“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

Page 21: Gams

“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;

Page 22: Gams

“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;

Page 23: Gams

“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;

Page 24: Gams

“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

Page 25: Gams

“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

Page 26: Gams

“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) ;

Page 27: Gams

“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)

Page 28: Gams

“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.

Page 29: Gams

“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 ;

Page 30: Gams

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

UCPR

Salida de Datos

Display x.l, x.m, z.l

Page 31: Gams

“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

Page 32: Gams

“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.

Page 33: Gams

“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.

Page 34: Gams

“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.

Page 35: Gams

“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.

Page 36: Gams

“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

Page 37: Gams

“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.

Page 38: Gams

“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

Page 39: Gams

“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.

Page 40: Gams

“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.

Page 41: Gams

“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

Page 42: Gams

“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

Page 43: Gams

“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