DUALIDAD En esta sección se presenta un tratamiento más

Anuncio
DUALIDAD
En esta sección se presenta un tratamiento más riguroso de la dualidad, que nos
permite verificar las relaciones primal-dual que formaban la base del análisis de sensibilidad que vimos anteriormente. También veremos las bases del desarrollo de la
programación paramétrica.
Definición matricial del problema dual
Suponga que el problema primal, en forma de ecuación con m restricciones y n variables se define como sigue:
Maximizar z = CX
sujeta a
AX = b, X ≥ 0
Si el vector Y = (y1 y2 y3 . . . ym ) representa las variables duales, tenemos el siguiente
problema dual:
Minimizar w = Y b
sujeta a
YA≥C
Y no restringida
Observe que algunas de las restricciones Y A ≥ C pueden imponer una restricción
sobre alguna yk no restringida.
Solución dual óptima
En esta sección se establecen las relaciones entre los problemas primal y dual, y se
indica cómo se puede determinar la solución dual óptima a partir de la solución primal óptima. Sea B la base primal óptima actual, y defı́nase CB como los coeficientes
de la función objetiva asociados con el vector óptimo XB .
Teorema de la dualidad débil: Para cualquier par de soluciones factibles primal y
dual (X, Y), el valor de la función objetivo en el problema de minimización establece
una cota superior al valor de la función objetivo en el problema de maximización.
Para el par óptimo (X*, Y*), los valores de las funciones objetivo en los dos problemas son iguales.
Demostración. El par factible (X, Y ) satisface todas las restricciones de los dos
problemas. Al multiplicar desde la izquierda ambos lados de las restricciones del
problema de maximización por Y (no restringida), se obtiene
Y AX = Y b = w
1
(1)
También, para el problema de minimización, al multiplicar ambos desde la derecha
por X(≥ 0), se obtiene
Y AX ≥ CX
o bien
Y AX ≥ CX = z
(2)
(Es esencial la no negatividad del vector X para mantener la dirección de la desigualdad.) Al combinar las ecuaciones (1) y (2) se obtiene z ≤ w para cualquier par
factible (X, Y ).
Nótese que el teorema no depende de etiquetar a los problemas como primal o dual.
Lo que importa es el sentido de la optimización en cada problema. En forma especı́fica, para cualquier par de soluciones factibles, el valor objetivo en el problema
de maximización no es mayor que el valor objetivo en el problema de minimización.
La implicación del teorema es que dada z ≤ w para toda solución factible, el máximo
de z y el mı́nimo de w se alcanzan cuando los dos valores objetivo son iguales. Una
consecuencia de este resultado es que la “bondad” de cualesquiera soluciones primales
y duales dadas, en relación con el óptimo, se puede verificar comparando la diferencia (w − z) con (z + w)/2. Mientras menor sea la relación 2(w − z)/(w + z) las dos
soluciones se acercarán más a ser óptimas. La regla fácil que se sugiere no implica
que el valor objetivo óptimo sea (z + w)/2.
¿Qué sucede si uno de los dos problemas tiene un valor objetivo no acotado? La
respuesta es que el otro problema debe ser no factible. Porque si no lo fuera, ambos
problemas tiene soluciones factibles y debe seguir vigente la relación z ≤ w; esto es
imposible, porque se supuso desde el principio que z = +∞ o w = −∞.
La siguiente pregunta es: si un problema es no factible, ¿el otro problema es no
acotado? No necesariamente. El siguiente contraejemplo demuestra que el primal y
el dual pueden ser no factibles al mismo tiempo (¡compruébelo gráficamente!):
Primal:
Dual:
Maximizar z
Minimizar w
=
=
{x1 + x2 |x1 − x2 ≤ −1, −x1 + x2 ≤ −1, x1 , x2 ≥ 0}
{−y1 − y2 |y1 − y2 ≥ 1, −y1 + y2 ≥ 1, y1 , y2 ≥ 0}
Teorema 2: Dada la base primal óptima B y su vector asociado de coeficientes de
objetivo CB , la solución óptima del problema dual es
Y = CB B −1
Demostración: Esta demostración se basa en verificar dos puntos: que Y = CB B −1
es una solución dual factible, y que z = w según el teorema de la dualidad débil.
La factibilidad de Y = CB B −1 está garantizada por la optimalidad del primal
zj − cj ≥ 0, ∀ j; esto es,
CB B −1 A − C ≥ 0
2
Ası́, Y A − C ≥ 0 o Y A ≥ C, lo que demuestra que Y = CB B −1 es una solución dual
factible.
A continuación demostraremos que la w asociada es w = z observando que
w = Y b = CB B −1 b
De igual modo, dada la solución primal XB = B −1 b, se obtiene
z = CB XB = CB B −1 b
De acuerdo con las ecuaciones (2) y (1) se concluye que z = w.
A veces se les llama multiplicadores sı́mplex a las variables Y = CB B −1 . También
se les llama precios sombra, nombre que se originó en la interpretación económica de
las variables duales.
Dado que Pj , es la j-ésima columna de A, se observa, por el teorema 2, que
zj − cj = CB B −1 Pj − cj = Y Pj − cj
representa la diferencia entre los lados izquierdo y derecho de las restricciones duales.
El primal de maximización comienza con zj − cj < 0 para cuando menos una j,
lo que quiere decir que la restricción dual correspondiente, Y Pj ≥ cj , no se satisface. Cuando se llega a la primal óptimo se obtiene zj − cj ≥ 0, para toda j, lo
que quiere decir que la solución dual correspondiente Y = CB B −1 se vuelve factible.
Se llega a la conclusión que mientras el primal busca la optimalidad, el dual busca
automáticamente la factibilidad. Este punto es la base para desarrollar el método
sı́mplex dual en el que las iteraciones comienzan mejores que la óptima, y son no
factibles, y permanecen ası́ hasta que en la última iteración se adquiere la factibilidad. Esto es un contraste con el método sı́mplex primal, que sigue siendo peor que
lo óptimo, pero factible, hasta que se llega a la iteración óptima.
Ejemplo 7.5-1
La base óptima para el siguiente problema lineal es B = (P1 , P4 ). Escribir el dual y
determinar su solución óptima usando la base primal óptima.
Maximizar z = 3x1 + 5x2
sujeta a
x1
−x1
+
+
2x2
3x2
+ x3
+ x4
xk ≥ 0, ∀ k.
El problema dual se plantea como,
Minimizar w = 5y1 + 2y2
3
=
=
5
2
sujeta a
y1
2y1
−
+
y2
3y2
≥ 3
≥ 5
yk ≥ 0, ∀ k.
En este caso XB = (x1 , x4 )T ; en consecuencia CB = (3, 0). La base óptima y su
inversa son,
1 0
1 0
B=
, B −1 =
−1 1
1 1
Los valores primal y dual asociados son
(x1 , x4 )T = B −1 b = (5, 7)T
(y1 , y2 )T = CB B −1 = (3, 0)T
Ambas soluciones son factibles y z = w = 15 (¡compruébelo!). Ası́, las dos soluciones
son óptimas.
PROGRAMACIÓN LINEAL PARAMÉTRICA
La programación lineal paramétrica es una extensión de los procedimientos de análisis
de sensibilidad. Investiga el efecto de variaciones continuas predeterminadas en los
coeficientes de la función objetivo, y el lado derecho de las restricciones, sobre la
solución óptima.
Supongamos que el problema lineal se define como


