Contenido 1 Resolución mediante planos de corte para LP para IP Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 1/20
para LP para IP Resolución mediante planos de corte La metodología de resolución mediante planos de corte (cutting planes) trata de la construcción aproximada del casco convexo del conjunto factible de un problema de programación entera. Mediante un proceso iterativo de inclusión de inecuaciones (denominados planos de corte) se busca ajustar la formulación del problema de forma que sea lo más próxima al casco convexo de las soluciones factibles. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 2/20
para LP para IP Esquema de resolución mediante planos de corte Dado el problema IP max c τ x s.a. x X Z n, el objetivo es ajustar la formulación de forma que ésta tienda a ser similar al conv(x); e idealmente, resolver el problema de programación lineal equivalente max s.a. c τ x x conv(x). Para los problemas en N P hard no se espera tener una descripción explícita del casco convexo; lo que se espera es, para algunas de sus instancias, tener una aproximación del casco en "vecindades" donde hay condiciones de optimalidad. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 3/20
para LP para IP Se dice que una inecuación π τ x π 0 es una inecuación válida para X si la inecuación se cumple para todo x X. Dados X = {x Z n : Ax b} y conv(x) = {x R n : Âx ˆb}, las inecuaciones que definen ambas formulaciones son inecuaciones válidas para X. Cómo determinar y utlizar inecuaciones válidas relevantes? Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 4/20
para LP para IP : ejemplos 1/5 1. Inecuaciones lógicas Dado X = {x B 4 : 6x 1 4x 2 + 3x 3 x 4 1}. Si x 1 = 1 entonces x 2 = 1 y x 4 = 1, por lo que se infieren las inecuaciones válidas x 1 x 2 y x 1 x 4. Además, es infactible si x 1 = 1 y x 3 = 1, por lo que se infiere la inecuación válida x 1 + x 3 1. 2. Inecuaciones binarias mixtas Dado X = {(x, y) R B : x 100y, 0 x 10}. Todas las inecuaciones x ry, con r [10, 100] son válidas; y en particular la inecuación válida con r = 10 determina el casco convexo de X. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 5/20
para LP para IP : ejemplos 2/5 3. Inecuaciones binarias mixtas Dado el problema de localización de instalación capacitada (CFL) con demanda absoluta min s.a. n j=1 f jy j + m m i=1 j=1 c ijx ij n j=1 x ij = a i, i = 1,..., m m i=1 x ij b j y j, j = 1,..., n x ij 0, i = 1,..., m, j = 1,..., n, y j B, j = 1,..., n. Las soluciones factibles cumplen x ij a i y x ij b j y j por lo que x ij min{a i, b j }y j es una inecuación válida. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 6/20
para LP para IP : ejemplos 3/5 4. Inecuaciones enteras mixtas Dado X = {(x, y) R Z : x y, 0 x 3 2, y 0}. y x 3 2 x y x y 2 + 1 2 x Se tiene la inecuación válida x y 2 + 1 2 que permite obtener conv(x) = {(x, y) R Z : x y, 0 x 3 2, x y 2 + 1 2, y 0}. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 7/20
para LP para IP : ejemplos 4/5 5. Inecuaciones de redondeo a entero Sea X = P Z 2 donde P = {x R 2 : 9x 1 + 15x 2 23, x 0}. Dividiendo entre 9 se tiene la inecuación válida para P x 1 + 5 3 x 2 23 9. Dado que x 0 se sustituyen sus coeficientes por los enteros superiores (función techo) y se tiene la inecuación válida para P x 1 + 2x 2 x 1 + 5 3 x 2 23 9. Dado que x y los coeficientes de la expresión son enteros, la valoración de la expresión es entera; por lo que se puede redondear 23 9 a su entero superior, obteniéndose la inecuación válida para X x 1 + 2x 2 3. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 8/20
para LP para IP : ejemplos 5/5 6. Inecuaciones de redondeo a entero mixtas Sea X = P (Z 2 R) donde P = {(x, y) R 2 R : 9x 1 + 15x 2 + y 23, x, y 0}. Dividiendo entre 9 se tiene la inecuación válida para P x 1 + 5 3 x 2 23 y 9. Dado que x 0 se sustituyen sus coeficientes por los enteros superiores (función techo) la valoración de la expresión es entera; por lo que se puede redondear 23 9 a su entero superior, obteniéndose la inecuación válida para X x 1 + 2x 2 + ay 3 (para algún a). Dado que 23 y 9 decrese de 3 a 2, cuando y = 5; por lo que la inecuación es válida para a 1 5. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 9/20
para LP para IP para programación lineal Proposición La inecuación π τ x π 0 es válida para P = {x : Ax b, x 0} si y solo si existe u 0 tal que u τ A π τ y u τ b π 0. Demo. Se tiene por dualidad que max{π τ x : x P} π 0 si y solo si min{u τ b : u τ A π τ, u 0} π 0. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 10/20
para LP para IP para programación entera Dada la región factible entera P = {x : Ax b, x 0, entero} Proposición Dado X = {y Z : y b}, entonces la inecuación y b es válida para X. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 11/20
para LP para IP para IP: ejemplo Sea X = P Z 2 con P = {x : 3x 1 + x 2 6, x 1 + 2x 2 6, x 0} 1. Se establece la combinación lineal de las restricciones con coeficientes u = ( 1 18, 1 2 ). Obteniéndose x 1 6 + x 2 18 1 3 y x 1 2 + x 2 3, con resultado 2 3 x 1 + 19 18 x 2 10 3. 2. Se reducen los coeficientes del lado izquierdo al entero próximo, 2 3 x 1 + 19 18 x 2 10 3, obteniendo la inecuación válida para P: 0x 1 + x 2 10 3. 3. Dado que el lado izquierdo es entero, se puede reducir el lado derecho al entero próximo, obteniéndose la inecuación válida x 2 10 3 = 3. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 12/20
para LP para IP Generación de inecuaciones válidas: Chvátal-Gomory Sea X = P Z n con P = {x R n : Ax b, x 0}, donde A R m n es una matriz con columnas {a 1,..., a n } y u R m, u 0: 1. La inecuación n j=1 uτ a j x j u τ b es válida para P. 2. La inecuación n j=1 uτ a j x j u τ b es válida para P. 3. La inecuación n j=1 uτ a j x j u τ b es válida para X, dado que el miembro izquierdo es entero. Proposición Toda inecuación válida para X puede obtenerse aplicando una cantidad finita de veces el procedimiento de Chvátal-Gomory. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 13/20
para LP para IP Resolución mediante agregado de inecuaciones válidas El objetivo es que a partir de la formulación inicial P = {x : Ax b, x 0} con X = P Z n se generen un conjunto de inecuaciones válidas Dx d para X. La formulación inicial se puede ajustar mediante el agregado de las inecuaciones, Q = {x : Ax b, Dx d, x 0}, lo que permite aproximarse al casco convexo de X. Esto permite tener una formulación ajustada que potencialmente genere cotas más ajustadas en el caso de utilizar ramificado y acotamiento. La desventaja puede ser que la cantidad de inecuaciones a agregar sea enorme, dificultando la resolución del problema. Cómo elegir entre las inecuaciones a agregar? Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 14/20
para LP para IP Resolución mediante agregado de inecuaciones válidas relevantes A veces la región factible entera de una formulación P puede describirse como la intersección de conjuntos, X = X 1 X 2, por lo que se puede poner énfasis en alguno que sea fácil de resolver. Supongamos que la resolución en X 2 = P 2 Z n es fácil, entonces se tendrá una descripción explícita de Q 2 = conv(p 2 Z n ). Lo que permite reemplazar la formulación original P 1 P 2 por la formulación ajustada P 1 Q 2 para X. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 15/20
para LP para IP Agregado de inecuaciones válidas: ejemplo 1/2 Dada la formulación P de la región factible X del problema UFL n j=1 x ij = 1, i = 1,..., m, m i=1 x ij my j, j = 1,..., n, x ij 0, 0 y j 1, i = 1,..., m, j = 1,..., n. Sea X j, con y j entero, el conjunto factible de la formulación P j dada por m i=1 x ij my j, x ij 0, i = 1,..., m, 0 y j 1. El casco convexo, Q j, del conjunto X j esta dado por x ij y j, i = 1,..., m, x ij 0, i = 1,..., m, 0 y j 1. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 16/20
para LP para IP Agregado de inecuaciones válidas: ejemplo 2/2 Entonces se obtiene la reformulación Q, reemplazando cada P j por Q j para j = 1,..., n n j=1 x ij = 1, i = 1,..., m, x ij y j, i = 1,..., m, j = 1,..., n, x ij 0, i = 1,..., m, j = 1,..., n, 0 y j 1, j = 1,..., n. La cual está más proxima al casco convexo de X que P. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 17/20
para LP para IP Dado el problema IP max{c τ x : x X}, con X = P Z n y el conjunto de inecuaciones válidas C, π τ x π 0, para X, lo que se busca es una aproximación del casco convexo en la vecindad de la solución óptima. Algoritmo planos de corte Inicialización. Sean t := 0 y P 0 := P. Iteración. Resolver max{c τ x : x P t }. Sea x t una solución óptima. Si x t es entero Parar : x t es una solución óptima para IP. Si x t no es entero, resolver el problema de separación para x t y el conjunto C. Si la inecuación (π t, π0 t ) C cumple πt x t > π0 t, entonces corta a x t, establecer el corte generando nueva formulación P t+1 = P t {x : π t x π0 t }; incrementar t e iterar. En otro caso Parar. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 18/20
para LP para IP fraccionales de Gomory 1/2 Dado el problema IP max{c τ x : Ax = b, x 0 entero}. Se resuelve la relajación a programación lineal, a partir de la base óptima, se elige una variable básica fraccional y se genera una inecuación Chvátal-Gomory en la restricción asociada de forma de cortar y separar la solución fraccional. Entonces el problema se puede reformular max ĉ B + j N ĉjx j s.a. x Bu + j N âujx j = b u, u = 1,..., m, x 0, entero. Donde B y N son los conjuntos de variables básicas y no-básicas. La solución óptima es x = b u, si ĉ j 0 para j N y b u 0 para u = 1,..., m. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 19/20
para LP para IP fraccionales de Gomory 2/2 Si la solución óptima, x, no es entera, entonces existe una fila u con b u fraccional. Dada la fila u la inecuación de corte Chvátal-Gomory es x Bu + j N â uj x j b u. Reformulando la inecuación mediante la sustitución de x Bu original, se obtiene j N (â uj â uj )x j b u b u ; esta inecuación permite separar x con b u fraccional de la formulación de partida. Debido a la definición y la elección de la fila u se tiene que 0 (â uj â uj ) < 1 y 0 < ( b u b u ) < 1. Facultad de Ingeniería. UdelaR Fundamentos de Programación Entera 20/20