You are on page 1of 25

MDULO 2: Mtodo SMPLEX

PROGRAMACIN LINEAL: EL MTODO SIMPLEX


2.1 INTRODUCCIN
La mayora de los problemas del mundo real contienen ms de dos variables de decisin, dichos problemas son resueltos mediante el mtodo o algoritmo (procedimiento matemtico repetitivo) simplex, o alguna variable de l. Este mtodo fue creado por George Dantzig en los ltimos aos de la dcada de los cuarenta. Desde entonces, Dantzig y otros han continuado su desarrollo, especialmente para ciertas aplicaciones.

Visin general del mtodo simplex


El mtodo simplex puede sintetizarse en la siguiente forma: es un mtodo matricial que consiste en dos fases. La primera fase radica en encontrar una solucin inicial y la segunda fase consiste en probar si esa solucin es ptima; si esta solucin no es ptima buscamos otra solucin y probamos nuevamente para ver si la nueva solucin es ptima. Si sta solucin tampoco lo es, el mtodo se repite hasta encontrar la ptima. Es un mtodo algebraico sistemtico que examina las esquinas (tambin llamados vrtices o puntos extremos) de un conjunto factible de programacin lineal en busca de la mencionada solucin ptima.

2.2 Algunos conceptos bsicos


Conjunto Convexo
Un conjunto de puntos S es un conjunto convexo, si el segmento rectilneo que une cualquier par de puntos de S, se encuentra completamente en S.

Como puede apreciarse en las figuras anteriores a y b, son convexos y la figura c es no convexa. Para cualquier conjunto convexo S, un punto P es un punto extremo si para cada segmento rectilneo que se encuentra completamente en S y que pasa por P, P es un extremo del segmento rectilneo.

Vectores linealmente independientes


Un conjunto de r vectores , , , son linealmente independiente si:

Implica que

; dnde las

son nmeros reales.

Combinacin lineal convexa de vectores


Una combinacin lineal convexa de r vectores es otro vector V, tal que:

Con la condicin de que los

para

Por ejemplo para el caso de dos dimensiones, si realizamos una combinacin lineal convexa de dos vectores obtendremos como resultado un punto (vector) que pertenece al segmento de recta que los une. Grficamente:

Para un problema de PL, en forma estndar, con m ecuaciones de restriccin y n variables incluidas las de holgura o excedente, enunciamos los siguientes conceptos respecto al conjunto de soluciones del problema: Solucin factible o posible de un PL (SF) Es un conjunto de valores de las variables Solucin Factible Bsica (SFB) Es toda solucin factible que tiene como mximo m variables positivas; o lo que es lo mismo, tiene n-m valores de las variables nulos. El nmero mximo de soluciones bsicas es: que verifican el sistema de restricciones incluidas las de no negatividad.

Solucin Factible Bsica No Degenerada Tiene exactamente m variables positivas, o exactamente n-m variables nulas. Solucin Factible Bsica Degenerada Tiene menos de m variables positivas, o ms de n-m variables nulas. Solucin ptima: Es toda solucin que le da a la funcin Z el mximo (o mnimo) valor.

2.3 Observaciones sobre el conjunto de soluciones de un PL


Veamos el siguiente problema de PL (programacin lineal)

Si lo resolvemos grficamente obtenemos:

La solucin ptima es: { Veamos el grfico y analicemos algunas soluciones (la lnea que est en rojo corresponde a la funcin objetivo). La cantidad de soluciones posibles a nuestro problema es infinita y est determinada por la zona sombreada de color verde. Una caracterstica del mtodo simplex es que trabaja con soluciones o puntos extremos y la solucin ptima se encuentra en uno de ellos, es decir, que estos puntos que se encuentran donde se cortan dos restricciones o bien cuando una restriccin corta algunos de los ejes. Los puntos A (donde se corta con ) y B (donde se corta con eje ) son soluciones bsicas factibles, son soluciones bsicas porque se encuentran en un punto extremo y son factibles porque pertenecen a la regin factible (zona sombreada de verde). El punto D es una solucin no bsica y factible, es no bsica porque no es punto extremo y factible por que se encuentra dentro del polgono de soluciones (regin factible). Y el punto C (donde se corta con eje ) es una solucin bsica no factible. Es bsica porque es punto extremo y es no factible porque se encuentra por fuera de la regin factible.

Considerando lo analizado hasta el momento, podemos hacer las siguientes observaciones:

Para cumplir con las restricciones de no negatividad de las variables, grficamente se trabaja siempre en el primer cuadrante El poliedro de soluciones es un conjunto convexo. Los puntos que resulta necesario considerar para buscar el ptimo, son los que se encuentran sobre la frontera de la regin factible. En particular podemos observar que si el PL tiene solucin, sta se encontrar en, al menos, uno de los vrtices. Se puede obtener la solucin en cada vrtice resolviendo en forma simultnea las ecuaciones lineales que lo determinan. Las soluciones factibles en los vrtices son soluciones factibles bsicas. Todos los puntos del poliedro de soluciones verifican las restricciones, es decir que el problema tiene infinitas soluciones factibles. En todo punto situado sobre una recta no hay sobrante de insumos. En las ecuaciones determinantes del ptimo (restricciones limitantes), no hay sobrantes de insumos, por lo tanto, las variables de holgura son nulas. En las ecuaciones no determinantes del ptimo (restricciones no limitantes) siempre hay sobrantes de insumos, o sea, las variables de holgura son positivas. Si el funcional verifica su mximo valor en un nico vrtice del poliedro, significa que el problema tiene una nica solucin ptima. Si z fuera paralela a una restriccin limitante, el problema tendra infinitas soluciones ptimas. Si el ptimo se verifica en un vrtice donde se cruzan 3 o ms rectas de restriccin, la solucin ptima es degenerada.

2.4 Teoremas de combinaciones lineales convexas de soluciones factibles


Expresaremos una serie de teoremas relacionados con las soluciones factibles de los problemas lineales, los que resultarn de utilidad en desarrollos posteriores.

Teorema 1
"Toda combinacin lineal convexa de soluciones factibles, es otra solucin factible". Para demostrarlo partimos de un PL estndar matricial:

Sean

r vectores soluciones del PL, por lo tanto se verificar:

Si multiplicamos miembro a miembro las ecuaciones del sistema (1) por escalares la condicin que, y Tendremos: ,

, respectivamente, con

Sumando miembro a miembro: De donde, Siendo, El vector resultante de la combinacin convexa, Ser tambin una solucin factible del PL, es decir: En consecuencia queda demostrado el teorema. Corolario del teorema 1: el conjunto de todas las soluciones factibles de un PL, si no es vaco, es un conjunto convexo. Es decir que, si no es vaco, est formado por un nico elemento o por una infinidad".

Teorema 2
"Si existe ms de una solucin factible que le d el mismo valor a la funcin objetivo, cualquier combinacin lineal convexa de las mismas, dar al funcional igual valor. La demostracin de este teorema es similar al anterior. Partimos de un PL en forma estndar matricial:

Sean

r vectores soluciones del PL que dan a la funcin objetivo igual valor, por lo tanto se verificar:

Si multiplicamos miembro a miembro las ecuaciones del sistema (3) por escalares la condicin que, y , Tendremos:

, respectivamente, con

Si ahora sumamos miembro a miembro, obtendremos: De donde, Como, Tendremos que el vector resultante de la combinacin convexa

Es tambin una solucin factible del PL que otorga a la funcin de decisin el mismo valor

, es decir:

En consecuencia, de acuerdo a los teoremas 1 y 2, podemos afirmar que cualquier combinacin convexa de soluciones factibles ptimas es tambin una solucin factible ptima. Por lo cual, respecto al conjunto de soluciones factibles ptimas decimos que es un conjunto convexo, que si no es vaco, est formado por un elemento o por una infinidad.

Teorema 3
"Si un PL puede ser resuelto - es decir que posee ptimo existir siempre por lo menos una solucin factible bsica que tambin sea ptima".

2.5 Mtodo simplex


Este mtodo, permite encontrar la solucin ptima de cualquier programa lineal, cualquiera sea el nmero de variables y ecuaciones que lo forman, e identificar aquellos problemas que no tienen solucin, o cuya solucin ptima es no acotada. El algoritmo parte de una solucin bsica inicial, y a travs de sucesivas iteraciones, explora sistemticamente los vrtices del poliedro de soluciones del Programa Lineal hasta identificar la solucin ptima. Si bien con posterioridad, se han desarrollado mtodos que tericamente son ms eficientes en tiempo computacional para problemas de gran tamao, Simplex ha demostrado en la prctica, un mejor desempeo en la mayora de los casos, razn por la cual es an el de mayor difusin. El mtodo Simplex tiene en cuenta las siguientes propiedades de los puntos extremos o soluciones factibles bsicas: 1. Ubicacin grfica de la solucin ptima: A) Si existe exactamente una solucin ptima, entonces debe ser una solucin de punto extremo. B) Si existen soluciones ptimas mltiples, entonces al menos dos de ellas deben ser soluciones factibles en puntos extremos adyacentes (slo se consideran las soluciones factibles). 2. Existe slo un nmero finito de puntos extremos (soluciones factibles bsicas). 3. Si una solucin en un vrtice es igual o mejor (segn el valor de la funcin objetivo) 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. Recordemos que grficamente, cada vrtice se forma por la interseccin de las rectas representativas de las restricciones y que los valores de las variables para cada punto extremo, se encuentran resolviendo en forma simultnea las ecuaciones de restriccin correspondientes a ese vrtice. A su vez, cada punto extremo o vrtice corresponde a una solucin posible bsica del problema. El mtodo Simplex, basndose en estas conclusiones generales, analiza sistemticamente los puntos extremos de la regin factible hasta identificar el punto ptimo. Asegurndose en cada paso que el vrtice analizado no es peor que el anterior, esto es, que le d a la funcin objetivo un valor mejor o al menos igual que el anterior.

