Método Simplex

67
UNIDAD 3 "PROGRAMACIÓN LINEAL MÉTODO SIMPLEX" OBJETIVO: EL ALUMNO APLICARÁ EL MÉTODO SIMPLEX PARA

description

Investigación Operativa

Transcript of Método Simplex

UNIDAD 3

"PROGRAMACIN LINEAL MTODO SIMPLEX"

OBJETIVO: EL ALUMNO APLICAR EL MTODO SIMPLEX PARA RESOLVER PROBLEMAS EN TODO TIPO DE INDUSTRIAS ALIMENTARIAS

PROGRAMACION LINEAL MTODO SIMPLEXLos problemas reales de programacin lineal generalmente tienen variables de decisin y muchas restricciones. Tales problemas no pueden ser resueltos grficamente. Se usan algoritmos tales como el simples. El mtodo simplex es un procedimiento iterativo que progresivamente permite obtener una solucin ptima para los problemas de programacin lineal. Existen numerosos programas tanto para computadoras centrales como para personales. Aunque el mtodo simples es especialmente til en problemas de gran escala (resueltos con una computadora), en seguida se practicar en el caso del mismo problema que fue resuelto grficamente en el ejemplo sobre la empresa qumica Chemical.Procedimiento general del simplex1. Establzcase la tabla inicial de simples. Formular la funcin objetivo y las restricciones e introducir las variables de decisin, variable en la solucin, valor en solucin (LD), C (contribucin de la variable), Z (costo de introducir la variable), C Z (contribucin neta de la variable).2. Seleccinese la columna pivote. sta es la columna con el nmero positivo ms grande en el rengln inferior (C - Z). Esta se convierte en la nueva variable de la solucin.3. Seleccinese el rengln pivote. ste es el rengln con la razn ms pequea del valor LD dividido por el valor de la columna pivote. sense slo nmeros positivos. Esto identifica la variable que deja la solucin.4. Encirrese en un crculo el elemento pivote. sta es la interseccin del rengln y la columna pivotes.5. Convirtase al elemento pivote en un 1. Hgase esto dividiendo cada valor del rengln pivote entre el valor pivote. Mtase este rengln en una tabla nueva.6. Genrense los dems renglones de la nueva tabla con ceros en la columna pivote. Esto se hace multiplicando el nuevo rengln (del paso 5) por el negativo del elemento en la columna pivote. El resultado ser sumado al antiguo rengln. Introdzcase este rengln revisado en la nueva tabla, y continese este procedimiento en cada rengln de la seccin central de la tabla.7. Prueba de optimizacin. Calclense los valores de Z y C Z. Los valores de Z de cada columna son (elementos de la columna) ( C ). Si todos los valores de C Z son 0, la solucin es ptima. Lanse los valores de las variables en la solucin de la columna de LD y el valor de la funcin objetivo del rengln de Z en la columna de LD. Si la solucin no es ptima, regrese al paso 2.

3.1 TEORIA Y FUNDAMENTOS DEL MTODO SIMPLEX Este mtodo busca la solucin, en cada paso, de forma mejorada hasta que no pueda seguir mejorando dicha solucin. Al comienzo el vrtice principal es un vrtice cualquiera, hasta que va mejorando, comparndolo con el vrtice anterior, en los pasos de la ecuacin. El mtodo Simplex se basa en la siguiente propiedad: si la funcin objetivo, f, no toma su valor mximo en el vrtice A, entonces hay una arista que parte de A, a lo largo de la cual f aumenta. Deber tenerse en cuenta que este mtodo slo trabaja para restricciones que tengan un tipo de desigualdad "" y coeficientes independientes mayores o iguales a 0, y habr que estandarizar las mismas para el algoritmo. En caso de que despus de ste proceso, aparezcan (o no varen) restricciones del tipo "" o "=" habr que emplear otros mtodos, siendo el ms comn el mtodo de las Dos Fases.

Se considera el programa lineal en su forma cannica Mx Z = cXSujeto a

Donde A es de orden m por n; cX son vectores rengln y columna respectivamente con n componentes y b es un vector columna con m componentes. Se denotan a las columnas de A por a1,a2,...,an con m < n. Se considera a la matriz A partida en dos matrices, una B con m vectores linealmente independientes y otra n con n-m vectores linealmente dependientes:Am,n = (Bm,m Nm,n-m) La matriz B se le llamar la base y cualquier vector aj en A que no est en B, puede escribirse como una combinacin de los vectores de b. Es decir dado

