Está en la página 1de 7

MÉTODO SIMPLEX REVISADO

Se tiene el siguiente modelo de programación lineal:


min z = cx s.a. Ax = b; b, x ≥ 0 ,
donde x representa el vector de variables de decisión. Sean
x  x 
z = cx = cB cN   B  = cB xB + cNxN , Ax = B N  B  = b ⇒ BxB + NxN = b
x
 N  xN 
Solución básica factible actual:
xA 
xA =  B 
0
Por lo tanto BxBA = b ⇒ xBA = B−1b , z A = cx A = cB xBA = cBB−1b . Solución básica cualquiera:
BxB + NxN = b ⇒ xB = B−1b − B−1NxN = B−1b − ∑B
j∈η
−1 j
a xj ,

donde η denota el conjunto de los índices de las variables no básicas. Por lo tanto
 
z = cB xB + cNxN = cB  B −1b −
 ∑B −1 j
a xj  +
 ∑c x j j = cBB−1b − ∑ (c14B243a − c )x
B
−1 j
j j = zA − ∑ (z j − c j )x j ,
 j∈η  j∈η j∈η zj j∈η

donde z j − c j es llamado coeficiente de costo reducido de la variable x j . Sea xk la variable no

básica que mejora el valor de la función objetivo z. Entonces se tiene que


{
zk − ck = max z j − c j; z j − c j > 0 ,
j∈η
}
y la variable no básica xk se convierte en una variable básica, es decir, entra a la base. Este
criterio de entrada se conoce como Criterio del Máximo Coeficiente de Costo Reducido
Positivo. En tal sentido se tiene que z = zA − (zk − ck )xk . Si z j − c j ≤ 0 para todo j, entonces la

solución básica factible actual es óptima. Este criterio se conoce como Criterio de Optimalidad.
Si existe algún q ∈ η tal que zq − cq = 0 se habla de óptimos alternos. Si no existe tal índice q

entonces se habla de óptimo único. Por otro lado se tiene que


xB = B−1b − B−1ak xk = B−1b − yk xk
En la medida en que xk aumente su valor, el valor de z mejorará notablemente, pero se debe
encontrar ahora cuál es el aumento máximo permitido a la variable xk . La variable xk aumentará
su valor hasta que la primera variable básica xr se haga cero. En tal sentido se tiene que
(B−1b)r
xr = (B−1b)r − ykr xk = 0 ⇒ xk = , ykr > 0, r ∈ β ,
ykr
donde β denota el conjunto de los índices de las variables básicas. Por lo tanto, el crecimiento
máximo de la variable xk viene dado por
(B−1b)r
 (B−1b)i 
k
=xk =
min  k
; yik > 0 ,
i∈β
yr  yi 
que recuerda el Criterio del Test de la Razón Mínima (TRM), siendo la variable básica xr la
variable que sale de la base. Si yk ≤ 0 , entonces la solución es ilimitada.

Prof. José Luis Quintero 1


EJEMPLO 1 (CASO SENCILLO)
max w = 2x1 + x2 s.a.
2x1 + 8
3
x2 ≤ 80
3x1 + x2 ≤ 60
2x1 + 5
3
x2 ≤ 55
x1 , x2 ≥ 0
SOLUCIÓN.
Transformación del problema al formato requerido:
min z = −2x1 − x2 s.a.
2x1 + 8
3
x2 + x3 = 80
3x1 + x2 + x4 = 60
2x1 + 5
3
x2 + x5 = 55
x1 , x2 , x3 , x4 , x5 ≥ 0
ITERACIÓN 1:
Matriz base, solución básica factible y valor de la función objetivo actual:
 x3 
x3 x4 x5  
 x4   1 0 0   80   80 
1 0 0  x  −1     
 , x =  
 = x5 ⇒ xB = B b =  0 1 0   60  =  60  , z = 0
1 B 1

B = 0 1 0  xN   x   0 0 1   55   55 
0 0 1  1     
  x 
 2
Variable elegida para entrar a la base:
1 0 0 2 2
    
z1 − c1 = (0 0 0)  0 1 0   3  − (−2) = (0 0 0)  3  − (−2) = 2
0 0 1 1  
   1
1 0 0  3  8
8

     3

z2 − c2 = (0 0 0)  0 1 0   1  − (−1) = (0 0 0)  1  − (−1) = 1
 0 0 1   5  5
3
 3  
zk − ck = max {z1 − c1 , z2 − c2 } = max {2,1} = 2 = z1 − c1
Por lo tanto x1 es la variable que entra a la base.
Variable elegida para salir de la base:
1 0 0 2 2
−1 1      (B−1b)3 (B−1b)4 (B−1b)5   80 60 55 
y = B a =  0 1 0   3  =  3  , min   = min   = 20 = x1 .
1
1
, 1
, 1
, ,
0 0 1 1 1  y3 y4 y5  2 3 1 
    
