Está en la página 1de 15

M

etodo simplex modificado


Los pasos iterativos del metodo simplex modificado o revisado son exactamente a los que seguimos con la tabla. La principal diferencia esa en que en
este metodo se usa el algebra de matrices, con la gran ventaja que reduce el
error de redondeo.
Desarrollo de las condiciones de optimalidad y factibilidad
El problema lineal general se puede plantear como sigue:
Pn
Maximizar
o
Minimizar
z
=
j=1 cj xj sujeta a
Pn
j=1 Pj xj = b, xj 0, j = 1, . . . , n.
Para un vector basico dado XB con su base B y vector objetivo CB correspondientes, la tabla general smplex (matricial) indica que toda iteracion
smplex se puede representar con las siguientes ecuaciones:
z+

n
X

(zj cj )xj = CB B 1 b

j=1

(XB )i +

n
X

(B 1 Pj )i xj = (B 1 b)i

j=1

en donde
zj cj = CB B 1 Pj cj
Se usa la notacion (V )i , para representar al i-esimo elemento del vector V .
Condici
on de optimalidad. En la ecuacion de z de arriba, un aumento
de xj no basica por encima de su valor actual cero mejorara el valor de z en
relacion con su valor actual, CB B 1 b, solo si zj cj es estrictamente negativo
en el caso de maximizacion, y estrictamente positivo en caso de minimizacion.
En caso contrario xj no puede mejorar la solucion y debe permanecer como
no basica de valor cero. Aunque se puede escoger cualquier variable no basica
que satisfaga esta condicion para mejorar la solucion, en el metodo smplex
se usa una regla aproximada, que selecciona a la variable entrante como la

que tiene zj cj mas negativo si es maximizacion y m


as positivo si es minimizacion.
Condici
on de factibilidad. La determinacion del vector saliente se basa en
examinar la ecuacion de restriccion asociada con la i-esima variable b
asica.
En forma especfica,
(XB )i +

n
X

(B 1 Pj )i xj = (B 1 b)i

j=1

Cuando se selecciona el vector Pj con la condicion de optimalidad para entrar


a la base, su variable asociada xj aumentara sobre el valor cero. Al mismo
tiempo, todas las variables no basicas restantes quedan de valor cero. As, la
i-esima ecuacion de restriccion se reduce a
(XB )i = (B 1 b)i (B 1 Pj )i xj
La ecuacion indica que si (B 1 Pj )i > 0, un aumento de xj puede hacer
que (XB )i , se vuelva negativo, lo cual viola la condicion de no negatividad,
(XB )i 0 para toda i. Entonces,
(B 1 b)i (B 1 Pj )i xj 0, i
Esta condicion lleva al siguiente valor maximo de la variable entrante xj :


mn (B 1 b)i
1
| (B Pj )i > 0
xj =
(B 1 Pj )i
i
La variable basica asociada a la relacion mnima sale de la solucion basica y
se convierte en no basica con valor cero.
Algoritmo smplex modificado
Despues de desarrollar las condiciones de optimalidad y factibilidad, ahora
presentaremos los pasos de computo del metodo smplex modificado (o revisado).
Paso 0. Forme una solucion basica factible de arranque, y sean B y CB su
base asociada y vector de coeficientes objetivo, respectivamente.

Paso 1. Calcule la inversa B 1 usando un metodo adecuado de inversion.


Paso 2. Para cada variable xj no b
asica, calcule
zj cj = CB B 1 Pj cj
Si zj cj 0 en maximizacion ( 0 en minimizacion) para toda xj no basica,
detengase; la solucion optima es
XB = B 1 b, z = CB XB
En caso contrario, aplique la condicion de optimalidad y determine la variable entrante xj como la variable no basica con el valor mas negativo de
zj cj en caso de maximizacion, y mas positivo en caso de minimizacion.
Paso 3. Calcule B 1 Pj . Si todos los elementos de B 1 Pj son negativos o
cero, detengase; el problema no tiene solucion acotada (realmente esto es una
no acotacion en el espacio, lo que en algunos problemas no afecta, como en los
de minimizacion. Es recomendable revisar el comportamiento de la funcion
objetivo.). En caso contrario, calcule B 1 b. Entonces, para todos los elementos estrictamente positivos de B 1 Pj , determine las relaciones definidas por
la condicion de factibilidad. La variable basica xi asociada con la relacion
mnima es la variable saliente.
Paso 4. A partir de la base actual B, forme una nueva base reemplazando
al vector saliente Pj con el vector entrante Pj . Vaya al paso 1 para iniciar
una nueva iteracion.
Ejemplo 7.2-1
Se resolvera el modelo de Reddy Mikks con el algoritmo smplex modificado.
El mismo modelo se resolvio con el metodo tabular previamente. Al comparar los dos metodos se demostrara que son uno y el mismo.
La forma de ecuacion, del modelo de Reddy Mikks, se puede expresar como
sigue, en forma matricial:
Maximizar z = (5, 4, 0, 0, 0, 0)(x1 , x2 , x3 , x4 , x5 , x6 )T

