Información Metodo Simplex

download Información Metodo Simplex

of 14

description

Información Metodo Simplex

Transcript of Información Metodo Simplex

MTODO SIMPLEXEl Mtodo Simplex publicado por George Dantzig en 1947 consiste en un algoritmo iterativo que secuencialmente a travs de iteraciones se va aproximando al ptimo del problema de Programacin Lineal en caso de existir esta ltima.La primera implementacin computacional del Mtodo Simplex es el ano 1952 para un problema de 71 variables y 48 ecuaciones. Su resolucin tarda 18 horas. Luego, en 1956, un cdigo llamado RSLP1, implementado en un IBM con 4Kb en RAM, admite la resolucin de modelos con 255 restricciones.El Mtodo Simplex hace uso de la propiedad de que la solucin ptima de un problema de Programacin Lineal se encuentra en un vrtice o frontera del dominio de puntos factibles (esto ltimo en casos muy especiales), por lo cual, la bsqueda secuencial del algoritmo se basa en la evaluacin progresiva de estos vrtices hasta encontrar el ptimo. Cabe destacar que para aplicar el Mtodo Simplex a un modelo lineal, este debe estar en un formato especial conocido como formato estndarel cual definiremos a continuacin.FORMA ESTNDAR DE UN MODELO DE PROGRAMACIN LINEALConsideremos un modelo de Programacin Lineal en su forma estndar, que denotaremos en lo que sigue por: Min c1x1 + c2x2 + ... + cnxn sa a11x1 + a12x2 + ...+ a1nxn = b1 a21x1 + a22x2 + ... + a2nxn = b2 ... ... ... am1x1 + am2x2 + ...+ amnxn = bm xi>= 0, i = 1, 2, ..., n y m = 0

No existe prdida de generalidad en asumir que un modelo de PL viene dado en su forma estndar: EJEMPLO P) Max 9u + 2v + 5z sa 4u + 3v + 6z=8 2u - 4v + z = 5 u,v>=0 zeIR1. Siempre es posible llevar un problema de maximizacin a uno de minimizacin. Sif(x)es la funcin objetivo a maximizar yx*es la solucin ptimaf(x*) >= f(x), para todo x factible.-f(x*) =0, i=1,2,3,4,5,6.

EJEMPLO:Resolver el siguiente problema de Programacin Lineal utilizando elMtodo Simplex: Max 40*X1 + 60*X2 s.a. 2*X1 + 1*X2 = 0como las respectivasvariables de holgurapara la restriccin 1, 2 y 3. De esta forma queda definida la tabla inicial del mtodo de la siguiente forma:X1X2X3X4X5

2110070

1101040

1300190

-40-600000

En esta situacin, las variables de holgura definen unasolucin bsica factible inicial, condicin necesaria para la aplicacin del mtodo. Luego, se verifican los costos reducidos de lasvariables no bsicas(X1 y X2 en la tabla inicial) y se escoge como variable queentra a la baseaquella con el costo reducido "ms negativo". En este caso,X2.Luego, para escoger que variable bsica deja la base debemos buscar el mnimo cuociente entre el lado derecho y los coeficientes asociados a la variable entrante en cada fila (para aquellos coeficientes > 0 marcados en rojo en la tabla anterior). El mnimo se alcanza en Min {70/1, 40/1, 90/3} =30asociado a la tercera fila, el cual corresponde a la variable bsica actualX5, en consecuencia,X5 deja la base. En la posicin que se alcanza el mnimo cuociente lo llamaremos"Pivote"(marcado con rojo) el cual nos servir para realizar las respectivas operaciones filas, logrando la siguiente tabla al cabo de una iteracin:X1X2X3X4X5

5/3010-1/340

2/3001-1/310

1/31001/330

-20000201800

El valor de la funcin objetivo luego de una iteracin ha pasado de 0 a 1.800. Se recomienda al lector hacer una representacin grfica del problema y notar como las soluciones factibles del mtodo corresponden a vrtices del dominio de puntos factibles.La actual tabla no corresponde a la solucin ptima del problema P) debido a que existe una variable no bsica con costo reducido negativo, por tantoX1 entra a la base. Posteriormente, mediante el criterio del mnimo cuociente calculamos la variable que debe dejar la base: Min {40/(5/3), 10/(2/3), 30/(1/3)} = 15, asociado a la fila 2 (variable bsica actual X4), por tantoX4 deja la base. Obtenido lo anterior se aplica una iteracin del mtodo:X1X2X3X4X5

001-5/21/215

1003/2-1/215

010-1/21/225

00030102100

Finalmente se alcanza la solucin ptima del problema P) y se verifica que los costos reducidos asociados a las variables no bsicas (X4 y X5 son mayores o iguals que cero). Notse que la existencia de un costo reducido igual a cero para una variable no bsica en esta etapa define un problema con "infinitas soluciones".

