Anda di halaman 1dari 28

Parte 6 Programacin Lineal Mtodo Simplex

El mtodo smplex es un algoritmo. De hecho, cualquier procedimiento iterativo de solucin es un algoritmo. Entonces, un algoritmo es simplemente un proceso en el que se repite (se itera) un procedimiento sistemtico una y otra vez hasta obtener el resultado deseado. Cada vez que se lleva a cabo el procedimiento sistemtico se realiza una iteracin. En consecuencia, un algoritmo sustituye un problema difcil por una serie de problemas fciles. Adems de las iteraciones, los algoritmos incluyen un procedimiento para iniciar y un criterio para determinar cundo detenerse, como se resume enseguida: Paso inicial Paso iterativo Regla de detencin Si no Si s Fin El mtodo smplex es un procedimiento algebraico en el que cada iteracin contiene la solucin de un sistema de ecuaciones para obtener una nueva solucin a la que se le aplica la prueba de optimalidad. No obstante, tambin tiene una interpretacin geomtrica muy til. Para ilustrar los conceptos geomtricos generales se emplear la solucin grfica del siguiente problema: Max Z = 3x1 + 5x2 s.a. x1 4 2x2 12 3x1 + 2x2 18 Preparacin para iniciar iteraciones Realizacin de iteraciones Es ptima la solucin actual?

x1 0 x2 0

Solucin por el mtodo grfico:

En la figura anterior pueden observarse los puntos de interseccin que son las soluciones en los vrtices del problema. Los cinco puntos que se encuentran en los vrtices de la regin factible, (0,0), (0,6), (2,6), (4,3), (4,0) son las soluciones factibles en los vrtices. Algunas de estas soluciones factibles en un vrtice son adyacentes, en el sentido de que estn conectadas por una sola orilla (segmento de lnea) de la frontera de la regin factible; esto es, tanto (0,6) como (4,3) son adyacentes a (2,6). Las tres propiedades clave de las soluciones factibles en los vrtices y que forman el fundamento del mtodo smplex se resumen como sigue: Propiedades de las soluciones factibles en un vrtice:

1a. Si existe exactamente una solucin ptima, entonces debe ser una solucin factible en un vrtice. 1b. Si existen soluciones ptimas mltiples, entonces al menos dos de ellas deben ser soluciones factibles en vrtices adyacentes.
2. Existe slo un nmero finito de soluciones factibles en los vrtices adyacentes. 3. Si una solucin en un vrtice es igual o menor (segn el valor de Z) que todas las

soluciones factibles en los vrtices adyacentes a ella, entonces es igual o mejor que todas las dems soluciones en los vrtices; es decir, es ptima. La propiedad 1 significa que la bsqueda de la solucin ptima se puede reducir a la consideracin de slo las soluciones factibles en los vrtices, de manera que slo existe un nmero finito de soluciones que es necesario tomar en cuenta (propiedad 2). La propiedad 3 proporciona una prueba de optimalidad muy conveniente. El mtodo smplex explota estas tres propiedades al examinar nada ms unas cuantas soluciones factibles en vrtices prometedores y al detenerse en cuanto una de ellas pasa la prueba de optimalidad. En particular, se traslada repetidamente (en forma iterativa) de una solucin factible en un vrtice a otra, adyacente y mejor. Esto se puede realizar en forma muy eficiente hasta que la solucin actual no tiene soluciones factibles en vrtices adyacentes que sean mejores. Este procedimiento se resume como sigue: Bosquejo del mtodo smplex:
1. Paso inicial: inicio en una solucin factible en un vrtice. 2.

Paso iterativo: traslado a una mejor solucin factible en un vrtice adyacente. (Reptase este paso las veces que sea necesario).

3.

Prueba de optimalidad: la solucin factible en un vrtice es ptima cuando ninguna de las soluciones en vrtices adyacentes a ella sean mejores.

Este bosquejo muestra la esencia del mtodo smplex,. En el caso del ejemplo, al utilizar estas reglas de seleccin el mtodo smplex procede como sigue:
1. Paso inicial: comienza en (0,0).

2a. Iteracin 1: se mueve de (0,0) a (0,6) 2b. Iteracin 2: se mueve de (0,6) a (2,6).
3. Prueba de optimalidad: ni (0,6) ni (4,3) son mejores que (2,6), entonces se detiene,

(2,6) es ptima. Preparacin para el mtodo smplex. En el procedimiento algebraico es mucho ms conveniente manejar ecuaciones que desigualdades. As, el primer paso para preparar el mtodo smplex es convertir las restricciones funcionales de desigualdad en restricciones equivalentes. (Las restricciones de no negatividad se pueden dejar como desigualdades porque el algoritmo las usa slo indirectamente). Esta conversin se hace mediante la introduccin de variables de holgura. Considrese la primera restriccin funcional del ejemplo: x1 4 La variable de holgura para esta restriccin es x 3, que no es otra cosa que la holgura entre los dos lados de la desigualdad. Entonces: x1 + x3 = 4 La restriccin original x1 4 se cumple siempre que x3 0. Por tanto, x1 4 es totalmente equivalente al conjunto de restricciones x1 + x3 = 4 x3 0, y

de manera que se usar este conjunto por resultar ms conveniente. Al introducir variables de holgura en las otras restricciones en forma parecida, el modelo de programacin lineal original para este ejemplo se puede sustituir por el modelo equivalente:
Maximizar Z = 3x1 + 5x2, sujeta a x1 3x1 + 2x2 + 2x2 xj 0 x3 + x4 + x5 para j = 1, 2, , 5 = = = 4 12 18

