Вы находитесь на странице: 1из 15

1/15

OBJETIVO GENERAL: Al finalizar este tema el estudiante estar en capacidad de: Describir la mecnica y la nocin intuitiva del mtodo Simplex para la resolucin de modelos de programacin lineal. OBJETIVOS ESPECFICOS: 1) Describir los fundamentos del mtodo Simplex en formato tabular, para el caso sencillo y general. Contenido: 7.1 7.2 7.3 Algoritmo Simplex en Forma Tabular. Algoritmo Simplex. Caso Sencillo. Algoritmo Simplex. Caso General.

7.1. Algoritmo Simplex. Forma Tabular e interpretacin geomtrica. A pesar de los grandes adelantos en la optimizacin computacional ocurridos durante los ltimos 20 aos, el mtodo Simplex ideado por George B. Dantzig en 1947 es an la herramienta principal en casi todas las aplicaciones de la programacin lineal. La contribucin de Dantzig, segn sus explicaciones, naci de su experiencia en el Pentgono durante la Segunda Guerra Mundial, en donde se convirti en experto en programacin (mtodos de planeacin hechos con calculadoras). La resolucin de programas lineales mediante el mtodo Simplex implica la realizacin de gran cantidad de clculos, sobre todo cuando el nmero de variables y/o restricciones es relativamente elevado. Sin embargo, estos clculos no son complejos y pueden realizarse en modo sistemtico utilizando una forma tabular. As surgen las conocidas tablas del Simplex, que no son ms que una forma de organizar los clculos. Las tablas del Simplex son un instrumento pedaggico, ya que en los casos reales la magnitud de los problemas que suelen aparecer hace que se utilicen formas computacionales del Simplex ms eficientes (como el mtodo Simplex revisado) que no son abordadas en este curso, pero que guardan la esencia del mtodo original. La mecnica del simplex requiere inicialmente llevar el modelo a forma estndar es decir:

2/15

Min o Max Z = cX Sujeto a AX=b y X>=0

Para ello se deben cumplir las siguientes condiciones: No debe haber ningn lado derecho negativo. En caso de existir multiplicar a ambos lados de la ecuacin por el signo menos. Si la restriccin es de tipo <= o = entonces se agrega una variable de holgura positiva Si por cada restriccin. Si la restriccin es de tipo >= entonces se agrega una variable de holgura positiva Si y reste resta una variable artificial ti. En forma general el mtodo simplex sigue tres grandes fases: 1. Inicializacin: Se comienza evaluando la funcin objetivo en un punto extremo. 2. Iteracin. Se pasa a un punto extremo adyacente (una solucin factible) que mejore el valor de Z (este paso se repite tantas veces sea necesario). 3. Regla para finalizar. Se detiene el algoritmo cuado la solucin actual ubicada en un punto extremo, tiene un valor de Z que no puede mejorarse, dicho punto es la solucin ptima. 1.1. Mecnica del Mtodo Simplex. Caso Sencillo. Este caso es cuando el modelo de programacin lineal cumple las siguientes condiciones: Todas las restricciones son de tipo (menor o igual). Los valores Bm del vector de recursos son todos positivos. El cumplimiento de estas dos condiciones, garantiza la existencia de una solucin inicial de arranque, o de un punto extremo para comenzar a iterar. Dicho punto extremo es el origen X = (0, 0, 0) del espacio de opciones generado por todas las variables de decisin. De no ser as, el problema no corresponde al caso sencillo que estamos estudiando y se resuelve por otros procedimientos similares que se abordaran en la seccin 1.2. Veamos la mecnica y el desarrollo intuitivo del Simplex con un ejemplo: Ejemplo N1. Resolver el siguiente modelo de Programacin Lineal:

3/15

