Dualidad e interpretación económica.

Download Report

Transcript Dualidad e interpretación económica.

6. Dualidad en Programación Lineal
Consideremos un ejemplo de producción de 2 productos
finales que hacen uso de tres recursos escasos (máquinas),
cuyas disponibilidades en horas corresponden a los lados
derechos de las restricciones.
P)
Máx
40 x1 + 60 x2
s.a.
2 x1 + 2 x2  70
x1 + x2  40
x1 + 3 x2  90
x1  0, x2  0
La solución óptima es :
y el valor
óptimo es :
*
x1 =5
*
x 2 = 25
Z = v ( p ) = 2.100
En lo que sigue, combinamos las distintas restricciones del
problema, ponderadas respectivamente por los valores 1,  2
y  3, de modo de obtener la mejor cota superior del valor
óptimo del problema P), obteniendo:
 1(2X1+X2)+  2(X1+X2)+  3(X1+3X2)  70  1+40  2+90  3
Para garantizar que el lado derecho de esta última desigualdad
sea una cota superior de la función objetivo se debe cumplir
que :
2  1+  2+  3  40
 1+  2+3  3  60
La mejor elección de esta cota se tendría al resolver
D)
Min
s.a .
70 1 + 40 2 + 90 3
2 1 +  2 +  3  40
 1 +  2 + 3 3  60
 i  0,i =1,2,3.
Este problema se conoce como el problema “ Dual”
asociado al problema “Primal” P).
También resulta que al formular el problema dual de D)
obtengo el problema primal (o uno equivalente).
Cualquiera de los dos entrega la misma información y el
valor óptimo es el mismo.
Más generalmente, si el problema primal es:
P)
n= c j x j
Máx
j 1
s .a .
 n = a ij x j  b i ,
j 1
i = 1, 2 ,...., n .
x j  0 , j = 1, 2 ,......
su dual resulta el problema:
D)
m
 = bi i
i 1
 m= a ij  i  c j ,
s.a .
i 1
 i  0, i = 1,2,...., m.
Min
j = 1,2,...., n.
Matricialmente:
P ) Máx
s .a .
D ) Min
s .a .
cT x
Ax  b
x 0
bT 
AT   c
  0
Si el problema primal corresponde a:
P ) Min
s .a .
cT x
Ax  b
x 0
Su dual resulta ser:
D ) Max
s .a .
bT 
AT   c
  0
Es decir, el dual del dual es el problema primal
Teorema de dualidad débil:
Si X  IR n , es una solución factible del problema primal
P solución
P) y
, una
factible del problema dual D),
IR m
entonces:
n
m
T
c x =  c j x j   bi  i = b T 
j =1
i =1
En particular, si ambas soluciones son los óptimos de sus
respectivos problemas :
v(P )
Valor óptimo de P

v(D )
Valor óptimo de D
Teorema de dualidad fuerte:
Si x * = ( x 1* , x 2* ,........, x n* ) T , es una solución
óptima problema primal P), entonces el problema
dual D) tiene solución óptima  * = ( * ,  * ,........,  * )T
1
2
m
que satisface:
n
m
v(P) = c T x * =  c j x *j = bi *i = bT  * = V (D)
j =1
i =1
Además:
i) Si P) es no-acotado entonces D) es infactible.
ii) Si D) es no-acotado entonces P) es infactible.
Ejemplo
P)
Min
s .a .
3x
x
1
2x
1
+ 4x
+ 2x
1
2
+ 2x
+ 5x
2
+ 3x
3
 5
+ x
3
 6
2
x i  0 , i = 1, 2 , 3 .
D)
Máx
s .a .
5 1 + 6 
 1 + 2
2 1 + 2
3 1 + 
2
 3
2
2
2
3
 4
 5
 i  0 , i = 1, 2 .
Resolvemos D) por Simplex, en su forma estándar:
1 2
1
2
3
-5
2
2
1
-6
3
4
1
0
0
0
5
0
1
0
0
0
0
1
0
3
4
5
0
 3  3
   
XB =  4 = 4
   
 5  5
  1  0
XD = 
= 
 2  0 
Luego la variable entrante a la base es  2 ( pues r2<0).
Calculamos Min{ 3/2, 4/2, 5/1 }= 3/2, por lo tanto sale  3
1
1/2
1
2 1/2
-2
2
3 4
1
1/2
0
-1
0 - 1/2
0
3
5
0
1
0
0
0
0
1
0
1 1/2
1
3 1/2
9
2  3 / 2
  

