SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
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 funda-
mental en la resoluci´on de este tipo de problemas.
Definici´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
(1.4)
De la misma forma, la relajaci´on de (1.3) queda:
1
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 figura 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, x1 = 0, x2 = 3.
0 0,5 1,0 1,5 2,0 2,5 3,0
0
0,5
1,0
1,5
2,0
2,5
3,0
x1
x2
7x1
+4x2
=
13
= punto en la regi´on factible
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 finito 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
la relajaci´on. Por ejemplo si se resolviera la relajaci´on de (1.6) se obtendr´ıa: x1 = 13
7 , x2 = 0. Redon-
deando 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
Segundo Semestre 2003 Programaci´on Lineal Entera
puede obtener redondeando el valor obtenido de la relajaci´on hacia abajo: x1 = 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 prob-
lema 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 US$16000, la opci´on 2 tiene un VAN de US$22000, la inversi´on 3
representa un VAN de US$12000 y la inversi´on 4 posee un VAN de US$8000. Cada inversi´on requiere
un cierto capital inicial: US$5000, US$7000, US$4000 y US$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 verifica 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 xj = 0 y no se contabiliza ese
aporte. Se sigue la misma l´ogica para construir las restricciones.
Como existe un capital limitado de US$14000 para invertir, se debe satisfacer (en miles):
5x1 + 7x2 + 4x3 + 3x4 ≤ 14 (2.3)
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
(2.4)
Supongamos ahora que se agregan las siguientes restricciones al problema original:
3
Segundo Semestre 2003 Programaci´on Lineal Entera
1. La empresa puede invertir en a lo m´as dos opciones.
2. Si la empresa invierte en la opci´on 2, tambi´en debe invertir en 1.
3. Si la empresa invierte en 1, no puede tomar la opci´on 4.
4. S´olo se puede invertir en 3 si se escoge 1 ´o 2.
El planteo original del problema (2.4) se ve modificado de la siguiente forma:
1. En este caso basta con agregar la restricci´on:
x1 + x2 + x3 + x4 ≤ 2
2. Para incorporar esta restricci´on, se debe imponer que si x2 = 1 necesariamente x1 = 1. Luego,
se podr´ıa emplear:
x2 ≤ x1 ´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 + x4 ≤ 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 ≤ x1 + x2
Luego, basta con tener un 1 a la derecha de la desigualdad para que x3 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 × x3 ≤ x1 + x2
En este caso se requiere tener un 2 a la derecha de la desigualdad para que x3 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: US$200, US$150 y US$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 yd2
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 beneficio de la f´abrica.
Para plantear el modelo se pueden definir las siguientes variables:
x1 = n´umero de poleras producidas mensualmente
x2 = n´umero de shorts producidos mensualmente
x3 = n´umero de pantalones producidos mensualmente
(2.5)
4
Segundo Semestre 2003 Programaci´on Lineal Entera
Mano de Obra [hrs] Tela [yd2]
Poleras 3 4
Shorts 2 3
Pantalones 6 4
Cuadro 2.1: Requerimientos de Fabricaci´on
Precio de Venta US$ Costo Variable US$
Poleras 12 6
Shorts 8 4
Pantalones 15 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 cuantificar 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
(2.7)
Para ello, se debe incorporar las restricciones de activaci´on de las variables binarias:
x1 ≤ M1y1
x2 ≤ M2y2
x3 ≤ M3y3
(2.8)
Los valores Mi son valores escalares lo suficientemente 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 cuantificar un costo, el algoritmo de resoluci´on se en-
cargar´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 fijos y variables:
z = (12x1 + 8x2 + 15x3)
Ingresos por venta
− (6x1 + 4x2 + 8x3)
Costos variables
− (200y1 + 150y2 + 100y3)
Costos fijos
(2.9)
Por lo tanto, la funci´on objetivo a maximizar queda:
z = 6x1 + 4x2 + 7x3 − 200y1 − 150y2 − 100y3 (2.10)
5
Segundo Semestre 2003 Programaci´on Lineal Entera
A continuaci´on es preciso construir las restricciones del problema. En este caso existe un disponi-
bilidad m´axima de mano de obra y de tela. La restricci´on de mano de obra queda:
3x1 + 2x2 + 6x3 ≤ 150 (2.11)
y la de tela ser´ıa:
4x1 + 3x2 + 4x3 ≤ 160 (2.12)
Las restricciones (2.11) y (2.12) nos permiten estimar el valor de Mi. Por ejemplo si s´olo se produ-
jeran art´ıculos de tipo 1, el valor m´aximo a producir quedar´ıa controlado por: m´ın{150
3 , 160
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
3 y para x3 basta con M3 = 25. En t´erminos generales los valores de Mi s´olo deben ser
lo suficientemente 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 final para el problema queda:
m´ax z = 6x1 + 4x2 + 7x3 − 200y1 − 150y2 − 100y3
s.t. 3x1 + 2x2 + 6x3 ≤ 150
4x1 + 3x2 + 4x3 ≤ 160
x1 ≤ M1y1
x2 ≤ M2y2
x3 ≤ M3y3
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.
Hasta
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
Barrio 3 20 25 - 15 30 20
Barrio 4 30 35 15 - 15 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 definir las siguientes
variables:
6
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 definidas, el total de estaciones a construir queda definido por:
z =
6
i=1
xi (2.15)
Para construir las restricciones, es preciso obtener del Cuadro 2.3 en que lugares es factible cons-
truir 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 min-
utos 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 Barrios factibles de construcci´on
1 1, 2
2 1, 2, 6
3 3, 4
4 3, 4, 5
5 4, 5, 6
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 + x2 ≥ 1 (2.16)
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 + x2 + x6 ≥ 1 (Barrio 2)
x3 + x4 ≥ 1 (Barrio 3)
x3 + x4 + x5 ≥ 1 (Barrio 4)
x4 + x5 + x6 ≥ 1 (Barrio 5)
x2 + x5 + x6 ≥ 1 (Barrio 6)
xi = {0, 1} ∀ i = 1 . . . 6
(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 (2.18)
g(x1, x2, . . . xn) ≤ 0 (2.19)
7
Segundo Semestre 2003 Programaci´on Lineal Entera
Si se desea que s´olo sea satisfecha una de las restricciones, se puede modificar el planteo de las
restricciones de la siguiente forma:
f(x1, x2, . . . xn) ≤ My (2.20)
g(x1, x2, . . . xn) ≤ M(1 − y) (2.21)
donde y es una variable binaria y M es una constante lo suficientemente 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) ≤ My1
g(x1, x2, . . . xn) ≤ My2
y1 + y2 ≤ 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 beneficio 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 beneficio de la f´abrica.
Compacto Mediando Grande
Materiales [T] 1,5 3 5
Mano de obra [hr] 30 25 40
Beneficio [US$] 2000 3000 4000
Cuadro 2.5: Requerimientos y beneficios 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 definida por la combinaci´on lineal de las variables por sus respectivos
beneficios unitarios (en miles):
m´ax z = 2x1 + 3x2 + 4x3 (2.23)
8
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 ∀ i = 1 . . . 3 (2.24)
O bien:
xi ≤ 0 ´o 1000 − xi ≤ 0 ∀ i = 1 . . . 3 (2.25)
Introduciendo la variable binaria yi, las restricciones quedan:
xi ≤ Miyi (2.26)
1000 − xi ≤ Mi(1 − yi) (2.27)
yi = {0, 1} (2.28)
Un valor posible para Mi se puede obtener a partir de la disponibilidad de materiales y de mano
de obra, por ejemplo para los veh´ıculos compactos ser´ıa: M1 = m´ın{6000
1,5 , 60000
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)
(2.29)
Finalmente, el IP queda:
m´ax z = 2x1 + 3x2 + 4x3
s.t. x1 ≤ 2000y1
1000 − x1 ≤ 2000(1 − y1)
x2 ≤ 2000y2
1000 − x2 ≤ 2000(1 − y2)
x3 ≤ 1200y3
1000 − x3 ≤ 1200(1 − y3)
1,5x1 + 3x2 + 5x3 ≤ 6000
30x1 + 25x2 + 40x3 ≤ 60000
xi ∈ Z+ ∀ i = 1 . . . 3
yi = {0, 1} ∀ i = 1 . . . 3
(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 (2.31)
se satisface, entonces la restricci´on:
g(x1, x2, . . . xn) ≥ 0 (2.32)
9
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) ≤ My (2.33)
f(x1, x2, . . . xn) ≤ M(1 − y) (2.34)
y = {0, 1} (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 → x2 = x3 = 0 (2.36)
En forma equivalente se tiene:
Si x1 > 0 → x2 + x3 ≤ 0 ´o − x2 − x3 ≥ 0 (2.37)
Por lo tanto, basta incorporar:
x2 + x3 ≤ My (2.38)
x1 ≤ M(1 − y) (2.39)
y = {0, 1} (2.40)
El valor de M no tiene porqu´e ser ´unico. En este caso, podemos emplear los valores de Mi calculados
previamente:
x2 + x3 ≤ (M2 + M3)y = 3200y (2.41)
x1 ≤ M1(1 − y) = 2000(1 − y) (2.42)
y = {0, 1} (2.43)
2.6. Problemas con funciones lineales definidas por tramos
Una funci´on lineal definida 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 = zkbk + (1 − zk)bk+1 (2.44)
Como f(x) es lineal para bk ≤ x ≤ bk+1, se puede escribir:
10
Segundo Semestre 2003 Programaci´on Lineal Entera
f(x) = zkf(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)
xb1 b2 b3
f(b2)
f(b3)
Figura 2.1: Funci´on lineal por tramos
La funci´on objetivo puede ser escrita como:
f(x) = z1f(b1) + z2f(b2) + . . . + znf(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 ≤ y1
z2 ≤ y1 + y2
z3 ≤ y2 + y3
...
zn−1 ≤ yn−2 + yn−1
zn ≤ yn−1
(2.47)
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 + . . . + yn−1 = 1 (2.48)
C´omo zk+1 = 1 − zk, se debe agregar la restricci´on:
z1 + z2 + . . . + zn = 1 (2.49)
De acuerdo a la ecuaci´on (2.44) se tiene:
x = z1b1 + z2b2 + . . . + znbn (2.50)
Para ilustrar la incorporaci´on de funciones lineales definidas por tramos consideremos el siguiente
ejemplo:
11
Segundo Semestre 2003 Programaci´on Lineal Entera
Ejemplo 5 Una refiner´ı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 definir las siguientes variables:
x = cantidad de petr´oleo tipo 1 comprado
xij = 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) (2.52)
donde:
c(x) =



25x 0 ≤ x ≤ 500
25x + 2500 500 ≤ x ≤ 1000
15x + 7500 1000 ≤ x ≤ 1500
(2.53)
La restricci´on relativa a la disponibilidad de petr´oleo tipo 1 queda:
x11 + x12 ≤ x + 500 (2.54)
La restricci´on relativa a la disponibilidad de petr´oleo tipo 2 queda:
x21 + x22 ≤ 1000 (2.55)
Para obligar que la gasolina tipo 1 tenga al menos un 50 % de petr´oleo tipo 1 se agrega:
x11
x11 + x21
≥ 0,5 (2.56)
Para obligar que la gasolina tipo 2 tenga al menos un 60 % de petr´oleo tipo 1 se agrega:
x12
x12 + x22
≥ 0,6 (2.57)
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
(2.58)
El valor de la variable x se calcula seg´un:
x = 0z1 + 500z2 + 1000z3 + 1500z4 (2.59)
Las variables continuas zk se relacionan con las binarias yk se´un:
z1 ≤ y1
z2 ≤ y1 + y2
z3 ≤ y2 + y3
z4 ≤ y3
(2.60)
12
Segundo Semestre 2003 Programaci´on Lineal Entera
Adem´as se tiene que:
z1 + z2 + z3 + z4 = 1
y1 + y2 + y3 = 1
(2.61)
Finalmente se agrega la naturaleza de las variables:
zi ≥ 0 ∀ i = 1 . . . 4
yj = {0, 1} ∀ j = 1 . . . 3
xkr ≥ 0 ∀ k × r
(2.62)
3. Resoluci´on de IP - M´etodo de Ramificaci´on y Acotamiento
El m´etodo de ramificaci´on y acotamiento consiste en una t´ecnica de enumeraci´on eficiente 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 ramificaci´on y acotamiento.
0 1 2 3
0
1
2
3
4
5
6
x1
x2
2x1
+x2
=6
= 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
Segundo Semestre 2003 Programaci´on Lineal Entera
mesa genera una utilidad de US$8, cada silla representa una utilidad de US$5. Formule y resuelva un
IP para maximizar el beneficio de la muebler´ıa.
Consideremos:
x1 = n´umero de mesas fabricadas
x2 = n´umero de sillas fabricadas
(3.2)
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.3)
En primer lugar se resuelve la relajaci´on del IP, llamaremos a este problema el Subproblema 1:
Subproblema 1:



m´ax z = 8x1 + 5x2
s.t. x1 + x2 ≤ 6
9x1 + 5x2 ≤ 45
x1, x2 ≥ 0
(3.4)
La resoluci´on gr´afica del Subproblema 1 se muestra en la Figura 3.2. En este caso, la soluci´on
´optima corresponde al punto x1 = 15
4 = 3,75 y x2 = 9
4 = 2,25, con valor de la funci´on objetivo z = 165
4 .
Como se mencion´o anteriormente, la soluci´on del IP no puede ser mejor a la del IP relajado, por lo
que z = 165
4 es una Cota Superior para la funci´on objetivo.
0 1 2 3 4 5 6
0
1
2
3
4
5
6
7
8
9
x1
x2
x1
+
x2
=
6
9x1
+5x2
=
45
´optimo
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
Segundo Semestre 2003 Programaci´on Lineal Entera
en los valores enteros m´as cercanos al valor fraccionario obtenido. De acuerdo a ello, ramificaremos la
variable x1 definiendo los siguientes subproblemas:
Subproblema 2: Subproblema 1 + restricci´on: x1 ≤ 3
Subproblema 3: Subproblema 1 + restricci´on: x1 ≥ 4
(3.5)
N´otese que ambos subproblemas excluyen el valor x1 = 15
4 , es decir, la soluci´on ´optima de los
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 ramificaci´on de las variables se ordena en un ´arbol de ramificaci´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: zD = 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 definir como cota superior z = 39.
Subproblema 1
z = 165
4
x1 = 15
4
x2 = 9
4
Subproblema 2 Subproblema 3
x1 ≤ 3 x1 ≥ 4
Figura 3.3: ´Arbol de ramificaci´on subproblemas 2 y 3
0 1 2 3 4 5 6
0
1
2
3
4
5
6
7
8
9
x1
x2
x1
+
x2
=
6
9x1
+5x2
=
45
x1=3
D E
F
G
Figura 3.4: Regi´on Factible del subproblema 2
Si bien la soluci´on obtenida del subproblema 2 satisface todas las condiciones del problema, debe-
mos completar la ramificaci´on ya que a´un hay esperanzas de obtener una soluci´on menor o igual al valor
15
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 figura 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:
x1 = 4 y x2 = 9
5 , valor que no satisface la condici´on de enteridad.
0 1 2 3 4 5 6
0
1
2
3
4
5
6
7
8
9
x1
x2
x1
+
x2
=
6
9x1
+5x2
=
45
x1=4
B A
C
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 ramificar 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 finalizada las ramificaciones. De acuerdo a ello, podemos definir dos nuevos subproblemas
a partir el subproblema 3. Como la variable x2 = 9
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 3 + restricci´on: x2 ≤ 1
Subproblema 5: Subproblema 3 + restricci´on: x2 ≥ 2
(3.6)
El ´arbol de ramificaci´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: zH = 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 x1 = 40
9 y x2 = 1.
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 ramificar
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
9 , por lo que conviene definir los siguientes
subproblemas:
Subproblema 6: Subproblema 4 + restricci´on: x1 ≤ 4
Subproblema 7: Subproblema 4 + restricci´on: x1 ≥ 5
(3.7)
16
Segundo Semestre 2003 Programaci´on Lineal Entera
Subproblema 1
z = 165
4
x1 = 15
4
x2 = 9
4
Subproblema 2
z = 39
x1 = 3
x2 = 3
Subproblema 3
z = 41
x1 = 4
x2 = 9
5
x1 ≤ 3 x1 ≥ 4
Subproblema 4 Subproblema 5
x2 ≤ 1 x2 ≥ 2
Figura 3.6: ´Arbol de ramificaci´on subproblemas 4 y 5
0 1 2 3 4 5 6
0
1
2
3
4
5
6
7
8
9
x1
x2
x1
+
x2
=
6
9x1
+5x2
=
45
x1=4
B A
x2 = 2
x2 = 1 IH
Figura 3.7: Regi´on Factible del subproblemas 4 y 5
El nuevo ´arbol de ramificaci´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 definida previamente,
por lo que se descarta. En el subproblema 7, el ´unico 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
Segundo Semestre 2003 Programaci´on Lineal Entera
inferior a la cota, no tiene sentido seguir ramificando pues se ha alcanzado el ´optimo del IP. El ´arbol
de ramificaci´on completo se muestra en la Figura 3.10 donde se identifica la soluci´on ´optima.
Subproblema 1
z = 165
4
x1 = 15
4
x2 = 9
4
Subproblema 2
z = 39
x1 = 3
x2 = 3
Subproblema 3
z = 41
x1 = 4
x2 = 9
5
x1 ≤ 3 x1 ≥ 4
Subproblema 4
z = 365
9
x1 = 40
9
x2 = 1
Subproblema 5
Imposible
x2 ≤ 1
x2 ≥ 2
Subproblema 6 Subproblema 7
x1 ≤ 4 x1 ≥ 5
Figura 3.8: ´Arbol de ramificaci´on subproblemas 6 y 7
0 1 2 3 4 5 6
0
1
2
3
4
5
6
7
8
9
x1
x2
x1
+
x2
=
6
9x1
+5x2
=
45
x1=4
B A
x2 = 1
x1=5
H
Figura 3.9: Regi´on Factible del subproblemas 6 y 7
18
Segundo Semestre 2003 Programaci´on Lineal Entera
Subproblema 1
z = 165
4
x1 = 15
4
x2 = 9
4
Subproblema 2
z = 39
x1 = 3
x2 = 3
Subproblema 3
z = 41
x1 = 4
x2 = 9
5
x1 ≤ 3 x1 ≥ 4
Subproblema 4
z = 365
9
x1 = 40
9
x2 = 1
Subproblema 5
Imposible
x2 ≤ 1
x2 ≥ 2
Subproblema 6
z = 37
x1 = 4
x2 = 1
Subproblema 7
z = 40
x1 = 5
x2 = 0
x1 ≤ 4 x1 ≥ 5
Figura 3.10: ´Arbol de ramificaci´on final
Ejemplo 8 Considere un problema de programaci´on lineal entera mixta cuyo objetivo es la maxi-
mizaci´on de una funci´on z involucrando las variables binarias x1, x2 y x3 y la variable continua
x4 ≥ 0. El Cuadro 3.1 presenta la soluci´on ´optima para todos los problemas relajados posibles de
obtener (un gui´on en la columna correspondiente a las variables x1, x2 y x3 significa que la variable
est´a libre en el problema relajado).
x1 x2 x3 x z x1 x2 x3 x z x1 x2 x3 x z
- - - (0.2,1,0,0) 82.80 0 - - (0,1,0.67,0) 80.67 1 - - (1,0,0,0) 74.00
- - 0 (0.2,1,0,0) 82.80 0 - 0 (0,1,0,2) 28.00 1 - 0 (1,0,0,0) 74.00
- - 1 (0,0.8,1,0) 79.40 0 - 1 (0,0.8,1,0) 79.40 1 - 1 (1,0,1,0) 63.00
- 0 - (0.7,0,0,0) 81.80 0 0 - Imposible - 1 0 - (1,0,0,0) 74.00
- 0 0 (0.7,0,0,0) 81.80 0 0 0 Imposible - 1 0 0 (1,0,0,0) 74.00
- 0 1 (0.4,0,1,0) 78.60 0 0 1 Imposible - 1 0 1 (1,0,1,0) 63.00
- 1 - (0.2,1,0,0) 82.80 0 1 - (0,1,0.67,0) 80.67 1 1 - (1,1,0,0) 62.00
- 1 0 (0.2,1,0,0) 82.80 0 1 0 (0,1,0,2) 28.00 1 1 0 (1,1,0,0) 62.00
- 1 1 (0,1,1,0.5) 77.00 0 1 1 (0,1,1,0.5) 77.00 1 1 1 (1,1,1,0) 51.00
Cuadro 3.1: Soluciones de todas las relajaciones posibles
Resuelva este problema aplicando la t´ecnica de ramificaci´on y acotamiento.
19
Segundo Semestre 2003 Programaci´on Lineal Entera
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:
Subproblema 1



x1 = 0.2
x2 = 1
x3 = 0
x4 = 0
z = 82.80
(3.8)
En la soluci´on del subproblema 1 el valor de la variable x1 no satisface la condici´on de binaria, por
lo tanto se ramifica en funci´on de los valores que puede tomar:
Subproblema 2: Subproblema 1 + (x1 = 0)
Subproblema 3: Subproblema 1 + (x1 = 1)
(3.9)
De acuerdo al Cuadro 3.1 se tiene:
Subproblema 2



x1 = 0
x2 = 1
x3 = 0.67
x4 = 0
z = 80.67
(3.10)
Subproblema 3



x1 = 1
x2 = 0
x3 = 0
x4 = 0
z = 74.00
(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
ramificar:
Subproblema 4: Subproblema 1 + (x1 = 0) + (x3 = 0)
Subproblema 5: Subproblema 1 + (x1 = 0) + (x3 = 1)
(3.12)
De acuerdo al Cuadro 3.1 se tiene:
Subproblema 4



x1 = 0
x2 = 1
x3 = 0
x4 = 2
z = 28.00
(3.13)
Subproblema 5



x1 = 0
x2 = 0.8
x3 = 1
x4 = 0
z = 79.40
(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 ramificar seg´un los valores posibles de la variable binaria x2:
Subproblema 6: Subproblema 1 + (x1 = 0) + (x3 = 1) + (x2 = 0)
Subproblema 7: Subproblema 1 + (x1 = 0) + (x3 = 1) + (x2 = 1)
(3.15)
Los valores ´optimos para cada subproblema se obtiene del Cuadro 3.1:
Subproblema 6



x1 = 0
x2 = 0
x3 = 1
z = Imposible
(3.16)
Subproblema 7



x1 = 0
x2 = 1
x3 = 1
x4 = 0.5
z = 77.00
(3.17)
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 ramificaci´on completo se muestra en la Figura 3.11.
21
Segundo Semestre 2003 Programaci´on Lineal Entera
Subproblema 1
x1 = 0.2
x2 = 1
x3 = 0
x4 = 0
z = 82.80
Subproblema 2
x1 = 0
x2 = 1
x3 = 0.67
x4 = 0
z = 80.67
Subproblema 3
x1 = 1
x2 = 0
x3 = 0
x4 = 0
z = 74.00
x1 = 0 x1 = 1
Subproblema 4
x1 = 0
x2 = 1
x3 = 0
x4 = 2
z = 28
Subproblema 5
x1 = 0
x2 = 0.8
x3 = 1
x4 = 0
z = 79.4
x3 = 0 x3 = 1
Subproblema 6
Imposible
Subproblema 7
x1 = 0
x2 = 1
x3 = 1
x4 = 0.5
z = 77
x2 = 0
x2 = 1
Figura 3.11: ´Arbol de ramificaci´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 fijo
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 fijo 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
Origen Ruta Costo fijo Costo unitario Costo fijo Costo unitario Oferta
1 a 10 3 12 9 200
b 20 2 24 8
2 a 15 5 16 12 400
b 25 4 32 10
3 a 30 7 18 16 600
b 35 6 36 14
Demanda 300 500
Formule un modelo de programaci´on lineal mixta que permita determinar la cantidad a trans-
portar por cada ruta que minimiza el costo total satisfaciendo todas las demandas. Defina 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.
yijk =



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
∀ i = 1, 2, 3; j = 1, 2; k = a, b.
Funci´on objetivo:
Min 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 refinamiento diferente. La f´abrica tiene
capacidad para refinar 210 litros de aceite vegetal y 260 litros de aceite no vegetal. Los aceites refinados
son mezclados pudiendo venderse a $180 el litro del producto final. No existe p´erdida de aceite en los
procesos de refinamiento 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:
Aceites
vegetal 1 vegetal 2 no vegetal 1 no vegetal 2 no vegetal 3
Proveedor 1 Costo 115 128 132 109 114
Calidad 8,8 6,2 1,9 4,3 5,1
Proveedor 2 Costo 110 130 125 108 116
Calidad 8,5 6,4 1,5 4,2 5,2
Cuadro 4.1: Propiedades de los aceites
Existe un costo fijo 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 final 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. Defina 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
wi =
1, si se compra aceite tipo i; ∀i = 1, . . . , 5
0, si no
Funci´on objetivo (10 %):
Max z = 180 ×
5
i=1
2
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 refinamiento:
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
i=1
2
j=1 xij
≥ 3, 5
8, 8x11 + 6, 2x21 + 1, 9x31 + 4, 3x41 + 5, 1x51 + 8, 5x12 + 6, 4x22 + 1, 5x32 + 4, 2x42 + 5, 2x52
5
i=1
2
j=1 xij
≤ 6, 2
• Activaci´on de variables:
xij ≤ M × yij; ∀i = 1, . . . , 2; j = 1, 2
25
Segundo Semestre 2003 Programaci´on Lineal Entera
• Si se compra a cada proveedor:
5
i=1
yij ≤ 5 × zj; ∀j = 1, 2
• M´ınimo a comprar:
xij ≥ 30 × yij; ∀i = 1, . . . , 5; j = 1, 2
• Utilizaci´on aceite tipo i:
2
j=1
yij ≤ 2 × wi; ∀i = 1, 5
• Cantidad m´axima de aceites originales:
5
i=1
wi ≤ 3
• Usar alg´un aceite no vegetal si se usa alg´un aceite vegetal:
w1 ≤ w3 + w4 + w5
w2 ≤ w3 + w4 + w5
• Valores posibles para las variables:
xij ≥ 0; ∀i = 1, . . . , 5; j = 1, 2
yij ∈ {0, 1}; ∀i = 1, . . . , 5; j = 1, 2
wi ∈ {0, 1}; ∀i = 1, . . . , 5
zj ∈ {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. Ex-
iste 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 dis-
tancia 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 ´ultimo, 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. Defina claramente variables, funci´on objetivo y restricciones.
26
Segundo Semestre 2003 Programaci´on Lineal Entera
Comunidad Comunidad de la Capacidad
Escuela talib´an alianza del norte m´axima Costo
1 2 3 1 2 [personas] [103US$]
1 20 km 12 km 10 km 4 km 5 km 1.500 150
2 15 km 18 km 8 km 6 km 9 km 2.000 220
3 25 km 17 km 18 km 7 km 3 km 2.500 350
4 10 km 13 km 9 km 9 km 4 km 1.800 180
5 14 km 28 km 14 km 8 km 7 km 2.800 400
Poblaci´on 600 550 500 1.200 1.100
estudiantil [personas] [personas] [personas] [personas] [personas]
Cuadro 4.2: Distancias entre comunidades y escuelas.
Ejercicio 4 Considere el siguiente modelo de programaci´on lineal entera mixta:
Max z = 60x1 + 80x2 + 70x3 − 100y1 − 150y2 − 100y3
Sujeto a
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, y2, y3 ∈ {0, 1}
El Cuadro 4.3 presenta la soluci´on ´optima para todos los problemas relajados posibles de obtener
(un gui´on en la columna correspondiente a las variables y1, y2 e y3 significa que la variable est´a libre
en el problema relajado).
y1 y2 y3 x z y1 y2 y3 x z y1 y2 y3 x z
0 0 0 (0, 0, 0,0,0,0) 0 1 0 0 (10, 0, 0,1,0,0) 500 - 0 0 (10,0,0,1,0,0) 500
0 0 1 (0, 0,10,0,0,1) 600 1 0 1 ( 5, 0,10,1,0,1) 800 - 0 1 (5,0,10, 1
2
,0,1) 850
0 0 - (0, 0,10,0,0,1) 600 1 0 - (10, 0, 5,1,0, 1
2
) 800 - 0 - (5,0,10,1
2
,0,1) 850
0 1 0 (0,10, 0,0,1,0) 650 1 1 0 ( 5,10, 0,1,1,0) 850 - 1 0 (5,10,0, 1
2
,1,0) 900
0 1 1 (0,10, 5,0,1,1) 900 1 1 1 ( 0,10, 5,1,1,1) 800 - 1 1 (0,10,5,0,1,1) 900
0 1 - (0,10, 5,0,1
2
) 950 1 1 - ( 5,10, 0,1,1,0) 850 - 1 - (0,10,5,0,1, 1
2
) 950
0 - 0 (0,10, 0,0,1,0) 650 1 - 0 ( 5,10, 0,1,1,0) 850 - - 0 (5,10,0, 1
2
,1,0) 900
0 - 1 (0, 5,10,0,1
2
,1) 925 1 - 1 ( 0, 5,10,1,1
2
,1) 825 - - 1 (0,5,10,0,1
2
,1) 925
0 - - (0,10, 5,0,1,1
2
) 950 1 - - ( 5,10, 0,1,1,0) 850 - - - (0,10,5,0,1, 1
2
) 950
Cuadro 4.3: Soluci´on de todos los problemas relajados posibles
1. Resuelva este problema aplicando la t´ecnica de ramificaci´on y acotamiento. Expl´ıque y justifique
claramente cada uno de los pasos.
2. Considerando en general la resoluci´on de problemas de Programaci´on Lineal Entera, ind´ıque si
las siguientes afirmaciones son verdaderas o falsas justificando claramente:
27
Segundo Semestre 2003 Programaci´on Lineal Entera
a) La soluci´on ´optima a un problema de programaci´on lineal entrega x1 = 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 ´optima.
b) 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.
c) La soluci´on entera ´optima 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 coefiente c1 est´a entre 15 y 30 con un coeficiente actual de 20. Si
c1 aumenta a 21 en el problema de programaci´on lineal entera, el nuevo valor ´optimo de la
funci´on objetivo ser´a de 153.
28

Más contenido relacionado

La actualidad más candente

339020374 medicion-del-trabajo
339020374 medicion-del-trabajo339020374 medicion-del-trabajo
339020374 medicion-del-trabajoJonathan Vissoni
 
Fundamentos de ingeniería económica
Fundamentos de ingeniería económicaFundamentos de ingeniería económica
Fundamentos de ingeniería económicaOsmey González
 
Mecánica para Ingenieros: DINÁMICA 3ed, Ferdinand Singer
Mecánica para Ingenieros: DINÁMICA 3ed,  Ferdinand SingerMecánica para Ingenieros: DINÁMICA 3ed,  Ferdinand Singer
Mecánica para Ingenieros: DINÁMICA 3ed, Ferdinand SingerDaniel Orozco
 
Problemas desarrollados de balance de m y e
Problemas desarrollados de  balance de  m y eProblemas desarrollados de  balance de  m y e
Problemas desarrollados de balance de m y eHaydee Melo Javier
 
Medicion del trabajo.tiempos suplementarios.fatiga
Medicion del trabajo.tiempos suplementarios.fatigaMedicion del trabajo.tiempos suplementarios.fatiga
Medicion del trabajo.tiempos suplementarios.fatigaingkarent84
 
Analisis de alternativas_de_inversion
Analisis de alternativas_de_inversionAnalisis de alternativas_de_inversion
Analisis de alternativas_de_inversionEdgard Glez
 
TRANSFERENCIA DE CALOR POR CONDUCCIÓN-CONDUCCIÓN LINEAL EN MULTIPLES CAPAS
TRANSFERENCIA DE CALOR POR CONDUCCIÓN-CONDUCCIÓN LINEAL EN MULTIPLES CAPASTRANSFERENCIA DE CALOR POR CONDUCCIÓN-CONDUCCIÓN LINEAL EN MULTIPLES CAPAS
TRANSFERENCIA DE CALOR POR CONDUCCIÓN-CONDUCCIÓN LINEAL EN MULTIPLES CAPASEdisson Paguatian
 
Dinámica de los fluidos
Dinámica de los fluidosDinámica de los fluidos
Dinámica de los fluidosdomingo osorio
 
Ciencia materiales. Ejercicios introducción y enlaces.
Ciencia materiales. Ejercicios introducción y enlaces.Ciencia materiales. Ejercicios introducción y enlaces.
Ciencia materiales. Ejercicios introducción y enlaces.Ignacio Roldán Nogueras
 
Problemario fenomenos transporte[1]
Problemario fenomenos transporte[1]Problemario fenomenos transporte[1]
Problemario fenomenos transporte[1]Adolfo Quintero
 
pc2-ergonomia-y-estudio-del-trabajo.docx
pc2-ergonomia-y-estudio-del-trabajo.docxpc2-ergonomia-y-estudio-del-trabajo.docx
pc2-ergonomia-y-estudio-del-trabajo.docxGEORGE166935
 

La actualidad más candente (20)

Ingenieria economica de tarquin 6 edicion
Ingenieria economica de tarquin 6 edicionIngenieria economica de tarquin 6 edicion
Ingenieria economica de tarquin 6 edicion
 
339020374 medicion-del-trabajo
339020374 medicion-del-trabajo339020374 medicion-del-trabajo
339020374 medicion-del-trabajo
 
Metalurgia fisica ii cont.
Metalurgia fisica ii cont.Metalurgia fisica ii cont.
Metalurgia fisica ii cont.
 
3. dualidad
3. dualidad3. dualidad
3. dualidad
 
Ejercio resuelto
Ejercio resueltoEjercio resuelto
Ejercio resuelto
 
Fundamentos de ingeniería económica
Fundamentos de ingeniería económicaFundamentos de ingeniería económica
Fundamentos de ingeniería económica
 
Vp (1)
Vp (1)Vp (1)
Vp (1)
 
Administración de Operaciones - Ejercicios Resueltos
Administración de Operaciones - Ejercicios ResueltosAdministración de Operaciones - Ejercicios Resueltos
Administración de Operaciones - Ejercicios Resueltos
 
Mecánica para Ingenieros: DINÁMICA 3ed, Ferdinand Singer
Mecánica para Ingenieros: DINÁMICA 3ed,  Ferdinand SingerMecánica para Ingenieros: DINÁMICA 3ed,  Ferdinand Singer
Mecánica para Ingenieros: DINÁMICA 3ed, Ferdinand Singer
 
Problemas desarrollados de balance de m y e
Problemas desarrollados de  balance de  m y eProblemas desarrollados de  balance de  m y e
Problemas desarrollados de balance de m y e
 
Tablas
TablasTablas
Tablas
 
Medicion del trabajo.tiempos suplementarios.fatiga
Medicion del trabajo.tiempos suplementarios.fatigaMedicion del trabajo.tiempos suplementarios.fatiga
Medicion del trabajo.tiempos suplementarios.fatiga
 
Analisis de alternativas_de_inversion
Analisis de alternativas_de_inversionAnalisis de alternativas_de_inversion
Analisis de alternativas_de_inversion
 
TRANSFERENCIA DE CALOR POR CONDUCCIÓN-CONDUCCIÓN LINEAL EN MULTIPLES CAPAS
TRANSFERENCIA DE CALOR POR CONDUCCIÓN-CONDUCCIÓN LINEAL EN MULTIPLES CAPASTRANSFERENCIA DE CALOR POR CONDUCCIÓN-CONDUCCIÓN LINEAL EN MULTIPLES CAPAS
TRANSFERENCIA DE CALOR POR CONDUCCIÓN-CONDUCCIÓN LINEAL EN MULTIPLES CAPAS
 
Dinámica de los fluidos
Dinámica de los fluidosDinámica de los fluidos
Dinámica de los fluidos
 
Ciencia materiales. Ejercicios introducción y enlaces.
Ciencia materiales. Ejercicios introducción y enlaces.Ciencia materiales. Ejercicios introducción y enlaces.
Ciencia materiales. Ejercicios introducción y enlaces.
 
Problemario fenomenos transporte[1]
Problemario fenomenos transporte[1]Problemario fenomenos transporte[1]
Problemario fenomenos transporte[1]
 
pc2-ergonomia-y-estudio-del-trabajo.docx
pc2-ergonomia-y-estudio-del-trabajo.docxpc2-ergonomia-y-estudio-del-trabajo.docx
pc2-ergonomia-y-estudio-del-trabajo.docx
 
Torsion de materiales
Torsion de materialesTorsion de materiales
Torsion de materiales
 
Análisis incremental word
Análisis incremental wordAnálisis incremental word
Análisis incremental word
 

Similar a Ejemplos vARIOS (20)

4_Programacion_Entera.pptx
4_Programacion_Entera.pptx4_Programacion_Entera.pptx
4_Programacion_Entera.pptx
 
Guia 2 metodo grafico
Guia 2 metodo graficoGuia 2 metodo grafico
Guia 2 metodo grafico
 
No lineal
No linealNo lineal
No lineal
 
Clase 2 - Metodo simplex
Clase 2 - Metodo simplexClase 2 - Metodo simplex
Clase 2 - Metodo simplex
 
Ocwpl dualidad
Ocwpl dualidadOcwpl dualidad
Ocwpl dualidad
 
Analisis de dualidad
Analisis de dualidadAnalisis de dualidad
Analisis de dualidad
 
Ejercicios pnl
Ejercicios pnlEjercicios pnl
Ejercicios pnl
 
Presentacion i dual sis-14
Presentacion i dual sis-14Presentacion i dual sis-14
Presentacion i dual sis-14
 
Investigacion Operativa Aspectos Generales
Investigacion Operativa Aspectos GeneralesInvestigacion Operativa Aspectos Generales
Investigacion Operativa Aspectos Generales
 
Hje cap3 sol
Hje cap3 solHje cap3 sol
Hje cap3 sol
 
39617 7001180393 08-29-2019_215914_pm_s02-sust_alg_e_ipp (1)
39617 7001180393 08-29-2019_215914_pm_s02-sust_alg_e_ipp (1)39617 7001180393 08-29-2019_215914_pm_s02-sust_alg_e_ipp (1)
39617 7001180393 08-29-2019_215914_pm_s02-sust_alg_e_ipp (1)
 
Dual y método dual simplex
Dual y método dual simplexDual y método dual simplex
Dual y método dual simplex
 
Algoritmos especiales
Algoritmos especialesAlgoritmos especiales
Algoritmos especiales
 
INVESTIGACIÓN DE OPERACIONES
INVESTIGACIÓN DE OPERACIONESINVESTIGACIÓN DE OPERACIONES
INVESTIGACIÓN DE OPERACIONES
 
Asignacion
AsignacionAsignacion
Asignacion
 
Tarea final
Tarea finalTarea final
Tarea final
 
Solver en la solución de modelos lineales
Solver en la solución de modelos linealesSolver en la solución de modelos lineales
Solver en la solución de modelos lineales
 
Barco angel
Barco angelBarco angel
Barco angel
 
El Problema del Agente Viajero_f.pptx
El Problema del Agente Viajero_f.pptxEl Problema del Agente Viajero_f.pptx
El Problema del Agente Viajero_f.pptx
 
Programacion lineal entera
Programacion lineal enteraProgramacion lineal entera
Programacion lineal entera
 

Último

Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 

Ejemplos vARIOS

  • 1. 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 funda- mental en la resoluci´on de este tipo de problemas. Definici´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 (1.4) De la misma forma, la relajaci´on de (1.3) queda: 1
  • 2. 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 figura 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, x1 = 0, x2 = 3. 0 0,5 1,0 1,5 2,0 2,5 3,0 0 0,5 1,0 1,5 2,0 2,5 3,0 x1 x2 7x1 +4x2 = 13 = punto en la regi´on factible 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 finito 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 la relajaci´on. Por ejemplo si se resolviera la relajaci´on de (1.6) se obtendr´ıa: x1 = 13 7 , x2 = 0. Redon- deando 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
  • 3. Segundo Semestre 2003 Programaci´on Lineal Entera puede obtener redondeando el valor obtenido de la relajaci´on hacia abajo: x1 = 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 prob- lema 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 US$16000, la opci´on 2 tiene un VAN de US$22000, la inversi´on 3 representa un VAN de US$12000 y la inversi´on 4 posee un VAN de US$8000. Cada inversi´on requiere un cierto capital inicial: US$5000, US$7000, US$4000 y US$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 verifica 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 xj = 0 y no se contabiliza ese aporte. Se sigue la misma l´ogica para construir las restricciones. Como existe un capital limitado de US$14000 para invertir, se debe satisfacer (en miles): 5x1 + 7x2 + 4x3 + 3x4 ≤ 14 (2.3) 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 (2.4) Supongamos ahora que se agregan las siguientes restricciones al problema original: 3
  • 4. Segundo Semestre 2003 Programaci´on Lineal Entera 1. La empresa puede invertir en a lo m´as dos opciones. 2. Si la empresa invierte en la opci´on 2, tambi´en debe invertir en 1. 3. Si la empresa invierte en 1, no puede tomar la opci´on 4. 4. S´olo se puede invertir en 3 si se escoge 1 ´o 2. El planteo original del problema (2.4) se ve modificado de la siguiente forma: 1. En este caso basta con agregar la restricci´on: x1 + x2 + x3 + x4 ≤ 2 2. Para incorporar esta restricci´on, se debe imponer que si x2 = 1 necesariamente x1 = 1. Luego, se podr´ıa emplear: x2 ≤ x1 ´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 + x4 ≤ 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 ≤ x1 + x2 Luego, basta con tener un 1 a la derecha de la desigualdad para que x3 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 × x3 ≤ x1 + x2 En este caso se requiere tener un 2 a la derecha de la desigualdad para que x3 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: US$200, US$150 y US$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 yd2 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 beneficio de la f´abrica. Para plantear el modelo se pueden definir las siguientes variables: x1 = n´umero de poleras producidas mensualmente x2 = n´umero de shorts producidos mensualmente x3 = n´umero de pantalones producidos mensualmente (2.5) 4
  • 5. Segundo Semestre 2003 Programaci´on Lineal Entera Mano de Obra [hrs] Tela [yd2] Poleras 3 4 Shorts 2 3 Pantalones 6 4 Cuadro 2.1: Requerimientos de Fabricaci´on Precio de Venta US$ Costo Variable US$ Poleras 12 6 Shorts 8 4 Pantalones 15 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 cuantificar 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 (2.7) Para ello, se debe incorporar las restricciones de activaci´on de las variables binarias: x1 ≤ M1y1 x2 ≤ M2y2 x3 ≤ M3y3 (2.8) Los valores Mi son valores escalares lo suficientemente 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 cuantificar un costo, el algoritmo de resoluci´on se en- cargar´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 fijos y variables: z = (12x1 + 8x2 + 15x3) Ingresos por venta − (6x1 + 4x2 + 8x3) Costos variables − (200y1 + 150y2 + 100y3) Costos fijos (2.9) Por lo tanto, la funci´on objetivo a maximizar queda: z = 6x1 + 4x2 + 7x3 − 200y1 − 150y2 − 100y3 (2.10) 5
  • 6. Segundo Semestre 2003 Programaci´on Lineal Entera A continuaci´on es preciso construir las restricciones del problema. En este caso existe un disponi- bilidad m´axima de mano de obra y de tela. La restricci´on de mano de obra queda: 3x1 + 2x2 + 6x3 ≤ 150 (2.11) y la de tela ser´ıa: 4x1 + 3x2 + 4x3 ≤ 160 (2.12) Las restricciones (2.11) y (2.12) nos permiten estimar el valor de Mi. Por ejemplo si s´olo se produ- jeran art´ıculos de tipo 1, el valor m´aximo a producir quedar´ıa controlado por: m´ın{150 3 , 160 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 3 y para x3 basta con M3 = 25. En t´erminos generales los valores de Mi s´olo deben ser lo suficientemente 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 final para el problema queda: m´ax z = 6x1 + 4x2 + 7x3 − 200y1 − 150y2 − 100y3 s.t. 3x1 + 2x2 + 6x3 ≤ 150 4x1 + 3x2 + 4x3 ≤ 160 x1 ≤ M1y1 x2 ≤ M2y2 x3 ≤ M3y3 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. Hasta 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 Barrio 3 20 25 - 15 30 20 Barrio 4 30 35 15 - 15 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 definir las siguientes variables: 6
  • 7. 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 definidas, el total de estaciones a construir queda definido por: z = 6 i=1 xi (2.15) Para construir las restricciones, es preciso obtener del Cuadro 2.3 en que lugares es factible cons- truir 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 min- utos 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 Barrios factibles de construcci´on 1 1, 2 2 1, 2, 6 3 3, 4 4 3, 4, 5 5 4, 5, 6 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 + x2 ≥ 1 (2.16) 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 + x2 + x6 ≥ 1 (Barrio 2) x3 + x4 ≥ 1 (Barrio 3) x3 + x4 + x5 ≥ 1 (Barrio 4) x4 + x5 + x6 ≥ 1 (Barrio 5) x2 + x5 + x6 ≥ 1 (Barrio 6) xi = {0, 1} ∀ i = 1 . . . 6 (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 (2.18) g(x1, x2, . . . xn) ≤ 0 (2.19) 7
  • 8. Segundo Semestre 2003 Programaci´on Lineal Entera Si se desea que s´olo sea satisfecha una de las restricciones, se puede modificar el planteo de las restricciones de la siguiente forma: f(x1, x2, . . . xn) ≤ My (2.20) g(x1, x2, . . . xn) ≤ M(1 − y) (2.21) donde y es una variable binaria y M es una constante lo suficientemente 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) ≤ My1 g(x1, x2, . . . xn) ≤ My2 y1 + y2 ≤ 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 beneficio 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 beneficio de la f´abrica. Compacto Mediando Grande Materiales [T] 1,5 3 5 Mano de obra [hr] 30 25 40 Beneficio [US$] 2000 3000 4000 Cuadro 2.5: Requerimientos y beneficios 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 definida por la combinaci´on lineal de las variables por sus respectivos beneficios unitarios (en miles): m´ax z = 2x1 + 3x2 + 4x3 (2.23) 8
  • 9. 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 ∀ i = 1 . . . 3 (2.24) O bien: xi ≤ 0 ´o 1000 − xi ≤ 0 ∀ i = 1 . . . 3 (2.25) Introduciendo la variable binaria yi, las restricciones quedan: xi ≤ Miyi (2.26) 1000 − xi ≤ Mi(1 − yi) (2.27) yi = {0, 1} (2.28) Un valor posible para Mi se puede obtener a partir de la disponibilidad de materiales y de mano de obra, por ejemplo para los veh´ıculos compactos ser´ıa: M1 = m´ın{6000 1,5 , 60000 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) (2.29) Finalmente, el IP queda: m´ax z = 2x1 + 3x2 + 4x3 s.t. x1 ≤ 2000y1 1000 − x1 ≤ 2000(1 − y1) x2 ≤ 2000y2 1000 − x2 ≤ 2000(1 − y2) x3 ≤ 1200y3 1000 − x3 ≤ 1200(1 − y3) 1,5x1 + 3x2 + 5x3 ≤ 6000 30x1 + 25x2 + 40x3 ≤ 60000 xi ∈ Z+ ∀ i = 1 . . . 3 yi = {0, 1} ∀ i = 1 . . . 3 (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 (2.31) se satisface, entonces la restricci´on: g(x1, x2, . . . xn) ≥ 0 (2.32) 9
  • 10. 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) ≤ My (2.33) f(x1, x2, . . . xn) ≤ M(1 − y) (2.34) y = {0, 1} (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 → x2 = x3 = 0 (2.36) En forma equivalente se tiene: Si x1 > 0 → x2 + x3 ≤ 0 ´o − x2 − x3 ≥ 0 (2.37) Por lo tanto, basta incorporar: x2 + x3 ≤ My (2.38) x1 ≤ M(1 − y) (2.39) y = {0, 1} (2.40) El valor de M no tiene porqu´e ser ´unico. En este caso, podemos emplear los valores de Mi calculados previamente: x2 + x3 ≤ (M2 + M3)y = 3200y (2.41) x1 ≤ M1(1 − y) = 2000(1 − y) (2.42) y = {0, 1} (2.43) 2.6. Problemas con funciones lineales definidas por tramos Una funci´on lineal definida 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 = zkbk + (1 − zk)bk+1 (2.44) Como f(x) es lineal para bk ≤ x ≤ bk+1, se puede escribir: 10
  • 11. Segundo Semestre 2003 Programaci´on Lineal Entera f(x) = zkf(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) xb1 b2 b3 f(b2) f(b3) Figura 2.1: Funci´on lineal por tramos La funci´on objetivo puede ser escrita como: f(x) = z1f(b1) + z2f(b2) + . . . + znf(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 ≤ y1 z2 ≤ y1 + y2 z3 ≤ y2 + y3 ... zn−1 ≤ yn−2 + yn−1 zn ≤ yn−1 (2.47) 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 + . . . + yn−1 = 1 (2.48) C´omo zk+1 = 1 − zk, se debe agregar la restricci´on: z1 + z2 + . . . + zn = 1 (2.49) De acuerdo a la ecuaci´on (2.44) se tiene: x = z1b1 + z2b2 + . . . + znbn (2.50) Para ilustrar la incorporaci´on de funciones lineales definidas por tramos consideremos el siguiente ejemplo: 11
  • 12. Segundo Semestre 2003 Programaci´on Lineal Entera Ejemplo 5 Una refiner´ı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 definir las siguientes variables: x = cantidad de petr´oleo tipo 1 comprado xij = 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) (2.52) donde: c(x) =    25x 0 ≤ x ≤ 500 25x + 2500 500 ≤ x ≤ 1000 15x + 7500 1000 ≤ x ≤ 1500 (2.53) La restricci´on relativa a la disponibilidad de petr´oleo tipo 1 queda: x11 + x12 ≤ x + 500 (2.54) La restricci´on relativa a la disponibilidad de petr´oleo tipo 2 queda: x21 + x22 ≤ 1000 (2.55) Para obligar que la gasolina tipo 1 tenga al menos un 50 % de petr´oleo tipo 1 se agrega: x11 x11 + x21 ≥ 0,5 (2.56) Para obligar que la gasolina tipo 2 tenga al menos un 60 % de petr´oleo tipo 1 se agrega: x12 x12 + x22 ≥ 0,6 (2.57) 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 (2.58) El valor de la variable x se calcula seg´un: x = 0z1 + 500z2 + 1000z3 + 1500z4 (2.59) Las variables continuas zk se relacionan con las binarias yk se´un: z1 ≤ y1 z2 ≤ y1 + y2 z3 ≤ y2 + y3 z4 ≤ y3 (2.60) 12
  • 13. Segundo Semestre 2003 Programaci´on Lineal Entera Adem´as se tiene que: z1 + z2 + z3 + z4 = 1 y1 + y2 + y3 = 1 (2.61) Finalmente se agrega la naturaleza de las variables: zi ≥ 0 ∀ i = 1 . . . 4 yj = {0, 1} ∀ j = 1 . . . 3 xkr ≥ 0 ∀ k × r (2.62) 3. Resoluci´on de IP - M´etodo de Ramificaci´on y Acotamiento El m´etodo de ramificaci´on y acotamiento consiste en una t´ecnica de enumeraci´on eficiente 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 ramificaci´on y acotamiento. 0 1 2 3 0 1 2 3 4 5 6 x1 x2 2x1 +x2 =6 = 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
  • 14. Segundo Semestre 2003 Programaci´on Lineal Entera mesa genera una utilidad de US$8, cada silla representa una utilidad de US$5. Formule y resuelva un IP para maximizar el beneficio de la muebler´ıa. Consideremos: x1 = n´umero de mesas fabricadas x2 = n´umero de sillas fabricadas (3.2) 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.3) En primer lugar se resuelve la relajaci´on del IP, llamaremos a este problema el Subproblema 1: Subproblema 1:    m´ax z = 8x1 + 5x2 s.t. x1 + x2 ≤ 6 9x1 + 5x2 ≤ 45 x1, x2 ≥ 0 (3.4) La resoluci´on gr´afica del Subproblema 1 se muestra en la Figura 3.2. En este caso, la soluci´on ´optima corresponde al punto x1 = 15 4 = 3,75 y x2 = 9 4 = 2,25, con valor de la funci´on objetivo z = 165 4 . Como se mencion´o anteriormente, la soluci´on del IP no puede ser mejor a la del IP relajado, por lo que z = 165 4 es una Cota Superior para la funci´on objetivo. 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 x1 x2 x1 + x2 = 6 9x1 +5x2 = 45 ´optimo 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
  • 15. Segundo Semestre 2003 Programaci´on Lineal Entera en los valores enteros m´as cercanos al valor fraccionario obtenido. De acuerdo a ello, ramificaremos la variable x1 definiendo los siguientes subproblemas: Subproblema 2: Subproblema 1 + restricci´on: x1 ≤ 3 Subproblema 3: Subproblema 1 + restricci´on: x1 ≥ 4 (3.5) N´otese que ambos subproblemas excluyen el valor x1 = 15 4 , es decir, la soluci´on ´optima de los 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 ramificaci´on de las variables se ordena en un ´arbol de ramificaci´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: zD = 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 definir como cota superior z = 39. Subproblema 1 z = 165 4 x1 = 15 4 x2 = 9 4 Subproblema 2 Subproblema 3 x1 ≤ 3 x1 ≥ 4 Figura 3.3: ´Arbol de ramificaci´on subproblemas 2 y 3 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 x1 x2 x1 + x2 = 6 9x1 +5x2 = 45 x1=3 D E F G Figura 3.4: Regi´on Factible del subproblema 2 Si bien la soluci´on obtenida del subproblema 2 satisface todas las condiciones del problema, debe- mos completar la ramificaci´on ya que a´un hay esperanzas de obtener una soluci´on menor o igual al valor 15
  • 16. 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 figura 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: x1 = 4 y x2 = 9 5 , valor que no satisface la condici´on de enteridad. 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 x1 x2 x1 + x2 = 6 9x1 +5x2 = 45 x1=4 B A C 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 ramificar 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 finalizada las ramificaciones. De acuerdo a ello, podemos definir dos nuevos subproblemas a partir el subproblema 3. Como la variable x2 = 9 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 3 + restricci´on: x2 ≤ 1 Subproblema 5: Subproblema 3 + restricci´on: x2 ≥ 2 (3.6) El ´arbol de ramificaci´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: zH = 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 x1 = 40 9 y x2 = 1. 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 ramificar 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 9 , por lo que conviene definir los siguientes subproblemas: Subproblema 6: Subproblema 4 + restricci´on: x1 ≤ 4 Subproblema 7: Subproblema 4 + restricci´on: x1 ≥ 5 (3.7) 16
  • 17. Segundo Semestre 2003 Programaci´on Lineal Entera Subproblema 1 z = 165 4 x1 = 15 4 x2 = 9 4 Subproblema 2 z = 39 x1 = 3 x2 = 3 Subproblema 3 z = 41 x1 = 4 x2 = 9 5 x1 ≤ 3 x1 ≥ 4 Subproblema 4 Subproblema 5 x2 ≤ 1 x2 ≥ 2 Figura 3.6: ´Arbol de ramificaci´on subproblemas 4 y 5 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 x1 x2 x1 + x2 = 6 9x1 +5x2 = 45 x1=4 B A x2 = 2 x2 = 1 IH Figura 3.7: Regi´on Factible del subproblemas 4 y 5 El nuevo ´arbol de ramificaci´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 definida previamente, por lo que se descarta. En el subproblema 7, el ´unico 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
  • 18. Segundo Semestre 2003 Programaci´on Lineal Entera inferior a la cota, no tiene sentido seguir ramificando pues se ha alcanzado el ´optimo del IP. El ´arbol de ramificaci´on completo se muestra en la Figura 3.10 donde se identifica la soluci´on ´optima. Subproblema 1 z = 165 4 x1 = 15 4 x2 = 9 4 Subproblema 2 z = 39 x1 = 3 x2 = 3 Subproblema 3 z = 41 x1 = 4 x2 = 9 5 x1 ≤ 3 x1 ≥ 4 Subproblema 4 z = 365 9 x1 = 40 9 x2 = 1 Subproblema 5 Imposible x2 ≤ 1 x2 ≥ 2 Subproblema 6 Subproblema 7 x1 ≤ 4 x1 ≥ 5 Figura 3.8: ´Arbol de ramificaci´on subproblemas 6 y 7 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 x1 x2 x1 + x2 = 6 9x1 +5x2 = 45 x1=4 B A x2 = 1 x1=5 H Figura 3.9: Regi´on Factible del subproblemas 6 y 7 18
  • 19. Segundo Semestre 2003 Programaci´on Lineal Entera Subproblema 1 z = 165 4 x1 = 15 4 x2 = 9 4 Subproblema 2 z = 39 x1 = 3 x2 = 3 Subproblema 3 z = 41 x1 = 4 x2 = 9 5 x1 ≤ 3 x1 ≥ 4 Subproblema 4 z = 365 9 x1 = 40 9 x2 = 1 Subproblema 5 Imposible x2 ≤ 1 x2 ≥ 2 Subproblema 6 z = 37 x1 = 4 x2 = 1 Subproblema 7 z = 40 x1 = 5 x2 = 0 x1 ≤ 4 x1 ≥ 5 Figura 3.10: ´Arbol de ramificaci´on final Ejemplo 8 Considere un problema de programaci´on lineal entera mixta cuyo objetivo es la maxi- mizaci´on de una funci´on z involucrando las variables binarias x1, x2 y x3 y la variable continua x4 ≥ 0. El Cuadro 3.1 presenta la soluci´on ´optima para todos los problemas relajados posibles de obtener (un gui´on en la columna correspondiente a las variables x1, x2 y x3 significa que la variable est´a libre en el problema relajado). x1 x2 x3 x z x1 x2 x3 x z x1 x2 x3 x z - - - (0.2,1,0,0) 82.80 0 - - (0,1,0.67,0) 80.67 1 - - (1,0,0,0) 74.00 - - 0 (0.2,1,0,0) 82.80 0 - 0 (0,1,0,2) 28.00 1 - 0 (1,0,0,0) 74.00 - - 1 (0,0.8,1,0) 79.40 0 - 1 (0,0.8,1,0) 79.40 1 - 1 (1,0,1,0) 63.00 - 0 - (0.7,0,0,0) 81.80 0 0 - Imposible - 1 0 - (1,0,0,0) 74.00 - 0 0 (0.7,0,0,0) 81.80 0 0 0 Imposible - 1 0 0 (1,0,0,0) 74.00 - 0 1 (0.4,0,1,0) 78.60 0 0 1 Imposible - 1 0 1 (1,0,1,0) 63.00 - 1 - (0.2,1,0,0) 82.80 0 1 - (0,1,0.67,0) 80.67 1 1 - (1,1,0,0) 62.00 - 1 0 (0.2,1,0,0) 82.80 0 1 0 (0,1,0,2) 28.00 1 1 0 (1,1,0,0) 62.00 - 1 1 (0,1,1,0.5) 77.00 0 1 1 (0,1,1,0.5) 77.00 1 1 1 (1,1,1,0) 51.00 Cuadro 3.1: Soluciones de todas las relajaciones posibles Resuelva este problema aplicando la t´ecnica de ramificaci´on y acotamiento. 19
  • 20. Segundo Semestre 2003 Programaci´on Lineal Entera 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: Subproblema 1    x1 = 0.2 x2 = 1 x3 = 0 x4 = 0 z = 82.80 (3.8) En la soluci´on del subproblema 1 el valor de la variable x1 no satisface la condici´on de binaria, por lo tanto se ramifica en funci´on de los valores que puede tomar: Subproblema 2: Subproblema 1 + (x1 = 0) Subproblema 3: Subproblema 1 + (x1 = 1) (3.9) De acuerdo al Cuadro 3.1 se tiene: Subproblema 2    x1 = 0 x2 = 1 x3 = 0.67 x4 = 0 z = 80.67 (3.10) Subproblema 3    x1 = 1 x2 = 0 x3 = 0 x4 = 0 z = 74.00 (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 ramificar: Subproblema 4: Subproblema 1 + (x1 = 0) + (x3 = 0) Subproblema 5: Subproblema 1 + (x1 = 0) + (x3 = 1) (3.12) De acuerdo al Cuadro 3.1 se tiene: Subproblema 4    x1 = 0 x2 = 1 x3 = 0 x4 = 2 z = 28.00 (3.13) Subproblema 5    x1 = 0 x2 = 0.8 x3 = 1 x4 = 0 z = 79.40 (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
  • 21. 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 ramificar seg´un los valores posibles de la variable binaria x2: Subproblema 6: Subproblema 1 + (x1 = 0) + (x3 = 1) + (x2 = 0) Subproblema 7: Subproblema 1 + (x1 = 0) + (x3 = 1) + (x2 = 1) (3.15) Los valores ´optimos para cada subproblema se obtiene del Cuadro 3.1: Subproblema 6    x1 = 0 x2 = 0 x3 = 1 z = Imposible (3.16) Subproblema 7    x1 = 0 x2 = 1 x3 = 1 x4 = 0.5 z = 77.00 (3.17) 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 ramificaci´on completo se muestra en la Figura 3.11. 21
  • 22. Segundo Semestre 2003 Programaci´on Lineal Entera Subproblema 1 x1 = 0.2 x2 = 1 x3 = 0 x4 = 0 z = 82.80 Subproblema 2 x1 = 0 x2 = 1 x3 = 0.67 x4 = 0 z = 80.67 Subproblema 3 x1 = 1 x2 = 0 x3 = 0 x4 = 0 z = 74.00 x1 = 0 x1 = 1 Subproblema 4 x1 = 0 x2 = 1 x3 = 0 x4 = 2 z = 28 Subproblema 5 x1 = 0 x2 = 0.8 x3 = 1 x4 = 0 z = 79.4 x3 = 0 x3 = 1 Subproblema 6 Imposible Subproblema 7 x1 = 0 x2 = 1 x3 = 1 x4 = 0.5 z = 77 x2 = 0 x2 = 1 Figura 3.11: ´Arbol de ramificaci´on completo Ejemplo 8 22
  • 23. 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 fijo 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 fijo 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 Origen Ruta Costo fijo Costo unitario Costo fijo Costo unitario Oferta 1 a 10 3 12 9 200 b 20 2 24 8 2 a 15 5 16 12 400 b 25 4 32 10 3 a 30 7 18 16 600 b 35 6 36 14 Demanda 300 500 Formule un modelo de programaci´on lineal mixta que permita determinar la cantidad a trans- portar por cada ruta que minimiza el costo total satisfaciendo todas las demandas. Defina 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. yijk =    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 ∀ i = 1, 2, 3; j = 1, 2; k = a, b. Funci´on objetivo: Min 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
  • 24. 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 refinamiento diferente. La f´abrica tiene capacidad para refinar 210 litros de aceite vegetal y 260 litros de aceite no vegetal. Los aceites refinados son mezclados pudiendo venderse a $180 el litro del producto final. No existe p´erdida de aceite en los procesos de refinamiento 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: Aceites vegetal 1 vegetal 2 no vegetal 1 no vegetal 2 no vegetal 3 Proveedor 1 Costo 115 128 132 109 114 Calidad 8,8 6,2 1,9 4,3 5,1 Proveedor 2 Costo 110 130 125 108 116 Calidad 8,5 6,4 1,5 4,2 5,2 Cuadro 4.1: Propiedades de los aceites Existe un costo fijo 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
  • 25. Segundo Semestre 2003 Programaci´on Lineal Entera el producto final 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. Defina 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 wi = 1, si se compra aceite tipo i; ∀i = 1, . . . , 5 0, si no Funci´on objetivo (10 %): Max z = 180 × 5 i=1 2 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 refinamiento: 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 i=1 2 j=1 xij ≥ 3, 5 8, 8x11 + 6, 2x21 + 1, 9x31 + 4, 3x41 + 5, 1x51 + 8, 5x12 + 6, 4x22 + 1, 5x32 + 4, 2x42 + 5, 2x52 5 i=1 2 j=1 xij ≤ 6, 2 • Activaci´on de variables: xij ≤ M × yij; ∀i = 1, . . . , 2; j = 1, 2 25
  • 26. Segundo Semestre 2003 Programaci´on Lineal Entera • Si se compra a cada proveedor: 5 i=1 yij ≤ 5 × zj; ∀j = 1, 2 • M´ınimo a comprar: xij ≥ 30 × yij; ∀i = 1, . . . , 5; j = 1, 2 • Utilizaci´on aceite tipo i: 2 j=1 yij ≤ 2 × wi; ∀i = 1, 5 • Cantidad m´axima de aceites originales: 5 i=1 wi ≤ 3 • Usar alg´un aceite no vegetal si se usa alg´un aceite vegetal: w1 ≤ w3 + w4 + w5 w2 ≤ w3 + w4 + w5 • Valores posibles para las variables: xij ≥ 0; ∀i = 1, . . . , 5; j = 1, 2 yij ∈ {0, 1}; ∀i = 1, . . . , 5; j = 1, 2 wi ∈ {0, 1}; ∀i = 1, . . . , 5 zj ∈ {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. Ex- iste 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 dis- tancia 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 ´ultimo, 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. Defina claramente variables, funci´on objetivo y restricciones. 26
  • 27. Segundo Semestre 2003 Programaci´on Lineal Entera Comunidad Comunidad de la Capacidad Escuela talib´an alianza del norte m´axima Costo 1 2 3 1 2 [personas] [103US$] 1 20 km 12 km 10 km 4 km 5 km 1.500 150 2 15 km 18 km 8 km 6 km 9 km 2.000 220 3 25 km 17 km 18 km 7 km 3 km 2.500 350 4 10 km 13 km 9 km 9 km 4 km 1.800 180 5 14 km 28 km 14 km 8 km 7 km 2.800 400 Poblaci´on 600 550 500 1.200 1.100 estudiantil [personas] [personas] [personas] [personas] [personas] Cuadro 4.2: Distancias entre comunidades y escuelas. Ejercicio 4 Considere el siguiente modelo de programaci´on lineal entera mixta: Max z = 60x1 + 80x2 + 70x3 − 100y1 − 150y2 − 100y3 Sujeto a 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, y2, y3 ∈ {0, 1} El Cuadro 4.3 presenta la soluci´on ´optima para todos los problemas relajados posibles de obtener (un gui´on en la columna correspondiente a las variables y1, y2 e y3 significa que la variable est´a libre en el problema relajado). y1 y2 y3 x z y1 y2 y3 x z y1 y2 y3 x z 0 0 0 (0, 0, 0,0,0,0) 0 1 0 0 (10, 0, 0,1,0,0) 500 - 0 0 (10,0,0,1,0,0) 500 0 0 1 (0, 0,10,0,0,1) 600 1 0 1 ( 5, 0,10,1,0,1) 800 - 0 1 (5,0,10, 1 2 ,0,1) 850 0 0 - (0, 0,10,0,0,1) 600 1 0 - (10, 0, 5,1,0, 1 2 ) 800 - 0 - (5,0,10,1 2 ,0,1) 850 0 1 0 (0,10, 0,0,1,0) 650 1 1 0 ( 5,10, 0,1,1,0) 850 - 1 0 (5,10,0, 1 2 ,1,0) 900 0 1 1 (0,10, 5,0,1,1) 900 1 1 1 ( 0,10, 5,1,1,1) 800 - 1 1 (0,10,5,0,1,1) 900 0 1 - (0,10, 5,0,1 2 ) 950 1 1 - ( 5,10, 0,1,1,0) 850 - 1 - (0,10,5,0,1, 1 2 ) 950 0 - 0 (0,10, 0,0,1,0) 650 1 - 0 ( 5,10, 0,1,1,0) 850 - - 0 (5,10,0, 1 2 ,1,0) 900 0 - 1 (0, 5,10,0,1 2 ,1) 925 1 - 1 ( 0, 5,10,1,1 2 ,1) 825 - - 1 (0,5,10,0,1 2 ,1) 925 0 - - (0,10, 5,0,1,1 2 ) 950 1 - - ( 5,10, 0,1,1,0) 850 - - - (0,10,5,0,1, 1 2 ) 950 Cuadro 4.3: Soluci´on de todos los problemas relajados posibles 1. Resuelva este problema aplicando la t´ecnica de ramificaci´on y acotamiento. Expl´ıque y justifique claramente cada uno de los pasos. 2. Considerando en general la resoluci´on de problemas de Programaci´on Lineal Entera, ind´ıque si las siguientes afirmaciones son verdaderas o falsas justificando claramente: 27
  • 28. Segundo Semestre 2003 Programaci´on Lineal Entera a) La soluci´on ´optima a un problema de programaci´on lineal entrega x1 = 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 ´optima. b) 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. c) La soluci´on entera ´optima 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 coefiente c1 est´a entre 15 y 30 con un coeficiente actual de 20. Si c1 aumenta a 21 en el problema de programaci´on lineal entera, el nuevo valor ´optimo de la funci´on objetivo ser´a de 153. 28