Está en la página 1de 19

[EL MTODO SIMPLEX] 2012

5 de septiembre de

l mtodo Simplex es un procedimiento iterativo que permite ir mejorando la solucin a cada paso. El proceso concluye cuando no es posible seguir mejorando ms dicha solucin.

Partiendo del valor de la funcin objetivo en un vrtice cualquiera, el mtodo consiste en buscar sucesivamente otro vrtice que mejore al anterior. La bsqueda se hace siempre a travs de los lados del polgono (o de las aristas del poliedro, si el nmero de variables es mayor). Cmo el nmero de vrtices (y de aristas) es finito, siempre se podr encontrar la solucin. (Vase mtodo Grfico) El mtodo Simplex se basa en la siguiente propiedad: si la funcin objetivo, f, no toma su valor mximo en el vrtice A, entonces hay una arista que parte de A, a lo largo de la cual f aumenta. Deber tenerse en cuenta que este mtodo slo trabaja para restricciones que tengan un tipo de desigualdad "" y coeficientes independientes mayores o iguales a 0, y habr que estandarizar las mismas para el algoritmo. En caso de que despus de ste proceso, aparezcan (o no varen) restricciones del tipo "" o "=" habr que emplear otros mtodos, siendo el ms comn el mtodo de las Dos Fases. PREPARANDO EL MODELO PARA ADAPTARLO AL MTODO SIMPLEX Esta es la forma estndar del modelo: Funcin objetivo: Sujeto a: c1x1 + c2x2 + ... + cnxn a11x1 + a12x2 + ... + a1nxn = b1 a21x1 + a22x2 + ... + a2nxn = b2 ... am1x1 + am2x2 + ... + amnxn = bm x1,..., xn 0

Para ello se deben cumplir las siguientes condiciones:


1. El objetivo es de la forma de maximizacin o de minimizacin.

2. Todas las restricciones son de igualdad. 3. Todas las variables son no negativas. 4. Las constantes a la derecha de las restricciones son no negativas.

[EL MTODO SIMPLEX] 2012 Cambio del tipo de optimizacin.

5 de septiembre de

Si en nuestro modelo, deseamos minimizar, podemos dejarlo tal y como est, pero deberemos tener en cuenta nuevos criterios para la condicin de parada (deberemos parar de realizar iteraciones cuando en la fila del valor de la funcin objetivo sean todos menores o iguales a 0), as como para la condicin de salida de la fila. Con objeto de no cambiar criterios, se puede convertir el objetivo de minimizar la funcin F por el de maximizar F(-1). Ventajas: No deberemos preocuparnos por los criterios de parada, o condicin de salida de filas, ya que se mantienen. Inconvenientes: En el caso de que la funcin tenga todas sus variables bsicas positivas, y adems las restricciones sean de desigualdad "", al hacer el cambio se quedan negativas y en la fila del valor de la funcin objetivo se quedan positivos, por lo que se cumple la condicin de parada, y por defecto el valor ptimo que se obtendra es 0. Solucin: En la realidad no existen este tipo de problemas, ya que para que la solucin quedara por encima de 0, alguna restriccin debera tener la condicin "", y entonces entraramos en un modelo para el mtodo de las Dos Fases. Conversin de signo de los trminos independientes (las constantes a la derecha de las restricciones) Deberemos preparar nuestro modelo de forma que los trminos independientes de las restricciones sean mayores o iguales a 0, sino no se puede emplear el mtodo Simplex. Lo nico que habra que hacer es multiplicar por "-1" las restricciones donde los trminos independientes sean menores que 0. Ventaja: Con sta simple modificacin de los signos en la restriccin podemos aplicar el mtodo Simplex a nuestro modelo. Inconvenientes: Puede resultar que en las restricciones donde tengamos que modificar los signos de las constantes, los signos de las desigualdades fueran ("=", ""), quedando ("=","") por lo que en cualquier caso deberemos desarrollar el mtodo de las Dos Fases. Este inconveniente no es controlable, aunque nos podra beneficiar si slo existen trminos de desigualdad ("",""), y los "" coincidieran con restricciones donde el trmino independiente es negativo. Todas las restricciones son de igualdad. Si en nuestro modelo aparece una inecuacin con una desigualdad del tipo "", deberemos aadir una nueva variable, llamada variable de exceso si, con la restriccin si 0. La nueva variable aparece con coeficiente cero en la funcin objetivo, y restando en las inecuaciones.

[EL MTODO SIMPLEX] 2012