Aun cuando este problema es idntico al anterior, esta forma es mucho ms conveniente para la manipulacin algebraica y la identificacin de las soluciones factibles en los vrtices. sta se llama la forma de igualdades del problema, para diferenciarla de la forma de desigualdades original y poder introducir la siguiente definicin: Una solucin aumentada es una solucin para un problema que originalmente se encontraba en forma de desigualdades y que se ha aumentado con los valores correspondientes de las variables de holgura para cambiar el problema a la forma de igualdades. Por ejemplo, al aumentar la solucin (3,2) en el ejemplo, se obtiene la solucin aumentada (3,2,1,8,5), puesto que los valores correspondientes de las variables de holgura son x3 = 1, x4 = 8, x5 = 5. Una solucin bsica es una solucin en un vrtice aumentada. Para ilustrar esto, considrese la solucin no factible en el vrtice (4,6) del ejemplo. Al aumentar con los valores obtenidos para las variables de holgura x 3 = 0, x4 = 0 y x5 = 6, se llega a la solucin bsica correspondiente (4,6,0,0, 6). Se permite que

las soluciones bsicas sean factibles o no factibles, lo que lleva a la siguiente definicin: Una solucin bsica factible es una solucin factible en un vrtice aumentada. As, la solucin factible en el vrtice (0,6) del ejemplo es equivalente a la solucin bsica factible (0,6,4,0,6) para la forma de igualdades del problema. Como los trminos solucin bsica y solucin bsica factible constituyen partes muy importantes del vocabulario normal de programacin lineal, es necesario aclarar sus propiedades algebraicas. Ntese que para la forma de igualdades del ejemplo, el sistema de restricciones funcionales tiene dos variables ms (cinco) que ecuaciones (tres). Este hecho proporciona dos grados de libertad al resolver el sistema, ya que se pueden elegir dos variables cualesquiera y hacerlas iguales a cualquier valor arbitrario para resolver las tres ecuaciones en trminos de las tres variables restantes (se excluyen redundancias). El mtodo smplex usa cero para este valor arbitrario. Las variables que por el momento se hacen iguales a cero se llaman variables no bsicas; todas las dems se llaman variables bsicas. La solucin que resulta es una solucin bsica. Si todas las variables bsicas son no negativas, entonces se tiene una solucin bsica factible. Para cualquier solucin bsica, la solucin en el vrtice correspondiente se obtiene simplemente al quitar las variables de holgura. Dos soluciones bsicas son adyacentes si todas menos una de sus variables son las mismas; la misma aseveracin se cumple para las variables bsicas. Entonces, trasladarse de una solucin bsica factible a una adyacente significa cambiar el estado de una variable de no bsica a bsica y viceversa para otra variable. En trminos generales, el nmero de variables no bsicas de una solucin bsica siempre es igual a los grados de libertad del sistema de ecuaciones y el nmero de variables bsicas siempre es igual al nmero de restricciones funcionales. Al trabajar con el problema en forma de igualdades, conviene tomar en cuenta y manipular la ecuacin de la funcin objetivo al mismo tiempo que las nuevas

ecuaciones de las restricciones. Antes de comenzar con el mtodo smplex es necesario escribir el problema una vez ms en su forma equivalente:
Maximizar Z, sujeta a Z 3x1 5x2 = + x3 = x1 + x4 = 2x2 + x5 = 3x1 + 2x2 para j = 1, 2, , 5 xj 0 0 4 12 18

Como la ecuacin de la funcin objetivo ya se encuentra en forma de igualdad, no necesita variable de holgura. Con esta interpretacin, las soluciones bsicas no cambian, excepto que Z puede verse como una variable bsica adicional permanente. A partir de este momento ya estamos listos para pasar los coeficientes de nuestro problema a lo que conoceremos como la Tabla Smplex:
Variable Bsica Z x3 x4 x5 Lado derecho 0 4 12 18

Z 1 0 0 0

x1 3 1 0 3

x2 5 0 2 2

x3 0 1 0 0

x4 0 0 1 0

x5 0 0 0 1

Cociente

Es ptima? (0, 0, 4, 12, 18) Z=0

La tabla anterior ilustra una propiedad clave que toda tabla smplex debe tener para estar en la forma apropiada; se trata del patrn especial de los coeficientes de las variables bsicas. En particular, ntese cmo las columnas de x 3, x4 y x5 (al igual que la columna de Z) contiene exactamente un +1 en el rengln que corresponde a esa variable bsica (vase la primera columna), y todos los dems coeficientes en esa columna son cero. De la misma manera, cada ecuacin contiene exactamente una variable bsica con coeficiente distinto de cero, en donde este coeficiente es +1. Esta propiedad es significativa, ya que permite identificar de inmediato la solucin bsica factible actual a partir de la tabla; esto es, cada variable bsica es igual a la constante del lado derecho de su ecuacin. Esta primera solucin bsica factible actual se muestra en la figura anterior en la columna de Es ptima?. De aqu en adelante, para

cada nueva iteracin del mtodo smplex mostraremos la solucin bsica factible actual en esta columna de la tabla smplex. (Recurdese que las variables no bsicas son iguales a cero). La tabla smplex inicial quedar automticamente en esta forma apropiada (a menos que el problema original de programacin lineal no est en nuestra forma estndar). El mtodo smplex construye una tabla smplex para cada solucin bsica factible que se obtiene, hasta alcanzar la solucin ptima. A continuacin describimos el procedimiento para problemas que ya estn en la forma estndar, con bi 0 para toda i = 1, 2, , m.
PASO INICIAL. Se introducen variables de holgura. Despus se seleccionan las

variables originales como variables no bsicas iniciales (se igualan a cero) y las variables de holgura como las variables bsicas originales. Esta seleccin lleva a la tabla smplex inicial anterior. Como esta tabla est en la forma apropiada, de inmediato se obtiene la solucin bsica factible inicial para el ejemplo, (0,0,4,12,18). Ahora debe realizarse la prueba de optimalidad para determinar si la solucin es optima.
PRUEBA DE OPTIMALIDAD. La solucin bsica factible actual es ptima si y slo si