Por lo tanto la variable x4 es la variable que sale de la base.
Actualización del valor de la función objetivo:
z2 = z1 − (cB y1 − c1 )x1 = 0 − (0 + 2)20 = −40
ITERACIÓN 2:
Matriz base, solución básica factible y valor de la función objetivo actual:

Prof. José Luis Quintero 2


 x3 
x3 x1 x5  
x1   1 − 2 0   80   40 
1 2 0  xB    3
   
  −1
  , x2
=   = x 5 ⇒ xB = B b =  0 1
0   60  =  20  , z2 = −40
B = 0 3 0  xN   x  
3

0 2 1  4  0 − 2 1   55   15 
  x   3 
 2
Variable elegida para entrar a la base:
1 − 2 0 0 − 2
 3
   3 2
z4 − c4 = (0 − 2 0)  0 13 0   1  − 0 = (0 − 2 0)  13  − 0 = −
    3
 0 − 2 1   0  − 2
 3   3
1 − 2 0  8  2
 3
3   1
z2 − c2 = (0 − 2 0)  0 31 0   1  − (−1) = (0 − 2 0)  31  − (−1) =
     3
 0 − 2 1   53   1 
 3  
zk − ck = max {z2 − c2 } = max {13} = 13 = z2 − c2
Por lo tanto x2 es la variable que entra a la base.
Variable elegida para salir de la base:
1 − 2 0  8  2
 3
3   (B−1b)3 (B−1b)1 (B−1b)5   40 20 15 
y2 = B−1a2 =  0 13 0   1  =  13  , min  2
, 2
, 2  = min  , 1 ,  = 15 = x2 .
   5    
 y y y 
 
 2 1 
0 − 2 1   3  1 3 1 5 3
 3  
Por lo tanto la variable x5 es la variable que sale de la base.
Actualización del valor de la función objetivo:
z3 = z2 − (cB y2 − c2 )x2 = −40 − (− 23 − (−1))15 = −40 − 5 = −45
ITERACIÓN 3:
Matriz base, solución básica factible y valor de la función objetivo actual:
x3 x1 x2  x3 
   1 2 −2   80 
1 2 8   x1  10 
 x   3

 3
 , x3 =  B  =  x2  ⇒ xB = B−1b =  0 5 − 1   60  =  
 15  , z = −45
3
B = 0 3 1  
 xN   x 
9 3
    15 
     − 2  55
 0 2 53 
4
 0 3
1    
  x 
 5
Variable elegida para entrar a la base:
 1 2 −2   0   2 
 3
   3  4
z4 − c4 = (0 − 2 − 1)  0 59 − 13   1  − 0 = (0 − 2 − 1)  59  − 0 = −
   2 9
 0 − 2 1   0  − 
 3   3
 1 2 −2   0   −2 
 3
  
1   1
z5 − c5 = (0 − 2 − 1)  0 9 − 3   0  − 0 = (0 − 2 − 1)  − 13  − 0 = −
5
  3
  1   
0 − 3 1   
2
 1 
La solución básica factible actual es óptima.

Prof. José Luis Quintero 3


EJEMPLO 2 (CASO GENERAL)
min z = −2x1 + x3 s.a.
x1 − 1
2
x2 + 3x3 ≤ 10
x2 + x3 = 5
x1 − x3 ≥ 1
x1 , x2 , x3 ≥ 0
SOLUCIÓN.
Transformación del problema al formato requerido:
min z = −2x1 + x3 + Mx5 + Mx7 s.a.
x1 − 1
2
x2 + 3x3 + x4 = 10
x2 + x3 + x5 = 5
x1 − x3 − x6 + x7 = 1
xi ≥ 0, i = 1,..., 7
ITERACIÓN 1:
Matriz base, solución básica factible y valor de la función objetivo actual:
 x4 
 
x4 x5 x7  x5 
x   1 0 0  10   10 
1 0 0  xB   7  −1     
 , x =  =  x1  ⇒ xB = B b =  0 1 0   5  =  5  , z = 6M
1 1

B = 0 1 0 x
 N x  0 0 1  1   1 
0 0 1  2     
   x3 
x 
 6
Variable elegida para entrar a la base:
1 0 0 1  1
    
z1 − c1 = (0 M M)  0 1 0   0  − (−2) = (0 M M)  0  − (−2) = M + 2
0 0 1 1 1
    
1 0 0  − 2  − 1
1

     2

z2 − c2 = (0 M M)  0 1 0   1  − 0 = (0 M M)  1  − 0 = M
 0 0 1   0  
 0 

    
1 0 0  3  3
    