Pasos del mtodo simplex


Teniendo en cuenta lo expresado en el Teorema 3, el algoritmo Simplex busca el ptimo de un problema de PL recorriendo algunos de los vrtices del poliedro del conjunto de soluciones factibles de manera que el valor de la funcin objetivo mejore en cada desplazamiento. Es decir que analiza las soluciones posibles bsicas del problema hasta encontrar la ptima, resolviendo en cada paso un sistema de m ecuaciones con n variables. El mtodo consiste fundamentalmente en dos fases: En la primera fase se identifica una solucin posible bsica que sirva de punto de partida. En la segunda fase o fase iterativa se analiza si dicha solucin es o no ptima, y si no lo es, a partir de ella se encuentra una mejor.

El Simplex trabaja con tablas o cuadros, cada uno de ellos corresponde a un punto extremo o vrtice del conjunto de soluciones factibles, es decir a una solucin posible bsica. Las tablas resumen toda la informacin necesaria de cada solucin.

Primera Fase: identificacin de una solucin factible bsica.


Los pasos a seguir en esta etapa son: 1. Convertir el modelo a su forma estndar: Esto se logra a. sumando una variable de holgura al lado izquierdo de las restricciones de < y b. restando una variable de excedente en los primeros miembros de las restricciones de >. c. Estas variables debern interpretarse de acuerdo al significado de la restriccin de que se trate, sin embargo, en la funcin objetivo llevan un coeficiente nulo ya que no agregan nada al objetivo. 2. Analizar la matriz de coeficientes del sistema de ecuaciones de restriccin y ver si en ella existen m vectores unitarios con configuracin de matriz identidad: a. Las variables cuyos coeficientes tcnicos se corresponden con la submatriz identidad, sern las variables consideradas bsicas en la solucin inicial y b. sus valores en la solucin sern los trminos independientes de las restricciones . c. El resto de las variables sern consideradas no bsicas y, por tanto, su valor en la solucin ser cero. d. Si la matriz A no contiene una submatriz identidad o existe algn componente negativo en el vector B, no se puede determinar en esta instancia una solucin factible bsica inicial y por lo tanto no es posible comenzar con Simplex. 3. Armar la tabla de partida: tomando como a. solucin bsica inicial la correspondiente a los vectores unitarios identificados en la etapa anterior.

Segunda fase: mejoramiento de la solucin


1. Anlisis de la solucin: analizar si la solucin hallada se puede mejorar, para ello analizar las diferencias . Estos valores miden el incremento de la funcin objetivo ante un aumento unitario en el valor de cada una de las variables no bsicas. Por lo tanto: Si una variable no bsica que tenga asociado un ingresa a la base, el valor de Z aumentar. Si una variable no bsica que tenga asociado un ( Si una variable no bsica que tenga asociado un ( ) ) ingresa a la base, el valor de Z disminuir. ingresa a la base, el valor de Z no se alterar.

Como consecuencia de lo anterior, la prueba de optimidad dice: En problemas de maximizacin, la solucin es ptima si todas las diferencias ( En problemas de minimizacin, la solucin es ptima si todas las diferencias ( ) son ) son . .

2. Variable de entrada: determinar la variable que ingresar a la base. La variable que entra a la base debe ser aquella que tenga el mayor incremento positivo en el caso de maximizacin (o mayor incremento negativo en el caso de minimizacin), ya que sta es la variable que aumenta (disminuye) ms rpidamente el valor de la funcin objetivo. Entonces: Si Z es de Maximizacin, ingresa la variable que verifica mayor diferencia marginal . Si Z es de Minimizacin, ingresa la variable que verifica menor diferencia marginal ( . ) 3. Variable de salida: para determinar la variable que sale de la base, se selecciona aquella que tenga el menor cociente entre su valor en la solucin actual y el coeficiente (siendo k la variable que entra) siempre y cuando dicho coeficiente sea estrictamente positivo, es decir:

Este cociente representa el mximo valor que puede tomar la variable entrante, antes que viole la restriccin de no negatividad. Si todos los la solucin es no acotada. Esto significa que la funcin objetivo podra incrementar (disminuir) infinitamente su valor. Esta situacin es prcticamente imposible en la realidad, por lo cual corresponde detener el proceso de clculo y revisar la modelizacin del problema. 4. Actualizacin: se debe actualizar la tabla, mediante operaciones elementales en filas. 5. Criterio de detencin: el proceso se detiene cuando: Si Z es de Maximizacin: ( ) Si Z es de Minimizacin: ( )

Para alguna variable no bsica que pueda entrar a la base se verifica que todos los ij son 0

2.6a. Caso de aplicacin


Veamos un ejemplo:

Lo primero que debemos hacer es llevar nuestro problema de programacin lineal a la forma estndar, esto es transformar las inecuaciones en ecuaciones. Para ello: en el caso de las restricciones de menor e igual le vamos a sumar una cierta cantidad al lado izquierdo para igualar este lado con el derecho de la restriccin. Como no sabemos cul es esa cantidad ya que depende del valor de las variables de decisin, le vamos a sumar entonces una cantidad variable que vamos a llamar S. Esta variable se denomina variable de holgura y est asociada a los recursos, su definicin es muy importante ya que representa la cantidad sobrante del recurso en cuestin. Entonces como tenemos tres restricciones de menor e igual le agregamos una variable de holgura a cada restriccin, y como son cantidades distintas estas son distintas. Para diferenciarlas las vamos a llamar y nos queda de la siguiente manera:

Lo que tenemos aqu no es ni ms ni menos que un sistema de ecuaciones, en la cual tiene cinco variables y tres ecuaciones. Este forma un sistema que al tener ms variables que ecuaciones nos determina un sistema compatible indeterminado, es decir que tiene infinitas soluciones. Observando el grfico las infinitas soluciones est dado por la regin factible (regin sombrada).

El mtodo simplex no analiza esta infinita cantidad de soluciones posibles sino que trabaja con las soluciones bsicas y stas se encuentran en los puntos extremos del grfico (recuerden que una solucin bsica se obtiene haciendo n-m variables iguales a cero y calculando las otras, en nuestro caso va a haber dos variables iguales a cero). Vayamos a nuestro ejemplo, aplicando la frmula de combinatoria podemos calcular la cantidad de soluciones bsicas,

A cada una de estas soluciones las podemos encontrar en el grfico (puntos grandes), donde se cortan dos restricciones o bien donde una restriccin corta a cada eje. Veamos nuevamente el grfico para identificarlas. Podemos analizar cada una de estas soluciones, para ello construiremos la siguiente tabla: Sol. 1 2 3 4 5 6 7 8 9 10 0 0 0 0 1.000 400 500 250 0 400 800 500 0 0 0 300 2.000 0 -2.000 -500 0 1.200 1.000 0 800 400 0 300 -1.200 0 -200 0 133,33 0 500 100 -300 0 -500 100 0 -50 0 0 0 16.000 ---28.000 --Observaciones Solucin bsica factible no ptima Solucin bsica factible no ptima Solucin bsica no factible Solucin bsica no factible Solucin bsica no factible Solucin bsica factible no ptima Solucin bsica no factible Solucin bsica no factible

166,66 333,33 0 300 200 400

16.999,89 Solucin bsica factible no ptima 29.000 Solucin bsica factible ptima

De las ecuaciones que habamos formado a partir de las restricciones, agregamos la funcin objetivo, incorporamos las variables de holgura a esta ltima con coeficiente cero para que no la altere y obtenemos lo que se llama forma estndar del problema de programacin lineal.

70 Sol. 2.000 800 500 A la altura del rengln 2 2 1

40

5 1 1

1 0 0

0 1 0

0 0 1

, vamos a colocar los coeficientes de la funcin objetivo para cada una de las variables.

