RELACIONES PRIMAL-DUAL Los cambios que se hacen en

Anuncio
RELACIONES PRIMAL-DUAL
Los cambios que se hacen en el modelo original de programación lineal afectan a
los elementos de la tabla óptima actual (el que se tenga en el momento), que a su vez
puede afectar la optimalidad y/o la factibilidad de la solución actual. Por esta razón
estudiaremos cómo se re-calculan los elementos de la tabla sı́mplex óptima para reflejar
los nuevos cambios.
Planteamiento de la tabla sı́mplex
Figura 1: Esquema de las tablas simplex de inicio y general.
La figura 1 es una representación esquemática de las tablas sı́mplex de inicio y general. En la tabla de inicio, los coeficientes de las restricciones abajo de las variables
de inicio forman una matriz identidad: todos los elementos de la diagonal principal
iguales a 1 y fuera de la diagonal principal iguales a cero. Con este arreglo, las demás
iteraciones de la tabla sı́mplex, generadas con las operaciones de fila de Gauss-Jordan
modificarán los elementos de la matriz identidad para producir la llamada matriz in-
1
versa. Como veremos en el resto de este capı́tulo, la matriz inversa es la clave del cálculo
de todos los elementos de la tabla sı́mplex asociada.
Solución dual óptima
Las soluciones primal y dual se relacionan en forma tan estrecha que la solución
óptima del problema primal produce en forma directa (con unos pocos de cálculos adicionales) la solución óptima del dual. En esta sección se describen dos métodos para
calcular este resultado.
Método 1
Ã
Valores óptimos
de las variables duales
!


Ã
!
Vector fila de los coeficientes
Inversa primal