z3 − c3 = (0 M M)  0 1 0   1  − 1 = (0 M M)  1  − 1 = −1
 0 0 1   −1   
    −1 
1 0 0  0  0
    
z6 − c6 = (0 M M)  0 1 0   0  − 0 = (0 M M)  0  − 0 = −M
 0 0 1   −1   −1 
    
zk − ck = max {z1 − c1 , z2 − c2 } = max {M+2,M} = M + 2 = z1 − c1
Por lo tanto x1 es la variable que entra a la base.
Variable elegida para salir de la base:
1 0 0 1 1 
     (B−1b)4 (B−1b)7  10 1 
y1 = B−1a1 =  0 1 0   0  =  0  , min  1
, 1  = min  ,  = 1 = x1 .
0  y4 y7   1 1
 0 1   1   1 
Por lo tanto la variable x7 es la variable que sale de la base.

Prof. José Luis Quintero 4


Actualización del valor de la función objetivo:
z2 = z1 − (cB y1 − c1 )x1 = 6M − (M + 2)1 = 5M − 2
ITERACIÓN 2:
Matriz base, solución básica factible y valor de la función objetivo actual:
 x4 
 
x4 x5 x1  x5 
x   1 0 −1   10   9 
1 0 1  xB   1  −1     
  , x2
=  = x
  7 ⇒ xB = B b =  0 1 0   5  =  5  , z = 5M − 2
2
B = 0 1 0 x
 N x  0 0 1   1  1
0 0 1  2      
   x3 
x 
 6
Variable elegida para entrar a la base:
 1 0 −1   0   −1 
    
z7 − c7 = (0 M − 2)  0 1 0   0  − M = (0 M − 2)  0  − M = −M − 2
0 0 1  1  1
    
 1 0 −1   − 2  − 1
1

     2

z2 − c2 = (0 M − 2)  0 1 0   1  − 0 = (0 M − 2)  1  − 0 = M
 0 0 1   0  
 0 

    
1 0 −1   3  4
    
z3 − c3 = (0 M − 2)  0 1 0   1  − 1 = (0 M − 2)  1  − 1 = M + 1
0 0 1   −1   
  −1 
1 0 −1   0  1
    
z6 − c6 = (0 M − 2)  0 1 0   0  − 0 = (0 M − 2)  0  − 0 = 2
0 0 1   −1   −1 
  
zk − ck = max {z2 − c2 , z3 − c3 , z6 − c6 } = max {M, M+1, 2} = M + 1 = z3 − c3
Por lo tanto x3 es la variable que entra a la base.
Variable elegida para salir de la base:
 1 0 −1   3   4  −1 −1
−1 3      (B b)4 (B b)5  9 5 9
y = B a =  0 1 0   1  =  1  , min 
3
1
, 1  = min  ,  = = x3 .
 0 0 1   −1   −1   y4 y5  4 1 4
    
Por lo tanto la variable x4 es la variable que sale de la base.
Actualización del valor de la función objetivo:
z3 = z2 − (cB y3 − c3 )x3 = 5M − 2 − (M + 2 − 1) 94 = 11
4
M − 17
4

ITERACIÓN 3:
Matriz base, solución básica factible y valor de la función objetivo actual:
 x3 
 
x3 x5 x1  x5 
 x1   1 0 − 1   10   9 
 3 0 1  B 
x  −1
 4 4
   4 
  , x3
=  = x
  7 ⇒ xB = B b =  − 1
1 1
  5  =  11  , z3 = 11
M − 17
B =  1 1 0 x
 N  x   1
4 4
   
4 4 4

 −1 0 1   0 34   1   13 
   2 
 4 4 
 x4 
x 
 6
Variable elegida para entrar a la base:

Prof. José Luis Quintero 5


 1 0 − 1  0 − 1 
 4 4
   4
z7 − c7 = (1 M − 2)  − 4 1 4   0  − M = (1 M − 2)  14  − M = 14 − 34 M
1 1
 1 
3  1 
 1
  
 4 0 4   − 4 
 1 0 − 1  − 1  − 1 
 4 4
 2  8
z2 − c2 = (1 M − 2)  − 14 1 14   1  − 0 = (1 M − 2)  89  − 0 = 18 + 98 M
 1    1
 3  0  − 
 4 0 4    8
 1
0 − 4  1 
1  1 
 4    4 
z4 − c4 = (1 M − 2)  − 14 1 14   0  − 0 = (1 M − 2)  − 14  − 0 = − 14 − 14 M
 1 
3  0
 1 
  
 4 0 4    4 
 1 0 − 1 0   1 
 4 4
   4 
z6 − c6 = (1 M − 2)  − 14 1 14   0  − 0 = (1 M − 2)  − 14  − 0 = 7
4
− 1
4
M
 1 
