Escolar Documentos
Profissional Documentos
Cultura Documentos
Volver al bloque 3
77
max
s.a.:
f ( X ) = c1 x1 + K + c n xn
a11 x1 + K + a1 n xn b1
a m1 x1 + K + amn xn bm
xi 0, i = 1, K , n
Dual:
min
s.a.:
g (Y ) = b1 y1 + K + bm ym
a11 y1 + K + am1 ym c1
a1n y1 + K + amn ym cn
yi 0, i = 1, K , m
Se pueden resumir primal y dual en un cuadro como el que sigue, donde el primal
se lee verticalmente y el dual de forma horizontal:
78
PROGRAMAS
a11
a12
a1 n
a m1
am 2
amn
DUAL (MIN.)
y1 0
y2 0
PRIMAL (MAX.)
x1 0
ym 0
c1
c2
cn
b1
xn 0
bm
variables
relacin
constantes
2. Duales asimtricos:
a)
Primal:
max
s.a.:
f ( X ) = c1 x1 + K + c n xn
a11 x1 + K + a1 n xn = b1
a m 1 x1 + K + a mn xn = bm
xi 0, i = 1, K , n
Dual:
min
s.a.:
g (Y ) = b1 y1 + K + bm ym
a11 y1 + K + am1 ym c1
a1n y1 + K + amn ym cn
y i , i = 1, K , m , no restringidas en signo
b)
Primal:
min
s.a.:
f ( X ) = c1 x1 + K + c n xn
a11 x1 + K + a1 n xn = b1
a m 1 x1 + K + a mn xn = bm
xi 0, i = 1, K , n
Dual:
max
s.a.:
g (Y ) = b1 y1 + K + bm ym
a11 y1 + K + am 1 y m c1
a1 n y1 + K + a mn y m c n
y i , i = 1, K , m , no restringidas en signo
79
PROGRAMAS
DUAL MIN.
(MAX.)
a11
a12
a m1
am 2
amn
y1
( )
c1
y2
ym
( )
c2
K
K
( )
b1
xn 0
bm
variables
relacin
constantes
cn
Nota:
Sin distinguir en el caso de duales simtricos o asimtricos, podemos formular una
tabla general, que rene las relaciones entre el problema primal y dual, sea cual sea
su formulacin:
VARIABLES
Problema de
minimizacin
0
0
no restringidas
RESTRICCIONES
Problema de
maximizacin
RESTRICCIONES
0
0
no restringidas
VARIABLES
80
Ejemplos:
Volver a
problema
primal
1.
Primal:
max
s.a.:
2 x1 + x2
x1 + 5 x2 10
x1 + 3x2 6
2 x1 + 2 x 2 8
x1 , x2 0
2.
Dual
min
s.a.:
10 y1 + 6 y 2 + 8 y3
y1 + y2 + 2 y3 2
5 y1 + 3 y 2 + 2 y3 1
y1 , y 2 , y3 0
Primal
min
s.a.:
5 x1 + 2 x2 + x3
2 x1 + 3x 2 + x3 20
6 x1 + 8x 2 + 5 x3 30
7 x1 + x2 + 3x3 40
x1 + 2 x 2 + 4 x3 50
x1 , x2 , x3 0
max
s.a.:
20 y1 + 30 y2 + 40 y3 + 50 y 4
2 y1 + 6 y 2 + 7 y3 + y 4 5
3 y1 + 8 y 2 + y3 + 2 y 4 2
y1 + 5 y 2 + 3 y 3 + 4 y4 1
y1 , y 2 , y3 , y 4 0
81
3.
Primal
min
s.a.:
x1 + 3x 2 2 x3
4 x1 + 8x 2 + 6 x3 = 25
7 x1 + 5 x2 + 9 x3 = 30
x1 , x2 , x3 0
4.
Dual
max
s.a.:
25 y1 + 30 y2
4 y1 + 7 y 2 1
8 y1 + 5 y 2 3
6 y1 + 9 y2 2
y1 , y2 no restringidas en signo
Primal
max
s.a.:
3x1 + x 2
x1 + x2 = 7
2 x1 + 3x 2 = 8
x1 , x2 0
min
s.a.:
7 y1 + 8 y2
y1 + 2 y 2 3
y1 + 3 y 2 1
y1 , y2 no restringidas en signo
Nota:
La forma del dual asimtrico (ejemplos 3 y 4) est determinada exclusivamente por
la forma del dual simtrico. Si pasamos a forma estndar el problema con
restricciones de desigualdad y calculamos el dual, que sera dual asimtrico, el
problema que se obtiene es el mismo que le correspondera al primal como dual
simtrico. Por ejemplo:
82
max
s.a.:
f ( X ) = c1 x1 + K + c n xn
a11 x1 + K + a1 n xn b1
a m1 x1 + K + amn xn bm
xi 0, i = 1, K , n
f ( X ) = c1 x1 +
s.a.:
a11 x1 +
a m1 x1 +
cn xn + 0 xnH+ 1 +
a1n xn + x nH+ 1 = b1
amn xn + xnH+ m = bm
0 x nH+ m
xi 0, i = 1, K , n , xnH+ j 0, j = 1, K , m
El correspondiente dual asimtrico de este ltimo problema primal es:
min
s.a.:
g (Y ) = b1 y1 + K + bm ym
a11 y1 + K + am1 ym c1
a1n y1 +
amn ym cn
y1 0
ym 0
Es el mismo que el dual simtrico que le correspondera al problema sin
transformar en su formulacin estndar.
Una vez visto que los duales simtricos pueden convertirse en asimtricos
utilizando variables de holgura, vamos a enunciar un teorema de dualidad vlido
para ambos.
83
Teorema:
Sea P un problema de Programacin Lineal cuya regin de factibilidad es F, y sea
D su problema dual de regin de factibilidad G. Entonces:
i)
Si X F , Y G , se cumple que f ( X ) g (Y ) .
g (Y ) = b1 y1 + K + bm ym
a11 y1 + K + am1 ym c1
a1n y1 + K + amn ym cn
yi 0, i = 1, K , m
84
g (Y ) = b1 y1 +
s.a.:
a11 y1 +
am 1 ym y mH + 1 = c1
a1n y1 +
amn ym y mH+ n = cn
bm y m + 0 y mH+ 1 +
0 ymH + n
yi 0, i = 1, K , m , ymH+ j 0, j = 1, K , n
Su dual sera:
max
s.a.:
f ( X ) = c1 x1 + K + c n xn
a11 x1 + K + a1 n xn b1
a m1 x1 +
amn xn bm
x1 0
xn 0
max
s.a.:
Z = CX
AX = b
X 0
85
max
s.a.:
Z = CB X B + CN X N
BX B + NX N = b
X B, X N 0
La solucin de este problema consiste en hacer que el vector no bsico X N sea cero,
y resolver el vector bsico en trminos de la base B, es decir:
BX B + NX N = b BX B = b X B = B 1b
y la funcin objetivo ser:
Z = CB X B + CN X N = C B X B = CB B 1 b
Ahora bien, la funcin objetivo dual es g (Y ) = bT Y = Y T b , y en el ptimo el valor de
la funcin objetivo primal coincide con el valor ptimo de la funcin objetivo dual,
esto es, Z (X * ) = g (Y * ) . Por lo tanto:
Z ( X * ) = g (Y * ) CB* (B* ) b = (Y * ) b CB* (B* ) = (Y * )
1
En los casos particulares que estudiaremos, este valor no hace falta calcularlo
explcitamente si hemos resuelto el primal aplicando el algoritmo del Simplex,
puesto que en la ltima tabla:
Volver a
Primal-Dual
Variables bsicas
Valor de las
variables
bsicas
Variables originales
Variables de holgura
B1A
B1
XB
X B = B 1b
C CB B 1 A
Solucin ptima primal
86
CBB1
Ejemplo:
max
s.a.:
Paso a
forma
estndar
max
s.a.:
4 x1 + 3 x2
2 x1 + 3 x2 18
4 x1 + 3 x2
2 x1 + 3x 2 + x3H = 18
4 x1 + 2 x2 + x 4H = 10
x1 , x2 , x3H , x4H 0
4 x1 + 2 x 2 10
x1 , x2 0
Introduciendo las variables de holgura. La ltima tabla es:
x1
x2
x3H
x 4H
x3H
-4
-3/2
x2
1/2
-2
-3/2
3
Y * = 0,
2
*
X = (0,5)
f (X * ) = g (Y * ) = 15
El dual sera:
Sobre el
Dual
min
18 y1 + 10 y2
max
s.a.:
2 y1 + 4 y 2 4
s.a.:
2 y1 + 4 y 2 y3H + y5A = 4
18 y1 10 y2 My5A My6A
3 y1 + 2 y2 3
3 y1 + 2 y 2 y4H + y6A = 3
y1 , y 2 0
87
Paso a
forma
estndar
min
5 x1 + 6 x2
max
s.a.:
5 x1 + 2 x2 20
s.a.:
5 x1 + 2 x2 x3H + x5A = 20
5 x1 6 x2 Mx5A Mx6A
3x1 + 8 x2 24
x1 , x2 0
Si calculamos su dual:
max
s.a.:
Clculo
del Dual
max
s.a.:
20 y1 + 24 y2
5 y1 + 3 y2 5
20 y1 + 24 y2
5 y1 + 3 y2 + y3H = 5
2 y1 + 8 y 2 + y4H = 6
y1 , y 2 , y 3H , y4H 0
2 y1 + 8 y2 6
y1 , y 2 0
Se ve que es ms fcil aplicar el Simplex al estndar del dual que al del primal.
La ltima tabla es:
y1
y2
11/17
10/17
y1
y2
y3H
y4H
1
0
0
1
---------
---------
-56/17
-30/17
Lo que realmente nos interesa es el valor de los costes en la tabla final, por eso
dejamos sin rellenar huecos en esa tabla que no aportan nada a la solucin que
buscamos. As:
Soluciones
ptimas
11 10
Y * = , ,
17 17
88
56 30
X * = , ,
17 17
f (X * ) = g (Y * ) =
460
17
c1 x1 + K + cn xn
a11 x1 + K + a1 n xn b1
a m1 x1 + K + amn xn bm
xi 0, i = 1, K , n
89
Por ltimo, el precio de cada unidad de nutriente yi debe ser positivo. Con todo
esto, planteamos el dual:
max
s.a.:
b1 y1 + K + bm y m
a11 y1 + K + am1 ym c1
a1n y1 + K + amn ym cn
yi 0, i = 1, K , m
Algoritmo.
Paso 1:
Paso 2:
90
min
j = 1, , n
K
aij
aij < 0 =
ck
aik
Ntese que los problemas ideales para resolver mediante este algoritmo son
aquellos de minimizacin que incluyen restricciones del tipo mayor o igual, y
cuyas desigualdades contienen coeficientes positivos. As, el problema de la dieta
es un candidato para aplicarle este procedimiento.
Ejemplo:
min
s.a.:
3x1 + 4 x2 + 5 x3
x1 + 2 x2 + 3x3 5
2 x1 + 2 x2 + x3 6
x1 , x2 , x3 0
max
s.a.:
3 x1 4 x2 5x3
x1 2 x2 3x3 5
2 x1 2 x2 x3 6
x1 , x2 , x3 0
91
max
3 x1 4 x2 5x3
s.a.:
x1 2 x2 3x3 + x 4H = 5
2 x1 2 x2 x3 + x5H = 6
x1 , x2 , x3 , x 4H , x5H 0
La tabla inicial con la que comenzar a iterar, siguiendo los pasos del Algoritmo
Dual del Simplex, es la siguiente:
paso 2
x 4H
x5H
-5
-6
x1
x2
x3
x 4H
x5H
-1
-2
-2
-2
-3
-1
1
0
0
1
-3
-4
-5
paso 3
3 4 5 3
,
,
=
2
2 2 1
min
paso 2
x 4H
x1
-2
3
x1
x2
x3
x 4H
x5H
0
1
-1
1
-5/2
1/2
1
0
-1/2
-1/2
-1
-7/2
-3/2
paso 3
92
1 7 2 3 2
,
,
=1
1 5 2 1 2
min
2
1
x2
x1
x1
x2
x3
x 4H
x5H
0
1
1
0
5/2
-2
-1
1
1/2
-1
-1
-1
-1
paso 2
Todas las variables bsicas son positivas, por lo que el algoritmo termina con la
solucin ptima:
x1* = 1 ,
x2* = 2 ,
x3* = 0 ,
Z * = 11
Ejemplo:
min
s.a.:
Z = 2 x1 + x 2
3x1 + x 2 3
max
s.a.:
Z = 2 x1 x2
H
3 x1 x2 + x3 = 3
4 x1 3 x2 + x4H = 6
H
x1 2 x 2 + x5 = 3
4 x1 + 3x 2 6
x1 + 2 x2 3
x1 , x2 0
x1 , x2 , x3H , x 4H , x5H 0
93
paso 2
x1
x2
x3H
x 4H
x5H
x3H
-3
-3
-1
H
4
H
5
-6
-3
-4
-1
-3
-2
0
0
1
0
0
1
-2
-1
x
x
paso 3
paso 4
paso 2
x1
x2
x3H
x 4H
x5H
x3H
-1
-5/3
-1/3
x2
x5H
2
1
4/3
5/3
1
0
0
0
-1/3
-2/3
0
1
-2/3
-1/3
x1
x2
x3H
x 4H
x5H
1
0
0
0
1
0
-3/5
4/5
1
1/5
-3/5
-1
0
0
1
-2/5
-1/5
paso 3
paso 4
x1
x2
x5H
3/5
6/5
0
paso 2
Todas las variables bsicas son positivas, por tanto el algoritmo concluye con la
solucin ptima:
x1* = 3 5 ,
x2* = 6 5 ,
Z * = 12 5
Ir al bloque 5
94