Professional Documents
Culture Documents
DE OPERACIONES I
METODO SIMPLEX
Profesor: Ing. Luis Medina Aquino
2013-2
METODO SIMPLEX
Es un mtodo sistemtico y eficiente para encontrar y probar soluciones
situadas en los vrtices de optimalidad. El mtodo Simplex termina una vez se
haya encontrado la solucin ptima.
Como veremos, cada vrtice del conjunto factible de programacin lineal puede
representarse en forma algebraica como una clase particular de solucin de un
conjunto de ecuaciones lineales.
Se generan soluciones diferentes de tal forma que producen una secuencia de
vrtices adyacentes. Cada movimiento en la secuencia (de un vrtice al
adyacente) se llama iteracin y el movimiento implica una manipulacin en un
sistema lineal.
Ejemplo:
Se tiene el siguiente programa lineal, en su forma cannica:
Maximizar Z = 200 X1 + 240 X2
Sujeto a:
6 X1 + 12 X2 120
8 X1 + 4 X2 64
X1 0, X2 0
El conjunto de soluciones factibles est
determinado por el polgono ABCD, en
donde:
Para A (0, 10) Z = 2,400
Para B (4, 8) Z = 2,720
Para C (8, 0) Z = 1,600
Para D (0, 0) Z = 0
X2
16
10
A
B
D
0
C
8
X1
20
Variables de Holgura:
El mtodo Simplex requiere que las restricciones sean ecuaciones (o
restricciones con relacin de igualdad) en vez de inecuaciones (o restricciones
con relacin de desigualdad).
Cualquier inecuacin puede ser convertida en una ecuacin agregando una
cantidad no negativa en el lado de menor valor de la inecuacin.
En la restriccin 1 ser:
En la restriccin 2 ser:
6 X1 + 12 X2 + S1 = 120
8 X1 + 4 X2 + S2 = 64
X1 = 0, X2 = 0
Variables no bsicas (= 0)
S1 = 120, S2 = 64
Variables bsicas (> 0)
Solucin (2):
X2 = 0, S2 = 0
Variables no bsicas (= 0)
X1 = 8, S1 = 72
Variables bsicas (> 0)
TABLA SIMPLEX
CB
Cj
VB
C1
X1
C2
X2
.... Cn
.... Xn
Cn+1
Xn+1
Cn+2
Xn+2
....Cn+m
....Xn+m
Cn+1
Xn+1
....0
Xn+2
....
....
a12
a22
....a1n
Cn+2
....
....
a11
a21
....
....
....
....
....a2n
....
....
0
....
....
1
....
....
....0
....
....
Cn+m
Xn+m
am1
am2
Zj
Cj - Zj
b1
b2
....
....
....amn
bm
0
0
....1
Z1
Z2
....Zn
Zn+1
Zn+2
....Zn+m CBTB
C1-Z1 C2-Z2 ....Cn-Zn Cn+1-Zn+1 Cn+2-Zn+2 Cn+m -Zn+m
S1
12
120
S2
8
0
200
4
0
240
0
0
0
1
0
0
64
0
Zj
Cj - Zj
PASO #4:
Identificamos a la variable que nos da el mayor Cj Zj tal como Xk (Sk), esta
variable no bsica es candidata para ingresar en la tabla como variable
bsica, y su columna se va a llamar columna pivote.
En contraparte, existe una variable bsica Xr (Sr) que va a salir de la base. La
fila que contiene a esta variable se denomina fila pivote. El criterio para su
eleccin se basa en determinar el cociente bi / aik ms pequeo, haciendo
caso omiso (y por ende las filas) de los cocientes cuyo denominador sea cero o
negativo. El nmero pivote es la interseccin de la fila pivote y la columna
pivote: ark.
PASO #5:
El nmero pivote debe ser convertido a uno (+1), y la variable bsica entrante
reemplaza a la variable bsica saliente en la columna de las variables bsicas.
Luego, cada uno de los coeficientes restantes en la columna pivote tiene que
ser convertido a cero.
PASO #6:
Repetimos los pasos 3, 4 y 5 hasta que algn tablero cumpla con la condicin
Cj Zj 0, j = 1, 2, 3, ...., n+m.
Aplicando las reglas 4, 5 y 6 de nuestro problema ejemplo identificamos la
columna pivote como aquella que tiene el mayor valor positivo de los Cj Zj, y
deducimos que la variable no bsica X2 es la variable bsica entrante.
Calculando bi/ai2 obtenemos el menor valor (10), con lo cual identificamos la
fila pivote, y determinamos que la variable S1 sale de la base.
Cj
200
240
0
0
bi/ai2
CB
VB
X1
X2
S1
S2
B
0
S1
12
120
10
S2
8
0
200
4
0
240
Columna
pivote
0
0
0
1
0
0
64
0
16
Zj
Cj - Zj
Fila pivote
El siguiente paso convertimos a 1 el valor del nmero pivote (12). Para ello
dividimos toda la primera fila R01 (restriccin uno de la iteracin 0) entre 12.
X1
X2
S1
S2
B
R01
1/2
1
0
10
1/12
R02
64
Luego, los dems valores de la columna pivote (X2) deben tener valor cero.
Para ello hacemos la siguiente operacin: A los valores de la fila R 02 se le resta
cuatro veces la fila R01, y se obtiene R12 (la restriccin 2 de la iteracin 1):
R02
64
4R01
R12
-2
-4
-1/3
-40
-1/3
24
CB
Cj
VB
200
X1
240
X2
0
S1
0
S2
240
X2
1/2
1/12
10
S2
6
120
80
0
240
0
-1/3
20
-20
1
0
0
24
2400
Zj
Cj - Zj
X2
1/2
1/12
10
20
S2
6
120
80
Columna
pivote
0
240
0
-1/3
20
-20
1
0
0
24
2400
Zj
Cj - Zj
Fila pivote
El siguiente paso convertimos a 1 el valor del nmero pivote (12). Para ello
dividimos toda la primera fila R01 (restriccin uno de la iteracin 0) entre 12.
X1
X2
S1
S2
B
R11
1/2
1/12
10
R12
1
0
-1/18
1/6
4
Luego, los dems valores de la columna pivote (X2) deben tener valor cero.
Para ello hacemos la siguiente operacin: A los valores de la fila R 02 se le resta
cuatro veces la fila R01, y se obtiene R12 (la restriccin 2 de la iteracin 1):
R11
1/2
1/12
10
-1/2R12
R21
-1/2
1/36
-1/12
-2
1/9
-1/12
CB
Cj
VB
240
X2
1/9
-1/12
200
X1
1
120
0
0
240
0
-1/18
140/9
-140/9
1/6
40/3
-40/3
4
2720
Zj
Cj - Zj
0
S1
0
S2
Maximizar Z = 3 X1 + 2 X2 + X3
Sujeto a:
X1 + 2 X2 + X3 10
X1 + X2 + 2 X3 9
2 X1 + 3 X3 12
X1, X2, X3 0
Maximizar Z = 4 X1 2 X2 + 3 X3
Sujeto a:
X1 X2 X3 8
X2 X3 4
X1 + X3 12
X1, X2, X3 0
Maximizar Z = 5 X1 3 X2 + X3
Sujeto a:
X1 + X2 10
X2 + X3 6
X1 X3 2
X1, X2, X3 0
Maximizar Z = X1 + 3 X2 + 2 X3
Sujeto a:
X1 + X2 X3 6
X1 + 2 X2 + X3 9
2 X1 + 3 X2 + X3 15
X1, X2, X3 0
MAX Z = 4 X1 X2 + 3 X3 + 2 X4
Sujeto a:
5 X1 + X2 3 X3 + 5 X4 50
4 X1 X2 + X3 + 3 X4 44
X1 X3 + 2 X4 15
X1, X2, X3, X4 0
4 X1 + 6 X2 + X3 54
4 X1 + 6 X2 + X3 S1 = 54
Se convierte en:
X1 + 2 X2 + S1
=3
4 X1 + 5 X2
S2 = 6
7 X1 + 8 X2
= 15
Si ahora se agregan respectivamente las variables artificiales a1 y a2 al lado
izquierdo de las dos ltimas restricciones, es decir, a las restricciones que no
tengan variable de holgura; el resultado es:
X1 + 2 X2 + S1
4 X1 + 5 X2
S2 +
=3
=6
a1
7 X1 + 8 X2
a2
= 15
Forma Estndar
Minimizar Z = 20 X1 + 30 X2 + 0 S1 + 0 S2 + 0 S3 + M a1+ M a2 + M a3
Sujeto a:
2 X1 + X2 1 S1 + 0 S2 + 0 S3 + 1 a1 + 0 a2 + 0 a3 = 10
3 X1 + 4 X2 + 0 S1 1 S2 + 0 S3 + 0 a1 + 1a2 + 0 a3 = 24
8 X1 + 7 X2 + 0 S1 + 0 S2 1 S3 + 0 a1 + 0 a2 + 1 a3 = 56
X1, X2, S1, S2, S3, a1, a2, a3 0
EL METODO SIMPLEX PARA UN MODELO DE MINIMIZACIN
Las modificaciones que se requieren para resolver un modelo de minimizacin
son muy simples.
El proceso de elegir la columna pivote ser con el valor Cj Zj ms negativo,
de tal manera que, en la tabla ptima, todos los valores de Cj Zj sean valores
positivos o cero.
En nuestro ejemplo anterior sera:
Forma Estndar
Minimizar Z = 20 X1 30 X2 + 0 S1 + 0 S2 + 0 S3 M a1 M a2 M a3
Sujeto a:
2 X1 + X2 1 S1 + 0 S2 + 0 S3 + 1 a1 + 0 a2 + 0 a3 = 10
3 X1 + 4 X2 + 0 S1 1 S2 + 0 S3 + 0 a1 + 1a2 + 0 a3 = 24
8 X1 + 7 X2 + 0 S1 + 0 S2 1 S3 + 0 a1 + 0 a2 + 1 a3 = 56
X1, X2, S1, S2, S3, a1, a2, a3 0
CB
M
M
M
Cj
VB
a1
a2
a3
Zj
Cj - Zj
20
X1
2
3
8
13M
20-13M
ITERACION 0
30
0
0
X2
S1
S2
1
-1
0
4
0
-1
7
0
0
12M
-M
-M
30-12M
M
M
0
S2
0
0
-1
-M
M
M
a1
1
0
0
M
0
M
a2
0
1
0
M
0
M
a3
0
0
1
M
0
PROBLEMAS NO FACTIBLES
Un programa lineal es no factible cuando no hay solucin que satisfaga
simultneamente todas las restricciones y condiciones de no negatividad. Esto
significa que el conjunto factible es vaco.
10
B
10
24
56
90M
MAX Z = 4 X1 3 X2 + 2 X3 + X4
Sujeto a:
X1 X2 5
X2 X3 2
X2 2 X3 + X4 4
X1, X2, X3, X4 0
PROBLEMAS DEGENERADOS
Un vrtice degenerado es el que tiene menos de m variables bsicas positivas,
siendo m el nmero de restricciones del modelo y por ello el nmero de filas del
cuerpo principal de la tabla.
11
OPTIMOS ALTERNATIVOS
Recuerde que la seal de Optimalidad en una tabla simplex es que todos los
elementos de la ltima fila (Cj Zj) sean 0.
Cuando se encuentra una tabla ptima con un elemento cero en la ltima fila,
dentro de una columna no bsica, esa variable se puede llevar a la base sin
cambiar el valor objetivo. Si la solucin ptima es no degenerada, la variable
llevada a la base ser positiva. Esto significa que se habr obtenido un nuevo
vrtice y que por lo tanto existen soluciones ptimas alternas.
Maximizar Z = X1 2 X2
Sujeto a:
2 X1 + X2 4
X1 3 X2 3
2 X1 4 X2 8
X1, X2 0
Maximizar Z = 4 X1 + 3 X2 + 2 X3
Sujeto a:
2 X1 + X2 X3 10
2 X1 + 2 X2 + X3 14
3 X1 + X2 + X3 12
X1, X2, X3 0
12
EJERCICIOS
Maximizar Z = 2 X1 X2 + X3
Sujeto a:
X1 + X3 1
- X1 + 2 X2 + X3 2
X1, X2, X3 0
Minimizar Z = X1 2 X2 3 X3
Sujeto a:
X1 + X2 + 2 X3 4
X1 + X2 + X3 6
X3 2
X1, X2, X3 0
Maximizar Z = 2 X1 4 X2 + 3 X3
Sujeto a:
X1+ X2 + 2 X3 9
6 X1 2 X2 + 2 X3 6
2 X1 2 X2 + X3 4
X1, X2, X3 0
Minimizar Z = 2 X1 X2 X3
Sujeto a:
X1 X2 + 2 X3 9
3X1 + 2 X2 + 2 X3 6
2 X1 2 X2 X3 3
X1, X2, X3 0
Maximizar Z = 6 X1 4 X2 + 5 X3
Sujeto a:
2 X1+ X2 + 2 X3 45
3 X1 + X2 + 2 X3 54
2 X1 2 X2 + X3 42
X1, X2, X3 0
MIN Z = 3 X1 + 2 X2 + 4 X3 + X4
Sujeto a:
2 X1 + 3 X3 2 X4 6
2 X2 2 X3 + X4 10
X3 X4 5
X1, X2, X3, X4 0
Maximizar Z = X1 4 X2 + 6 X3
Sujeto a:
X1+ 2 X2 + X3 11
2 X1 + X2 + 2 X3 10
- 3 X1 X2 + X3 3
X1, X2, X3 0
Maximizar Z = 2 X1 3 X2 + X3
Sujeto a:
X1+ 2 X2 + X3 13
2 X1 2 X2 + 2 X3 10
3 X1 X2 X3 15
X1, X2, X3 0
MIN Z = 2 X1 3 X2 + X3
Sujeto a:
2 X1 2 X2 + 2 X3 10
X1 + 2 X2 + X3 13
3 X1 X2 X3 15
X1, X2, X3 0
MIN Z = X1 4X2 6 X3
Sujeto a:
X1 2 X2 + X3 11
2 X1 + X2 + 2 X3 10
3 X1 X2 X3 3
X1, X2, X3 0
13