3   −1 
 3
  
 4 0 4   − 4
zk − ck = max {z2 − c2 } = max { 18 + 98 M} = z2 − c2
Por lo tanto x2 es la variable que entra a la base.
Variable elegida para salir de la base:
 1 0 − 14   − 21   − 18 
 4     (B−1b)5   4  22
11
y2 = B−1a2 =  − 14 1 14   1  =  98  , min  2  = min  9  = = x2 .
 1      
 y 
 
 
 9
 0 34   0   − 18 
5 8
 4
Por lo tanto la variable x5 es la variable que sale de la base.
Actualización del valor de la función objetivo:
z4 = z3 − (cB y2 − c2 )x2 = 11
4
M − 17
4
− ( 81 + 98 M − 0) 22
9
= 11
4
M − 17
4
− 11
36
− 11
4
M = − 41
9

ITERACIÓN 4:
Matriz base, solución básica factible y valor de la función objetivo actual:
 x3 
 
x3 x2 x1  x2 
 x1   2 1 − 2  10   23 
 3 − 1 1  x     9 9 9
  9
 2
 , x4 =  B  =  x7  ⇒ xB = B−1b =  − 2 8 2   5  =  22  , z4 = − 41
B=1 1 0  xN   x 
9 9 9
 2 1 7     32 
9 9
    1   
 −1 0 1   5   9 9 9   9
   x4 
x 
 6
Variable elegida para entrar a la base:
 2 1
− 29   0  − 2 
 9 9
   9
z7 − c7 = (1 0 − 2)  − 29 8
9
2
9
 0
  − M = (1 0 − 2)  2
9
 − M = − 16
9
−M
 2     
 1 7  1
   7 
 9 9 9   9 
 2 1
− 29   0  1
 9 9
  9
z5 − c5 = (1 0 − 2)  − 29 8
9
2
9
 1
  − M = (1 0 − 2)  89  − M = − 19 − M
 2 
7  0
1
 1
   
 9 9 9  9
 2 1
− 29   1   2 
 9 9
   9 
z4 − c4 = (1 0 − 2)  − 29 8
9
2
9
 0
  − 0 = (1 0 − 2)  − 29  − 0 = − 29
 2 
7  0
 2 
 1
   
 9 9 9   9 

Prof. José Luis Quintero 6


 2 1
− 29   0   2 
 9 9
   9 
z6 − c6 = (1 0 − 2)  − 29 8
9
2
9
  0  − 0 = (1 0 − 2)  − 29  − 0 = 16
9
 2 
7   −1 
 7
 1
  − 
 9 9 9   9
zk − ck = max {z6 − c6 } = max {169} = z6 − c6
Por lo tanto x6 es la variable que entra a la base.
Variable elegida para salir de la base:
 2 1 − 2 0   2 
 9 9 9
   9  −1
(B b)3   9  23
23
y6 = B−1a6 =  − 29 89 29   0  =  − 29  , min  6  = min  2 
= = x6 .
 2 1 7    7  y3   9  2
   −1   − 
 9 9 9   9
Por lo tanto la variable x3 es la variable que sale de la base.
Actualización del valor de la función objetivo:
z5 = z4 − (cB y6 − c6 )x6 = − 41
9
− (16
9
− 0) 23
2
= −25
ITERACIÓN 5:
Matriz base, solución básica factible y valor de la función objetivo actual:
 x6 
 
x6 x2 x1  x2 
 x1   1 1 −1   10   23 
 0 − 1 1 x     2
 2 
 2
 , x5 =  B  =  x7  ⇒ xB = B−1b =  0 1 0   5  =  5  , z5 = −25
B=0 1 0  xN   x     25 
   1 12 0   1  2 
 −1 0 1   5    
   x4 
x 
 3
Variable elegida para entrar a la base:
 1 1 −1   0   −1 
 2
   
z7 − c7 = (0 0 − 2)  0 1 0   0  − M = (0 0 − 2)  0  − M = −M
 
 1 12 0   1  0
 
 
 1 1 −1   0  1
 2
  2
z5 − c5 = (0 0 − 2)  0 1 0   1  − M = (0 0 − 2)  1  − M = −1 − M
  1
 1 12 0   0  2
   
1 1
−1   1  1
 2
   
z4 − c4 = (0 0 − 2)  0 1 0   0  − 0 = (0 0 − 2)  0  − 0 = −2
 
 1 12 0   0  1
 
 
1 1
−1   3  9
 2
  2
z3 − c3 = (0 0 − 2)  0 1 0   1  − 1 = (0 0 − 2)  1  − 1 = −8
  7
 1 12 0   −1  2
   
La solución básica factible actual es óptima.

Prof. José Luis Quintero 7

También podría gustarte