=
=
XB
1
 4  

  7 / 2
5
1  0
XD =   =  
3  0
Luego la variable entrante a la base es 1 ( pues r2<0).
Calculamos Min{ (3/2)/(1/2), 1/1, (7/2)/(5/2) }= 1, por lo
tanto sale  4
  1  1
 = 
1 2 3 4 5 .
=
XB  2  1
 5  1
0
1
1 - 1/2
0
1
1
0
0
0
0
0
-1
1
2 -2 1/2
1
2
1
1
0
1
1
11
 3  0
XD =   =  
 4  0
Solución óptima de D):
 1* = 1;  *2 = 1;
Solución óptima de P):
*
x1 =1
*
x2 =2
V ( D ) = 11
*
x3 =0
V(P) = 11
Metodo Simplex Dual :
La idea de este método consiste en resolver de alguna
manera el problema dual asociado al P) en la tabla y
variables del problema primal P), según veremos en su
aplicación a un problema primal( ejercicio anterior de
dualidad).
Min
s .a .
3x
x
1
2x
1
+ 4x
+ 2x
1
2
+ 2x
2
+ 5x
3
+ 3x
3
 5
+ x
3
 6
2
x i  0 , i = 1, 2 , 3 .
Min
3x1 + 4x2 + 5x3+0x4 +0x5
x1 + 2x2 + 3x3 - x4
2x1+ 2x2 + x3
xi  0
x1
-1
-2
3
x2
-2
-2
4
-
=5
*(-1)
x5 = 6
*(-1)
; i=1,2,3,4,5.
x3
-3
-1
5
x4
x5
1
0
0
0
1
0
-5
-6
0
En la tabla anterior se toman dos variables de exceso
x4 y x5 , y se multiplica por un número negativo con la
finalidad de encontrar la matriz identidad IRn, además
se necesita una condición , la cual es que los costos
reducidos de la tabla sean mayores que cero ( en este
caso se cumple).
En la tabla anterior se escoge, usando el lado derecho,
alguna variable con valor negativo.
En la tabla anterior tomamos x5 , la cual dejará la base,
enseguida , se obtiene la variable entrante calculando:
Min { (-3/-2) , (-4/-2),(-5/-1)} = 3/2.
De donde resulta que x1 deja la base.
x1
x2
x3
x4
x5
0
1
0
-1
1
1
-2 1/2
1/2
3 1/2
1
0
0
- 1/2
- 1/2
1 1/2
-2
3
-9
La tabla posee lados derechos negativos (costos
reducidos negativos del problema dual), por lo cual
no es factible en P).
x4 (=-2) deja la base, luego calculamos :
Min {(-1/-1),((-7/2)/(-5/2)),((-3/2)/(-1/2))} = 1, por lo
cual x2 entra a la base.
x1
x2
0
1
0
1
0
0
x3
x4
x5
2 1/2
-2
1
-1
1
1
1/2
-1
1
2
1
-11
La tabla posee lados derechos no-negativos (costos
reducidos positivos del problema dual) y también los
costos reducidos de las variables no básicas x3, x4 y
x5 son no-negativos , por lo cual tenemos una
solución factible en P) que es la solución óptima del
problema.
 x 1  1
  