todos los coeficientes de la ecuacin de la funcin objetivo (rengln de Z) son no negativos ( 0 ). Si es as, el proceso termina; de otra manera, se lleva a cabo otra iteracin para obtener la nueva solucin bsica factible, lo que significa el cambio de una variable no bsica por una bsica (parte 1) y viceversa (parte 2), y despus despejar las variables de la nueva solucin (parte 3). En este ejemplo, hay dos coeficientes negativos en la ecuacin de Z, 3 para x1 y 5 para x2 de manera que debe irse al paso iterativo. Tacharemos la solucin bsica factible actual como se muestra en la tabla anterior para indicar que esta solucin no es ptima.
PASO ITERATIVO.

Parte 1. Se determina la variable bsica entrante mediante la eleccin de la variable con el coeficiente negativo (automticamente se refiere a una variable no bsica) que tiene el mayor valor absoluto en la ecuacin de Z. Se enmarca la columna correspondiente a este coeficiente; esta columna recibe el nombre de columna pivote. En el ejemplo, el coeficiente negativo ms grande (en trminos de valor absoluto) es 5 para x2 (5>3), por lo que x 2 debe convertirse en variable bsica. Este cambio se indica en la siguiente tabla con el recuadro en la columna de x 2 abajo del 5:
Variable Bsica Z x3 x4 x5 Lado derecho 0 4 12 18

Z 1 0 0 0

x1 3 1 0 3

x2 5 0 2 2

x3 0 1 0 0

x4 0 0 1 0

x5 0 0 0 1

Cociente

Es ptima?

12/2 = 6 18/2 = 9

mnimo

Parte 2. Se determina la variable bsica que sale; para esto, a) se toma cada coeficiente estrictamente positivo (>0) de la columna enmarcada, b) se divide el lado derecho de cada rengln entre estos coeficientes, c) se identifica la ecuacin con el menor coeficiente y d) se selecciona la variable bsica para esta ecuacin. (Esta variable bsica es la que llega a cero primero cuando se incrementa la variable bsica entrante). Se enmarca el rengln de esta ecuacin en la tabla smplex sin incluir la columna Z y se le da el nombre de rengln pivote. El nmero que est en la interseccin de los dos recuadros se llama pivote. En la tabla anterior, se muestran los resultados de las partes 1 y 2 para el ejemplo (antes de enmarcar el rengln); la prueba del cociente mnimo para determinar la variable bsica que sale se muestra a la derecha de la tabla. Entonces la variable bsica que sale es x4. Parte 3. Se determina la nueva solucin bsica factible al construir una nueva tabla smplex en la forma apropiada, abajo de la que se tiene. Las primeras dos columnas no cambian, excepto que la variable bsica entrante sustituye a la variable bsica que sale en la columna de Variable Bsica. Para cambiar el coeficiente de la

nueva variable bsica en el rengln pivote a +1, se divide todo el rengln pivote entre el nmero pivote: Rengln pivote nuevo = Rengln pivote antiguo / pivote En este punto, la tabla smplex para el ejemplo se ve como la que se muestra enseguida. Para obtener un coeficiente 0 para la nueva variable bsica en las otras ecuaciones, cada rengln [inclusive el de la ecuacin de Z] excepto el rengln pivote, se cambia por la nueva tabla smplex usando la siguiente frmula: Rengln nuevo = rengln antiguo (coeficiente en la columna pivote rengln pivote nuevo) en donde el coeficiente en la columna pivote es el nmero en la columna pivote correspondiente a este rengln.

Variable Bsica Z x3 x4 x5 Z x3 x2 x5

Z 1 0 0 0 1 0 0 0

x1 3 1 0 3

x2 5 0 2 2

x3 0 1 0 0

x4 0 0 1 0

x5 0 0 0 1

Lado derecho 0 4 12 18

Cociente

Es ptima? (0, 0, 4, 12, 18) Z=0

1/2

Para ilustrar con el ejemplo, los nuevos renglones se obtienen de la forma siguiente: Rengln de Z: 3 (5) 0 Rengln nuevo = 3 5 1 0 0 0 0 0 1/2 5/2 0, 0, 0, 0 6 30

Rengln 1: Sin cambio porque su coeficiente en la columna pivote es cero. Rengln 3: (2) Rengln nuevo = 3 0 3 2 1 0 0 0 0 0 1/2 1 1, 0, 1, 18 6 6

Estos cambios llevan a la nueva tabla smplex que se muestra en la siguiente tabla iteracin 1:
Variable Bsica Z x3 x4 x5 Z x3 x2 x5 Lado derecho 0 4 12 18 30 4 6 6

para

la

Z 1 0 0 0 1 0 0 0

x1 3 1 0 3 3 1 0 3

x2 5 0 2 2 0 0 1 0

x3 0 1 0 0 0 1 0 0

x4 0 0 1 0 5/2 0 1/2 1

x5 0 0 0 1 0 0 0 1

Cociente

Es ptima? (0, 0, 4, 12, 18) Z=0

(0, 6, 4, 0, 6) Z = 30

Como las variables bsicas siempre son iguales al lado derecho de la ecuacin que le corresponde, la nueva solucin bsica factible es (0, 6, 4, 0, 6) con Z = 30. Este trabajo completa el paso iterativo, as que debe proseguirse a la prueba de optimalidad. Como la ecuacin de Z todava tiene coeficientes negativos (3 para x 1), la prueba de optimalidad indica que la solucin no es ptima, (lo cual se muestra en la figura anterior) por lo que manda al algoritmo de regreso al paso iterativo para obtener la siguiente solucin bsica factible. El paso iterativo comienza de nuevo en la tabla smplex actual para encontrar la nueva solucin. Si se siguen las instrucciones de las partes 1 y 2, se encuentra que x 1 es la variable bsica entrante y x 5 la variable bsica que sale, como se muestra en la siguiente tabla:
Variable Bsica Z x3 Lado derecho 30 4

Z 1 0

x1 3 1

x2 0 0

x3 0 1

x4 5/2 0

x5 0 0

Cociente

Es ptima?

4/1 = 4

(0, 6, 4, 0, 6)

