Professional Documents
Culture Documents
Informacin de inters:
* Cj
* columna de la v. que entra
*b
Ejemplo:
Max Z = 3x1 + 2x2
- x1 + 2x2 + x3 = 4
3x1 + 2x2 + x4 = 14
x1 - x2 + x5 = 3
xi 0
Tabla 2
1 0 1
= CB B-1 = (0,0,3) 0 1 -3
0 0 1
= (0,0,3)
Tabla 3
1 -1/5 3/5
= CB B-1 = (0,2,3) 0 1/5 -3
0 1/5 2/5
= (0,1,0)
15
CB
0
0
0
CB
0
0
3
CB
0
2
3
CB
0
2
3
Cj
Base
x3
x4
x5
_
Cj
3
x1
-1
3
1
2
x2
2
2
-1
0
x3
1
0
0
0
x4
0
1
0
0
x5
0
0
1
b
4
14
3
Z=0
Base
x3
x4
x1
_
Cj
x1
0
0
1
x2
1
5
-1
x3
1
0
0
x4
0
1
0
x5
1
-3
1
b
7
5
3
-3
Z=9
Base
x3
x2
x1
_
Cj
x1
0
0
1
x2
0
1
0
x3
1
0
0
x4
-1/5
1/5
1/5
x5
8/5
-3/5
2/5
b
6
1
4
-1
Z = 14
Base
x5
x2
x1
_
Cj
x1
0
0
1
x2
0
1
0
x3
5/8
3/8
-1/4
x4
-1/8
1/8
1/4
x5
1
0
0
b
15/4
13/4
5/2
-1
Z = 14
16
Max (o Min) Z = Cx
Ax = b
x0
1xn x=
x1
...
xm
nx1
xn
A=
A=
a11
a21
...
a12
a22
...
...
...
...
a1n
a2n
...
mxn b=
b1
b2
...
am1
am2
...
amn
m<n
bm
[ P1
P2
Pn ]
Pi =
mx1
a1i
a2i
ami
mx1
i = 1, ..., n
Supongamos que tenemos una solucin factible con variables bsicas x1 ... xm
La matriz bsica B ser:
B = (P1 ...
matrix m x m
xB
x=
xN
a11
a21
Pm) = ...
am1
x1
x2
xm
xm+1
xn
a12
a22
...
am2
...
...
...
...
a1m
a2m
...
amm
xB variables bsicas
xN variables no bsicas = 0
17
_
b2
-1
La solucin bsica actual es xB = b =B b =
__
bm
y xN =
...
( 0 ).
_
b
xB
Z = Cx = (CB CN)
= (CB, CN)
xN
_
= CB xB + CN xN = CB b
y cualquier columna:
_
_
Pj = B-1 Pj
j de las variables no bsicas
Se llama vector de multiplicadores al vector = (1, 2, ..., m)
= CB B-1
(mxm)
(1xm)
A partir de este vector, se pueden calcular los beneficios relativos:
Cj = Cj - CBPj = Cj - CBB-1Pj = Cj - Pj
j de variables no bsicas
18
Ejemplo:
Min Z = -3x1 + x2 + x3
sujeto a
x1 2x2 + x3 11
-4x1 + x2 + 2x3 3
2x1
- x3 = -1
xi 0
Min Z = -3x1 + x2 + x3 + Mx6 + Mx7
x1 - 2x2 + x3 + x4
= 11
-4x1 + x2 + 2x3
x5 + x6
=3
-2x1
+ x3
+ x7 = 1
xi 0
A=
[ P1
P1 =
1
-4
-2
P7 =
0
0
1
P2
P2 =
-2
1
0
b=
11
3
1
P6 ]
P3 =
1
2
1
P4 =
1
0
0
P5 =
0
-1
0
P6 =
1
0
0
0
1
0
0
0
1
_
b = B-1b = b
-1
B =I
1
0
0
B-1
0
1
0
0
0
1
_
b
11
3
1
A completar
ms adelante
j = 1, 2, 3, 5
19
0
1
0
_
C1 = -3 (0, M, M)
1
-4
-2
= -3 + 6M
_
C2 = 1 (0, M, M)
-2
1
0
=1M
_
C3 = 1 (0, M, M)
1
2
1
= 1 3M
_
C5 = 0 (0, M, M)
0
-1
0
=M
0
1
0
0
0
1
1
2
1
1
2
1
Tabla 1.
x4
x6
x7
_
b
11
3
1
B-1
Base
1
0
0
0
1
0
0
0
1
_
Columna pivote P3
1
2
1
-1
B =
_
11
-1
-1
b=B b=B 3
1
1
0
0
0
1
0
10
1
1
-1
-2
1
20
1
0
0
0
1
0
1
2
1
B-1
Base
x4
x6
x3
1
0
0
0
1
0
-1
-2
1
= -1
_
C5 = M
_
entra x2 en la base P2 = B-1 P2 = B-1
-2
1
0
-2
1
0
Tabla 2.
B-1
Base
x4
x6
x3
1
0
0
0
1
0
0
0
1
_
b
10
1
1
_
P2
-2
1
0
12
1
1
B-1
Base
x4
x2
x3
= (0, 0, 1)
1
0
0
1
0
0
2
1
0
2
1
0
-5
-2
1
-5
-2
1
_
b
12
1
1
= (0, 1, -1)
21
1
0
0
2
1
0
-5
-2
1
_
P1 =
1
0
0
2
1
0
-5
-2
1
1
-4
-2
3
0
-2
_
C5 = 1
Tabla 3.
B-1
Base
x4
x2
x3
1
0
0
2
1
0
-5
-2
1
_
b
12
1
1
_
P1
3
0
-2
Tabla 4.
B-1
Base
1
x1
x2
x3
-5/3
-2
-7/3
/3
1
4
/3
-5/3
-2
-7/3
/3
0
2
/3
1
/3
= (-3, 1, 1) 0
2
/3
_
C4 = 1/3
_
C5 = 1/3
/3
1
4
/3
2
_
b
4
1
9
= [-1/3, 1/3, 2/3]
= -2
22
23
2x1
La teora de la dualidad se centra en el hecho de que, asociado a cualquier problema
de programacin lineal, existe otro problema de programacin lineal que se llama su dual,
de manera que al resolver el primero se resuelve tambin el segundo sin coste
computacional adicional.
Problemas primal-dual simtrico. Propiedades y relaciones de los problemas primal y
dual.
Un problema de programacin lineal est escrito en forma simtrica si todas las
variables son no negativas, y todas las restricciones son desigualdades (si el problema es de
maximizar, con , y si es de minimizar, con ).
PRIMAL
Max Z = Cx
Ax b
x0
Min Z = Cx
Ax b
x0
x1
xn
a11
a21
...
am1
x1
x2
xn
x1
x2
xn
a12
a22
...
am2
...
...
...
...
a1n
a2n
...
amn
b1
b2
...
bm
24
DUAL
Min W = by
yA C
y = (y1, y2, , ym)
y0
1.
2.
3.
4.
5.
6.
Problema Dual
Min W = by
yA C siendo A la matriz
y 0 traspuesta de la matriz A
del problema primal (yA
Atyt)
Amxn
x n variables
b m restricciones
y m variables
C n restricciones
Teoremas de la dualidad.
Teorema 1 (Teorema dbil de la dualidad).
Consideremos los problemas de programacin lineal primal-dual simtricos:
Max Z = Cx
Ax b
x0
Min W = yb
yA C
y0
25
Se tiene que el valor de la funcin del objetivo del problema dual (para toda solucin
factible del dual) es siempre mayor o igual que el valor de la funcin del objetivo primal (en
cualquier solucin factible del problema primal).
Demostracin.
Sean x0 e y0 solucin factible del primal y dual, respectivamente
x0 solucin factible del problema primal Ax0 b
(1)
x0 0
y0 solucin factible del problema dual y0A C
(2)
y0 0
(la solucin factible cumple las restricciones)
(1) y0Ax0 y0b
(2) y0Ax0 Cx0
Entonces
(pues y0 0)
(pues x0 0)
Cx0 y0Ax0 y0b
Z0 (primal)
W0 (dual)
(Z y W funciones objetivo)
Corolarios.
1) El valor de la funcin del objetivo Z del problema primal para cualquier solucin
factible del primal es una cota inferior para el valor mnimo de la funcin del
objetivo dual.
2) Anlogamente, el valor de la funcin del objetivo del problema dual para
cualquier solucin factible es una cota superior para el valor mximo de la
funcin del objetivo primal.
3) Si el problema primal tiene solucin no acotada entonces el problema dual no
tiene ninguna solucin factible.
4) Anlogamente, si el problema dual tiene solucin no acotada entonces el primal
no tiene ninguna solucin factible.
5) Si el problema primal tiene solucin, y el dual no, entonces el primal es no
acotado.
6) Si el problema dual tiene solucin, y el primal no, entonces el dual es no acotado.
7) Si el primal no tiene solucin el problema dual no tiene solucin o es no
acotado.
8) Si el problema dual no tiene solucin el problema primal no tiene solucin o
es no acotado.
26
Ejemplo 1.
Primal
Dual
ej.
Ejemplo 2.
Primal
Dual
Max Z = x1 + x2
- x1 + x2 + x3 2
-2x1 + x2 - x3 1
xi 0
Min W = 2y1 + y2
- y1 + 2y2 1
y1 + y2 1
y 1 - y2 0
yi 0
El primal tiene solucin (por ejemplo x0 = (0, 0, 0) es una solucin factible del
primal).
Pero el dual no tiene ninguna solucin factible (si yi 0, - y1 - 2y2 siempre 0).
Por el corolario 5, el primal tiene solucin no acotada.
Ejemplo 3.
Primal
Dual
27
Primal
En el Ejemplo 1
Max Z = x1 + 2x2 + 3x3 + 4 x4
Sujeto a
x1 + 2x2 + 2x3 + 3x4 20
2x1 + x2 + 3x3 + 2x4 20
xi 0
Dual
si tomamos:
x0 = (0, 0, 4, 4)
Z0 = 28
y0 = (12, 02)
W0 = 28
28
x1
x20
A
xn0
b1
b2
bm
U1 0
U2 0
Um 0
b1
b2
bm
(*)
(**)
Ax0 + U0 = b U0 = b - Ax0
y0A V0 = C V0 = y0A - C
El teorema 4 dice:
x0 e y0 son soluciones ptimas ptimas (y0A - C)x0 + y0(b - Ax0) = 0 V0x0 + y0U0 = 0
x1 0
x2 0
xn 0
U1 0
U2 0
Um 0
Vj 0xj 0 = 0
j=1n
j=1
j=1
yj 0Uj 0 = 0
j=1m
Vj 0xj 0 + yj 0Uj 0 = 0
Vj 0 xj 0 = 0
v. primal j-sima
holgura dual j-sima
yj 0Uj 0 = 0
v. dual j-sima
29
=0
sistema o condiciones
de holguras
complementarias
holgura primal
1)
2)
3)
4)
Se obtiene:
Si xj 0 > 0 Vj 0 = 0
Si Vj 0 > 0 xj 0 = 0
Si yj 0 > 0 Uj 0 = 0
Si Uj 0 > 0 yj 0 = 0
Ejemplo 1:
Max Z = x1 + 2x2 + 3x3 + 4 x4
Sujeto a
xi, Ui 0
y1 + 2y2 1
2y1 + y2 2
2y1 + 3y2 3
3y1 + 2y2 3
yi 0
y1 + 2y2 - V1 = 1
2y1 + y2 - V2 = 2
2y1 + 3y2 - V3 = 3
3y1 + 2y2 - V4 = 4
yi, Vi 0
y10 = 12
y20 = 02
W0 = 28
x0 = (0, 0, 4, 4)
Zopt = 28
Primal
Max Z = 2x1 3x2
Sujeto a
6x1 3x2 15
2x1 + 3x2 5
- x1 + 4x2 = -1
x1 cq signo, x2 0
Cualquier problema no simtrico puede convertirse en uno equivalente que s lo sea
Max Z = Cx
Ax b
x0
x1 = x1' x2'
x2 = - x3'
- x1 + 4x2 = -1
x1', x2' 0
x3 ' 0
- x1 + 4x2 -1 x1 - 4x2 1
- x1 + 4x2 -1
Dual
Min W = 15w1 - 5w2 w3 + w4
Sujeto a
6w1 2w2 + w3 - w4 2
-6w1 + 2w2 - w3 + w4 -2
3w1 + 3w2 + 4w3 4w4 3
wi 0
Min W = wb
wA C
w0
Llamamos
y1 = w1 0
y2 = - w2 0
y3 = w3 - w4 0
31
6y1 + 2y2 + y3 = 2
3y1 3y2 + 4y3 3
PRIMAL (Maximizar)
DUAL (Minimizar)
A matriz de coeficientes
Traspuesta
Vector de constantes de la Vector de coeficientes de la f.
derecha
objetivo
Vector de coeficientes de la f. Vector de constantes de la
objetivo
derecha
i-sima restriccin con =
Variable i-sima de cualquier
signo
i-sima restriccin con
Variable i-sima 0
i-sima restriccin con
Variable i-sima 0
Variable j de cualquier signo
Restriccin j con =
Variable j 0
Restriccin j con
Variable j 0
Restriccin j con
32
Ejercicio 1.
Primal
Max Z = x1 + 4x2 + 3x3
2x1 + 3x2 5x3 2
3x1 - x2 + 6x3 1
x1 + x2 + x3 = 4
x1 0, x2 0, x3 cq signo
Dual
Min W = 2y1 + y2 + 4y3
2y1 + 3y2 + y3 1
3y1 - y2 + y3 4
-5y1 + 6y2 + y3 = 3
y1 0, y2 0, y3 cq signo
Ejercicio 2.
Primal
Min Z = 2x1 + x2 - x3
x1 + x2 - x3 = 1
x1 - x2 + x3 2
x2 + x3 3
x1 0, x2 0, x3 cq signo
Dual
Max W = y1 + 2y2 + 3 y3
y1 + y2 2
y1 - y2 + y3 1
-y1 + y2 + y3 = -1
y1 cq signo, y2 0, y3 0
Los teorema del 1 al 4 de la teora de la dualidad tambin se aplican a los problemas
asimtricos, con las modificaciones correspondientes.
En el Ejercicio 2:
x1 0 = 2
x2 0 = 0
solucin factible primal
0
x3 = 1
y10 = 1
y20 = 0
y30 = 0
33
y1 0 = 0
y20 = 0
y30 = 3
W0 = 12
Por el teorema 2 ambas son soluciones ptimas.
Si el problema viene en forma estndar:
Max Z = Cx (Min) su dual es
Ax = b
x0
Min W = yb
yA C
y cq signo
Max W = yb
yA C
y cq signo
34
Clculo de la solucin ptima del problema dual a partir de la tabla ptima del
problema primal.
Consideremos el problema de programacin lineal en forma estndar:
Min Z = Cx
(dual) Max W = yb
Ax = b
yA C
x0
y cq signo
xB
Sea x0 =
la solucin ptima del primal.
xN
xB = B-1b, siendo B la base ptima
_
Cj = Cj Pj 0
j por ser solucin ptima donde = CBB-1
En notacin matricial C A 0 A C el vector es una solucin factible
del problema dual.
Adems W() = b = CBB-1b = CBxB = Zptimo es ptima del problema dual.
35
Ejemplo:
Primal
Min Z = -3x1 + x2 + x3
x1 - 2x2 + x3 11
-4x1 + x2 + 2x3 3
-2x1 + x3 = 1
xi 0
Dual
Max W = 11y1 + 3y2 + y3
y1 - 4y2 2 y3 - 3
-2y1 + y2
1
y1 + 2y2 + y3 1
y1 0, y2 0, y3 cq signo
Resolvemos el problema primal: la solucin ptima es B = [P1 P2 P3]
x1 = 4
x2 = 1
x3 = 9
Z0 = -2
-1
1
1
-2
1
/3 2/3
-5/3
= CBB-1 = (-3, 1, 1) -4
1
2
= (-3, 1, 1) 0 1
-2 = [-1/3, 1/3, 2/3]
2
4
-2
0
1
/3 /3
-7/3
Se comprueba que es solucin factible del problema dual y que
W() = 11(-1/3) + 3(1/3) + 1(2/3) = -2
36
_
Cj
Sean {i1, i2, , im} los ndices de las variables bsicas de la primera tabla del Simplex:
1 tabla
Base
xi1
xi2
xim
x1
x2
xi1
1
0
xi2
0
1
xim
0
0
_
xn
En cualquier tabla, B-1 aparece en las columnas de las variables bsicas iniciales.
xi1
xi2
xim
Ci1
_
Ci2
_
37
Cim
0
1
0
0
_ _
_
= (Ci1, Ci2, , Cim) (Ci1, Ci2, , Cim)
1
Amxn
x=
b=
b1
bm
A = (P1 Pn)
C = (C1, , Cn)
x1
xn
m<n
xB
xN
con xB = B-1b 0
38
Cj
base
x5
x6
_
1
x1
-1
2
4
x2
-2
1
0
x3
1
-4
3
x4
-1
-1
0
x5
1
0
0
x6
0
1
Cj
b
-3
-2
-1
-1
39
Situacin general.
_
Base
x1
xr
xm
xm+1
xs
xn
b
_
x1
y1,m+1
y1s
y1n
b1
xr
yr,m+1
yrs
yr n
br
Alguno
menor
que cero
_
xm
yn,m+1
yns
ymn
bm
_
0
Cj
Cm+1
Cs
Cn
(min)
El mtodo del simplex dual va a calcular una solucin factible bsica dual adyacente,
reemplazando una variable bsica por una variable no bsica.
1. Seleccin de la variable bsica que deja la base.
_
Se elige la variable bsica con el mayor valor negativo bi.
Sea br = min {bi} xr deja la base, y la fila r es la fila pivote.
bi < 0
2. Seleccin de la variable no bsica que entra en la base (Regla de la mxima proporcin).
40
c
cs
= max j
yrs y rj < 0 yrj
41
0
_
CB
base
x1
x2
x3
x4
x5
x6
1
0
x1
x6
_
1
0
2
-3
-1
-2
1
-3
-1
2
0
1
Cj
sale x6
proporciones:
x2
x3
x4
_
Cj
2
1
2
yij
-3
-2
-3
b
3
-8
-2/3 = -066
-1/2 = -05
-2/3 = -066
base
x1
x2
x3
x4
x5
x6
1
0
x1
x3
_
1
0
0
1
-2
-1
-1/2
-1/2
/2
3
/2
/2
3
/2
1
1
0
0
/2
/2
_ _
Tabla ptima Cj y b 0
Solucin ptima del problema de programacin lineal.
Cj
/2
b
7
4
0
0
Z=7
OBSERVACIONES.
1.-) Resolucin de problemas de maximizacin por el mtodo del simplex dual.
*La regla de salida es igual
* Cambia la regla de entrada, que ahora va a ser de la mnima proporcin
cj
cs
= min
yrs yrj <0 yrj
2.-) Qu sucede si falla el criterio de entrada? Es decir, todos los yij de la fila de la
variable que sale son 0.
Entonces el problema no tiene solucin. Por qu: ejercicio?
42
43
(trabajo)
(material)
CB
base
x1
x2
x3
x4
x5
0
0
x4
x5
_
/3
7
/3
1
0
0
1
b
1
3
Z=0
/4
/4
0
1
-1/4
7
/4
1
0
-1/4
3
/4
/4
-17/4
-9/4
Z = 27/4
x1
x2
_
1
0
0
1
-1
2
4
-1
-1
1
1
2
Cj
-3
-5
-1
Z=8
Tabla1
Cj
/3
1
/3
2
/3
4
/3
Tabla2
0
3
x4
x2
_
Cj
1
9
/4
/4
Tabla3
2
3
x1 = 1
x2 = 2
Zopt = 8
Solucin ptima
44
P1 =
/3
/3
P2 =
/3
/3
P3 =
/3
/3
1
P4 =
0
P5 =
C = (2,3,1,0,0)
1
b=
3
Max Z = Cx
Ax = b
x0
1xn x=
x1
...
xm
nx1
xn
A=
A=
a11
a21
...
a12
a22
...
...
...
...
a1n
a2n
...
mxn b=
b1
b2
...
am1
am2
...
amn
m<n
bm
[ P1
P2
Pn ]
Pi =
a1i
a2i
ami
mx1
mx1
i = 1, ..., n
Supongamos que tenemos una solucin factible obtenida a partir de una base B
La solucin bsica
xB = b = B 1b
Z = CBb
cualquier columna:
45
Pj = B 1Pj
= CB B-1
Los beneficios relativos:
c j = c j Pj = c j cB B 1Pj = c j cB Pj
46
j de variables no bsicas
_
C3 = C3 - 4 0 C3 4
_
Si, por ejemplo C3 = 6 C3 = 2
base
CB
2
6
x1
x2
x3
x4
x5
x1
x3
_
1
0
/2
/2
0
1
/2
-1/2
- /2
1
/2
b
2
1
Cj
-1
-4
-2
Z = 10
ptima
1.2 Cambio en el Cj de una variable bsica.
Analicemos, por ejemplo, como se altera la tabla ptima modificando C1:
_
_
x1 y x2 estn en la base C1 = C2 = 0
_
_
C3 = C3 - CBP3 = 1 (C1,3)
-1
2
_
4
C4 = 0 (C1,3)
-1
= -4C1 + 3
_
-1
C5 = 0 (C1,3)
1
= C1 - 3
= C1 - 5
47
3/4
0
/4
xB = b = B 1b
es el vector solucin
-1
-1
-1
-1
B =
5
=
-1
=CBB
-1
-1
-1
= (2,3)
= (5,1)
Ahora bien, para que los precios sombra no den informacin errnea, debemos
calcular cul es el campo de variacin de los bi en el que la solucin sigue siendo ptima.
Lo calculamos, por ejemplo, para b1:
b1
b* =
3
Para que la tabla 3 siga siendo ptima, es preciso que B-1b* 0
4 -1
b1
4b1 3
4b1 3 0 b1 3/4
-1
B b* =
=
0
-b1 + 3 0 b1 3
-1
1
3
-b1 + 3
49
13
-1
La tabla 3 queda:
_
base
x1
x2
x3
x4
x5
x1
x2
_
1
0
0
1
-1
2
4
-1
-1
1
Cj
-3
-5
-1
b
13
-1
Esta tabla no es factible primal, pero s factible dual aplicamos el Mtodo del
Simplex Dual:
x2 deja la base y entra x4
_
base
x1
x2
x3
x4
x5
b
9
0
1
0
Zopt = 18
x1
x4
base
2
3
0
x1
x2
x3
x4
x5
x6
x1
x2
x6
_
1
0
1
0
1
2
-1
2
1
4
-1
0
-1
1
0
0
0
1
Cj
-3
-5
-1
b
1
2
4
(3F 1F - 2(2F))
_
CB
base
x1
x2
x3
x4
x5
x6
x1
x2
x6
1
0
0
0
1
0
-1
2
-2
4
-1
-2
-1
1
-1
0
0
1
-3
-5
-1
b
1
2
-1
_
Cj
x1
x2
x5
2
1
1
51
Observaciones.
Tiempo de resolucin de un p.p.l f(m3), siendo m el nmero de restricciones
A) Quitar restricciones inactivas o secundarias.
B) Resolver
C) Aadir y comprobar si las restricciones de A) son verificadas por la solucin ptima.
Programacin paramtrica.
1. Costes (Beneficios) paramtricos
Z = [C + C*] x
Ax = b
x0
C = (C1, C2, , Cn)
C = (C1*, C2*, , Cn*)
Primero se resuelve el problema para = 0. Sea B la base ptima:
_
_
_
Cj 0 (Maximizando)
Cj = Cj - CBPj
_
_
_
_
_
_
Cj() = (Cj + Cj*) (CB + CB*)Pj = (Cj - CBPj) + (Cj* - CB* Pj) = Cj + Cj*
Ejemplo:
Max Z = (2 + )x1 + (3 - )x2 + (1 + )x3
1
/3x1 + 1/3x2 + 1/3x3 1
1
/3x1 + 4/3x2 + 7/3x3 3
xi 0
Cj*
Cj
1
2
-1
3
1
1
52
0
0
0
0
CB
base
1
-1
2
3
x1
x2
x1
x2
x3
x4
x5
1
0
0
1
-1
2
4
-1
-1
1
B
1
2
-3
-5
-1
Z = 8 = CBb
-5
-2
Z * = 1 = C B* b
_
Cj
_
Cj*
_
_
Por ejemplo, C3* = C3* - CB*P3 = 1 (1,-1)
-1
=4
2
Z() = Z + Z* = 8 -
_
C3() = -3 + 4 0 3/4
_
C4() = -5 -5 0 -1
_
C5() = -1 + 2 0 1/2
La solucin sigue siendo ptima si [-1, 1/2].
Si > /2 C5() > 0 ( entra x5 y sale x2)
1
_
base
x1
x2
x3
x4
x5
x1
x5
_
1
0
1
1
1
2
3
-1
0
1
b
3
2
Cj
_
-1
-6
Z=6
Cj*
base
x1
x2
x3
x4
x5
-1/4
-1/4
-2
0
-3
0
Z* = 3
_
_
_
La solucin es ptima si C2(), C3(), C4() 0 ocurre si 1/2 y Z = 6 + 3
_
Para < -1 C4()>0 ( sale x1 y entra x4)
_
x4
/4
53
b
/4
/4
Cj
_
/4
Cj*
/4
/4
-17/4
-9/4
11
/4
-1
54
/4
/4
/4
Z = 27/4
Z* = -9/4
b=
b1
bm
b* =
b + b* =
Resolver para = 0:
55
1+
3-
b1 *
bm*
base
x1
x2
x3
x4
_
b*
5
-2
Z * = 4 = CBb *
x5
x1
x2
_
1
0
0
1
-1
2
4
-1
-1
1
b
1
2
Cj
-3
-5
-1
Z = 8 = CBb
_
b = B-1b =
_
b* = B-1b =
-1
-1
-1
-1
-1
=
-2
x1 = 1 + 5 0 - 1/5
x2 = 2 - 2
01
Zopt = 8 + 4
[- 1/5,1]
Si > 1 x2 < 0 y la solucin actual no es factible, pero s factible dual. Usando el Mtodo
del Simplex Dual obtenemos:
_
3
-1
b
9
-2
b*
-3
2
-6
Z = 18
Z* = -6
CB
base
x1
x2
x3
x4
x5
2
0
x1
x4
_
1
0
4
-1
7
-2
0
1
Cj
-5
-13
x1 = 9 - 3
0 si 3
x2 = -2 + 2 0 si 1
[1,3]
Z = 18 -6
Si > 3 x1 < 0 y la solucin actual no factible. Como en la fila de x1 no hay coeficientes
negativos, el problema es NO FACTIBLE.
Si < - 1/5 x1 < 0 ( por el Mtodo del Simplex Dual sale x1 y entra x5)
base
x5
x1
-1
x2
0
x3
x4
-4
56
b
-1
b*
-5
x5
1
Cj
x2 = 3 + 3
-1
0
-2
-9
Z=9
Z* = 9
x5 = -1 - 5
si -1 < - 1/5
Z = 9 + 9
Si < -1 x2 < 0 problema NO FACTIBLE
57
Sujeto a
x1 2
x2 2
x1+ x2 3.5
x1,x2 0 y enteros.
Soluciones enteras
58
Z=3x1+2x2
Z(0,0)=0
Z(0,1)=2
Z(0,2)=4
Z(1,0)=3
Z(1,1)=5
Z(1,2)=7
Z(2,0)=6
Z(2,1)=8 ptimo
Algoritmo.
Primero resolvemos el problema olvidndonos de la restriccin de variables
enteras (PL-1)
59
x2=1.5
x21
x22
60
PL-2
Maximizar Z = 3x1+2x2
PL-3
Maximizar Z = 3x1+2x2
x1 2
x2 2
x1+ x2 3.5
x2 1
x1,x2 0
x1 2
x2 2
x1+ x2 3.5
x2 2
x1,x2 0
PL-2
61
x1 no es factible (no es entero) para PL-1 pero Z=8.5>8, hay que construir 2
nuevos problemas
PL-4
PL-3 + restriccin x1 1
PL-5
PL-3 + restriccin x1 2
62
63
DETALLES GENERALES
MIP (Mixed Integer Program)
Maximizar Z = CX
Sujeto a
AX = b
X 0
Xj entera para j perteneciente a I = {ndices de las variables enteras}
Se resuelve el MIP sin condiciones enteras. A este problema le llamamos PL-1 con
solucin ptima Z1. Supongamos que la solucin ptima toma valores no enteros en alguna
variable entera, y por lo tanto no es solucin del MIP. S es, en cambio, una cota superior
del valor ptimo de Z en el MIP.
Se elige una variable entera Xj que dio no entera. Si Xj = j, se construyen 2 nuevos
problemas:
64
PL-2:
Maximizar Z = CX
AX = b
Xj jX0
PL3:
Maximizar Z = CX
AX = b
Xj j+
X0
Para elegir la variable Xj en la que hacer la bifurcacin hay las siguientes reglas:
1). A ojo o al azar.
2). Por prioridades, segn...
La variable representa una decisin importante en el problema.
Su coste (o beneficio) es ms grande que en las dems variables.
Decisin segn resolucin anterior del problema.
Como PL-2 y PL-3 son PL-1 con una nueva restriccin aadida, podemos usar el MSD
(Mtodo del Simplex Dual) para encontrar sus soluciones ptimas.
Supongamos que las soluciones ptimas de PL-2 y de PL-3 siguen siendo fraccionarias. El
siguiente paso consiste en seleccionar PL-2 o PL-3 para hacer una nueva ramificacin. Para
ello:
a). Se elige aquel problema cuyo valor ptimo sea el mejor.
b). Se selecciona el problema resuelto ms recientemente (Last-in-First-out rule, LIFO)
Continuamos as la sucesin de ramificaciones y resolucin de p.p.l hasta resolver uno que
tenga solucin entera. El valor de la funcin objetivo en este caso ser una cota inferior del
valor ptimo del MIP original. En este momento podemos dejar de considerar todos
aquellos nodos cuyos valores de Z no sean mejores que la cota inferior. Se dice que esos
nodos han sido saturados.
DEFINICIN: un nodo intermedio est explcita o implcitamente saturado siempre que
se satisfaga una de las siguientes condiciones:
1). La solucin ptima del p.p.l correspondiente es entera.
2). El p.p.l correspondiente es no factible.
3). El valor ptimo de Z para el p.p.l correspondiente no es mejor que la cota inferior
actual.
65
66
Problemas de Transporte.
Consideremos:
M almacenes con existencias a1, a2, , aM
N mercados con demandas b1, b2, , bN
Sea Cij coste por unidad enviada del almacn i al mercado j
i = 1M
j = 1N
Se trata de calcular la cantidad a enviar desde cada almacn hasta cada mercado
minimizando el coste total del transporte.
ALMACN
MERCADO
Sujeto a:
Las restricciones vienen dadas por las capacidades de los almacenes y las exigencias de los
mercados.
1
xi1
xij
i=1,2,,M
existencia
en el almacn
i-simo
67
xiN
x1j
xij
xMj
j=1,2,,N
cantidad
demandada por
el mercado j
M N
sujeto a:
xij ai
j=1
M
xij bj
i=1
i=1M
j=1N
xij 0 i,j
M+N restricciones
MxN variables
i=1
j=1
ai bj
almacenado demandado
M
i=1
j=1
sujeto a:
xij = ai
j=1
M
xij = bj
i=1
i=1M
j=1N
xij 0 i,j
68
i=1
j=1
ai > bj
(I)
(La cantidad enviada es mayor que la cantidad demandada. Habr una cierta cantidad que no
se enviar. Se crea entonces un mercado ficticio, llamado N+1, con demanda precisamente
igual a esa cantidad).
a1
a2
aM
b1
b2
bN
bN+1
j=1
mercado
ficticio
El problema se reescribe:
exceso de mercanca
xi,N+1 i=1,,M
lo que sobra en el almacn i
M N+1
sujeto a:
N+1
xij = ai
j=1
M
xij = bj
i=1
i=1M
j=1N+1
xij 0 i,j
Si:
i=1
j=1
ai < bj
( II )
69
70
almacn
ficticio
N
a1
a2
aM
aM+1
b1
b2
bN
i=1
la prdida en el mercado j
El problema se reescribe:
M+1 N
sujeto a:
xij = ai
i=1M+1
j=1
M+1
xij = bj
j=1N
i=1
xij 0 i,j
El problema de Transporte estndar puede expresarse en forma de tabla con los
datos (ai, bj, Cij).
Mercados
Almacene
s
1
2
x12
x11
C11
3
x13
C21
Existencias
x1N
C12
x22
x21
C13
x23
a1
C1N
x12N
C22
C23
a2
C2N
xi1
xi2
Ci1
xiN
xi1
Ci2
Ci3
ai
CiN
xM1
xM2
CM1
xM3
CM2
xMN
CM3
71
aM
CMN
b1
b2
b3
bN
72
i=1 j=1
i=1
j=1N
xij = bj
i=1
N M
j=1 i=1
j=1
i=1
xij = bj = ai
Sistema de ecuaciones / suma de las M primeras filas = suma de las N restantes
1 ecuacin es linealmente dependiente de las dems El problema de transporte
estndar tiene M+N-1 restricciones linealmente independientes Una solucin factible
bsica necesita M+N-1 variables bsicas.
Hay diferentes mtodos para resolver la solucin factible bsica inicial, nosotros slo
vemos 2.
(1)
Obtencin de una
solucin
factible bsica inicial
(2)
Comprobar si es
ptima
NO
(3)
SI
Se mejora
obteniendo
otra solucin
factible
73
FIN
bsica
(1) Hay varios mtodos: esquina noroeste, coste mnimo, de Vogel, de aproximacin de
Russell
(2) Mtodo U-V
(3) Algoritmo de Steeping-Stone
Mtodo de la esquina noroeste.
Consiste en elegir como variables bsicas (>0) aquellas que ocupen la esquina
noroeste en la tabla de transporte estndar.
M1
A1
A2
10
M2
M3
M4
capacidades
= a1
+
= a2
+
A3
demandas
15
b1
b2
b3
= a3
b4
M1
3
M2
0
M3
0
M4
0
4-3=1
M2
0
M3
0
M4
0
3-3=0
7
5
M1
3
1
0
1-1=0
74
0
7-1=6
5
A1
A2
A3
M1
3
1
0
0
M2
0
3
0
0
M3
0
M4
0
M3
0
3
M4
0
0
4-3=1
M3
0
3
1
0
M4
0
0
4
4
0
6-3=3
5
M1
3
1
0
0
M2
0
3
0
0
0
0
5
M1
3
1
0
0
M2
0
3
0
0
0
0
5-1=4
M1
2
10
7
4
M2
2
8
6
3
M3
2
5
6
4
M4
1
4
8
4
M3
M4
x14 = min{3,4} = 3
M1
M2
75
3
7
5
M1
0
A1
A2
A3
A1
A2
A3
A1
A2
A3
M1
0
M2
0
M3
0
4
0
M1
0
M2
0
0
3
M1
0
2
2
4
A1
A2
A3
M3
0
0
7
5
x24 = min{7,1} = 1
M2
0
0
M2
0
0
3
0
M4
3
1
0
1
0
7
5
0
M4
3
1
0
0
M3
0
4
0
0
M4
3
1
0
0
M3
0
4
0
0
M4
3
1
0
0
0
6
2
5
0
2
5
0
2
2
Z = 79
M2
0
M3
0
M4
3
3
76
1
7
A2
10
0
5
A3
7
4
6
3
6
4
8
4
A1
A2
M4
-1
+1
_
C11 = C11(cambio en x11) + C14(cambio en x14) + C21(cambio en x21) + C24(cambio en
x24) = 2(1) + 1(-1) + 10(-1) + 4(+1) = -5
beneficio
relativo
de C1
M1
M3
M4
A1
A1
A2
10
M4
U1 + V4 = 1
U2 + V1 = 10
U2 + V3 = 5
U2 + V4 = 4
U3 + V1 = 7
U3 + V2 = 6
A3
7
_
C11 - (U1 + V1) = 2 (0+7) = -5
_
C12 = 2 - (0 + 6) = -4
Hacemos
U1 = 0 V4 = 1 U2 = 3 V1 =7 y V3 = 2
U3 = 0 V2 = 6
77
V1 = 7
V2 = 6
V3 = 2
V4 = 1
U1 = 0
U2 = 3
10
U3 = 0
2-7-0 = -5
2-6-0 = -4
V1 = 7
V2 = 6
-5
V3 = 2
-4
U1 = 0
2
0
2
-1
U2 = 3
0
2
10
0
V4 = 1
8
0
1
0
5
4
4
7
U3 = 0
7
3-
3
78
3
3
1+
7
5
(Steeping-Stone)
Nueva solucin factible bsica:
2
0
2
1
3
Z = 69
U1 = 0
V2 = 1
V3 = 2
0
2
2
5
4
10
U2 = 3
U3 = 5
V4 = 1
-1
4
2
4-
+
3
1
1-
3+
3
1
Z = 68
Problemas de Asignacin.
Formulacin general de un problema de asignacin estndar:
Se tienen N mquinas y N trabajos diferentes. Cada mquina puede realizar un nico
trabajo y cada trabajo slo puede efectuarlo una mquina. Se supone que el coste de
realizacin de cada trabajo por cada mquina vara. El problema consiste en resolver qu
trabajo realiza cada mquina de manera que el coste total de realizacin de los N trabajos
sea mnimo.
M1
M2
MN
N mquinas
T1
T2
TN
N trabajos
1 asignacin: M1 T1
M2 T1
Coste = C11 + C22
T2
C12
C22
T1
C11
C21
2 asignacin: M1 T2
M2 T1
Coste = C21 + C12
no
xij = 1
j=1
i = 1N
xij = 1
j = 1N
80
Min
Cij xij
B
i=1 j=1
P
T1
C11
C21
B
M1
M2
MN
B
CN1
1
T2
C12
C22
CN2
1
B
TN
C1N
C2N
B
CNN
1
B
1
1
Tabla de costes
de asignacin
estndar
1
B
T1
10
B
M1
B
T2
9
B
T3
8
B
81
T4
7
B
mnimo = 7
3
2
4
4
1
3
5
1
5
6
2
6
mnimo = 3
mnimo = 1
mnimo = 3
T2
2
1
0
0
T1
3
0
1
1
B
M1
M2
M3
M4
B
T3
1
2
0
2
T4
0
3
1
3
M4
B
T4
T1
T2
T3
T2
B
M3 T3
M4 T2
M1
M2
M3
M4
B
T2
9
8
4
3
T1
10
5
5
2
B
T3
7
7
6
4
B
T4
8
7
5
5
B
mnimo = 7
mnimo = 5
mnimo = 4
mnimo = 2
T2
2
3
0
1
M1
M2
M3
M4
T3
0
2
2
2
T4
1
2
1
3
M2 T1
M4 T1
B
Como dos mquinas estaran realizando el mismo trabajo no sera una asignacin
ptima. Cogemos el mnimo por columnas:
M1 T3
T1
T2
T3
T4
T4
M1
3
2
0
0
M2 T1
M2
0
3
2
1
M3 T2
M3
1
0
2
0
T4
M4
0
1
2
2
M4 T1
B
82
Lo que se hace ahora es trazar lneas de modo que se cubran todas las celdas con
ceros. El teorema de Knig establece que el nmero mnimo de lneas necesario es igual al
nmero mximo de trabajos que pueden asignarse usando dichas celdas.
T1
3
0
1
0
T2
2
3
0
1
M1
M2
M3
M4
B
T3
0
2
2
2
T4
0
1
0
2
Ahora se selecciona el elemento ms pequeo no cubierto por las lneas, que en este
ejemplo es el 1. Se resta este nmero de todos los elementos no cubiertos, y se le suma a los
cubiertos que sean interseccin de dos lneas.
Es equivalente a
restar 1 de la 2 y 4 fila y
T1
T2
T3
T4
sumar 1 a la 1 columna,
M1
4
2
0
0
por lo que la asignacin
M2
0
2
1
0
ptima no vara.
M3
2
0
2
0
M4
0
0
1
1
B
M1 T3
T4
B
M3 T2
T4
B
M4 T1
T2
B
M2 T1
T4
M1
M2
M3
M4
B
T3
T1
T4
T2
M1
M2
M3
M4
T3
T4
T2
T1
B
Zopt = 20
B
83
84