5 de septiembre de

Surge ahora un problema, veamos cmo queda una de nuestras inecuaciones que contenga una desigualdad "" : a11x1 + a12x2 b1 a11x1 + a12x2 - 1xs = b1

Como todo nuestro modelo, est basado en que todas sus variables sean mayores o iguales que cero, cuando hagamos la primera iteracin con el mtodo Simplex, las variables bsicas no estarn en la base y tomarn valor cero, y el resto el valor que tengan. En este caso nuestra variable xs, tras hacer cero a x1 y x2, tomar el valor -b1. No cumplira la condicin de no negatividad, por lo que habr que aadir una nueva variable, xr, que aparecer con coeficiente cero en la funcin objetivo, y sumando en la inecuacin de la restriccin correspondiente. Quedara entonces de la siguiente manera: a11x1 + a12x2 b1 a11x1 + a12x2 - 1xs + 1 xr = b1

Este tipo de variables se les llama variables artificiales, y aparecern cuando haya inecuaciones con desigualdad ("=",""). Esto nos llevar obligadamente a realizar el mtodo de las Dos Fases, que se explicar ms adelante. Del mismo modo, si la inecuacin tiene una desigualdad del tipo "", deberemos aadir una nueva variable, llamada variable de holgura si, con la restriccin si "" 0 . La nueva variable aparece con coeficiente cero en la funcin objetivo, y sumando en las inecuaciones. A modo resumen podemos dejar esta tabla, segn la desigualdad que aparezca, y con el valor que deben estar las nuevas variables. Tipo de desigualdad = Tipo de variable que aparece - exceso + artificial + artificial + holgura

DESARROLLANDO EL MTODO SIMPLEX Una vez que hemos estandarizado nuestro modelo, puede ocurrir que necesitemos aplicar el mtodo Simplex o el mtodo de las Dos Fases. Vase en la figura como debemos actuar para llegar a la solucin de nuestro problema.

[EL MTODO SIMPLEX] 2012

5 de septiembre de

[EL MTODO SIMPLEX] 2012

5 de septiembre de

Explicaremos paso a paso los puntos de cada mtodo, concretando los aspectos que hay que tener en cuenta. Mtodo Simplex Construccin de la primera tabla: En la primera columna de la tabla aparecer lo que llamaremos base, en la segunda el coeficiente que tiene en la funcin objetivo cada variable que aparece en la base (llamaremos a esta columna Cb), en la tercera el trmino independiente de cada restriccin (P0), y a partir de sta columna aparecern cada una de las variables de la funcin objetivo (Pi). Para tener una visin ms clara de la tabla, incluiremos una fila en la que pondremos cada uno de los nombres de las columnas. Sobre sta tabla que tenemos incluiremos dos nuevas filas: una que ser la que liderar la tabla donde aparecern las constantes de los coeficientes de la funcin objetivo, y otra que ser la ltima fila, donde tomar valor la funcin objetivo. Nuestra tabla final tendr tantas filas como restricciones. Tabla C1 Base Pi1 Pi2 ... Pim Z Cb Ci1 Ci2 ... Cim P0 bi1 bi2 ... bim Z0 P1 a11 a21 ... am1 Z1-C1 C2 P2 a12 a22 ... am2 Z2-C2 ... ... ... ... ... ... ... Cn Pn a1n a2n ... amn Zn-Cn

Los valores de la fila Z se obtienen de la siguiente forma: El valor Z0 ser el de sustituir Cim en la funcin objetivo (y cero si no aparece en la base). El resto de columnas se obtiene restando a este valor el del coeficiente que aparece en la primera fila de la tabla. Se observar al realizar el mtodo Simplex, que en esta primera tabla, en la base estarn las variables de holgura. Condicin de parada: Comprobaremos si debemos de dar una nueva iteracin o no, que lo sabremos si en la fila Z aparece algn valor negativo. Si no aparece ninguno, es que hemos llegado a la solucin ptima del problema. Eleccin de la variable que entra: Si no se ha dado la condicin de parada, debemos seleccionar una variable para que entre en la base en la siguiente tabla. Para
5

[EL MTODO SIMPLEX] 2012

5 de septiembre de