Max Z=10X1+ 50X2 S.A. X1 <= 6 2X2 <= 8 2X1+ 3X2 <=18 X1, X2 >= 0 Paso N1 Si el problema es de maximizacin transformarlo a uno de minimizacin mediante MAX Z(x)= MIN [Z(x)]. Es ms fcil aprender un solo algoritmo (el de minimizacin), y transformar la funcin objetivo en caso de ser necesario, que aprender las condiciones del algoritmo para ambos casos (maximizacin y minimizacin). En nuestro caso: MAX Z=10X1+50X2 = MIN Z= -10X1-50X2 Pasamos todos los miembros de la funcin objetiva a un solo miembro de modo que el coeficiente de Z sea la unidad es decir: Z +10X1+50X2=0 Paso N2 Llevar el modelo forma estandar para ello, aadimos una variable de holgura (Slack) no negativa (Si) al miembro izquierdo por cada restriccin de tipo menor o igual (<=), las holguras absorbern la diferencia entre los dos miembros de las ecuaciones. En nuestro caso: X1+ S1 S2 = 6 = 8 S3 =18

2X2+ 2X1+ 3X2+ Paso N3

Construimos el tablero simplex a partir de los coeficientes del sistema de ecuaciones conformado por la funcin objetivo y las restricciones en forma de ecuaciones. En nuestro caso:

4/15

El modelo inicial de 4 ecuaciones y 6 incgnitas seria: Z + 10X1+50X2 X1+ S1 2X2+ 2X1+ 3X2+ = 0 = 6 S2 = 8 S3 =18

Para aplicar el mtodo simplex haremos caso omiso de las restricciones de no negatividad, pues el mtodo se encarga de garantizar dicha condicin. Z X 1 1 1 0 0 1 0 0 0 2 X 2 5 0 0 2 3 S 1 0 1 0 0 S 2 0 0 1 0 S 3 0 0 0 1 L D 0 6 8 1 8

5/15

En esta etapa debemos identificar varias zonas fundamentales: a) Identificadores de columnas. Z X 1 1 1 0 0 1 0 0 0 2 b) Matriz tecnolgica. Z X 1 1 1 0 0 1 0 0 0 2 c) Vector de recursos: Z X 1 1 1 0 0 1 0 0 0 2 X 2 5 0 0 2 3 S 1 0 1 0 0 S 2 0 0 1 0 S 3 0 0 0 1 L D 0 6 8 1 8 X 2 5 0 0 2 3 S 1 0 1 0 0 S 2 0 0 1 0 S 3 0 0 0 1 L D 0 6 8 1 8 X 2 5 0 0 2 3 S 1 0 1 0 0 S 2 0 0 1 0 S 3 0 0 0 1 L D 0 6 8 1 8

d) Coeficientes de la funcin objetivo: Z X 1 1 1 0 0 1 0 0 0 2 X 2 5 0 0 2 3 S 1 0 1 0 0 S 2 0 0 1 0 S 3 0 0 0 1 L D 0 6 8 1 8

6/15

e) Valor de la funcin objetivo: Z X 1 1 1 0 0 1 0 0 0 2 X 2 5 0 0 2 3 S 1 0 1 0 0 S 2 0 0 1 0 S 3 0 0 0 1 L D 0 6 8 1 8

Al valor objetivo y el vector de recursos se suelen agrupar como vector de Lado Derecho (LD). f) En la matriz tecnolgica se identifica una matriz identidad, y en la fila de la identidad, hay solo valores nulos. Los valores del vector de recursos son todos no negativos. Z X 1 1 1 0 0 1 0 0 0 2 X 2 5 0 0 2 3 S 1 0 1 0 0 S 2 0 0 1 0 S 3 0 0 0 1 L D 0 6 8 1 8

Si se cumple lo estipulado en f se dice que el tablero esta en Forma Cannica (fc). Paso N4 Leemos la solucin, ubicando las variables en las columnas de la identidad, y tomando el valor del LD ubicado en la fila donde se encuentre el 1 (variables bsicas). Las variables ubicadas en las columnas restantes toman valor de cero (variables no bsicas). Z 1 0 0 0 X1 10 1 0 2 X2 50 0 2 3 S1 0 1 0 0 S2 0 0 1 0 S3 0 0 0 1 LD 0 6 8 18