Este puede escribirse como

donde

i=1,...,m.Se hace

Por lo que y como B tiene inversa B-1, Yj = B-1 aj Considerando las restricciones originales del programa linealAX = bSe tiene que(B|N) (XB/XN) = bdonde

Entonces desarrollando se tieneBXB+NXN = bSi se hace uso de la definicin de solucin bsica factible se tiene que

Y la desarrollada anteriormente se convierte en

Que es una solucin bsica de. El vector se le denomina vector bsico y a, vector no bsico. Si se parte el vector de costos o precios unitarios c en

Se tiene que la funcin objetivo puede escribirse

porque

3.1.1 ALGEBRA DEL MTODO SIMPLEX Paso 1 Convertir el LP a suma forma estndar. Paso 2 Encontrar una solucin bsica factible. Si todas las restricciones son de tipo == 0

2. Obtener el rengln z que consiste en convertir al funcin objetivo en valores negativos.

Max z = 40F+30S+S1+S2+S3z = -40F-30S = O

3. Resumir la forma estndar en una tabla simplex

4. Se encuentran las intersecciones de la primera variable (la ms negativa) para determinar el rengln pivote.

En este caso se toma la columna donde se encuentra el -40 y cada uno de los valores de la solucin se divide dentro de los valores de dicha columna, escogiendo el menor valor y toda esa fila se convertir en la fila pivote como se puede observar en la siguiente tabla:

5. Se hacen los clculos correspondientes

a. La nueva fila pivote es la S3 el objetivo es convertir el valor de 0.6 en 1 para lo cual se divide toda la fila dentro de 0.6 y se coloca en la nueva tabla.b. El resto de valores que se encuentran arriba o abajo de 0.6 deben convertirse en 0. Para este caso se desea convertir el 0.4 en 0 por lo cual se convierte el 0.4 en negativo se multiplica por el valor correspondiente en la nueva fila pivote que es 1 y se le suma el valor de esa posicin en la tabla antigua que en este caso es 0.4 en resumen (-0.4*1+0.4 = 0) y asi sucesivamente con cada una de las filas:

6. Como no se tienen todava las variables de z en positivo, entonces hay que repetir los pasos 4 y 5 hasta que todos los valores de z sean positivos:

Como se puede observar en la tabla anterior todos los valores de z son positivos, lo cual quiere decir se ha llegado a encontrar la solucin ptima del problema que es producir 20 toneladas de aditivo para combustible y 25 toneladas de base para solvente para obtener una ganancia mxima de $ 1,600*.

* Si observa se obtuvieron los mismos resultados que el mtodo grfico y algebraico anteriormente descritos

EJEMPLO DE UN PROBLEMA DE MINIMIZACIN

Consideremos un modelo de Programacin Lineal en su forma estandar, que denotaremos en lo que sigue por:Min c1x1 + c2x2 + + cnxn sa a11x1 + a12x2 + + a1nxn = b1 a21x1 + a22x2 + + a2nxn = b2 am1x1 + am2x2 + + amnxn = bm xi >= 0, i = 1, 2, , n y m = 0No existe prdida de generalidad en asumir que un modelo de PL viene dado en su forma estndar.

