Title: TOPICOS AVANZADOS EN INVESTIGACIN DE OPERACIONES
1Algoritmo de Descomposición de Dantzig-Wolfe
- TOPICOS AVANZADOS EN INVESTIGACIÓN DE OPERACIONES
Escuela de Sistemas Universidad Nacional de
Colombia Sede Medellín
2DESCOMPOSICION DANTIZG-WOLFE
- Muchos PL permiten descomponer las restricciones
y variables así - Restricciones en el conjunto 1 solo involucran el
primer conjunto de variables - Restricciones en el conjunto 2 solo involucran el
segundo conjunto de variables -
- Restricciones en el conjunto k solo involucran el
k-conjunto de variables - Restricciones en el conjunto k1 involucran
cualquier variable (restricciones centrales)
3DESCOMPOSICION DANTIZG-WOLFE
- EJEMPLO
- Una empresa siderúrgica fabrica 2 tipos de acero
en dos plantas - Los recursos necesarios para fabricar una
tonelada de acero son hierro, carbón y tiempo de
fundición - Existen 2 tipos de hornos por lo cual los
recursos necesarios son diferentes en cada planta
4DESCOMPOSICION DANTIZG-WOLFE
5DESCOMPOSICION DANTIZG-WOLFE
- Las plantas 1 y 2 disponen de 12 y 15 toneladas
diarias de carbón, respectivamente - La planta 1 dispone de 10 horas diarias de horno
de fundición y la planta 2 dispone de 4 horas. - Se dispone de 80 toneladas diarias de hierro
extraído de una mina a mitad de camino entre
ambas plantas - Cada tonelada de acero 1 se vende a 170/Ton y
acero 2 a 160/Ton. Enviar una tonelada desde la
planta 1 cuesta 80/Ton y desde la planta 2
cuesta 100/Ton.
6DESCOMPOSICION DANTIZG-WOLFE
- Variables
- x1Toneladas de acero 1 producidas diariamente en
la planta 1 - x2Toneladas de acero 2 producidas diariamente en
la planta 1 - x3Toneladas de acero 1 producidas diariamente en
la planta 2 - x4Toneladas de acero 2 producidas diariamente en
la planta 2 - Función Objetivo
- z 170(x1x3)160(x2x4)-80(x1x2)-100(x3x4)
- z 90x1 80x2 70x3 60x4
7DESCOMPOSICION DANTIZG-WOLFE
- Restricciones
- 3x1 x2 ? 12
- 2x1 x2 ? 10
- 3x32x4 ? 15
- x3 x4 ? 4
- 8x16x27x35x4 ? 80
- xi ? 0
8DESCOMPOSICION DANTIZG-WOLFE
- Max z 90x1 80 x2 70 x3 60x4
- 3x1 x2 ? 12
- 2x1 x2 ? 10
- 3x32x4 ? 15
- x3 x4 ? 4
- 8x16x27x35x4 ? 80
- x1 , x2 , x3 , x4 ? 0
9DESCOMPOSICION DANTIZG-WOLFE
- Aplicando definición de descomposición
- Primer Conjunto de Variables
- x1 y x2 (Variables de la planta 1)
- Segundo Conjunto de Variables
- x3 y x4 (Variables de la planta 2)
- Primer Conjunto de Restricciones
- R1 y R2 (Restricciones de la planta 1)
- Segundo Conjunto de Restricciones
- R3 y R4 (Restricciones de la planta 2
- Tercer Conjunto de Restricciones
- R5 (Restricciones de hierro disponible)
10DESCOMPOSICION DANTIZG-WOLFE
- Para resolver los PL que se descomponen de la
forma anterior, Dantzig y Wolfe proponen su
algoritmo - Asume que se esta resolviendo un PL en el cual
cada subproblema tiene una región factible
limitada - Se aplica el siguiente teorema
11DESCOMPOSICION DANTIZG-WOLFE
- Sea una region factible del PL limitada y cuyos
puntos extremos (SBF) son P1, P2,...,Pk - Cualquier punto x en la región factible puede
expresarse como una combinación lineal de P1,
P2,,Pk. - Existen pesos m1, m2,, mk. que satisfacen
- x m1 P1 m2 P2 Pk mk
- Los pesos se escogen tal que
- m1 m2 mk 1 y mi ? 0 ? i1,,k
12DESCOMPOSICION DANTIZG-WOLFE
- Sean los conjuntos de variables y restricciones 1
- 3x1 x2 ? 12
- 2x1 x2 ? 10
- x1 , x2 ? 0
x2
P4
P3
x1
P1
P2
13DESCOMPOSICION DANTIZG-WOLFE
- Los puntos extremos de esta región factible son
P10 0, P24 0, P32 6 y P40 10 - Cualquier punto dentro de esta región factible
puede escribirse como - donde mi ? 0 y m1 m2 m3 m4 1
14DESCOMPOSICION DANTIZG-WOLFE
- Por ejemplo
- Esto también ocurre para los conjuntos de
variables y restricciones 2 - Los puntos extremos de esta región factible son
Q10 0, Q24 0 y Q30 4
15DESCOMPOSICION DANTIZG-WOLFE
- 3x32x4 ? 15
- x3 x4 ? 4
- x3 , x4 ? 0
x4
Q3
x3
Q1
Q2
16DESCOMPOSICION DANTIZG-WOLFE
- En esta región factible
- Donde mi ? 0 y m1 m2 m3 1
- Cual es la combinación convexa del punto
17DESCOMPOSICION DANTIZG-WOLFE
- El algoritmo de descomposición no requiere la
determinación de estos pesos para un punto
arbitrario
- El algoritmo de descomposición para dos conjuntos
1 y 2 es el siguiente (puede generalizarse a mas
de dos conjuntos de variables)
18DESCOMPOSICION DANTIZG-WOLFE
- PASO 1
- Sean x1, x2,...,xn1 las variables del conjunto 1
- Exprese las variables como combinación convexa de
los puntos extremos P1, P2,...,Pk de la región
factible para el conjunto de restricciones 1 - donde m1 m2 mk 1 y mi ? 0 ? i1,,k
19DESCOMPOSICION DANTIZG-WOLFE
- PASO 2
- Sean xn11, xn12 ,...,xn las variables del
conjunto 2 - Exprese las variables como combinación convexa de
los puntos extremos Q1, Q2,...,Qm de la región
factible para el conjunto de restricciones 2 - donde l1 l2 lm 1 y li ? 0 ? i1,,m
20DESCOMPOSICION DANTIZG-WOLFE
- PASO 3
- Exprese la función objetivo y las restricciones
centrales en terminos de las mi y li. - Despues de adicionar las restricciones de
convexidad m1 m2 mk 1 y l1 l2 lm
1 - y las restricciones de signo
- mi ? 0 ? i1,,k y li ? 0 ? i1,,m
- Se obtiene el PL denominado Master restringido
21DESCOMPOSICION DANTIZG-WOLFE
- PASO 4
- Asuma que se tiene una SBF para el Master
restringido - Utilice GENERACION DE COLUMNAS para resolver este
problema. - PASO 5
- Sustituya los valores de las mi y li y halle los
valores óptimos para x1, x2,...,xn
22DESCOMPOSICION DANTIZG-WOLFE
- Continuación EJEMPLO
- El master Restringido resulta al reemplazar
23DESCOMPOSICION DANTIZG-WOLFE
- La función objetivo se vuelve
- 90x1 80 x2 70 x3 60x4 90(4m22
m3)80(6m310m4)70(4l2)60(4l3) - 360m2660m3800m4280l2240l3
- La restricción centralizada se vuelve
- 8x16x27x35x4 ? 80
- 8(4m22 m3)6(6m310m4)7(4l2)5(4l3) ? 80
- 32m252m360m428l220l3 ? 80
- Después de adicionar una variable de holgura , se
obtiene el siguiente Master restringido
24DESCOMPOSICION DANTIZG-WOLFE
- Max z 360m2660m3800m4280l2240l3
- Sujeto a
- 32m252m360m428l220l3 s1 80
- m1 m2 m3 m4 1
- l1 l2 l3 1
- mi ? 0, li ? 0
25DESCOMPOSICION DANTIZG-WOLFE
- Existe una forma inteligente de seleccionar una
variable en el master restringido - Encuentre la columna que corresponde a la
variable mi, que corresponde al punto en el
conjunto de variables 1 (planta 1) - Sea la siguiente propuesta para la producción
en la planta 1 - El peso mi (variable del master restringido) es
una fracción de la propuesta correspondiente al
punto Pi que está incluido en el actual plan de
producción
26DESCOMPOSICION DANTIZG-WOLFE
- Por ejemplo, el punto
- Es equivalente a 1/3 de la propuesta P1, 1/3 de
la propuesta P2 y de la propuesta P3 - Podemos describir entonces un método para
determinar la columna para cualquier variable del
Master restringido - Se quiere encontrar la columna para el punto
extremo - que corresponde al peso mi
27DESCOMPOSICION DANTIZG-WOLFE
- Si se incluye una fracción mi de dicho punto,
cuanto contribuye a la función objetivo? - Si mi 1 entonces
- Contribuirá 90x1 80 x2.
- Por proporcionalidad, mi contribuye mi (90x1 80
x2)
28DESCOMPOSICION DANTIZG-WOLFE
- También, contribuye al lado izquierdo de la
restricción central con la cantidad mi (8 x1 6
x2) - Ejemplo Cuál es la columna de m3 que corresponde
al punto extremo - La contribución a la f.o. y a la restricción
central son - m3(90x1 80 x2) m3 (90(2) 80(6)) 660m3
- m3 (8 x1 6 x2) m3 (8(2) 6(6)) 52m3
29DESCOMPOSICION DANTIZG-WOLFE
- Además, tiene un 1 en la primera restricción de
convexidad y 0 en la otra restricción de
convexidad. - Se resuelve el problema Master restringido
aplicando el algoritmo simplex revisado y
generación de columnas - Las variables elegidas para entrar a la base son
- s1, m1, l1
30DESCOMPOSICION DANTIZG-WOLFE
- Las variables en la base inicial y la base
serán
- Así, los precios sombra en la tabla inicial serán
31DESCOMPOSICION DANTIZG-WOLFE
- Se aplica Generación de Columnas en dos etapas
- Se determina si hay un mi asociado al conjunto de
restricciones 1 que tenga un coeficiente negativo
en el renglón cero (Problema Max) - Este peso tendrá la siguiente columna en el
Master - Coeficiente en la f.o mi 90x1 80 x2
- Coeficientes en las restricciones para mi
-
32DESCOMPOSICION DANTIZG-WOLFE
- Se genera una columna. En el problema,
- y se debe verificar que x1, x2 no violen las
restricciones del conjunto 1 - El peso que tiene un valor más negativo es el
peso asociado al punto extremo que es la solución
de
33DESCOMPOSICION DANTIZG-WOLFE
- Tabla 0
- Subproblema Planta 1
- La solución a este problema es z -800, x10,
x210 - Esto significa que el peso mi asociado con el
punto extremo tiene el coeficiente más
negativo. - La columna que tiene un coeficiente -800
corresponde a la variable m4 (punto extremo P4).
34DESCOMPOSICION DANTIZG-WOLFE
- Ahora se determina si hay un li asociado al
conjunto de restricciones 2 que tenga un
coeficiente negativo en el renglón cero (Problema
Max) - Este peso tendrá la siguiente columna en el
Master - Coeficiente en la f.o li 70x3 60 x4
- Coeficientes en las restricciones para li
-
35DESCOMPOSICION DANTIZG-WOLFE
- Se genera la columna
- y se debe verificar que x3, x4 no violen las
restricciones del conjunto 2 - El peso que tiene un valor más negativo es el
peso asociado al punto extremo que es la solución
de
36DESCOMPOSICION DANTIZG-WOLFE
- Tabla 0
- Subproblema Planta 2
- La solución a este problema es z -280, x34,
x40 - Esto significa que el peso li asociado con el
punto extremo tiene el coeficiente más
negativo. - La columna que tiene un coeficiente -280
corresponde a la variable l2 (punto extremo Q2).
37DESCOMPOSICION DANTIZG-WOLFE
- Como m4 tiene un coeficiente más negativo que l2,
debe entrar a la base. - Se necesita encontrar la columna de m4 en la
tabla cero
38DESCOMPOSICION DANTIZG-WOLFE
- Lado derecho en el tablero inicial será
- Donde entra a la base? ? En la segunda restricción
39DESCOMPOSICION DANTIZG-WOLFE
- Las variables en la base y la base serán
- Así, los precios sombra en la tabla 1 serán
40DESCOMPOSICION DANTIZG-WOLFE
- Se genera una columna a partir de dos nuevos
subproblemas . Para el subconjunto 1, - y se debe verificar que x1, x2 no violen las
restricciones del conjunto 1 - El peso que tiene un valor más negativo es el
peso asociado al punto extremo que es la solución
de
41DESCOMPOSICION DANTIZG-WOLFE
- Tabla 1
- Subproblema Planta 1
- La solución a este problema es z 0, x10, x210
- Esto significa que ningún peso mi tiene un
coeficiente negativo.
42DESCOMPOSICION DANTIZG-WOLFE
- Se genera la columna
- y se debe verificar que x3, x4 no violen las
restricciones del conjunto 2 - El peso que tiene un valor más negativo es el
peso asociado al punto extremo que es la solución
del mismo problema anterior!
43DESCOMPOSICION DANTIZG-WOLFE
- Tabla 1
- Subproblema Planta 2
- La solución a este problema es z -280, x34,
x40 - Esto significa que el peso li asociado con el
punto extremo tiene el coeficiente más
negativo. - La columna que tiene un coeficiente -280
corresponde a la variable l2 (punto extremo Q2).
44DESCOMPOSICION DANTIZG-WOLFE
- Como ningún mi tiene un coeficiente negativo, es
l2 quien debe entrar a la base. - Se necesita encontrar la columna de l2 en la
tabla uno
45DESCOMPOSICION DANTIZG-WOLFE
- Lado derecho en el tablero 1 será
- Entra a la base en la primera restricción
46DESCOMPOSICION DANTIZG-WOLFE
- Las variables en la base y la base serán
- Así, los precios sombra en la tabla 2 serán
47DESCOMPOSICION DANTIZG-WOLFE
- Se genera una columna a partir de dos nuevos
subproblemas . Para el subconjunto 1, - y se debe verificar que x1, x2 no violen las
restricciones del conjunto 1 - El peso que tiene un valor más negativo es el
peso asociado al punto extremo que es la solución
de
48DESCOMPOSICION DANTIZG-WOLFE
- Tabla 2
- Subproblema Planta 1
- La solución a este problema es z 0, x10, x210
- Esto significa que nuevamente ningún peso mi
tiene un coeficiente negativo.
49DESCOMPOSICION DANTIZG-WOLFE
- Se genera ahora la columna para el subproblema 2
- y se debe verificar que x3, x4 no violen las
restricciones del conjunto 2 - El peso que tiene un valor más negativo es el
peso asociado al punto extremo
50DESCOMPOSICION DANTIZG-WOLFE
- Tabla 2
- Subproblema Planta 2
- La solución a este problema es z -40, x30,
x44 - Esto significa que el peso li asociado con el
punto extremo tiene el coeficiente más
negativo. - La variable l3 (punto extremo Q3) entra a la
base.
51DESCOMPOSICION DANTIZG-WOLFE
- Como ningún mi tiene un coeficiente negativo, es
l3 quien debe entrar a la base. - Se necesita encontrar la columna de l3 en la
tabla dos
52DESCOMPOSICION DANTIZG-WOLFE
- Lado derecho en el tablero 2 será
- Puede entrar a la base en la primera restricción
o en la tercera restricción
53DESCOMPOSICION DANTIZG-WOLFE
- Escogiendo arbitrariamente la primera
restricción, las variables en la base y la base
serán
- Así, los precios sombra en la tabla 3 serán
54DESCOMPOSICION DANTIZG-WOLFE
- Se genera una columna a partir de dos nuevos
subproblemas . Para el subconjunto 1, - y se debe verificar que x1, x2 no violen las
restricciones del conjunto 1 - El peso que tiene un valor más negativo es el
peso asociado al punto extremo que es la solución
de
55DESCOMPOSICION DANTIZG-WOLFE
- Tabla 3
- Subproblema Planta 1
- La solución a este problema es z 0, x10, x210
- Esto significa que nuevamente ningún peso mi
tiene un coeficiente negativo.
56DESCOMPOSICION DANTIZG-WOLFE
- Se genera ahora la columna para el subproblema 2
- y se debe verificar que x3, x4 no violen las
restricciones del conjunto 2 - El peso que tiene un valor más negativo es el
peso asociado al punto extremo
57DESCOMPOSICION DANTIZG-WOLFE
- Tabla 3
- Subproblema Planta 2
- La solución a este problema es z 0, x30, x40
- Esto significa que ningún peso li tiene un
coeficiente negativo.
58DESCOMPOSICION DANTIZG-WOLFE
- Como ningún mi ni li tienen coeficiente negativo,
esta tabla debe ser la óptima.
- Lado derecho en el tablero 3 será
- La solución óptima al Master restringido es la
anterior, y los demás pesos son cero.
59DESCOMPOSICION DANTIZG-WOLFE
- Al devolverse (PASO 5), se puede mostrar el
programa óptimo es - x2 10
- x4 4
- x1 x3 0
- z 1040