7/15

Entonces tenemos la solucin inicial: X1=0; X2=0; S1=6; S2=8; S3=18. El valor de la funcin objetivo es Z=0

Grficamente estamos en el punto (0,0), Z=0 Paso N5 Ejecutar la prueba de optimalidad: Si todos los coeficientes no nulos de la funcin objetivo en la tabla obtenida son negativos, la solucin actual es ptima (estamos minimizando), y debemos detener el proceso; de lo contrario debemos seguir al paso siguiente para buscar otra solucin que mejore el valor de la funcin objetivo. En nuestro caso: Z X 1 1 1 0 0 1 0 0 0 2 X 2 5 0 0 2 3 S 1 0 1 0 0 S 2 0 0 1 0 S 3 0 0 0 1 L D 0 6 8 1 8

Como los coeficientes no nulos son todos positivos (10 para X1 y 50 para X2), es evidente que no estamos ante una solucin ptima, entonces debemos construir otra solucin factible que mejore el valor de la funcin objetivo, para ello pasamos al paso N6. Paso N6

8/15

Seleccionar la columna pivote: consiste en identificar la columna asociada a la variable que puede cambiar de valor para mejorar el objetivo. Si algn coeficiente de la fila del objetivo es positivo, la solucin puede mejorar, no obstante la mejora inmediata ser mayor en el valor de la funcin objetivo si se selecciona la variable con el coeficiente de mayor magnitud1. En nuestro ejemplo: Z X 1 1 1 0 0 1 0 0 0 2 X 2 5 0 0 2 3 S 1 0 1 0 0 S 2 0 0 1 0 S 3 0 0 0 1 L D 0 6 8 1 8

Para cambiar la solucin actual por otra que mejore el objetivo, debemos hacer aparecer en la columna de X2 una columna de la matriz identidad, para lo cual debemos pivotear en la columna de X2. Para ello necesitamos realizar el paso 7. Paso N7 Seleccionar la fila pivote, nos permite conocer la fila en la cual haremos aparecer el 1 en la columna de la matriz identidad, para ello aplicamos el Test de la Razn Mnima (TRM), el cual se efecta dividiendo el valor del recurso bi entre los coeficientes positivos de la columna pivote seleccionada de Xj, la fila pivote ser la que arroje la razn mnima. En caso de empates de dos o ms filas en el TRM, escoja como fila pivote cualquiera de las que resultaron empatadas. Si no se puede efectuar el TRM, porque los coeficientes que hacen de divisores son no positivos, se tiene una solucin ilimitada, en cuyo caso detenga el proceso indicando esta situacin.

En nuestro caso: Z X 1
1

X 2

S 1

S 2

S 3

L D

TRM

En caso de empates entre los coeficientes se elige cualquier variable al azar.

9/15

1 0 0 0

1 0 1 0 2

5 0 0 2 3

0 1 0 0

0 0 1 0

0 0 0 1

0 6 8 1 8 =6/0=Indetermi nado = 8/2=4** =18/3=6

EL TRM menor se ubica en la fila sombreada, por lo tanto el elemento pivote, resulta de la interseccin de la columna y fila pivote. Paso N8 Efectuar el pivotamiento en la celda correspondiente al elemento pivote. El pivotamiento consiste en construir un 1 en el elemento pivote y 0 en cada elemento del resto de esa columna. Si luego del pivotamiento aplicar el Paso N5, es decir la aprueba de optimalidad, si se cumple detener el proceso; de lo contrario ir al Paso N6. o Para construir el 1, en la posicin del elemento pivote se divide cada uno de los elementos de la fila pivote entre el elemento pivote en este caso entre 2. Z 0/2= 0 X1 0/2= 0 X2 2/2= 1 S1 0/2= 0 S2 S3 =0. 0/2= 5 2 LD 8/2= 4

