El método de descomposición de Danzig-Wolfe es una versión especializada del método simplex .
En 1960, George Dantzig y Philip Wolf método de descomposición para resolver problemas de alta dimensión con una estructura matricial de restricción especial [1] .
Este método resultó ser el más efectivo para resolver problemas cuya matriz de restricciones tiene forma de bloque diagonal con un número pequeño de variables. Sin embargo, como mostraron estudios posteriores, el método también es aplicable a problemas de programación lineal con una matriz general. El método correspondiente fue propuesto por D. B. Yudin y E. G. Holstein y se llama programación de bloques .
Una característica distintiva del método de descomposición es el uso de un problema de coordinación que, en comparación con el original, tiene un pequeño número de filas y un gran número de columnas.
Es esencial que la solución del problema de coordinación no requiera la especificación explícita de todas las columnas. Se generan en el proceso de utilizar el método simplex. Este enfoque se denomina método de generación de columnas .
Basta con poder generar una columna y tener un procedimiento que seleccione una columna para ingresar a la base.
A menudo, dicho procedimiento se reduce a resolver un subproblema específico (no necesariamente programación lineal).
Lema Sea un conjunto acotado cerrado no vacío en el espacio euclidiano y tenga un número finito de puntos extremos, que se denotarán aquí . Entonces cualquier punto del conjunto se puede representar como una combinación convexa de puntos extremos del conjunto R, es decir pues hay números no negativos cuya suma total es uno ( ) y tales que
(1) .
Deja que la tarea
Maximizar
(2)
bajo restricciones
(3)
(cuatro)
(5)
Las restricciones (3) definen un simplex S, sean sus puntos extremos.
Sea x una solución admisible por el lema
Sustituyamos la última expresión en (2) y (3).
La tarea tomará la forma
maximizar (6)
bajo restricciones
(7)
(8) .
Esta tarea es equivalente a la original (2)-(5) y se denomina tarea de coordinación .
Tiene solo filas de restricciones en comparación con las filas del problema original, y un número muy grande de columnas igual al número de puntos extremos del conjunto . Para no almacenar todas estas columnas en la memoria de la computadora, las recibiremos según sea necesario, utilizando el método de generación de columnas.
Resolvemos el problema (6)-(8) por el método símplex utilizando el método de generación de columnas.
Para simplificar, supongamos que ya se conoce alguna solución básica admisible.
Denote por la restricción (8), entonces las variables duales son el vector .
Para ingresar la base, es necesario encontrar , tal que
Por lo tanto, basta con encontrar m en el que se alcanza el mínimo
(9)
lo que equivale a resolver el problema
minimizar (10)
bajo las restricciones (4) y (5).
Si el mínimo encontrado no es mayor que , el problema está resuelto.
De lo contrario, se ingresa en la base la columna correspondiente a la solución encontrada.
Deje que las restricciones (4) tengan una estructura de bloque
El problema (10), (4), (5) se divide en subtareas separadas
Encuentra el mínimo
(once)
bajo condiciones
(12)
de optimización | Métodos|
---|---|
unidimensional |
|
orden cero | |
Primer orden | |
segundo orden | |
estocástico | |
Métodos de programación lineal | |
Métodos de programación no lineal |