3.1.4 FILAS Y COLUMNAS PIVOTANTESEncontrar la variable de decisin que entra en la base y la variable de holgura que sale de la base A. Para escoger la variable de decisin que entra en la base, nos fijamos en la ltima fila, la de los coeficientes de la funcin objetivo y escogemos la variable con el coeficiente negativo mayor (en valor absoluto).En nuestro caso, la variable x de coeficiente - 3. Si existiesen dos o ms coeficientes iguales que cumplan la condicin anterior, entonces se elige uno cualquiera de ellos. Si en la ltima fila no existiese ningn coeficiente negativo, significa que se ha alcanzado la solucin ptima. Por tanto, lo que va a determinar el final del proceso de aplicacin del mtodo del simplex, es que en la ltima fila no haya elementos negativos. La columna de la variable que entra en la base se llama columna pivote (En color azulado). B. Para encontrar la variable de holgura que tiene que salir de la base, se divide cada trmino de la ltima columna (valores solucin) por el trmino correspondiente de la columna pivote, siempre que estos ltimos sean mayores que cero. En nuestro caso: 18/2 [=9] , 42/2 [=21] y 24/3 [=8] Si hubiese algn elemento menor o igual que cero no se hace dicho cociente. En el caso de que todos los elementos fuesen menores o iguales a cero, entonces tendramos una solucin no acotada y no se puede seguir. El trmino de la columna pivote que en la divisin anterior d lugar al menor cociente positivo, el 3, ya 8 es el menor, indica la fila de la variable de holgura que sale de la base, d. Esta fila se llama fila pivote (En color azulado). Si al calcular los cocientes, dos o ms son iguales, indica que cualquiera de las variables correspondientes pueden salir de la base. C. En la interseccin de la fila pivote y columna pivote tenemos el elemento pivote operacional,3.2 SOLUCIN DE PROBLEMAS POR EL MTODO SIMPLEXEn la solucin grfica observamos que la solucin ptima est asociada siempre con un punto extremo del espacio de soluciones. El mtodo simplex est basado fundamentalmente en este concepto. Careciendo de la ventaja visual asociada con la representacin grfica del espacio de soluciones, el mtodo simplex emplea un proceso interativo que principia en un punto extremo factible, normalmente el origen, y se desplaza sistemticamente de un punto extremo factible a otro, hasta que se llega por ltimo al punto ptimo. Existen reglas que rigen la seleccin del siguiente punto extremo del mtodo simplex: 1. El siguiente punto extremo debe ser adyacente al actual. 2. La solucin no puede regresar nunca a un punto extremo considerado con la anterioridad. El algoritmo simplex da inicio en el origen, que suele llamarse solucin inicial. Despus se desplaza a un punto extremo adyacente. La eleccin especfica de uno a otro punto depende de los coeficientes de la funcin objetivo hasta encontrar el punto ptimo. Al aplicar la condicin de optimidad a la tabla inicial seleccionamos a Xi como la variable que entra. En este punto la variable que sale debe ser una de las variables artificiales. Los pasos del algoritmo simplex son ( 10 ) : 1. Determinar una solucin bsica factible inicial. 2. Prueba de optimidad: determinar si la solucin bsica factible inicial es ptima y slo si todos los coeficientes de la ecuacin son no negativos ( >= 0 ). Si es as, el proceso termina; de otra manera se lleva a cabo otra interaccin para obtener la nueva solucin bsica factible inicial. 3. Condicin de factibilidad.- Para todos los problemas de maximizacin y minimizacin, variable que sale es la variable bsica que tiene la razn ms pequea (positiva). Una coincidencia se anula arbitrariamente. 4. Seleccionar las variables de holgura como las variables bsicas de inicio. 5. Selecciona una variable que entra de entre las variables no bsicas actuales que, cuando se incrementan arriba de cero, pueden mejorar el valor de la funcin objetivo. Si no existe la solucin bsica es la ptima, si existe pasar al paso siguiente. 6. Realizar el paso iterativo. a) Se determina la variable bsica entrante mediante la eleccin de la variable con el coeficiente negativo que tiene el valor mayor valor absoluto en la ecuacin. Se enmarca la columna correspondiente a este coeficiente y se le da el nombre de columna pivote. b) Se determina la variable bsica que sale; para esta, se toma cada coeficiente positivo (>0) de la columna enmarcada, se divide el lado derecho de cada rengln entre estos coeficientes, se identifica la ecuacin con el menor cociente y se selecciona la variable bsica para esta ecuacin. c) Se determina la nueva solucin bsica factible construyendo una nueva tabla en la forma apropiada de eliminacin de Gauss, abajo de la que se tiene. Para cambiar el coeficiente de la nueva variable bsica en el rengln pivote a 1, se divide todo el rengln entre el nmero pivote, entonces rengln pivote nuevo = rengln pivote antiguo nmero pivote para completar la primera iteracin es necesario seguir usando la eliminacin de Gauss para obtener coeficientes de 0 para la nueva variable bsica Xj en los otros renglones, para realizar este cambio se utiliza la siguiente frmula: rengln nuevo = rengln antiguo - ( coeficiente de la columna pivote X rengln pivote nuevo) cuando el coeficiente es negativo se utiliza la frmula: rengln nuevo = rengln antiguo + (coeficiente de la columna pivote X rengln pivote nuevo) TABLA SIMPLEX como se capturara la solucin bsica factible inicial en el siguiente ejemplo: sea: Maximizar Z = 2X1+4X2 sujeto a: 2X1+ X2