o Para hacer aparecer un cero en las dems filas de la columna pivote, basta restar a cada una de las filas en cuestin k veces la fila pivote, siendo k el valor ubicado donde se desea hacer aparecer el 0. Para la primera fila tendramos: k=50 X X S Z 1 2 1 S2 1 5 1 0 0 0 0 5 0 0 0 0 25 1 1 0
**

S 3 LD 0 0

0 200 20 0 0 25 0 0

Menor valor.

10/15

Para la cuarta fila tendramos: k= 3 X X S S L Z 1 2 1 S2 3 D 1 0 2 3 0 0 1 8 1 0 0 3 0 1,5 0 2 1, 0 2 0 0 5 1 6 Sustituimos las filas pivote, la N1 y N4, en la tabla inicial calculadas anteriormente y tenemos la Tabla N2: por las

Z X 1 1 1 0 0 1 0 0 0 2

X 2 0 0 1 0

S 1 0 1 0 0

S2 -25 0 0,5 1,5

S 3 0 0 0 1

LD 200 6 4 6

Entonces tenemos la solucin: X1=0; X2=4; S1=6; S2=0; S3=6; El valor de la funcin objetivo es Z=200 Pasamos al Paso N5 para ejecutar la prueba de optimalidad para esta solucin. Como existe un coeficiente positivo (10 para X1), en la Tabla N2, es evidente que no estamos ante una solucin ptima, entonces debemos ir al Paso N6 para iterar y buscar una nueva solucin que mejore el valor de la funcin objetivo.

11/15

Grficamente estamos en el punto (0,4); Z=200 Paso N6. Columna Pivote. El nico elemento positivo esta asociado a la columna de la variable X1, por lo tanto la columna pivote de la Tabla N2, es el rea sombreada siguiente: Z X 1 1 1 0 0 1 0 0 0 2 X 2 0 0 1 0 S 1 0 1 0 0 S2 -25 0 0,5 1,5 S 3 0 0 0 1 LD 200 6 4 6

Paso N7. Fila Pivote. Efectuamos el TRM y tenemos: Z X 1 1 1 0 0 1 0 0 X 2 0 0 1 S 1 0 1 0 S2 -25 0 0,5 1, 5 S 3 0 0 0 LD TRM

0 2 0 Paso N8. Pivotamiento

200 6 = 6/1=6 4 = 4/0=oo = 6/2=3** 6

Recordemos que el pivotamiento consiste en construir un 1 en el elemento pivote y 0 en cada elemento del resto de esa columna.

**

Menor Valor

12/15

o Para construir el 1, en la posicin del elemento pivote, se divide cada uno de los elementos de la fila pivote entre el elemento pivote en este caso entre 2. Z 0/2= 0 X1 2/2= 1 X2 0/2= 0 S1 0/2= 0 S2 -1.5/2=0.75 S3 1/2=0. 5 LD 6/2= 3

o Para hacer aparecer un cero en las dems filas de la columna pivote, basta restar a cada una de las filas en cuestin k veces la fila pivote, siendo k el valor ubicado donde se desea hacer aparecer el 0. Para la primera fila tendramos: k=10 X X S Z 1 2 1 S2 1 1 0 0 0 -25 1 0 0 0 0 -7,5 1 0 0 0 17,5 Para la segunda fila tendramos: k=1 X X S L Z 1 2 1 S2 S3 D 0 1 0 1 0 0 6 0 1 0 0 0,75 0,5 3 0 0 0 1 0,75 0,5 3 Sustituimos las filas pivote, la N1 y N2, en la tabla inicial calculadas anteriormente y tenemos la Tabla N3: Z X 1 1 0 0 0 0 0 0 1 X 2 0 0 1 0 S 1 0 1 0 0 S2 17,5 0,75 0,5 S3 -5 0,5 0 0,5 LD 230 3 4 3 S 3 LD 0 200 30 -5 230 5

por las

13/15

0,75 Entonces tenemos la solucin: X1=3; X2=4; S1=3; S2=0; S3=0; El valor de la funcin objetivo es Z=230. El cual multiplicando por (-1), nos queda Z=230. Como todos los coeficientes no nulos de la funcin objetivo en la Tabla N3, son negativos, se detiene el proceso. Estamos ante una solucin ptima, el valor del objetivo no puede sufrir una mejora adicional.