sujeta a

6
1

1
0

4
2
1
1

1
0
0
0

0
1
0
0

0
0
1
0

x1
x2
x3
x4
x5
x6

24
6

1
2

Usaremos la notacion C = (c1 , c2 , . . . , c6 ) para representar a los coeficientes de


la funcion objetivo, y (P1 , P2 , . . . , P6 ) para representar los vectores columna
de las ecuaciones de restriccion. El lado derecho de las restricciones expresan
al vector b.
En los calculos siguientes presentaremos la formula algebraica para cada paso,
y su respuesta numerica final, sin detallar las operaciones aritmeticas. Es instructivo que usted complete el desarrollo de cada paso.
Iteraci
on 0.

XB0 = (x3 , x4 , x5 , x6 ), CB0 = (0, 0, 0, 0)


B0 = (P3 , P4 , P5 , P6 ) = I, B01 = I
As,
XB0 = B01 b = (24, 6, 1, 2)T , z = CB0 XB0 = 0

C
alculos de optimalidad
CB0 B01 = (0, 0, 0, 0)
{zj cj }j=1,2 = CB0 B01 (P1 , P2 ) (c1 , c2 ) = (5, 4)
Por consiguiente, P1 es vector entrante.
C
alculos de factibilidad

XB0 = (x3 , x4 , x5 , x6 )T = (24, 6, 1, 2)T


4

B01 P1 = (6, 1, 1, 0)T


Por consiguiente,

x1 = mn


24 6
, , , = mn{4, 6, , } = 4
6 1

y P3 es el vector saliente.
Los resultados anteriores se pueden resumir en el conocido formato de tabla
smplex. La presentacion debe contribuir a convencer al lector de que los dos
metodos son esencialmente el mismo.
Basica x1 x2 x3 x4 x5 x6 Solucion
z
5 4 0 0 0 0
0
x3
6
24
x4
1
6
x5
1
1
x6
0
2
Iteraci
on 1.

XB1 = (x1 , x4 , x5 , x6 ), CB1 = (5, 0, 0, 0)

6 0 0 0
1 1 0 0

B1 = (P1 , P4 , P5 , P6 ) =
1 0 1 0
0 0 0 1
Al usar un metodo adecuado de inversion, la inversa resulta:

1/6 0 0 0
1/6 1 0 0

B11 =
1/6 0 1 0
0 0 0 1
Por consiguiente,
XB1 = B11 b = (4, 2, 5, 2)T , z = CB1 XB1 = 20
5

C
alculos de optimalidad:

CB1 B11 = (5/6, 0, 0, 0)


{zj cj }j=2,3 = CB1 B11 (P2 , P3 ) (c2 , c3 ) = (2/3, 5/6)
As, el vectro entrante es P2 .
C
alculos de factibilidad:

XB1 = (x1 , x4 , x5 , x6 )T = (4, 2, 5, 2)T


B11 P2 = (2/3, 4/3, 5/3, 1)T
Por consiguiente,

x2 = mn

4
2
5 2
,
,
,
2/3 4/3 5/3 1


= mn{6, 3/2, 3, 2} = 3/2

y P4 se vuelve vector saliente.


Iteraci
on 2.
XB2 = (x1 , x2 , x5 , x6 )T , CB2 = (5, 4, 0, 0)

6 4 0 0
1 2 0 0

B2 = (P1 , P2 , P5 , P6 ) =
1 1 1 0
0 1 0 1
Por lo tanto,

1/4 1/2 0 0
1/8
3/4 0 0

B21
3/8 5/4 1 0
1/8 3/4 0 1
As,

XB2 = B21 b = (3, 3/2, 5/2, 1/2)T , z = CB2 XB2 = 21


6

C
alculos de optimalidad:
CB2 B21 = (3/4, 1/2, 0, 0)
{zj cj }j=3,4 = CB2 B21 (P3 , P4 ) (c3 , c4 ) = (3/4, 1/2)
As, XB2 es optimo y terminan los calculos.
Resumen de la soluci
on
optima:

x1 = 3, x2 = 1.5, z = 21
Otro ejemplo:
Resolver:
Minimizar z = 7x2 + 11x3 10x4 + 26x6
sujeta a

x1

x2 x3
+x5 +x6
x2 x3 +x4
+3x6
+x2 3x3 +x4 +x5
xk

= 6
= 8
= 12
0, k.

Supongamos que escogemos como solucion basica factible de inicio, XB0 =


(x2 , x4 , x5 )T . En efecto se tiene que:


1 0 1
x2
6
x2
1
1 1
6
2
1 1 0 x4 = 8 x4 = 1
0
1 8 = 6 ,
1 1 1
x5
12
x5
0 1
1
12
4
por lo tanto, es solucion basica factible y las columnas de su matriz asociada
forman una base factible inicial.
Iteraci
on 0.

XB0 = (x2 , x4 , x5 ), CB0 = (7, 10, 0)


7

1 0 1
1
1 1
0
1
B0 = (P2 , P4 , P5 ) = 1 1 0 , B01 = 1
1 1 1
0 1
1
As,
XB0 = B01 b = (2, 6, 4)T , z = CB0 XB0 = 46

C
alculos de optimalidad
CB0 B01 = (17, 7, 17)
{zj cj }j=1,3,6 = CB0 B01 (P1 , P3 , P6 ) (c1 , c3 , c6 ) = (17, 16, 12)
Por consiguiente, P3 es vector entrante.
C
alculos de factibilidad

XB0 = (x2 , x4 , x5 )T = (2, 6, 4)T


B01 P3 = (1, 2, 2)T
Por consiguiente,
x3 = mn {2, , } = 2
y P2 es el vector saliente.
Iteraci
on 1.

XB1 = (x3 , x4 , x5 ), CB1 = (11, 10, 0)

1 0 1
B1 = (P3 , P4 , P5 ) = 1 1 0
3 1 1
Al usar un metodo adecuado de inversion,

1 1
B11 = 1 2
2 1
8

la inversa resulta:

1
1
1

Por consiguiente,
XB1 = B11 b = (2, 10, 8)T , z = CB1 XB1 = 78
C
alculos de optimalidad:

CB1 B11 = (1, 9, 1)


{zj cj }j=1,2,6 = CB1 B11 (P1 , P2 , P6 ) (c1 , c2 , c6 ) = (1, 20, 52)
As, XB1 es optimo y terminan los calculos.
Resumen de la soluci
on
optima:

x1 = 0, x2 = 0, x3 = 2, x4 = 10, x5 = 8, x6 = 0, z = 78

M
etodo simplex dual modificado
Los pasos del metodo dual son como sigue:

Paso 0. Sea B0 = I la base inicial y al menos uno de los elementos de XB0 sea
negativo (verificar optimalidad).
Paso 1. Calcular XB = B 1 b, los valores actuales de las variables basicas. Seleccionar la variable saliente xr que tenga el valor mas negativo. Si todos
los elementos de XB son no negativos, detenerse; la solucion actual es
factible.
Paso 2.

a) Calcular zj cj = CB B 1 Pj cj para todas las variables xj no


basicas.
b) Para todas las variables no basicas xj , calcular los coeficientes de
restriccion (B 1 Pj )r asociado con la fila de la variable saliente xj .

c) La variable entrante esta asociada a





mn zj cj
1
=
(B 1 Pj )r , (B Pj )r < 0
j
Si todas las (B 1 Pj )r 0, no existe solucion factible.
Paso 3. Obtener la base nueva invercambiando los vectores entrante y
saliente (Pj , Pr ). Calcular la nueva inversa y seguir en el paso
1.
Ejemplo.
Aplicar el metodo dual al siguiente problema:
Minimizar z = 2x1 + x2
sujeta a

3
0, k.

3x1 + x2
4x1 + 3x2
x1 + x2
xk

Primero multiplico las dos primeras restricciones por 1. Luego agregamos


variables de holgura:
Minimizar z = 2x1 + x2
sujeta a
3x1 x2 + x3
4x1 3x2 + x4
x1 + x2 + x5
xk

=
3
=
6
=
3
0, k.

Iteraci
on 0
Paso 0.

XB0

1 0 0
= (x3 , x4 , x5 )T , B0 = 0 1 0 , B01 = B0
0 0 1

10

Paso 1.
XB0 = B01 b = (3, 6, 3)T
Entonces la variable saliente es x4 (la segunda entrada en el vector r = 2).
Paso 2a.
{zj cj }j=1,2 = CB0 B01 (P1 , P2 )(c1 , c2 ) = (0, 0, 0)I(P1 , P2 )(2, 1) = (2, 1)
Paso 2b.
{(B01 P1 )2 , (B01 P2 )2 } = (4, 3)
Paso 2c.



