Вы находитесь на странице: 1из 28

Fundamentos de Investigaci on de Operaciones Investigaci on de Operaciones 1 Programaci on Lineal Entera

11 de septiembre de 2003

1.

Introducci on

Un LP donde se requiere que todas las variables sean enteras se denomina un problema de programaci on lineal entera pura. Por ejemplo: m ax z = 3x1 + 2x2 s.t. x1 + x2 6 x1 , x2 Z + (1.1)

Un LP donde s olo algunas variables deben ser enteras se denomina problema de programaci on lineal entera mixta. Por ejemplo: m ax z = 3x1 + 2x2 s.t. x1 + x2 6 x2 0 x1 Z +

(1.2)

Un LP donde todas la variables deben ser igual a 1 o 0 se denomina problema de programaci on lineal binaria. Por ejemplo: m ax z = x1 x2 s.t. x1 + 2x2 2 2x1 x2 1 x1 , x2 = {0, 1}

(1.3)

El concepto de relajaci on de un problema de programaci on lineal entera (IP) juega un rol fundamental en la resoluci on de este tipo de problemas. Denici on 1 El LP obtenido eliminando todas las condiciones de valores enteros o binarios para las variables se denomina Relajaci on del LP. Por ejemplo, la relajaci on de (1.1) quedar a: m ax z = 3x1 + 2x2 s.t. x1 + x2 6 x1 , x2 0 De la misma forma, la relajaci on de (1.3) queda: (1.4)

Segundo Semestre 2003

Programaci on Lineal Entera

m ax z = x1 x2 s.t. x1 + 2x2 2 2x1 x2 1 x1 , x2 0

(1.5)

Cualquier IP puede ser visto como el LP relajado m as algunas restricciones adicionales. Por lo tanto, el LP relajado es un problema menos restringido, o m as relajado, que el IP. En consecuencia la regi on factible para cualquier IP debe estar contenida en la regi on factible del correspondiente LP relajado. Luego, si el problema es de maximizaci on: El valor optimo de z del LP relajado El valor optimo de z del IP Consideremos el siguiente ejemplo: m ax z = 21x1 + 11x2 s.t. 7x1 + 4x2 13 x1 , x2 Z + (1.6)

La regi on factible del problema relajado se presenta en la gura 1.1. En este caso, la regi on factible del IP lo conforma el siguiente conjunto de puntos: S = {(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1)}. En este caso, mediante la evaluaci on y comparaci on de los valores de z en los seis puntos factibles es posible determinar el optimo. Luego, la soluci on optima de (1.6) es z = 33, x 1 = 0, x2 = 3.

x2 3,0 2,5
7x 1

= punto en la regi on factible

2,0 1,5 1,0 0,5 0 0

0,5 1,0 1,5 2,0 2,5 3,0

Figura 1.1: Regi on Factible del ejemplo 1.6 Si la regi on factible de la relajaci on de un IP puro est a acotada, la regi on factible del IP consistir a en un n umero nito de puntos. En teor a, mediante la enumeraci on y la evaluaci on de z en cada uno de los puntos es posible encontrar el mejor valor de z . El problema es que si la regi on factible contiene miles de puntos factibles, la enumeraci on completa no es viable desde un punto de vista computacional. Una segunda opci on para resolver el IP ser a mediante la aproximaci on de la soluci on obtenida de 13 la relajaci on. Por ejemplo si se resolviera la relajaci on de (1.6) se obtendr a: x 1 = 7 , x2 = 0. Redondeando esta soluci on se obtendr a: x1 = 2, x2 = 0 como posible soluci on optima. Sin embargo este punto est a fuera de la regi on factible por lo que no puede ser optimo. Otro candidato a optimo se 2

x2 +4 = 13

x1

Segundo Semestre 2003

Programaci on Lineal Entera

puede obtener redondeando el valor obtenido de la relajaci on hacia abajo: x 1 = 1, x2 = 0, valor que tampoco corresponde al optimo real del problema. Como se ve en este ejemplo, no existen garant as de que la aproximaci on de soluciones del problema relajado corresponda a la soluci on optima real del IP. Por lo tanto, no es un enfoque v alido para resolver el problema. Como se estudi o previamente, el algoritmo Simplex resuelve un LP a partir de una soluci on b asica factible mejor andola iteraci on a iteraci on. Luego, en la mayor a de los casos, Simplex examina s olo una porci on de todas las soluciones basales factibles antes de llegar al optimo. En forma an aloga, se podr a esperar que existan algoritmos capaces de resolver un IP iterando de una soluci on factible entera a otra. Lamentablemente, no existen o no son conocidos tales algoritmos. Por lo tanto, como se ver a en detalle m as adelante, la resoluci on de un IP es mucho m as compleja que la resoluci on de su relajaci on.

2.

Formulaci on de IP

Los problema de programaci on lineal entera permiten ampliar el espectro de problemas factibles de plantear como modelos de programaci on lineal. A continuaci on se ver an algunos ejemplos.

2.1.

Problema de Asignaci on de Capital

Ejemplo 1 Una empresa est a considerando cuatro posibles inversiones. La opci on 1 tiene asociado un valor actualizado neto (VAN) de U S $16000, la opci on 2 tiene un VAN de U S $22000, la inversi on 3 representa un VAN de U S $12000 y la inversi on 4 posee un VAN de U S $8000. Cada inversi on requiere un cierto capital inicial: U S $5000, U S $7000, U S $4000 y U S $3000, para las inversiones 1, 2, 3 y 4 respectivamente. Actualmente la empresa dispone $14000 para invertir. Formule un IP que permita determinar la forma de invertir el dinero de forma de maximizar las utilidades. Las opciones son invertir o no en cada una de las posibilidades. Por lo tanto, conviene emplear variables de tipo binaria para indicar si se escoge cada opci on: xj = 1 se invierte en la opci on j 0 en caso contrario j = 1...4 (2.1)

La funci on objetivo para el problema queda (en miles): m ax z = 16x1 + 22x2 + 12x3 + 8x4 (2.2)

En la expresi on (2.2) se verica que si la opci on j se realiza, entonces xj = 1 y se suma el VAN respectivo al valor de la funci on objetivo. En caso contrario, la variable x j = 0 y no se contabiliza ese aporte. Se sigue la misma l ogica para construir las restricciones. Como existe un capital limitado de U S $14000 para invertir, se debe satisfacer (en miles): 5x1 + 7x2 + 4x3 + 3x4 14 Como no existen otras restricciones, el modelo completo para el problema queda: m ax z = 16x1 + 22x2 + 12x3 + 8x4 s.t. 5x1 + 7x2 + 4x3 + 3x4 14 xj = {0, 1} j Supongamos ahora que se agregan las siguientes restricciones al problema original: 3 (2.4) (2.3)

Segundo Semestre 2003

Programaci on Lineal Entera

1. 2. 3. 4.

La empresa puede invertir en a lo m as dos opciones. Si la empresa invierte en la opci on 2, tambi en debe invertir en 1. Si la empresa invierte en 1, no puede tomar la opci on 4. S olo se puede invertir en 3 si se escoge 1 o 2. El planteo original del problema (2.4) se ve modicado de la siguiente forma:

1. En este caso basta con agregar la restricci on: x1 + x 2 + x 3 + x 4 2 2. Para incorporar esta restricci on, se debe imponer que si x2 = 1 necesariamente x1 = 1. Luego, se podr a emplear: x2 x 1 o x2 x1 0 Si x2 = 1 necesariamente se tendr a x1 = 1. Si x2 = 0, x1 podr a ser 0 o 1. Como no existen indicaciones en ese caso, se satisface el requerimiento de la nueva restricci on. 3. Esta restricci on impone la condici on de que las alternativas 1 y 4 sean excluyentes, en otras palabras: x1 + x 4 1 Como las variables son binarias, no se permite que ambas puedan ser igual a 1. 4. Aqu , la variable x3 puede valer 1 s olo si x1 o x2 es igual a 1. No existen restricciones que digan que x1 y x2 sean excluyentes, por lo tanto eventualmente se podr a escoger ambas. En este caso se puede agregar: x3 x 1 + x 2 Luego, basta con tener un 1 a la derecha de la desigualdad para que x 3 pueda tomar valor igual a 1. Si se exigiera que deben escogerse 1 y 2 para poder seleccionar 3, la restricci on quedar a: 2 x 3 x1 + x2 En este caso se requiere tener un 2 a la derecha de la desigualdad para que x 3 pueda ser igual a uno.

2.2.

Problemas de Costo Fijo

Ejemplo 2 Una compa n a es capaz de producir tres tipos de prendas: poleras, shorts y pantalones. La fabricaci on de cada tipo de prenda requiere de maquinaria especializada. La maquinaria puede ser arrendada a los siguientes costos: U S $200, U S $150 y U S $100 al mes en el caso de las poleras, shorts y pantalones respectivamente. La fabricaci on de cada prenda requiere las cantidades de tela y mano de obra indicadas en la Cuadro 2.1. Cada mes se dispone de 150 horas de mano de obra y 160 yd 2 de tela. El costo unitario de producci on y el precio de venta de cada art culo se muestra en el Cuadro 2.2. Formule un IP que permita maximizar el benecio de la f abrica. Para plantear el modelo se pueden denir las siguientes variables: x1 = n umero de poleras producidas mensualmente x2 = n umero de shorts producidos mensualmente x3 = n umero de pantalones producidos mensualmente 4 (2.5)

Segundo Semestre 2003 Tela [yd2 ] 4 3 4

Programaci on Lineal Entera

Poleras Shorts Pantalones

Mano de Obra [hrs] 3 2 6

Cuadro 2.1: Requerimientos de Fabricaci on Poleras Shorts Pantalones Precio de Venta U S $ 12 8 15 Costo Variable U S $ 6 4 8

Cuadro 2.2: Requerimientos de Fabricaci on Como el costo de arriendo de la maquinaria s olo depende de la prenda producida, ser a necesario emplear variables binarias para cuanticar el hecho de arrendar o no cada m aquina: yi = 1 se arrienda maquinaria para fabricar prendas tipo i 0 en caso contrario j = 1...3 (2.6)

Para que el modelo funcione, se debe garantizar que: Si xi > 0 yi = 1 Si xi = 0 yi = 0 Para ello, se debe incorporar las restricciones de activaci on de las variables binarias: x 1 M 1 y1 x 2 M 2 y2 x 3 M 3 y3 (2.8) (2.7)

Los valores Mi son valores escalares lo sucientemente grandes de forma que sean una cota superior para el valor de xi en el contexto del problema. La restricci on (2.8) activa la variable binaria ya que si xi > 0, para que la restricci on se pueda satisfacer la variable binaria yi debe ser exactamente igual a 1. En el caso que xi = 0, la variable binaria yi puede o no valer 1 sin afectar la satisfacci on de la restricci on, sin embargo, si la variable binaria valiera 1 se estar a considerando el costo de arriendo de una maquinaria que no se est a empleando. Evidentemente, como el problema es de maximizaci on de ganancias, si no es estrictamente necesario cuanticar un costo, el algoritmo de resoluci on se encargar a de hacer que la variable yi = 0 en el optimo. En otras palabras, si el problema no obliga a considerar un costo, el algoritmo de resoluci on se encargar a de no contabilizarlo. La funci on objetivo corresponder a a la diferencia entre los ingresos por venta, menos los costos de producci on jos y variables: z = (12x1 + 8x2 + 15x3 ) (6x1 + 4x2 + 8x3 ) (200y1 + 150y2 + 100y3 )
Ingresos por venta Costos variables Costos jos

(2.9)

Por lo tanto, la funci on objetivo a maximizar queda: z = 6x1 + 4x2 + 7x3 200y1 150y2 100y3 (2.10)

Segundo Semestre 2003

Programaci on Lineal Entera

A continuaci on es preciso construir las restricciones del problema. En este caso existe un disponibilidad m axima de mano de obra y de tela. La restricci on de mano de obra queda: 3x1 + 2x2 + 6x3 150 y la de tela ser a: 4x1 + 3x2 + 4x3 160 (2.12) (2.11)

Las restricciones (2.11) y (2.12) nos permiten estimar el valor de M i . Por ejemplo si s olo se produ160 , jeran art culos de tipo 1, el valor m aximo a producir quedar a controlado por: m n{ 150 3 4 }, es decir, 40. Luego, basta con escoger M1 = 40, pero en general podr a ser cualquier valor mayor. En el caso de x2 controla 160 erminos generales los valores de Mi s olo deben ser 3 y para x3 basta con M3 = 25. En t lo sucientemente grandes para no restringir los valores de xi por lo que se escoger a arbitrariamente M1 = M2 = M3 = 100. De acuerdo a la selecci on anterior, el modelo nal para el problema queda: m ax z = 6x1 + 4x2 + 7x3 200y1 150y2 100y3 s.t. 3x1 + 2x2 + 6x3 150 4x1 + 3x2 + 4x3 160 x 1 M 1 y1 x 2 M 2 y2 x 3 M 3 y3 xi Z + i = 1 . . . 3 yi = {0, 1} i = 1 . . . 3

(2.13)

2.3.

Problemas de Cubrir Conjuntos

Ejemplo 3 Existen 6 barrios en una ciudad. La Alcald a debe determinar c omo construir estaciones de bomberos. La Alcald a desea construir el n umero m nimo de estaciones de bomberos de forma de asegurar que al menos una estaci on est e a menos de 15 minutos de cada barrio. Los tiempos de viaje entre cada barrio de la ciudad se muestra en el Cuadro 2.3. Formule el IP que permita determinar cuantas estaciones deben ser construidas y donde deben estar ubicadas. Desde Barrio 1 Barrio 2 Barrio 3 Barrio 4 Barrio 5 Barrio 6 Barrio 1 10 20 30 30 20 Barrio 2 10 25 35 20 10 Hasta Barrio 3 Barrio 4 20 30 25 35 15 15 30 15 20 25 Barrio 5 30 20 30 15 14 Barrio 6 20 10 20 25 14 0

Cuadro 2.3: Tiempo de viaje entre barrios Para resolver el problema se debe buscar la asignaci on del menor n umero de estaciones de bomberos de forma de cubrir un conjunto de Barrios. Para construir el IP, conviene denir las siguientes variables:

Segundo Semestre 2003

Programaci on Lineal Entera

xi =

1 se construye una estaci on de bomberos en el barrio i 0 en caso contrario

i = 1...6

(2.14)

De acuerdo a las variables denidas, el total de estaciones a construir queda denido por:
6

z=
i=1

xi

(2.15)

Para construir las restricciones, es preciso obtener del Cuadro 2.3 en que lugares es factible construir la estaciones de bomberos para asegurar que cada barrio quede a menos de 15 minutos de al menos una de ellas. Por ejemplo, para asegurar que al menos una estaci on quede a menos de 15 minutos del Barrio 1 se debe construir en el propio Barrio 1 o bien en el Barrio 2. Siguiendo la misma l ogica se construye el Cuadro 2.4. Barrio 1 2 3 4 5 6 Barrios factibles de construcci on 1, 2 1, 2, 6 3, 4 3, 4, 5 4, 5, 6 2, 5, 6

Cuadro 2.4: Lugares factibles de construcci on de estaciones de bomberos Luego, para asegurar la condici on solicitada para el Barrio 1 se puede agregar: x1 + x 2 1 Incorporando las restricciones para los otros barrios se completa el IP: m ax z = x1 + x2 + x3 + x4 + x5 + x6 s.t. x1 + x2 1 (Barrio 1) x1 + x 2 + x 6 1 (Barrio 2) x3 + x 4 1 (Barrio 3) x3 + x 4 + x 5 1 (Barrio 4) x4 + x 5 + x 6 1 (Barrio 5) x2 + x 5 + x 6 1 (Barrio 6) xi = {0, 1} i = 1 . . . 6 (2.16)

(2.17)

2.4.

Problemas con restricciones excluyentes o no excluyentes

En un modelo matem atico puede ocurrir frecuentemente que existan dos o m as restricciones que sean mutuamente excluyentes, por ejemplo sean las restricciones: f (x1 , x2 , . . . xn ) 0 g (x1 , x2 , . . . xn ) 0 (2.18) (2.19)

Segundo Semestre 2003

Programaci on Lineal Entera

Si se desea que s olo sea satisfecha una de las restricciones, se puede modicar el planteo de las restricciones de la siguiente forma: f (x1 , x2 , . . . xn ) M y g (x1 , x2 , . . . xn ) M (1 y ) (2.20) (2.21)

donde y es una variable binaria y M es una constante lo sucientemente grande para asegurar que las restricciones: f (x1 , x2 , . . . xn ) M g (x1 , x2 , . . . xn ) M se satisfacen para toda combinaci on de valores de x1 , x2 , . . . xn . Por lo tanto, si y = 1 se tiene que f M y g 0, es decir, s olo existe para efectos pr acticos las restricci on asociada a g . En caso contrario, si y = 0 se tiene que f 0 y g M , por lo tanto s olo existe la restricci on f en t erminos pr acticos. Si se deseara que al menos una de las restricciones fuera satisfecha, el planteo quedar a: f (x1 , x2 , . . . xn ) M y1 g (x1 , x2 , . . . xn ) M y2 y1 + y 2 1 donde y1 e y2 son variables binarias independientes. La idea anterior se puede extender a cualquier n umero de restricciones. Ejemplo 4 Una f abrica de autom oviles construye tres tipos de autos: compactos, medianos y grandes. Los requerimientos de materiales, mano de obra y el benecio obtenido por cada tipo de auto fabricado se muestra en el Cuadro 2.5. Actualmente, la f abrica dispone 6000 toneladas de materiales y 60000 horas de mano de obra. Para que la producci on de un tipo de veh culo sea econ omicamente factible, se deben producir al menos 1000 unidades de cada tipo que se fabrique. Formule un IP que permita maximizar el benecio de la f abrica. Materiales [T] Mano de obra [hr] Benecio [U S $] Compacto 1,5 30 2000 Mediando 3 25 3000 Grande 5 40 4000

Cuadro 2.5: Requerimientos y benecios por tipo de veh culo. Como variables de decisi on conviene emplear: xi = n umero de autom oviles de tipo i fabricados (2.22)

La funci on objetivo queda denida por la combinaci on lineal de las variables por sus respectivos benecios unitarios (en miles): m ax z = 2x1 + 3x2 + 4x3 8 (2.23)

Segundo Semestre 2003

Programaci on Lineal Entera

A continuaci on se debe agregar la restricci on que obligue a que si se produce un determinado tipo de veh culo, se produzcan como m nimo 1000 unidades, es decir: xi 0 o xi 1000 O bien: xi 0 o 1000 xi 0 i = 1...3 (2.25) i = 1...3 (2.24)

Introduciendo la variable binaria yi , las restricciones quedan: x i M i yi 1000 xi Mi (1 yi ) yi = {0, 1} (2.26) (2.27) (2.28)

Un valor posible para Mi se puede obtener a partir de la disponibilidad de materiales y de mano 60000 de obra, por ejemplo para los veh culos compactos ser a: M1 = m n{ 6000 1,5 , 30 } = 2000. Siguiendo la misma l ogica se puede obtener: M2 = 2000 y M3 = 1200. Por otro lado, se deben incorporar las restricciones relativas a la disponibilidad de materiales y mano de obra: 1,5x1 + 3x2 + 5x3 6000 (Materiales) 30x1 + 25x2 + 40x3 60000 (Mano de Obra) Finalmente, el IP queda: m ax z = 2x1 + 3x2 + 4x3 s.t. x1 1000 x1 x2 1000 x2 x3 1000 x3 1,5x1 + 3x2 + 5x3 30x1 + 25x2 + 40x3 xi yi = 2000y1 2000(1 y1 ) 2000y2 2000(1 y2 ) 1200y3 1200(1 y3 ) 6000 60000 Z+ i = 1 . . . 3 {0, 1} i = 1 . . . 3 (2.29)

(2.30)

2.5.

Problemas con restricciones de tipo si... entonces

En un modelo matem atico puede ocurrir que si la restricci on: f (x1 , x2 , . . . xn ) > 0 se satisface, entonces la restricci on: g (x1 , x2 , . . . xn ) 0 9 (2.32) (2.31)

Segundo Semestre 2003

Programaci on Lineal Entera

tenga tambi en que satisfacerse, mientras que si f 0 la restricci on g 0 pueda o no satisfacerse. Para garantizar esta condici on se pueden incorporar las siguientes restricciones: g (x1 , x2 , . . . xn ) M y f (x1 , x2 , . . . xn ) M (1 y ) y = {0, 1} (2.33) (2.34) (2.35)

El valor de M debe ser escogido de tal forma que si f M y g M se asegure que todos los valores de x1 , x2 , . . . xn satisfagan las restricciones. Si la variable binaria vale cero, se tiene f M , en particular f > 0. Por otro lado, si y = 0 se tiene g 0 o bien g 0. En caso contrario, cuando y = 1 se tiene f 0, es decir, no se puede cumplir que f > 0. Si y = 1 se tiene g M , es decir, se cumple si g 0 o si g < 0. En suma, si se satisface f > 0, la variable binaria debe valer 1 lo que obliga a satisfacer g 0. A modo de ejemplo, supongamos que en el problema de la f abrica de autom oviles si se fabrican autos compactos no se pueden fabricar veh culos de otro tipo. En otras palabras se tiene: Si x1 > 0 En forma equivalente se tiene: Si x1 > 0 Por lo tanto, basta incorporar: x2 + x 3 M y x1 M (1 y ) y = {0, 1} (2.38) (2.39) (2.40) x 2 + x3 0 o x 2 x3 0 (2.37) x 2 = x3 = 0 (2.36)