La solucin alcanzada esX1* = 15, X2* = 25 con V(P*) = 2.100. Adicionalmente, los costos reducidos asociados a las variables no bsicas definen el precio sombra asociado a las restricciones 1, 2 y 3, respectivamente, lo cual es equivalente a la obtencin del precio sombra mediante el mtodo grfico. Dejaremos para una posterior presentacin, la forma de calcular el intervalo de variacin para el lado derecho que permite la validez del precio sombra, utilizando la tabla final del Mtodo Simplex.MTODO SIMPLEX DE 2 FASESEsta estrategia se utiliza cuando no es inmediata una solucin bsica factible inicial en las variables originales del modelo.FASE 1: Se considera un problema auxiliar que resulta de agregar tantas variables auxiliares a las restricciones del problema, de modo de obtener una solucin bsica factible. Resolver por Simplex un problema que considera como funcin objetivo la suma de las variables auxiliares. Si el valor ptimo es cero, seguir a la Fase II, en caso contrario, no existe solucin factible.FASE 2: Resolver por Simplex el problema original a partir de la solucin bsica factible inicial hallada en la Fase I. P) Max2X1 + X2 sa10X1 +10X2 =1 X1, X2>=0Se debe agregar X3 como variable de holgura de la restriccin 1, X4 como variable de exceso de la restriccin 2 y X5 variable auxiliar para poder comenzar la Fase 1. (Ntese que solo agregando X3 como variable de holgura a la restriccin 1 y X4 como variable de exceso a las segunda restriccin no se obtiene una solucin bsica factible inicial, en particular X4=0La tabla inicial asociada a la Fase I queda en consecuencia definida de la siguiente forma:X1X2X3X4X5

10101009

1050-111

000010

Luego, se debe hacer 0 el costo reducido de X5, obteniendo la siguiente tabla inicial para hacer el uso de Simplex:X1X2X3X4X5

10101009

1050-111

-10-5010-1

Se escogeX1como variable que entra a la base al tener el costo reducido ms negativo. Posteriormente, mediante el criterio del mnimo cuociente se selecciona la variable que sale de la base: Min {9/10; 1/10} = 1/10,X5sale de la base:X1X2X3X4X5

0511-18

11/20-1/101/101/10

000010

Se obtiene la solucin ptima de la Fase I, con valor ptimocero. Luego iniciamos la Fase II del mtodo tomandoX1yX3como variables bsicas iniciales.FASE 2:Resolver por Simplex el problema original a partir de la solucin bsica factible inicial hallada en la Fase I.X1X2X3X4

05118

11/20-1/101/10

-2-1000

Hacemos cero los costos reducidos de las variables bsicas:X1X2X3X4

05118

11/20-1/101/10

000-1/51/5

X4entra a la base. Por el criterio del mnimo cuociente, el pivote se encuentra en la fila 1, por tantoX3sale de la base:X1X2X3X4

05118

111/1009/10

011/509/5

Donde la solucin ptima es:X1=9/10X2=0Con valor ptimoV(P) = 9/5.

CMO DETECTAR INFINITAS SOLUCIONES CON EL MTODO SIMPLEXUna de las posibilidades a las que nos podemos enfrentar cuando resolvemos un modelo de Programacin Lineala travs delMtodo Simplexes el caso de mltiples o infinitas soluciones ptimas. Esto significa que existe un tramo de soluciones factibles que reportan idntico valor para la funcin objetivo y que no es posible mejorar. En este contexto si luego de aplicar las iteraciones necesarias por el Mtodo Simplex a un modelo de Programacin Lineal (tabla ptima) se verifica que una variable no bsica tiene costo reducido igual a cero, esto permitir afirmar que estamos ante el caso de infinitas soluciones.Ejemplo Infinitas Soluciones ptimas Mtodo SimplexConsideremos el siguiente modelo de Programacin Lineal:

Llevamos el modelo a su forma estndar para proceder con la aplicacin del Mtodo Simplex, con S1 y S2 como variables de holgura de la restriccin 1 y 2, respectivamente.

La tabla inicial con S1 y S2 como variables bsicas iniciales es:

Y entra a la base. Luego para determinar la variable que deja la base utilizamos el criterio del mnimo cuociente:Min {12/4 ; 16/3} = 3 ==> S1 deja la base. Con esta informacin actualizamos la tabla:

Luego de una iteracin encontramos la solucin ptima, donde Y y S2 son variables bsicas. Lasolucin bsica factibleptimaesX=0 Y=3 S1=0 S2=7. El valor ptimo esV(P)=6. Notar que X (variable no bsica) tiene costo reducido igual a cero lo que determina la existencia de mltiples o infinitas soluciones ptimas, de modo que la solucin actual es uno de los vrtices ptimos.El siguiente diagrama muestra laResolucin Grficadel problema con el softwareGeogebradonde la solucin ptima que hemos encontrado en la aplicacin del Mtodo Simplex corresponde al vrtice B. Notar que la lnea punteada de color azul corresponde a las curvas de nivel de la funcin objetivo que tienen la misma pendiente que la restriccin 1 (pendiente -1/2).

Cmo podemos obtener el vrtice C que es solucin ptima a travs del Mtodo Simplex?Una alternativa sera forzando la entrada a la base de la variable X en la tabla ptima. Luego calculamos cul de las actuales variables bsicas deja la base segn el criterio del mnimo cuociente:Min {3/1/2 ; 7/5/2} = 14/5 ==> S2 deja la base. Actualizando la tabla obtenemos:

La nueva solucin ptima (con idntico valor ptimo) esX=14/5 Y=8/5 S1=0 S2=0, que corresponde al vrtice C en el grfico anterior. Ahora la variable no bsica S2 tiene costo reducido igual a cero en la tabla ptima que seala el caso de mltiples soluciones ptimas (en este ejemplo el tramo BC).CASOS ESPECIALES EN LA PROGRAMACIN LINEAL DETECTADOS CON EL MTODO SIMPLEXEn la resolucin de un modelo de Programacin Lineal se pueden enfrentar ciertos casos especiales que merecen particular atencin. Estos casos (infinitas soluciones ptimas,problema no acotado sin solucin ptima,problema infactible,solucin ptima degenerada) se pueden detectar a travs de la aplicacin delMtodo Simplexsegn hemos tratado previamente en el Blog. A continuacin un resumen de dichos escenarios:Infinitas Soluciones ptimas: Se detecta cuando luego de alcanzar una solucin bsica factible ptima,al menos una variable no bsica tiene costo reducido igual a cero. La siguiente imagen representa esta situacin donde la solucin ptima (infinitas) se alcanza en el tramo entre los vrtices B y C. En efecto se puede representar de forma general las soluciones ptimas como:con.

Problema No Acotado: En las iteraciones del Mtodo Simplex un problema no acotado se detecta cuando al calcular el criterio de factibilidad o mnimo cuociente que determina la variable que deja la base,todas las entradas en la columna de la variable no bsica entrante son negativas o cero, por tanto no existe denominador vlido (mayor a cero) que permita determinar el pivote. En la siguiente representacin grfica se puede apreciar que las curvas de nivel de la funcin objetivo crecen en la direccin del vector gradiente, donde en particular el dominio de soluciones factibles es no acotado para los valores que puede adoptar la variable.

Es importante destacar que el hecho que un dominio de soluciones factibles sea no acotadono implica necesariamenteque el problema de Programacin Lineal no tiene solucin.Problema Infactible: Si al finalizar la Fase I del Mtodo Simplex de 2 Fases el valor de la funcin objetivo esdistinto a cero, entonces el problema lineal es infactible, es decir, el dominio de soluciones factibles es vaco al existir restricciones incompatibles (por ejemplo en el grfico a continuacin el rea azul no se intersecta con el rea color rojo).

Solucin ptima Degenerada: Cuando se presenta un empate en el clculo de la condicin de factibilidad del Mtodo Simplex, al menos una variable bsica ser cero en la siguiente iteracin, caso en el cual se dice que la nueva solucin es degenerada. Esto implica que el modelo tiene al menos una restriccin redundante.

TEOREMA DE HOLGURAS COMPLEMENTARIAS (DUALIDAD EN PROGRAMACIN LINEAL)Uno de los teoremas principales en la teora de dualidad enProgramacin Lineales elTeorema de Holguras Complementarias. Dicho teorema nos permite encontrar la solucin ptima del problema dual cuando conocemos la solucin ptima del problema primal (y viceversa) a travs de la resolucin de un sistema de ecuaciones conformado por las variables de decisin (primala y dual) y las restricciones (del modelo primal y dual).La importancia de este teorema radica en que facilita la resolucin de los modelos de optimizacin lineal, permitiendo a quin los resuelve buscar el modelo ms sencillo para abordar (desde el punto de vista algortmico) dado que de cualquier forma podr obtener los resultados del modelo equivalente asociado (sea ste el modelo primal o dual).Ejemplo Teorema de Holguras ComplementariasConsideremos el siguiente modelo de Programacin Lineal (en adelante primal) en 2 variables cuya solucin ptima esX=14/5eY=8/5con valor ptimoV(P)=20,8.

El modelo dual asociado al modelo primal es: (ante dudas de cmo pasar del problema primal al problema dual se recomienda revisar el artculoRelaciones de Dualidad en Programacin Lineal (Cmo pasar de Primal a Dual))

Luego, el teorema de holguras complementarias plantea las siguientes relaciones:

Como sabemosX=14/5eY=8/5(solucin bsica factible ptimadel modelo primal). Si reemplazamos estos valores de X e Y en la tercera y cuarta ecuacin generamos un sistema de ecuaciones de 22 en trminos de A y B cuya solucin corresponde aA=6/5yB=2/5(solucin ptima del modelo dual). Si posteriormente evaluamos en la funcin objetivo del problema dual dicha solucin obtenemos:V(D)=12(6/5)+16(2/5)=20,8que es similar al valor ptimo del problema primal (Teorema de Dualidad Fuerte).SiendoA=6/5yB=2/5una solucin factible para el problema dual, sta es la solucin ptima de dicho problema.Observaciones:Notar que la restriccin 1 y 2 del problema primal son activas en el ptimo, es decir, se cumplen en igualdad. Esto permite descartar que A y B (variables duales asociadas a dichas restricciones) son iguales a cero. Si por ejemplo, la restriccin 1 del modelo primal no fuese activa en el ptimo se podra afirmar que A es igual a cero en el dual.