Dantzig-Wolfe / Departmento de Cómputo Cientíco y Estadística Universidad Simón Bolívar 06 de febrero de 2008
Contenido 1 Dantzig-Wolfe 2
Contenido Dantzig-Wolfe 1 Dantzig-Wolfe 2
Ahora la nueva base produce lo siguiente: ( ) ( ) 10 6 p2 B = x 1 1 B = = p 3 ( 1 /2 1/2 ) c B = ( 22 18 ).
Iteración 3 (Fase II): Resolvemos el sistema y T B = c B T, que ahora queda: ( ) 10 6 (y 1, y 2 ) = (22, 18) 1 1 que da como resultado y T = (1, 12). El subproblema tiene las mismas restricciones que los anteriores, pero su costo es: ( c T y T A ) = (1, 3, 1, 1) (1, 1, 1, 1) = (0, 2, 2, 0).
Igual que antes lo separamos en dos problemas de dos variables y lo resolvemos grácamente. Nos da como solución óptima: v 3 = (0, 6, 0, 0) que cumple ( c T y T A ) v 3 = 12 12 = y m +1 lo cual indica que la solución actual es una solución óptima del Problema Maestro
Nos da una solución del problema original: 0 x = p 2 v 2 + p 3 v 3 = 1 6 2 0 + 1 2 4 0 6 0 0 = con valor óptimo z = 20 (note que este valor se obtiene sustituyendo x en la función objetivo original y también haciendo c T B x B con la última solución básica del Problema Maestro). 0 6 0 2
Contenido Dantzig-Wolfe 1 Dantzig-Wolfe 2
La iteración (1) Dantzig-Wolfe Se supone dada una SBF, ya sea para el Problema Maestro o para la Fase I. Resolver y T B = c T B, donde B es la matriz básica actual y c B es el vector de costos básicos. Resolver el subproblema: max ( c T y T A ) x s.a. A x = b l x u, donde y es el vector y menos la última componente. En el caso de Fase I, c debe ser cero.
La iteración (2) Si el subproblema tiene una SBF óptima v con ( c T y T A ) v > y m +1, entonces La columna entrante es: ã = ( A v 1 ) con costo: c T v (Fase I, costo 0)
La iteración (3) Dantzig-Wolfe En caso contrario si el subproblema es no acotado se produce una dirección de no acotación w, entonces ( ) A w La columna entrante es: ã = 0 con costo: c T w (Fase I, costo 0)
La iteración (4) Dantzig-Wolfe En caso contrario (el subproblema tiene una SBF óptima v con ( c T y T A ) v y m +1), entonces La solución actual del Problema Maestro es óptima De aquí en adelante proceder como en el Simplex Revisado usual.
Contenido Dantzig-Wolfe 1 Dantzig-Wolfe 2
Cotas superiores sobre el óptimo Volvemos al subproblema: max ( c T y T A ) x s.a. A x = b l x u (1) y supongamos que tenemos una solución óptima x con valor z. Ahora sea x cualquier solución factible del problema original. Por denición de z y como x es factible para (1) tenemos: ( c T y T A ) x z
Cotas superiores sobre el óptimo que podemos escribir c T x z + y T A x = z + y T b que es una cota superior sobre el óptimo del problema original que se puede calcular con los datos obtenidos. Esta cota se puede usar para detener el algoritmo cuando esté sucientemente cercana al valor actual de la función objetivo.
Contenido Dantzig-Wolfe 1 Dantzig-Wolfe 2
Cuando el Problema Maestro tiene variables de holgura (caso de desigualdades) hay que calcular sus costos reducidos aparte de los resultados de subproblemas. Se puede aprovechar la última base de un subproblema para iniciar el siguiente. La región factible no cambia. No hay que optimizar completamente el subproblema, basta encontrar una solución (SBF ) que satisfaga la desigualdad apropiada. Otras formas de la descomposición: Múltiples restricciones de convexidad.
Contenido 1 Dantzig-Wolfe 2
Existe un vector x 0 que cumple Bx = a a T u 0 para todos los u que satisfacen B T u 0.
Demostración del [= ] Supongamos que existe un x 0 tal que Bx = a, entonces u T Bx = u T a o, transponiendo, x T B T u = a T u entonces como x 0, si B T u 0, entonces a T u 0. (ojo, ver componente a componente)
Demostración... [ =] Suponemos que a T u 0 para todos los u que satisfacen B T u 0, y consideramos el problema lineal max a T u s.a. B T u 0 que claramente tiene una solución óptima de valor cero.
Demostración... Por el teorema fundamental de Programación Lineal su dual: min s.a. 0 T x Bx = a x 0 también tiene solución óptima, en particular, es factible, es decir existe un vector x 0 que cumple Bx = a.
Contenido 1 Dantzig-Wolfe 2
El problema Esta estrategia se aplica a problemas de la forma: max s.a. c T x + f (y) Ax + F (y) b x 0, y S (2) donde A es m n, c y x tienen tamaño n, y tiene tamaño p, f es una función real de y, F tiene tamaño m y sus componentes son funciones reales de y, b tiene tamaño m, y S es un subconjunto compacto arbitrario de R p. Suponemos además que f y F son continuas en S. Este formato incluye Programación Entera.
La idea Como (2) es lineal en x, para valores jos de y, es natural intentar resolverlo jando un valor de y, obteniendo un LP, resolverlo, luego un mejor y, etc. Es importante mencionar que no todo y puede servir. Es necesario que el y elegido haga el LP resultante factible. Esto es, y debe vivir en el conjunto: R = {y existe x 0 tal que Ax b F (y), y S} A los vectores y en R los llamaremos factibles.
La idea Nos interesa tratar de caracterizar R mejor. Para un y jo, consideremos el sistema lineal Ax + s = b F (y) x 0, s 0 que proviene de añadir holguras s al sistema que dene R.
La idea Podemos aplicar el y obtenemos que y es factible si y sólo si y S y (b F (y)) T u 0 para todos los u que satisfacen A T u 0, u 0 o dicho de otra manera: y S y (b F (y)) T u 0 para todos los u que satisfacen A T u 0, u 0
La idea Si R es vacío entonces el problema original (2) es no factible. Suponiendo que sea no vacío, reescribimos (2) como { { f (y) + max c T x Ax b F (y), x 0 max y R }} (3)
La idea Para y jo, la maximización interna es un programa lineal: max s.a. c T x Ax b F (y) x 0 (Primal) cuyo dual es min s.a. (b F (y)) T u A T u c u 0 (Dual) Si y R, el primal es factible y, en consecuencia, los valores óptimos de estos problemas son los mismos (esto se extiende al caso cuando el dual es no factible, primal no acotado, valiendo + ambos problemas).
La idea Substituyendo entonces un problema por otro en (3), obtenemos: { { }} f (y) + min (b F (y)) T u A T u c, u 0 (4) max y R Consideremos ahora la región factible del dual, el poliedro: { } P = u A T u c, u 0 Esta región es independiente de y.
La idea Si P es vacío, el primal es no acotado lo mismo que el problema original (2). Si P no es vacío, el mínimo en (4) se obtiene en una de las SBF de P o el valor va a sobre uno de las DBFs de P (que son las mismas de C ). Pero este último caso implicaría que el primal no es factible y no consideramos este caso.
La idea sólo necesitamos considerar las SBF de P, llamémoslas v r, r = 1,..., M, y (4) se puede reescribir como: { } max y R f (y) + min 1 r M (b F (y))t v r (5) que se puede escribir como max s.a. z z f (y) + (b F (y)) T v r, r = 1,..., M y R
La idea como el cono C = { } u A T u 0, u 0 es poliédrico se puede generar con un número nito de direcciones extremas. De manera que u C tiene una representación: u = N q s w s, con los q s 0. s=1
La idea sustituyendo, obtenemos N q s (b F (y)) T w s 0 s=1 que es cierto para todo q s 0, si y sólo si (b F (y)) T w s 0, s = 1,..., N
La idea Entonces un vector y S será factible si y sólo si satisface este conjunto nito de restricciones. Entonces podemos reescribir el conjunto R como R = { y (b F (y)) T w s 0, } s = 1,..., N, y S
La idea Usando la denición de R queda nalmente: max z s.a. z f (y) + (b F (y)) T v r, r = 1,..., M 0 (b F (y)) T w s, s = 1,..., N y S (6) A la región factible de (6) la llamamos G.