El valor de M no tiene porqu e ser u nico. En este caso, podemos emplear los valores de M i calculados previamente: x2 + x3 (M2 + M3 )y = 3200y x1 M1 (1 y ) = 2000(1 y ) y = {0, 1} (2.41) (2.42) (2.43)

2.6.

Problemas con funciones lineales denidas por tramos

Una funci on lineal denida por tramos corresponde a un conjunto de segmentos rectos. Los puntos donde se producen cambios de pendiente se denominan puntos de quiebre. Sea f (x) una funci on lineal por tramos con puntos de quiebre b1 , b2 , . . . bn , para cualquier k = 1, 2, . . . n, bk x bk+1 . Entonces, para alg un n umero zk (0 zk 1), x puede ser escrito como: x = zk bk + (1 zk )bk+1 Como f (x) es lineal para bk x bk+1 , se puede escribir: (2.44)

10

Segundo Semestre 2003

Programaci on Lineal Entera

f (x) = zk f (bk ) + (1 zk )f (bk+1 )

(2.45)

La expresi on anterior representa una parametrizaci on entre los valores extremos de la funci on en ese intervalo, en t erminos del par ametro zk 1. La idea geom etrica se ilustra en la Figura 2.1. f (x) f (b3 )

f (b2 )

b1

b2

b3

Figura 2.1: Funci on lineal por tramos La funci on objetivo puede ser escrita como: f (x) = z1 f (b1 ) + z2 f (b2 ) + . . . + zn f (bn ) (2.46)

Evidentemente, se debe cumplir que zk+1 + zk = 1 para alg un k . Sea yk una variable binaria auxiliar que indica la presencia de la variable x dentro del intervalo k (k = 1 . . . n 1). Entonces se puede escribir las siguientes restricciones: z1 y 1 z2 y 1 + y 2 z3 y 2 + y 3 . . . zn1 yn2 + yn1 zn yn1 Por lo tanto, si la variable x est a en el intervalo k , se tiene yk = 1 y s olo zk y zk+1 pueden ser distintas de cero. Evidentemente, la variable x s olo puede pertenecer a un intervalo: y1 + y2 + . . . + yn1 = 1 C omo zk+1 = 1 zk , se debe agregar la restricci on: z1 + z 2 + . . . + z n = 1 De acuerdo a la ecuaci on (2.44) se tiene: x = z1 b1 + z2 b2 + . . . + zn bn (2.50) (2.49) (2.48)

(2.47)

Para ilustrar la incorporaci on de funciones lineales denidas por tramos consideremos el siguiente ejemplo:

11

Segundo Semestre 2003

Programaci on Lineal Entera

Ejemplo 5 Una rener a produce dos tipos de gasolina a partir de dos tipos de petr oleos. Cada gal on de gasolina tipo 1 debe contener a lo menos 50 % de petr oleo 1 y cada gal on de gasolina tipo 2 debe contener al menos 60 % de petr oleo tipo 1. Cada gal on de gasolina tipo 1 puede ser vendido a $12 y cada gal on de tipo 2 puede ser vendido a $14. Actualmente se dispone de 500 galones de petr oleo tipo 1 y 1000 galones de petr oleo de tipo 2. Se puede comprar hasta 1500 galones adicionales de petr oleo tipo 1 al siguiente precio: los primeros 500 galones se deben pagar a $25 el gal on; los siguientes 500 galones se deben pagar a $20 el gal on; los siguientes 500 galones se compran a $15 el gal on. Formule un IP que permita determinar la forma de maximizar las utilidades. Para plantear el modelo se pueden denir las siguientes variables: x xij = cantidad de petr oleo tipo 1 comprado = cantidad de petr oleo de tipo i empleado para producir gasolina de tipo j

(2.51)

La funci on objetivo queda: m ax z = 12(x11 + x21 ) + 14(x12 + x22 ) c(x) donde: 0 x 500 25x 25x + 2500 500 x 1000 c(x) = 15x + 7500 1000 x 1500 x11 + x12 x + 500 La restricci on relativa a la disponibilidad de petr oleo tipo 2 queda: x21 + x22 1000 Para obligar que la gasolina tipo 1 tenga al menos un 50 % de petr oleo tipo 1 se agrega: x11 0,5 x11 + x21 Para obligar que la gasolina tipo 2 tenga al menos un 60 % de petr oleo tipo 1 se agrega: x12 0,6 x12 + x22 En la funci on objetivo se reemplaza c(x) por: c(x) = 0z1 + c(500)z2 + c(1000)z3 + c(1500)z4 c(x) = 12500z2 + 22500z3 + 30000z4 El valor de la variable x se calcula seg un: x = 0z1 + 500z2 + 1000z3 + 1500z4 Las variables continuas zk se relacionan con las binarias yk se un: z1 z2 z3 z4 y1 y1 + y2 y2 + y3 y3 12 (2.59) (2.56) (2.55) (2.53) (2.52)

La restricci on relativa a la disponibilidad de petr oleo tipo 1 queda: (2.54)

(2.57)

(2.58)

(2.60)

Segundo Semestre 2003

Programaci on Lineal Entera

Adem as se tiene que: z1 + z 2 + z 3 + z 4 = 1 y1 + y 2 + y 3 = 1 Finalmente se agrega la naturaleza de las variables: zi 0 i = 1...4 yj = {0, 1} j = 1 . . . 3 xkr 0 kr (2.62) (2.61)

3.

Resoluci on de IP - M etodo de Ramicaci on y Acotamiento

El m etodo de ramicaci on y acotamiento consiste en una t ecnica de enumeraci on eciente de los puntos factibles de subproblemas de un cierto problema original. Evidentemente, si se resuelve la relajaci on de un problema de programaci on lineal entera pura o mixta y se encuentra que todas las variables que deben ser enteras o binarias cumplen la condici on de enteridad, el optimo encontrado ser a tambi en el optimo del IP original. Por ejemplo si se resuelve la relajaci on del siguiente problema: Ejemplo 6 m ax z = 3x1 + 2x2 s.t. 2x1 + x2 6 x1 , x2 Z + (3.1)

se obtiene como soluci on: x1 = 0, x2 = 6 y z = 12, que corresponde exactamente a la soluci on del IP original. Tal como se ve en la Figura 3.1, la regi on factible del IP es un subconjunto de la relajaci on, por lo tanto el optimo del IP no puede ser mejor que el optimo de su relajaci on. La generalizaci on de esta idea es el principio b asico del m etodo de ramicaci on y acotamiento. x2 6 5 4 3 2 1 0 0 1 2 3 x1
2x 1 +x

= punto en la regi on factible