ello nos fijamos en los valores estrictamente negativos de la fila Z, y el menor de ellos ser el que nos de la variable entrante. Eleccin de la variable que sale: Una vez obtenida la variable entrante, obtendremos la variable que sale, sin ms que seleccionar aquella fila cuyo cociente P0/Pj sea el menor de los estrictamente positivos (teniendo en cuenta que slo se har cuando Pj sea mayor de 0). La interseccin entre la columna entrante y la fila saliente nos determinar el elemento pivote. Actualizacin de la tabla: Las filas correspondientes a la funcin objetivo y a los ttulos permanecern inalterados en la nueva tabla. El resto deber calcularse de dos formas diferentes:
Si

es

la

fila

pivote

cada

nuevo

elemento

se

calcular:

Nuevo Elemento Fila Pivote = Elemento Fila Pivote actual / Pivote.


Para

el

resto

de

elementos

de

filas

se

calcular:

Nuevo Elemento Fila = Elemento Fila Pivote actual - (Elemento Columna Pivote en la fila actual * Nuevo Elemento Fila). Mtodo de las Dos Fases ste mtodo difiere del Simplex en que primero hay que resolver un problema auxiliar que trata de minimizar la suma de las variables artificiales. Una vez resuelto este primer problema y reorganizar la tabla final, pasamos a la segunda fase, que consiste en realizar el mtodo Simplex normal. FASE 1 En esta primera fase, se realiza todo de igual manera que en el mtodo Simplex normal, excepto la construccin de la primera tabla, la condicin de parada y la preparacin de la tabla que pasar a la fase 2. Construccin de la primera tabla: Se hace de la misma forma que la tabla inicial del mtodo Simplex, pero con algunas diferencias. La fila de la funcin objetivo cambia para la primera fase, ya que cambia la funcin objetivo, por lo tanto aparecern todos los trminos a cero excepto aquellos que sean variables artificiales, que tendrn valor "-1" debido a que se est minimizando la suma de dichas variables (recuerde que minimizar F es igual que maximizar F(-1)). La otra diferencia para la primera tabla radica en la forma de calcular la fila Z. Ahora tendremos que hacer el clculo de la siguiente forma: Se sumarn los productos CbPj para todas las filas y al resultado se le restar el valor que aparezca (segn la columna que se ste haciendo) en la fila de la funcin objetivo.

[EL MTODO SIMPLEX] 2012 Tabla C0 Base Pi1 Pi2 ... Pim Z Cb Ci1 Ci2 ... Cim P0 bi1 bi2 ... bim Z0 C1 P1 a11 a21 ... am1 Z1 C2 P2 a12 a22 ... am2 Z2 ... ... ... ... ... ... ... Cn-k Pn-k a1n-k a2n-k ... amn-k Zn-k ... ... ... ... ... ... ...

5 de septiembre de

Cn Pn a1n a2n ... amn Zn