objetivos originales de las
=
×
óptima
variables básicas óptimas primales
Los elementos del vector fila de los coeficientes objetivos del primal original deben
aparecer en el mismo orden que aparecen las variables básicas en la columna Básica de
la tabla sı́mplex.
Método 2
La solución dual óptima se puede determinar resolviendo las siguientes ecuaciones:
Ã
Coeficiente z-primal óptimo
de cualquier variables xj
!
=
Ã
Lado izquierdo de la
j-ésima restricción dual
! Ã
×
Lado derecho de la
j-ésima restricción dual
Observe con cuidado que, como el dual del problema dual es en sı́ mismo el problema
primal (compruébelo), los métodos presentados se pueden aplicar en forma simétrica para determinar la solución óptima del primal a partir de la del dual. Esto podrı́a implicar
ventajas de cómputo si la cantidad de variables en el primal fuera bastante menor que
la cantidad de restricciones. Ya que la cantidad de cálculos sı́mplex depende mucho de
la cantidad de restricciones, en este caso es más eficiente resolver el dual, a partir del
cual se pueda determinar entonces la solución del primal.
Ejemplo 4.2-1
Se tiene la siguiente programación lineal:
2
!
Maximizar z = 5x1 + 12x2 + 4x3
sujeta a
x1 + 2x2 + x3 ≤ 10
2x1 − x2 + 3x3 = 8
xk ≥ 0, ∀ k.
Para preparar el problema para su solución con método sı́mplex se agrega una holgura x4 en la primera restricción, y una R artificial en la segunda. Los problemas primal
y dual asociado resultantes se definen ası́:
Primal
Maximizar z = 5x1 + 12x2 + 4x3 − M R
sujeta a
x1 + 2x2 + x3 + x4 = 10
2x1 − x2 + 3x3 + R = 8
x1 , x2 , x3 , R ≥ 0
Primal en forma de ecuación
Minimizar w = 10y1 + 8y2
sujeta a
y1 + 2y2 ≥ 5
2y1 − y2 ≥ 12
y1 + 3y2 ≥ 4
y1 ≥ 0
y2 ≥ −M (⇒ y2 no restringida)
La tabla 1 muestra la tabla primal óptima. La matriz inversa óptima, que se señala
bajo las variables de inicio x4 y R es
Inversa óptima =
Cuadro 1:
Básica x1
z
0
x2
0
x1
1
Ã
2/5 −1/5
1/5 2/5
!
Tabla óptima del primal, ejemplo 4.2-1
x2
x3
x4
R
Solución
0
3/5 29/5 −2/5 + M
274/5
1 −1/5 2/5
−1/5
12/5
1/5
2/5
26/5
0
7/5
Ahora indicaremos cómo se determinan los valores duales óptimos usando los dos
métodos que se citaron al iniciar esta sección.
Método 1. Primero se observa que las variables primales óptimas aparecen en la
tabla en orden de la fila, primero x2 y después x1 . Eso quiere decir que los elementos de
3
los coeficientes originales del objetivo para las dos variables deben aparecer en el mismo
orden, que es:
³
Coeficiente objetivo originales
´
=
³
Coeficiente de x2 , Coeficiente de x1
Ası́, los valores duales óptimos se calculan como sigue:
(y1 , y2 ) =
Ã
Coeficientes objetivo
originales x2 , x1
= (12, 5) ×
Ã
2/5 −1/5
1/5 2/5
!
´
=
³
12, 5
× (Inversa óptima)
!
= (29/5, −2/5)
Método 2. Como el problema dual tiene dos variables se necesitan dos ecuaciones
para llegar a la solución. Tomaremos las restricciones duales asociadas con las variables
primales de inicio, x4 y R. Como se ve en la definición de dual, las restricciones duales
asociadas con las variables primales de inicio son:
Variable de inicio x4 :
Variable de inicio R :
y1 ≥ 0
y2 ≥ −M
También, de acuerdo con la tabla óptima (tabla 1),
Coeficiente z de x4 = 29/5
Coeficiente z de R = −2/5 + M
Entonces, de acuerdo con el método 2,
29/5 = y1 − 0
⇒ y1 = 29/5
−2/5 + M = y2 − (−M ) ⇒ y2 = −2/5
4
´
Nótese que en cada ecuación interviene exactamente una variable, y por tanto la
solución dual está disponible de inmediato. Éste es siempre el caso de las restricciones
duales asociadas con las variables de inicio.
En realidad, las restricciones duales asociadas con dos variables primales cualesquiera se podrı́an usar exactamente igual, para obtener la solución dual. Por ejemplo, en la
tabla óptima, las variables primales x1 , y x3 producirán las siguientes ecuaciones respectivas (¡verifı́quelo!):
y1 + 2y2 − 5 = 0
y1 + 3y2 − 4 = 3/5
La solución de estas dos ecuaciones produce los mismos valores duales óptimos,
y1 = 29/5 y y2 = −2/5. Sin embargo, obsérvese que las ecuaciones que se obtienen no
son tan sencillas como las asociadas con x4 y R (convénzase usted mismo: dos variables
cualesquiera de x1 , x2 , x3 , x4 y R producirán la misma solución).
Cálculos con la tabla sı́mplex
En esta sección se indica cómo se puede generar toda la tabla sı́mplex en cualquier
iteración, a partir de los datos originales del problema y la inversa asociada con la iteración. Usando la distribución de la tabla sı́mplex previamente expuesta, se puede dividir
los cálculos en dos tipos:
1.
2.
Columnas de restricción (lados izquierdo y derecho).
fila objetivo z.
Cálculos de columnas de restricción. En cualquier iteración sı́mplex, una columna del lado izquierdo o derecho se calcula como sigue:
Ã
Columna de restricción
en la iteración i
!
=
Ã
Inversa en la
iteración i
! Ã
×
Columna original
de restricción
!
(Fómula 1)
Cálculos de fila objetivo z. En cualquier iteración sı́mplex, el coeficiente de xj en
la función objetivo se calcula como sigue:
5



 

Coeficiente de la
Lado izquierdo de
Lado derecho de

 
 

 variable xj en la ecuación  =  la restricción dual − la restricción dual 