x2 x5

0 0

0 3

1 0

0 0

1/2 1

0 1

6 6

Z = 30 6/3 = 2 mn.

En las siguientes tablas se muestra el conjunto completo de las tablas del mtodo smplex para este ejemplo. La nueva solucin bsica factible es (2, 6, 2, 0, 0), con Z = 36. Al hacer la prueba de optimalidad, se encuentra que la solucin es ptima porque no hay coeficientes negativos en la ecuacin de Z, de manera que el algoritmo ha terminado. En consecuencia, la solucin ptima para este ejemplo (sin tomar en cuenta las variables de holgura) es x1 = 2, x2 = 6.
Variable Bsica Z x3 x4 x5 Z x3 x2 x5 Z x3 x2 x1 Lado Cociente x4 x5 derecho 0 0 0 0 0 4 1 0 12 12/2 = 6 mn. 0 1 18 18/2 = 9 5/2 0 30 0 0 4 4/1 = 4 1/2 0 6 1 1 6 6/3 = 2 mn. 3/2 1 36 1/3 1/3 2 1/2 0 6 1/3 1/3 2

Z 1 0 0 0 1 0 0 0 1 0 0 0

x1 3 1 0 3 3 1 0 3 0 0 0 1

x2 5 0 2 2 0 0 1 0 0 0 1 0

x3 0 1 0 0 0 1 0 0 0 1 0 0

Es ptima? (0, 0, 4, 12, 18) Z=0

(0, 6, 4, 0, 6) Z = 30

(2, 6, 2, 0, 0) Z = 36 ptima

Anteriormente no se dijo qu hacer cuando las reglas de seleccin del mtodo smplex no llevan a una decisin clara, ya sea porque existen empates (valores iguales) o por otras ambigedades parecidas. Empate para la variable bsica entrante. El paso 1 de cada iteracin elige la variable bsica que tiene el coeficiente negativo con el mayor valor absoluto en la ecuacin de Z actual como la variable bsica entrante. Ahora suponga que dos o ms variables no bsicas tienen el coeficiente negativo ms grande (en valor absoluto), es decir, que hay un empate entre ellas. Por ejemplo, esto ocurrira en la primera iteracin del ejemplo anterior si se cambiara la funcin objetivo a Z = 3x1 + 3x2, con lo que la ecuacin del rengln de Z inicial sera Z3x13x2 = 0. Cmo debe romperse este empate?

La respuesta es que la eleccin entre estos dos contendientes se puede hacer de manera arbitraria. Tarde o temprano se llegar a la solucin ptima, sin importar cul de las variables empatadas se haya escogido, y no existe un mtodo conveniente para predecir cul lleva ah ms rpidamente. En este ejemplo ocurre que si se escoge x1 como variable entrante, el mtodo smplex alcanza la solucin ptima (2, 6) en tres iteraciones y si se elige x2, llega en dos. Empate para la variable bsica que sale degeneracin. Ahora suponga que el empate ocurre entre dos o ms variables bsicas al elegir la variable que sale en el paso 2 de una iteracin. Importa cul se escoge? En teora s, y en una forma crtica debido a que puede ocurrir la siguiente sucesin de eventos. Primero, todas las variables empatadas se hacen cero al mismo tiempo cuando aumenta el valor de la variable entrante. Por tanto, aquellas que no se eligieron como variable bsica que sale tambin tendrn un valor de cero en la nueva solucin bsica factible. (Las variables bsicas con valor de cero se llaman degeneradas y el mismo nombre se da a la solucin bsica factible correspondiente.) Segundo, si una de estas variables bsicas degeneradas sigue con valor de cero hasta que se selecciona como variable bsica que sale en una iteracin posterior, la variable bsica entrante deber tambin quedar con valor de cero (ya que no puede crecer sin que la variable bsica que sale se vuelva negativa), entonces el valor de Z permanecer sin cambio. Tercero, si Z permanece igual en lugar de mejorar cada iteracin, el mtodo smplex puede caer en un ciclo que repite la misma secuencia de soluciones peridicamente, en lugar de aumentar en algn momento para llegar a la solucin ptima. Por fortuna, aunque en teora es posible que haya ciclos perpetuos, ha sido en extremo raro que tenga lugar en problemas reales. Si ocurriera un ciclo siempre se puede salir de l cambiando la eleccin de la variable bsica que sale. Por lo tanto se recomienda romper los empates arbitrariamente y seguir el proceso sin preocuparse de las variables que puedan resultar. Cuando no hay variable bsica que sale Z no acotada.

Existe otra posibilidad en el paso 2 de una iteracin, de la que no se ha hablado: aquella en la que ninguna variable califica como variable bsica que sale. Esta situacin puede ocurrir si la variable bsica entrante puede crecer indefinidamente sin que ninguna de las variables bsicas actuales adquiera valores negativos. En la forma tabular, esto significa que todos los coeficientes en la columna pivote (se excluye el rengln de Z) son negativos o cero. Como se ilustra en la siguiente tabla, esta situacin surge cuando se considera el siguiente ejemplo:
Maximizar Z = 3x1 + 5x2, sujeta a y x1 4 x1 0, x2 0

En este ejemplo se ignoraron las dos ltimas restricciones funcionales del ejemplo resuelto anteriormente. Vea en la tabla que x 2 es la variable bsica entrante pero el nico coeficiente en la columna pivote es cero. Como la prueba del cociente mnimo usa slo coeficientes mayores que cero, no se cuenta con un cociente que proporcione una variable bsica que sale. La interpretacin de una tabla smplex como la que se muestra en la siguiente tabla es que las restricciones no impiden el crecimiento indefinido de la funcin objetivo Z, de manera que el mtodo smplex se detiene con el mensaje de que Z es no acotada. Debido a que ni siquiera la programacin lineal ha descubierto la manera de lograr ganancias infinitas, el mensaje real en problemas prcticos es: Se ha cometido un error! Tal vez el modelo est mal formulado, ya sea por haber omitido una restriccin relevante o por haberla establecido incorrectamente. De otra manera, pudo haber ocurrido un error en los clculos.