Siendo Zj = (CbPj) - Cj y los Cj = 0 para todo j comprendido entre 0 y n-k (variables de decisin, holgura y exceso), y Cj = -1 para todo j comprendido entre n-k y n (variables artificiales). Condicin de parada: La condicin de parada es la misma que en el mtodo Simplex normal. La diferencia estriba en que pueden ocurrir dos casos cuando se produce la parada: la funcin toma un valor 0, que significa que el problema original tiene solucin, o que tome un valor distinto, indicando que nuestro modelo no tiene solucin. Eliminar Columna de variables artificiales: Si hemos llegado a la conclusin de que el problema original tiene solucin, debemos preparar nuestra tabla para la segunda fase. Deberemos eliminar las columnas de las variables artificiales, modificar la fila de la funcin objetivo por la original, y calcular la fila Z de la misma forma que en la primera tabla de la fase 1. IDENTIFICANDO CASOS ANMALOS Y SOLUCIONES Obtencin de la solucin: Cuando se ha dado la condicin de parada, obtenemos el valor de las variables bsicas que estn en la base y el valor ptimo que toma la funcin que estn en la base mirando la columna P0. En el caso de que estemos minimizando, se multiplicar por "-1" el valor ptimo. Infinitas soluciones: Cumplida la condicin de parada, si se observa que alguna variable que no est en la base, tiene un 0 en la fila Z, quiere decir que existe otra solucin que da el mismo valor ptimo para la funcin objetivo. Si estamos ante este caso, estamos ante un problema que admite infinitas soluciones, todas ellas comprendidas dentro del segmento (o porcin del plano, o regin del espacio, dependiendo del nmero de variables
7

[EL MTODO SIMPLEX] 2012

5 de septiembre de

del problema) que define Ax+By=Z0. Si se desea se puede hacer otra iteracin haciendo entrar en la base a la variable que tiene el 0 en la fila Z, y se obtendr otra solucin. Solucin ilimitada: Si al intentar buscar la variable que debe abandonar la base, nos encontramos que toda la columna de la variable entrante tiene todos sus elementos negativos o nulos, estamos ante un problema que tiene solucin ilimitada. No hay valor ptimo concreto, ya que al aumentar el valor de las variables se aumenta el valor de la funcin objetivo, y no viola ninguna restriccin. No existe solucin: En el caso de que no exista solucin, seguro que tendremos que realizar las dos fases, por lo que al trmino de la primera sabremos si estamos en tal situacin. Empate de variable entrante: Se puede optar por cualquiera de ellas, sin que afecte a la solucin final, el inconveniente que presenta es que segn por cual se opte se harn ms o menos iteraciones. Se aconseja que se opte a favor de las variables bsicas, ya que son aquellas las que quedarn en la base cuando se alcance la solucin con estos mtodos. Empate de variable saliente: Se puede nuevamente optar por cualquiera de ellas, aunque se puede dar el caso degenerado y entrar en ciclos perpetuos. Para evitarlos en la medida de lo posible, discriminaremos a favor de las variables bsicas haciendo que se queden en la base. Ante el caso de estar en la primera fase (del mtodo de las Dos Fases), se optar por sacar en caso de empate las variables artificiales. Curiosidad Fase 1: Al finalizar la fase 1, si el problema original tiene solucin, todas las variables artificiales, en la fila Z deben tener el valor "1". Pivote puede ser 0?: No, ya que siempre se realizan los cocientes entre valores no negativos y mayores que cero. Interpretacin grfica del Mtodo Simplex La resolucin de problemas lineales con slo dos o tres variables de decisin se puede ilustrar grficamente, mostrndose como una ayuda visual para comprender muchos de los conceptos y trminos que se utilizan y formalizan con mtodos de solucin ms sofisticados, como por ejemplo el Mtodo Simplex, necesarios para la resolucin de problemas con varias variables. Para ello se puede usar el mtodo Grfico. Aunque en la realidad rara vez surgen problemas con slo dos o tres variables de decisin, es sin embargo muy til esta metodologa de solucin e interpretacin, en la que se vern las situaciones tpicas que se pueden dar, como son la existencia de una solucin ptima nica, de soluciones ptimas alternativas, la no existencia de solucin y la no acotacin. Describimos aqu las fases del procedimiento de solucin del Mtodo Grfico: 1. Dibujar un sistema de coordenadas cartesianas en el que cada variable de decisin est representada por un eje, con la escala de medida adecuada a su variable asociada.
8

[EL MTODO SIMPLEX] 2012

5 de septiembre de

2. Dibujar en el sistema de coordenadas las restricciones del problema (incluyendo las de no negatividad). Para ello, observamos que si una restriccin es una inecuacin, define una regin que ser el semiplano limitado por la lnea recta que se tiene al considerar la restriccin como una igualdad. Si la restriccin fuera una ecuacin, la regin que define se dibuja como una lnea recta. La interseccin de todas las regiones determina la regin factible o espacio de soluciones (que es un conjunto convexo). Si esta regin es no vaca, ir a la fase siguiente. En otro caso, no existe solucin que satisfaga (simultneamente) todas las restricciones y el problema no tiene solucin, denominndose no factible. 3. Determinar los puntos extremos (puntos que no estn situados en segmentos de lnea que unen otros dos puntos del conjunto convexo) de la regin factible (que, como probaremos en la siguiente seccin, son los candidatos a solucin ptima). Evaluar la funcin objetivo en estos puntos y aqul o aquellos que maximicen (o minimicen) el objetivo, corresponden a las soluciones ptimas del problema. EJEMPLO (Parte 1): Mtodo Simplex Resolver mediante el mtodo simplex el siguiente problema: Maximizar sujeto a: Z = f(x,y) = 3x + 2y 2x + y 18 2x + 3y 42 3x + y 24 x0,y0

Se consideran las siguientes fases: 1. Convertir las desigualdades en igualdades Se introduce una variable de holgura por cada una de las restricciones del tipo , para convertirlas en igualdades, resultando el sistema de ecuaciones lineales: 2x + y + r = 18 2x + 3y + s = 42 3x +y + t = 24 2. Igualar la funcin objetivo a cero - 3x - 2y + Z = 0 3. Escribir la tabla inicial simplex

[EL MTODO SIMPLEX] 2012

5 de septiembre de

