Ejemplo (problemas primal y dual del carpintero). Un

Anuncio
Ejemplo (problemas primal y dual del carpintero).
Un carpintero modesto fabrica dos tipos de mesas de madera. Cada mesa
del tipo 1 necesita 4 horas de mecanizado primario (preparación de piezas) y
4 horas de mecanizado secundario (ensamblado y barnizado). Análogamente,
cada mesa del tipo 2 necesita 3 horas de mecanizado primario y 7 horas de
mecanizado secundario.
Las disponibilidades diarias de mecanizados primario y secundario son
respectivamente de 40 y 56 horas-máquina. La venta de una mesa del tipo
1 reporta un beneficio de 70 dólares, mientras que la venta de una mesa del
tipo 2 de 90 dólares. El objeto de este problema es determinar el número
de mesas de cada tipo que han de producirse diariamente para maximizar el
beneficio obtenido.
Solución:
Primero ordenamos los datos en una tabla:
Horas Mec.
Prim.
Sec.
Variables
x1
4
4
(mesas)
x2
3
7
Horas (Max.)
40
56
Ahora escribimos el problema lineal:
Maximizar z = 70x1 + 90x2
sujeta a
4x1 + 3x2 ≤ 40
4x1 + 7x2 ≤ 56
Escribimos el problema en forma de ecuación agregando variables de holgura:
1
Maximizar z = 70x1 + 90x2
sujeta a
4x1 + 3x2 + x3 = 40
4x1 + 7x2 + x4 = 56
Escribimos la tabla simplex:
Básica x1
z
-70
x3
4
4
x4
x2 x3
-90 0
3
1
7
0
x4
0
0
1
Solución
0
40
56
La tabla es consistente porque x1 y x2 son no básicas (x1 = 0, x2 = 0)
Iteración
0
entra x2
sale x4
1
entra x1
sale x3
2
óptima
Básica
x1
x2
z
-70
-90
x3
4
3
x4
4
7
z
-18.57 0
x3
2.29
0
x2
0.57
1
z
0
0
x1
1
0
x2
0
1
x3
x4
Solución
0
0
0
1
0
40
0
1
56
0
12.86
720
1
-0.43
16
0
0.14
8
8.13 9.38
850
0.44 -0.19
7
-0.25 0.25
4
Por lo tanto el carpintero de fabricar 7 mesas del tipo 1, 4 del tipo 2 y su
ganancia será de $850.
Para escribir el dual, reescribamos el primal como
Maximizar z = 70x1 + 90x2 + 0x3 + 0x4
sujeta a
4x1 + 3x2 + x3 + 0x4 = 40
4x1 + 7x2 + 0x3 + x4 = 56
2
Según las reglas que ya se enunciaron resulta:
Minimizar w
sujeta a
4y1 + 4y2
3y1 + 7y2
y1 + 0y2
0y1 + y2
y1 , y 2
= 40y1 + 56y2
≥
≥
≥
≥
70
90
0
0
no restringidas
Reordenando resulta
Minimizar w
sujeta a
4y1 + 4y2
3y1 + 7y2
y1 , y 2
= 40y1 + 56y2
≥ 70
≥ 90
≥ 0
Para resolver el problema, tenemos que escribirlo en forma de ecuación,
Minimizar w
sujeta a
4y1 + 4y2 − y3 + R1
3y1 + 7y2 − y4 + R2
yk
= 40y1 + 56y2
= 70
= 90
≥ 0 ∀k
Resolveremos el problema por el método de dos fases. Primero resolvemos:
3
Minimizar r
sujeta a
4y1 + 4y2 − y3 + R1
3y1 + 7y2 − y4 + R2
yk
= R1 + R2
= 70
= 90
≥ 0 ∀k
Escribimos la tabla simplex:
Básica y1
r
0
R1
4
3
R2
y2
0
4
7
y3
0
-1
0
y4
0
0
-1
R1
-1
1
0
R2
-1
0
1
Solución
0
70
90
que no es consistente, esto se soluciona sumando las filas R1 y R2 a la fila r:
Básica y1
r
7
R1
4
3
R2
y2 y3
11 -1
4 -1
7 0
y4
-1
0
-1
R1
0
1
0
R2
0
0
1
Solución
160
70
90
ahora podemos empezar a iterar.
Fase 1
Iteración
0
entra y2
sale R2
1
entra y1
sale R1
2
óptima
Básica
r
R1
R2
r
R1
y2
r
y1
y2
y1
y2
y3
y4
R1
R2
Solución
7
11
-1
-1
0
0
160
4
4
-1
0
1
0
70
3
7
0
-1
0
1
90
2.29 0
-1
0.57
0
-1.57
18.57
2.29 0
-1
0.57
1
-0.57
18.57
0.43 1
0
-0.14
0
0.14
12.86
0
0
0
0
-1
-1
0
1
0 -0.44 0.25 0.44 -0.25
8.13
0
1 0.19 -0.25 -0.19 0.25
9.38
4
Ahora el problema tiene la forma
Minimizar w
sujeta a
y1 − 0.44y3 + 0.25y4
y2 + 0.19y3 − 0.25y4
yk
= 40y1 + 56y2
= 8.13
= 9.38
≥ 0 ∀k
Fase 2
Iteración
0
consistente?
Iteración
1
óptima
Básica y1
z
-40
y1
1
y2
0
Básica y1
z
0
y1
1
y2
0
y2
y3
y4
Solución
-56
0
0
0
0 -0.44 0.25
8.13
1
0.19 -0.25
9.38
y2
y3
y4
Solución
0
-7
-4
850
0 -0.44 0.25
8.13
1
0.19 -0.25
9.38
Entonces, la solución del problema dual es y1 = 8.13, y2 = 9.38 y w = 850.
Como vemos, las funciones objetivo primal y dual tienen el mismo valor en
el óptimo zop = wop .
¿Cómo obtenemos los valores del problema dual a partir del primal?
Metodo 1
Valores óptimos
de las variables duales


Vector fila de los coeficientes
Inversa
primal
×
objetivos originales de las
=
óptima
variables básicas óptimas primales
dual
(y1 , y2 ) =
70, 90
×
0.44 −0.19
−0.25 0.25
5
= (8.13, 9.38)
primal
40, 56
(x1 , x2 ) =
×
0.44 −0.25
−0.19 0.25
= (7, 4)
Método 2
Coeficiente z-primal óptimo
de cualquier variables xj
=
Lado izquierdo de la
j-ésima restricción dual
−
Lado derecho de la
j-ésima restricción dual
8.13 = y1 − 0
9.38 = y2 − 0
x3 :
x4 :
Cálculos de columnas de restricción.
Columna de restricción
en la iteración i
=
Columna y1 óptima
Columna y3 óptima
=
Inversa en la
iteración i
Columna original
×
de restricción
0.44 −0.25
−0.19 0.25
=
0.44 −0.25
−0.19 0.25
6
×
×
−1
0
4
3
= (1, 0)
= (−0.44, 0.19)
(Fómula 1)
Descargar