primal de z
correspondiente
correspondiente
(Fómula 2)
Nótese que la fórmula 2 es igual a la que se usó en el método 2, que acabamos de
ver, para determinar la solución dual óptima.
Ejemplo 4.2-2
Se usará la programación lineal del ejemplo 4.2-1 para ilustrar la aplicación de las
fórmulas 1 y 2. De acuerdo con la tabla óptima de la tabla 1,
Inversa óptima =
Ã
!
2/5 −1/5
1/5 2/5
El uso de la fórmula 1 se ilustra calculando todas las columnas de lado izquierdo y
lado derecho de la tabla óptima:
Ã
Columna de x1
en iteración óptima
!
=
Ã
Inversa en la
iteración óptima
=
Ã
2/5 −1/5
1/5 2/5
=
Ã
0
1
!
×
!
Ã
×
1
2
Ã
Columna de
x1 original
!
!
De manera parecida se calculan las siguientes columnas de restricción:
Ã
Columna de x2
en iteración óptima
!
Ã
Columna de x3
en iteración óptima
!
=
Ã
2/5 −1/5
1/5 2/5
!
=
Ã
2/5 −1/5
1/5 2/5
!
6
×
Ã
2
−1
×
Ã
1
3
!
!
=
=
Ã
Ã
1
0
!
−1/5
7/5
!
!
Ã
Columna de x4
en iteración óptima
!
Ã
Columna de R
en iteración óptima
!


=
Ã
2/5 −1/5
1/5 2/5
!
=
Ã
2/5 −1/5
1/5 2/5
!
×
Ã
1
0
!
×
Ã
0
1
!
=
Ã
2/5
1/5
!
=
Ã
−1/5
2/5
!
! Ã
! Ã
! Ã
!
Ã
Columna de lado
2/5 −1/5
10
12/5
x2


=
×
=
 derecho en la  =
1/5 2/5
8
26/5
x1
iteración óptima
A continuación se demostrará cómo se hacen los cálculos de la fila objetivo, con la
fórmu la 2. Los valores óptimos de las variables duales y1 , y2 ) = (29/5, −2/5), se calcularon en el ejemplo 4.2-1, con dos métodos distintos. Estos valores se usan en la fórmula
2 para determinar los coeficientes asociados de z como sigue:
Coeficiente
Coeficiente
Coeficiente
Coeficiente
Coeficiente
x1
x2
x3
x4
R
en z
en z
en z
en z
en z
=
=
=
=
=
y1 + 2y2 − 5
2y1 − y2 − 12
y1 + 3y2 − 4
y1 − 0
y2 − (−M )
=
=
=
=
=
29/5 + 2 × (−2/5) − 5
2 × 29/5 − (−2/5) − 12
29/5 + 3 × (2/5) − 4
29/5 − 0
−2/5 − (−M )
=
=
=
=
=
0
0
3/5
29/5
−2/5 + M
Es importante observar que los cálculos con las fórmulas 1 y 2 se pueden aplicar en
cualquier iteración, sea de los problemas primales o duales. Todo lo que se necesita es
la inversa asociada con la iteración primal o dual, y los datos de la programación lineal
original.
Valor objetivo primal y dual
En los problemas primal-dual, si uno es de maximización el otro debe ser de minimización. Desde este punto de vista, los valores objetivo en los dos problemas se relacionan
de la siguiente manera:
Para cualquier par de soluciones primales y duales factibles,
Ã
Valor objetivo en el
problema de Maximización
!
≤
7
Ã
Valor objetivo en el
problema de Minimización
!
En el óptimo, la relación es válida estrictamente como ecuación.
Obsérvese que la relación no especifica cuál problema es primal y cuál es dual. En
este caso sólo importa el sentido de la optimización (maximización o minimización).
Ejemplo 4.2-3
En el ejemplo 4.2-1, (x1 = 0, x2 = 0, x3 = 8/3) y (y1 = 6, y2 = 0) son soluciones factibles primal y dual. Los valores asociados de las funciones objetivo son z = 10 32 y w = 60.
También, la solución óptima de los dos problemas, que es (x1 = 26/5, x2 = 12/5, x3 = 0)
y (y1 = 29/5, y2 = −2/5) producen z = w = 54,8. Ambos cálculos demuestran la relación mencionada.
La relación indica que para todas las soluciones primales y duales factibles, el valor
objetivo en el problema de minimización establece siempre una cota superior del valor
objetivo en el problema de maximización. Dado que las iteraciones sucesivas del problema de maximización obtienen valores crecientes de z, y las del problema de minimización
obtienen valores decrecientes de w, al final, en el curso de las iteraciones, se llegará a
un punto de equilibrio donde los valores objetivo de maximización y de minimización
deben ser iguales; esto es, z = w.
8
Descargar