Variable Bsica

x1

x2

x3

Lado derecho

Cociente

Es ptima?

Z X3

1 0

3 1

5 0

0 1

0 4

Sin mnimo

Soluciones ptimas mltiples. En la definicin de solucin ptima se mencion que un problema puede tener ms de una solucin ptima. Si en el ejemplo cambiamos la funcin objetivo a Z = 3x 1 + 2x2 resulta que todos los puntos sobre el segmento de recta entre (2,6) y (4,3) son soluciones ptimas. Entonces todas las soluciones son un promedio ponderado de estas dos soluciones factibles en los vrtices ptimas: (x1, x2) = w1(2, 6) + w2(4, 3), donde los pesos w1 yw2 son nmeros que satisfacen las relaciones: w1 + w2 = 1 Por ejemplo, w1 = 1/3 y w2 = 2/3 da: (x1, x2) = 1/3(2, 6) + 2/3(4, 3) = (2/3+8/3, 6/3+6/3) = (10/3, 4) como una solucin ptima. En general, cualquier promedio ponderado de dos o ms soluciones (vectores) donde los pesos son no negativos y suman 1 se llama combinacin convexa de estas soluciones. Entonces, toda solucin ptima en el ejemplo es una combinacin convexa de (2, 6) y (4, 3). Este ejemplo es representativo de problemas con soluciones ptimas mltiples. Cualquier problema de Programacin Lineal con soluciones ptimas mltiples (y una regin factible acotada) tiene al menos dos soluciones factibles en los vrtices que son ptimas. Toda solucin ptima es una combinacin lineal de estas soluciones factibles en los vrtices ptimas. En consecuencia, en la forma aumentada, toda solucin ptima es una combinacin convexa de las soluciones bsicas factibles ptimas. y w1 0, w2 0

El mtodo smplex se detiene automticamente al encontrar una solucin bsica factible ptima. Sin embargo, en muchas aplicaciones de Programacin Lineal existen factores intangibles que no se incorporan al modelo y que pueden ser tiles para tomar decisiones significativas sobre las soluciones ptimas alternativas. En esos casos, tambin deben identificarse las otras soluciones ptimas. Esto requiere encontrar todas las dems soluciones bsicas factible ptimas, y entonces toda solucin ptima es una combinacin convexa de las soluciones bsicas factibles ptimas. Una vez que el mtodo smplex encuentra una solucin bsica factible ptima, se puede detectar si existen otras y, si as es, se encuentra como sigue: Siempre que un problema tiene ms de una solucin bsica factible ptima, al menos una variable no bsica tiene coeficiente cero en la ecuacin de Z final, de manera que si aumenta su valor, el valor de la funcin Z no cambia. Por lo tanto, estas otras soluciones bsicas factibles ptimas se pueden identificar (si se desea) realizando iteraciones adicionales del mtodo smplex, en las que cada vez se elige una variable no bsica con coeficiente cero como variable bsica entrante. Si una de estas iteraciones no tiene una variable bsica que sale esto indica que la regin factible es no acotada y la variable bsica entrante puede crecer indefinidamente sin cambiar el valor de Z.

Mtodo de la M o de Penalizacin.
Hasta este momento se han presentado los detalles del mtodo smplex con la suposicin de que el problema se encuentra en nuestra forma estndar (maximizar Z sujeta a las restricciones funcionales de la forma y restricciones de no negatividad sobre todas las variables) con b i 0 para toda i = 1, 2, ..., m. En esta seccin se establecer cmo hacer los ajustes requeridos a otras formas legtimas de modelos de Programacin Lineal. Se ver que todos estos ajustes se pueden hacer en el paso inicial, de manera que el resto del mtodo smplex se aplica justo como se aprendi.

El nico problema serio que introducen las otras formas de restricciones funcionales (= ) es identificar una solucin inicial bsica factible. Antes, esta solucin inicial se encontraba en forma muy conveniente al hacer que las variables de holgura fueran las variables bsicas iniciales, donde cada una era igual a la constante no negativa del lado derecho de la ecuacin correspondiente. Ahora debe hacerse algo ms. El enfoque estndar que se utiliza es estos casos es la tcnica de variables artificiales. sta construye un problema artificial ms conveniente introduciendo una variable ficticia (llamada variable artificial) en cada restriccin que lo requiera. Esta nueva variable se introduce slo con el fin de que sea la variable bsica inicial para esa ecuacin. Las restricciones usuales de no negatividad tambin se aplican sobre estas variables y la funcin objetivo se modifica para que imponga una penalizacin exorbitante en el caso de que adquieran valores mayores que cero. Las iteraciones del mtodo smplex automticamente fuerzan a las variables artificiales a desaparecer (a volverse cero) una a una, hasta que todas quedan fuera de la solucin; despus de esto se resuelve el problema real. Para ilustrar la tcnica de las variables artificiales, primero se considerar el caso en que la nica forma no estndar en el problema es la presencia de una o ms restricciones en forma de igualdad. Restricciones en forma de igualdad. En realidad, cualquier restriccin en forma de igualdad: ai1x1 +ai2x2 + . . . + ainxn = bi es equivalente a dos restricciones de desigualdad: ai1x1 + ai2x2 + . . . + ainxn bi, ai1x1 + ai2x2 + . . . + ainxn bi

