Método Simplex
EL MÉTODO SÍMPLEX
INTRODUCCIÓN El método simplex fue creado en 1947 por el matemático George Dantzig . El método simplex se utiliza, sobre todo, para resolver problemas de programación lineal en los que intervienen tres o más variables. El álgebra matricial y el proceso de eliminación de Gauss-Jordan para resolver un sistema de ecuaciones lineales constituyen la base del método simplex. Es un procedimiento iterativo que permite ir mejorando la solución a cada paso. El proceso concluye cuando no es posible seguir mejorando más dicha solución. El Método Simplex es un método analítico de solución de problemas de programación lineal capaz de resolver modelos más complejos que los resueltos mediante el método gráfico sin restricción en el número de variables. Se basa en el álgebra y se lo emplea para resolver problemas de Programación Lineal tanto de Minimización o Minimización. Es un proceso repetitivo numérico que permite llegar a una solución óptima partiendo de un punto extremo conocido; es decir, partiendo de una solución básica, si esta solución básica factible tomada como punto de partida no satisface, es necesario tomar otra solución que nos da un valor para Z mayor o menor y así sucesivamente hasta llegar a la solución final. Una solución básica básica tiene las siguientes propiedades: 1. Cada variable se designa ya sea como variable básica o como variable no básica. 2. El número de variables básicas es igual al número de restricciones funcionales (ahora ecuaciones). Por lo tanto, el número de variables no básicas es igual al número total de variables menos el número de restricciones funcionales. 3. Las variables no básicas se igualan a cero.. cero.. 4. Los valores de las variables básicas se obtienen como como la solución simultánea del sistema de ecuaciones (restricciones funcionales en la forma aumentada). (Con frecuencia se hace referencia al conjunto de variables básicas básicas como la base.) Juan Carlos Ganazhapa
ESPOCH
Investigación Operativa
Método Simplex
5. Si las variables básicas satisfacen las restricciones de no negatividad, la solución básica es una solución BF. Existen tres requisitos en la solución de un problema de programación lineal por el método simplex.
a) Todas las limitaciones deben estar establecidas como ecuaciones. b) El segundo miembro de una limitante, no puede ser negativo. c) Todas las variables están restringidas a valores no negativos. PROCEDIMIENTO Cualquiera que sea el número de inecuaciones y de incógnitas de un sistema, este por sí mis mo se ajusta a un tratamiento de identificación que nos dé una idea de que sea sujeto de solución. Cuando el sistema reúne a un número de ecuaciones inferior al número de incógnitas, existen muchas soluciones. Justamente este es el caso más frecuente de los problemas de programación lineal, de allí que es necesario introducir (+) variables de Holgura en los casos de la expresión ≤ (igual o menor), restar (-) variables de holgura e introducir Variables Artificiales en los casos de ≥ (mayor o igual) y en los casos de = se introduce variables con signos más.
≤ + VARIABLE DE HOLGURA ≥ - VARIABLE DE HOLGURA + VARIABLE ARTIFICIAL = + VARIABLE ARTIFICIAL
Tipos de Variables Son las incógnitas del problema. La definición de las variables es el punto clave y básicamente consiste en los niveles de todas las actividades que pueden llevarse a cabo en el problema a formular. Variables de decisión.
Las variables de decisión suelen ser:
Entera: Donde la variable de decisión única, y no se tiene más opciones.
Binaria: Donde las variables de decisión son 2, en la cual interviene un proceso de toma de decisiones amplia, para poder elegir entre uno u otro recurso disponible para llegar a la solución satisfactoria del problema.
Juan Carlos Ganazhapa
ESPOCH
Investigación Operativa
Método Simplex
Continua: La variable por la cual, después de haber decidido, siempre se debe elegir, sin cambiar su estructura, aunque se pueda establecer criterios de cambios en la manera de como van los resultados y como se la puede mejorar aún más de lo que ya está funcionando.
Las variables de decisión son las incógnitas (o decisiones) que deben determinarse resolviendo el modelo. Los parámetros son los valores conocidos que relacionan las variables de decisión con las restricciones y función objetivo. Los parámetros del modelo pueden ser determinísticos o probabilísticos. Una variable de holgura es una variable que se añade a una restricción de desigualdad para transformarla en una igualdad. La introducción de una variable de holgura reemplaza una restricción de desigualdad con una restricción de igualdad y una restricción de no negatividad. La introducción de una variable de holgura reemplaza una restricción de desigualdad con una restricción de igualdad y una restricción de no negatividad. Variables de Holgura:
Un tipo de variable introducida en un modelo de programación lineal con el fin de encontrar una solución factible básica inicial, una variable artificial se utiliza para las restricciones de igualdad y de restricciones de desigualdad mayor que o igual. Variables Atificales:
Las variables con valores diferentes a cero son llamadas variables básicas y valores iguales a cero son las variables no básicas. Variables Básicas y No Básicas:
MAXIMIXACIÓN MEDIANTE EL SIMPLEX En problemas de matización (EJ. Producción) se debe tomar en cuenta
PLANTEAMIENTO Identificación de Variables
Producto I
= X1
Producto II
= X2
Producto III = X3 Producto IV = X4
1) Función Objetivo Z(MAX) = C1X1 + C2X2 + C3X3+ --------------- + CnXn
Juan Carlos Ganazhapa
ESPOCH
Investigación Operativa
Método Simplex
2) Limitaciones o Restricciones A11X1 + A12X2 + A13X3 + ------------------ + A 1nXn ≤ b1 A21X1 + A22X2 + A23X3 + ------------------ + A 2nXn ≤ b2 A31X1 + A32X2 + A33X3 + ------------------ + A 3nXn ≤ b3 Am1X1 + Am2X2 + Am3X3 + ------------------ + A mnXn ≤ bn
3) No Negatividad X j ≥ 0
RESOLUCIÓN Cuando se trata de un sistema de inecuaciones, no existe solución única si no que implica muchas posibilidades, razón por la cual, el método simplex va generando soluciones básicas.
Introducción de Variables de Holgura Como el primer miembro de la inecuación es inferior al otro, es necesario introducir una variable denominada de HOLGURA que cubra imaginariamente el valor faltante, para convertirlo en igualdad. S1, S2, S3,
………………………..
Sn = Variables de Holgura
A11X1 + A12X2 + A13X3 + ----- + A1nXn + S1 A21X1 + A22X2 + A23X3 + ----- + A2nXn A31X1 + A32X2 + A33X3 + ----- + A3nXn
= b1 + S2
= b2
+ S3 = b3
Am1X1 + Am2X2 + Am3X3 + ----- + AmnXn + ---------- + Sn = bn
Al convertir el sistema de desigualdades es un sistema de ecuaciones mediante la introducción de variables de holgura, se ha logrado un importante punto de partida. Estas variables en la función objetivo irán antepuestas de un coeficiente cero de beneficio. Z(MAX) = C1X1 + C2X2 + ---- + CnXn + 0S1 + 0S2 + ---- + 0Sn
Juan Carlos Ganazhapa
ESPOCH
Investigación Operativa
Método Simplex
Generación de una solución básica factible En el caso de un ejemplo de producción, el primer supuesto o alternativa del método simplex es no fabricar nada de los productos reales (variables fundamentales), esto quiere decir dar respuesta al sistema manteniendo inutilizados los recursos existentes, es decir: X1 = 0
S1 = b1
X2 = 0
S2 = b2
X3 = 0
S3 = b3
Xn = 0
Sn = bn
Proceso Iterativo En función de los criterios del método simplex se van obteniendo ensayos, interacciones o algoritmos hasta lograr la respuesta ideal. El objetivo es ir eliminando las variables de holgura e irlas reemplazando por alternativas en función de variables fundamentales, propósito del problema. El proceso se lo desarrolla por cuadros o etapas. Cada uno de ellas nos representará una mejor combinación de producción y un mayor beneficio, para lo cual se necesita aplicar el método matricial de coeficientes. C j = Coeficiente de la función objetivo X j = Solución básica de cada etapa: es la base vectorial que da solución al sistema *
°
= Elemento Pivote = Elemento Semipivotales
bn = Parámetros; datos conocidos, nos indican la cuantificación de recursos. Z j = Valores que va tomando la función objetivo en cada posición Zj-Cj= Se la conoce como el “Criterio del simplex”; permite continuar o no la generación de alternativos. Cuando la expresión Z j-C j corresponde en todas las posiciones a valores POSOTIVOS O CEROS, habrá terminado el problema de animación.
El método simplex se basa en la siguiente propiedad: “si la función objetivo, f, no toma su valor máximo en el vértice A, entonces hay una arista que parte de A, a lo largo de la cual f aumenta.” En el método simplex se utiliza una tabla, denominada tabla simplex, en la cual se van introduciendo todas y cada una de las variables de un sistema de ecuaciones, que siendo inicialmente inecuaciones, se las pasa a la forma normal, aumentándoles a cada una de ellas variables dé holgura. La forma tabular del método simplex registra sólo la información esencial, a saber: 1) los coeficientes de las variables, 2) las constantes del lado derecho de las ecuaciones y 3) la variable básica que aparece en cada ecuación.
Juan Carlos Ganazhapa
ESPOCH
Investigación Operativa
Método Simplex
Esta forma evita tener que escribir los símbolos de las variables en cada ecuación, pero es más importante el hecho de que permite hacer hincapié en los números que se usan en los cálculos aritméticos y registrarlos en forma muy compacta. La ecuación que se utiliza en el método simplex es: N.V = A.V – (VCP*VFP) / #P N.V = AV – (VCP * NFP)
PROBLEMAS DE MINIMIZACIÓN CON EL MÉTODO SIMPLEX Para resolver problemas de minimización mediante el algoritmo simplex existen dos procedimientos que se emplean con regularidad. Los casos de minimización se resuelven empleando también la metodología conocida del “Simplex”, con algunas variaciones. En los problemas de minimización se introduce variables de holgura con signo negativo y las variables artificiales con signo positivo. Sj = Variables de holgura mj = Variables artificiales Las variables artificiales tienen un coeficiente (M) que es un valor indeterminado. Cuando hay variables de holgura y artificiales, primero se eliminan las artificiales, luego las de holgura. Si la restricción es una igualdad, entonces se introduce solamente variables artificiales son signo positivo.
Maximización Minimización Igualdad
(≤) + SJ (≥) - Sj + mj (=) + mj
- El primero, que a mi juicio es el más recomendable se basa en un artificio aplicable al algoritmo fundamentado en la lógica matemática que dicta que "para cualquier función f(x), todo punto que minimice a f(x) maximizará también a - f(x)". Por lo tanto el procedimiento a aplicar es multiplicar por el factor negativo (-1) a toda la función objetivo.
a continuación se resuelve el algoritmo como un problema de maximización. - El segundo procedimiento, el cual pretende conservar la minimización consiste en aplicar los criterios de decisión que hemos esbozado con anterioridad, en los casos de la variable que entra, que sale y el caso en el que la solución óptima es encontrada. Aquí recordamos los procedimientos según el criterio dado el caso "minimizar". Juan Carlos Ganazhapa
ESPOCH
Investigación Operativa
Método Simplex
Minimizar Variable que entra
La más negativa de los (Cj - Zj)
Variable que sale
Siendo "b" los valores bajo la celda solución y "a" el valor correspondiente a la intersección entre "b" y la variable que entra. La más positiva de los "b/a".
Solución Óptima
Cuando todos los (Cj - Zj) sean >= 0.
Para resolver un problema de minimización, se empieza eliminando los mayores valores positivos de la fila Zj – Cj El proceso habrá concluido cuando en la fila Zj – Cj queden valores negativos o ceros. La función objetivo se representará por Z(MIN) y las variables artificiales llevarán en esta función un coeficiente M. Z(MIN) = ?X1 + ?X2 ---- + 0S1 + 0S2 + ------ +Mn1 + Mm2 ---Mmn Restricciones, variables de holgura y artificiales A11X1 + A12X2 - S1 A21X1 + A22X2
+ m1 - S2
A31X1 + A32X2
= b1 +m2 - S3
= b2 +m3
= b3
Xj ≥ 0
Pasos para formar la nueva tabla 1) Se elige elemento (Z j-C j) de menor valor negativo, la variable que corresponde debe entrar a la base de la nueva tabla para mejorar la solución. 2) Para determinar que fila sale, se obtiene el elemento pivote, el mismo que es la intersección de la columna que ingresa y la fila que sale, para lo cual se divide los elementos de la columna de bn para los elementos de la columna que ingresó, se escoge el menor cociente que representará al pivote, los restantes elementos de la columna son los semipivotes. No se toma en cuenta la división para números negativos o cero. 3) Formar los nuevos elementos de la fila de la variable de holgura que es reemplazada por la variable fundamental, basándose en el elemento PIVOTE, que se encuentra en la intersección de la columna que entra y la fila que sale. ELEMENTOS DE LA NUEVA FILA
Juan Carlos Ganazhapa
ESPOCH
ELEMENTOS ANTERIORES =
PIVOTE
Investigación Operativa
Método Simplex
4) Los restantes elementos de la columna que entra se denomina SEMIPIVOTES (°) 5) Los elementos de las demás filas se obtienen restando los elementos anteriores de dicha fila menos los elementos de la nueva fila que ingresó, multiplicados por el semipivote correspondiente.
Elementos de otra fila = Elementos anteriores de dicha fila – Elementos de la fila que ingresó por el semipivote correspondiente
6) Z j se obtiene multiplicando el coeficiente de la variable fundamental que ingresó por todos los elementos de dicha fila. 7) Obtenemos la fila Zj – C j, restando los elementos de la fila de Z j menos los elementos de la fila C j, si todos sus elementos son positivos o ceros el proceso se ha terminado, esto quiere decir que la tabla es óptima, caso contrario construimos la nueva tabla eliminando el menor negativo que exista y realizar el mismo proceso anterior. 8) El máximo beneficio está dado por el valor del elemento de Z j de la columna bn. La forma de tabular la nuevas fila en el método Zj es: N.F = A.F – FP * #Pº
Método de la gran M El método de la gran M consiste en modificar el problema original para dar lugar a un nuevo problema agregando una variable R llamada artificial y que se penalizara mediante un costo “M” de valores grandes y positivos, y esto permite que la función objetivo tome valores muy grandes. Cuando R salga de la base en ese momento R=0 y esto indica haber regresado al problema original, pero si se llega a R>0, entonces el problema no tendrá solución. MinZ= Cx + Mw Sujeta a las restricciones y penalizando a ZR1 - CR Condición de introducción de las variables
Restricción > resta Restricción < suma Debido a que M es un valor positivo suficientemente grande, la variable R1 se penaliza en la función objetivo utilizando —MR, en el caso de la maximización, y +RM, en la minimización. Debido a esta penalidad El proceso de optimización lógicamente tratara de impulsar R1, al nivel cero
Juan Carlos Ganazhapa
ESPOCH
Investigación Operativa
Método Simplex
Ejemplo: Minimice Z= 4X1 + X2
La forma estándar se obtiene restando un superávit X3 en la segunda restricción y añadiendo una holgura X en la tercera restricción. Por tanto obtenemos Minimice Z= 4X1 +X2
La primera y segunda ecuación no tiene variables que desempeñen el papel de holguras. Por consiguiente, utilizamos las variables R1 y R2 en estas dos ecuaciones y las penalizamos en la función objetivo con MR1 + MR2. La PL resultante se da como Minimice Z=4X1 +X2 + MR1 + MR2
En el modelo modificado, ahora podemos utilizar R1, R2 y X4 como la solución básica factible inicial como lo demuestra la siguiente tabla simplex
Juan Carlos Ganazhapa
ESPOCH
Investigación Operativa
Método Simplex
Antes de proceder con los cálculos del método simplex, necesitamos hacer que el renglón -Z sea consistente con el resto de la tabla simplex. De manera específica, el valor de z asociado con la solución básica inicial R1 = 5, R2 6, y X4 = 4 debe ser 3M + 6M + O = 9M en vez de O, como se muestra en el lado derecho del renglón -Z. Esta inconsistencia se debe al hecho de que R, y R2 tienen coeficientes no cero (-M, -M) en el renglón -Z Estas inconsistencias se eliminan sustituyendo R1 y R2 en el renglón -Z, utilizando las ecuaciones apropiadas de restricción. En particular, observe los elementos “1” realzados en el renglón -R1 y en el renglón -R2. Multiplicando cada uno de los renglones –R1 y de los renglones -R2 por M y añadiendo la suma al renglón -Z, efectivamente se sustituirá a R1 y R2 en el renglón objetivo. Podemos resumir este paso como Nuevo renglón Z= Antiguo renglón Z + M x (Renglón R1) + M x (Renglón R2) aplica como
Juan Carlos Ganazhapa
ESPOCH
Investigación Operativa
Método Simplex
Los pasos para formular las ecuaciones del metodo simplex de la gran M son: 1. Pasar a la forma estándar el modelo matemático. 2. Agregar variables artificiales en las ecuaciones que no tienen variables de holgura. 3. Se deben penalizar a las variables artificiales en la función objetivo asignándoles coeficientes positivos muy grandes. Sea M un número muy grande. (en los modelos de Minimización la penalización para cada variable se suma y en los modelos de Maximización se restan). 4. Con la solución inicial artificial se aplica el método simplex de la forma acostumbrada, generando las tablas necesarias para llegar a una solución. PASOS BÁSICOS El método de la gran M consiste en modificar el problema original para dar lugar a un nuevo problema agregando una variables llamadas artificial y que se penalizaran mediante un costo “M” de valores grandes y positivos, y esto permite que la función objetivo tome valores muy grandes.
Juan Carlos Ganazhapa
ESPOCH
Investigación Operativa
Método Simplex
REFERENCIAS BIBLIOGRÁFICAS: • • • •
Hillier y Lieberman, Introducción a la Investigación de Operaciones, Mc Graw Hill, Novena Edición 2010, página 96, EL MÉTODO SIMPLEX TABULADO. Bronson R. Investigación de Operaciones. Mc Graw-Hill ( Serie Schaum) ERAZO Juan Carlos, Investigación de Operaciones, Tomo I, Quito-Ecuador, 2007 http://es.scribd.com/doc/65422292/Investigacion-de-Operaciones-I.
Juan Carlos Ganazhapa
ESPOCH
Investigación Operativa