You are on page 1of 13

INVESTIGACIN

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

El problema de programacin lineal incorporando las variables de holgura se


convierte en su forma estndar:

Maximizar Z = 200 X1 + 240 X2 + 0 S1 + 0 S2


Sujeto a:
6 X1 + 12 X2 + 1 S1 + 0 S2 = 120 1a
8 X1 + 4 X2 + 0 S1 + 1 S2 = 64 2a
X1, X2, S1, S2 0
Variables Bsicas y Soluciones Bsicas Factibles
El conjunto de soluciones bsicas en el problema dado en 1a y 2a:
Solucin (1): X1 = 0, X2 = 0, S1 = 120, S2 = 64
Solucin (2): X1 = 8, X2 = 0, S1 = 72, S2 = 0
Solucin (3): X1 = 0, X2 = 1, S1 = 108, S2 = 60
Observe que las soluciones (1), (2) y (3) satisfacen tambin las restricciones de
no negatividad. Por tanto, son soluciones factibles.
Si tenemos ms variables que ecuaciones, podemos tener un conjunto extra de
variables iguales a cero, obteniendo as un sistema con igual nmero de
variables y restricciones. Una solucin as es llamada una solucin bsica.
Una solucin bsica factible para las ecuaciones 1a y 2a es una solucin que
tenga a lo sumo dos (= nmero de ecuaciones) variables con valores positivos
y el resto de variables con valores iguales a cero.
Las soluciones (1) y (2) son soluciones bsicas factibles.
Solucin (1):

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)

Solucin (3): X1 = 0, X2 = 1, S1 = 108, S2 = 60


En la solucin 3 hay tres variables que son positivas, por tanto, es una solucin
factible pero no una solucin bsica factible.
Procedimiento de computo Simplex
En general, la forma estndar de un modelo de programacin lineal de
maximizacin es la siguiente:
Maximizar Z = C1 X1 + C2 X2 + .... + Cn Xn + Cn+1 Xn+1 + .... + Cn+m Xn+m
Sujeto a :
a11 X1 + a12 X2 + .... + a1n Xn + Xn+1 (=S1)
= b1
a21 X1 + a22 X2 + .... + a2n Xn +
Xn+2 (=S2)
= b2
.
..
.
am1 X1 + am2 X2 + .... + amn Xn +
Xn+m (=Sm) = bm
Xj 0 j = 1, 2, 3, ...., m+n
3

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

En este problema habr m variables bsicas con un valor positivo y n variables


no bsicas con valor cero, para que exista una solucin bsica factible.
ALGORITMO DEL METODO SIMPLEX
PASO #1:
Cambiamos el programa lineal, de la forma cannica a la forma estndar, y
luego el sistema lo pasamos al formato del tablero inicial. Esta tabla inicial se
denomina Iteracin 0.
PASO #2:
Calculamos la fila Zj de acuerdo a la siguiente expresin: CBTB j = 1, 2, 3,
...., n+m.
Zj = Es la disminucin indirecta del valor de la funcin objetivo inducido al
considerar en la solucin una unidad de la variable asociada a la j-sima
columna no bsica de la tabla, mientras las dems variables no bsicas se
mantienen en cero.
PASO #3:
Calculamos la fila Cj Zj j = 1, 2, 3, ...., n+m. Cj Zj = es el costo de
oportunidad de aumentar, si es positivo, la funcin objetivo por unidad de
aumento de una variable no bsica.
Casos:
a) Si para al menos un j, Cj Zj es positivo y si al menos un aij para este j es
positivo, entonces existe una mejor solucin bsica factible. An no se ha
llegado a la solucin ptima.
b) Si para al menos un j, Cj Zj es positivo y todos los aij para este j son
negativos, entonces la regin de soluciones factibles no est acotada. Y la
solucin tiende a infinito.
c) Si todos los Cj Zj son negativos y ceros, entonces la solucin ptima se
ha encontrado.

Para nuestro problema inicial, hemos cambiado de la forma cannica a la


estndar. Ahora nos falta colocar los valores al tablero inicial junto con el paso
#2.
ITERACIN # 0
Cj
200
240
0
0
CB
VB
X1
X2
S1
S2
B
0

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

La tabla resultante se muestra a continuacin:

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

Ya que existe un valor positivo (80) en la fila de Cj Zj, entonces la tabla no es


ptima, y se debe seguir trabajando con los pasos 4, 5 y 6, hasta que se
cumpla la condicin Cj Zj 0, j = 1, 2, 3, ...., n+m.
El siguiente paso es identificar la columna pivote que es el mayor valor positivo
de los Cj Zj, vemos que este criterio se cumple para la columna de X1, por
tanto esta variable no bsica va a ingresar a la base, mientras que la variable
bsica que sale de la base es aquella que tiene el menor cociente bi/ai1, en
este caso es S2.
ITERACIN # 1
Cj
200
240
0
0
bi/ai2
CB
VB
X1
X2
S1
S2
B
240

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

Luego, convertimos el nmero pivote (6) en 1, dividiendo la fila pivote entre 6.

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

La tabla resultante se muestra a continuacin:


ITERACIN # 2
200
240
X1
X2

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

Ya que todos los Cj Zj, 0 entonces la tabla es ptima.


La respuesta final es: X1 = 4 y X2 = 8 (variables bsicas) y S1 = S2 = 0
(variables no bsicas), y el valor de Z = 2720.
Nos podemos dar cuenta que, en cada tabla del procedimiento Simplex, los
valores de X1 y X2 tienen valores de los vrtices del polgono de la regin
factible. Esto quiere decir que cada tabla va recorriendo los vrtices del
polgono hasta llegar al vrtice ptimo que me da el mximo valor de Z.
EJERCICIOS
Maximizar Z = 3 X1 + 4 X2
Sujeto a:
X1 + 2 X2 1000
3 X1 + 2 X2 1800
X2 400
X1 0, X2 0

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