Sin embargo, en lugar de hacer esta sustitucin e incrementar con ello el nmero de restricciones, es ms conveniente usar la tcnica de la variable artificial. Suponga que se modifica el problema de ejemplo presentado y resuelto en la seccin anterior. El nico cambio que sufre el modelo de programacin lineal es que la tercera restriccin, 3x1 + 2x2 18, se convierte en una restriccin de igualdad: 3x1 + 2x2 = 18 Aplicando la tcnica de las variables artificiales se introduce una variable artificial no negativa (denotada por x5) en la ltima ecuacin, como si fuera una variable de holgura: 3x1 + 2x2 + x5 =18 En resumen si tenemos una restriccin funcional en forma de igualdad y deseamos pasarla a su forma de igualdad , nicamente debemos sumar una variable artificial. Restricciones funcionales de la forma Para ilustrar la manera en que la tcnica de las variables artificiales maneja las restricciones de la forma usaremos el siguiente ejemplo:
Minimizar sujeta a Z = 0.4x1 0.3x1 0.5x1 0.6x1 x1 0, + + + + 0.5x2 0.1x2 0.5x2 = 0.4x2 x2 0

2.7 6 6

Notemos que la tercera restriccin es del tipo , por lo que para cambiarla a su forma de igualdad tendramos que restar una variable de supervit (o de excedente), quedando de la siguiente manera: 0.6x1 + 0.4x2 x5 = 6