Por columna tenemos el vector solucin (en la tabla a la altura de sol.), que corresponde al lado derecho de las restricciones y van a corresponder al valor de las variables que no son cero (recuerde que el mtodo simplex trabaja con soluciones bsicas y para obtenerlas se deben hacer dos variables iguales a cero, y las vamos a llamar variables no bsicas). A la altura de sol por rengln tenemos identificadas las variables y por debajo tenemos cada uno de los coeficientes de las restricciones. Como hemos dicho anteriormente el mtodo simplex arranca con una solucin bsica inicial, resultndole ms conveniente hacer las variables principales del problema iguales a cero ( y ), con lo cual del sistema de ecuaciones obtenemos , y . Que corresponde al punto de origen del grfico y la solucin 1 de la tabla con un valor de (valor sombreado a la altura de la columna Sol. y fila . Vamos a pasar a completar la primera tabla del simplex que habamos comenzado con el resto de la informacin. 70 0 0 0 Sol. 2.000 800 500 -2 2 1 0 70 40 5 1 1 0 40 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0

{ Agregamos el vector que corresponde al vector de las variables que no son cero en esta primera solucin bsica, de ahora en ms las vamos a llamar variables bsicas (porque estn a la base). es un vector columna conformado por los coeficientes de la funcin objetivo de las variables que estn a la base. Por otro lado hemos adicionado el rengln que se calcula haciendo la suma producto del vector por cada uno de los vectores columnas correspondiente, por ejemplo a la altura del vector solucin tenemos: 0*2.000+0*800+0*500 = 0 y corresponde al valor de Z de esta solucin.

El rengln es la prueba que realiza el mtodo para saber si esta solucin es la ptima o no, si en ese rengln existe un valor positivo significa que la solucin no es la ptima (como se observa en la tabla hay ms de un valor positivo), si bien de antemano sabamos que no era el ptimo porque lo vimos a travs del mtodo grfico.

Entonces encontramos una solucin, que le llamamos solucin inicial y a partir de cual simplex comienza a trabajar. El siguiente paso consiste en encontrar otra solucin, para ello vamos a sacar unas de las variables que estn a la base (variables que tienen un valor positivo, esto es, ) y reemplazarla por que corresponde a la variable que ingresa en el prximo paso). Intuitivamente si analizamos la funcin objetivo, vemos que nos conviene hacer positivo y lo ms grande posible el valor de la variable , ya que es la que tiene mayor coeficiente en la funcin objetivo con lo cual nos hara aumentar ms rpidamente esta funcin y como se trata de un problema de maximizacin resulta lo ms conveniente. Si vamos a la tabla del simplex nos fijamos en el rengln encontramos como valor ms positivo a 70 que est a la altura de lo que nos indica que en la prxima tabla es la variable de ingreso. Para saber cual es la variable que sale de la base se realiza lo que se conoce como prueba de la razn, y consiste en hacer el cociente entre el vector solucin y el vector columna de la variable que ingresa y tomar el mnimo. Considerando el mnimo de nos aseguramos de que ninguna de las variables que esta a la base se vuelva negativa, ya que sera un error gravsimo por la condicin de no negatividad encontrar un (vector solucin) negativo.

70 0 0 0 Sol. 2.000 800 500

40

2 5 1 0 0 2 1 0 1 0 1 1 1 0 1 0 0 0 0 0 -70 40 0 0 0 El valor ms chico es que est a la altura del rengln de , indicando que esta es la variable que se va a de la base en el prximo paso y en su lugar entra . En este caso representa el valor que va a tener en la prxima tabla. Para obtener la prxima solucin directamente de la tabla de simplex, vamos a tener que trasladar el vector unitario que est a la altura de la variable que se va de la base ( ) a la posicin de la columna de . Esta operacin no se puede realizar en un mero acto de movimiento fsico, si no que se debe realizar a travs de operaciones elementales de matrices. Recordemos estas tres operaciones: 1) Se pueden intercambiar de posicin dos filas o columnas, 2) Se puede multiplicar a los elementos de una fila por una constante distinta de cero y 3) Una fila se le puede sumar otra fila previamente multiplicado por una constante distinta de cero .

El elemento que est en la interseccin de la fila de la variable que sale con la columna de la variable entrante se la denomina elemento pivot y es el elemento que en el prximo paso o iteracin va a tomar el valor de 1, y es por esta fila por la que comenzamos a trabajar. Entonces para hacer 1 el elemento pivot vamos a multiplicar toda la fila por (operacin 2) y obtendremos lo siguiente:

70 0 0 0 Sol. 2.000 800 500 -70 400 2 2 1 0 70 1

40 5 1 1 0 40

0 1 0 1 0 0 0

0 0 1 0 0 0

0 0 0 1 0 0 0

Ahora debemos hacer cero los elemento que estn por encima y por debajo del elemento pivot, para ello nos vamos a valer de la operacin 3. Tomamos la nueva fila calculada, la multiplicamos por el elemento opuesto al que queremos hacer cero y la sumamos a la primera fila de la tabla de simplex original. Entonces para nuestro ejemplo sera la primera nueva fila (la llamamos ), que es la nueva fila que queremos calcular) resulta de tomar la fila 2 nueva calculada (la lamamos ) la multiplicamos por el elemento opuesto que queremos hacer cero (en este caso -2) y la sumamos la primera fila de la primera tabla de simplex (que la llamamos F1) en resumen:

Para la tercera fila hacemos algo similar:

Y obtenemos: 70 0 0 0 Sol. 2.000 800 500 -1200 400 100 2 2 1 0 70 0 1 0 40 5 1 1 0 40 4 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 -1 - 0 0 0 1 0 0 0 0 1

0 70 0

Recuerde que simplex trabaja cambiando de a una variable por vez, en el caso anterior sac de la base e introdujo a la base y obtuvo una nueva solucin. Ahora debemos probar si esta solucin es la ptima o no y para ello volvemos a calcular de nuevo y . Esta nueva solucin por supuesto es otra solucin bsica, es punto extremo y la podemos ubicar sobre el eje en interseccin con la restriccin formando punto (400,0). En el ejemplo el mtodo simplex arranc en el origen y tom la solucin bsica adyacente inmediata sobre , dado que en la funcin objetivo es la que tiene mayor coeficiente. Para a prxima solucin simplex va a analizar la solucin adyacente siguiente en la misma direccin con la que arranc, esto es que si arranc en sentido horario va continuar en esta direccin sin volverse para atrs. Calculemos de y para saber si es la solucin ptima o no, aunque sabemos de antemano que la solucin ptima no est en este punto.

70 0 0 0 Sol. 2.000 800 500 -1200 400 100 (=70*400) -2 2 1 0 70 0 1 0 70 (=70*1) 0 (=70-70)

40 5 1 1 0 40 4 35 (=70*1/2) 5 (=40-35)

0 1 0 1 0 0 1 0 0 0 (=70*0) 0 (=0-0)

0 0 1 0 0 0 -1 - 35 (=70*1/2) -35 (=0-35)

0 0 0 1 0 0 0 0 1 0 (=70*0) 0 (=0-0)

0 70 0

{ En el rengln encontramos un valor positivo, lo cual nos est indicando que en el prximo paso es la variable que entra (recordemos que si hubiera ms de un valor positivo, elegimos el ms positivo). Entonces volvemos a hacer la prueba de la razn, esto es, calcular los valores de para saber cuan es la variable que se va de la base. En el prximo paso entra y sale . La siguiente solucin que simplex va a analizar es la contigua adyacente en la misma direccin en la que venamos avanzando y como se muestra en el grfico es la solucin ptima. Entonces vamos a sacar y entra , ahora el elemento pivot es que es el elemento que debemos hacer 1 y para ello vamos a multiplicar toda la tercera fila por el valor 2, o sea . Para completar la tabla vamos a hacer las siguientes operaciones elementales: Obteniendo la siguiente: 70 0 0 0 Sol. 2.000 800 500 -0 70 0 1200 400 100 -0 70 40 Y luego calculamos y 400 300 200 2 2 1 0 70 0 1 0 70 0 0 1 0 40 5 1 1 0 40 4 35 5 0 0 1 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 -1 - 35 -35 3 1 -1 0 0 0 1 0 0 0 0 1 0 0 -8 -1 2

para determinar si la nueva solucin es ptima o no.

70 0 0 0 Sol. 2.000 800 500 -0 70 0 1200 400 100 -400 300 200 -2 2 1 0 70 0 1 0 70 0 0 1 0 70 0

40 5 1 1 0 40 4 35 5 0 0 1 40 0

0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0

0 0 1 0 0 0 -1 - 35 -35 3 1 -1 30 -30

0 0 0 1 0 0 0 0 1 0 0 -8 -1 2 10 -10 son todos negativos o nulos, esto significa

0 70 40

Como puede verse esta es la ltima tabla del simplex dado que en el que hemos encontrado la solucin ptima:

2.6b Mtodo de la variable artificial


Con el mtodo Simplex, numerosas veces sucede que no podemos identificar la solucin bsica inicial. En general, esto ocurre cuando en el planteo tenemos restricciones de igualdad o inecuaciones del tipo . En el primer caso, no es necesario agregar variables de holgura y en el segundo las agregamos restando (variable de excedente), por lo cual no existirn en la matriz A los m vectores unitarios necesarios para formar la primera solucin bsica. Para solucionar este problema, se utiliza la tcnica de la base artificial o simplemente variables artificiales. Se trata de un artilugio matemtico por medio del cual, se agregan al problema tantas variables artificiales como vectores unitarios nos falten en la matriz A. De este modo, modificamos el problema original de manera tal que nos permita identificar la solucin de partida. Es importante destacar que estas variables no son variables del problema original. Por ello decimos que, una solucin del mismo, se obtiene una vez que se hayan eliminado de la base todas las variables artificiales. Para que el algoritmo Simplex las elimine de la base rpidamente, se deben agregar en la funcin objetivo precedidas de un coeficiente que deber ser: En caso de maximizacin, muy grande en valor absoluto y negativo. Si el problema es de mnimo, muy grande y positivo.

Si se verifica la condicin de optimidad y en la base an queda alguna variable artificial, puede suceder alguna de las siguientes dos cosas: 1. Si la variable artificial qued en la base con un valor positivo, entonces el problema original es no factible. 2. Si la variable artificial qued en la base pero con un valor nulo, entonces la solucin encontrada s es solucin del problema original y ser degenerada ya que tendr menos de m valores positivos. Respecto de la variable artificial hay tres posibilidades: a) Que la variable artificial NO aparezca en la ltima tabla del simplex, lo que indica que el problema tiene solucin. b) Que la variable artificial SI aparezca en la ltima tabla del simplex con un valor igual a cero, esto significa que el problema tiene solucin y la solucin es degenerada. c) Y por ltimo que la variable artificial SI aparezca en la ltima tabla del simplex, lo que indica que el problema no tiene solucin.

