Programación lineal. Estimar M. Ejemplos. José Luis Morales Departamento de Matemáticas. ITAM. 2010. José Luis Morales Programación lineal. Estimar M. Ejemplos. Los problemas P y P̄ minimizar x sujeta a minimizar x sujeta a cT x Ax = b, x ≥ 0, b≥0 c T x + M(y1 + y2 + · · · + ym ) Ax + y = b, José Luis Morales x ≥ 0, y ≥ 0. Programación lineal. Estimar M. Ejemplos. ¿Cómo estimar M? Resultado obtenido de la teorı́a: Me − λ − sy = 0 en donde λ es el vector de multiplicadores de Lagrange asociado con Ax − b = 0 en el problema original; s y es el vector de multiplicadores de Lagrange asociado con y en el problema modificado. Entonces M debe escogerse tal que M = max(0, λi ) para garantizar que sy ≥ 0. José Luis Morales Programación lineal. Estimar M. Ejemplos. Observaciones: M está relacionado con λ de manera sencilla M no necesariamente tiene que ser grande De la primera condición de optimalidad tenemos. c − AT λ − s = 0; s≥0 Si despreciamos s y multiplicamos (izquierda) por A AAT λ̄ = Ac. AAT es cuadrada m × m y no singular. Si suponemos que los signos de los multiplicadores estimados son incorrectos entonces podemos obtener fácilmente M = max(Mmin , ||λ̄||∞ ). José Luis Morales Programación lineal. Estimar M. Ejemplos. Observaciones: M está relacionado con λ de manera sencilla M no necesariamente tiene que ser grande De la primera condición de optimalidad tenemos. c − AT λ − s = 0; s≥0 Si despreciamos s y multiplicamos (izquierda) por A AAT λ̄ = Ac. AAT es cuadrada m × m y no singular. Si suponemos que los signos de los multiplicadores estimados son incorrectos entonces podemos obtener fácilmente M = max(Mmin , ||λ̄||∞ ). José Luis Morales Programación lineal. Estimar M. Ejemplos. Observaciones: M está relacionado con λ de manera sencilla M no necesariamente tiene que ser grande De la primera condición de optimalidad tenemos. c − AT λ − s = 0; s≥0 Si despreciamos s y multiplicamos (izquierda) por A AAT λ̄ = Ac. AAT es cuadrada m × m y no singular. Si suponemos que los signos de los multiplicadores estimados son incorrectos entonces podemos obtener fácilmente M = max(Mmin , ||λ̄||∞ ). José Luis Morales Programación lineal. Estimar M. Ejemplos. Observaciones: M está relacionado con λ de manera sencilla M no necesariamente tiene que ser grande De la primera condición de optimalidad tenemos. c − AT λ − s = 0; s≥0 Si despreciamos s y multiplicamos (izquierda) por A AAT λ̄ = Ac. AAT es cuadrada m × m y no singular. Si suponemos que los signos de los multiplicadores estimados son incorrectos entonces podemos obtener fácilmente M = max(Mmin , ||λ̄||∞ ). José Luis Morales Programación lineal. Estimar M. Ejemplos. Observaciones: M está relacionado con λ de manera sencilla M no necesariamente tiene que ser grande De la primera condición de optimalidad tenemos. c − AT λ − s = 0; s≥0 Si despreciamos s y multiplicamos (izquierda) por A AAT λ̄ = Ac. AAT es cuadrada m × m y no singular. Si suponemos que los signos de los multiplicadores estimados son incorrectos entonces podemos obtener fácilmente M = max(Mmin , ||λ̄||∞ ). José Luis Morales Programación lineal. Estimar M. Ejemplos. Observaciones: M está relacionado con λ de manera sencilla M no necesariamente tiene que ser grande De la primera condición de optimalidad tenemos. c − AT λ − s = 0; s≥0 Si despreciamos s y multiplicamos (izquierda) por A AAT λ̄ = Ac. AAT es cuadrada m × m y no singular. Si suponemos que los signos de los multiplicadores estimados son incorrectos entonces podemos obtener fácilmente M = max(Mmin , ||λ̄||∞ ). José Luis Morales Programación lineal. Estimar M. Ejemplos. Problema Klee-Minty, n = 5. maximizar sujeta a x1 + 10x2 + 100x3 + 1000x4 + 10000x5 x1 + 20x2 + 200x3 + 2000x4 + 20000x5 ≤ 108 x2 + 20x3 + 200x4 + 2000x5 ≤ 106 x3 + 20x4 + 200x5 ≤ 104 x4 + 20x5 ≤ 102 x5 ≤ 100 x ≥ 0. Estimación: M = 0.5. El método sigue funcionando con M ≤ 2.2204, ×10 −16 . λT = (−1, 0, 0, 0, 0) José Luis Morales Programación lineal. Estimar M. Ejemplos. Problema Klee-Minty, n = 5. maximizar sujeta a x1 + 10x2 + 100x3 + 1000x4 + 10000x5 x1 + 20x2 + 200x3 + 2000x4 + 20000x5 ≤ 108 x2 + 20x3 + 200x4 + 2000x5 ≤ 106 x3 + 20x4 + 200x5 ≤ 104 x4 + 20x5 ≤ 102 x5 ≤ 100 x ≥ 0. Estimación: M = 0.5. El método sigue funcionando con M ≤ 2.2204, ×10 −16 . λT = (−1, 0, 0, 0, 0) José Luis Morales Programación lineal. Estimar M. Ejemplos. Problema Klee-Minty, n = 5. maximizar sujeta a x1 + 10x2 + 100x3 + 1000x4 + 10000x5 x1 + 20x2 + 200x3 + 2000x4 + 20000x5 ≤ 108 x2 + 20x3 + 200x4 + 2000x5 ≤ 106 x3 + 20x4 + 200x5 ≤ 104 x4 + 20x5 ≤ 102 x5 ≤ 100 x ≥ 0. Estimación: M = 0.5. El método sigue funcionando con M ≤ 2.2204, ×10 −16 . λT = (−1, 0, 0, 0, 0) José Luis Morales Programación lineal. Estimar M. Ejemplos. Problema Klee-Minty, n = 5. maximizar sujeta a x1 + 10x2 + 100x3 + 1000x4 + 10000x5 x1 + 20x2 + 200x3 + 2000x4 + 20000x5 ≤ 108 x2 + 20x3 + 200x4 + 2000x5 ≤ 106 x3 + 20x4 + 200x5 ≤ 104 x4 + 20x5 ≤ 102 x5 ≤ 100 x ≥ 0. Estimación: M = 0.5. El método sigue funcionando con M ≤ 2.2204, ×10 −16 . λT = (−1, 0, 0, 0, 0) José Luis Morales Programación lineal. Estimar M. Ejemplos. El caso infactible minimizar x sujeta a c T x + M(y1 + y2 + · · · + ym ) Ax + y = b, x ≥ 0, y ≥ 0. Observación: La solución x, y 6= 0 NO cambia con respecto a M. Claramente los multiplicadores λ, s x , sy dependen de M. Teorı́a Práctica José Luis Morales Programación lineal. Estimar M. Ejemplos. El caso infactible minimizar x sujeta a c T x + M(y1 + y2 + · · · + ym ) Ax + y = b, x ≥ 0, y ≥ 0. Observación: La solución x, y 6= 0 NO cambia con respecto a M. Claramente los multiplicadores λ, s x , sy dependen de M. Teorı́a Práctica José Luis Morales Programación lineal. Estimar M. Ejemplos. El caso infactible minimizar x sujeta a c T x + M(y1 + y2 + · · · + ym ) Ax + y = b, x ≥ 0, y ≥ 0. Observación: La solución x, y 6= 0 NO cambia con respecto a M. Claramente los multiplicadores λ, s x , sy dependen de M. Teorı́a Práctica José Luis Morales Programación lineal. Estimar M. Ejemplos. Problema: boeing1 0 50 100 150 200 250 300 350 0 50 100 150 José Luis Morales 200 nz = 3485 250 300 350 Programación lineal. Estimar M. Ejemplos. Problema: stair 0 50 100 150 200 250 300 350 0 50 100 150 200 250 nz = 3856 José Luis Morales 300 350 400 450 Programación lineal. Estimar M. Ejemplos. Problema: pilot87 0 500 1000 1500 2000 0 500 1000 1500 2000 2500 3000 nz = 73152 José Luis Morales 3500 4000 4500 Programación lineal. Estimar M. Ejemplos.