Está en la página 1de 28

6.

Dualidad en Programacin Lineal


Consideremos un ejemplo de produccin de 2 productos finales que
hacen uso de tres recursos escasos (mquinas), cuyas disponibilidades
en horas corresponden a los lados derechos de las restricciones.
P)

Mx

40 x1 60 x2

s.a.

2 x1 2 x2 70
x1 x2 40
x1 3 x2 90
x1 0, x2 0

La solucin ptima es :
y el valor

ptimo es :

*
5

*
x 25
2
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 funcin objetivo se debe cumplir que :
2 1+ 2+ 3 40
1+ 2+3 3 60

La mejor eleccin de esta cota se tendra 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).
Tambin resulta que al formular el problema dual de D) obtengo el problema
primal (o uno equivalente).
Cualquiera de los dos entrega la misma informacin y el valor ptimo es el mismo.

Ms generalmente, si el problema primal es:


P)
n c j x j
Mx
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 ) Mx
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 dbil:


n
Si X IR , es una solucin factible del problema primal
solucin
IR m
P) y
, una
factible del problema dual D),
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:


* ( x * , x * ,........, x * ) T
x
Si
, es una solucin
1
2
n
ptima problema primal P), entonces el problema
dual D) tiene solucin ptima * ( * , * ,........, * )T
1
2
m
que satisface:

n
m * T *
T
*
*
v(P) c x c j x j bi i b V (D)
j 1
i 1
Adems:
i) Si P) es no-acotado entonces D) es infactible.
ii) Si D) es no-acotado entonces P) es infactible.

Ejemplo
P)

Min

3x

s .a .

4x

2x

2x

5x

3x

2x

x i 0 , i 1, 2 , 3 .
D)

Mx
s .a .

2
3

2
1
1

4
5

i 0 , i 1, 2 .

3
3

5
6

Resolvemos D) por Simplex, en su forma estndar:

3 3


1 2 3 4 5
X B 4 4
1
2
1
0
0
3
5 5
2
2
0
1
0
4
3
1
0
0
1
5
1
0

XD
-5
-6
0
0
0
0


0
2
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 2
1/2
1
2 1/2
-2

3 4 5
1
1/2
0
-1
0 - 1/2
0
3

0
1
0
0

XB
4

5

0
0
1
0

1 1/2
1
3 1/2
9

3 / 2

1
7 / 2

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 1
2
0
1
1 - 1/2
0
1
1
5
1
0
0

0
0
0

-1
1
2 -2 1/2
1
2

Solucin ptima de D):

1
1
0

1
1
11

*
1;

Solucin ptima de P):

*
x 1
1

0
XD

4 0
*
1;

*
x 2
2

V ( D ) 11

*
x 0
3

V(P) 11

Metodo Simplex Dual :


La idea de este mtodo consiste en resolver de alguna
manera el problema dual asociado al P) en la tabla y
variables del problema primal P), segn veremos en su
aplicacin a un problema primal( ejercicio anterior de
dualidad).
Min
s .a .

3x
x

2x

4x

2x
1

2x

5x

3x

x i 0 , i 1, 2 , 3 .

3
3

5
6

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
1
0
0

x5
0
1
0

-5
-6
0

En la tabla anterior se toman dos variables de exceso x4


y x5 , y se multiplica por un nmero negativo con la
finalidad de encontrar la matriz identidad IRn, adems
se necesita una condicin , 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

0
1
0

-1
1
1

-2 1/2
1/2
3 1/2

x4
1
0
0

x5
- 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
0
1
0

x2

x3
1
0
0

2 1/2
-2
1

x4
-1
1
1

x5
1/2
-1
1

2
1
-11

La tabla posee lados derechos no-negativos (costos


reducidos positivos del problema dual) y tambin los
costos reducidos de las variables no bsicas x3, x4 y
x5 son no-negativos , por lo cual tenemos una
solucin factible en P) que es la solucin ptima del
problema.
x 1
1


v(p) = 11
X x 2
2
x 0
3

6.1 Anlisis de Sensibilidad o Post-Optimal


1.- Qu ocurre con las actuales variables bsicas si se cambia algn
coeficiente del lado derecho (b)?
Si calculamos:
B 1b , y se cumple : x 0
x
Las mismas variables bsicas
lo son tambin de la nueva solucinBptima,
B
calculada con el nuevo b.
Si lo anterior no se cumple, se puede aplicar el Mtodo Simplex Dual
2.- Qu ocurre con la actual solucin ptima si se agrega una nueva variable
al problema ?
Para decidir si la actual solucin bsica es ptima para el nuevo problema,
calculamos el costo reducido de la nueva variable mediante la formula:

1
r k Ck C T
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
rk0 se conserva la actual solucin ptima. En caso
contrario, se sigue con el Simplex.
3.- Que ocurre con la actual solucin ptima del problema
P) si se cambian los coeficientes que definen la funcin
objetivo ?
Supongamos que el vector de coeficientes en la funcin
objetivo cambia a un vector
IRn
C
La actual solucin ptima tambin lo es para
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 tambin cambia el valor de la funcin objetivo
en la actual solucin ptima). Es decir se debe cumplir que:

rD

C T B 1 D 0, o equivalente
B

r j C j C B A j j
B
T

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
solucin bsica.

Veamos los cambios que tienen lugar cuando slo vara un


coeficiente del vector c de la funcin obj.
a.- Cambio de un coeficiente asociado a una variable no-bsica
x J:
Se conserva la misma solucin ptima del problema P) ssi
para esa variable xJ:

C
r j
j C B B Aj 0
T

Consideremos :

Cj Cj j

Por lo tanto se conserva la misma solucin ssi:

j r j C j C j r j

b.- Cambio en un coeficiente de la funcin objetivo asociado a una variable bsica:


En este caso para tener la misma solucin ptima, se debe cumplir que el costo reducido de todas las variables no bsicas
sean mayores o igual a cero.

r j C j C B1Aj 0
B
T

Consideremos
:
Ci Ci i

0
.

1
CB CB i CB i ei
.
.

0

Si el incremento es cualquiera en el siguiente intervalo, se


conserva la misma solucin ptima :

Mx

rj
Yij

/ Yij 0

i Min

rj
Yij

/ Yij 0

donde rj es el costo reducido de la respectiva variable no


bsica en la actual solucin ptima y los coeficientes yij
denotan las entradas en la tabla final del Simplex asociadas a
la variable bsica xi (cuyo costo cambia) y la respectiva
variable no bsica xj

Ejemplo:
La siguiente tabla, es la tabla final de un problema de
programacin lineal.

1,00 2,33 1,67


0,00 -0,03 0,03
0,00 6,67 3,33

0,00 0,27 -0,07 1333,33


1,00 -0,01 0,03
66,67
0,00 2,93 0,27 18666,67

Con esta tabla realizaremos un anlisis 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.

B 1b , y se

cumple : x

Para calcular estos intervalos de


recursos, se necesita la matriz
inversa asociada a las variables
bsicas del tablau final.

4 10

B 1

40
1
4
5
15
1
2
75
150

Intervalo recurso 1:

4
1

15
150

b1
15 * 6000
0
2

4000

75

4 b1
20000

0
15
15
b1 5000

b1
10000

0
150
150
b1 10000

5000 b1 10000
1000

b1 16000

Intervalo recurso 2:

4
1

15
150

6000

15 *
0

75 4000 b2

2500 b2 20000
1500

b2 24000

b) Cambio de un coeficiente de la funcin objetivo


asociado a una variable bsica
Variable x1:
Mx { 0 } Min { ((20/3)/(7/3)) , ((10/3)/(5/3))}
0 2
10 C1* 12
Variable x4:
Mx { ((20/3)/(-1/30)) } Min { ((10/3)/(1/30)) }
-200 100
*

b) Cambio de un coeficiente asociado a una variable


no-bsica
Variable x2:
C2* = C2 + 2
2 - r2

C2 = -20
C 2* - 20 - ( 20/3)
C2* - 80/3

Variable x2:
C3* = C3 + 3
3 - r3

C3 = -18
C 3* - 18 - ( 10/3)
C3* - 64/3

Direcciones electrnicas en Programacin Lineal


Preguntas de consulta frecuente en Programacin Lineal:
http://wwwunix.mcs.anl.gov/otc/Guide/faq/linear-programming-faq.html
Servidor NEOS, gua de software de Programacin Lineal:
http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/linearprog.html

Servidor Neos, ejemplo problema de la dieta:


http://wwwfp.mcs.anl.gov/otc/Guide/CaseStudies/diet/index.html
Gua de software de Programacin Lineal en revista OR&MS Today
(INFORMS Magazine)
http://lionhrtpub.com/softwaresurveys.shtml

También podría gustarte