Se ha restado la variable de excedente x5 (se utiliz x5 porque en la primera restriccin agregamos una variable de holgura que sera x 3 y en la segunda restriccin agregamos tambin una variable artificial que sera x 4; todo esto con el fin de convertir las desigualdades a su forma de igualdades) para que consuma el exceso de 0.6x 1 + 0.4x2, o sea, lo que se pasa de 6. No obstante en este caso debe agregarse otra variable. Esta variable extra, llamada variable artificial se aumenta como sigue: 0.6x1 + 0.4x2 x5 + x6 = 6 La razn de esto es que, si no se agrega la variable artificial, no se estaran cumpliendo las restricciones de no negatividad. Para comprenderlo, se dejar sin aumentar. El mtodo smplex comienza por hacer todas las variables reales (originales) iguales a cero. Entonces: 0.6x1 + 0.4x2 x5 = 6 Sea x1 = 0 y x2 = 0, entonces: x5 = 6 restriccin de no negatividad) La variable artificial opera para mantener todas las variables no negativas cuando 0.6x1 + 0.4x2 es menor que 6. Si x1 = 0 y x2 = 0, entonces x5 = 0 y 0.6x1 + 0.4x2 x5 + x6 = 6 x6 = 6 En resumen, una restriccin de la forma se convierte a su forma de igualdad restando una variable de excedente y sumando una variable artificial. Consideremos el siguiente problema: x 5 = 6 (que no cumple la

Maximizar sujeta a

2x2 3x1 + 2x2 = x1 0, x2 0

3x1 x1

5x2 4 12 18

Como explicamos anteriormente, para resolver este problema, debemos construir un problema artificial que tiene la misma solucin ptima que el problema real, haciendo dos modificaciones a este problema real. 1. Se aplica la tcnica de las variables artificiales introduciendo una variable artificial no negativa (denotada por x5) en la ltima ecuacin, como si fuera una variable de holgura: 3x1 + 2x2 + x5 =18 2. Se asigna una penalizacin enorme al hecho de tener x5 > 0, cambiando la funcin objetivo Z = 3x1 + 5x2 a: Z = 3x1 + 5x2 Mx5, donde M simblicamente representa un nmero positivo muy grande. Este mtodo que fuerza a x5 hasta el nivel de x5 = 0 en la solucin ptima se llama mtodo de la M. Nota: Para el caso de minimizacin, penalizamos a la variable artificial, hacindola aparecer en la funcin objetivo con un coeficiente de +M. Ahora se encuentra la solucin ptima para el problema real aplicando el mtodo smplex al problema artificial. Como x5 juega el papel de la variable de holgura en la tercera restriccin del problema artificial, esta restriccin es equivalente a 3x 1 + 2x2 18. En particular, el sistema de ecuaciones despus de aumentar el problema artificial (en otras palabras, pasarlo a su forma de igualdades) es:

Maximizar Z, sujeta a Z + Mx5 = 3x1 5x2 + x3 = x1 + = 2x2 x4 + x5 = 3x1 + 2x2 0 Para j = 1, 2, , 5 xj 0 4 12 18

En este momento estamos preparados para pasar los coeficientes a la tabla smplex:

Variable Bsica Z x3 x4 x5

Z 1 0 0 0

x1 3 1 0 3

x2 5 0 2 2

x3 0 1 0 0

x4 0 0 1 0

x5 M 0 0 1

Lado derecho 0 4 12 18

Cociente

Es ptima?

Esta tabla todava no est en la forma apropiada porque el coeficiente de x 5 es diferente de cero en la ecuacin de Z (es M). Por lo tanto, antes de que el mtodo smplex pueda aplicar la prueba de optimalidad y encontrar la variable bsica entrante, debe pasarse esta tabla a la forma apropiada para que cumpla la condicin smplex. Esta condicin que debe cumplir toda tabla del mtodo smplex para que pueda reportarnos la siguiente solucin bsica factible dice que: Toda variable bsica debe tener un 1 en la interseccin de su rengln y columna correspondiente y cero en los dems renglones incluido el rengln de Z, en otras palabras, que toda variable que sea bsica solamente debe aparecer en el rengln de la restriccin que representa. Para hacer cero el coeficiente M, utilizamos el rengln de x 5 como rengln pivote multiplicndolo por M y sumando el resultado al rengln de Z. Realizando el procedimiento anterior, la tabla smplex queda de la siguiente manera:
Variable Bsica Lado derecho

x1 1

x2 0

x3

x4

x5

Cociente

Es ptima? (0, 0, 4, 12, 18)

Z
x3

1
0

-3M-3 -2M-5

0
1

0
0

0
0

18M
4

Mx5 + Z

x4 x5

0 0

0 3

2 2

0 0

1 0

0 1

12 18

Z = 18M

Podemos observar que la tabla anterior ya se encuentra en la forma apropiada y podemos leer la solucin bsica factible actual, que es (0, 0, 4, 12, 18), la cual aplicando la prueba de optimalidad vemos que no es ptima ya que todava tenemos coeficientes negativos en el rengln de Z (los correspondientes a x 1 y x2). Aplicando el mtodo smplex a la tabla anterior tenemos: el coeficiente negativo con el mayor valor absoluto corresponde a x1 (3M3), recordemos que M es un nmero muy grande positivo, por lo tanto, x1 se convierte en la variable bsica entrante, realizando los cocientes correspondientes, vemos que x 3 se convierte en la variable bsica saliente. El procedimiento completo para resolver este ejemplo se muestra en el siguiente conjunto de tablas:

ariable Bsica

x1

x2

x3

x4

x5

Lado derecho

Cociente

Es ptima?

Z
x3 x4 x5

1
0 0 0

-3M-3
1 0 3

-2M-5
0 2 2

0
1 0 0

0
0 1 0

0
0 0 1

18M
4 12 18 18/3 = 6 (4, 0, 0, 12, 6) 12/2 = 6 6/2 = 3 4/1 = 4 6/3 = 2 (4, 3, 0, 6, 0) Z = 27 Z = 6M+12 4/1 = 4 (0, 0, 4, 12, 18) Z = 18M

Z
x1 x4 x5

1
0 0 0

0
1 0 0

-2M-5
0 2 2

3M+3
1 0 3

0
0 1 0

0
0 0 1
M+5/2

6M+12
4 12 6

Z
x1 x4 x2

1
0 0 0

0
1 0 0

0
0 0 1

9/2
1 3 3/2

0
0 1 0

27
4 6 3

0 1 1/2
M+1

Z
x1 x3 x2

1
0 0 0

0
1 0 0

0
0 0 1

0
0 1 0

3/2
1/3 1/3 1/2

36
2 2 6 (2, 6, 2, 0, 0) Z = 36 ptima

1/3 1/3 0

MINIMIZACIN con el mtodo smplex. Una manera directa de minimizar Z con el mtodo smplex es cambiar los roles de los coeficientes negativos y positivos en el rengln de la funcin objetivo, tanto para la prueba de optimalidad como para la parte 1 de una iteracin. Se determina la variable bsica entrante mediante la eleccin de la variable con el coeficiente positivo menor en la ecuacin de Z. La solucin bsica factible actual es ptima si y slo si todos los coeficientes de la ecuacin de la funcin objetivo (rengln de Z) son no positivos ( 0 ). Si es as, el proceso termina; de otra manera, se lleva a cabo otra iteracin para obtener la nueva solucin bsica factible, lo que significa el cambio de una variable no bsica por una bsica (parte 1) y viceversa (parte 2), y despus despejar las variables de la nueva solucin (parte 3). Notemos que no se ha dicho nada con respecto a la forma de obtener la variable bsica saliente en una iteracin, ya que este paso se realiza de la misma manera que cuando se est maximizando, es decir, se escoge aquella variable bsica con el menor cociente. Ilustremos la forma de utilizar el mtodo smplex para el caso de minimizacin. Consideremos el siguiente ejemplo:
Minimizar sujeta a Z = 3x1 + 8x2 + 4x2 x1 + 2x2 x1 x1 0, x2 0

4 2

Pasando este problema a su forma de igualdades aadiendo las variables necesarias, obtenemos lo siguiente:
Minimizar Z, sujeta a Z 3x1 8x2 Mx5 = + + = x1 4x2 x3 x4 + x5 = x1 + 2x2 0 para j = 1, 2, , 5 xj 0 4 2

Utilizando el mtodo de la M para obtener una solucin ptima por el mtodo smplex, obtenemos el siguiente conjunto de tablas:

Variable Bsica

x1

x2

x3

x4

x5

Lado derecho

Cociente

Es ptima?

Z
x3 x5

1
0 0

3
1 1 1 1

8
4 2 4 2

0
1 0

0
0 1

M
0 1

0
4 2

Z
x3 x5

1
0 0

M3 2M8 0
0 1

0
1 0

M
0 1

0
0 1

2M
4 2 4/1 = 4 2/1 = 2

(0, 0, 4, 0, 2) Z = 2M (2, 0, 2, 0, 0) Z=6 ptima

Z
x3 x1

1
0 0

2
2 2

0
1 0

3
1 1

M+3
1 1

6
2 2

Notemos que la primera tabla no se encontraba en la forma apropiada para el mtodo smplex, ya que el coeficiente de la variable bsica x5 era de M en el rengln de Z, lo cual hacia que no se cumpliera la condicin smplex.

2.6. Mtodo de las dos Fases.


En el ejemplo presentado en la seccin Restricciones funcionales de la forma , recordemos la funcin objetivo real: Problema real: Minimizar Z = 0.4x1 + 0.5x2

Sin embargo, el mtodo de la M utiliza la siguiente funcin objetivo a travs de todo el procedimiento: Mtodo de la M: Minimizar Z = 0.4x1 + 0.5x2 + Mx4 + Mx6

Como los dos primeros coeficientes (0.4 y 0.5) son despreciables comparados con M, el mtodo de dos fases puede eliminar la M usando las siguientes dos funciones objetivo que definen Z de manera completamente diferente: Mtodo de las dos fases: Fase 1: Fase 2: Minimizar Minimizar Z = x4 + x6 Z = 0.4x1 + 0.5x2 (hasta que x4 = 0 y x6 = 0). (con x4 = 0 y x6 = 0).

La funcin objetivo de la fase 1 se obtiene dividiendo la funcin objetivo del mtodo de la M entre M eliminando los trminos despreciables, en otras palabras, la fase 1 consiste en la minimizacin de la suma de todas las variables artificiales que se introduzcan en el problema. Como la fase 1 concluye al obtener una solucin bsica factible para el problema real (aquella en la que x 4 = 0 y x6 = 0), esta solucin se usa como la solucin bsica factible inicial para aplicar el mtodo smplex al problema real (con su funcin objetivo) en la fase 2. Antes de resolver el ejemplo de esta manera se har un resumen de las caractersticas generales. Resumen del mtodo de dos fases. Paso inicial: Se revisan las restricciones del problema original introduciendo variables artificiales segn se necesite para obtener una solucin bsica factible inicial obvia para el problema artificial. Fase 1: uso del mtodo smplex para resolver el problema de programacin lineal: Minimizar Z = de todas las variables artificiales, sujeta a las restricciones revisadas. La solucin ptima que se obtiene para este problema (con Z = 0) ser una solucin bsica factible para el problema real. Fase 2: se eliminan las variables artificiales (de todas formas, ahora todas valen cero). Comenzando con la solucin bsica factible que se obtuvo al final de la fase 1, se usa el mtodo smplex para resolver el problema real. Enseguida se resumen los problemas que deben resolverse por el mtodo smplex en las fases respectivas para el ejemplo.
Problema para la fase 1: Minimizar W = x 4 + x6 ,

sujeta a 0.3x1 + 0.1x2 + 0.5x1 + 0.5x2 0.6x1 + 0.4x2 x3 + x4 x5 + x6 = = = 2.7 6 6

y
x10 x20 x3 x40 x50 x60

Problema para la fase 2: Minimizar sujeta a 0.3x1 + 0.1x2 + 0.5x1 + 0.5x2 0.6x1 + 0.4x2 x3 x5 = = = 2.7 6 6 Z = 0.4x1 + 0.5x2,

y
x10 x20 x3 x50

Las nicas diferencias entre estos dos problemas se encuentran en la funcin objetivo y en la inclusin (fase 1) o exclusin (fase 2) de las variables artificiales x 4 y x6. Sin las variables artificiales, el problema para la fase 2 no tiene una solucin bsica factible inicial obvia. El nico propsito de resolver el problema para la fase 1 es obtener una solucin bsica factible con x 4 = 0 y x6 = 0 que se pueda usar como la solucin bsica factible inicial para la fase 2. Las siguientes tablas muestran el resultado de aplicar el mtodo smplex a este problema para la fase 1:
Lado derecho

ariable Bsica

x1

x2

x3

x4

x5

x6

Cociente

Es ptima?

W
x3 x4

1
0 0

0
0.3 0.5

0
0.1 0.5

0
1 0

1
0 1

0
0 0

1
0 0

0
2.7 6

x6

0.6

0.4

W
x3 x4 x6

1
0 0 0

1.1
0.3 0.5 0.6

0.9
0.1 0.5 0.4

0
1 0 0

0
0 1 0

1
0 0 1

0
0 0 1

12
2.7 6 6 2.7/0.3=9 6/0.5=12 6/0.6=10
9/0.33=27.2 1.5/0.33=4.5

(0,0,2.7,6,0,6) W = 12

W
x1 x4 x6

1
0 0 0

0
1 0 0

0.53
0.33 0.33 0.2

3.66
3.33 1.66 2

0
0 1 0

1
0 0 1

0
0 0 1

2.1
9 1.5 0.6 (9,0,0,1.5,0,0.6) W = 2.1

0.6/0.2=3
8.01/1.65=4.8 0.51/1.65=0.30

W
x1 x4 x2

1
0 0 0

0
1 0 0

0
0 0 1

1.64
6.63 1.64 10

0
0 1 0

1.65
1.65 1.65 5

2.65
1.65 1.65 5

0.51
8.01 0.51 3

(8.01,3,0,0.51,0,0)
W = 0.51

W
x1 x5 x2

1
0 0 0

0
1 0 0

0
0 0 1

0
5 0.99 5.05

1
1 0.60 3

0
0 1 0

1
0 1 0

0
7.5 0.3 4.5

(7.5,4.5,0,0,0.3,0)
W=0 ptima fase 1

Notemos que ya hemos obtenido una solucin ptima para la fase 1 que consisti en la minimizacin de la suma de todas las variables artificiales. Observemos tambin que la funcin objetivo W termin con un valor de cero en la ltima tabla, lo que indica que las dos variables artificiales (x 4 y x6) valen cero tienen valores recprocos y se cancelan mutuamente para dar cero. En nuestro caso, las dos variables artificiales valen cero ya que no se encuentran en la columna de las variables bsicas en la ltima tabla de la primera fase. La segunda fase consiste en resolver el problema original utilizando como tabla inicial de esta fase la ltima tabla de la primera fase pero sin considerar la columna de las variables artificiales ya que stas tomaron el valor de cero en la primera fase. El mtodo smplex aplicado a la segunda fase se muestra en el siguiente conjunto de tablas:
Variable Bsica Lado derecho Cociente

x1 1

x2 0

x3

x4

x5

x6

Es ptima?

Z
x1

1
0

0.4 0.5

0
5

0
1

0
0

0
0

0
7.5

x5 x2

0 0

0 0

0 1

0.99 0.60 3 5.05

1 0

1 0

0.3 4.5

Z
x1 x5 x2

1
0 0 0

0
1 0 0

0.5
0 0 1

2
5 0.99 5.05

0
0 1 0

3
7.5 0.3 4.5

Z
x1 x5 x2

1
0 0 0

0
1 0 0

0
0 0 1

0.52
5 0.99 5.05

0
0 1 0

5.25
7.5 0.3 4.5

(7.5,4.5,0,0,0.3,0)
Z = 5.25 ptima fase 2

Notemos que no fue necesario aplicar propiamente el mtodo smplex a la primera tabla de la segunda fase, ya que nicamente aplicando operaciones con matrices para tratar de llevar esta tabla a la forma apropiada para el mtodo smplex fue suficiente para resolver el problema planteado en la segunda fase. Es necesario aclarar que no siempre ocurrir de esta manera, es decir, si despus de dejar la tabla en la forma apropiada, es necesario aplicar el mtodo smplex, se debe aplicar como lo hemos estudiado. Nota: Independientemente de que el problema original (real) sea de maximizacin o minimizacin, la primera fase siempre consistir en la minimizacin de la suma de todas las variables artificiales.