n


X
Maximizar z = CX|
Pj xj = b, X ≥ 0


j=1
En el análisis paramétrico se reemplazan la función objetivo C y los vectores del
lado derecho b por las funciones parametrizadas C(t) y b(t), siendo t el parámetro de
variación. Desde el punto de vista matemático, t puede tener cualquier valor positivo
o negativo. Sin embargo, en la práctica t suele representar al tiempo, por lo que sólo
asume valores no negativos. En esta explicación supondremos que t ≥ 0.
La idea general del análisis paramétrico es iniciar con la solución óptima en t = 0.
Después, usando las condiciones de optimalidad y factibilidad del método sı́mplex se
determina el intervalo 0 ≤ t ≤ t1 para el cual la solución permanece óptima y factible
en t = 0. En este caso, a t1 se le llama valor crı́tico. El proceso continúa determinando valores crı́ticos sucesivos y sus soluciones óptimas factibles correspondientes.
Termina el proceso en t = tr cuando hay indicación ya sea de que la última solución
permanece sin cambio para t > tr o que no existe solución factible más allá de ese
valor crı́tico.
4
Cambios paramétricos en C
Sean XBi , Bi , CBi (t) los elementos que definen la solución óptima asociada con ti ,
crı́tico (los cálculos se inician en t0 = 0 con B0 como su base óptima). A continuación
se determina el valor ti+1 y su base óptima, si existe. Como los cambios en C
sólo pueden afectar la optimalidad del problema, la solución actual XBi = Bi−1 b
permanecerá óptima para algun t ≥ ti , siempre que se satisfaga la siguiente condición
de optimalidad:
zj (t) − cj (t) = CBi Bi−1 Pj − cj (t) ≥ 0, ∀ j.
El valor de ti+1 es igual a t > ti máxima que satisface todas las condiciones de optimalidad. Observe que nada en las desigualdades pide que C(t) sea lineal en t. Es
aceptable toda función C(t), lineal o no lineal. Sin embargo, con la no linealidad la
manipulación numérica de las desigualdades resultantes puede ser complicada.
Ejemplo 7.6-1
Maximizar z = (3 − 6t)x1 + (2 − 2t)x2 + (5 + 5t)x3
sujeta a
x1
3x1
x1
+
2x2
+
4x2
+
+
x3
2x3
≤ 40
≤ 60
≤ 30
xk ≥ 0, ∀ k.
Se tiene que,
C(t) = (3 − 6t, 2 − 2t, 5 + 5t), t ≥ 0
Las variables x4 , x5 y x6 son holguras.
Solución óptima en t = t0 = 0
Básica
z
x2
x3
x6
x1
4
−1/4
3/2
2
x2
0
1
0
0
x3
0
0
1
0
x4
1
1/2
0
−2
x5
2
−1/4
1/2
1
x6
0
0
0
1
Solución
160
5
30
10
XB0 = (x2 , x3 , x6 )T = (5, 30, 10)T
CB0 = (2 − 2t, 5 + 5t, 0)