Ejemplo de aplicacin

Como puede verse en este problema tenemos una restriccin de menor e igual, una de mayor e igual y una de igualdad. Para llevarlo a la forma estndar, en el caso de la primera restriccin simplemente agregamos una variable de holgura y se transforma la desigualdad en igualdad (+S). Para el caso de la restriccin de mayor e igual agregamos una variable de excedente (-S), el signo es lo que la diferencia de la de holgura, y se transforma la desigual en igualdad. Ahora ya hemos transformado las inecuaciones en ecuaciones y agregamos tantas variables artificiales como son necesarias; en nuestro caso a la segunda restriccin por ser mayor e igual y a la tercera que es una restriccin del tipo desigual. Entonces el problema de programacin lineal en su forma estndar nos queda:

Al incorporar las variables artificiales a la funcin objetivo, hay que darle un valor negativo muy grande en el caso de un problema de maximizacin, mnimo 10 veces el valor del coeficiente ms alto de la funcin objetivo. Ahora ya estamos en condiciones de armar la tabla de simplex: 5 0 -100 -100 Sol. 1.000 50 0 -4 1 -3 100 -95 8 2 0 1 -100 108 0 1 0 0 0 0 0 0 -1 0 100 -100 -100 0 1 0 -100 0 -100 0 0 1 -100 0

Lo que diferencia este ejemplo del anterior es simplemente el armado de la primera tabla, de ahora en ms seguimos utilizando las mismas operaciones. Entonces en el prximo paso entra la variable y sale . Como el elemento pivot ya es 1 copiamos la fila tal cual est, o sea 5 0 -100 -100 Sol. 1.000 50 0 -4 1 -3 100 -95 8 2 0 1 -100 108 0 1 0 0 0 0 0 0 -1 0 100 -100 -100 0 1 0 -100 0 -100 0 0 1 -100 0

0 -3 1 0 0 0 1 Posteriormente debemos hacer cero los elementos que estn por encima y por debajo del elemento pivot. Recuerde que lo que estamos haciendo es trasladar el vector unitario de las variables que sale a la posicin de la variable que entra. A continuacin desarrollamos el simplex completo. 5 0 -100 -100 Sol. 1.000 50 0 -0 -100 8 1.000 50 0 4 1 -3 100 -95 10 1 -3 -124 129 0 1 0 5 0 0 1 0 5 0 8 2 0 1 -100 108 0 0 1 8 0 0 0 1 8 0 0 0 1 8 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0,1 0,1 0,3 2,9 -2,9 0 0 -1 0 100 -100 0 -1 0 100 -100 10 -1 -3 -29 29 1 0 0 0 0 -100 0 1 0 -100 0 0 1 0 -100 0 -10 1 3 29 -129 -1 0 0 -100 -100 0 0 1 -100 0 -2 0 1 8 -108 -2 0 1 8 -108 -0,2 -0,2 0,4 3/5 -100

-0 5 8 500 50 150 -50 100 300 --

Nota: ij negativo no se tiene en cuenta para la seleccin de

0 5 8

2.6c Problema de minimizacin