Figura 3.1: Regi on Factible del ejemplo 3.1 Para ilustrar como opera la t ecnica, consideremos el siguiente ejemplo: Ejemplo 7 Una muebler a fabrica mesas y sillas. Una mesa requiere de 1 hora de mano de obra y 9 pies cuadrados de madera, una silla requiere de 1 hora de mano de obra y 5 pies cuadrados de madera. Actualmente, la muebler a dispone de 6 horas de mano de obra y 45 pies cuadrados de madera. Cada 13

=6

Segundo Semestre 2003

Programaci on Lineal Entera

mesa genera una utilidad de U S $8, cada silla representa una utilidad de U S $5. Formule y resuelva un IP para maximizar el benecio de la muebler a. Consideremos: x1 = n umero de mesas fabricadas x2 = n umero de sillas fabricadas Como x1 y x2 deben ser enteras, el IP que resuelve el problema queda: m ax z = 8x1 + 5x2 s.t. x1 + x2 6 9x1 + 5x2 45 x1 , x2 Z + (3.2)

(3.3)

La resoluci on gr aca del Subproblema 1 se muestra en la Figura 3.2. En este caso, la soluci on 9 165 optima corresponde al punto x1 = 15 = 3 , 75 y x = = 2 , 25, con valor de la funci o n objetivo z = 2 4 4 4 . Como se mencion o anteriormente, la soluci on del IP no puede ser mejor a la del IP relajado, por lo on objetivo. que z = 165 4 es una Cota Superior para la funci x2 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6
x1 +

En primer lugar se resuelve la relajaci on del IP, llamaremos a este problema el Subproblema 1: m ax z = 8x1 + 5x2 s.t. x1 + x2 6 (3.4) Subproblema 1: 9x1 + 5x2 45 x1 , x2 0

Figura 3.2: Regi on Factible del Subproblema 1 El pr oximo paso es seleccionar una partici on de la regi on factible de la relajaci on de forma de intentar obtener la soluci on optima del IP. Para ello, arbitrariamente se escoge una variable que no satisfaga las condiciones del IP, es decir, una variable fraccionaria que deber a ser entera, por ejemplo x1 . C omo se busca un valor entero para x1 interesa que x1 3 o bien que x1 4, ya que no puede haber una soluci on factible entera en el intervalo 3 < x1 < 4, en otras palabras se buscan soluciones 14

9x 1 x2 +5 = 45

optimo

x2 = 6

x1

Segundo Semestre 2003

Programaci on Lineal Entera

en los valores enteros m as cercanos al valor fraccionario obtenido. De acuerdo a ello, ramicaremos la variable x1 deniendo los siguientes subproblemas: Subproblema 2: Subproblema 3: Subproblema 1 + restricci on: x1 3 Subproblema 1 + restricci on: x1 4 (3.5)

N otese que ambos subproblemas excluyen el valor x1 = 15 on optima de los 4 , es decir, la soluci subproblemas no puede ser igual al de la relajaci on. Por otro lado, como se est a resolviendo un problema m as restrictivo que la relajaci on original el valor de la funci on objetivo no puede ser mejor. La ramicaci on de las variables se ordena en un arbol de ramicaci on como se muestra en la Figura 3.3. La regi on factible del subproblema 2 se muestra en la Figura 3.4. Los puntos extremos de la regi on factible: D, E , F y G son los candidatos a optimos, evaluando se obtiene: z D = 0, zE = 24, zF = 39 y zG = 30, por lo que la mejor soluci on corresponde al punto F (x1 = 3, x2 = 3), con valor de la funci on objetivo: z = 39. En este caso, la soluci on obtenida satisface las condiciones de enteridad, por lo que es posible denir como cota superior z = 39. Subproblema 1 165 z = 4 15 x1 = 4 9 x2 = 4 x1 3 Subproblema 2 x1 4 Subproblema 3

Figura 3.3: Arbol de ramicaci on subproblemas 2 y 3 x2 9 8 7 6 5 4 3 2 1 0 D 0 1 2 E 3 4 5 F


x1 + x2

9x 1 x2 +5 = 45

Figura 3.4: Regi on Factible del subproblema 2 Si bien la soluci on obtenida del subproblema 2 satisface todas las condiciones del problema, debemos completar la ramicaci on ya que a un hay esperanzas de obtener una soluci on menor o igual al valor 15

x1 = 3
= 6

x1

Segundo Semestre 2003

Programaci on Lineal Entera

optimo del subproblema 1, pero mejor a la cota superior actual. La regi on factible del subproblema 3 se muestra en la gura 3.5. Los puntos extremos de la regi on factible son: A, B y C , con respectivos valores de la funci on objetivo: zA = 40, zB = 32 y zC = 41. Por lo tanto el optimo corresponde a: 9 on de enteridad. x1 = 4 y x2 = 5 , valor que no satisface la condici x2 9 8 7 6 5 4 3 2 1 0 0 1 2 3 B 4 5 A 6 x1 C
x1 + x2 = 6

Figura 3.5: Regi on Factible del subproblema 3 Si bien hasta ahora se dispone de una soluci on entera con valor de la funci on objetivo de 39, en el subproblema 3 se obtuvo como valor optimo: z = 41. Si bien el subproblema 3 no representa una soluci on factible para el IP, al ramicar a partir de este problema se podr a esperar un valor de la funci on objetivo que sea menor o igual a 41 pero que podr a ser mejor que 39, por lo que no se puede dar como nalizada las ramicaciones. De acuerdo a ello, podemos denir dos nuevos subproblemas 9 a partir el subproblema 3. Como la variable x2 = 5 no es entera, conviene buscar valores con las siguientes particiones de la regi on factible: x2 1 y x2 2. En otras palabras, se deben resolver los siguientes subproblemas: Subproblema 4: Subproblema 5: Subproblema 3 + restricci on: x2 1 Subproblema 3 + restricci on: x2 2 (3.6)

El arbol de ramicaci on con los dos nuevos subproblemas se muestra en la Figura 3.6. La regi on factible para los subproblemas 4 y 5 se indican en la Figura 3.7. Para el subproblema 4, los nuevos candidatos a optimos son los puntos H e I , con valores de la funci on objetivo: z H = 37 y zI = 365 9 = 40,556. Entre los puntos A, B , H e I , el mejor valor se obtiene para el punto I con x 1 = 40 y x 2 = 1. 9 Respecto del subproblema 5 se observa que no existen puntos que satisfagan simult aneamente las restricciones del subproblema 3 y x2 2, por lo que tiene soluci on imposible. Como la soluci on optima del subproblema 4 es superior a la cota, es necesario volver a ramicar ya que eventualmente se podr a encontrar una soluci on que sea menor o igual a z = 365 9 , pero mejor que z = 39. En este caso, la variable no entera es x1 = 40 , por lo que conviene denir los siguientes 9 subproblemas: Subproblema 6: Subproblema 7: Subproblema 4 + restricci on: x1 4 Subproblema 4 + restricci on: x1 5 16 (3.7)

9x 1 x2 +5 = 45

x1 = 4

Segundo Semestre 2003 Subproblema 1 165 z = 4 15 x1 = 4 9 x2 = 4 x1 3 Subproblema 2 z = 39 x1 = 3 x2 = 3 x2 1 Subproblema 4 x1 4 Subproblema 3 z = 41 x1 = 4 9 x2 = 5

Programaci on Lineal Entera

x2 2 Subproblema 5