1/2 −1/4 0
1/2 0 
B0−1 =  0
−2
1 1
Las condiciones de optimalidad para los vectores no básicos P1 , P4 y P5 actuales son
{CB0 (t)B0−1 Pj − cj (t)}j=1,4,5 = (4 + 14t, 1 − t, 2 + 3t) ≥ 0
5
Ası́, XB0 permanece óptima siempre que se satisfagan las siguientes condiciones:
4 + 14t
1−t
2 + 3t
≥ 0
≥ 0
≥ 0
Como t ≥ 0, la segunda desigualdad estipula que t ≤ 1 y las otras dos desigualdades
se satisfacen para toda t ≥ 0. Entonces se tiene que t1 = 1, y eso significa que XB0
permanece óptima (y factible) para 0 ≤ t ≤ 1.
En t = 1, z4 − c4 = 1 − t es igual a cero y se vuelve negativo para t > 1. Ası́, P4 debe
entrar a la base para t > 1. En este caso, P2 debe salir de la base (véase el cuadro
óptimo en t = 0). La nueva solución básica XB1 es la solución alternativa obtenida en
t = 1 haciendo que P4 entre a la base; esto es, XB1 = (x4 , x3 , x6 )T y B1 = (P4 , P3 , P6 ).
Base óptima alternativa en t = t1 = 1

1
B1 =  0
0
1
2
0



1 −1/2 0
0
1/2 0 
0  , B1−1 =  0
0
0 1
1
Ası́,
XB1 = (x4 , x3 , x6 )T = B1−1 b = (10, 30, 30)T
CB1 (t) = (0, 5 + 5t, 0)
Los vectores no básicos asociados son P1 , P2 y P5 , y entonces
5 + 5t
9 + 27t
−1
, −2 + 2t,
≥0
{CB1 (t)B1 Pj − cj (t)}j=1,2,5 =
2
2
De acuerdo con estas condiciones, la solución básica XB1 permanece óptima para
toda t ≥ 1. Observe que la condición de optimalidad −2 + 2t ≥ 0, “recuerda” automáticamente que XB1 es óptima para un intervalo de t que comienza en el último
valor crı́tico t1 = 1. Éste siempre será el caso en los cálculos de programación
paramétrica. Es decir, hay continuidad.
La solución óptima para todo el intervalo de t se resume a continuación. El valor de
z se calcula por sustitución directa.
t
0≤t≤1
t≥1
x1
0
0
x2
5
0
6
x3
30
30
z
160 + 140t
150 + 150t
Cambios paramétricos en b
El lado derecho b(t) parametrizado sólo puede afectar la factibilidad del problema.
Los valores crı́ticos de t se determinan entonces a partir de la siguiente condición:
XB (t) = B −1 b(t) ≥ 0
Ejemplo 7.6-2
Maximizar z = 3x1 + 2x2 + 5x3
sujeta a
x1
3x1
x1
+
2x2
+
4x2
+
+
x3
2x3
≤ 40 − t
≤ 60 + 2t
≤ 30 − 7t
xk ≥ 0, ∀ k, t ≥ 0.
En t = t0 = 0, el problema es idéntico con el del ejemplo 7.6-1. Entonces se tiene
XB0 = (x2 , x3 , x6 )T = (5, 30, 10)T