En cuanto a los problemas de minimizacin, criterio de resolucin es prcticamente el mismo, aunque cambian algunos conceptos. Uno de ellos es la prueba que realiza el simplex, esto es el, para determinar la variable que entra se toma el valor ms negativo y se ha llegado al ptimo cuando todos los valores son nulos o positivos. En cuanto a la prueba de la razn ( ), tanto en problemas de maximizacin como minimizacin siempre se toma el positivo o nulo de menor valor. Y se llega al ptimo cuando los valores del rengln son todos positivos o nulos.

Vamos con un ejemplo.


En lo que respecta a la incorporacin de las variables artificiales, como se indicara anteriormente, se incorporan a la funcin objetivo con un coeficiente positivo muy alto (mnimo 10 veces el coeficiente ms alto de la misma).

Forma estndar:

Tabla de simplex: 30 0 500 Sol. 90 120 -60 30 -1 4 2.000 -1970 0 1 30 0 20 3 2 1.000 -980 5/2 15 5 0 1 0 0 0 1 0 0 0 0 0 -1 -500 500 1/4 -1/4 -15/2 15/2 500 0 1 500 0 -1/4 1/4 15/2 1015/2

0 30

{ Todo problema de minimizacin puede ser resuelto como un problema de maximizacin, multiplicando la funcin objetivo por (-1), aplicamos simplex y una vez obtenido el valor de Z ptimo se lo vuelva a multiplicar por (-1). Compruebe esto.

2.7 Anexo I: Solucin Win QSB


El Win QSB es un software que est disponible en forma gratuita y puede ser descargado desde distintas pginas de internet. Este software nos permite resolver problemas con varias variables y varias restricciones. Si el problema es de dos variables tambin lo resuelve grficamente. Ejemplo 1:

Hacemos clic en nuevo problema e ingresamos los datos:

Confirmamos haciendo clic en OK, y nos aparece la siguiente tabla:

Completamos esta tabla con los coeficientes y parmetros de nuestro PL.

Hacemos clic en el botn grfico y nos da la solucin grafica a nuestro problema:

Solucin del sistema, entramos al men results y hacemos clic en solution summary. Se obtiene el valor de las variables y el valor de la funcin objetivo.

Tambin se puede obtener la ltima tabla del simplex (o sea la solucin ptima) aunque con una disposicin un poco diferente de las columnas, siendo fcilmente detectable si comparamos la tabla del simplex que con la que nos tira el sistema. Entramos en results y hacemos clic en final simplex tableau nos tira el siguiente resultado:

Ejemplo 2:

Ingreso de los datos

Confirmamos haciendo clic en OK, y nos aparece la siguiente tabla:

Haciendo clic sobre el signo es te va a cambiar y elegimos el signo segn el tipo de restriccin. Completamos esta tabla con los coeficientes y parmetros de nuestro PL.

Hacemos clic en el botn grfico y nos da la solucin grafica a nuestro problema:

Solucin del sistema:

ltima tabla del simplex:

Ejemplo 3:

Ingreso de los datos:

Carga de datos:

Hacemos clic en el botn grfico y nos da la solucin grafica a nuestro problema:

Solucin:

Tabla final del simplex

2.8 Anexo II: Resolucin Automtica de problemas con Mtodo Smplex


Existen sitios web que permiten al usuario resolver problemas lineales on-line simplemente con la nica tarea de cargar los datos apropiadamente. Si bien es un recurso adicional a los conocimientos que se esperan del alumno para la resolucin del mtodo Smplex, es una excelente herramienta de apoyo para corroborar y comprobar ejercicios resueltos o para disear nuevos ejercicios y cotejar resultados. La direccin web es la siguiente: http://www.phpsimplex.com/ Luego recurrimos a la herramienta de resolucin virtual que se encuentra clickeando la primer palabra que aparece en el texto introductorio: PHPsimplex. Este paso nos lleva a la siguiente direccin: http://www.phpsimplex.com/simplex/simplex.htm?l=es

A continuacin se muestra la resolucin completa del problema anterior con la ayuda on-line de esta herramienta de clculo virtual. Paso 1: Cargamos la cantidad de variables de decisin que tiene la funcin objetivo y la cantidad de restricciones que tiene el problema

Paso 2: Conociendo cada uno de los valores correspondientes, armamos la funcin objetivo y las restricciones de manera idntica a las hemos planteado en el problema

Paso 3: El programa nos muestra un resumen de los datos ingresados hasta ahora. En esta instancia podemos ir paso a paso armando la tabla smplex o ir directamente a la solucin final.

Paso 4: Listo! La solucin ptima se expresa resaltada en color verde. Fcil, no?

Esto es todo. Pueden utilizar esta herramienta como apoyo para practicar con otros ejemplos para repasar el mtodo.

You might also like