Documente Academic
Documente Profesional
Documente Cultură
Algoritmo de las
Dos Fases.
3.1 Motivaci on Graca del metodo Simplex.
3.2 El metodo Simplex.
3.3 El metodo Simplex en Formato Tabla.
3.4 Casos especiales en la aplicacion del algoritmo.
3.4.1 Degeneracion.
3.4.2
Optimos alternativos.
3.4.3 Problema no acotado.
3.4.4 Problema Imposible.
3.5 El Algoritmo de las dos Fases.
3.5.1 Problema imposible.
3.5.2 Problema posible.
1
3.1 Motivacin Grfica del Mtodo Simplex
Regin de soluciones posibles acotada
Existe al menos una solucin ptima, que es un vrtice
Regin de soluciones posibles no acotada
Problema no acotado z = +
c, direccin de mejora
Problema Acotado
Existe una solucin ptima nica
Problema acotado Infinitas soluciones ptimas (Segmento)
c, direccin de mejora
Problema acotado Infinitas soluciones ptimas (Semirrecta)
c, direccin de mejora
3.1 Motivacion Graca del Metodo Simplex
1. Si el PPL tiene una unica solucion optima, sera necesariamente un verti-
ce de S.
2. Si el PPL tiene mas de una solucion optima y S es acotado, al menos dos
de ellas son vertices adyacentes de S. Si S es no acotada, solo podemos
garantizar que al menos una de las soluciones optimas es un vertice.
3. Existe un n umero nito de vertices en S.
4. Si un vertice proporciona un valor objetivo mejor o igual que el resto de
vertices adyacentes entonces proporciona un valor objetivo mejor o igual
que cualquier otra solucion posible del problema, luego es una solucion
optima para el problema.
2
E + D + H
1
= 10
E + D + H
2
= 1
D + H
3
= 4
Si hacemos H
1
= H
2
= 0, nos queda:
E + D = 10
E + D = 1
D + H
3
= 4
cuya solucion es:
E = 9/2, D = 11/2, H
3
= 3/2
No puede ser solucion del PPL incumple la restriccion de no negatividad.
3
( E, D, H
1
, H
2
, H
3
)
0 0 10 1 4 (0,0) Solucion posible
0 10 0 -9 -6 (0,10) no es solucion posible
0 1 9 0 3 (0,1) Solucion posible
0 4 6 -3 0 (0,4) no es solucion posible
10 0 0 11 4 (10,0) Solucion posible
? 0 ? ? 0 Sistema Incompatible
-1 0 11 0 4 (-1,0) no es solucion posible
9/2 11/2 0 0 -3/2 (9/2,11/2) no es solucion posible
6 4 0 3 0 (6,4) Solucion posible
3 4 3 0 0 (3,4) Solucion posible
4
C
ertices
del
conjunto de soluciones de un PPL
Para un problema cuya forma estandar incluya un sistema de m ecua-
ciones linealmente independientes y n incognitas, los vertices del po-
liedro se obtienen resolviendo los sistemas de m ecuaciones con m
incognitas que resultan al igualar a cero subconjuntos de n m varia-
bles.
Solo seran soluciones posibles (vertices) aquellos puntos cuyas varia-
bles, tanto de holgura como originales sean no negativas.
5
3.2 El Metodo Simplex
Desarrollado por George Dantzig en 1947.
Primera aplicacion importante: J. Laderman resolvio un problema de elabo-
racion de una dieta en la que haba 9 restricciones de igualdad y 27 variables.
Necesito el trabajo de 120 das-hombre.
Dado un PPL expresado en forma estandar con m ecuaciones y n
incognitas, m n, podemos dividir las variables en dos grupos:
1. nm variables a las cuales les damos el valor 0, y que denomi-
naremos variables no basicas.
2. m variables cuyo valor se determinara resolviendo el sistema de
m ecuaciones y m incognitas resultante de igualar a cero el resto
de variables. Si dicho sistema tiene una unica solucion, diremos
que las m variables son variables basicas.
Soluci on del sistema solucion basica
Si ademas las variables 0 solucion posible basica
6
Formalizaci
on algebr
aica
PPL Min z = c
t
x
s.a.: Ax = b
x 0
n
B := {columnas de A de coecientes de las variables basicas}
N := A\ B := { columnas de A coecientes de las variables no basicas}
A = (B, N), x =
x
B
x
N
, c =
c
B
c
N
Min z
s.a.: z c
t
B
x
B
c
t
N
x
N
= 0
Bx
B
+ Nx
N
= b
x
B
0, x
N
0
7
B
1
(Bx
B
+ Nx
N
) = B
1
b
(B
1
B)x
B
+ (B
1
N)x
N
= B
1
b
x
B
+ (B
1
N)x
N
= B
1
b
b := B
1
b =
b
1
.
.
.
b
i
.
.
.
b
m
, y
j
:= B
1
a
j
b
i
:= valor de la variable basica asociada a la ecuacion i-esima
y
ij
:= coeciente de la variable no basica j-esima en la ecuacion i-esima
8
z = c
t
B
x
B
+ c
t
N
x
N
x
B
= B
1
b (B
1
N)x
N
z = c
t
B
(B
1
b (B
1
N)x
N
) + c
t
N
x
N
z = c
t
B
(B
1
b)
valor objetivo
(c
t
B
B
1
N c
N
)
costes reducidos
x
N
9
En cualquier iteracion del Simplex el problema esta expresado como:
Min z = c
t
B
(B
1
b) (c
t
B
B
1
N c
N
)x
N
x
B
+ B
1
Nx
N
= B
1
b
x
B
0
x
N
0
Y tiene asociada la siguiente Solucion Posible Basica:
x =
x
B
x
N
B
1
b
0
b = B
1
b, y z = c
t
B
x
B
. Ir al Paso 2.
Paso 2: Calcular los costes reducidos de las variables no basicas.
z
j
c
j
= c
t
B
B
1
a
j
c
j
, j N
siendo a
j
la columna asociada a la variable x
j
en A.
a) Si z
j
c
j
0, j N, Stop.
x
B
:= B
1
b y x
N
:= 0
nm
z
= c
t
B
B
1
b.
b) En otro caso, elegir x
k
como nueva variable basica entrante,
siendo k el ndice para el que se alcanza el maximo de los
costes reducidos,
z
k
c
k
= max
jN
{z
j
c
j
}.
Ir al Paso 3.
14
Paso 3: Obtener la columna asociada a la variable que se hace
basica en el sistema actual. Sea y
k
:= B
1
a
k
a) Si y
k
0
m
, Stop.
Podemos incrementar el valor de x
k
tanto como queramos sin
que se haga cero ninguna variable basica i.e., sin alcanzar
ning un otro vertice del poliedro adyacente al actual. El
problema es No Acotado y el valor optimo es z
= .
b) En otro caso. Ir al Paso 4.
Paso 4: Elegir la variable que deja de ser basica (Criterio de la
razon mnima).
b
r
y
rk
= mn
1im
{
b
i
y
ik
: y
ik
> 0}
B := B \ {a
r
}
{a
k
}, N := N \ {k}
{r}. Ir al Paso 1.
15
3.3 El Metodo Simplex en Formato Tabla
Dado el PPL,
Min z = c
t
x Min z
s.a.: s.a.: z c
t
x = 0
Ax = b Ax = b
x 0
n
x 0
n
Si lo escribimos en terminos de una SPB asociada a una base B:
Min z
s.a.: z c
t
B
x
B
c
t
N
x
N
= 0
Bx
B
+ Nx
N
= b
x
B
0
m
, x
N
0
nm
16
x
B
= B
1
b B
1
Nx
N
,
z+ 0x
B
+ (c
t
B
B
1
N c
t
N
)x
N
= c
t
B
B
1
b
x
B
+ B
1
Nx
N
= B
1
b
x
B
x
N
RHS
z 1 0
c
t
B
B
1
N c
t
N
(z
j
c
j
= c
t
B
B
1
a
j
c
j
)
c
t
B
B
1
b
Fila 0
z = c
t
B
B
1
b
x
B
0 I
m
B
1
N, (y
k
= B
1
a
k
) B
1
b, (
b
i
)
Fila 1-m
x
B
= B
1
b
17
Tabla antes de pivotar
x
B
1
. . . x
B
r
. . . x
B
m
. . . x
j
. . . x
k
. . . RHS
z 0 . . . 0 . . . 0 . . . z
j
c
j
. . . z
k
c
k
. . . c
B
b
x
B
1
1 . . . 0 . . . 0 . . . y
1j
. . . y
1k
. . .
b
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x
B
r
0 . . . 1 . . . 0 . . . y
rj
. . . y
rk
. . .
b
r
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x
B
m
0 . . . 0 . . . 1 . . . y
mj
. . . y
mk
. . .
b
m
Variable de entrada, z
k
c
k
= max
jN
{z
j
c
j
} x
k
Variable de salida,
b
r
y
rk
= mn
1im
{
b
i
y
ik
: y
ik
> 0} x
B
r
18
Tabla despues de pivotar
x
B
1
. . . x
B
r
. . . x
B
m
. . . x
j
. . . x
k
. . . RHS
z 0 . . .
c
k
z
k
y
rk
. . . 0 . . . (z
j
c
j
) -
y
rj
y
rk
(z
k
c
k
) . . . 0 . . . c
B
b (z
k
c
k
)
b
r
y
rk
x
B
1
1 . . .
y
1k
y
rk
. . . 0 . . . y
1j
y
rj
y
rk
y
1k
. . . 0 . . .
b
1
y
1k
y
rk
b
r
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x
k
0 . . .
1
y
rk
. . . 0 . . .
y
rj
y
rk
. . . 1 . . .
b
r
y
rk
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x
B
m
0 . . .
y
mk
y
rk
. . . 1 . . . y
mj
y
rj
y
rk
y
mk
. . . 0 . . .
b
m
y
mk
y
rk
b
r
Nueva Base B = B \ {a
r
}
{a
k
}
19
3.4 Casos especiales en la aplicacion del algoritmo.
Ejemplo:
Optimo
Unico
Min 3x
1
+ x
2
sa: x
1
+ 2x
2
+ x
3
= 4
x
1
+ x
2
+ x
4
= 1
x
i
0, i = 1, 2, 3, 4
Dada,
B = {a
1
, a
4
} =
_
_
1 0
1 1
_
_
B
1
b =
_
_
4
5
_
_
x
t
= (4, 0, 0, 5)
c
t
B
= (3, 0) z
j
c
j
= c
t
B
B
1
a
j
c
j
=
_
_
z
2
c
2
= (3, 0)
_
_
1 0
1 1
_
_
_
_
2
1
_
_
1 = 7
z
3
c
3
= (3, 0)
_
_
1 0
1 1
_
_
_
_
1
0
_
_
0 = 3
20
Ejemplo:
Optimos Alternativos
Min 2x
1
4x
2
sa: x
1
+ 2x
2
+ x
3
= 4
x
1
+ x
2
+ x
4
= 1
x
i
0, i = 1, 2, 3, 4
Dada,
B = {a
1
, a
4
} =
_
_
1 0
1 1
_
_
B
1
b =
_
_
4
5
_
_
x
t
= (4, 0, 0, 5)
c
t
B
= (2, 0) z
j
c
j
= c
t
B
B
1
a
j
c
j
=
_
_
z
2
c
2
= (2, 0)
_
_
1 0
1 1
_
_
_
_
2
1
_
_
(4) = 0
z
3
c
3
= (2, 0)
_
_
1 0
1 1
_
_
_
_
1
0
_
_
0 = 2
Optimos:
_
(4, 0, 0, 5),
_
2
3
,
5
3
, 0, 0
_
, z
= 8
21
Ejemplo: No Acotaci
on
Min x
1
3x
2
sa: x
1
2x
2
4
x
1
+ x
2
3
x
1
0, x
2
0
Dada,
B = (a
2
, a
3
), B
1
=
_
_
0 1
1 2
_
_
B
1
b =
_
_
3
10
_
_
x
t
= (0, 3, 10, 0)
z
j
c
j
==
_
_
z
1
c
1
= (3, 0)
_
_
0 1
1 2
_
_
_
_
1
1
_
_
(1) = 4> 0
z
4
c
4
= (3, 0)
_
_
0 1
1 2
_
_
_
_
0
1
_
_
0 = 3
22
x
1
podra entrar en la base
Sin embargo, como
y
1
= B
1
a
1
=
_
_
1
1
_
_
0
2
Ninguna variable cumple el criterio de salida
c
t
_
_
y
1
e
1
_
_
= (1, 3, 0, 0)
_
_
_
_
_
_
_
1
1
1
0
_
_
_
_
_
_
_
< 0 Criterio de No Acotacion
El problema es No acotado a lo largo de la semirrecta:
_
_
_
_
_
_
_
_
_
0
3
10
0
_
_
_
_
_
_
_
+
_
_
_
_
_
_
_
1
1
1
0
_
_
_
_
_
_
_
x
1
, x
1
0
_
_
, lm
x
1
z = 9 4x
1
=
23
3.5 El Algoritmo de las Dos Fases
Escrbase el PPL en forma estandar:
Min z = c
t
x
s.a.: x S
Min z = c
t
x
s.a.: Ax = b
x 0
n
En donde A es una matriz mn de rango completo por las.
Si A contiene una submatriz identidad mm y b 0
m
B = I
m
y N = A\ B
permiten denir una SPB inicial para aplicar el algoritmo del Simplex:
x
B
= B
1
b y x
N
= 0
nm
En otro caso, A se completa con tantas columnas (variables articiales) como
sea necesario para conseguir dicha situacion, y se aplica el algoritmo de las
2 fases.
24
Fase 1: Construir el problema auxiliar resultante de a nadir las varia-
bles articiales:
Min z = c
t
x Min z = 1
t
x
a
s.a.: Ax = b s.a.: Ax + x
a
= b
x 0 x, x
a
0
Resolver el problema auxiliar con el algoritmo del Simplex. Sea
(x
, x
a
) la solucion optima.
Si x
a
= 0 Ir a la Fase 2.
Si x
a
= 0 Problema original Imposible
25
Fase 2: Utilizar la SPB obtenida al nal de la Fase 1 para resolver el
problema inicial. Sean x
B
las variables basicas en dicha solucion.
Consideremos la tabla optima al nal de la Fase 1.
Si en x
B
no hay variables articiales: eliminando las columnas
asociadas a las variables articiales y actualizando conveniente-
mente la la asociada a la funcion objetivo obtenemos la tabla
inicial para resolver el problema original con el algoritmo Sim-
plex.
Si en x
B
hay variables articiales: tratamos de obtener una
SPB sin variables articiales.
26
Como?
1. Eliminar de la tabla las columnas asociadas a las variables arti-
ciales no basicas.
2. Actualizar la la asociada a la funcion objetivo considerando que
los coecientes en la funcion objetivo de las variables articiales
en el problema original son 0.
3. Eliminar secuencialmente variables articiales basicas pivotando
sobre elementos de la tabla y
ij
= 0, en donde:
i := la asociada a la variable basica articial
j := columna asociada a la variable no articial
Si y
ij
= 0, j = i la ecuacion i-esima es redundante. Eliminar la
ecuacion y la variable articial.
27
3x
1
+ x
2
= 3
4x
1
+ 3x
2
6
x
1
+ 2x
2
4
Fase1
ptimo