mn zj cj
1
= mn(1/2, 1/3) = 1/2 x2
(B 1 P ) , (B0 Pj )r < 0
j
j r
0
j=1,2,r=2
Paso 3.

1 1 0
B1 = (P3 , P2 , P5 ) = 0 3 0
0
1 1
Iteraci
on 1
Paso 0.

XB1 = (x3 , x2 , x5 )T , B11

1 1/3 0
= 0 1/3 0 , CB1 = (0, 1, 0)
0
1/3 1

Paso 1.
XB1 = B11 b = (1, 2, 1)T ,
entonces sale x3 , r = 1

11

Paso 2a.

{zj cj }j=1,4

1 1/3 0
3 0
= CB1 B11 (P1 , P4 ) (c1 , c4 ) = (0, 1, 0) 0 1/3 0 4 1 (2, 0)
0
1/3 1
1 0
= (2/3, 2/3)

Paso 2b.
{(B01 P1 )1 , (B01 P4 )1 } = (5/3, 1/3)
Paso 2c.



mn zj cj
1
= mn(2/5, 2) = 2/5 x1
(B 1 P ) , (B0 Pj )r < 0
j
j r
0
j=1,4,r=1
Paso 3.

3 1 0
B2 = (P1 , P2 , P5 ) = 4 3 0
1
1 1
Iteraci
on 2
Paso 0.

XB2 = (x1 , x2 , x5 )T , B21

3/5
1/5 0
= 4/5 3/5 0 , CB2 = (2, 1, 0)
1/5
2/5 1

Paso 1.
XB2 = B21 b = (3/5, 6/5, 6/5)T ,
optimo, x1 = 3/5, x2 = 6/5, z = CB2 XB2 = 12/5.

12

Matriz inversa
M
etodo de la matriz adjunta
Dada A, matriz no singular de n n,
A1 =

1
adjA,
detA

donde
adjA = kAij kT , Aij = (1)i+j Mij ,
y Mij es el menor del elemento aij . Este es el determinante de la matriz que
resulta de quitar de la matriz A la fila i y la clumna j.
Ejemplo: Calculemos la inversa de,


1 2
A=
,
3 4
primero, detA = 2. Luego M11 =det 4 = 4, M12 =det3 = 3, M21 =det2 =
2, M22 =det1 = 1. Entonces, A11 = (1)1+1 M11 = 4, A12 = (1)1+2 M12 =
3, A21 = (1)2+1 M21 = 2, A22 = (1)2+2 M22 = 1. Por lo tanto,

adjA =

T

4 3
2
1


=

4 2
3
1


,

entonces,
A

1
=
2

4 2
3
1


=

2
1
3/2 1/2


.

Forma de producto de la inversa


Sean Bn y Bn+1 dos matrices no singulares de n n que difieren en una
columna solamente. Si Bn1 es conocida, entonces
1
Bn+1
= E Bn1 ,

donde E se construye de la siguiente forma: sea Pj la columna de Bn que se


sustituye por Pr para producir Bn+1 . Entonces la matriz E se forma como la
13

matriz identidad de n n en la que se ha reemplazado su j-esima columna


por,

(Bn1 Pr )1
(Bn1 Pr )2

..

1
.

= 1

,
(Bn Pr )j (1)j

..

.
1
(Bn Pr )j
1
no existe.
si (Bn1 Pr )j = 0, Bn+1

Ejemplo:
Tomemos una de las matrices

1 1

0 3
B1 =
0
1

del ejemplo del metodo dual modificado:

0
1 1/3 0
0 , B11 = 0 1/3 0 ,
1
0
1/3 1

y tenemos,

3 1 0
B2 = 4 3 0 .
1
1 1
Queremos encontrar B21 .
primera columna, entonces

1
1

0
B1 P1B2 =
0

Primero, notemos que B1 y B2 difieren en la


j = 1. Luego,

1/3 0
3
5/3
1/3 0 4 = 4/3 ,
1/3 1
1
1/3

entonces (B11 P1B2 )1 = 5/3. Por lo tanto,

3/5
= 4/5 ,
1/5
y tenemos,

3/5 0 0
E = 4/5 1 0 .
1/5 0 1
14

Finalmente,

B21 = EB11

1 1/3 0
3/5
1/5 0
3/5 0 0
= 4/5 1 0 0 1/3 0 = 4/5 3/5 0
1/5 0 1
0
1/3 1
1/5
2/5 1

15

También podría gustarte