1/2 −1/4 0
1/2 0 
B0−1 =  0
−2
1 1
Para determinar el primer valor crı́tico t1 ,
0 con lo que se obtiene
 

x2
 x3  = 
x6
se aplica la condición XB0 (t) = B0−1 b(t) ≥

5−t
30 + t  ≥ 0
10 − 3t
Estas desigualdades se satisfacen para t ≤ 10/3 (nos quedamos con la más restrictiva), lo que significa que t1 = 10/3 y que la base B0 permanece factible en el intervalo
0 ≤ t ≤ 10/3. Sin embargo, los valores de las variables básicas cambian en función
de t, como se describió arriba.
El valor de la variable básica x6 (= 10 − 3t) será igual a cero en t = t1 = 10/3 y se
volverá negativo para t > 10/3. Ası́, en t = 10/3, se puede determinar la base alternativa B1 aplicando el método sı́mplex dual modificado. La variable saliente es x6 .
Base alternativa en t = t1 = 10/3
Dado que x6 es la variable saliente, se determinará como sigue la variable entrante:
XB0 = (x2 , x3 , x6 )T =, CB0 = (2, 5, 0)
Ası́,
{zj − cj }j=1,4,5 = {CB0 B0−1 Pj − cj }j=1,4,5 = (4, 1, 2)
7
A continuación, para xj=1,4,5 , no básica, se calcula
(Fila de B0−1 asociada con x6 )(P1 , P4 , P5 )
=
=
=
(Tercera fila de B0−1 )(P1 , P4 , P5 )
(−2,1,1)(P1 , P4 , P5 )
(2,−2,1)
Ası́, la variable entrante está asociada con
1
1
θ = mı́n −, |
|, − =
−2
2
Entonces, el vector entrante es P4 . La base alternativa es


2 1 1
B1 = (P2 , P3 , P4 ) =  0 2 0 
4 0 0
Ası́,

0
0
1/4
1/2
0 
= 0
1 −1/2 −1/2

B1−1
La nueva XB1 = (x2 , x3 , x4 )T .
El siguiente valor crı́tico t2 se determina con la condición XB1 (t) = B1−1 b(t) ≥ 0, con
lo que se obtiene

  30−7t 
x2
4
 x3  =  30 + t  ≥ 0
−10+3t
x4
2
Estas condiciones indican que B1 permanece factible cuando 10/3 ≤ t ≤ 30/7.
En t = t2 = 30/7, se puede obtener una base alternativa con el método sı́mplex
dual modificado. La variable saliente es x2 , porque corresponde a la condición que
produce el valor crı́tico t2 .
Base alternativa t = t2 = 30/7
Ya que x2 es la variable saliente, se determina la variable entrante como sigue:
XB1 = (x2 , x3 , x4 )T , CB1 = (2, 5, 0)
Ası́,
{zj − cj }j=1,5,6 = {CB1 B1−1 Pj − cj }j=1,5,6 = (5, 5/2, 1/2)
A continuación, para no básica, xj=1,5,6 , se calcula
(Fila de B1−1 asociada con x2 )(P1 , P5 , P6 )
=
=
=
(Primera fila de B1−1 )(P1 , P5 , P6 )
(0,0,1/4)(P1 , P5 , P6 )
(1/4,0,1/4)
Como todos los elementos del denominador, (1/4, 0, 1/4), son ≥ 0, el problema no
tiene solución factible para t > 30/7 y el análisis paramétrico termina en t = t2 =
30/7. La solución óptima se resume como sigue:
8
t
0 ≤ t ≤ 10/3
10/3 ≤ t ≤ 30/7
t > 30/7
x1
0
0
x2
x3
z
5 − t 30 + t
160 + 3t
(30 − 7t)/4 30 + t 165 + 3t/2
No existe solución factible
9
Descargar