Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Investigacon de Operaciones Ejemplo S
Investigacon de Operaciones Ejemplo S
Investigacion de Operaciones 1
Programacion 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 = 3x1 + 2x2
s.t. x1 + x2 6
x1 , x2 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 = 3x1 + 2x2
s.t. x1 + x2 6
x2 0
x1 Z +
(1.2)
(1.3)
El concepto de relajacion de un problema de programacion lineal entera (IP) juega un rol fundamental en la resolucion 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 relajacion de (1.1) quedara:
max z = 3x1 + 2x2
s.t. x1 + x2 6
x1 , x2 0
De la misma forma, la relajacion de (1.3) queda:
(1.4)
Programaci
on Lineal Entera
max 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 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 = 21x1 + 11x2
s.t. 7x1 + 4x2 13
x1 , x2 Z +
(1.6)
La region factible del problema relajado se presenta en la figura 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, x2 = 3.
x2
3,0
2,5
7x 1
x2
+4
2,0
1,5
13
1,0
0,5
0
x1
Programaci
on Lineal Entera
puede obtener redondeando el valor obtenido de la relajacion hacia abajo: x 1 = 1, x2 = 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 problema 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
1 se invierte en la opcion j
xj =
j = 1...4
(2.1)
0 en caso contrario
La funcion objetivo para el problema queda (en miles):
max
(2.2)
(2.3)
(2.4)
Programaci
on Lineal Entera
1.
2.
3.
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:
2.2.
(2.5)
Programaci
on Lineal Entera
Poleras
Shorts
Pantalones
Tela [yd2 ]
4
3
4
Precio de Venta U S$
12
8
15
Costo Variable U S$
6
4
8
(2.7)
(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 restriccion (2.8) activa la variable binaria ya que
si xi > 0, para que la restriccion 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 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 cuantificar un costo, el algoritmo de resolucion se encargara 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 resolucion se encargara de no contabilizarlo.
La funcion objetivo correspondera a la diferencia entre los ingresos por venta, menos los costos de
produccion fijos y variables:
z = (12x1 + 8x2 + 15x3 ) (6x1 + 4x2 + 8x3 ) (200y1 + 150y2 + 100y3 )
{z
} |
{z
} |
{z
}
|
(2.9)
(2.10)
Costos variables
Costos fijos
Programaci
on Lineal Entera
A continuacion es preciso construir las restricciones del problema. En este caso existe un disponibilidad maxima de mano de obra y de tela. La restriccion de mano de obra queda:
3x1 + 2x2 + 6x3 150
(2.11)
(2.12)
y la de tela sera:
Las restricciones (2.11) y (2.12) nos permiten estimar el valor de M i . Por ejemplo si solo se produ160
jeran artculos de tipo 1, el valor maximo a producir quedara controlado por: mn{ 150
3 , 4 }, es decir,
40. Luego, basta con escoger M1 = 40, pero en general podra ser cualquier valor mayor. En el caso de
x2 controla 160
erminos generales los valores de Mi solo deben ser
3 y para x3 basta con M3 = 25. En t
lo suficientemente grandes para no restringir los valores de xi por lo que se escogera arbitrariamente
M1 = M2 = M3 = 100.
De acuerdo a la seleccion anterior, el modelo final para el problema queda:
max z = 6x1 + 4x2 + 7x3 200y1 150y2 100y3
s.t. 3x1 + 2x2 + 6x3 150
4x1 + 3x2 + 4x3 160
x 1 M 1 y1
x 2 M 2 y2
x 3 M 3 y3
xi Z + i = 1 . . . 3
yi = {0, 1} i = 1 . . . 3
2.3.
(2.13)
Barrio 1
10
20
30
30
20
Barrio 2
10
25
35
20
10
Hasta
Barrio 3 Barrio 4
20
30
25
35
15
15
30
15
20
25
Barrio 5
30
20
30
15
14
Barrio 6
20
10
20
25
14
0
xi =
Programaci
on Lineal Entera
i = 1...6
(2.14)
De acuerdo a las variables definidas, el total de estaciones a construir queda definido por:
z=
6
X
xi
(2.15)
i=1
Para construir las restricciones, es preciso obtener del Cuadro 2.3 en que lugares es factible construir la estaciones de bomberos para asegurar que cada barrio quede a menos de 15 minutos de al
menos una de ellas. Por ejemplo, para asegurar que al menos una estacion quede a menos de 15 minutos del Barrio 1 se debe construir en el propio Barrio 1 o bien en el Barrio 2. Siguiendo la misma
logica se construye el Cuadro 2.4.
Barrio
1
2
3
4
5
6
(2.16)
2.4.
(2.17)
En un modelo matematico puede ocurrir frecuentemente que existan dos o mas restricciones que
sean mutuamente excluyentes, por ejemplo sean las restricciones:
f (x1 , x2 , . . . xn ) 0
(2.18)
g(x1 , x2 , . . . xn ) 0
(2.19)
Programaci
on Lineal Entera
Si se desea que solo sea satisfecha una de las restricciones, se puede modificar el planteo de las
restricciones de la siguiente forma:
f (x1 , x2 , . . . xn ) M y
(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 combinacion de valores de x1 , x2 , . . . xn . 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 (x1 , x2 , . . . xn ) M y1
g(x1 , x2 , . . . xn ) M y2
y1 + y 2 1
donde y1 e y2 son variables binarias independientes. La idea anterior se puede extender a cualquier
n
umero de restricciones.
Ejemplo 4 Una f
abrica de autom
oviles construye tres tipos de autos: compactos, medianos y grandes.
Los requerimientos de materiales, mano de obra y el 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 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 beneficio de la f
abrica.
Materiales [T]
Mano de obra [hr]
Beneficio [U S$]
Compacto
1,5
30
2000
Mediando
3
25
3000
Grande
5
40
4000
(2.22)
La funcion objetivo queda definida por la combinacion lineal de las variables por sus respectivos
beneficios unitarios (en miles):
max z = 2x1 + 3x2 + 4x3
8
(2.23)
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:
xi 0 o xi 1000
i = 1...3
(2.24)
O bien:
xi 0 o 1000 xi 0
i = 1...3
(2.25)
(2.26)
(2.27)
(2.28)
(2.29)
Finalmente, el IP queda:
max z = 2x1 + 3x2 + 4x3
s.t.
x1
1000 x1
x2
1000 x2
x3
1000 x3
1,5x1 + 3x2 + 5x3
30x1 + 25x2 + 40x3
xi
yi
2.5.
2000y1
2000(1 y1 )
2000y2
2000(1 y2 )
1200y3
1200(1 y3 )
6000
60000
Z+ i = 1 . . . 3
{0, 1} i = 1 . . . 3
(2.30)
(2.31)
g(x1 , x2 , . . . xn ) 0
(2.32)
Programaci
on Lineal Entera
(2.33)
(2.34)
(2.35)
El valor de M debe ser escogido de tal forma que si f M y g M se asegure que todos los
valores de x1 , x2 , . . . xn satisfagan las restricciones. Si la variable binaria vale cero, se tiene f M ,
en particular f > 0. Por otro lado, si y = 0 se tiene g 0 o bien g 0. En caso contrario, cuando
y = 1 se tiene f 0, es decir, no se puede cumplir que f > 0. Si y = 1 se tiene g M , es decir, se
cumple si g 0 o si g < 0.
En suma, si se satisface f > 0, la variable binaria debe valer 1 lo que obliga a satisfacer g 0.
A modo de ejemplo, supongamos que en el problema de la fabrica de automoviles si se fabrican
autos compactos no se pueden fabricar vehculos de otro tipo. En otras palabras se tiene:
Si x1 > 0
x 2 = x3 = 0
(2.36)
x2 + x3 0 o
x 2 x3 0
(2.37)
(2.38)
(2.39)
(2.40)
2.6.
(2.41)
(2.42)
(2.43)
Una funcion 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 funcion lineal
por tramos con puntos de quiebre b1 , b2 , . . . bn , para cualquier k = 1, 2, . . . n, bk x bk+1 . Entonces,
para alg
un n
umero zk (0 zk 1), x puede ser escrito como:
x = zk bk + (1 zk )bk+1
Como f (x) es lineal para bk x bk+1 , se puede escribir:
10
(2.44)
Programaci
on Lineal Entera
(2.45)
La expresion anterior representa una parametrizacion entre los valores extremos de la funcion en
ese intervalo, en terminos del parametro zk 1. La idea geometrica se ilustra en la Figura 2.1.
f (x)
f (b3 )
f (b2 )
b1
b2
b3
(2.46)
(2.47)
(2.48)
(2.49)
(2.50)
Para ilustrar la incorporacion de funciones lineales definidas por tramos consideremos el siguiente
ejemplo:
11
Programaci
on Lineal Entera
Ejemplo 5 Una refinera 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
xij
(2.51)
(2.52)
donde:
0 x 500
25x
25x + 2500 500 x 1000
c(x) =
(2.53)
(2.54)
(2.55)
Para obligar que la gasolina tipo 1 tenga al menos un 50 % de petroleo tipo 1 se agrega:
x11
0,5
x11 + x21
Para obligar que la gasolina tipo 2 tenga al menos un 60 % de petroleo tipo 1 se agrega:
x12
0,6
x12 + x22
En la funcion objetivo se reemplaza c(x) por:
c(x) = 0z1 + c(500)z2 + c(1000)z3 + c(1500)z4
c(x) = 12500z2 + 22500z3 + 30000z4
(2.56)
(2.57)
(2.58)
(2.59)
y1
y1 + y2
y2 + y3
y3
12
(2.60)
Programaci
on Lineal Entera
(2.61)
3.
(2.62)
Resoluci
on de IP - M
etodo de Ramificaci
on y Acotamiento
(3.1)
5
2x 1
+x
2
=6
2
1
0
3 x1
Programaci
on Lineal Entera
mesa genera una utilidad de U S$8, cada silla representa una utilidad de U S$5. Formule y resuelva un
IP para maximizar el beneficio de la mueblera.
Consideremos:
x1 = n
umero de mesas fabricadas
x2 = n
umero de sillas fabricadas
(3.2)
(3.3)
En primer lugar se resuelve la relajacion del IP, llamaremos a este problema el Subproblema 1:
s.t.
x1 + x2 6
(3.4)
Subproblema 1:
9x1 + 5x2 45
x1 , x2 0
La resolucion grafica del Subproblema 1 se muestra en la Figura 3.2. En este caso, la solucion
9
optima corresponde al punto x1 = 15
on objetivo z = 165
4 = 3,75 y x2 = 4 = 2,25, con valor de la funci
4 .
Como se menciono anteriormente, la solucion del IP no puede ser mejor a la del IP relajado, por lo
on objetivo.
que z = 165
4 es una Cota Superior para la funci
x2
9
9x 1
x2
+5
45
optimo
4
3
x1
+
x2
=
0
0
x1
Programaci
on Lineal Entera
en los valores enteros mas cercanos al valor fraccionario obtenido. De acuerdo a ello, ramificaremos la
variable x1 definiendo los siguientes subproblemas:
Subproblema 2:
Subproblema 3:
Subproblema 1 + restriccion: x1 3
Subproblema 1 + restriccion: x1 4
(3.5)
x1 4
Subproblema 2
Subproblema 3
45
x1 = 3
x2
+5
4
3
F
x1
+
x2
D
0
1
E
1
x1
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 figura 3.5. Los puntos extremos de la region factible son: A, B y C, con respectivos
valores de la funcion objetivo: zA = 40, zB = 32 y zC = 41. Por lo tanto el optimo corresponde a:
x1 = 4 y x2 = 95 , valor que no satisface la condicion de enteridad.
x2
9
9x 1
x2
45
x1
x1 = 4
x2
+5
=
6
4
3
C
2
1
B
0
0
A
4
x1
Subproblema 3 + restriccion: x2 1
Subproblema 3 + restriccion: x2 2
(3.6)
El arbol de ramificacion 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 zI = 365
9 =
40,556. Entre los puntos A, B, H e I, el mejor valor se obtiene para el punto I con x 1 = 40
y
x
2 = 1.
9
Respecto del subproblema 5 se observa que no existen puntos que satisfagan simultaneamente las
restricciones del subproblema 3 y x2 2, por lo que tiene solucion imposible.
Como la solucion optima del subproblema 4 es superior a la cota, es necesario volver a ramificar
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 x1 = 40
,
por
lo
que
conviene
definir
los siguientes
9
subproblemas:
Subproblema 6:
Subproblema 7:
Subproblema 4 + restriccion: x1 4
Subproblema 4 + restriccion: x1 5
16
(3.7)
Programaci
on Lineal Entera
Subproblema 1
165
z =
4
15
x1 =
4
9
x2 =
4
x1 3
x1 4
Subproblema 2
z =
39
x1 =
3
x2 =
3
Subproblema 3
z =
41
x1 =
4
9
x2 =
5
x2 1
x2 2
Subproblema 4
Subproblema 5
x2
45
x1
x1 = 4
x2
+5
=
6
4
3
x2 = 2
x2 = 1
0
0
A
4
x1
Programaci
on Lineal Entera
inferior a la cota, no tiene sentido seguir ramificando pues se ha alcanzado el optimo del IP. El arbol
de ramificacion completo se muestra en la Figura 3.10 donde se identifica la solucion optima.
Subproblema 1
165
z =
4
15
x1 =
4
9
x2 =
4
x1 3
x1 4
Subproblema 2
z =
39
x1 =
3
x2 =
3
Subproblema 3
z =
41
x1 =
4
9
x2 =
5
x2 1
x2 2
Subproblema 4
365
z =
9
40
x1 =
9
x2 =
1
Subproblema 5
Imposible
x1 4
x1 5
Subproblema 6
Subproblema 7
x2
45
x1
x1 = 4
x2
+5
x1 = 5
4
3
2
x2 = 1
H
B
0
0
A
4
x1
18
Programaci
on Lineal Entera
Subproblema 1
165
z =
4
15
x1 =
4
9
x2 =
4
x1 3
x1 4
Subproblema 2
z =
39
x1 =
3
x2 =
3
Subproblema 3
z =
41
x1 =
4
9
x2 =
5
x2 1
x2 2
Subproblema 4
365
z =
9
40
x1 =
9
x2 =
1
Subproblema 5
Imposible
x1 5
x1 4
Subproblema 6
z =
37
x1 =
4
x2 =
1
Subproblema 7
z =
40
x1 =
5
x2 =
0
x2
0
0
0
1
1
1
x3
0
1
0
1
0
1
x
(0.2,1,0,0)
(0.2,1,0,0)
(0,0.8,1,0)
(0.7,0,0,0)
(0.7,0,0,0)
(0.4,0,1,0)
(0.2,1,0,0)
(0.2,1,0,0)
(0,1,1,0.5)
z
82.80
82.80
79.40
81.80
81.80
78.60
82.80
82.80
77.00
x1
0
0
0
0
0
0
0
0
0
x2
0
0
0
1
1
1
x3
0
1
0
1
0
1
x
(0,1,0.67,0)
(0,1,0,2)
(0,0.8,1,0)
Imposible
Imposible
Imposible
(0,1,0.67,0)
(0,1,0,2)
(0,1,1,0.5)
z
80.67
28.00
79.40
80.67
28.00
77.00
x1
1
1
1
1
1
1
1
1
1
x2
0
0
0
1
1
1
x3
0
1
0
1
0
1
x
(1,0,0,0)
(1,0,0,0)
(1,0,1,0)
(1,0,0,0)
(1,0,0,0)
(1,0,1,0)
(1,1,0,0)
(1,1,0,0)
(1,1,1,0)
z
74.00
74.00
63.00
74.00
74.00
63.00
62.00
62.00
51.00
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:
x1 = 0.2
1
x2 =
x3 =
0
(3.8)
Subproblema 1
x
=
0
4
z = 82.80
Subproblema 1 + (x1 = 0)
Subproblema 1 + (x1 = 1)
(3.9)
x1
x2
x3
Subproblema 2
4
z
x1
x2
x3
Subproblema 3
4
z
=
0
=
1
= 0.67
=
0
= 80.67
(3.10)
=
1
=
0
=
0
=
0
= 74.00
(3.11)
(3.12)
x1
x2
x3
Subproblema 4
4
z
x1
x2
x3
Subproblema 5
4
z
=
0
=
1
=
0
=
2
= 28.00
(3.13)
=
0
= 0.8
=
1
=
0
= 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
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 7:
Los valores optimos para cada subproblema se obtiene del Cuadro 3.1:
x1 =
0
x2 =
0
Subproblema 6
x
=
1
z = Imposible
x1 =
0
x
=
1
2
x3 =
1
Subproblema 7
x
=
0.5
z = 77.00
(3.15)
(3.16)
(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 ramificacion completo se muestra en la Figura 3.11.
21
Programaci
on Lineal Entera
Subproblema 1
x1 =
0.2
x2 =
1
x3 =
0
x4 =
0
z = 82.80
x1 = 0
x1 = 1
Subproblema 2
x1 =
0
x2 =
1
x3 = 0.67
x4 =
0
z = 80.67
x3 = 0
Subproblema 3
x1 =
1
x2 =
0
x3 =
0
x4 =
0
z = 74.00
x3 = 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
x2 = 1
x2 = 0
Subproblema 7
x1 =
0
x2 =
1
x3 =
1
x4 =
0.5
z =
77
Subproblema 6
Imposible
22
4.
Programaci
on Lineal Entera
Ejercicios
Origen
1
Ruta
a
b
2
a
b
3
a
b
Demanda
Destino
1
2
Costo fijo Costo unitario Costo fijo Costo unitario
10
3
12
9
20
2
24
8
15
5
16
12
25
4
32
10
30
7
18
16
35
6
36
14
300
500
Oferta
200
400
600
i = 1, 2, 3; j = 1, 2; k = a, b.
Funcion objetivo:
Restricciones:
Ofertas:
23
Programaci
on Lineal Entera
Demandas:
Activacion 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 perdida de aceite en los
procesos de refinamiento 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:
Proveedor 1
Proveedor 2
Costo
Calidad
Costo
Calidad
vegetal 1
115
8,8
110
8,5
vegetal 2
128
6,2
130
6,4
Aceites
no vegetal 1 no vegetal 2
132
109
1,9
4,3
125
108
1,5
4,2
no vegetal 3
114
5,1
116
5,2
Programaci
on Lineal Entera
wi =
1, si se compra a proveedor j; j = 1, 2
0, si no
1, si se compra aceite tipo i; i = 1, . . . , 5
0, si no
M ax z = 180
5 X
2
X
i=1 j=1
115 x11 128 x21 132 x31 109 x41 114 x51
110 x12 130 x22 125 x32 108 x42 116 x52
Restricciones:
Capacidad de refinamiento:
Calidad:
8, 8x11 + 6, 2x21 + 1, 9x31 + 4, 3x41 + 5, 1x51 + 8, 5x12 + 6, 4x22 + 1, 5x32 + 4, 2x42 + 5, 2x52
P5 P 2
i=1
j=1 xij
8, 8x11 + 6, 2x21 + 1, 9x31 + 4, 3x41 + 5, 1x51 + 8, 5x12 + 6, 4x22 + 1, 5x32 + 4, 2x42 + 5, 2x52
P5 P 2
i=1
j=1 xij
Activacion de variables:
xij M yij ; i = 1, . . . , 2; j = 1, 2
25
3, 5
6, 2
Programaci
on Lineal Entera
yij 5 zj ; j = 1, 2
i=1
Mnimo a comprar:
xij 30 yij ; i = 1, . . . , 5; j = 1, 2
Utilizacion aceite tipo i:
2
X
yij 2 wi ; i = 1, 5
j=1
wi 3
i=1
Usar alg
un aceite no vegetal si se usa alg
un aceite vegetal:
w1 w 3 + w 4 + w 5
w2 w 3 + w 4 + w 5
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
Escuela
1
2
3
4
5
Poblacion
estudiantil
Programaci
on Lineal Entera
Comunidad
taliban
1
2
3
20 km
12 km
10 km
15 km
18 km
8 km
25 km
17 km
18 km
10 km
13 km
9 km
14 km
28 km
14 km
600
550
500
[personas] [personas] [personas]
Comunidad de la
alianza del norte
1
2
4 km
5 km
6 km
9 km
7 km
3 km
9 km
4 km
8 km
7 km
1.200
1.100
[personas] [personas]
Capacidad
maxima
[personas]
1.500
2.000
2.500
1.800
2.800
Costo
[103 U S$]
150
220
350
180
400
{0, 1}
y2
0
0
0
1
1
1
-
y3
0
1
0
1
0
1
-
x
(0, 0, 0,0,0,0)
(0, 0,10,0,0,1)
(0, 0,10,0,0,1)
(0,10, 0,0,1,0)
(0,10, 5,0,1,1)
(0,10, 5,0, 12 )
(0,10, 0,0,1,0)
(0, 5,10,0, 12 ,1)
(0,10, 5,0,1, 12 )
z
0
600
600
650
900
950
650
925
950
y1
1
1
1
1
1
1
1
1
1
y2
0
0
0
1
1
1
-
y3
0
1
0
1
0
1
-
x
(10, 0, 0,1,0,0)
( 5, 0,10,1,0,1)
(10, 0, 5,1,0, 12 )
( 5,10, 0,1,1,0)
( 0,10, 5,1,1,1)
( 5,10, 0,1,1,0)
( 5,10, 0,1,1,0)
( 0, 5,10,1, 12 ,1)
( 5,10, 0,1,1,0)
z
500
800
800
850
800
850
850
825
850
y1
-
y2
0
0
0
1
1
1
-
y3
0
1
0
1
0
1
-
x
(10,0,0,1,0,0)
(5,0,10, 12 ,0,1)
(5,0,10, 12 ,0,1)
(5,10,0, 12 ,1,0)
(0,10,5,0,1,1)
(0,10,5,0,1, 12 )
(5,10,0, 12 ,1,0)
(0,5,10,0, 12 ,1)
(0,10,5,0,1, 12 )
z
500
850
850
900
900
950
900
925
950
1.
2.
Programaci
on Lineal Entera
a)
La soluci
on o
ptima a un problema de programaci
on lineal entrega x 1 = 2, 58 y x2 = 1, 32.
Si x1 y x2 est
an restringidas a tomar valores enteros, entonces x1 = 3 y x2 = 1 es una
soluci
on factible pero no necesariamente o
ptima.
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 o
ptima x1 = 3 y x2 = 5 con z = 150 ha sido encontrada para un
problema de programaci
on lineal entera. Para su relajaci
on de programci
on lineal, el rango
de optimalidad para el 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 o
ptimo de la
funci
on objetivo ser
a de 153.
28