Repaso Programación Lineal Modelo Giepetto Variables de Decisión Función Objetivo x1 = número de soldados producidos cada semana x2 = número de trenes producidos cada semana Maximize z = 3x1 + 2x2 Restricciones: 1 En cada semana se dispone de un máximo de 100 hrs para terminado 2 x1 + x2 ≤ 100 2 En cada semana se dispone de a lo más 80 horas de carpintería x1 + x2 ≤ 80 3 A lo más se deben producir 40 soldados. x1 ≤ 40 Un conjunto de puntos S es un conjunto convexo si el segmento que une cualquier par de puntos en S está contenido totalmente en S. Para cualquier conjunto convexo S, un punto p en S es un punto extremo si cada segmento que está completamente en S que contiene el punto P tiene P como punto final del segmento Considere las figuras (a) – (d): A E B A B B A D C (a) (b) (c) (d) Max z = 3x1 + 2x2 (función objetivo) Sujeto a (s.a.): 2 x1 + x2 ≤ 100 (terminado) x1 + x2 ≤ 80 x1 ≤ 40 x2 ≥0 (máx demanda de soldados) (positivo) X2 100 ≥0 x1 (carpintería) B (positivo) finishing constraint Feasible Region 80 D demand constraint 60 G z = 100 40 carpentry constraint 20 F z = 180 z = 60 H E 10 20 40 A 50 60 C 80 X1 Se tiene que: La región factible para cualquier problema de PL será un conjunto convexo. La región factible para cualquier problema de PL tiene sólo un número finito de puntos extremos. Cualquier problema de PL que tiene una solución óptima tiene un punto extremo que es óptimo. Infinitas soluciones 60 B 50 max z = 3x1 + 2x2 X2 D Feasible Region 40 1 1 60 1 50 E z = 100 ⋅ x2 ≤ 1 z = 120 10 x1 , x2 ≥ 0 ⋅ x2 ≤ 1 20 50 ⋅ x1 + 1 30 40 ⋅ x1 + F z = 60 A 10 20 30 40 C 50 X1 Sin solución X2 60 No Feasible Region 50 x1 >= 0 max z = 3x1 + 2x2 40 50 ⋅ x1 + 1 60 1 50 ⋅ x2 ≤ 1 ⋅ x2 ≤ 1 20 x 1 ≥ 30 x2 >=0 30 1 ⋅ x1 + 40 s.a. 1 x 2 ≥ 20 No existe región factible 10 x1 , x2 ≥ 0 10 20 30 40 50 X1 No acotado, con soluciones factibles X2 Feasible Region 6 D 5 B z=4 4 max z = 2x1 – x2 s.t. 3 x1 – x2 ≤ 1 2x1 +x2 ≥ 6 2 x1, x2 ≥ 0 z=6 1 C A 1 2 3 4 5 6 X1 Forma Standard Problema de Programación Lineal: Método Simplex Min Z = CT X s.a. Min(-z) = -3x1 - 2x2 Ax = b x≥0 (función objetivo) Sujeto a (s.a.): 2 x1 + x2 + x3 x1 + x2 x1 xi = 100 (terminado) + x4 = 80 (carpintería) + x5 = 40 (máx demanda de soldados) ≥ 0, i=1,..,5 x3 , x4 ,x5 variables de holgura Tableau 1 del Ejemplo X3 X4 X5 Cj 0 0 0 Zj Cj-Zj X1 X2 X3 X4 X5 -3 -2 0 0 0 bi bi / aij 2 1 1 0 0 100 100/2 1 1 0 1 0 80 80/1 1 0 0 0 1 40 40/1 0 0 0 0 0 0 -3 -2 0 0 0 ↑ Z ↑ Tableau 2 del Ejemplo X3 X4 X1 Cj 0 0 X1 X2 X3 X4 X5 -3 -2 0 0 0 bi bi / aij 0 1 1 0 -2 20 20/1 0 1 0 1 -1 40 40/1 -3 1 0 0 0 1 Zj Cj-Zj -3 0 0 -2 0 0 0 0 -3 -120 3 ↑ Z ↑ 40 No acota ← Tableau 3 del Ejemplo Cj X1 X2 X3 X4 X5 -3 -2 0 0 0 bi bi / aij 20 No acota X2 -2 0 1 1 0 -2 X4 X1 0 -3 Zj Cj-Zj 0 1 -3 0 0 0 -2 0 -1 0 -2 2 1 0 0 0 1 20 20/1 1 40 40/1 1 -160 -1 ↑ ↑ Z ← Tableau 4 del Ejemplo X1 Cj X2 X5 X1 X2 -3+∆C1 -2 X3 X4 X5 0 0 0 bi -2 0 1 -1 2 0 60 0 0 0 -1 1 1 20 -3+∆C1 1 0 1 -1 0 20 Zj Cj-Zj C1 -2 -1+∆C1 -1-∆C1 0 -180+20∆C1 0 0 ↑ 0 1-∆C1 1+∆C1 Z bi / aij Análisis de Sensibilidad y Postoptimal Min z = c ·x s.a. Ax = b x≥0 Solución óptima: x*, z* , B* ♦ Sensibilidad: ¿cuánto puede variar el valor de un coeficiente, de modo que B* siga siendo óptima? ♦ Postoptimal: - uno de los coeficientes asume un nuevo valor - obtener nueva solución óptima de la anterior Análisis de Sensibilidad y Postoptimal Teorema de Holgura complementaria x solución factible para (P) y solución factible para (D) ( Ai . x - bi ) yi = 0 i =1,...., m x óptimo para (P) ( cj - y A .j ) xj = 0 j =1,...., n y óptimo para (D) Factibilidad primal ( b ≥ 0 ) optimalidad dual Optimalidad primal ( c ≥ 0 ) factibilidad dual Condiciones Holgura complementaria Análisis de Sensibilidad y Postoptimal Max z = 6x1 + 3x2 + 2x3 Productos • Trigo (x1) [hq] • Alfalfa (x2) [hq] x1 + x2 +x3 ≤ 36 •Maíz [hq] x1 + x2 + 4x3 ≤ 24 (x3 ) Recursos • Tierra [ha] s.a. ≤ 18 x1 (1) (2) (3) x1, x2 ≥ 0 • Mano Obra [hh] Demanda máxima trigo =18 F.O. = ingreso total • ¿plan de producción temporada? 1 [q] = 4 [@] = 46 [kg] b (B*) –1 z* = 126 x4 12 1 -1 0 x2 6 0 1 -1 x1 18 0 0 1 Precio maíz (c3) puede tener variaciones ¿cuánto podría variar sin modificar composición del plan óptimo? X4 X2 X1 Cj 0 3 6 Zj Cj-Zj X1 6 0 0 1 6 0 X2 X3 X4 3 2 0 0 -3 1 1 4 0 0 0 0 3 12 0 0 -10 0 X5 0 -1 1 0 3 -3 X6 0 0 -1 1 3 b 12 6 18 -3 126 X4 X2 X1 Cj 0 3 6 Zj Cj-Zj X1 6 0 0 1 6 0 X2 X3 3 C3 0 -3 1 4 0 0 3 12 0 C3-12 X4 0 1 0 0 0 0 X5 X6 0 0 -1 0 1 -1 0 1 3 3 -3 -3 b 12 6 18 126 c3 −12 ≤ 0 Mientras Utilidad c3 se mantenga bajo 12 Nada_ Pasa. Pero si crece sobre los $ 12, entonces DEBIERA entrar a la base Análisis PostOptimal para C3 Se tiene el rango de insignificancia para C3 ≤12 Si C'3 vale 15? X4 X2 X1 Cj 0 3 6 Zj Cj-Zj X1 6 0 0 1 6 0 X2 3 0 1 0 3 0 X3 15 -3 4 0 12 3 X4 0 1 0 0 0 0 X5 0 -1 1 0 3 -3 X6 0 0 -1 1 3 b 12 6 18 -3 126 Análisis PostOptimal para C3 Se tiene el rango de insignificancia para C3 ≤12 Si C'3 vale 15? X4 X3 X1 Cj 0 15 6 Zj Cj-Zj X1 X2 6 3 0 3/4 0 1/4 1 1 6 39/4 0 -3-15/4 X3 15 0 1 0 15 0 X4 0 1 0 0 0 0 X5 X6 0 0 b 3/4 -3/4 33/2 1/4 -1/4 3/2 0 1 18 15/4 9/4 -15/4 -9/4 130,5 X4 X2 X1 Cj 0 C2 6 Zj Cj-Zj X1 6 0 0 1 6 0 X2 X3 C2 2 0 -3 1 4 0 0 C2 4C2 0 2-4C2 X4 X5 X6 0 0 0 b 1 -1 0 12 0 1 -1 6 0 0 1 18 0 C2 6-C2 0 -C2 C2-6 108+6C2 ¿y si el precio de la alfalfa (c2) varia? 2-4c2 -c2 ≤ 0 Mientras Utilidad c3 se mantenga bajo 12 Nada_ Pasa. Pero si crece sobre los $ 12, entonces DEBIERA entrar a la base ≤ 0 c2 −6 ≤ 0 /2 ≤ precio ≤ 6 1 x4 x2 x1 b 12 6 18 (B*) –1 1 -1 0 1 0 0 z* = 126 0 -1 1 Precio maíz (c3) puede tener variaciones ¿cuánto podría variar sin modificar composición del plan óptimo? π* = cB*T (B*)–1. ck - π* A.k = 0 ck - π* A.k < 0 Max z = 6x1 + 3x2 + 2x3 Cambios en los coeficientes del lado derecho: s.a. La variación afecta una restricción no activa ●La variación afecta una restricción activa ● x1 + x2 +x3 ≤ 36 x1 + x2 + 4x3 ≤ 24 Rango de Factibilidad: - Restricción ≤ solución nueva = sol + Δ bi (columna var holgura i ) X4 X2 X1 Cj 0 3 6 Zj Cj-Zj X1 6 0 0 1 6 0 X2 X3 X4 3 2 0 0 -3 1 1 4 0 0 0 0 3 12 0 0 -10 0 X5 0 -1 1 0 3 -3 ≤ 18 x1 x1, x2 ≥ 0 X6 0 0 -1 1 3 b 12 6 18 -3 126 (1) (2) (3) Max z = 6x1 + 3x2 + 2x3 s.a. Rango de Factibilidad: -6 ≤ Δ bi ≤ 12 (2) x1 + x2 +x3 ≤ 36 Si Δ bi = 14 ? x1 + x2 + 4x3 ≤ 24 - Llevar factibilidad al límite - Cambiar variable con valor =0, por variable de holgura - Agregar la cantidad faltante x1 X5 X2 X1 Cj 0 3 6 Zj Cj-Zj X1 6 0 0 1 6 0 X2 3 0 1 0 3 0 X3 2 -3 1 0 3 -1 X4 0 -1 0 0 0 0 X5 0 1 0 0 0 0 ≤ 18 x1, x2 ≥ 0 X6 0 0 -1 1 3 b 2 18 18 -3 162 (1) (2) (3) Rango de Factibilidad:Valores Positivos - Restricción ≤ solución nueva = sol + Δ bi (columna var holgura i ) - Restricción ≥ solución nueva = sol - Δ bi (columna var exceso i ) - Restricción = solución nueva = sol + Δ bi (columna var artificial i ) Agregar Variables Se puede plantar arroz (x7); A.7 T = (1, 2, 0) Columna de x7 :(B*) –1A.7 X5 X2 X1 Cj 0 3 6 Zj Cj-Zj X1 6 0 0 1 6 0 X2 X3 X4 3 2 0 0 -3 1 1 4 0 0 0 0 3 12 0 0 -10 0 X5 X6 X7 0 0 C7 -1 0 -1 1 -1 2 0 1 0 3 3 6 -3 -3 -6+C7 b 12 6 18 Eliminar Variables: - Si no está en la base, sacarla - Si está en la base, hacerla salir de la base, cambiarla y eliminarla X4 X2 X1 Cj 0 -M 6 Zj Cj-Zj X1 6 0 0 1 6 0 X2 X3 X4 -M 2 0 0 -3 1 1 4 0 0 0 0 -M -4M 0 0 2+4M 0 X5 X6 0 0 b -1 0 12 1 -1 6 0 1 18 -M M+6 M -M-6