Figura 3.6: Arbol de ramicaci on subproblemas 4 y 5 x2 9 8 7 6 5 4 3 2 1 0 0 1 2 3 x2 = 2 x2 = 1 H B 4 5 I A 6 x1


x1 + x2 = 6

Figura 3.7: Regi on Factible del subproblemas 4 y 5 El nuevo arbol de ramicaci on se muestra en la Figura 3.8. Se agregan las nuevas restricciones referentes a x1 y se completa la regi on factible para los subproblemas 6 y 7 en la Figura 3.9. En este caso, la regi on factible para el subproblema 6 se reduce al segmento de l nea entre los puntos B y H , con valores para la funci on objetivo de: zB = 32 y zH = 37, por lo que el optimo corresponde al punto H . Como en el punto H los valores de las variables son enteros, se podr a pensar que H es un candidato a optimo. Sin embargo, el valor de la funci on objetivo en H es inferior a la cota denida previamente, por lo que se descarta. En el subproblema 7, el u nico punto que satisface todas las restricciones es el punto A, con valor de la funci on objetivo z = 40. Como en el subproblema 7 el valor de las variables es entero (x1 = 5 y x2 = 0) y dado que el valor de la funci on objetivo es mejor que la cota actual, 40 se transforma en la nueva cota. Como el subproblema 6 presenta un valor de la funci on objetivo 17

9x 1 x2 +5 = 45

x1 = 4

Segundo Semestre 2003

Programaci on Lineal Entera

inferior a la cota, no tiene sentido seguir ramicando pues se ha alcanzado el optimo del IP. El arbol de ramicaci on completo se muestra en la Figura 3.10 donde se identica la soluci on optima. Subproblema 1 165 z = 4 15 x1 = 4 9 x2 = 4 x1 3 Subproblema 2 z = 39 x1 = 3 x2 = 3 x2 1 Subproblema 4 365 z = 9 40 x1 = 9 x2 = 1 x1 4 Subproblema 6 x1 5 Subproblema 7 x1 4 Subproblema 3 z = 41 x1 = 4 9 x2 = 5 x2 2

Subproblema 5 Imposible

Figura 3.8: Arbol de ramicaci on subproblemas 6 y 7 x2 9 8 7 6 5 4 3 2 1 0 0 1 2 3 x2 = 1 H B 4 5 A 6 x1


x1 + x2 = 6

Figura 3.9: Regi on Factible del subproblemas 6 y 7

9x 1 x2 +5 = 45

x1 = 4 x1 = 5 18

Segundo Semestre 2003 Subproblema 1 165 z = 4 15 x1 = 4 9 x2 = 4 x1 3 Subproblema 2 z = 39 x1 = 3 x2 = 3 x2 1 Subproblema 4 365 z = 9 40 x1 = 9 x2 = 1 x1 4 Subproblema 6 z = 37 x1 = 4 x2 = 1 x1 5 Subproblema 7 z = 40 x1 = 5 x2 = 0 x1 4 Subproblema 3 z = 41 x1 = 4 9 x2 = 5

Programaci on Lineal Entera

x2 2

Subproblema 5 Imposible

Figura 3.10: Arbol de ramicaci on nal Ejemplo 8 Considere un problema de programaci on lineal entera mixta cuyo objetivo es la maximizaci on de una funci on z involucrando las variables binarias x 1 , x2 y x3 y la variable continua x4 0. El Cuadro 3.1 presenta la soluci on o ptima para todos los problemas relajados posibles de obtener (un gui on en la columna correspondiente a las variables x1 , x2 y x3 signica que la variable est a libre en el problema relajado).
x1 x2 0 0 0 1 1 1 x3 0 1 0 1 0 1 x (0.2,1,0,0) (0.2,1,0,0) (0,0.8,1,0) (0.7,0,0,0) (0.7,0,0,0) (0.4,0,1,0) (0.2,1,0,0) (0.2,1,0,0) (0,1,1,0.5) z 82.80 82.80 79.40 81.80 81.80 78.60 82.80 82.80 77.00 x1 0 0 0 0 0 0 0 0 0 x2 0 0 0 1 1 1 x3 0 1 0 1 0 1 x (0,1,0.67,0) (0,1,0,2) (0,0.8,1,0) Imposible Imposible Imposible (0,1,0.67,0) (0,1,0,2) (0,1,1,0.5) z 80.67 28.00 79.40 80.67 28.00 77.00 x1 1 1 1 1 1 1 1 1 1 x2 0 0 0 1 1 1 x3 0 1 0 1 0 1 x (1,0,0,0) (1,0,0,0) (1,0,1,0) (1,0,0,0) (1,0,0,0) (1,0,1,0) (1,1,0,0) (1,1,0,0) (1,1,1,0) z 74.00 74.00 63.00 74.00 74.00 63.00 62.00 62.00 51.00

Cuadro 3.1: Soluciones de todas las relajaciones posibles Resuelva este problema aplicando la t ecnica de ramicaci on y acotamiento. 19

Segundo Semestre 2003

Programaci on Lineal Entera

En la soluci on del subproblema 1 el valor de la variable x1 no satisface la condici on de binaria, por lo tanto se ramica en funci on de los valores que puede tomar: Subproblema 2: Subproblema 3: De acuerdo al Cuadro 3.1 se tiene: x1 x2 x3 Subproblema 2 x 4 z x1 x2 x3 Subproblema 3 x 4 z = 0 = 1 = 0.67 = 0 = 80.67 = 1 = 0 = 0 = 0 = 74.00 Subproblema 1 + (x1 = 0) Subproblema 1 + (x1 = 1)

En primer lugar se resuelve el problema relajado completo, es decir, se libera el valor de las tres variables binarias. De acuerdo al Cuadro 3.1, se tiene: x1 = 0.2 1 x2 = x3 = 0 (3.8) Subproblema 1 x = 0 4 z = 82.80

(3.9)

(3.10)

(3.11)

Se obtiene entonces un primer candidato a optimo: x1 = 1, x2 = 0, x3 = 0, x4 = 0 y z =74.00. Se selecciona entonces como cota: z =74.00. El subproblema 2 no representa una soluci on factible para el problema original pero posee un valor de la funci on objetivo superior a la cota, por lo que conviene ramicar: Subproblema 4: Subproblema 5: De acuerdo al Cuadro 3.1 se tiene: x1 x2 x3 Subproblema 4 x 4 z x1 x2 x3 Subproblema 5 x 4 z = 0 = 1 = 0 = 2 = 28.00 = 0 = 0.8 = 1 = 0 = 79.40 Subproblema 1 + (x1 = 0) + (x3 = 0) Subproblema 1 + (x1 = 0) + (x3 = 1) (3.12)

(3.13)

(3.14)

El subproblema 4 presenta una soluci on factible, pero muy por debajo de la cota superior por lo que se puede descartar. El subproblema 5 tiene un asociado un valor optimo de la funci on objetivo superior

20

Segundo Semestre 2003

Programaci on Lineal Entera

a la cota pero no cumple todas las condiciones del problema original. Dado los valores obtenidos, se debe ramicar seg un los valores posibles de la variable binaria x2 : Subproblema 6: Subproblema 7: Subproblema 1 + (x1 = 0) + (x3 = 1) + (x2 = 0) Subproblema 1 + (x1 = 0) + (x3 = 1) + (x2 = 1) (3.15)

