PROBLEMAS DE PROGRAMACIÓN LINEAL
PROBLEMA 5
La compañía de transportes "La perola negra" se ha diversificado introduciéndose en el
sector de la alimentación, produciendo alimentos mezclados de forma especial.
Actualmente ha recibido un pedido de 200 kilogramos como mínimo de una mezcla
constituida por dos ingredientes A y B. El primer ingrediente A, le cuesta a la compañía
300 u.m. (unidades monetarias) el kilogramo; el segundo ingrediente le cuesta 800
u.m./kg. La mezcla no puede contener más del 40% del ingrediente A y debe tener al
menos 30% de B.
En estas condiciones calcular:
a) Cantidad a utilizar de cada ingrediente en las mezcla para minimizar los costes.
b) ¿Dentro de qué intervalo podría variar el coste unitario del ingrediente A sin que
cambie por ello la solución óptima?
c) ¿Saldría rentable para el proceso de producción añadir a la mezcla un ingrediente C
sabiendo que el coste de éste es de 500 u.m./kg? Razónese.
d) ¿Qué pasaría si Sanidad impusiese que la cantidad máxima de antioxidante E-XX
presente en cada kilogramo de mezcla (por haberse descubierto recientemente que tiene
propiedades alucinógenas) fuese como máximo de 6 gramos, sabiendo que cada
kilogramo de ingrediente A contiene 10 gramos de E-XX y cada kilogramo de B
contiene 3 gramos?
SOLUCIÓN
a) Llamando X1: kg. de ingrediente A en la mezcla.
X2: kg. de ingrediente B en la mezcla.
La función de producción sería:
Min
Z = 300·X1 + 800·X2
S.a.
X1
X1
+
X2
X2
≥ 200
≤ 0’4 (X1+ X2)
≥0’3 (X1+ X2)
X1, X2 ≥0
Sin embargo, dado que se trata de un problema de minimización, el método de
resolución buscará que la cantidad de ingredientes fabricada sea lo más pequeña
posible, lo justo para que se cumpla la primera restricción. Por esta razón se puede
considerar que la suma de los ingredientes en el óptimo será de 200 Kg, por lo que el
problema se puede expresar de la siguiente manera:
Javier Osorio
1
PROBLEMAS DE PROGRAMACIÓN LINEAL
Min
Z = 300·X1 + 800·X2
S.a.
X1 + X 2
X1
X2
⎫
≥ 200
⎪
≤ 0,4 ⋅ 200 ⎬
≥ 0,3 ⋅ 200⎪⎭
X1 , X 2 ≥ 0
Que introduciendo variables de holgura quedaría:
Min
Z = 300·X1 + 800·X2
S.a.
X1 + X 2 − X 3
+ X4
X1
X2
− X5
= 200⎫
⎪
= 80 ⎬
= 60 ⎪⎭
Xj ≥ 0 ( j = 1, ... 5)
Vemos que no tenemos base inicial fácilmente identificable, por lo que recurriremos a
la utilización de variables artificiales y al método de dos fases.
1ª Fase:
Min
X0 = X6 + X7
S.a.
X1 + X 2 − X 3
X1
+ X4
X2
+ X6
− X5
+ X7
= 200⎫
⎪
= 80 ⎬
= 60 ⎪⎭
Xj ≥ 0 ( j = 1, ... 7) X6, X7: variables artificiales
Calculamos ahora los valores de la fila cero y de la columna de lado derecho para la
primera tabla Simplex.
⎧ X 6 ⎫ ⎧200⎫
⎪
⎪ ⎪ ⎪
X B = ⎨ X 4 ⎬ = ⎨ 80 ⎬
⎪ X ⎪ ⎪ 60 ⎪
⎭
⎩ 7⎭ ⎩
⎡1 1 − 1 0 0 1
⎢
A = ⎢1 0 0 1 0 0
⎢⎣ 0 1 0 0 − 1 0
2
0⎤
⎥
0⎥
1 ⎥⎦
Javier Osorio
PROBLEMAS DE PROGRAMACIÓN LINEAL
⎧ X1 ⎫
⎪⎪ X ⎪⎪
2
X N = ⎨ ⎬= 0
⎪X3 ⎪
⎪⎩ X 5 ⎪⎭
B = [ a6 , a4 , a7 ]
⎛1 ⎞
⎜ ⎟
Z1 − C1 = C B B −1 ⋅ a1 − C1 = ( 1, 0, 1) ⋅ ⎜1 ⎟ − 0 = 1
⎜ ⎟
⎝ 0⎠
⎛1 ⎞
⎜ ⎟
Z 2 − C2 = ( 1, 0, 1) ⋅ ⎜ 0⎟ − 0 = 2
⎜ ⎟
⎝1 ⎠
⎛ −1⎞
⎜ ⎟
Z 3 − C3 = ( 1, 0, 1) ⋅ ⎜ 0 ⎟ − 0 = − 1
⎜ ⎟
⎝ 0⎠
⎛ 0⎞
⎜ ⎟
Z5 − C5 = ( 1, 0, 1) ⋅ ⎜ 0 ⎟ − 0 = − 1
⎜ ⎟
⎝ −1⎠
⎛ 200⎞
⎜
⎟
Z = C B B −1 ⋅ b = ( 1, 0, 1) ⋅ ⎜ 80 ⎟ = 260
⎜
⎟
⎝ 60 ⎠
La primera tabla Simplex quedaría:
X0
X6
X4
X7
X1
1
1
1
0
X2
2
1
0
1
X3
-1
-1
0
0
X4
0
0
1
0
X5
-1
0
0
-1
Aplicando el algoritmo Simplex:
Z k − Ck = 2 ; k = 2 ; X 2 candidato a entrar en la base.
bn
=
yrk
⎧⎪ bi
⎫⎪
: yik > 0⎬ =
⎪⎭
⎩ ik
Min ⎨⎪ y
1≤ i ≤ m
Javier Osorio
Min {200,60} = 60
3
X6
0
1
0
0
X7
0
0
0
1
LD
260
200
80
60
PROBLEMAS DE PROGRAMACIÓN LINEAL
X 7 sale de la base; y32 es el pivote. Iterando sucesivamente se obtienen las siguientes
tablas:
X0
X6
X4
X2
X1
1
1
1
0
X2
0
0
0
1
X3
-1
-1
0
0
X4
0
0
1
0
X5
1
1
0
-1
X6
0
1
0
0
X7
-2
-1
0
1
LD
140
140
80
60
X0
X6
X1
X2
X1
0
0
1
0
X2
0
0
0
1
X3
-1
-1
0
0
X4
-1
-1
1
0
X5
1
1
0
-1
X6
0
1
0
0
X7
-2
-1
0
1
LD
60
60
80
60
X0
X5
X1
X2
X1
0
0
1
0
X2
0
0
0
1
X3
0
-1
0
-1
X4
0
-1
1
-1
X5
0
1
0
0
X6
-1
1
0
1
X7
-1
-1
0
0
LD
0
60
80
120
Solución óptima. Se han eliminado las variables artificiales, pasamos a resolver la 2ª
fase:
Min Z= 300·X1 + 800·X2
(las restricciones permanecen constantes)
⎛ −1⎞
⎜ ⎟
−1
Z3 - C3 = C B • B • a 3 − c3 = ( 0, 300, 800) ⋅ ⎜ 0 ⎟ = − 800
⎜ ⎟
⎝ −1⎠
⎛ −1⎞
⎜ ⎟
Z4 - C4 = ( 0, 300, 800 ) ⋅⎜ 1 ⎟ = -500
⎜ ⎟
⎝ −1⎠
⎛ 60 ⎞
⎜ ⎟
Z = C B • B −1 • b = ( 0, 300, 800) ⋅ ⎜ 80 ⎟ = 120.000
⎜ ⎟
⎝120⎠
La solución es óptima de entrada y no hace falta recurrir a la 2ª fase:
X1= 80 kg de A
X2 = 120 kg de B
Z = 120.000 u.m. de coste
4
Javier Osorio
PROBLEMAS DE PROGRAMACIÓN LINEAL
La tabla óptima sería:
Z
X5
X1
X2
X1
0
0
1
0
X2
0
0
0
1
X3
-800
-1
0
-1
X4
-500
-1
1
-1
X5
0
1
0
0
LD
120.000
60
80
120
b) Intervalo de variación del coste de A.
Se ha de cumplir que:
(Z3 - C3)’ = C B′ ⋅ B −1 ⋅ a 3 − C3 ≤ 0
⎛ − 1⎞
⎜ ⎟
(0, (300+∆1 ),800 )⋅⎜ 0 ⎟− 0 ≤ 0; ∆1 no restringido inferiormente
⎜ − 1⎟
⎝ ⎠
Inferiormente se puede decrementar ∆1 hasta -∞, lo cual es físicamente imposible, pero
sí puede disminuir el nuevo coste hasta cero, siendo óptima la solución con C’1=0
(Z4 - C4)’ = C B′ ⋅ B −1 ⋅ a 4 − C4 ≤ 0
(
⎛ −1⎞
⎜ ⎟
0, ( 300 + ∆ 1 ) , 800 ⋅ ⎜ 1 ⎟ − 0 ≤ 0
⎜ ⎟
⎝ −1⎠
)
300 + ∆1 - 800 ≤ 0
∆1 ≤ 500
Para 0 ≤ C1’ ≤ 300 + 500 la solución sigue siendo óptima.
c) ¿ Sale rentable añadir un ingrediente C ?
El nuevo problema sería:
Min Z= 300·X1 + 800·X2 + 500·X8
S.a.
Javier Osorio
5
PROBLEMAS DE PROGRAMACIÓN LINEAL
X 1 + X 2 + X 8 ≥ 200 ⎫
⎪
≤ 80⎬
X1
≥ 60 ⎪⎭
X2
X1, X2, X8 ≥ 0
X8 : kg. de ingrediente C en la mezcla.
Se trata únicamente de estudiar el valor:
Z8 - C8 = C B · B −1 · a8 − c8
Siendo: C B = ( 0, 300, 800)
y6
y4
y7
⎡1 − 1 − 1⎤
De la última tabla de la 1ª fase.
B = ⎢⎢0 1
0 ⎥⎥
⎢⎣1 − 1 0 ⎥⎦
−1
⎡ 1⎤
⎛ 1 − 1 − 1⎞ ⎛ 1⎞ ⎛ 1⎞
⎜
⎟ ⎜ ⎟ ⎜ ⎟
⎢ ⎥
−1
a 8 = ⎢ 0⎥ ; y8 = B a 8 = ⎜ 0 1
0 ⎟ ⋅ ⎜ 0⎟ = ⎜ 0⎟
⎜
⎟ ⎜ ⎟ ⎜ ⎟
⎢⎣ 0⎥⎦
⎝ 1 − 1 0 ⎠ ⎝ 0⎠ ⎝ 1⎠
⎡ 1 −1 −1⎤ ⎡ 1⎤
⎢
⎥⎢ ⎥
Z8 - C8 = [ 0, 300, 800] ⋅⎢ 0 1 0 ⎥ ⋅ ⎢ 0⎥ − 500 = 300 > 0; Sí es rentable.
⎢⎣ 1 −1 0 ⎥⎦ ⎢⎣ 0⎥⎦
Incorporamos esta variable a la tabla óptima anterior y calculamos la nueva solución del
problema.
La nueva tabla sería:
Z
X5
X1
X2
X1
0
0
1
0
X2
0
0
0
1
X3
-800
-1
0
-1
X4
-500
-1
1
-1
X5
0
1
0
0
X8
300
1
0
1
LD
120.000
60
80
120
X5
-300
1
0
-1
X8
0
1
0
0
LD
102.000
60
80
60
Iterando aplicando el algoritmo Simplex:
Z
X8
X1
X2
X1
0
0
1
0
X2
0
0
0
1
X3
-500
-1
0
0
X4
-200
-1
1
0
6
Javier Osorio
PROBLEMAS DE PROGRAMACIÓN LINEAL
X1 = 80 kg. de A
X2 = 60 kg. de B
X8 = 60 kg. de C
Z = 102.000 u.m.
Esta solución es mejor, en cuanto que se disminuyen los costes.
d) Limitación de antioxidante presente. Se trata de añadir otra restricción y comprobar
si ésta es vinculante o no.
10 ·X1 + 3·X2 ≤ 6·200
Con
X 1 = 80 ⎫
⎬ ⇒ 10·80 + 3·120 ≤ 6·200
X 2 = 120⎭
1160 ≤ 1200
Se cumple la desigualdad, luego nuestro proceso está dentro de la ley y no es necesario
cambiar la composición de la mezcla.
Javier Osorio
7
Descargar

PROBLEMA 5 La compañía de transportes "La perola negra" se ha