Sunteți pe pagina 1din 4

Metodo Simplex Revisado

Daniel Severin
A continuacion, vamos a resolver el ejercicio 7 de la practica 4. El enun-
ciado dice:
Resolver el siguiente problema mediante el metodo simplex revisado.
max z = 2x
2
+ x
3
s/a
x
1
2x
2
+ x
3
4
x
1
+ x
2
+ x
3
9
2x
1
x
2
x
3
5
x
1
, x
2
, x
3
0
Preliminares. Lo primero que debemos hacer es convertir el problema
a su forma standard. En nuestro caso,
max z = 2x
2
+ x
3
s/a
x
1
+ 2x
2
x
3
+ x
4
= 4
x
1
+ x
2
+ x
3
+ x
5
= 9
2x
1
x
2
x
3
+ x
6
= 5
x
1
, x
2
, x
3
0
Matricialmente,
max z = c.x
s/a
A.x = b
x 0
1
donde,
A =

1 2 1 1 0 0
1 1 1 0 1 0
2 1 1 0 0 1

, b =

4
9
5

, x =

x
1
x
2
x
3
x
4
x
5
x
6

y c = (0, 2, 1, 0, 0, 0). Estos vectores/matrices van a permanecer constantes


a lo largo del ejercicio. No obstante, cuando introduzcamos B, N, x
B
, x
N
,
c
B
y c
N
, estos ultimos van a variar seg un la base establecida en cada iteracion.
B usqueda primer solucion factible. El problema es origen factible,
as que no tenemos necesidad de utilizar el metodo de las dos fases. Sim-
plemente, podemos comenzar con la base B = (a
4
, a
5
, a
6
). Obviamente,
N = (a
1
, a
2
, a
3
). Esto indica que,
B =

1 0 0
0 1 0
0 0 1

= B
1
, N =

1 2 1
1 1 1
2 1 1

, x
B
=

x
4
x
5
x
6

, x
N
=

x
1
x
2
x
3

,
c
B
= (0, 0, 0) y c
N
= (0, 2, 1).
Test de optimalidad. Recordemos la forma general del diccionario,
x
B
= B
1
.b B
1
.N.x
N
z = c
B
.B
1
.b + (c
N
c
B
.B
1
.N).x
N
.
Debemos investigar los coecientes de la funcion objetivo (i.e. c
N
c
B
.B
1
.N).
Llamemos w al vector que resulta del producto c
B
.B
1
. Utilizando la pri-
mer solucion factible hallada, c
B
resulta ser el vector nulo, as que tambien
w = (0, 0, 0).
Lo siguiente es evaluar los coecientes de la funcion objetivo (correspondien-
tes a las variables no basicas) hasta encontrar uno que sea estrictamente
positivo:
c
1
w.a
1
= 0,
c
2
w.a
2
= 2,
c
3
w.a
3
= 1, por lo tanto entra x
3
a la base.
2
NOTA: No es necesario calcular todos los coecientes c
j
w.a
j
j NoBase.
Solamente debemos calcular hasta encontrar un coeciente no negativo.
Test de factibilidad. Ahora tenemos que hallar la variable saliente que
mas restriccion impone, cuando x
3
comienza a crecer. De la forma general
del diccionario, veamos que
x
B
= B
1
.b B
1
.N.x
N
= b N.x
N
= b a
3
.x
3
,
pues B
1
= I y x
3
dejara de ser cero, pero no as las otras variables no
basicas (x
1
= x
2
= 0). En resumen,
x
4
= 4 + x
3
, que no impone restriccion,
x
5
= 9 x
3
, que impone la restriccion x
3
9,
x
6
= 5 + x
3
, que no impone restriccion.
La variable que mas restriccion impone es x
5
y, por lo tanto, sale de la base.
Actualizacion. Para poder pasar a la proxima iteracion (la cual comien-
za con el test de optimalidad) debemos actualizar la base, y con ella, los
vectores/matrices B, N, x
B
, x
N
, c
B
y c
N
. Todas ellas se hallan mediante un
reordenamiento de sus componentes (donde estaba antes la columna/valor
correspondiente a la variable entrante, ahora estara la de la variable saliente
y viceversa). Es decir, B = (a
4
, a
3
, a
6
), N = (a
1
, a
2
, a
5
), x
B
= (x
4
, x
3
, x
6
)
T
,
x
N
= (x
1
, x
2
, x
5
)
T
, c
B
= (0, 1, 0) y c
N
= (0, 2, 0).
Cabe destacar que tambien podemos aprovechar a calcular la nueva B
1
de una manera eciente, a partir de la B
1
previa. Llamemos B
1
a la matriz
B antes de iterar y B
2
a la matriz luego de iterar. Observemos que
B
2
= (a
4
, a
3
, a
6
) = (a
4
, a
5
, a
6
).T = B
1
.T,
donde
T =

1 1 0
0 1 0
0 1 1

.
T es una identidad modicada, en donde se ha cambiado su columna del me-
dio por la columna correspondiente a x
3
en el resultado B
1
.N ya calculado
en el paso anterior (dicha columna haba resultado ser simplemente a
3
).
3
Luego,
B
1
2
= (B
1
.T)
1
= T
1
.B
1
1
= T
1
.I = T
1
=

1 1 0
0 1 0
0 1 1

.
En general, T

1 es tambien una identidad, salvo que la columna cambiada


k (en nuestro caso, es la del medio, k = 2) esta formada por la columna
(t
1k
/t
kk
, t
2k
/t
kk
, , 1/t
kk
, )
T
. Observese que la la k de esta columna
se calcula de una manera diferente al resto.
Test de optimalidad. Nuevamente, volvemos a calcular los coecientes
de la funcion objetivo correspondientes a las nuevas variables no basicas. En
primer lugar, w = c
B
.B
1
= (0, 1, 0).
c
1
w.a
1
= 1,
c
2
w.a
2
= 3,
c
5
w.a
5
= 1.
Como todos los coecientes no son estrictamente positivos, hemos alcanzado
el optimo.
Resultado. Para conocer los valores de x

y z

, volvemos a recordar la
forma general del diccionario, y hacemos
x

B
= B
1
.b, x

N
= 0, z

= c
B
.B
1
.b = w.b.
Nos queda x

B
= (13, 9, 14) y z

= 9. En particular, las slacks no nos interesan


y podemos descartarlas, dejando x

1
= x

2
= 0 y x

3
= 9.
4

S-ar putea să vă placă și