Está en la página 1de 13

INVESTIGACIN

DE OPERACIONES I

METODO SIMPLEX
Profesor: Ing. Luis Medina Aquino 2013-1

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 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 X2 16 A B

10

D 0

C 8 20

X1

El problema de programacin lineal incorporando las variables de holgura se convierte en su forma estndar:
2

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): Solucin (2): X1 = 0, X2 = 0 Variables no bsicas (= 0) X2 = 0, S2 = 0 Variables no bsicas (= 0) S1 = 120, S2 = 64 Variables 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 TABLA SIMPLEX Cj VB Xn+1 Xn+2 .... .... Xn+m Zj Cj - Zj .... Cn Cn+1 Cn+2 ....Cn+m .... Xn Xn+1 Xn+2 ....Xn+m B a11 a12 ....a1n b1 1 0 ....0 a21 a22 ....a2n b2 0 1 ....0 .... .... .... .... .... .... .... .... .... .... .... .... .... .... am1 am2 ....amn bm 0 0 ....1 Z1 Z2 ....Zn Zn+1 Zn+2 ....Zn+m [CB]T[B] C1-Z1 C2-Z2 ....Cn-Zn Cn+1-Zn+1 Cn+2-Zn+2 Cn+m -Zn+m C1 X1 C2 X2

CB Cn+1 Cn+2 .... .... Cn+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: [ CB] T[ B] 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, C j 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, C j 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 6 12 1 0 120 0 S2 8 4 0 1 64 Zj 0 0 0 0 0 Cj - Zj 200 240 0 0 PASO #4: Identificamos a la variable que nos da el mayor C j 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 0 S1 S2 Zj Cj - Zj 6 8 0 200 12 4 0 240 Columna pivote 1 0 0 0 0 1 0 0 120 64 0 10 16 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 0 R1 1/2 1 1/12 0 10 0 R2 8 4 0 1 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 - 4R01 R12 8 -2 6 4 -4 0 0 -1/3 -1/3 1 0 1 64 -40 24

La tabla resultante se muestra a continuacin: Cj VB X2 S2 200 X1 1/2 6 120 80 240 X2 1 0 240 0 0 S1 1/12 -1/3 20 -20 0 S2 0 1 0 0

CB 240 0

Zj Cj - Zj

B 10 24 2400

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 0 Zj Cj - Zj X2 S2 1/2 6 120 80 Columna pivote 1 0 240 0 1/12 -1/3 20 -20 0 1 0 0 10 24 2400 20 4 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 1 R1 1/2 1 1/12 0 10 1 R2 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/2R12 R21 1/2 -1/2 0 1 0 1 1/12 1/36 1/9 0 -1/12 -1/12 10 -2 8

La tabla resultante se muestra a continuacin: Cj VB X2 X1 ITERACIN # 2 200 240 X1 X2 0 1 1 0 120 240 0 0 0 S1 1/9 -1/18 140/9 -140/9 0 S2 -1/12 1/6 40/3 -40/3

CB 240 200

Zj Cj - Zj

B 8 4 2720

Ya que todos los Cj Zj, 0 entonces la tabla es ptima. La respuesta final es: X1 = 4 y X2 = 8 (variables bsicas) y S 1 = 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 + 7 X1 + 8 X2

a1
+

=3 =6

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 Cj VB a1 a2 a3 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

CB M M M

Zj Cj - Zj

B 10 24 56 90M

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

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 PROBLEMAS DEGENERADOS 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

11

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. 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

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

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 = 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

13

También podría gustarte