En las columnas aparecern todas las variables bsicas del problema y las variables de holgura/exceso. En las filas se observan, para cada restriccin las variables de holgura con sus coeficientes de las igualdades obtenidas, y la ltima fila con los valores resultantes de sustituir el valor de cada variable en la funcin objetivo, y de operar tal como se explic en la teora para obtener el resto de valores de la fila: Tabla I . Iteracin n 1 3 Base P3 P4 P5 Z 4. Condicin de parada Cuando en la fila Z no existe ningn valor negativo, se ha alcanzado la solucin ptima del problema. En tal caso, se ha llegado al final del algoritmo. De no ser as, se ejecutan los siguientes pasos. 5. Condicin de entrada y salida de la base
A. Primero debemos saber la variable que entra en la base. Para ello escogemos la

2 P2 1 3 1 -2

0 P3 1 0 0 0

0 P4 0 1 0 0

0 P5 0 0 1 0

Cb 0 0 0

P0 18 42 24 0

P1 2 2 3 -3

columna de aquel valor que en la fila Z sea el menor de los negativos. En este caso sera la variable x (P1) de coeficiente 3. Si existiesen dos o ms coeficientes iguales que cumplan la condicin anterior (caso de empate), entonces se optar por aquella variable que sea bsica. La columna de la variable que entra en la base se llama columna pivote (En color verde).
B. Una vez obtenida la variable que entra en la base, estamos en condiciones de deducir

cual ser la variable que sale. Para ello se divide cada trmino independiente (P0) entre el elemento correspondiente de la columna pivote, siempre que el resultado sea mayor que cero, y se escoge el mnimo de ellos. En nuestro caso: 18/2 [=9] , 42/2 [=21] y 24/3 [=8]

Si hubiera algn elemento menor o igual a cero no se realiza dicho cociente, y caso de que todos los elementos de la columna pivote fueran de sta condicin tendramos una solucin no acotada y terminaramos el problema (Ver teora del mtodo Simplex).
10

[EL MTODO SIMPLEX] 2012

5 de septiembre de

El trmino de la columna pivote que en la divisin anterior d lugar al menor cociente positivo, el 3, ya que 8 es el menor cociente, indica la fila de la variable de holgura que sale de la base, t (P5). Esta fila se llama fila pivote (En color verde). Si al calcular los cocientes, dos o ms son iguales (caso de empate), se escoge aquella que no sea variable bsica (si es posible).
C. En la interseccin de la fila pivote y columna pivote tenemos el elemento pivote, 3.

6. Encontrar los coeficientes de la nueva tabla. Los nuevos coeficientes de la fila pivote, t (P5), se obtienen dividiendo todos los coeficientes de dicha fila entre el elemento pivote, 3, que es el que hay que convertir en 1. A continuacin mediante la reduccin gaussiana hacemos ceros los restantes trminos de su columna, con lo que obtenemos los nuevos coeficientes de las otras filas incluyendo los de la funcin objetivo Z. Tambin se puede hacer de la siguiente manera: Fila del pivote: Nueva fila del pivote = (Vieja fila del pivote) / (Pivote) Resto de las filas: Nueva fila = (Vieja fila) -(Coeficiente de la vieja fila en la columna de la variable entrante) x (Nueva fila del pivote) Vemoslo con un ejemplo una vez calculada la fila del pivote (fila de x (P1) en la Tabla II): Vieja fila de P4 Coeficiente Nueva fila pivote Nueva fila de P4 42 2 x 8 = 26 2 2 x 1 = 0 3 2 x 1/3 = 7/3 0 2 x 0 = 0 1 2 x 0 = 1 0 2 x 1/3 = -2/3

11

[EL MTODO SIMPLEX] 2012

5 de septiembre de

Tabla II . Iteracin n 2 3 Base P3 P4 P1 Z Cb 0 0 3 P0 2 26 8 24 P1 0 0 1 0 2 P2 1/3 7/3 1/3 -1 0 P3 1 0 0 0 0 P4 0 1 0 0 0 P5 -2/3 -2/3 1/3 1

Se puede observar que no hemos alcanzado la condicin de parada ya que en los elementos de la ltima fila, Z, hay uno negativo, -1. Hay que repetir el proceso:
A. La variable que entra en la base es y (P2), por ser la variable que corresponde a la

columna donde se encuentra el coeficiente -1.


B. Para calcular la variable que sale, dividimos los trminos de la ltima columna entre

