Capítulo 2. SOLUCIÓN ANALÍTICA DEL MODELO DE PROGRAMACIÓN LINEAL. Tabla de contenido 2.1. Objetivo. 2.2. Conceptos relacionados. 2.3. Teoremas de la programaci programación ón lineal. 2.4. Método Simplex. 2.5. Matriz unitaria "I" de base con variables artificiales. artificiales. 2.6. Casos especiales en la tabla Simplex. 2.7. Teoría de la dualidad. 2.8. Ejercicios, actividades actividades de aprendizaje y autoevaluaciones correspondientes al capítulo 2.9. Referenc Referencias ias bibliográfic bibliográficas as
2.1. Objetivo. El alumno debe aprender la utilización del poderoso y versátil método simplex de solución en programación lineal, aplicado en problemas ejemplo pequeños que muestran las diversas circunstancias de su preparación antes de aplicar el algoritmo y los casos especiales identificables en la tabla solución. También con fines de interpretación económica, debe aprender las relaciones que vinculan a un problema con su dual asociado y los teoremas derivados. derivados.
2.2. Conceptos relacionados. Para la gran mayoría de los problemas modelados con programación lineal, el método gráfico es claramente inútil para resolverlo, pero afortunadamente y gracias a la dedicación de varios científicos, desde mediados del siglo XX se cuenta con el eficiente método SIMPLEX, poderoso por su aplicación versátil en cualquier área de la actividad humana. Pero como antecedente a la exposición del simplex, conviene aclarar con definiciones definiciones algunos conceptos relacionados. En programación lineal es necesario calificar la palabra solución para precisar el concepto al que se hace referencia, como se expresa enseguida:
SOLUCIÓN.- Es un conjunto de n + m variables "X j", definidas ordenadamente como un vector X = (X1, X2, ... X j, ... X n, Xn+1, ... , X n+m) que satisface el conjunto de ecuaciones que constituyen el sistema en el problema.
En donde: m =número de restricciones; n =número de variables de decisión. SOLUCIÓN FACTIBLE.- Es un conjunto de n + m variables "X j", definidas ordenadamente como un vector X = (X 1, X2, ... X j, ... X n , Xn+1, ..., X n+m) que satisface el conjunto de ecuaciones que constituyen el sistema en el problema.
Y además la condición, toda X j >= 0.
SOLUCIÓN BÁSICA.- Se obtiene, cuando en el sistema de ecuaciones se hacen n variables iguales a cero del total de (n+m) variables y resolviendo las ecuaciones para las restantes "m" variables, siempre que el determinante de los coeficientes de estas "m" variables llamadas básicas, no sea cero. Consulte el apéndice A.
SOLUCIÓN BÁSICA FACTIBLE.- Es una solución básica que cumple X j >= 0, para toda j (j = 1, 2, ..., n + m); es decir, todas las variables básicas son no negativas. En una analogía geométrica con sólo dos variables, se puede comparar con los vértices en el área sombreada.
SOLUCIÓN NO DEGENERADA.- Es una solución básica factible, con exactamente "m" variables básicas Xi, estrictamente positivas.
SOLUCIÓN DEGENERADA.- Es una solución básica factible, con menos de "m" variables básicas Xi positivas, pues al menos, una de ellas es de valor cero.
SOLUCIÓN ÓPTIMA.- Es una solución básica factible que optimiza la función
2.3. Teoremas de la programación lineal. La PL se fundamenta en varios teoremas de los cuales se definen tres de los más importantes: importantes: 1. El conjunto de soluciones factibles de la programación lineal es convexo. Definición.- Un conjunto es convexo, si dados dos puntos cualesquiera A y B del mismo, el segmento de recta que los une, se incluye totalmente en dicho conjunto (Figura 1-37) 1-37); expresado matemáticamente, un conjunto C es convexo si y sólo si, todos los puntos "P" determinados por combinación convexa entre dos puntos cualesquiera A y B del mismo, están en el conjunto C: Ejemplo que verifica convexidad: Determine un punto P por combinación convexa de puntos vértice en Figura 1-33: 1-33: A(0,6) y F(4,3),
Si tanto A como F son vértices factibles, entonces P está en el conjunto factible. 2. La función objetivo de un programa lineal tiene su valor óptimo (máximo o mínimo), en
un punto extremo (vértice) del conjunto convexo de soluciones factibles. Si alcanza este óptimo en más de un punto extremo, entonces toma el mismo valor para toda combinación convexa entre estos puntos del problema, (soluciones óptimas múltiples). 3. Una condición necesaria y suficiente para que un punto X >= 0 en el conjunto de
soluciones factibles sea punto extremo, es que X sea una solución básica factible que satisfaga el sistema: AX=b; o bien expresado así
SOLUCIÓN BÁSICA.- Se obtiene, cuando en el sistema de ecuaciones se hacen n variables iguales a cero del total de (n+m) variables y resolviendo las ecuaciones para las restantes "m" variables, siempre que el determinante de los coeficientes de estas "m" variables llamadas básicas, no sea cero. Consulte el apéndice A.
SOLUCIÓN BÁSICA FACTIBLE.- Es una solución básica que cumple X j >= 0, para toda j (j = 1, 2, ..., n + m); es decir, todas las variables básicas son no negativas. En una analogía geométrica con sólo dos variables, se puede comparar con los vértices en el área sombreada.
SOLUCIÓN NO DEGENERADA.- Es una solución básica factible, con exactamente "m" variables básicas Xi, estrictamente positivas.
SOLUCIÓN DEGENERADA.- Es una solución básica factible, con menos de "m" variables básicas Xi positivas, pues al menos, una de ellas es de valor cero.
SOLUCIÓN ÓPTIMA.- Es una solución básica factible que optimiza la función
2.3. Teoremas de la programación lineal. La PL se fundamenta en varios teoremas de los cuales se definen tres de los más importantes: importantes: 1. El conjunto de soluciones factibles de la programación lineal es convexo. Definición.- Un conjunto es convexo, si dados dos puntos cualesquiera A y B del mismo, el segmento de recta que los une, se incluye totalmente en dicho conjunto (Figura 1-37) 1-37); expresado matemáticamente, un conjunto C es convexo si y sólo si, todos los puntos "P" determinados por combinación convexa entre dos puntos cualesquiera A y B del mismo, están en el conjunto C: Ejemplo que verifica convexidad: Determine un punto P por combinación convexa de puntos vértice en Figura 1-33: 1-33: A(0,6) y F(4,3),
Si tanto A como F son vértices factibles, entonces P está en el conjunto factible. 2. La función objetivo de un programa lineal tiene su valor óptimo (máximo o mínimo), en
un punto extremo (vértice) del conjunto convexo de soluciones factibles. Si alcanza este óptimo en más de un punto extremo, entonces toma el mismo valor para toda combinación convexa entre estos puntos del problema, (soluciones óptimas múltiples). 3. Una condición necesaria y suficiente para que un punto X >= 0 en el conjunto de
soluciones factibles sea punto extremo, es que X sea una solución básica factible que satisfaga el sistema: AX=b; o bien expresado así
Este teorema indica que cada punto extremo corresponde, al menos, a una solución básica y viceversa, cada solución básica significa un punto extremo. Así se concluye que el número de puntos extremos del conjunto de soluciones factibles, es finito y no puede exceder el de sus soluciones básicas. Entonces, el número máximo de tales soluciones supuestas únicas se calcula con el binomio:
Es de anotar, que un punto extremo puede estar definido con más de dos restricciones en cuyo caso se dice no único y tener más de una solución básica; además, si es extremo factible, se tiene degeneración en tal vértice. El punto extremo factible único se dice es solución básica no degenerada. Un punto extremo (vértice) del conjunto factible se identifica porque no se puede expresar como combinación convexa de cualquier par de puntos del mismo conjunto.
2.4. Método Simplex. En el año 1947 el doctor George Dantzig presentó el algoritmo que desarrolló y que denominó SIMPLEX. A partir de este logro se pudieron resolver problemas que por más de un siglo permanecieron en calidad de estudio e investigación con modelos formulados pero no resueltos. El desarrollo paralelo de la computación digital, hizo posible su rápido desarrollo y aplicación empresarial a todo tipo de problemas. El método simplex disminuye sistemáticamente un número infinito de soluciones hasta un número finito de soluciones básicas factibles. El algoritmo simplex utiliza el conocido procedimiento de eliminación en la solución de ecuaciones lineales de Gauss- Jordan y, además aplica los llamados criterios del simplex con los cuales se asegura mantener la búsqueda dentro de un conjunto de soluciones factibles al problema; así valora una función económica Z, exclusivamente en vértices FACTIBLES (posibles). También se consigue con eficiencia, debido a que se dirige la búsqueda haciendo cambios a una solución básica factible adyacente, que se distingue al tener m-1 variables básicas iguales; es decir, dos vértices adyacentes sólo difieren en una variable básica; seleccionando la ruta de mayor pendiente, para mejorar el valor de Z, o por lo menos conservarlo. Primero se presenta el método simplex, específico para un modelo de PL en forma canónica de máximo, aplicado con la conocida tabla matricial, (también identificada como tableau), lo cual se resume mediante el diagrama funcional de la Figura 2-1, 2-1, que muestra los fundamentos del algoritmo contenidos en niveles o bloques numerados para la referencia en la descripción del mismo.
Nivel 1.- Forma estándar.-El modelo de PL en forma canónica de máximo que se desea resolver, tiene m ecuaciones obtenidas al convertir las restricciones de desigualdad a igualdad, agregando m variables de holgura, que sumadas a las n variables de decisión, hacen un total de (m + n) incógnitas. Las m restricciones con las (m + n) variables, producen un número infinito de soluciones, entre ellas, un conjunto de factibles y también las no factibles. Nivel 2.- Calcule una primera solución básica factible.- Del total, (m + n) variables, sólo n se igualan con cero ( n = 0 ), lo cual produce (sí existen), un número finito de soluciones básicas con
un límite máximo de (m + n)! / m! n!. Estas pueden ser, factibles y no factibles; se consideran sólo las primeras. Nivel 3.- Se toman en cuenta sólo las soluciones básicas factibles, esto es, las que tienen todas las variables básicas >= cero; es decir, con un número de iteraciones menor a (m + n)! / m! n!, se obtienen soluciones básicas factibles: no degeneradas, si todas las incógnitas básicas son positivas y soluciones degeneradas, si al menos una variable básica es igual a cero. Se aplican los criterios del algoritmo en forma iterativa para evaluar la función objetivo en puntos extremos adyacentes que potencialmente puedan mejorar el valor Z. Nivel 4.- Se generan nuevas soluciones básicas factibles, tales que el valor de la función objetivo Z mejore; se repite el procedimiento (iteraciones) entre los niveles 3 y 4, hasta que ninguna solución básica factible adyacente resulte mejor; es decir, hasta que no haya incremento de valor, si el problema es de máximo, (hasta que no haya decremento, para el problema, no tratado ahora, de mínimo).
Figura 2-1. Diagrama funcional del algoritmo simplex.
interpretan los resultados de la última (iteración) tabla calculada, porque se Nivel 5.- Se interpretan identifican las características de una solución óptima.
Criterios del Algoritmo Simplex. El algoritmo simplex emplea los siguientes criterios para asegurar que la búsqueda de la solución óptima del problema en estudio sea rápida, limitando el cálculo a soluciones básicas (puntos extremos) que sean factibles. Criterio de optimalidad. Se aplica en el simplex para determinar entre las variables no básicas , una que entre (VE) a la base, eligiendo en la columna que tenga el coeficiente más negativo en el
renglón "Z" de la tabla, si el problema es maximizar. Por lo contrario, si el problema es minimizar se elige para variable entrante (VE) a la base la que cumpla con el coeficiente más positivo en dicho renglón "Z". Criterio de factibilidad.- Se aplica en el simplex para determinar entre las variables básicas , una que salga de la base (VS), eligiéndola que cumpla en donde Xi es el valor de la variable básica en el renglón i; a ik es un coeficiente en el mismo renglón i ubicado en la columna k correspondiente a la variable entrante elegida. Esto es válido tanto para problemas de máximo como de mínimo. Elemento pivote: En el cruce correspondiente a columna y renglón elegidos con los dos criterios anteriores, se ubica un coeficiente denominado pivote (P) que se utiliza durante las iteraciones o etapas de cálculo del simplex.
Ejemplo 2-1. Aplica método Simplex; PL forma canónica máximo (MAXCAN1). Este modelo de PL forma canónica de máximo con sólo dos variables de decisión, ya se mostró como el Ejemplo 1-13 de método gráfico con la Figura 1-33. 1-33.
Nivel 1.Se inicia el método simplex para el problema expresado en forma canónica, sumando una variable de holgura a cada una de las restricciones de desigualdad <= que contiene el modelo, convirtiéndose todas ellas en igualdades. Las holguras se denotan con X n+1, Xn+2,..., X n+m. Otra conveniente notación es: H1, H2,..., Hm; en donde 1,2,...,m, son restricciones tipo <=. Así se pasa a:
Ahora se tienen tres ecuaciones con (n+m)=(2+3)=5 incógnitas, ampliando el sistema a 5 dimensiones con dos grados de libertad para la solución del mismo, lo cual implica un número infinito de soluciones . Se puede recurrir en lo que sigue, a la analogía geométrica del Ejemplo 1-13 con el propósito de mostrar parte de la naturaleza geométrica del algoritmo simplex con la Figura 1-33: 1-33: No se puede mostrar una analogía geométrica para el espacio ampliado de forma estándar en cinco dimensiones con (X1, X 2, H1, H 2, H 3), pero sí se puede observar el espacio factible OACFE que se genera con sólo dos dimensiones X 1 y X2 en la Figura 1-33; 1-33; en ambos
espacios existe un número infinito de puntos tanto interiores como en la frontera de la región factible, aunque sólo existe un número finito de puntos extremos (vértices). En teoría, de acuerdo al segundo teorema ya mencionado, la solución óptima se debe buscar en uno de esos puntos extremos, pero para la mayoría de los problemas con suficiente tamaño significaría una labor de cálculo excesiva y costosa e incluso imposible. Para tener una idea de lo que significa esto, supóngase por ejemplo un problema cuyo modelo de programación lineal contiene m = 5 restricciones y n = 4 incógnitas, aplicando el conocido binomio ya mencionado se tendría: (m + n) ! / m! n! = (5 + 4)! / 5! 4! = 126 vértices; otro ejemplo más, con m = 5 restricciones y n = 10 variables: (5 + 10)! / 5! 10! = 3003 puntos extremos. Los ejemplos aquí anotados ciertamente son pequeños, pues lo común en el ámbito de empresa o gobierno, es manejar magnitudes en decenas o cientos, tanto en restricciones como en variables. Pero el simplex salva esta circunstancia con eficiencia, tal como se expresa enseguida.
Nivel 2.Una solución básica se obtiene estableciendo que de las (m+n) incógnitas en el sistema de ecuaciones en forma estándar, n variables tengan el valor cero llamándolas no básicas y resolviendo (si hay solución) para las restantes m variables que son básicas, componen la base o solución básica. El sistema de restricciones en este Ejemplo 2-1 tiene tres ecuaciones con cinco variables, se pueden expresar tres cualesquiera de estas en función de las otras dos que por ello se consideran independientes. Como cada variable de holgura H1, H2, H 3, se presenta sólo en una, de las tres restricciones, conviene hacerlas básicas y las variables de decisión X1 y X2 se inicien con valor cero como no básicas. De este modo, para la aplicación del algoritmo simplex, se tiene la primera solución básica factible siguiente: La función objetivo Z sólo contiene a las variables de decisión X1 y X2, con valor actual cero, por lo tanto Z=3(0)+5(0)=0, no satisface el objetivo de máximo. La comparación geométrica es valorar la línea recta Z en el origen O, como Zo=0. Esta evaluación en O, no puede ser el máximo valor porque aún no se emplean los recursos de las tres restricciones los cuales son asignados a las tres holguras:
Igualando a cero n variables, se reduce la búsqueda desde una infinidad hasta un número finito de vértices; pero tal número, aún puede ser grande. Nivel 3.El problema Ejemplo 1-13 (Figura 1-33) condiciona las variables de decisión X1, X2 >=0, pero en las soluciones básicas que pueden determinarse en nivel 2, no se cumple esta condición para todas las variables, como se puede comprobar en la tabla para el sistema ampliado del mismo, que muestra valores negativos en las holguras para las soluciones básicas B, D y J. En tal circunstancia, aún se pueden disminuir las soluciones básicas eliminando las no
factibles porque tienen variables con valor negativo. Con la tabla Figura 2-2 se inicia el algoritmo simplex, muestra el arreglo matricial de los coeficientes de acuerdo a la forma estándar de este ejemplo, con excepción de la función objetivo que se arregla a su forma equivalente: Máximo Z-3X1- 5X2 = 0, con el formato del sistema de ecuaciones lineales. Anote el coeficiente cero para las ausentes holguras en el renglón Z, pero en cambio, el coeficiente 1 de cada una de las variables de
holgura en cada restricción, forman la diagonal en la matriz unitaria I de base, como conjunto de vectores linealmente independientes que generan la primera solución en el punto extremo ( X1, X2, H1, H2, H3 ) = ( 0, 0, 4, 12, 18 ), vértice O de la analogía gráfica, Figura 1-33.
Figura 2-2. Tabla simplex, con 1ª solución básica factible, ejemplo MAXCAN1
Nivel 4.A partir de la solución inicial del algoritmo simplex, se puede generar una nueva solución básica factible; se aplica primero el criterio de optimalidad a la solución básica factible actual, seleccionando entre las variables no básicas, una variable que entre a la base y por lo tanto cambie a básica. La selección de VE se hace con el criterio de conseguir la mayor ganancia unitaria de la función objetivo en un vértice. Se observa que un incremento unitario en X2, aumenta en 5 el valor de Z, mientras que un incremento unitario en X1, aumenta en 3 el valor de Z; si se desea el máximo conviene aumentar a X 2, dejando a X1 en cero, lo que corresponde en la analogía geométrica a decidir pasar a valorar el vértice adyacente A(0,6) a lo largo del segmento frontera OA, incrementando a X2, desde un valor de cero hasta un valor de 6, conservando X1 su valor cero (Figura 1-33). En el simplex, para este ejemplo con el objetivo de maximizar (Figura 2-3), se aplica la optimalidad seleccionando la variable no básica con el coeficiente más negativo en el renglón Z de la tabla, señalando la columna elegida con . La solución básica del simplex, siempre debe tener m (m=3 en el ejemplo) variables básicas, entonces la VE del criterio de optimalidad debe reemplazar a una de las variables básicas que al salir de la base se convierte en no básica. Así en segundo lugar, se aplica el criterio de factibilidad, para determinar entre las variables básicas, una que salga de la base . En la columna izquierda están las variables en la base y en la columna derecha, se tienen sus valores, los cuales se dividen entre el coeficiente que sea positivo, en el mismo renglón i de la columna k de la VE, esto es: Mínimo (12 / 2 = 6; 18 / 2 = 9) = 6, lo cual se cumple para la variable básica H2, que debe señalarse como .
Figura 2-3. Criterios de optimalidad y factibilidad, en 1ª tabla simplex, ejemplo MAXCAN1.
Observe, que las variables no básicas X1 y X2 no ocupan lugar en la base, por eso valen cero. Para aclarar el criterio de factibilidad, considere que se decide el incremento de valor a X 2 para variable entrante VE, lo que significa cambiar al vértice adyacente A, trasladándose a lo largo de la frontera OA, con un valor para la variable X 1 = 0 que sustituido en el sistema de ecuaciones en forma estándar, se tiene:
Aquí se puede ver la esencia del criterio de factibilidad, al no permitir un valor mayor a 6 para la variable X2, pues para que H2 ó H3 salgan de la base, deben anularse: así H2=0 y H3=6, con X 2=6; H3=0 y H2 = -6, si X2 = 9 ; pero al asignar X2 = mín (6, 9) =6 se impide que la variable H 2 sea negativa ya que viola las condiciones impuestas; en la analogía geométrica significaría evaluar la recta de la función objetivo en el vértice A adyacente al O y pasar a evaluar el vértice B no adyacente al O, que además es no factible porque H2 = -6, (Figura 1-33). En el cruce de la columna que corresponde a y el renglón de la , se localiza un coeficiente identificado como pivote (P) que se utiliza para iniciar el procedimiento de solución de ecuaciones lineales conocido como de Gauss-Jordan. Para este ejemplo el pivote es 2, en el renglón saliente y columna entrante , procediendo al cálculo en Figura 2-4 de la siguiente tabla simplex que es la nueva solución básica factible correspondiente al punto extremo adyacente A (0, 6) de la analogía geométrica. La segunda solución básica factible se inicia con la nueva base formada con m = 3 variables básicas; H1 y H3 que se conservan, pero sale H2 y se reemplaza con la variable X 2 como básica en el nuevo punto extremo a evaluar. La tabla simplex se empieza con el renglón entrante correspondiente a la variable X2; se calcula dividiendo los coeficientes del renglón saliente entre el coeficiente pivote P de la tabla solución anterior. En el lado izquierdo de la tabla se anota la fórmula utilizada RE = RS / P, para lo resultados mostrados en la fila de X2. Al convertir en básica a la variable X2, se deben hacer las operaciones fila necesarias para conseguir en su columna, el vector unitario, característico de una variable básica que forma parte de la matriz I. Por lo tanto se escriben, el coeficiente 1 en la posición del pivote y coeficientes cero en el resto de la columna. Además, en el renglón Z de la tabla, el coeficiente correspondiente también debe resultar cero. Esto debido a que los coeficientes del renglón Z son indicadores del posible incremento en el valor de la función objetivo. En cuanto una variable no básica se incrementa de valor haciéndola básica, el coeficiente en tal renglón resulta de valor cero, indicando así, que X2 ya no puede aportar a la ganancia representada con la variable Z. En las fórmulas a la izquierda, se usa la fila RE de la nueva tabla y las filas necesarias de la tabla anterior; la fila H1 se copia igual porque ya existe el cero en la columna X 2.
Figura 2-4. Tabla simplex con 2a solución básica factible, ejemplo MAXCAN1.
Un cálculo con la restricción (2) en la forma estándar: 2X2 + H2 = 12, sustituyendo los valores X 2=6 y H2=0 dados en la segunda tabla simplex: 2(6) + 1(0) = 12, muestra que debe utilizarse todo el
recurso (2), produciendo hasta ahora una ganancia Z = 3X 1 + 5X2 = 3(0) + 5(6) = 30, que resulta mejor a Z = 0 anterior. Observe el único cambio de la base, sigue con tres variables, pero X 2 sustituye a H2 como variable básica y conserva a H1 y H 3, de la solución básica factible de tabla anterior ya que ambas son, de puntos extremos adyacentes. La nueva solución básica factible valorada con el simplex es, por analogía, el punto extremo vértice A(0,6) en Figura 1-33: ( X1, X2, H1, H2, H3 ) = ( 0, 6, 4, 0, 6 ) Ahora las variables básicas H1, X2, H3 con vector columna unitaria hacen la base I. La Figura 25 repite la segunda tabla con los criterios del simplex aplicado.
Figura 2-5. Criterios de optimalidad y factibilidad, 2ª tabla simplex, ejemplo MAXCAN1.
El tratamiento algebraico siguiente, fuera del procedimiento simplex en forma tabular que se está exponiendo, puede satisfacer al estudiante, para comprender los resultados del renglón Z de la tabla con la segunda solución básica factible: La ecuación (2) en la forma estándar es 2X 2 + H2 =12 ó bien X 2 + 1/2 H 2 = 6; despejando: X 2 =6 1/2H2; sustituyendo en la función: Z - 3X 1 - 5X2 = 0, se tiene:
En este proceso algebraico se observa la importancia de los coeficientes en Z: (-3) para X 1 y (+5/2) para la holgura H2, se comprende que se utilicen como indicadores para la optimalidad en el simplex. Significa que la variable X1 no básica y por lo tanto con valor cero, conviene hacerla básica aumentando su valor, pues su coeficiente en la ecuación indica que por cada unidad asignada a X1, al valor de Z=30 se le suma 3. Así en la tabla simplex en Figura 2-5 se decide que X 1, variable no , para incrementar Z. En cambio Z disminuye, si regresa H 2 a la base. básica entre a la base Por otro lado, en la aplicación del criterio de factibilidad se dividen los valores actuales de las variables básicas, situados en la columna derecha de la tabla, entre los respectivos coeficientes positivos en la columna X1, que se tiene como VE, con el resultado: Mínimo ( 4/1 = 4, 6/3 = 2 ) = 2, entonces la variable H3 es saliente , y se debe reemplazar por la nueva variable básica X1 = 2. Esto representa el cambio de base del vértice A(0,6) al vértice C(2,6), ambos puntos extremos adyacentes de la analogía gráfica en la Figura 1-33, lo cual se identifica en el simplex porque la base H1, X2, H3anterior, cambia a H1, X2, X1 en la siguiente solución básica; es decir, sólo difieren en que X1 sustituye a H3. En el cruce de la columna y el renglón seleccionados para variable entrante a la base y variable saliente de la base , se ubica el coeficiente pivote P = 3 en Figura 2-5 que se utiliza para el cálculo de la siguiente iteración. A continuación se presenta la tercera tabla simplex en la Figura 2-6 que se inicia colocando las variables básicas H1, X2, X 1, así ordenadas en los renglones, calculando los coeficientes del renglón
entrante que se obtienen al dividir el renglón correspondiente a la variable saliente entre el número pivote 3; RE = RS / 3. En el cruce de la columna de X 1 con el renglón RE ya determinado debe haber un número 1, el cual es pivote. La columna X 1 debe completarse con coeficientes cero para que sea vector unitario de esta variable, que con H1 y X2 forman la matriz de base I. Con el nuevo renglón RE de esta tabla y los renglones señalados en las fórmulas anotadas en el lado izquierdo de la misma, se procede al cálculo de los coeficientes faltantes mediante el procedimiento de eliminación para la solución de ecuaciones lineales de Gauss-Jordan; anote que en la fila correspondiente a la variable básica X 2, no hay necesidad de calcular sus coeficientes porque el cero requerido para vector unitario en la columna de X 1 ya existe desde la tabla anterior, por lo que solamente se copia de la misma; resultando la tercera tabla simplex siguiente en la Figura 2-6
Figura 2-6. Tabla simplex óptima, en 3ª solución básica factible, ejemplo MAXCAN1.
Los resultados de esta tabla simplex, muestran los coeficientes indicadores en el renglón Z, correspondientes a las cinco variables con valor no negativo; según el criterio de optimalidad significa que ya no hay variables candidatas para entrar a la base y así se tiene una s olución óptima en el renglón Z con un valor: Que debe completarse con la lectura del programa óptimo en las filas de las variables en la base y columna solución: Variables de decisión X1 = 2, X2 = 6, variable de holgura H1 = 2. Las variables no presentes en la base, deben valer cero: holguras H 2 = 0, H3 = 0. Sustituyendo el programa obtenido en el problema con forma estándar se tiene.
Las restricciones (2) y (3), se cumplen con valor cero para las holguras H 2 y H3, significa que en esos recursos no existe sobrante. En cambio, el recurso (1) que vale 4, tiene sobrante que representa la variable básica de holgura H1 = 2. Entonces la solución óptima se tiene en el vértice C(2,6) de la analogía gráfica, tal como se anota en la Figura 1-33 y en el espacio ampliado de cinco dimensiones mostrado en la Figura 1-36 que se manejó en la misma. Con el método simplex se optimiza en el punto extremo caracterizado con el vector de la siguiente solución básica factible:
En la Figura 2-7 [HIL67]se muestra el total de tablas simplex aplicado al ejemplo MAXCAN1, en forma canónica de máximo con sólo dos variables de decisión y tres restricciones <=.
Figura 2-7. Tablas simplex del ejemplo MAXCAN1 con 3 restricciones tipo <=.
EMPATES EN LOS CRITERIOS DEL SIMPLEX.- Quizá el lector ya pensó en la posibilidad de empates al aplicar los criterios del simplex para el cambio de base. Con el criterio de optimalidad, al elegir entre coeficientes indicadores empatados en el mismo valor, se tiene prioridad con las variables de decisión y entre estas, se selecciona la variable entrante a la base en forma arbitraria, pues con diferencia de más o menos iteraciones (no es predecible), se llega a los mismos resultados. En el caso de empate al aplicar el criterio de factibilidad, se presenta la situación de degeneración (solución básica no única), que resulta en el mismo valor para la función objetivo en dos o más iteraciones, pudiendo llegar al caso extremo de ciclar, vea ejemplo CaVa 27, lo cual sucede en tan pocas ocasiones, que la teoría y reglas para evitarlo, ya no se tratan. La variable artificial que se expone en los párrafos siguientes, siempre se debe intentar eliminar de la base (al menos que en degeneración se anule como básica); en cuanto al empate entre otras variables se decide arbitrariamente la variable que debe dejar la base.
Método simplex aplicado en problemas con modelo no canónico. Si el dedicado lector ya lo pensó así, tiene razón, pues la mayoría de las programaciones lineales de los problemas no se sujetan a la forma canónica, pero la exposición del simplex con máximo, es más fácil y también más accesible para el conocimiento del que se inicia. Cuando el modelo de programación lineal que se desea resolver, ya sea de mínimo o bien de máximo, tiene cualquier tipo de restricciones, que incluyan las de tipo (>=) y / o las de (=), en tal caso se requiere la preparación del modelo utilizando una base artificial. En esta situación, se requiere aplicar alguna de las siguientes variantes del método simplex, pues el que ya se explicó en páginas anteriores, no es suficiente.
2.5. Matriz unitaria "I" de base con variables artificiales. Cuando el problema de programación lineal se expresa en la forma canónica de maximizar, las variables de holgura que se suman en cada restricción de tipo <= para conseguir la igualdad de la
forma estándar, proporcionan un coeficiente (+1) que es útil para formar la matriz unitaria " I "; se cumple así con la necesidad de la primera solución básica factible que requiere el algoritmo simplex para su inicio. Pero muchas veces, el modelo de programación lineal no tiene forma canónica y presenta restricciones de tipo >= e =, con las cuales no se usan variables de holgura para el propósito de conseguir la forma estándar. Al restar la superávit -1S se convierte a ecuación la restricción tipo >=; y la restricción = ya se cumple; pero en ambos casos no se tiene la aportación del coeficiente + 1. Los problemas de programación lineal expresados con restricciones distintas al tipo <= necesitan un artificio matemático para conseguir una matriz de base artificial, lo cual es posible sumando una variable artificial W i de valor no negativo, i=1,2,...,m en cada restricción i de tipo >= e =, así se proporciona el coeficiente +1 indispensable para la formación de la matriz unitaria I que requiere el algoritmo simplex para ponerlo en marcha. Una variable artificial no tiene significado físico y sólo se utiliza para completar la primera solución básica que requiere el simplex para iniciarse ; pero en contraste, a través de las etapas de cálculo, debe procurarse que las artificiales salgan pronto de la base, convirtiéndolas en no básicas, o bien que, como variables básicas valgan cero para poder lograr la solución óptima. A continuación se exponen las variantes del algoritmo simplex que se utilizan en el caso de la presencia de variables artificiales en el modelo a resolver.
2.5.1. Método Simplex penal o de la M grande. El simplex penal es una variante del método simplex aplicable en los casos en que las variables artificiales son necesarias en el problema, ya sea de maximizar o también de minimizar. El nombre de simplex penal se explica porque se penaliza con un coeficiente M, que representa un valor muy grande (mayor que cualquier otro coeficiente del problema), a cada variable artificial W i que se incluya en la función objetivo del problema. Para máximo se utiliza la penalización con signo menos (- M), por otro lado para mínimo se utiliza signo más (+ M). Las variables artificiales se usan para la primera solución básica del simplex, pero el valor muy grande del coeficiente M, procura su rápida salida de la base cuando el problema tiene solución factible. Aunque algún caso degenerado puede tener una variable artificial en la base con valor cero; vea ejemplos Artbás0deg3v4r (16), Artabás02f (2), Ciclo deg (27) en programa CAVA (próximo a liberarse). Por el contrario, si no es posible anular las variables artificiales (W i >0), significa que no hay solución factible al problema; vea ejemplo Artinofac en programa CAVA. El siguiente Ejemplo 2-2 es un problema de PL que requiere variables artificiales para intentar resolverlo y corresponde al Ejemplo 1-16 utilizado con método gráfico, también incluidos en el programa CAVA (próximo a liberarse):
Ejemplo 2-2. Aplica método Simplex Penal, PL en máximo con 3 tipos de restricción (FACTIRECTA).
Figura 2-8. Tablas del método simplex penal aplicado al ejemplo FACTIRECTA.
Solución óptima en vértice C de la analogía geométrica en (Figura 1-45): máximo Zc = 14 y el programa en última tabla: X1 = 2, X2 = 4, H1=S2=W2=W3 = 0. El ejemplo FACTIRECTA mostrado contiene la aplicación del método simplex penal; como ya se mencionó, hay necesidad de utilizar variables artificiales para resolverlo. Primero se prepara el problema convirtiendo a igualdades para forma estándar del modelo propuesto, sumando una variable de holgura H1 en la restricción (1), después se resta una variable S2 de superávit en la (2), la restricción (3) es de tipo = por lo que se deja como está; se condiciona toda variable X j >= 0 y con la función objetivo original ya se tiene este modelo como estándar. Pero así no se completa la matriz cuadrada unitaria I que debe ser de orden m = 3 restricciones, pues sólo se tiene el vector unitario de la variable de holgura H 1 que sí aporta el coeficiente +1, faltando dos vectores unitarios. Aquí surge la necesidad de utilizar el artificio matemático ya referido. En las restricciones (2) y (3) que son de >= e =; se suman variables artificiales W2 y W 3, aportando cada una de ellas el necesario coeficiente +1, con lo que se completa la matriz I mostrada antes de la tabla simplex, quedando el modelo que se presenta con base artificial. Esta variante del simplex, incluye a las variables artificiales en la función objetivo, pero penalizadas con un coeficiente M, que representa un valor mayor que cualquier otro coeficiente presente en el modelo; para este ejemplo se le asigna -M como coeficiente a las variables artificiales W 2 y W 3, cumpliendo así con la penalización de la función objetivo la cual se arregla al formato de las restricciones, restando el lado derecho a la variable Z, consiguiendo el término independiente cero en el lado derecho. En segundo lugar debe prepararse la tabla simplex con la primera solución básica "factible", la que se consigue con las variables artificiales W 2 y W3, procurando su pronta anulación con los
cambios de la base. Se inicia con los renglones y columnas y los encabezados necesarios para copiar ordenadamente los coeficientes del modelo, tal como se presentan en la forma con base artificial y la función Z arreglada con término independiente; los lugares vacíos se llenan con cero. Aquí anote que la matriz I, no necesariamente se forma con sus vectores unitarios colocados juntos escalonadamente; pueden quedar intercalados vectores unitarios (por las variables de holgura y/o artificiales) o no unitarios (por las de superávit); en este ejemplo, hay una intercalación de la variable S2 de superávit, lo cual se podría haber evitado permutando las primeras dos restricciones. En todos los casos se puede buscar arreglar las restricciones en el orden que convenga para facilitar el análisis posterior de la solución tabular. Las variables básicas deben colocarse en la columna izquierda ordenadas de tal manera, que coincidan en su renglón con el coeficiente +1 del vector unitario, en la columna correspondiente a la misma variable. En párrafos anteriores se menciona, que toda variable básica debe tener coeficiente indicador cero en el renglón Z; esto significa que tal variable ya no puede aportar alguna cantidad al valor de la función objetivo; pero las variables artificiales W2 y W3 tienen un coeficiente M en dicho renglón; lo cual impide que se tenga una solución básica "factible" en esta tabla, por lo que se procede a conseguir los coeficientes cero faltantes en el renglón Z para las variables artificiales. Esto se logra mediante operaciones fila elementales usadas en el proceso de Gauss-Jordan, lo que se muestra en las fórmulas en el lado izquierdo de la tabla: Para calcular el cero en W 2, se multiplica el renglón W2 por el número -M (inverso aditivo de M) y se suma el renglón Z, ó sea (RW2)(-M) + RZ = Z', se tiene así cero en la posición de Z' con W 2. Luego se multiplica el renglón W3 por el número -M y se suma el renglón Z', ó sea (RW3)(-M) + RZ' = Z'', se determinan así los coeficientes cero necesarios para que las variables W2 y W3 sean básicas. Ahora sí en esta segunda tabla, se tiene la primera solución básica indispensable para que el algoritmo se inicie con la aplicación de los criterios del simplex. En tercer lugar, ya determinada la solución de arranque, se aplican los criterios del simplex empezando con el de optimalidad y considerando que el objetivo es máximo, la observación de los indicadores del renglón Z, en esta segunda tabla del Ejemplo 2-2, existe sólo un coeficiente negativo en la variable no básica de decisión X1, por lo cual se declara variable entrante a la base . La aplicación de la factibilidad resulta al obtener el mínimo cociente, de dividir los valores actuales de las variables básicas situados en la columna solución a la derecha de la tabla, entre los coeficientes en el mismo renglón i con la columna correspondiente a la variable VE. Así: mínimo (6/1, 0/2, 2/1) = 0, que coincide en el renglón de la variable artificial W 2 que se declara variable saliente . En el cruce de la columna X1 y el renglón W2 , se localiza el coeficiente 2 como pivote P para calcular con Gauss-Jordan la siguiente tabla simplex (tercera) con la nueva solución básica que debe tener a H1, X1 (sustituye a W 2) y W 3, como base. Se recomienda al estudiante cuidar la colocación de las variables en la base, conservando el mismo orden que le corresponde de tabla a tabla, excepto para la nueva VE que ocupa el lugar de la VS. En la tercera tabla simplex del ejemplo FACTIRECTA, se repite la aplicación del criterio de optimalidad seleccionando entre (-1/2 M - 7/2) y (-1/2 M - 3/2), el coeficiente más negativo (o lo equivalente el de mayor valor absoluto) para el objetivo de máximo, entonces se declara a la variable no básica X2 como a la base. Para la factibilidad, vea que el renglón de la variable básica X1 queda descartado debido a que 0 / -1/2 no es válido, en cambio con las otras dos variables en la base se tiene: Mínimo (6 / 3/2, 2 / 1/2) = 4, existe empate que debe romperse teniendo en cuenta, la necesidad de procurar una rápida salida de la base de las variables artificiales, en tal caso se puede elegir a la que ahora, es indeseable variable básica W3 como . En el cruce de columna X 2 como VE y renglón W 3 como VS, se localiza el coeficiente pivote 1/2 con el que se inicia el cálculo de la siguiente tabla (cuarta) simplex de este problema ejemplo.
La cuarta tabla simplex comienza por ordenar las tres variables básicas H1, X1 y la X2 que sustituye a la W3, se continúa con el cálculo de coeficientes del nueva renglón RE = RS / P = RS / 1/2 resultando el coeficiente +1 en la posición de pivote, necesario para determinar con el Gauss-Jordan el resto de la tabla, que muestra en el lado izquierdo, las fórmulas empleadas de este método. Esta última tabla tiene en el renglón Z, coeficientes indicadores para las variables de valor no negativo, lo cual significa una solución óptima pues, además, todas las variables artificiales ya salieron de la base. En la analogía geométrica de la Figura 1-45se muestra el segmento de recta BC como conjunto factible y su punto extremo el vértice C(2,4) con el máximo valor de la función Z; pero para el espacio ampliado que maneja la solución analítica del simplex, el punto extremo que optimiza tiene el programa:
Ejemplo 2-3. Aplica método Simplex Penal, PL en mínimo con 3 tipos de restricción (MINPEN). Se presenta este nuevo ejemplo de método simplex penal con la solución de las siguientes tablas, se deja como ejercicio al estudiante: construir las fórmulas para el cálculo de los coeficientes de cada renglón de la tabla con el procedimiento de Gauss-Jordan; la solución que incluya la interpretación geométrica en un plano de las restricciones e identificarlas, el conjunto de puntos factibles del sistema, las coordenadas de los vértices, sus características y el valor de la función objetivo.
Figura 2-9. Tablas del método simplex penal del ejemplo MINPEN.
Ejemplo 2-4. Aplica método Simplex Penal, PL en máximo con una variable libre (MAXPENLI).
En la sección correspondiente a formas equivalentes del modelo de programación lineal se trató el manejo algebraico de una variable libre, haciendo que la misma se iguale a la diferencia de dos variables no negativas: X1 = X'1 - X''1; X'1 >= 0, X''1 >= 0.
Figura 2-10. Tablas del simplex penal del ejemplo MAXPENLI.
La última tabla simplex penal es óptima, pues los indicadores para las variables en renglón Z, no tienen signo negativo, así se identifica el vértice que maximiza: (X'1, X''1, X2, H1, S2, S3, W2, W3 ) = ( 3, 0, 6, 0, 6, 0, 0, 0 ), Z máximo = 33.
La variable X''1 = 0 porque es no básica; pero X' 1 = 3 > 0 = X'' 1, entonces se asegura un valor positivo para la original X1 = X'1 - X''1 = 3 - 0 = 3. Si desea, intente el cambio a objetivo mínimo del mismo ejemplo MAXPENLI, y compruebe que la solución simplex, aún para toda Xj libre, sólo considera puntos vértice del 1er. cuadrante , limitándose a toda X j >= 0.
2.5.2. Método Simplex de dos fases. Este es otra variante del simplex que se aplica para resolver modelos de PL que requieren una matriz unitaria de base artificial para poder iniciar el algoritmo. El nombre indica que consiste de dos fases: En la 1ª, se reducen las artificiales W i a cero y en tal caso se optimiza en la 2ª, o bien, se concluye que no hay solución factible para el problema porque Wi es diferente de cero en fase 1, y por lo tanto no es necesaria la fase2.
Primera fase.- En este método siempre se minimiza una función objetivo constituida por la suma de las variables artificiales utilizadas para completar la matriz I: Las variables artificiales son útiles para formar la primera base del simplex, pero si se logra que toda Wi=0, entonces Z=0 representa lo deseable u óptimo, pues lo contrario significa un problema que no tiene solución factible, en tal caso no aplica la segunda fase. Si todo va bien, las variables artificiales Wi deben salir de la base, excepto en algún caso degenerado en que Wi=cero, es básica, vea en el programa CaVa (próximo a liberarse) los ejemplos Artbás0deg3v4r (16), Artabás02f (2), Ciclodeg (27). La solución óptima de fase 1 se identifica, con variables artificiales cero que implica Z=0 para la función.
Segunda fase.- Se continúa con ésta sólo si ocurre la optimización del problema en la fase anterior. Para ello sirve la tabla simplex óptima de la primera, que se ajusta eliminando las columnas de las variables artificiales Wi; además, el renglón Z se cambia a los coeficientes de la función Z original. El procedimiento continúa con el arreglo de la tabla simplex inicial para cumplir los requisitos necesarios de una solución básica factible; es decir, coeficientes cero para las variables básicas en el renglón Z de la tabla. A veces esto es suficiente para lograr el óptimo del problema; si no es así, se aplican los criterios del simplex para el objetivo original del problema. En resumen, la fase1 intenta lograr un punto extremo factible; la fase 2, el punto extremo óptimo:
Ejemplo 2-5. Aplica método Simplex Dos Fases, PL máximo y mínimo, 3 tipos de restricción (MAXMIN2F1).
En este ejemplo se aprovecha la circunstancia de que en el método simplex de dos fases, la primera fase es igual con ambos objetivos ; por lo tanto, sólo para mayor conocimiento, la tabla óptima de la 2a fase que contiene el valor máximo de la función, se utiliza para obtener el mínimo. Con el objetivo de máximo en este ejemplo, se esperan los mismos resultados del primer ejemplo FACTIRECTA) de simplex penal pues se trata el problema otra vez, con el propósito de que el estudiante tenga la misma referencia de comparación del penal y el de 2 fases.
Figura 2-11. Tablas simplex 1a y 2a fase del ejemplo MAXMIN2F1.
Este ejemplo MAXMIN2F de aplicación del método simplex de dos fases, empieza el proceso de resolución convirtiendo el modelo original propuesto a su forma estándar y luego para conseguir una base artificial, al igual que se explicó para el ejemplo FACTIRECTA del simplex penal, se obtiene la misma base artificial; pero la diferencia empieza al tratar las variables artificiales como sigue:
Primera fase.- Se construye una función objetivo Z con la suma de las variables artificiales y se arregla al formato de restricción, tal como se muestra antes de las tablas de la primera fase. Se
construye la tabla a partir de las variables básicas: la holgura H 1 y las artificiales W 2 y W3, ordenadas de arriba hacia abajo en la base; el renglón Z, se llena conforme a los coeficientes de la ecuación Z - W2 - W 3 = 0, escribiendo ceros en los espacios vacíos de las variables X j, las holguras Hi y las superávit S i; en el mismo renglón Z se ubican los coeficientes -1, característico de las variables artificiales con el método de dos fases. El resto de los coeficientes de esta primera tabla, corresponde a la forma estándar ya obtenida. Anote la diferencia respecto al simplex penal: los coeficientes M de las variables artificiales en renglón Z no se usan, pero sí coeficientes -1 en la primera fase; además, las artificiales deben aportar el vector columna unitario para la base I; aunque no cumplen para variable básica, pues el -1 en el renglón Z debe anularse para el inicio. Con este propósito se hacen operaciones fila de Gauss-Jordan para conseguir ceros que sustituyan los coeficientes mencionados. En el lado izquierdo de la primera tabla se escriben las fórmulas que se usan para el cálculo de los renglones Z' y Z''; en el último se pueden ver los ceros sustituyendo los -1. Con el cálculo del renglón Z'' se completa la primera solución básica de esta primera fase y se procede a la aplicación de los criterios del simplex con el objetivo de mínimo; para optimalidad, se observa que X1 es la única variable no básica con coeficiente + en el renglón Z, (recuerde que con objetivo de mínimo, debe elegirse para VE la que tenga el coeficiente más positivo), entonces se declara a X1 como VE a la base. En factibilidad, según los cocientes a la derecha de la tabla, se identifica a la variable artificial W2 como saliente (VS) de la base, le toca actuar como pivote al coeficiente 2 colocado en el cruce de la columna X 1 y el renglón W2, recién elegidos con los dos criterios. Entonces se procede al cambio de base calculando la segunda tabla de la primera fase, empezando por establecer a las variables básicas: H1 que se mantiene dentro, la nueva X 1 que se hace básica, sustituye a W2 que se convierte en no básica, W 3 que también permanece en la base. Se comienza el cálculo de la segunda tabla con el renglón RE que se fija como pivote para calcular el resto de los coeficientes mediante operaciones fila elementales de Gauss-Jordan; en el lado izquierdo de la tabla se anotan, como guía de cálculo, las fórmulas para cada fila. Los coeficientes indicadores en la fila Z, muestran todavía números positivos para las variables no básicas X2 y S2, lo cual significa que son candidatas para entrar a la base y la necesidad de continuar la aplicación del algoritmo; además, aún existe una variable artificial dentro de la base. Los coeficientes de X2 y S2 están empatados con valor de 1/2, de acuerdo a la recomendación dada antes, de preferir como entrante variables de decisión, así X 2 = VE. Aplicando la factibilidad, también se tiene un empate en los cocientes que se presentan a la derecha de la tabla; aquí se elige a la variable W3 como saliente VS, pues ya se mencionó en párrafo anterior, la procuración del método para que las artificiales salgan lo más pronto posible de la base. Con la definición del pivote 1/2 y las fórmulas a la izquierda, se tiene lo suficiente para calcular la siguiente solución en la última tabla de la primera fase la cual muestra el valor cero en la columna solución, esto significa, que al sacar todas las variables artificiales de la base se anulan y con ello Z = 0. El resultado confirma que el problema sí tiene solución factible y procede la segunda fase.
Segunda fase.- La última tabla de la primera fase sirve para iniciar la primera tabla simplex de la segunda fase, pero se eliminan las columnas de las variables artificiales W2 y W3; también se eliminan los coeficientes del renglón Z y se sustituyen con los coeficientes de la función objetivo original: La primera tabla muestra el arreglo de coeficientes mencionado, pero se observa que las variables básicas H1, X1, X2, así ordenadas en la columna base, cumplen el requisito de tener su vector columna unitario para formar la base I, pero no cumplen con el coeficiente cero en el renglón Z para una básica, porque se acaban de escribir los coeficientes de la ecuación original. Con el propósito de corregir el planteamiento tabular de esta primera tabla se hacen las operaciones fila
necesarias, las que se definen según las fórmulas construidas a la izquierda de la segunda tabla de esta fase, resultando un renglón Z' para conseguir el coeficiente cero en la variable X 1 y un renglón Z'' para conseguir el cero en la variable X 2. Como este renglón Z'' muestra coeficientes indicadores no negativos, el criterio de optimalidad para máximo que es el objetivo original, ya no se puede aplicar para elegir variable entrante, los indicadores cero para las variables de decisión X 1 y X2, significan que tales variables ya no pueden aportar más al valor de Z. En consecuencia, sin necesidad de aplicar los criterios del simplex en esta segunda fase , ya se tiene la solución óptima en el punto extremo:
Este Ejemplo 2-5 ya conocido, con el Ejemplo 2-2 del simplex penal y también con el Ejemplo 116 de método gráfico, se puede aprovechar para comprobar el potencial del método de dos fases, pues la tabla óptima de la segunda fase mostrando la solución de máximo, también sirve para el cálculo de la solución mínima. Los indicadores del renglón Z sólo tienen coeficientes cero y uno positivo (2), éste último coeficiente muestra que es candidata a entrar a la base, la variable no básica S2 que se declara VE; con el criterio de factibilidad resulta que debe salir de la base la variable X2, que se define VS; con el coeficiente pivote 1 se procede al cálculo de la solución de la última tabla que muestra la solución óptima mínima para el mismo problema con el punto extremo: Que coincide en el vértice B (2, 0) de la analogía geométrica de la Figura 1-45.
Ejemplo 2-6. Aplica método Simplex Dos Fases, PL mínimo y máximo, 3 tipos de restricción (MINMAX2F). Se presenta este nuevo ejemplo con el método simplex de dos fases y la solución contenida en las tablas. Se deja como ejercicio al estudiante: construir las fórmulas para el cálculo de los coeficientes de cada renglón de la tabla con el procedimiento de Gauss-Jordan; la solución que incluya la interpretación geométrica en un plano de las restricciones e identificarlas, el conjunto de puntos factibles del sistema, las coordenadas de los vértices, sus características y la evaluación de la función objetivo.
Figura 2-12. Tablas simplex de la 1ª y 2ª fase para mínimo del ejemplo MINMAX2F.
En el renglón Z de la última tabla simplex de la segunda fase, ya no hay coeficientes indicadores positivos para el objetivo de mínimo, por lo tanto la solución óptima es:
Z mínimo = 9, X1 = 1, X2 = 3, H1 = 2, H4 = 8 Como ya se mencionó, el método simplex de dos fases se presta para la obtención de los objetivos mínimo y máximo (esto debe tomarse sólo en sentido teórico con fines de enseñanza, pues para la mayoría de los problemas reales, sería absurdo y conflictivo). Con tal propósito, en la misma tabla óptima de solución mínima, se aplican los criterios para el cambio de base hacia una solución máxima como se aprecia en la tabla de la Figura 2-13:
Figura 2-13. Tabla simplex de la 2ª fase para máximo del ejemplo MINMAX2F.
Ejemplo 2-7. Aplica método Simplex Dos Fases, PL mínimo y máximo (MAXMIN2F2).
Figura 2-14. Tabla simplex inicial para 1a fase del ejemplo MAXMIN2F2.
Para el lector que así lo prefiera, se presenta ahora la aplicación del simplex dos fases mostrando en tablas separadas el progreso del cálculo. Como las variables W 2 y W 3 son básicas, es necesario calcularles el coeficiente de valor cero en el renglón Z con las operaciones fila: RW 2(1)+RZ; RW3(1)+RZ.
Figura 2-15. Tablas simplex de 1a fase del ejemplo MAXMIN2F2.
2ª fase.- En la tabla óptima de primera fase se eliminan las columnas W 2 y W3; el renglón Z se sustituye con los coeficientes de la función objetivo original. La base contiene a X 1 y X 2, pero sus coeficientes indicadores Z1-C1=-3 y Z2-C2=-2 en el nuevo renglón Z deben calcularse para el valor cero.
Figura 2-16. Simplex inicial 2a fase, eliminar columna Wi sustituir coeficientes en fila Z en ejemplo MAXMIN2F2.
Se procede con operaciones fila para conseguir que los coeficientes de X 1 y X 2 en el renglón Z se anulen: Z'=RX1(3)+RZ; Z''= RX 2(2)+ RZ'; resulta la tabla siguiente con el coeficiente indicador
negativo (-7) en S3 de Z. En 2ª fase es aplicable el objetivo original de máximo, por lo que S 3 debe ir a la base (VE) para sustituir a H1 (VS), la única variable básica que puede dejar su lugar.
Figura 2-17. Tablas Simplex 2a fase del ejemplo MAXMIN2F2.
Se aprovecha la oportunidad con la flexibilidad del simplex de dos fases, para determinar también la solución mínima del mismo problema. Entonces con el objetivo de mínimo, se declara VE a la base, la variable no básica H1 y la básica S3 sale, para dejarle ese lugar.
Figura 2-18. Tabla simplex óptima de 2ª fase, para mínimo, ejemplo MAXMIN2F2.
2.6. Casos especiales en la tabla Simplex. Se pueden identificar los siguientes casos especiales en la tabla simplex.
2.6.1. Solución degenerada
Se identifica en la tabla simplex porque al menos una variable básica tiene valor cero en la columna de solución. Este caso se presenta cuando se valora una solución básica no única, la cual se tiene con al menos una variable básica de valor cero en el sistema de m restricciones, alguna de ellas debe ser restricción redundante que contiene sólo un punto vértice del conjunto factible. Ejemplos de caso degenerado, sea tabla óptima o no, son: 2, 16, 27, Ejemplo 1-14, Ejemplo 22, Ejemplo 2-3, Ejemplo 2-5, Ejemplo 2-7 y algo más en el programa CAVA (próximo a liberarse). Enseguida otro PL con degeneración transitoria en tabla intermedia.
Ejemplo 2-8. Caso de solución degenerada transitoria en tabla Simplex y su gráfico (MAXDETRA).
Figura 2-19. Gráfico solución degenerada en vértice F (2, 0) no único, ejemplo MAXDETRA.
Figura 2-20. Tablas simplex que muestran el caso especial solución degenerada transitoria del ejemplo MAXDETRA.
2.6.2. Solución no acotada. Se identifica en la tabla simplex porque en la columna de la variable entrante (VE), sólo hay coeficientes no positivos lo cual hace imposible la aplicación del criterio de factibilidad para la variable saliente de la base. El caso especial no acotado es porque el conjunto factible de solución es abierto, las variables pueden crecer sin límite (problema de máximo).
Ejemplo 2-9. Caso de solución no acotada en tabla Simplex y su gráfico (MAXAB).
Figura 2-21. Tablas Simplex ejemplo MAXAB.
Solución no acotada, no hay valor positivo en columna variable entrante VE. Las tablas simplex valoran los vértices O, A, C, de la analogía geométrica siguiente:
Figura 2-22. Gráfico solución no acotada del ejemplo MAXAB.
Ejemplo 2-10. Caso de solución óptima con espacio factible abierto, en Simplex y en gráfico (MAXABOP). Con el PL de:
Figura 2-23. Solución óptima simplex en un espacio no acotado, ejemplo MAXABOP.
Figura 2-24. Espacio factible abierto, con solución óptima, ejemplo MAXABOP.
2.6.3. Soluciones óptimas alternas o múltiples. Se identifican en la tabla simplex porque alguna(s) variable(s) no básica(s) presenta(n) el valor cero como coeficiente en el renglón Z de la tabla. Esto se debe a que la función objetivo es paralela a una de las restricciones que limitan el conjunto de soluciones factibles. En tal caso, se pueden calcular las soluciones óptimas alternas, metiendo a la base, la variable no básica, con cero de coeficiente en el renglón Z de la tabla; también se pueden obtener múltiples soluciones óptimas, calculando puntos P como combinación convexa lineal de dos de las soluciones básicas que optimizan con el simplex:
Ejemplo 2-11. Caso de soluciones óptimas alternas y múltiples (MAXOPAL).
Figura 2-25. Soluciones óptimas alternas simplex en ejemplo MAXOPAL.
Figura 2-26. Soluciones óptimas alternas en segmento AC del conjunto factible, ejemplo MAXOPAL.
Se puede ciclar con cambios de base entre estas dos soluciones óptimas alternas. También múltiples puntos P contenidos en el segmento recto AC, optimizan la función Z. Por ejemplo: Obtenga un punto P que sea combinación convexa lineal (CCL) entre los puntos A (0, 3) y C (7/3, 7/3). Después calcule Z en ese punto P.
2.6.4. Problema sin solución factible. Se identifica en la tabla simplex porque al menos una variable artificial no es posible anularla o sacarla de la base a través de las iteraciones de cálculo. Este caso se presenta si no hay espacio factible de soluciones para el sistema dado.
Ejemplo 2-12. Caso sin solución factible (MAXNOFAC).
Figura 2-27. Gráfico problema sin solución factible en ejemplo MAXNOFAC.
Para resolver con simplex se pasa a forma estándar: El renglón Z no tiene coeficientes negativos para elegir variable de entrada a la base y hacer el cambio en ella, así la artificial W2=4 permanece básica. El simplex valora el vértice A(0, 2), pero no hay región factible en el sistema de restricciones.
Figura 2-28. Tablas simplex, variable artificial W 2 en base que no se anula en el ejemplo MAXNOFAC.
2.7. Teoría de la dualidad. El desarrollo de esta teoría de la dualidad es debido al interés que existe en la interpretación económica del problema que se estudia. Se inicia bajo la consideración de que todo problema de programación lineal tiene un problema asociado; llamándose problema primal al conocido y problema dual al asociado. Ambos problemas están muy relacionados, de tal manera que la solución óptima de cualquiera de ellos proporciona la solución óptima del otro. El problema dual de cualquier problema primal se puede obtener con manejo algebraico, convirtiendo primero a las formas canónicas ya conocidas y después a la correspondiente al dual, o bien en forma directa, a partir de reglas de conversión al dual.
2.7.1. Problema dual obtenido en la forma canónica.
Figura 2-29. Formas canónicas, primal y dual.
En donde: C: es un vector renglón de coeficientes de la función objetivo primal. b: es un vector columna de términos independientes de restricciones del primal. A: es una matriz de coeficientes tecnológicos de restricciones del primal. X: es un vector columna de variables del primal. T: es la transpuesta del vector o matriz. Y: es un vector columna de variables duales. Con excepción de X e Y, los vectores y matrices en ambos problemas son los mismos, pero debe cuidarse el orden del arreglo vectorial atendiendo la transposición T indicada. El siguiente ejemplo primal en forma canónica de máximo, se maneja matricialmente para obtener el problema dual, que debe coincidir con la forma canónica dada para el dual. Al revisar las formas canónicas se observa: El producto b T Y requiere vectores conformables, así a cada restricción primal corresponde una variable dual . Por lo mismo, debido a CX, a cada variable
primal le corresponde una restricción dual. Ejemplo 2-13. Dual asociado a un PL primal en forma canónica de máximo (MAXCAN1).
Para el dual, los coeficientes del ejemplo se arreglan en sus vectores como sigue:
Ejemplo 2-14. Dual asociado a un PL primal en forma canónica de mínimo (MINCAN1).
Ejemplo 2-15. Dual asociado a un PL primal que no tiene forma canónica (MINDULI). Primero se convierte algebraicamente a la forma canónica el problema primal.
2.7.2. Problema dual directo. El problema dual también se puede obtener directamente sin necesidad de recurrir a las formas canónicas, las cuales son muy útiles para aprender el orden matricial en la conversión del primal al dual.
Figura 2-30. Tabla con reglas de correspondencia para obtener el dual directo del primal.
Las características del problema primal se identifican según el objetivo máximo o mínimo, en columna izquierda o derecha respectivamente, de la tabla; las características del problema dual se leen en la otra columna. Ejemplo 2-16. Dual directo de un problema primal no canónico de objetivo mínimo (MINDULI2).
El primal del Ejemplo 2-16 es de mínimo, entonces se coloca en columna derecha para identificar la condición de sus variables y también el tipo de restricciones. En el mismo renglón, pero en la
otra columna, lea lo que corresponde al dual. Dual Directo
Ejemplo 2-17. Dual forma canónica y directo de un PL primal no canónico (MAXDULI).
2.7.3. Significado de las variables duales. La interpretación económica del problema en estudio, es posible a partir de la conversión del problema primal a su correspondiente dual asociado, con el análisis de las unidades dimensionales del primero. Esta interpretación no es única y es según el interés de quien lo estudia. Considere el Ejemplo 1-8 de producción de fertilizantes visto en formulación de modelos de este curso.
Ejemplo 2-18. Significado de las variables duales en ejemplo FERTILIZ Primera parte.- Definición de variables: Segunda parte.- Función objetivo o económica: Tercera parte.- Sujeta a las restricciones:
Cuarta parte.- Condiciones de signo para variables:
Problema dual. Primera parte.- Definición de variables duales.
Segunda parte.- Función económica Tercera parte.- Sujeta a las restricciones:
Cuarta parte.- Condiciones de signo:
La función objetivo dual significa la cantidad mínima de dinero que se debe recuperar de la materia prima, en caso de tener que parar la producción de fertilizantes; cada término de dicha función representa la contribución de los componentes N, P, K, en la venta total. Cada término de las restricciones duales significa la contribución ($) de los componentes químicos i, a la utilidad de una tonelada de fertilizante j. Los componentes químicos tienen valor para la empresa debido a que representan la oportunidad de tener utilidad. Para conseguirlo debe buscar la combinación más redituable de manera que el valor marginal de unidades adicionales de recurso sea mínimo. Por esto, también se puede interpretar la función objetivo dual, como representación del valor mínimo de los recursos N, P, K, utilizados en la producción de fertilizante. En cuanto a las restricciones, cada una de ellas se relaciona con la utilidad del fertilizante j (j = 1,2 ) en unidades monetarias $ / tonelada de i ( i = N, P, K ). La desigualdad >= utilidad $ / tonelada de fertilizante j, verifica que el valor de recursos consumidos en una tonelada de j, sea por lo menos igual a la
utilidad del mismo. 2.7.4. Propiedades primal-dual. Dualidad débil.- En el problema de PL, cualquier par X e Y de soluciones factibles primal-dual, cumple que:
Dualidad fuerte.- Al resolver el problema de PL en cada iteración del simplex se tiene un par específico de soluciones en ambos problemas primal-dual, de modo que, la del primal es factible pero la del dual es no factible, con excepción de la última iteración, en la que la solución óptima primal X* y la solución óptima dual Y* resulta en: Si X no es óptima en el problema primal, entonces Y no es factible en el dual. Soluciones complementarias.- Al resolver un problema de PL, en cada iteración del simplex se identifica, una solución básica factible primal X y una solución complementaria Y para el dual, conocida como "Variables Duales" o "Precios Sombra" o "Multiplicadores del Simplex", ubicada en renglón Z de la tabla como coeficientes de las variables que forman la primera solución básica, (holguras y / o artificiales). Soluciones complementarias óptimas.- Con la solución óptima, al final del simplex se tiene, la solución primal X* y una óptima complementaria dual Y*, en el renglón Z, como coeficientes de las variables de holgura y/o artificiales que forman la primera solución básica, ("Precios Sombra" o
"Variables Duales" o "Multiplicadores del Simplex"). Propiedad de simetría.- La denominación de primal es para el primer problema, pues el dual de un problema dual debe resultar en el mismo primal por las relaciones simétricas entre ellos. El
estudiante puede comprobar esta y otras propiedades analizando las tablas del simplex aplicado al Ejemplo 2-1 como primal y luego a su problema dual.
Ejemplo 2-19. Aplica propiedades primal-dual al problema MAXCAN1.
Las tablas de la Figura 2-31siguiente son para aclarar las propiedades primal-dual ya expuestas, vea tablas simplex del Ejemplo 2-1 (Figura 2-7). En la segunda tabla simplex, X =(X 1, X2)T =(0, 6) T, es factible en el primal con Z=CX=(3,5)(0,6) T=30; pero la solución dual dada por los precios sombra: Y = (0, 5/2, 0) viola la restricción Y 1 + 3Y3 >=3; 1(0)+3(0) >= 3, por lo tanto, no es factible, (vea la propiedad de soluciones complementarias). En cambio, en la tercera tabla simplex del mismo ejemplo, se tiene X*=(X1,X2)T=(2, 6)T, es factible y óptimo en primal con Z=CX=(3,5)(2,6)T= 36; además, la solución complementaria en Z, los precios sombra Y*=(Y 1,Y2,Y3)=(0,3/2,1) verifican las restricciones duales: Y1+3Y3 =1(0)+3(1) >=3, 2Y 2+2Y3 =2(3/2)+2(1) >=5, por lo tanto el dual es factible y óptimo.
Figura 2-31. Simplex muestra factibilidad primal e infactibilidad dual en MAXCAN1.
Ahora se resuelve el problema dual correspondiente al primal ejemplo MAXCAN1: El dual del primal es:
Figura 2-32. Aplica método simplex-penal al problema dual, ejemplo MAXCAN1.
El simplex en ambos problemas primal y dual, contiene dos programas: por un lado el primal X* y su complementario dual Y*; por otro lado, en forma relativa, el dual Y* y el complementario primal X*. Esto se aclara en resumen tabular:
Figura 2-33. Resumen tabular en ejemplo MAXCAN1.
Nota: El coeficiente M con su signo, debe ignorarse porque es artificial. Definición de precios sombra: Es el incremento (decremento) del valor de la función objetivo, debido al incremento (decremento) unitario del i - ésimo recurso. Esta definición también es orientadora para la decisión de cuál recurso conviene aumentar o disminuir cuando se presenta esta clase de problema, el cual se amplía en el próximo tema de análisis de sensibilidad. Indicadores del simplex.- En el renglón Z de las tablas simplex del Ejemplo 2-19, se tiene la solución completa del otro problema, pues además del valor de las variables duales (precios sombra) Y1, Y 2, Y 3, en uno y X 1 y X 2 en el otro, se tienen los coeficientes Z j - C j que representan los valores de las variables de superávit para las restricciones funcionales del problema dual. TEOREMA DE LA HOLGURA COMPLEMENTARIA.- En cualquier solución óptima, si alguna restricción se cumple en desigualdad, entonces la variable dual asociada es cero. Si una variable dual de cualquier problema es diferente de cero, la restricción dual asociada se cumple estrictamente con (=). En el Ejemplo 2-19, la restricción 1 primal se cumple en desigualdad, pues tiene Y1=0; pero las restricciones 2 y 3, se cumplen en igualdad y, por tanto, Y2 = 3/2 y Y3 = 1.
Ejemplo 2-20. Interpretación geométrica del TEOREMA DE DUALIDAD. Solución óptima (MAXTEDU1). Teorema de dualidad.- a) Si el problema primal tiene solución factible acotada y por lo tanto óptima, entonces el problema dual tiene solución óptima, de valor igual al primal, si ésta no es degenerada. (Dualidad débil, fuerte y complementaria).
Figura 2-34. Gráfico del problema primal del ejemplo MAXTEDU1.
Figura 2-35. Gráfico del problema dual del ejemplo MAXTEDU1.
Ejemplo 2-21. Interpretación geométrica del TEOREMA DE DUALIDAD. Solución factible no acotada (MAXTEDU2). Teorema de dualidad.- b) Si el problema primal tiene solución factible no acotada (no hay solución óptima), entonces el problema dual no tiene solución factible.
Figura 2-36. Teorema de dualidad. Solución factible no acotada, problema primal del ejemplo MAXTEDU2.
Figura 2-37. Teorema de dualidad. Solución no factible, problema dual del ejemplo MAXTEDU2.
Ejemplo 2-22. Interpretación geométrica del TEOREMA DE DUALIDAD. Sin solución factible (MAXMINTEDU). Teorema de dualidad.- c) Si el problema primal no tiene solución factible, entonces el problema dual no es factible, o bien, c') la función objetivo no está acotada.
Figura 2-38. Teorema de dualidad. No hay solución factible problema primal para máximo, ejemplo MAXMINTEDU.
Figura 2-39. Teorema de dualidad. No hay solución factible problema dual para mínimo, ejemplo MAXMINTEDU.
Figura 2-40. Teorema de dualidad. No hay solución factible problema primal para mínimo, ejemplo MAXMINTEDU.
Figura 2-41. Teorema de dualidad. Solución no acotada del problema dual para máximo, ejemplo MAXMINTEDU.
2.8. Ejercicios, actividades de aprendizaje y autoevaluaciones correspondientes al capítulo En las siguientes subsecciones encontrará una serie de ejercicios que ayudarán a la total comprensión de los temas tratados en el presente capítulo. Asimismo, los ejercicios marcados con *AUTOEVAL* son de auto evaluación, el peso de los incisos correspondientes a cada uno de ellos podrán ser consultados en la sección de respuestas. Se sugiere resolverlos, y una vez terminados, revisar su solución y calcular la calificación correspondiente y así evaluar el entendimiento del mismo. Se recomienda aplicar los ejercicios aquí planteados a casos prácticos de la vida diaria como parte de las actividades de aprendizaje del presente material.
2.8.1. Formas canónicas y estándar *AUTOEVAL*. Obtenga las formas canónica y estándar del modelo de PL:
B.2.1. Formas canónicas y estándar.
2.8.2. Método simplex a un modelo canónico de PL *AUTOEVAL*. Resuelva con el método simplex el siguiente modelo de PL:
B.2.2. Método simplex a un modelo canónico de PL.
2.8.3. Método simplex a un modelo canónico de PL. Resuelva con el método simplex el siguiente modelo de PL:
B.2.3. Método simplex a un modelo canónico de PL.
2.8.4. Método simplex penal (2 fases) a un modelo no canónico de PL. Resuelva con variantes del método simplex el modelo de PL:
B.2.4. Método simplex penal (2 fases) a un modelo no canónico de PL.
2.8.5. Método simplex penal (2 fases) a un modelo no canónico de PL. Resuelva con variantes del método simplex el modelo de PL:
B.2.5. Método simplex penal (2 fases) a un modelo no canónico de PL.
2.8.6. Método simplex penal (2 fases) a un modelo no canónico de PL *AUTOEVAL*. Resuelva con variantes del método simplex el modelo de PL:
B.2.6. Método simplex penal (2 fases) a un modelo no canónico de PL.
2.8.7. Método simplex penal (2 fases) a un modelo no canónico de PL. Resuelva con variantes del método simplex el modelo de PL:
B.2.7. Método simplex penal (2 fases) a un modelo no canónico de PL.
2.8.8. Aplicación simplex con programa CAVA u otro software a ejercicios del capítulo I. Resuelva con el programa CaVa o algún software del método simplex, los ejercicios del capítulo 1: 1.1, 1.2,.....,1.11.
B.2.8. Aplicación simplex con programa CAVA u otro software a ejercicios del capítulo I.
2.8.9. Identifique algún caso especial en tabla simplex. Resuelva e identifique algún caso especial en tabla simplex:
B.2.9. Identifique a algun caso especial en tabla simplex.
2.8.10. Identifique algún caso especial en tabla simplex. Resuelva e identifique algún caso especial en tabla simplex:
B.2.10. Identifique a algun caso especial en tabla simplex.
2.8.11. Identifique algún caso especial en tabla simplex. Resuelva e identifique algún caso especial en tabla simplex:
B.2.11. Identifique a algún caso especial en tabla simplex.
2.8.12. Identifique algún caso especial en tabla simplex *AUTOEVAL*. Resuelva e identifique algún caso especial en tabla simplex:
B.2.12. Identifique a algún caso especial en tabla simplex.
2.8.13. Identifique algún caso especial en tabla simplex. Resuelva e identifique algún caso especial en tabla simplex:
B.2.13. Identifique a algún caso especial en tabla simplex.
2.8.14. Problema dual asociado al modelo PL primal *AUTOEVAL*. Obtenga el dual asociado al siguiente modelo de PL primal:
B.2.14. Problema dual asociado al modelo PL primal.
2.8.15. Problema dual asociado al modelo PL primal. Obtenga el dual asociado al siguiente modelo de PL primal:
B.2.15. Problema dual asociado al modelo PL primal.
2.8.16. Problema dual asociado al modelo PL primal. Obtenga el dual asociado al siguiente modelo de PL primal:
B.2.16. Problema dual asociado al modelo PL primal.
2.8.17. Conceptos de PL con opciones de aciertos *AUTOEVAL*. Vea las opciones de aciertos para los siguientes conceptos. Anote en paréntesis () el número de concepto que corresponda: (1)simplex dos fases, (2)problema dual, (3)variable entrante, (4)método simplex (5)variable holgura, (6)óptimas múltiples, (7)variable artificial, (8)simplex penal, (9)no única, (10)solución básica, (11)solución degenerada, (12)variable saliente (__) El algoritmo busca optimizar, conserva la factibilidad en el cambio de base. (__) Toda combinación lineal convexa entre dos puntos extremos óptimos. (__) La función objetivo y alguna restricción tienen la misma pendiente. (__) Elimina las soluciones básicas no factibles. (__) Alguna(s) variable(s) del vector solución es (son) nula(s). (__) Una regla es que a toda restricción le corresponde una variable asociada. (__) Necesario cuando se tiene base artificial. (__) Reduce de un número infinito a uno finito las soluciones a explorar. (__) Si el sistema de desigualdades e igualdades es redundante. (__) Se usa el coeficiente -M para máximo y +M para mínimo. (__) Utilizadas en restricciones ( >=) e ( = ). (__) Elige la mejor dirección para converger al óptimo. (__) En la primera parte se determina si el problema tiene solución factible. (__) El significado de sus variables es útil en el análisis económico del problema. (__) Incrementa su valor desde cero hasta un valor positivo. (__) Se identifica el caso, pero el simplex sólo maneja las soluciones extremas. (__) Necesarias para convertir el sistema de desigualdades a igualdades. (__) Exclusivamente soluciones de esta clase maneja el simplex.
Nota: Un (__) puede tener más de un número y éstos pueden repetirse en otros.