Está en la página 1de 28

Fundamentos de Investigaci on de Operaciones

Investigaci on de Operaciones 1
Programaci on Lineal Entera
11 de septiembre de 2003
1. Introducci on
Un LP donde se requiere que todas las variables sean enteras se denomina un problema de
programaci on lineal entera pura. Por ejemplo:
max z = 3x
1
+ 2x
2
s.t. x
1
+ x
2
6
x
1
, x
2
Z
+
(1.1)
Un LP donde solo algunas variables deben ser enteras se denomina problema de programaci on
lineal entera mixta. Por ejemplo:
max z = 3x
1
+ 2x
2
s.t. x
1
+ x
2
6
x
2
0
x
1
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:
max z = x
1
x
2
s.t. x
1
+ 2x
2
2
2x
1
x
2
1
x
1
, x
2
= {0, 1}
(1.3)
El concepto de relajacion de un problema de programacion lineal entera (IP) juega un rol funda-
mental en la resolucion de este tipo de problemas.
Denici on 1 El LP obtenido eliminando todas las condiciones de valores enteros o binarios para las
variables se denomina Relajaci on del LP.
Por ejemplo, la relajacion de (1.1) quedara:
max z = 3x
1
+ 2x
2
s.t. x
1
+ x
2
6
x
1
, x
2
0
(1.4)
De la misma forma, la relajacion de (1.3) queda:
1
Segundo Semestre 2003 Programaci on Lineal Entera
max z = x
1
x
2
s.t. x
1
+ 2x
2
2
2x
1
x
2
1
x
1
, x
2
0
(1.5)
Cualquier IP puede ser visto como el LP relajado mas algunas restricciones adicionales. Por lo
tanto, el LP relajado es un problema menos restringido, o mas 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 maximizacion:
El valor optimo de z del LP relajado El valor optimo de z del IP
Consideremos el siguiente ejemplo:
max z = 21x
1
+ 11x
2
s.t. 7x
1
+ 4x
2
13
x
1
, x
2
Z
+
(1.6)
La region factible del problema relajado se presenta en la gura 1.1. En este caso, la region 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 evaluacion y comparacion de los valores de z en los seis puntos factibles es
posible determinar el optimo. Luego, la solucion optima de (1.6) es z = 33, x
1
= 0, x
2
= 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
x
1
x
2
7
x
1
+
4
x
2
=
1
3
= punto en la region factible
Figura 1.1: Region Factible del ejemplo 1.6
Si la region factible de la relajacion de un IP puro esta acotada, la region factible del IP consistira en
un n umero nito de puntos. En teora, mediante la enumeracion y la evaluacion de z en cada uno de
los puntos es posible encontrar el mejor valor de z. El problema es que si la region factible contiene
miles de puntos factibles, la enumeracion completa no es viable desde un punto de vista computacional.
Una segunda opcion para resolver el IP sera mediante la aproximacion de la solucion obtenida de
la relajacion. Por ejemplo si se resolviera la relajacion de (1.6) se obtendra: x
1
=
13
7
, x
2
= 0. Redon-
deando esta solucion se obtendra: x
1
= 2, x
2
= 0 como posible solucion optima. Sin embargo este
punto esta fuera de la region 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 relajacion hacia abajo: x
1
= 1, x
2
= 0, valor que
tampoco corresponde al optimo real del problema.
Como se ve en este ejemplo, no existen garantas de que la aproximacion de soluciones del prob-
lema relajado corresponda a la solucion optima real del IP. Por lo tanto, no es un enfoque valido
para resolver el problema. Como se estudio previamente, el algoritmo Simplex resuelve un LP a partir
de una solucion basica factible mejorandola iteracion a iteracion. Luego, en la mayora de los casos,
Simplex examina solo una porcion de todas las soluciones basales factibles antes de llegar al optimo.
En forma analoga, se podra esperar que existan algoritmos capaces de resolver un IP iterando de una
solucion factible entera a otra. Lamentablemente, no existen o no son conocidos tales algoritmos. Por
lo tanto, como se vera en detalle mas adelante, la resolucion de un IP es mucho mas compleja que la
resolucion de su relajacion.
2. Formulaci on de IP
Los problema de programacion lineal entera permiten ampliar el espectro de problemas factibles
de plantear como modelos de programacion lineal. A continuacion se veran 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 opcion:
x
j
=