Grficamente estamos en el punto (3,4); Z = 230. Solucin ptima: X1* = 3, X2* = 4, Z* = 230 1.2. Mecnica del Mtodo Simplex. General. Si todas las restricciones son de tipo <=, se dispone de una solucin bsica factible inicial, que corresponde al origen, si esto no se cumple al transformar las restricciones a forma estndar nos encontraremos con variables artificiales, que han sido agregadas para coadyuvar a obtener una solucin inicial del problema. La idea es que estas variables artificiales desaparezcan del problema original. Entre las tcnicas para eliminar las variables ratifcales, estn el Mtodo de las dos fases y el mtodo de penalizacin: 1.2.1. Mtodo de las dos fases: Fase I: Se construye una nueva funcin objetivo, reformulada como la suma de las variables artificiales, sujeta a las restricciones en forma estndar. Con esta funcin objetivo no puede haber forma cannica, para recuperarla, se le suma a la fila del objetivo las filas donde hay variables artificiales. Se aplica el mtodo simplex descrito para el caso sencillo; si el ptimo del objetivo es cero, se tiene un punto extremo

14/15

inicial para el problema original, luego proceda con la fase II. Si el ptimo del objetivo no llega a cero, el problema no tiene solucin factible, entonces detener el proceso. Fase II: Incorporar la funcin objetivo original, descartando el objetivo de la fase I, puede descartar las columnas correspondientes a las variables artificiales, reimplantar forma cannica, y resolver el mtodo simplex como se explico para el caso sencillo. 1.2.2 mtodo de la gran M. Es una alternativa para encontrar una solucin inicial de arranque, que toma en cuenta la funcin objetivo original, para ello: Si el problema es de maximizacin llevarlo a uno de minimizacin. Tome la funcin objetivo original y agrguele M veces cada variable artificial 2. Con esta funcin objetivo no puede haber forma cannica, para recuperarla, se le suma a la fila del objetivo M veces las filas donde hay variables artificiales. Resolver por el mtodo simplex descrito para el caso sencillo. Si las variables artificiales llegan a cero, la solucin obtenida del problema penalizado es la solucin ptima sea esta finita o ilimitada. El valor M puede ser interpretado como una multa o penalizacin que se paga por mantener alguna de las variables artificiales con un valor no nulo, como el valor M es lo suficientemente grande en relacin a los dems coeficientes de costos, el Mtodo Simplex tratar de hacerlas llegar a cero en su avance a una solucin ptima. Si las variables artificiales no llegan a cero, el problema no tiene solucin factible, detener el proceso. Comentario final: El Mtodo Simplex, es un algoritmo de bsqueda de soluciones ptimas para modelos de programacin lineal, que garantiza que la nueva solucin obtenida en cada iteracin mejore o al menos mantenga el valor de la funcin objetivo, en cada paso nunca hay una desmejora de dicho valor. Sin embargo esta cualidad, no garantiza que el nmero de puntos extremos a recorrer sea el mnimo, pero si que dicho nmero de pasos, converge a un nmero finito. Hoy en da las tablas del simplex y reportes adicionales, pueden ser obtenidas fcilmente con la ayuda de paquetes computacionales o programando el mtodo con lenguajes de desarrollo.

Si el problema es de maximizacin, la variable ti se penaliza en el objetivo utilizando -Mti

15/15 Bibliografa

BAZARAA, J (1991). Programacin lineal y flujo en redes. Limusa, CARRASQUEO, N (2002). Programacin Investigacin de Operaciones. UCV. Lineal. Postgrado de

HILLIER F., LIEBERMAN G (2001). Introduccin a la investigacin de operaciones. McGraw-Hill. 7ma edicin. LUENBERGER, D (1989). Programacin Lineal y No Lineal. Editorial Addison-Wesley Iberoamericana. Mxico.

Вам также может понравиться