VARIABLES DE EXCESO O SUPERFLUAS


Una restriccin lineal de la forma aij Xj bi se puede convertir en una
igualdad, restando una nueva variable no negativa del lado izquierdo de la
desigualdad.
Esta variable es numricamente igual a la diferencia entre los lados izquierdo y
derecho de la desigualdad, y se conoce como variable de exceso.
Ejemplo:

4 X1 + 6 X2 + X3 54
4 X1 + 6 X2 + X3 S1 = 54

Generacin de una solucin factible inicial


Despus de que todas las restricciones lineales (con lados derechos no
negativos) se han transformado en igualdades, introduciendo variables de
holgura y de exceso donde sea necesario, agregue una nueva variable,
llamada variable artificial, al lado izquierdo de cada ecuacin de restriccin
que no contenga una variable de holgura. Ahora cada ecuacin de restriccin
contendr o una variable de holgura o una variable artificial.
Una solucin inicial no negativa para este conjunto de restricciones se obtiene
haciendo cada variable de holgura y cada variable artificial igual al lado
derecho de la ecuacin en la cual aparecen; y haciendo las otras variables,
incluyendo las variables de exceso, iguales a cero.
Ejemplo:
X1 + 2 X2 3
4 X1 + 5 X2 6
7 X1 + 8 X2 = 15

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

Una solucin inicial no negativa a este ltimo sistema es S1 = 3, a1 = 6, a2 =


15, como variables bsicas, y X1 = X2 = S2 = 0 como variables no bsicas.
Ocasionalmente, se puede generar fcilmente una solucin sin un conjunto
completo de variables de holgura y artificiales.
Costos de penalizacin
La introduccin de variables de holgura y de exceso no altera ni a la naturaleza
de las restricciones ni a la funcin objetivo. Por consiguiente, estas variables se
incorporan a la funcin objetivo con coeficientes cero.
Las variables artificiales, sin embargo, cambian la naturaleza de las
restricciones. Ya que se agregan solo a un lado de una desigualdad, el nuevo
sistema es equivalente al sistema anterior de restricciones solo si las variables
artificiales tienen valor cero.
Para garantizar estas condiciones en la solucin ptima (en contraste con la
solucin inicial), las variables artificiales se incorporan en la funcin objetivo
con coeficientes positivos muy grandes si se trata de un programa de
minimizacin, o con coeficientes negativos muy grandes si se trata de un
programa de maximizacin.
Estos coeficientes, que se denotan con + M o M, donde M se considera un
nmero positivo muy grande, representan el severo costo de penalizacin en
las variables artificiales.
Ejemplo:
Forma Cannica
Minimizar Z = 20 X1 + 30 X2
Sujeto a:
2 X1 + X2 10 (S1, a1)
3 X1 + 4 X2 24 (S2, a2)
8 X1 + 7 X2 56 (S3, a3)
X1, X2 0

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

La seal de infactibilidad se presenta al obtener una tabla con las propiedades


siguientes:
1. Todos los costos de oportunidad (Cj Zj) son no positivos (es decir, se ha
cumplido la terminacin o criterio de Optimalidad.
2. Una o ms variables artificiales permanecen en la solucin, con un valor
positivo. Es decir, una o ms variables artificiales permanecen en la base
y el dato asociado de la columna de los valores del lado derecho (B) es
positivo.
Finalmente, ningn problema del mundo real correctamente formulado puede
ser no factible. La infactibilidad es una anomala matemtica introducida por los
analistas. Ya sea que las restricciones sean demasiado estrictas, tan estrictas
que en su conjunto no puedan ser satisfechas simultneamente o que se haya
cometido un error de copiado al meter los datos a la computadora.
Minimizar Z = 20 X1 + 30 X2
Sujeto a:
2 X1 + X2 10 (S1)
3 X1 + 4 X2 24 (S2)
8 X1 + 7 X2 56 (S3, a1)
X1, X2 0
PROBLEMAS NO ACOTADOS
Un problema lineal es no acotado si la funcin objetivo puede mejorarse
arbitrariamente sobre la regin factible. Esto implica que tambin la regin
factible debe ser no acotada.
Los problemas no acotados no es un fenmeno del mundo real. Nadie ha
descubierto todava al manera de obtener utilidades infinitas. La infinitud es otra
anomala matemtica introducida ya sea por una formulacin incorrecta (por
ejemplo, no imponer suficientes restricciones) o por errores en el ingreso de
datos.
La seal de no acotabilidad consiste en (1) una columna con un costo de
oportunidad positivo y (2) todos los elementos del cuerpo principal de la tabla,
en esa columna, son 0.
Maximizar Z = X1 2 X2
Sujeto a:
X1 2 X2 4
X1 3 X2 3
X1, X2 0

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

Por lo tanto, se encontrar un vrtice degenerado cuando la tabla presente un


cero en la columna de los valores del lado derecho (B). Si esto sucede en la
tabla, es posible que la variable que estemos tratando de introducir ingrese a la
base a nivel cero, por lo que en este pivoteo quedaremos en el mismo vrtice,
con el simple cambio del conjunto bsico, en tanto que no cambia la funcin
objetivo.
Maximizar Z = 3 X1 + 2 X2 + 4 X3
Sujeto a:
3 X1 + X2 5 X3 10
X1 + X2 + 2 X3 8
2 X1 + 2 X3 2
X1, X2, X3 0

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

You might also like