1 se invierte en la opcion j
0 en caso contrario
j = 1 . . . 4 (2.1)
La funcion objetivo para el problema queda (en miles):
max z = 16x
1
+ 22x
2
+ 12x
3
+ 8x
4
(2.2)
En la expresion (2.2) se verica que si la opcion j se realiza, entonces x
j
= 1 y se suma el VAN
respectivo al valor de la funcion objetivo. En caso contrario, la variable x
j
= 0 y no se contabiliza ese
aporte. Se sigue la misma logica para construir las restricciones.
Como existe un capital limitado de US$14000 para invertir, se debe satisfacer (en miles):
5x
1
+ 7x
2
+ 4x
3
+ 3x
4
14 (2.3)
Como no existen otras restricciones, el modelo completo para el problema queda:
max z = 16x
1
+ 22x
2
+ 12x
3
+ 8x
4
s.t. 5x
1
+ 7x
2
+ 4x
3
+ 3x
4
14
x
j
= {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, tambien 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 modicado de la siguiente forma:
1. En este caso basta con agregar la restriccion:
x
1
+ x
2
+ x
3
+ x
4
2
2. Para incorporar esta restriccion, se debe imponer que si x
2
= 1 necesariamente x
1
= 1. Luego,
se podra emplear:
x
2
x
1
o x
2
x
1
0
Si x
2
= 1 necesariamente se tendra x
1
= 1. Si x
2
= 0, x
1
podra ser 0 o 1. Como no existen
indicaciones en ese caso, se satisface el requerimiento de la nueva restriccion.
3. Esta restriccion impone la condicion de que las alternativas 1 y 4 sean excluyentes, en otras
palabras:
x
1
+ x
4
1
Como las variables son binarias, no se permite que ambas puedan ser igual a 1.
4. Aqu, la variable x
3
puede valer 1 solo si x
1
o x
2
es igual a 1. No existen restricciones que digan
que x
1
y x
2
sean excluyentes, por lo tanto eventualmente se podra escoger ambas. En este caso
se puede agregar:
x
3
x
1
+ x
2
Luego, basta con tener un 1 a la derecha de la desigualdad para que x
3
pueda tomar valor igual
a 1. Si se exigiera que deben escogerse 1 y 2 para poder seleccionar 3, la restriccion quedara:
2 x
3
x
1
+ x
2
En este caso se requiere tener un 2 a la derecha de la desigualdad para que x
3
pueda ser igual a
uno.
2.2. Problemas de Costo Fijo
Ejemplo 2 Una compa na 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 yd
2
de tela. El costo unitario de producci on y el precio de venta de cada artculo se muestra en el Cuadro
2.2. Formule un IP que permita maximizar el benecio de la f abrica.
Para plantear el modelo se pueden denir las siguientes variables:
x
1
= n umero de poleras producidas mensualmente
x
2
= n umero de shorts producidos mensualmente
x
3
= n umero de pantalones producidos mensualmente
(2.5)
4
Segundo Semestre 2003 Programaci on Lineal Entera
Mano de Obra [hrs] Tela [yd
2
]
Poleras 3 4
Shorts 2 3
Pantalones 6 4
Cuadro 2.1: Requerimientos de Fabricacion
Precio de Venta US$ Costo Variable US$
Poleras 12 6
Shorts 8 4
Pantalones 15 8
Cuadro 2.2: Requerimientos de Fabricacion
Como el costo de arriendo de la maquinaria solo depende de la prenda producida, sera necesario
emplear variables binarias para cuanticar el hecho de arrendar o no cada maquina:
y
i
=

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 x
i
> 0 y
i
= 1
Si x
i
= 0 y
i
= 0
(2.7)
Para ello, se debe incorporar las restricciones de activaci on de las variables binarias:
x
1
M
1
y
1
x
2
M
2
y
2
x
3
M
3
y
3
(2.8)
Los valores M
i
son valores escalares lo sucientemente grandes de forma que sean una cota superior
para el valor de x
i
en el contexto del problema. La restriccion (2.8) activa la variable binaria ya que
si x
i
> 0, para que la restriccion se pueda satisfacer la variable binaria y
i
debe ser exactamente igual
a 1. En el caso que x
i
= 0, la variable binaria y
i
puede o no valer 1 sin afectar la satisfaccion de la
restriccion, sin embargo, si la variable binaria valiera 1 se estara considerando el costo de arriendo
de una maquinaria que no se esta empleando. Evidentemente, como el problema es de maximizacion
de ganancias, si no es estrictamente necesario cuanticar un costo, el algoritmo de resolucion se en-
cargara de hacer que la variable y
i
= 0 en el optimo. En otras palabras, si el problema no obliga a
considerar un costo, el algoritmo de resolucion se encargara de no contabilizarlo.
La funcion objetivo correspondera a la diferencia entre los ingresos por venta, menos los costos de
produccion jos y variables:
z = (12x
1
+ 8x
2
+ 15x
3
)

Ingresos por venta
(6x
1
+ 4x
2
+ 8x
3
)

Costos variables
(200y
1
+ 150y
2
+ 100y
3
)

Costos jos
(2.9)
Por lo tanto, la funcion objetivo a maximizar queda:
z = 6x
1
+ 4x
2
+ 7x
3
200y
1
150y
2
100y
3
(2.10)
5
Segundo Semestre 2003 Programaci on Lineal Entera
A continuacion es preciso construir las restricciones del problema. En este caso existe un disponi-
bilidad maxima de mano de obra y de tela. La restriccion de mano de obra queda:
3x
1
+ 2x
2
+ 6x
3
150 (2.11)
y la de tela sera:
4x
1
+ 3x
2
+ 4x
3
160 (2.12)
Las restricciones (2.11) y (2.12) nos permiten estimar el valor de M
i
. Por ejemplo si solo se produ-
jeran artculos de tipo 1, el valor maximo a producir quedara controlado por: mn{
150
3
,
160
4
}, es decir,
40. Luego, basta con escoger M
1
= 40, pero en general podra ser cualquier valor mayor. En el caso de
x
2
controla
160
3
y para x
3
basta con M
3
= 25. En terminos generales los valores de M
i
solo deben ser
lo sucientemente grandes para no restringir los valores de x
i
por lo que se escogera arbitrariamente
M
1
= M
2
= M
3
= 100.
De acuerdo a la seleccion anterior, el modelo nal para el problema queda:
max z = 6x
1
+ 4x
2
+ 7x
3
200y
1
150y
2
100y
3
s.t. 3x
1
+ 2x
2
+ 6x
3
150
4x
1
+ 3x
2
+ 4x
3
160
x
1
M
1
y
1
x
2
M
2
y
2
x
3
M
3
y
3
x
i
Z
+
i = 1 . . . 3
y
i
= {0, 1} i = 1 . . . 3
(2.13)
2.3. Problemas de Cubrir Conjuntos
Ejemplo 3 Existen 6 barrios en una ciudad. La Alcalda debe determinar c omo construir estaciones
de bomberos. La Alcalda desea construir el n umero mnimo de estaciones de bomberos de forma de
asegurar que al menos una estaci on este 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 asignacion del menor n umero de estaciones de bomberos
de forma de cubrir un conjunto de Barrios. Para construir el IP, conviene denir las siguientes
variables:
6
Segundo Semestre 2003 Programaci on Lineal Entera
x
i
=

1 se construye una estacion de bomberos en el barrio i


0 en caso contrario
i = 1 . . . 6 (2.14)
De acuerdo a las variables denidas, el total de estaciones a construir queda denido por:
z =
6

i=1
x
i
(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 estacion 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
logica 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 construccion de estaciones de bomberos
Luego, para asegurar la condicion solicitada para el Barrio 1 se puede agregar:
x
1
+ x
2
1 (2.16)
Incorporando las restricciones para los otros barrios se completa el IP:
max z = x
1
+ x
2
+ x
3
+ x
4
+ x
5
+ x
6
s.t. x
1
+ x
2
1 (Barrio 1)
x
1
+ x
2
+ x
6
1 (Barrio 2)
x
3
+ x
4
1 (Barrio 3)
x
3
+ x
4
+ x
5
1 (Barrio 4)
x
4
+ x
5
+ x
6
1 (Barrio 5)
x
2
+ x
5
+ x
6
1 (Barrio 6)
x
i
= {0, 1} i = 1 . . . 6
(2.17)
2.4. Problemas con restricciones excluyentes o no excluyentes
En un modelo matematico puede ocurrir frecuentemente que existan dos o mas restricciones que
sean mutuamente excluyentes, por ejemplo sean las restricciones:
f(x
1
, x
2
, . . . x
n
) 0 (2.18)
g(x
1
, x
2
, . . . x
n
) 0 (2.19)
7
Segundo Semestre 2003 Programaci on Lineal Entera
Si se desea que solo sea satisfecha una de las restricciones, se puede modicar el planteo de las
restricciones de la siguiente forma:
f(x
1
, x
2
, . . . x
n
) My (2.20)
g(x
1
, x
2
, . . . x
n
) M(1 y) (2.21)
donde y es una variable binaria y M es una constante lo sucientemente grande para asegurar que las
restricciones:
f(x
1
, x
2
, . . . x
n
) M
g(x
1
, x
2
, . . . x
n
) M
se satisfacen para toda combinacion de valores de x
1
, x
2
, . . . x
n
. Por lo tanto, si y = 1 se tiene que
f M y g 0, es decir, solo existe para efectos practicos las restriccion asociada a g. En caso
contrario, si y = 0 se tiene que f 0 y g M, por lo tanto solo existe la restriccion f en terminos
practicos.
Si se deseara que al menos una de las restricciones fuera satisfecha, el planteo quedara:
f(x
1
, x
2
, . . . x
n
) My
1
g(x
1
, x
2
, . . . x
n
) My
2
y
1
+ y
2
1
donde y
1
e y
2
son variables binarias independientes. La idea anterior se puede extender a cualquier
n umero de restricciones.
Ejemplo 4 Una f abrica de autom oviles construye tres tipos de autos: compactos, medianos y grandes.
Los requerimientos de materiales, mano de obra y el benecio obtenido por cada tipo de auto fabricado
se muestra en el Cuadro 2.5. Actualmente, la f abrica dispone 6000 toneladas de materiales y 60000
horas de mano de obra. Para que la producci on de un tipo de vehculo sea econ omicamente factible,
se deben producir al menos 1000 unidades de cada tipo que se fabrique. Formule un IP que permita
maximizar el benecio de la f abrica.
Compacto Mediando Grande
Materiales [T] 1,5 3 5
Mano de obra [hr] 30 25 40
Benecio [US$] 2000 3000 4000
Cuadro 2.5: Requerimientos y benecios por tipo de vehculo.
Como variables de decision conviene emplear:
x
i
= n umero de automoviles de tipo i fabricados (2.22)
La funcion objetivo queda denida por la combinacion lineal de las variables por sus respectivos
benecios unitarios (en miles):
max z = 2x
1
+ 3x
2
+ 4x
3
(2.23)
8
Segundo Semestre 2003 Programaci on Lineal Entera
A continuacion se debe agregar la restriccion que obligue a que si se produce un determinado tipo
de vehculo, se produzcan como mnimo 1000 unidades, es decir:
x
i
0 o x
i
1000 i = 1 . . . 3 (2.24)
O bien:
x
i
0 o 1000 x
i
0 i = 1 . . . 3 (2.25)
Introduciendo la variable binaria y
i
, las restricciones quedan:
x
i
M
i
y
i
(2.26)
1000 x
i
M
i
(1 y
i
) (2.27)
y
i
= {0, 1} (2.28)
Un valor posible para M
i
se puede obtener a partir de la disponibilidad de materiales y de mano
de obra, por ejemplo para los vehculos compactos sera: M
1
= mn{
6000
1,5
,
60000
30
} = 2000. Siguiendo la
misma logica se puede obtener: M
2
= 2000 y M
3
= 1200.
Por otro lado, se deben incorporar las restricciones relativas a la disponibilidad de materiales y
mano de obra:
1,5x
1
+ 3x
2
+ 5x
3
6000 (Materiales)
30x
1
+ 25x
2
+ 40x
3
60000 (Mano de Obra)
(2.29)
Finalmente, el IP queda:
max z = 2x
1
+ 3x
2
+ 4x
3
s.t. x
1
2000y
1
1000 x
1
2000(1 y
1
)
x
2
2000y
2
1000 x
2
2000(1 y
2
)
x
3
1200y
3
1000 x
3
1200(1 y
3
)
1,5x
1
+ 3x
2
+ 5x
3
6000
30x
1
+ 25x
2
+ 40x
3
60000
x
i
Z
+
i = 1 . . . 3
y
i
= {0, 1} i = 1 . . . 3
(2.30)
2.5. Problemas con restricciones de tipo si... entonces
En un modelo matematico puede ocurrir que si la restriccion:
f(x
1
, x
2
, . . . x
n
) > 0 (2.31)
se satisface, entonces la restriccion:
g(x
1
, x
2
, . . . x
n
) 0 (2.32)
9
Segundo Semestre 2003 Programaci on Lineal Entera
tenga tambien que satisfacerse, mientras que si f 0 la restriccion g 0 pueda o no satisfacerse.
Para garantizar esta condicion se pueden incorporar las siguientes restricciones:
g(x
1
, x
2
, . . . x
n
) My (2.33)
f(x
1
, x
2
, . . . x
n
) 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 x
1
, x
2
, . . . x
n
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 fabrica de automoviles si se fabrican
autos compactos no se pueden fabricar vehculos de otro tipo. En otras palabras se tiene:
Si x
1
> 0 x
2
= x
3
= 0 (2.36)
En forma equivalente se tiene:
Si x
1
> 0 x
2
+ x
3
0 o x
2
x
3
0 (2.37)
Por lo tanto, basta incorporar:
x
2
+ x
3
My (2.38)
x
1
M(1 y) (2.39)
y = {0, 1} (2.40)
El valor de M no tiene porque ser unico. En este caso, podemos emplear los valores de M
i
calculados
previamente:
x
2
+ x
3
(M
2
+ M
3
)y = 3200y (2.41)
x
1
M
1
(1 y) = 2000(1 y) (2.42)
y = {0, 1} (2.43)
2.6. Problemas con funciones lineales denidas por tramos
Una funcion lineal denida por tramos corresponde a un conjunto de segmentos rectos. Los puntos
donde se producen cambios de pendiente se denominan puntos de quiebre. Sea f(x) una funcion lineal
por tramos con puntos de quiebre b
1
, b
2
, . . . b
n
, para cualquier k = 1, 2, . . . n, b
k
x b
k+1
. Entonces,
para alg un n umero z
k
(0 z
k
1), x puede ser escrito como:
x = z
k
b
k
+ (1 z
k
)b
k+1
(2.44)
Como f(x) es lineal para b
k
x b
k+1
, se puede escribir:
10
Segundo Semestre 2003 Programaci on Lineal Entera
f(x) = z
k
f(b
k
) + (1 z
k
)f(b
k+1
) (2.45)
La expresion anterior representa una parametrizacion entre los valores extremos de la funcion en
ese intervalo, en terminos del parametro z
k
1. La idea geometrica se ilustra en la Figura 2.1.
f(x)
x b
1
b
2
b
3
f(b
2
)
f(b
3
)
Figura 2.1: Funcion lineal por tramos
La funcion objetivo puede ser escrita como:
f(x) = z
1
f(b
1
) + z
2
f(b
2
) + . . . + z
n
f(b
n
) (2.46)
Evidentemente, se debe cumplir que z
k+1
+ z
k
= 1 para alg un k. Sea y
k
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:
z
1
y
1
z
2
y
1
+ y
2
z
3
y
2
+ y
3
.
.
.
z
n1
y
n2
+ y
n1
z
n
y
n1
(2.47)
Por lo tanto, si la variable x esta en el intervalo k, se tiene y
k
= 1 y solo z
k
y z
k+1
pueden ser
distintas de cero. Evidentemente, la variable x solo puede pertenecer a un intervalo:
y
1
+ y
2
+ . . . + y
n1
= 1 (2.48)
Como z
k+1
= 1 z
k
, se debe agregar la restriccion:
z
1
+ z
2
+ . . . + z
n
= 1 (2.49)
De acuerdo a la ecuacion (2.44) se tiene:
x = z
1
b
1
+ z
2
b
2
+ . . . + z
n
b
n
(2.50)
Para ilustrar la incorporacion de funciones lineales denidas por tramos consideremos el siguiente
ejemplo:
11
Segundo Semestre 2003 Programaci on Lineal Entera
Ejemplo 5 Una renera produce dos tipos de gasolina a partir de dos tipos de petr oleos. Cada gal on
de gasolina tipo 1 debe contener a lo menos 50 % de petr oleo 1 y cada gal on de gasolina tipo 2 debe
contener al menos 60 % de petr oleo tipo 1. Cada gal on de gasolina tipo 1 puede ser vendido a $12 y
cada gal on de tipo 2 puede ser vendido a $14. Actualmente se dispone de 500 galones de petr oleo tipo
1 y 1000 galones de petr oleo de tipo 2. Se puede comprar hasta 1500 galones adicionales de petr oleo
tipo 1 al siguiente precio: los primeros 500 galones se deben pagar a $25 el gal on; los siguientes 500
galones se deben pagar a $20 el gal on; los siguientes 500 galones se compran a $15 el gal on. Formule
un IP que permita determinar la forma de maximizar las utilidades.
Para plantear el modelo se pueden denir las siguientes variables:
x = cantidad de petroleo tipo 1 comprado
x
ij
= cantidad de petroleo de tipo i empleado para producir gasolina de tipo j
(2.51)
La funcion objetivo queda:
max z = 12(x
11
+ x
21
) + 14(x
12
+ x
22
) c(x) (2.52)
donde:
c(x) =

25x 0 x 500
25x + 2500 500 x 1000
15x + 7500 1000 x 1500
(2.53)
La restriccion relativa a la disponibilidad de petroleo tipo 1 queda:
x
11
+ x
12
x + 500 (2.54)
La restriccion relativa a la disponibilidad de petroleo tipo 2 queda:
x
21
+ x
22
1000 (2.55)
Para obligar que la gasolina tipo 1 tenga al menos un 50 % de petroleo tipo 1 se agrega:
x
11
x
11
+ x
21
0,5 (2.56)
Para obligar que la gasolina tipo 2 tenga al menos un 60 % de petroleo tipo 1 se agrega:
x
12
x
12
+ x
22
0,6 (2.57)
En la funcion objetivo se reemplaza c(x) por:
c(x) = 0z
1
+ c(500)z
2
+ c(1000)z
3
+ c(1500)z
4
c(x) = 12500z
2
+ 22500z
3
+ 30000z
4
(2.58)
El valor de la variable x se calcula seg un:
x = 0z
1
+ 500z
2
+ 1000z
3
+ 1500z
4
(2.59)
Las variables continuas z
k
se relacionan con las binarias y
k
se un:
z
1
y
1
z
2
y
1
+ y
2
z
3
y
2
+ y
3
z
4
y
3
(2.60)
12
Segundo Semestre 2003 Programaci on Lineal Entera
Ademas se tiene que:
z
1
+ z
2
+ z
3
+ z
4
= 1
y
1
+ y
2
+ y
3
= 1
(2.61)
Finalmente se agrega la naturaleza de las variables:
z
i
0 i = 1 . . . 4
y
j
= {0, 1} j = 1 . . . 3
x
kr
0 k r
(2.62)
3. Resoluci on de IP - Metodo de Ramicaci on y Acotamiento
El metodo de ramicacion y acotamiento consiste en una tecnica de enumeracion eciente de los
puntos factibles de subproblemas de un cierto problema original. Evidentemente, si se resuelve la
relajacion de un problema de programacion lineal entera pura o mixta y se encuentra que todas las
variables que deben ser enteras o binarias cumplen la condicion de enteridad, el optimo encontrado
sera tambien el optimo del IP original. Por ejemplo si se resuelve la relajacion del siguiente problema:
Ejemplo 6
max z = 3x
1
+ 2x
2
s.t. 2x
1
+ x
2
6
x
1
, x
2
Z
+
(3.1)
se obtiene como solucion: x
1
= 0, x
2
= 6 y z = 12, que corresponde exactamente a la solucion del IP
original. Tal como se ve en la Figura 3.1, la region factible del IP es un subconjunto de la relajacion,
por lo tanto el optimo del IP no puede ser mejor que el optimo de su relajacion. La generalizacion de
esta idea es el principio basico del metodo de ramicacion y acotamiento.
0 1 2 3
0
1
2
3
4
5
6
x
1
x
2
2
x
1
+
x
2
=
6
= punto en la region factible
Figura 3.1: Region Factible del ejemplo 3.1
Para ilustrar como opera la tecnica, consideremos el siguiente ejemplo:
Ejemplo 7 Una mueblera 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 mueblera 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 benecio de la mueblera.
Consideremos:
x
1
= n umero de mesas fabricadas
x
2
= n umero de sillas fabricadas
(3.2)
Como x
1
y x
2
deben ser enteras, el IP que resuelve el problema queda:
max z = 8x
1
+ 5x
2
s.t. x
1
+ x
2
6
9x
1
+ 5x
2
45
x
1
, x
2
Z
+
(3.3)
En primer lugar se resuelve la relajacion del IP, llamaremos a este problema el Subproblema 1:
Subproblema 1:

max z = 8x
1
+ 5x
2
s.t. x
1
+ x
2
6
9x
1
+ 5x
2
45
x
1
, x
2
0
(3.4)
La resolucion graca del Subproblema 1 se muestra en la Figura 3.2. En este caso, la solucion
optima corresponde al punto x
1
=
15
4
= 3,75 y x
2
=
9
4
= 2,25, con valor de la funcion objetivo z =
165
4
.
Como se menciono anteriormente, la solucion del IP no puede ser mejor a la del IP relajado, por lo
que z =
165
4
es una Cota Superior para la funcion objetivo.
0 1 2 3 4 5 6
0
1
2
3
4
5
6
7
8
9
x
1
x
2
x
1
+
x
2
=
6
9
x
1
+
5
x
2
=
4
5
optimo
Figura 3.2: Region Factible del Subproblema 1
El proximo paso es seleccionar una particion de la region factible de la relajacion de forma de
intentar obtener la solucion optima del IP. Para ello, arbitrariamente se escoge una variable que no
satisfaga las condiciones del IP, es decir, una variable fraccionaria que debera ser entera, por ejemplo
x
1
. Como se busca un valor entero para x
1
interesa que x
1
3 o bien que x
1
4, ya que no puede
haber una solucion factible entera en el intervalo 3 < x
1
< 4, en otras palabras se buscan soluciones
14
Segundo Semestre 2003 Programaci on Lineal Entera
en los valores enteros mas cercanos al valor fraccionario obtenido. De acuerdo a ello, ramicaremos la
variable x
1
deniendo los siguientes subproblemas:
Subproblema 2: Subproblema 1 + restriccion: x
1
3
Subproblema 3: Subproblema 1 + restriccion: x
1
4
(3.5)
Notese que ambos subproblemas excluyen el valor x
1
=
15
4
, es decir, la solucion optima de los
subproblemas no puede ser igual al de la relajacion. Por otro lado, como se esta resolviendo un
problema mas restrictivo que la relajacion original el valor de la funcion objetivo no puede ser mejor.
La ramicacion de las variables se ordena en un arbol de ramicaci on como se muestra en la
Figura 3.3. La region factible del subproblema 2 se muestra en la Figura 3.4. Los puntos extremos de
la region factible: D, E, F y G son los candidatos a optimos, evaluando se obtiene: z
D
= 0, z
E
= 24,
z
F
= 39 y z
G
= 30, por lo que la mejor solucion corresponde al punto F (x
1
= 3, x
2
= 3), con valor de
la funcion objetivo: z = 39. En este caso, la solucion obtenida satisface las condiciones de enteridad,
por lo que es posible denir como cota superior z = 39.
Subproblema 1
z =
165
4
x
1
=
15
4
x
2
=
9
4
Subproblema 2 Subproblema 3
x
1
3 x
1
4
Figura 3.3:

Arbol de ramicacion subproblemas 2 y 3
0 1 2 3 4 5 6
0
1
2
3
4
5
6
7
8
9
x
1
x
2
x
1
+
x
2
=
6
9
x
1
+
5
x
2
=
4
5
x
1
=
3
D E
F
G
Figura 3.4: Region Factible del subproblema 2
Si bien la solucion obtenida del subproblema 2 satisface todas las condiciones del problema, debe-
mos completar la ramicacion ya que a un hay esperanzas de obtener una solucion 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 region factible del subproblema 3
se muestra en la gura 3.5. Los puntos extremos de la region factible son: A, B y C, con respectivos
valores de la funcion objetivo: z
A
= 40, z
B
= 32 y z
C
= 41. Por lo tanto el optimo corresponde a:
x
1
= 4 y x
2
=
9
5
, valor que no satisface la condicion de enteridad.
0 1 2 3 4 5 6
0
1
2
3
4
5
6
7
8
9
x
1
x
2
x
1
+
x
2
=
6
9
x
1
+
5
x
2
=
4
5
x
1
=
4
B A
C
Figura 3.5: Region Factible del subproblema 3
Si bien hasta ahora se dispone de una solucion entera con valor de la funcion objetivo de 39, en
el subproblema 3 se obtuvo como valor optimo: z = 41. Si bien el subproblema 3 no representa una
solucion factible para el IP, al ramicar a partir de este problema se podra esperar un valor de la
funcion objetivo que sea menor o igual a 41 pero que podra ser mejor que 39, por lo que no se puede
dar como nalizada las ramicaciones. De acuerdo a ello, podemos denir dos nuevos subproblemas
a partir el subproblema 3. Como la variable x
2
=
9
5
no es entera, conviene buscar valores con las
siguientes particiones de la region factible: x
2
1 y x
2
2. En otras palabras, se deben resolver los
siguientes subproblemas:
Subproblema 4: Subproblema 3 + restriccion: x
2
1
Subproblema 5: Subproblema 3 + restriccion: x
2
2
(3.6)
El arbol de ramicacion con los dos nuevos subproblemas se muestra en la Figura 3.6. La region
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 funcion objetivo: z
H
= 37 y z
I
=
365
9
=
40,556. Entre los puntos A, B, H e I, el mejor valor se obtiene para el punto I con x
1
=
40
9
y x
2
= 1.
Respecto del subproblema 5 se observa que no existen puntos que satisfagan simultaneamente las
restricciones del subproblema 3 y x
2
2, por lo que tiene solucion imposible.
Como la solucion optima del subproblema 4 es superior a la cota, es necesario volver a ramicar
ya que eventualmente se podra encontrar una solucion que sea menor o igual a z =
365
9
, pero mejor
que z = 39. En este caso, la variable no entera es x
1
=
40
9
, por lo que conviene denir los siguientes
subproblemas:
Subproblema 6: Subproblema 4 + restriccion: x
1
4
Subproblema 7: Subproblema 4 + restriccion: x
1
5
(3.7)
16
Segundo Semestre 2003 Programaci on Lineal Entera
Subproblema 1
z =
165
4
x
1
=
15
4
x
2
=
9
4
Subproblema 2
z = 39
x
1
= 3
x
2
= 3
Subproblema 3
z = 41
x
1
= 4
x
2
=
9
5
x
1
3 x
1
4
Subproblema 4 Subproblema 5
x
2
1 x
2
2
Figura 3.6:

Arbol de ramicacion subproblemas 4 y 5
0 1 2 3 4 5 6
0
1
2
3
4
5
6
7
8
9
x
1
x
2
x
1
+
x
2
=
6
9
x
1
+
5
x
2
=
4
5
x
1
=
4
B A
x
2
= 2
x
2
= 1 I H
Figura 3.7: Region Factible del subproblemas 4 y 5
El nuevo arbol de ramicacion se muestra en la Figura 3.8. Se agregan las nuevas restricciones
referentes a x
1
y se completa la region factible para los subproblemas 6 y 7 en la Figura 3.9. En este
caso, la region factible para el subproblema 6 se reduce al segmento de lnea entre los puntos B y H,
con valores para la funcion objetivo de: z
B
= 32 y z
H
= 37, por lo que el optimo corresponde al punto
H. Como en el punto H los valores de las variables son enteros, se podra pensar que H es un candidato
a optimo. Sin embargo, el valor de la funcion objetivo en H es inferior a la cota denida 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 funcion objetivo z = 40. Como en el subproblema 7 el valor de las variables
es entero (x
1
= 5 y x
2
= 0) y dado que el valor de la funcion objetivo es mejor que la cota actual,
40 se transforma en la nueva cota. Como el subproblema 6 presenta un valor de la funcion objetivo
17
Segundo Semestre 2003 Programaci on Lineal Entera
inferior a la cota, no tiene sentido seguir ramicando pues se ha alcanzado el optimo del IP. El arbol
de ramicacion completo se muestra en la Figura 3.10 donde se identica la solucion optima.
Subproblema 1
z =
165
4
x
1
=
15
4
x
2
=
9
4
Subproblema 2
z = 39
x
1
= 3
x
2
= 3
Subproblema 3
z = 41
x
1
= 4
x
2
=
9
5
x
1
3 x
1
4
Subproblema 4
z =
365
9
x
1
=
40
9
x
2
= 1
Subproblema 5
Imposible
x
2
1
x
2
2
Subproblema 6 Subproblema 7
x
1
4 x
1
5
Figura 3.8:

Arbol de ramicacion subproblemas 6 y 7
0 1 2 3 4 5 6
0
1
2
3
4
5
6
7
8
9
x
1
x
2
x
1
+
x
2
=
6
9
x
1
+
5
x
2
=
4
5
x
1
=
4
B A
x
2
= 1
x
1
=
5
H
Figura 3.9: Region Factible del subproblemas 6 y 7
18
Segundo Semestre 2003 Programaci on Lineal Entera
Subproblema 1
z =
165
4
x
1
=
15
4
x
2
=
9
4
Subproblema 2
z = 39
x
1
= 3
x
2
= 3
Subproblema 3
z = 41
x
1
= 4
x
2
=
9
5
x
1
3 x
1
4
Subproblema 4
z =
365
9
x
1
=
40
9
x
2
= 1
Subproblema 5
Imposible
x
2
1
x
2
2
Subproblema 6
z = 37
x
1
= 4
x
2
= 1
Subproblema 7
z = 40
x
1
= 5
x
2
= 0
x
1
4
x
1
5
Figura 3.10:

Arbol de ramicacion nal
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 x
1
, x
2
y x
3
y la variable continua
x
4
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 x
1
, x
2
y x
3
signica 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 tecnica de ramicaci 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

x
1
= 0.2
x
2
= 1
x
3
= 0
x
4
= 0
z = 82.80
(3.8)
En la solucion del subproblema 1 el valor de la variable x
1
no satisface la condicion de binaria, por
lo tanto se ramica en funcion de los valores que puede tomar:
Subproblema 2: Subproblema 1 + (x
1
= 0)
Subproblema 3: Subproblema 1 + (x
1
= 1)
(3.9)
De acuerdo al Cuadro 3.1 se tiene:
Subproblema 2

x
1
= 0
x
2
= 1
x
3
= 0.67
x
4
= 0
z = 80.67
(3.10)
Subproblema 3

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

x
1
= 0
x
2
= 1
x
3
= 0
x
4
= 2
z = 28.00
(3.13)
Subproblema 5

x
1
= 0
x
2
= 0.8
x
3
= 1
x
4
= 0
z = 79.40
(3.14)
El subproblema 4 presenta una solucion 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 funcion objetivo superior
20
Segundo Semestre 2003 Programaci on Lineal Entera
a la cota pero no cumple todas las condiciones del problema original. Dado los valores obtenidos, se
debe ramicar seg un los valores posibles de la variable binaria x
2
:
Subproblema 6: Subproblema 1 + (x
1
= 0) + (x
3
= 1) + (x
2
= 0)
Subproblema 7: Subproblema 1 + (x
1
= 0) + (x
3
= 1) + (x
2
= 1)
(3.15)
Los valores optimos para cada subproblema se obtiene del Cuadro 3.1:
Subproblema 6

x
1
= 0
x
2
= 0
x
3
= 1
z = Imposible
(3.16)
Subproblema 7

x
1
= 0
x
2
= 1
x
3
= 1
x
4
= 0.5
z = 77.00
(3.17)
En este caso, la solucion 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 solucion no factible
con valor de la funcion objetivo mejor que la cota actual, la solucion del subproblema 7 es el optimo.
El arbol de ramicacion completo se muestra en la Figura 3.11.
21
Segundo Semestre 2003 Programaci on Lineal Entera
Subproblema 1
x
1
= 0.2
x
2
= 1
x
3
= 0
x
4
= 0
z = 82.80
Subproblema 2
x
1
= 0
x
2
= 1
x
3
= 0.67
x
4
= 0
z = 80.67
Subproblema 3
x
1
= 1
x
2
= 0
x
3
= 0
x
4
= 0
z = 74.00
x
1
= 0 x
1
= 1
Subproblema 4
x
1
= 0
x
2
= 1
x
3
= 0
x
4
= 2
z = 28
Subproblema 5
x
1
= 0
x
2
= 0.8
x
3
= 1
x
4
= 0
z = 79.4
x
3
= 0 x
3
= 1
Subproblema 6
Imposible
Subproblema 7
x
1
= 0
x
2
= 1
x
3
= 1
x
4
= 0.5
z = 77
x
2
= 0
x
2
= 1
Figura 3.11:

Arbol de ramicacion completo Ejemplo 8
22
Segundo Semestre 2003 Programaci on Lineal Entera
4. Ejercicios
Ejercicio 1 Considere el problema de distribuci on de artculos desde tres centros productores a dos
centros consumidores. Los artculos pueden ser transportados entre cada centro productor y cada centro
consumidor considerando dos rutas posbiles. La utilizaci on de cada ruta tiene asociada un costo jo
que es independiente de la cantidad de artculos transportados por esa ruta. La siguiente tabla presenta
las capacidades de producci on, las demandas estimadas, el costo jo por la utilizaci on de cada ruta y
el costo de transporte de un artculo desde cada centro productor a cada centro consumidor.
Destino
1 2
Origen Ruta Costo jo Costo unitario Costo jo 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. Dena claramente
variables, funci on objetivo y restricciones.
Variables:
x
ijk
: Cantidad transportada entre el origen i y el destino j a traves de la ruta k; i =
1, 2, 3; j = 1, 2; k = a, b.
y
ijk
=

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.
Funcion objetivo:
Min z = 3 x
11a
+ 2 x
11b
+ 9 x
12a
+ 8 x
12b
+
5 x
21a
+ 4 x
21b
+ 12 x
22a
+ 10 x
22b
+
7 x
31a
+ 6 x
31b
+ 16 x
32a
+ 14 x
32b
+
10 y
11a
+ 20 y
11b
+ 12 y
12a
+ 24 y
12b
+
15 y
21a
+ 25 y
21b
+ 16 y
22a
+ 32 y
22b
+
30 y
31a
+ 35 y
31b
+ 18 y
32a
+ 36 y
32b
Restricciones:
Ofertas:
23
Segundo Semestre 2003 Programaci on Lineal Entera
x
11a
+ x
11b
+ x
12a
+ x
12b
200
x
21a
+ x
21b
+ x
22a
+ x
22b
400
x
31a
+ x
31b
+ x
32a
+ x
32b
600
Demandas:
x
11a
+ x
11b
+ x
21a
+ x
21b
+ x
31a
+ x
31b
= 300
x
12a
+ x
12b
+ x
22a
+ x
22b
+ x
32a
+ x
32b
= 500
Activacion de variables:
x
ijk
M y
ijk
; i = 1, 2, 3; j = 1, 2; k = a, b
Valores posibles para las variables:
x
ijk
0; i = 1, 2, 3; j = 1, 2; k = a, b
y
ijk
{0, 1}; i = 1, 2, 3; j = 1, 2; k = a, b
Ejercicio 2 Una f abrica se dedica a la producci on de aceite de cocina a partir de aceites vegetales
y aceites no vegetales. Cada aceite requiere un proceso de renamiento diferente. La f abrica tiene
capacidad para renar 210 litros de aceite vegetal y 260 litros de aceite no vegetal. Los aceites renados
son mezclados pudiendo venderse a $180 el litro del producto nal. No existe perdida de aceite en los
procesos de renamiento y mezcla y el costo de estos procesos puede ser ignorado. Existe una restricci on
tecnica 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 jo por ordenar al proveedor 1 de $2,000 y al proveedor 2 de $2,500, independiente
de la variedad y cantidad de aceite ordenado.
Finalmente, las siguientes condiciones se imponen sobre la producci on de aceite:
24
Segundo Semestre 2003 Programaci on Lineal Entera
el producto nal no puede estar compuesto de m as de tres variedades de los aceites originales,
cualquier aceite, si es usado, debe usarse por lo menos 30 litros, y
si alg un aceite vegetal es usado debe usarse alg un aceite no vegetal.
Formule un modelo de programaci on lineal mixta que permita determinar la cantidad de cada tipo
de aceite que debe comprarse a cada proveedor de manera de maximizar las ganancias satisfaciendo
todas las condiciones del problema. Dena claramente variables, funci on objetivo y restricciones.
Variables:
x
ij
: Cantidad de aceite tipo i comprada al proveedor j; i = 1, . . . , 5, j = 1, 2
y
ij
=

1, si se compra aceite tipo i a proveedor j; i = 1, . . . , 5, j = 1, 2


0, si no
z
j
=

1, si se compra a proveedor j; j = 1, 2
0, si no
w
i
=

1, si se compra aceite tipo i; i = 1, . . . , 5


0, si no
Funcion objetivo (10 %):
Max z = 180
5

i=1
2

j=1
x
ij
2,000 z
1
2,500 z
2
115 x
11
128 x
21
132 x
31
109 x
41
114 x
51
110 x
12
130 x
22
125 x
32
108 x
42
116 x
52
Restricciones:
Capacidad de renamiento:
x
11
+ x
21
+ x
12
+ x
22
210
x
31
+ x
41
+ x
51
+ x
32
+ x
42
+ x
52
260
Calidad:
8, 8x
11
+ 6, 2x
21
+ 1, 9x
31
+ 4, 3x
41
+ 5, 1x
51
+ 8, 5x
12
+ 6, 4x
22
+ 1, 5x
32
+ 4, 2x
42
+ 5, 2x
52

5
i=1

2
j=1
x
ij
3, 5
8, 8x
11
+ 6, 2x
21
+ 1, 9x
31
+ 4, 3x
41
+ 5, 1x
51
+ 8, 5x
12
+ 6, 4x
22
+ 1, 5x
32
+ 4, 2x
42
+ 5, 2x
52

5
i=1

2
j=1
x
ij
6, 2
Activacion de variables:
x
ij
M y
ij
; i = 1, . . . , 2; j = 1, 2
25
Segundo Semestre 2003 Programaci on Lineal Entera
Si se compra a cada proveedor:
5

i=1
y
ij
5 z
j
; j = 1, 2
Mnimo a comprar:
x
ij
30 y
ij
; i = 1, . . . , 5; j = 1, 2
Utilizacion aceite tipo i:
2

j=1
y
ij
2 w
i
; i = 1, 5
Cantidad maxima de aceites originales:
5

i=1
w
i
3
Usar alg un aceite no vegetal si se usa alg un aceite vegetal:
w
1
w
3
+ w
4
+ w
5
w
2
w
3
+ w
4
+ w
5
Valores posibles para las variables:
x
ij
0; i = 1, . . . , 5; j = 1, 2
y
ij
{0, 1}; i = 1, . . . , 5; j = 1, 2
w
i
{0, 1}; i = 1, . . . , 5
z
j
{0, 1}; j = 1, 2
Ejercicio 3 Teniendo en cuenta el pr oximo termino de la guerra, la Organizaci on de las Naciones
Unidas, ONU, continua estudiando futuras polticas 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
atenderan 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 debera 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 mnimo
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. Dena claramente variables, funci on objetivo y restricciones.
26
Segundo Semestre 2003 Programaci on Lineal Entera
Comunidad Comunidad de la Capacidad
Escuela taliban alianza del norte maxima Costo
1 2 3 1 2 [personas] [10
3
US$]
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
Poblacion 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 = 60x
1
+ 80x
2
+ 70x
3
100y
1
150y
2
100y
3
Sujeto a
13x
1
+ 18x
2
+ 15x
3
800
16x
1
+ 10x
2
+ 8x
3
600
x
1
+ x
2
+ x
3
15
x
1
10y
1
0
x
2
10y
2
0
x
3
10y
3
0
x
1
, x
2
, x
3
0
y
1
, y
2
, y
3
{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 y
1
, y
2
e y
3
signica 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: Solucion de todos los problemas relajados posibles
1. Resuelva este problema aplicando la tecnica de ramicaci on y acotamiento. Explque y justique
claramente cada uno de los pasos.
2. Considerando en general la resoluci on de problemas de Programaci on Lineal Entera, indque si
las siguientes armaciones son verdaderas o falsas justicando claramente:
27
Segundo Semestre 2003 Programaci on Lineal Entera
a) La soluci on optima a un problema de programaci on lineal entrega x
1
= 2, 58 y x
2
= 1, 32.
Si x
1
y x
2
est an restringidas a tomar valores enteros, entonces x
1
= 3 y x
2
= 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 x
1
= 3 y x
2
= 5 con z = 150 ha sido encontrada para un
problema de programaci on lineal entera. Para su relajaci on de programci on lineal, el rango
de optimalidad para el coeente c
1
est a entre 15 y 30 con un coeciente actual de 20. Si
c
1
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

También podría gustarte