En este caso, la soluci on del subproblema 7 es factible y es mayor que la cota por lo que se transforma en la nueva cota. Como no existe una rama en la que aparezca una soluci on no factible con valor de la funci on objetivo mejor que la cota actual, la soluci on del subproblema 7 es el optimo. El arbol de ramicaci on completo se muestra en la Figura 3.11.

Los valores optimos para cada subproblema se obtiene del Cuadro 3.1: x1 = 0 x2 = 0 Subproblema 6 x = 1 3 z = Imposible x1 = 0 x = 1 2 x3 = 1 Subproblema 7 x = 0.5 4 z = 77.00

(3.16)

(3.17)

21

Segundo Semestre 2003

Programaci on Lineal Entera

Subproblema 1 x1 = 0.2 x2 = 1 x3 = 0 x4 = 0 z = 82.80 x1 = 0 Subproblema 2 x1 = 0 x2 = 1 x3 = 0.67 x4 = 0 z = 80.67 x3 = 0 Subproblema 4 x1 = 0 x2 = 1 x3 = 0 x4 = 2 z = 28 x3 = 1 Subproblema 5 x1 = 0 x2 = 0.8 x3 = 1 x4 = 0 z = 79.4 x2 = 1 x2 = 0 Subproblema 7 x1 = 0 x2 = 1 x3 = 1 x4 = 0.5 z = 77 x1 = 1 Subproblema 3 x1 = 1 x2 = 0 x3 = 0 x4 = 0 z = 74.00

Subproblema 6 Imposible

Figura 3.11: Arbol de ramicaci on completo Ejemplo 8

22

Segundo Semestre 2003

Programaci on Lineal Entera

4.

Ejercicios

Ejercicio 1 Considere el problema de distribuci on de art culos desde tres centros productores a dos centros consumidores. Los art culos pueden ser transportados entre cada centro productor y cada centro consumidor considerando dos rutas posbiles. La utilizaci on de cada ruta tiene asociada un costo jo que es independiente de la cantidad de art culos transportados por esa ruta. La siguiente tabla presenta las capacidades de producci on, las demandas estimadas, el costo jo por la utilizaci on de cada ruta y el costo de transporte de un art culo desde cada centro productor a cada centro consumidor. Destino 1 2 Costo jo Costo unitario Costo jo Costo unitario 10 3 12 9 20 2 24 8 15 5 16 12 25 4 32 10 30 7 18 16 35 6 36 14 300 500

Origen 1

Ruta a b 2 a b 3 a b Demanda

Oferta 200 400 600

Formule un modelo de programaci on lineal mixta que permita determinar la cantidad a transportar por cada ruta que minimiza el costo total satisfaciendo todas las demandas. Dena claramente variables, funci on objetivo y restricciones. Variables: xijk : Cantidad transportada entre el origen i y el destino j a trav es de la ruta k ; i = 1, 2, 3; j = 1, 2; k = a, b. 1 si la ruta k entre el origen i y el destino j es utilizada 0 si la ruta k entre el origen i y el destino j no es utilizada yijk = i = 1, 2, 3; j = 1, 2; k = a, b.

Funci on objetivo:

M in z = 3 x11a + 2 x11b + 9 x12a + 8 x12b + 5 x21a + 4 x21b + 12 x22a + 10 x22b + 7 x31a + 6 x31b + 16 x32a + 14 x32b + 10 y11a + 20 y11b + 12 y12a + 24 y12b + 15 y21a + 25 y21b + 16 y22a + 32 y22b + 30 y31a + 35 y31b + 18 y32a + 36 y32b

Restricciones: Ofertas:

23

Segundo Semestre 2003

Programaci on Lineal Entera

x11a + x11b + x12a + x12b 200 x21a + x21b + x22a + x22b 400 x31a + x31b + x32a + x32b 600

Demandas:

x11a + x11b + x21a + x21b + x31a + x31b = 300 x12a + x12b + x22a + x22b + x32a + x32b = 500

Activaci on de variables: xijk M yijk ; i = 1, 2, 3; j = 1, 2; k = a, b Valores posibles para las variables:

xijk 0; i = 1, 2, 3; j = 1, 2; k = a, b yijk {0, 1}; i = 1, 2, 3; j = 1, 2; k = a, b

Ejercicio 2 Una f abrica se dedica a la producci on de aceite de cocina a partir de aceites vegetales y aceites no vegetales. Cada aceite requiere un proceso de renamiento diferente. La f abrica tiene capacidad para renar 210 litros de aceite vegetal y 260 litros de aceite no vegetal. Los aceites renados son mezclados pudiendo venderse a $180 el litro del producto nal. No existe p erdida de aceite en los procesos de renamiento y mezcla y el costo de estos procesos puede ser ignorado. Existe una restricci on t ecnica relativa a la calidad del aceite producido: en las unidades en que es medida la calidad, esta debe estar entre 3, 5 y 6, 2. Se asume que las calidades de los aceites originales se combinan linealmente. Existen 2 proveedores de aceite, cada uno ofreciendo dos variedades de aceite vegetal y tres variedades de aceite no vegetal. El Cuadro 4.1 presenta el costo, en pesos, y la calidad de cada aceite ofrecido por cada proveedor: vegetal 1 115 8,8 110 8,5 vegetal 2 128 6,2 130 6,4 Aceites no vegetal 1 no vegetal 2 132 109 1,9 4,3 125 108 1,5 4,2 no vegetal 3 114 5,1 116 5,2

Proveedor 1 Proveedor 2

Costo Calidad Costo Calidad

Cuadro 4.1: Propiedades de los aceites Existe un costo jo por ordenar al proveedor 1 de $2,000 y al proveedor 2 de $2,500, independiente de la variedad y cantidad de aceite ordenado. Finalmente, las siguientes condiciones se imponen sobre la producci on de aceite: 24

Segundo Semestre 2003

Programaci on Lineal Entera

el producto nal no puede estar compuesto de m as de tres variedades de los aceites originales, cualquier aceite, si es usado, debe usarse por lo menos 30 litros, y si alg un aceite vegetal es usado debe usarse alg un aceite no vegetal. Formule un modelo de programaci on lineal mixta que permita determinar la cantidad de cada tipo de aceite que debe comprarse a cada proveedor de manera de maximizar las ganancias satisfaciendo todas las condiciones del problema. Dena claramente variables, funci on objetivo y restricciones. Variables: xij : Cantidad de aceite tipo i comprada al proveedor j ; i = 1, . . . , 5, j = 1, 2 yij = 1, si se compra aceite tipo i a proveedor j ; i = 1, . . . , 5, j = 1, 2 0, si no zj = 1, si se compra a proveedor j ; j = 1, 2 0, si no 1, si se compra aceite tipo i; i = 1, . . . , 5 0, si no

wi = Funci on objetivo (10 %):

M ax z = 180
i=1 j =1

xij 2,000 z1 2,500 z2

115 x11 128 x21 132 x31 109 x41 114 x51 110 x12 130 x22 125 x32 108 x42 116 x52 Restricciones: Capacidad de renamiento:

x11 + x21 + x12 + x22 210 x31 + x41 + x51 + x32 + x42 + x52 260

Calidad: 8, 8x11 + 6, 2x21 + 1, 9x31 + 4, 3x41 + 5, 1x51 + 8, 5x12 + 6, 4x22 + 1, 5x32 + 4, 2x42 + 5, 2x52 5 2 i=1 j =1 xij 8, 8x11 + 6, 2x21 + 1, 9x31 + 4, 3x41 + 5, 1x51 + 8, 5x12 + 6, 4x22 + 1, 5x32 + 4, 2x42 + 5, 2x52 5 2 i=1 j =1 xij Activaci on de variables: xij M yij ; i = 1, . . . , 2; j = 1, 2 25 3, 5 6, 2

Segundo Semestre 2003

Programaci on Lineal Entera

Si se compra a cada proveedor:


5

yij 5 zj ; j = 1, 2
i=1

M nimo a comprar: xij 30 yij ; i = 1, . . . , 5; j = 1, 2 Utilizaci on aceite tipo i:


2

yij 2 wi ; i = 1, 5
j =1

Cantidad m axima de aceites originales:


5

wi 3
i=1

Usar alg un aceite no vegetal si se usa alg un aceite vegetal:

w1 w 3 + w 4 + w 5 w2 w 3 + w 4 + w 5

Valores posibles para las variables:

xij yij wi zj

0; i = 1, . . . , 5; j = 1, 2 {0, 1}; i = 1, . . . , 5; j = 1, 2 {0, 1}; i = 1, . . . , 5 {0, 1}; j = 1, 2

Ejercicio 3 Teniendo en cuenta el pr oximo t ermino de la guerra, la Organizaci on de las Naciones Unidas, ONU, continua estudiando futuras pol ticas de integraci on para el pueblo de Afganist an. Existe un presupuesto de un mill on de d olares para la construcci on de un m aximo de tres escuelas que atender an j ovenes talibanes y de la alianza del norte. Los talibanes se distribuyen en tres comunidades en tanto que la alianza del norte se distribuye en dos comunidades. El Cuadro 4.2 presenta la distancia en kil ometros que un estudiante de cada comunidad deber a recorrer para llegar a cada una de las escuelas, la poblaci on estudiantil de cada comunidad, la capacidad m axima proyectada para cada escuela y el costo de construir cada escuela. Por razones de integraci on, la ONU desea que los talibanes tengan una participaci on de entre un 25 % y un 35 % en cada escuela construida. Se requiere que cada escuela construida tenga un m nimo de 1,000 estudiantes. Por u ltimo, se desea que los talibanes se distribuyan por lo menos en dos escuelas. Considerando que la ONU desea que todos los estudiantes de una misma comunidad asistan a la misma escuela, formule un modelo matem atico que permita minimizar la distancia total recorrida por todos los estudiantes afganos. Dena claramente variables, funci on objetivo y restricciones. 26

Segundo Semestre 2003

Programaci on Lineal Entera

Escuela 1 2 3 4 5 Poblaci on estudiantil

Comunidad talib an 1 2 3 20 km 12 km 10 km 15 km 18 km 8 km 25 km 17 km 18 km 10 km 13 km 9 km 14 km 28 km 14 km 600 550 500 [personas] [personas] [personas]

Comunidad de la alianza del norte 1 2 4 km 5 km 6 km 9 km 7 km 3 km 9 km 4 km 8 km 7 km 1.200 1.100 [personas] [personas]

Capacidad m axima [personas] 1.500 2.000 2.500 1.800 2.800

Costo [103 U S $] 150 220 350 180 400

Cuadro 4.2: Distancias entre comunidades y escuelas.

Ejercicio 4 Considere el siguiente modelo de programaci on lineal entera mixta: Sujeto a M ax z = 60x1 + 80x2 + 70x3 100y1 150y2 100y3 13x1 + 18x2 + 15x3 800 16x1 + 10x2 + 8x3 600 x1 + x2 + x3 15 x1 10y1 0 x2 10y2 0 x3 10y3 0 x1 , x2 , x3 0 y1 , y 2 , y 3 {0, 1}

El Cuadro 4.3 presenta la soluci on o ptima para todos los problemas relajados posibles de obtener (un gui on en la columna correspondiente a las variables y1 , y2 e y3 signica que la variable est a libre en el problema relajado).
y1 0 0 0 0 0 0 0 0 0 y2 0 0 0 1 1 1 y3 0 1 0 1 0 1 x (0, 0, 0,0,0,0) (0, 0,10,0,0,1) (0, 0,10,0,0,1) (0,10, 0,0,1,0) (0,10, 5,0,1,1) ) (0,10, 5,0, 1 2 (0,10, 0,0,1,0) ,1) (0, 5,10,0, 1 2 (0,10, 5,0,1, 1 ) 2 z 0 600 600 650 900 950 650 925 950 y1 1 1 1 1 1 1 1 1 1 y2 0 0 0 1 1 1 y3 0 1 0 1 0 1 x (10, 0, 0,1,0,0) ( 5, 0,10,1,0,1) (10, 0, 5,1,0, 1 ) 2 ( 5,10, 0,1,1,0) ( 0,10, 5,1,1,1) ( 5,10, 0,1,1,0) ( 5,10, 0,1,1,0) ,1) ( 0, 5,10,1, 1 2 ( 5,10, 0,1,1,0) z 500 800 800 850 800 850 850 825 850 y1 y2 0 0 0 1 1 1 y3 0 1 0 1 0 1 x (10,0,0,1,0,0) ,0,1) (5,0,10, 1 2 (5,0,10, 1 ,0,1) 2 ,1,0) (5,10,0, 1 2 (0,10,5,0,1,1) ) (0,10,5,0,1, 1 2 (5,10,0, 1 ,1,0) 2 ,1) (0,5,10,0, 1 2 (0,10,5,0,1, 1 ) 2 z 500 850 850 900 900 950 900 925 950

Cuadro 4.3: Soluci on de todos los problemas relajados posibles

1. 2.

Resuelva este problema aplicando la t ecnica de ramicaci on y acotamiento. Expl que y justique claramente cada uno de los pasos. Considerando en general la resoluci on de problemas de Programaci on Lineal Entera, ind que si las siguientes armaciones son verdaderas o falsas justicando claramente: 27

Segundo Semestre 2003

Programaci on Lineal Entera

a)

La soluci on o ptima a un problema de programaci on lineal entrega x 1 = 2, 58 y x2 = 1, 32. Si x1 y x2 est an restringidas a tomar valores enteros, entonces x1 = 3 y x2 = 1 es una soluci on factible pero no necesariamente o ptima. Si la relajaci on de programaci on lineal de un problema de programaci on lineal entera tiene soluci on posible entonces el problema de programaci on lineal entera tiene soluci on posible. La soluci on entera o ptima x1 = 3 y x2 = 5 con z = 150 ha sido encontrada para un problema de programaci on lineal entera. Para su relajaci on de programci on lineal, el rango de optimalidad para el coeente c1 est a entre 15 y 30 con un coeciente actual de 20. Si c1 aumenta a 21 en el problema de programaci on lineal entera, el nuevo valor o ptimo de la funci on objetivo ser a de 153.

b) c)

28