Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduccin
Condiciones de punto ptimo
Mejora de una solucin bsica factible
El algoritmo Smplex
Degeneracin y ciclado
Solucin bsica factible inicial
Anlisis de sensibilidad
El mtodo Smplex para variables acotadas
Implementaciones comerciales del mtodo Smplex
El mtodo Smplex en forma de tableau
Otras variantes y mejoras del Smplex
Complejidad computacional del mtodo Smplex
3/133
Introduccin
min. c T x
s. a Ax D b
x 0;
se podran estudiar, uno a uno, los vrtices o puntos extremos del politopo
P D fx 2 Rn W Ax D b; x 0; A 2 Rmn; b 2 Rng
n
Para m y n grandes, considerar todos es prohibitivo pues son m.n m/
:
En 1947 George B. Dantzig culmin la investigacin de un importante 4/133
Sigue una estrategia de bsqueda del punto ptimo que no estudia todos los
vrtices de un problema. Sus claves:
Encontrar un vrtice desde el que comenzar: solucin bsica factible del
politopo P ;
Desplazarse desde ese punto extremo a otro, a lo largo de alguna arista de
P , mejorando con ello la funcin objetivo.
Repetir el paso anterior cuantas veces sea necesario hasta que se alcance la
solucin ptima o la arista escogida lleve a 1.
5/133
cN D N C N T ; N 0:
Es decir, a que
cN NTB T
cB 0
Este vector se denomina de costes reducidos: tienen que ser no negativos en el
punto ptimo.
9/133
xB D B 1 b
N D cN NTB T
cB 0
T
DB cB
smplex
h i h i
xB 1
Supongamos que x D 0 D B
0
b
es una solucin ptima no degenerada
de min. c T x
s. a Ax D b
x 0:
Introduccin
Condiciones de punto ptimo
Mejora de una solucin bsica factible
El algoritmo Smplex
Degeneracin y ciclado
Solucin bsica factible inicial
Anlisis de sensibilidad
El mtodo Smplex para variables acotadas
Implementaciones comerciales del mtodo Smplex
El mtodo Smplex en forma de tableau
Otras variantes y mejoras del Smplex
Complejidad computacional del mtodo Smplex
12/133
Supongamos que:
Partimos de una solucin bsica factible: punto extremo o vrtice del
problema.
La matriz A 2 Rmn .m < n/ es de rango completo y la regin factible no
es el conjunto vaco.
En la solucin bsica factible los m primeros coeficientes del vector x son
los que forman la base: todos positivos.
13/133
Para que se pueda mejorar la funcin objetivo desde el punto extremo que
define ese vector, debe haber costes reducidos negativos.
En el punto que define ese xB confluyen n m aristas; est en la interseccin 14/133
12
0
42
1
x1 12 4 1 2 4 2
xB D D B 1b D D D I
x2 01 1 0 1 1 1
x 0
xN D 3 D :
x4 0
79
7
5
62
61
3
78
01
45 9
Los costes reducidos de las variables no bsicas son 18/133
1 2 1
cN3 D c3 cBT B 1a3 D 0 1; 1 D 1 y
0 1 0
1 2 0
cN4 D c4 cBT B 1a4 D 0 1; 1 D 1:
0 1 1
y D B 1 aq
Para completar una iteracin del mtodo Smplex resta reemplazar el vector ap
por el aq en la base, es decir, hacer
BN D B C .aq ap /epT :
quedando
BN D aB1 ; aB2 ; : : : ; aBp 1 ; aq ; aBpC1 ; : : : ; aBm :
22/133
El Algoritmo Smplex
min. x1 3x2
s. a 2x1 C 3x2 6
x1 C x2 1
x1; x2 0:
Iteracin 1. Paso 3
Es decir, saldr xB2 D x4. Esto se puede deducir tambin analizando la expresin
xB1 x 6 3
D 3 D B 1b y D ;
xB2 x4 1 1
comprobndose que x4 es la primera variable que llega a cero al incrementar x2.
Iteracin 1. Paso 4
Iteracin 2. Paso 1
Iteracin 2. Paso 3
Iteracin 2. Paso 4
Iteracin 3. Paso 1
La solucin ptima es 2 3 2 3
x1 3=5
6x27 68=57
6 7 6 7
6 7D6 7:
4x35 4 0 5
x4 0
La funcin objetivo
6 27
z D cBT B 1b D T b D 4=5; 3=5 D :
1 5
35/133
578
3
568 01
7
4
1
Obsrvese que con Matlab no sera necesario suministrar el problema en forma estndar pues admite dos conjuntos de
condiciones: de igualdad y desigualdad. Si, en cambio, hay que explicitar que las cotas inferiores de las variables son cero.
Ejemplo 2 Solucin no acotada. Hay que resolver: 38/133
min. x1 3x2
s. a x1 2x2 4
x1 C x2 3
x1; x2 0:
02
9
3
6
01
45 78
79
Iteracin 1. Paso 1
1
cN1 D c1 T a1 D 1 0; 0 D 1 y
1
2
cN2 D c2 T a2 D 3 0; 0 D 3:
1
Al ser negativos los costes reducidos, esta solucin no es ptima.
Iteracin 1. Paso 2
Iteracin 1. Paso 3
Iteracin 1. Paso 4
La solucin queda: 2 3 2 3
x1 0
6x27 6 37
6 7 6 7
6 7D6 7
4x35 4105
x4 0
con
1 2 10
B D a3; a2 D y N D a1; a4 D :
0 1 11
43/133
Iteracin 2. Paso 1
Iteracin 2. Paso 2
Elegimos la nica variable no bsica posible, x1, como aquella que ha de entrar
en la base.
Iteracin 1. Paso 1
02 34567849
4
8
!"
#!"
$
01
Degeneracin y ciclado
Lo peor que puede ocurrir es que. en el Paso 3, la variable que salga de la base,
xjp , tenga un valor cero, lo que dar lugar a una iteracin con desplazamiento
D 0: x no cambiar.
s. a x1 C 14 x4 8x5 x6 C 9x7 D 0
x2 C 21 x4 12x5 1
x
2 6
C 3x7 D 0
x3 C x6 D1
x1 ; x2 ; x3 ; x4 ; x5 ; x6 ; x7 0:
expuesto por E.M.L. Beale en 1955, muestra cmo el mtodo Smplex puede
quedar atrapado en un ciclo infinito, si se escoge como variable a entrar en la
base aquella que posee el coste reducido ms negativo y para salir de ella una de
las que proporcionan el mnimo .
Para salir de la base, si el ratio es igual en varias, tambin aquella con menor
ndice.
ndice 53/133
Introduccin
Condiciones de punto ptimo
Mejora de una solucin bsica factible
El algoritmo Smplex
Degeneracin y ciclado
Solucin bsica factible inicial
Anlisis de sensibilidad
El mtodo Smplex para variables acotadas
Implementaciones comerciales del mtodo Smplex
El mtodo Smplex en forma de tableau
Otras variantes y mejoras del Smplex
Complejidad computacional del mtodo Smplex
54/133
Variables artificiales
Ax C x a D b;
con x 0 y x a 0.
Si se quiere conseguir una solucin factible del problema original habr que 60/133
forzar a que los coeficientes del vector x a sean cero. Es decir, resolver tambin
con el mtodo Smplex el problema
m
X
min. x ai
iD1
s. a Ax C x a D b
x; x a 0:
El mtodo Smplex completo, por consiguiente, consta de las dos fases que se
indican en la tabla.
61/133
Por tanto, 2 3 2 3
x1 0
6x27 607
6x37 607
6 7 6 7
6x47 D 607 :
6 7 6 7
6x57 637
4x 5 425
6
x7 1
Fase I. Iteracin 1. Paso 1 66/133
Elegimos la nica variable no bsica posible, x2, como aquella que ha de entrar
en la base.
Es decir, 2 3 2 3 2 3 2 3
xB1 x5 3 1
4xB2 5 D 4x65 D 425 415 ;
xB3 x7 1 1
comprobndose que x7 es la primera variable que llega a cero al incrementar x2.
69/133
siendo 2 3
011
B D a5; a6; a2 D 40 0 15
101
y 2 3
10 1 0
N D a1; a7; a3; a4 D 4 1 1 0 15 :
00 0 0
2 3
1
cN1 D c1 T a1 D 0 1; 1; 0 4 15 D 2;
0
2 3
0
cN7 D c7 T a7 D 1 1; 1; 0 15 D 2;
4
0
2 3
1
cN3 D c3 T a3 D 0 1; 1; 0 4 05 D 1 y
0
2 3
0
cN4 D c4 T a4 D 0 1; 1; 0 4 15 D 1:
0
2 3 12 3 2 32 3 2 3
011 1 0 11 1 1
y D 40 0 15 4 15 D 41 1 05 4 15 D 4 25 :
101 0 0 10 0 1
siendo 2 3 2 3
0 1 1 10 1 0
B D a5 ; a1 ; a2 D 0
4 1 1 y N D a6 ; a7 ; a3 ; a4 D 0 1
5 4 0 15 :
1 0 1 00 0 0
74/133
con 0 01 1 1
B D a5; a4; a2 D 0 11 y N D a3; a1 D 0 1 :
1 01 0 0
2 3
1
cN3 D c3 T a3 D 0 2; 0; 0 4 05 D 2; y
2 03
1
cN1 D c1 T a1 D 1 2; 0; 0 4 15 D 3:
0
Todava no se ha llegado al ptimo.
3 2 2 3
1 01 0 1
B D a3; a4; a2 D 4 0 1 15 I N D a5; a1 D 40 15 :
0 01 1 0
Todos los costes reducidos de las variables no bsicas son positivos por lo que se
ha alcanzado el nico ptimo del problema.
La solucin final es 2 3 2 3
x1 0
6x27 637
6x37 D 617 :
6 7 6 7
4x45 425
x5 0
528 568
x
7 7
3
58 59
68
9 7
6
x1
4
85/133
s. a Ax C x a D b
x; x a 0:
La constante M se elige suficientemente grande de tal forma que est muy
penalizado que en el ptimo x a 0.
Con un pequeo esfuerzo, una vez obtenida la solucin con el Smplex, se puede
conocer hasta qu punto ese ptimo seguir sindolo y qu pueden representar,
en costes o beneficios, determinadas variaciones de los parmetros del problema.
cN C N T cB C B T B 1N 0T :
90/133
cN C N T cBT B 1N 0T ;
Esto obliga a que el coeficiente del vector coste slo pueda variar hacia
abajo (decrecer), en una cantidad i igual al coste reducido de la variable i
que vara. Es decir
i cNi :
Hacia arriba podra variar hasta el infinito.
91/133
cNT cB C B T B 1N D cNNT BT B 1N 0T :
T
1
expresin en la que d D B.i;W/ N ,es el vector fila i -simo del producto
de la inversa de B por N .
92/133
Cambios en el vector b
Consideremos el problema:
min. c T x
s. a Ax D b C
x 0:
Al cambiar b, la solucin ptima variara as
h iT
T T T N B 1 T 0T
x D xB x N D bC ;
Esa base seguir siendo ptima en tanto y cuando sus coeficientes sigan siendo
no negativos.
93/133
La solucin completa es
2 3
2
637 60 80 1 1 120 80
xB D 6
405 ; B D 160 120 ; B D 5600
7 ;
160 60
0
1 0 1 368 1 368
N D ; D 560 y cN D 560 :
0 1 2 2
Para que la solucin ptima anterior lo siga siendo, debe cumplirse que
3680 120 0
20 C 80 0:
xB es entonces:
xB D B 1 b B 1 N l x Nl B 1 N u x Nu :
La funcin objetivo:
z D c T x D cBT xB C cNT l x Nl C cNT u x Nu
D cBT B 1b B 1Nl x Nl B 1Nux Nu C cNT l x Nl C cNT u x Nu
D cBT B 1b C cNT l cBT B 1Nl x Nl C cNT u cBT B 1Nu x Nu :
cost.
cost. reducid
reducid os
o s
Todos los cdigos comerciales del mtodo Smplex lo hacen para variables
acotadas:
s. a 2x1 C x2 C x3 10
x1 C x2 x3 4
0 x1 4
0 x2 6
1 x3 4:
Partiremos de:
10
B D a4; a5 D ; Nl D a1; a2; a3 ; Nu D ;
01
Iteracin 1. Paso 1
Iteracin 1. Paso 2
Se resuelve By D a2:
10 1 1
y D B 1 a2 D D :
01 1 1
Iteracin 1. Paso 3
Iteracin 1. Paso 4
Iteracin 2. Paso 3
Iteracin 2. Paso 4
Iteracin 3. Paso 1
Iteracin 3. Paso 3
Iteracin 3. Paso 4
Tambin,
2 1
B D a1; a3 D ; Nl D a4; a5 y Nu D a2:
1 1
La nueva funcin objetivo es 28.
Iteracin 4. Paso 1
Los costes reducidos de las variables no bsicas en sus lmites inferiores, x4 y x5,
son 1 y 0, y el de la variable en su lmite superior, x2, es -3.
Forma de tableau
z xB xN TD
z 1 0 cNT cBT B 1 N cBT B 1 b
El tableaux es as:
xB 0 I B 1N B 1b
Si suponemos que las variables bsicas que entran y salen de la base en una
determinada iteracin son la q y la p, y que las filas y las columnas del tableau
de esa iteracin estn numeradas partiendo de cero, la operacin de pivotacin
conlleva:
Iteracin 1
z x1 x2 x3 x4 x5 x6 TD
z 1 1 1 4 0 0 0 0
x4 0 1 1 2 1 0 0 9
x5 0 1 1 1 0 1 0 2
x6 0 1 1 0 0 1 4
El indica que de entre las relaciones posibles, 9/2 y 4/1, (la otra afecta a un
nmero negativo) se elige esta ltima, por lo que saldr de la base aquella
variable que pivota en la tercera fila: x6.
Iteracin 2 124/133
z x1 x2 x3 x4 x5 x6 TD
z 1 3 5 0 0 0 4 16
x4 0 1 0 1 0 2 1
x5 0 0 2 0 0 1 1 6
x3 0 1 1 1 0 0 1 4
Iteracin 3
z x1 x2 x3 x4 x5 x6 TD
z 1 0 4 0 1 0 2 17
1 1 2 1
x1 0 1 3
0 3
0 3 3
x5 0 0 2 0 0 1 1 6
2 1 1 13
x3 0 0 3
1 3
0 3 3
z x1 x2 x3 x4 x5 x6 TD
z 1 0 4 0 1 0 2 17
1 1 2 1
x1 0 1 3
0 3
0 3 3
x5 0 0 2 0 0 1 1 6
2 1 1 13
x3 0 0 3
1 3
0 3 3
s. a x C x C 2x C x
1 2 3 4 D 9
B D a1; a5; a3 D 4 1 1 15 x C x 1
x C x C x
x 2 C x
3 D 2
C x D 4
5
1 2 3 6
10 1 x ; x ; x ;
1 x ;
2 x ; x 0:
3 4 5 6
BN 1
D E B 1;
donde
1 y1 =yp
2 3
::: ::
6
6 : 7
7
.y ep /epT
6
6 1 yp 1 =yp 7
7
E DI D6 1=yp 7 y y D B 1 aq :
yp 6
6 ypC1 =yp 1
7
7
6 :: ::: 5
7
4 :
ym =yp 1
"
columna p
127/133
La variante del Smplex que incluye esta forma de actuar es la que sigue.
128/133
Paso 1 Operacin BTRAN (backward transformation). Calcular los multiplicadores smplex a partir de
T D cB
T
B 1
D T
cB Ek Ek 1 E1 :
1
yDB aq D .E k .E k 1 .E 1 aq ///:
1 y1 =yp
2 3
6 :
:: :: 7
6
6 : 7
7
6
6 1 yp 1 =yp 7
7
E kC1 D6 1=yp 7:
ypC1 =yp 1
6 7
6 7
::
6 7
6 :: 7
4 : : 5
ym =yp 1
Bk D B0 E 1 1 E 2 1 E k 1 I
es decir, que
1
L m P m L 1 P 1 Bk D U m U m 1 U 1E 1 E 2 1 E k 1:
maximizar xn
s. a 0 x1 1
xi 1 xi 1 xi 1; i D 2; : : : ; n; 0 < < 1=2;
xi 0; i D 1; 2; : : : ; n:
Tiene 2n puntos extremos. Para n D 2 y n D 3 es el de la figura.
x3
x(1) = 1
x(3) x(2)
x(1)
x(0) x1 x(0) x1
La prctica de los ltimos cincuenta aos ha permitido constatar que los casos 133/133
Teniendo tambin en cuenta el efecto que el tratamiento de la dispersidad de los problemas puede acarrear en la
complejidad del mtodo, diversos estudios han establecido que la complejidad del mtodo la define la ecuacin
Km nd 0;33 , donde K es una constante, 1;25 < < 2;5 y d es el nmero de elementos distintos de cero en la matriz