X = x 2  = 2 v(p) = 11
x 3  0
6.1 Análisis de Sensibilidad o Post-Optimal
1.- ¿Qué ocurre con las actuales variables básicas si se cambia
algún coeficiente del lado derecho (b)?
Si calculamos: x B = B 1b , y se cumple : x B  0
Las mismas variables básicas lo son también de la nueva
solución óptima, calculada con el nuevo b.
Si lo anterior no se cumple, se puede aplicar el Método
Simplex Dual
2.-¿ Qué ocurre con la actual solución óptima si se agrega una
nueva variable al problema ?
Para decidir si la actual solución básica es óptima para el
nuevo problema, calculamos el costo reducido de la nueva
variable mediante la formula:
-1
r k = Ck - CT
B
Ak
B
donde k es el índice de la nueva variable y Ak su respectiva
columna en la matriz de coeficientes. Si se cumple que
rk0 se conserva la actual solución óptima. En caso
contrario, se sigue con el Simplex.
3.- ¿ Que ocurre con la actual solución óptima del problema
P) si se cambian los coeficientes que definen la función
objetivo ?
Supongamos que el vector de coeficientes en la función
objetivo cambia a un vector
IRn
La actual solución óptima también lo es para C con:
P)
P ) Min
C T x
s .a .
Ax = b
x  0
siempre que los nuevos costos reducidos sean mayores o
iguales a cero (notar que también cambia el valor de la
función objetivo en la actual solución óptima). Es decir se
debe cumplir que:
r D = C D - C B B -1 D  0, o equivalente
T
r j = C j - C B B 1Aj  0
T
j
En caso contrario, se aplica el Simplex a partir de la tabla
final de P) con los nuevos costos reducidos y nuevo valor
de la actual solución básica.
Veamos los cambios que tienen lugar cuando sólo varía un
coeficiente del vector c de la función obj.
a.- Cambio de un coeficiente asociado a una variable nobásica xJ:
Se conserva la misma solución óptima del problema P) ssi
para esa variable xJ:
r j = C j - C B B 1Aj  0
T
Consideremos :
Cj =Cj +Dj
Por lo tanto se conserva la misma solución ssi:
D j  -r j  C j  C j - r j
b.- Cambio en un coeficiente de la función objetivo asociado
a una variable básica:
En este caso para tener la misma solución óptima, se debe
cumplir que el costo reducido de todas las variables no
básicas sean mayores o igual a cero.
r j = C j - CB B-1Aj  0
T
Consideremos
:
Ci = Ci + Di
0
. 

1
CB = CB + Di   = CB + Diei
. 
. 

0
Si el incremento es cualquiera en el siguiente intervalo, se
conserva la misma solución óptima :
 r j

 r j

Máx 
/ Yij < 0   D i  Min 
/ Yij > 0 
 Yij

 Yij

donde rj es el costo reducido de la respectiva variable no
básica en la actual solución óptima y los coeficientes yij
denotan las entradas en la tabla final del Simplex asociadas a
la variable básica xi (cuyo costo cambia) y la respectiva
variable no básica xj
Ejemplo:
La siguiente tabla, es la tabla final de un problema de
programación lineal.
1,00 2,33 1,67 0,00 0,27 -0,07 1333,33
0,00 -0,03 0,03 1,00 -0,01 0,03 66,67
0,00 6,67 3,33 0,00 2,93 0,27 18666,67
Con esta tabla realizaremos un análisis de sensibilidad:
a) Variar los recursos ( lado derecho):
Las xB del problema primal no cambian como base
óptima, si los valores asociados a estas variables.
x
B
= B -1b , y se
cumple : x
B
0
Para calcular estos intervalos de
recursos, se necesita la matriz
inversa asociada a las variables
básicas del tablau final.
4 10 
B=

1 40
 4
B 1 = - 15
 1
 150
Intervalo recurso 1:
 4
15

 - 1
150
-1
  6000 + D b 
1 0
15  * 

2
 
4000

75
4 D b1
20000
+
0
15
15
D b1  - 5000


D b1
10000
0
150
150
D b1  10000
-1 
5
2 
75
- 5000  D b1  10000
1000 
b1  16000
Intervalo recurso 2:
 4
15

 - 1
150
-1
 
6000

15  * 
0

2
+

75   4000 D b2 
- 2500  D b2  20000
1500 
b2  24000
b) Cambio de un coeficiente de la función objetivo
asociado a una variable básica
Variable x1:
Máx { 0 } D1  Min { ((20/3)/(7/3)) , ((10/3)/(5/3))}
0  D1  2
10  C1* 12
Variable x4:
Máx { ((20/3)/(-1/30)) } D4  Min { ((10/3)/(1/30)) }
-200  D4  100
-60  C4* 240
b) Cambio de un coeficiente asociado a una variable
no-básica
Variable x2:
C2* = C2 + D2
D2 - r2
C2 = -20
C2*  - 20 - ( 20/3)
C2*  - 80/3
Variable x2:
C3* = C3 + D3
D3 - r3
C3 = -18
C3*  - 18 - ( 10/3)
C3*  - 64/3
Direcciones electrónicas en Programación Lineal
•Preguntas de consulta frecuente en Programación Lineal:
http://wwwunix.mcs.anl.gov/otc/Guide/faq/linear-programming-faq.html
•Servidor NEOS, guía de software de Programación Lineal:
http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/linearprog.html
•Servidor Neos, ejemplo problema de la dieta:
http://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/diet/index.html
•Guía de software de Programación Lineal en revista OR&MS Today
(INFORMS Magazine)
http://lionhrtpub.com/software-surveys.shtml