los trminos correspondientes de la nueva columna pivote: 2 / 1/3 [=6] , 26 / 7/3 [=78/7] y 8 / 1/3 [=24] y como el menor cociente positivo es 6, tenemos que la variable que sale es r (P3).
C. El elemento pivote, que ahora hay que hacer 1, es 1/3.

Operando de forma anloga a la anterior obtenemos la tabla: Tabla III . Iteracin n 3 3 Base P2 P4 P1 Z Cb 2 0 3 P0 6 12 6 30 P1 0 0 1 0 2 P2 1 0 0 0 0 P3 3 -7 -1 3 0 P4 0 1 0 0 0 P5 -2 4 1 -1

Como en los elementos de la fila Z hay uno negativo, -1, significa que no hemos llegado todava a la solucin ptima. Hay que repetir el proceso:
A. La variable que entra en la base es t (P5), por ser la variable que corresponde al

coeficiente -1.
12

[EL MTODO SIMPLEX] 2012

5 de septiembre de

B. Para calcular la variable que sale, dividimos los trminos de la ltima columna entre

los trminos correspondientes de la nueva columna pivote: 6/(-2) [=-3] , 12/4 [=3], y 6/1 [=6] y como el menor cociente positivo es 3, tenemos que la variable que sale es s (P4).
C. El elemento pivote, que ahora hay que hacer 1, es 4.

D. Obtenemos la tabla: Tabla IV . Iteracin n 4 3 Base P2 P5 P1 Cb 2 0 3 P0 12 3 3 P1 0 0 1 2 P2 1 0 0 0 P3 -1/2 -7/4 3/4 0 P4 1/2 1/4 -1/4 0 P5 0 1 0

Z 33 0 0 5/4 1/4 0 E. Se observa que en la ltima fila todos los coeficientes son positivos, por lo tanto se cumple la condicin de parada, obteniendo la solucin ptima. F. La solucin ptima viene dada por el valor de Z en la columna de los valores solucin, en nuestro caso: 33. En la misma columna se puede observar el punto donde se alcanza, observando las filas correspondientes a las variables de decisin que han entrado en la base: (x,y) = (3,12) 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 bi 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
13

[EL MTODO SIMPLEX] 2012

5 de septiembre de

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 Z sujeta a = 0.4x1 + 0.3x1 + 0.5x1 + 0.6x1 + x1 0, 0.5x2 0.1x2 2.7 0.5x2 = 6 0.4x2 6 x2 0
14

[EL MTODO SIMPLEX] 2012

5 de septiembre de

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 x3 y en la segunda restriccin agregamos tambin una variable artificial que sera x4; 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 no negatividad) x5 = -6 (que no cumple la restriccin de

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: Maximizar Z sujeta a = 3x1 x1 + 5x2 4 2x2 12 3x1 + 2x2 = 18 x1 0, x2 0
15

[EL MTODO SIMPLEX] 2012

5 de septiembre de

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 3x1 + 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 - 3x1 x1 3x1 - 5x2 + x3 2x2 + 2x2 xj 0 + Mx5 = = + x4 = + x5 = Para j = 1, 2, , 5 0 4 12 18

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

Variable

Lado
16

[EL MTODO SIMPLEX] 2012

5 de septiembre de

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

derecho Cociente 0 4 12 18

Es ptima?

Esta tabla todava no est en la forma apropiada porque el coeficiente de x5 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 x5 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 Z x3 x4 x5 Z 1 0 0 0 x1 x2 x3 -3M-3 -2M-5 0 1 0 1 0 2 0 3 2 0 x4 0 0 1 0 x5 0 0 0 1 Lado derecho Cociente -18M -Mx5 + Z 4 12 18 Es ptima? (0, 0, 4, 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 x1 y x2). Aplicando el mtodo smplex a la tabla anterior tenemos: el coeficiente negativo con el mayor valor absoluto corresponde a x1 (-3M-3), 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 x3 se convierte en la variable bsica saliente. El procedimiento completo para resolver este ejemplo se muestra en el siguiente conjunto de tablas:

17

[EL MTODO SIMPLEX] 2012

5 de septiembre de

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 Z sujeta a = 3x1 + 8x2 x1 + 4x2 x1 + 2x2 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 = 0
18

[EL MTODO SIMPLEX] 2012 x1 x1 + 4x2 + 2x2 xj + x3 0 = 4 - x4 + x5 = 2 para j = 1, 2, , 5

5 de septiembre de

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

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.

19

También podría gustarte