P. 1
MÉTODO SIMPLEX

MÉTODO SIMPLEX

|Views: 1.710|Likes:

More info:

Published by: Ing Leonardo Saucedo on Apr 14, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

07/04/2014

pdf

text

original

Método Simplex

Resumen de la unidad 2
En este documento se describen: el método simplex, el método de las dos fases, el método de las “M” y el método simplex revisado.

Ing. Lorenie Izet Moreno Fuentes
José Leonardo Saucedo García 07380654 21 de mayo de 2010

1

.1 Método de las “M” y método de las dos fases………………….1 Teoría del Método Simplex………………………………………………… 3 2... 15 Bibliografía……………………………………………………………………………… 16 2 .2 Forma Tabular del Método Simplex……………………………………….. 6 2.4 El método simplex revisado………………………………………………..3.INDICE 2 METODO SIMPLEX 2.. 13 Conclusiones……………………………………………………………………………..3 Problemas de programación lineal que requieren la introducción de variables artificiales……………………………………………………………. 11 2. 4 2.

y habrá que estandarizar las mismas para el algoritmo. por un criterio semejante al del gradiente. aparezcan restricciones del tipo "≥" o "=" habrá que emplear otros métodos... repitiéndose esta operación hasta que no sea posible mejorar la función objetivo. 2 ... Deberá tenerse en cuenta que este método sólo trabaja para restricciones que tengan un tipo de desigualdad "≤" y coeficientes independientes mayores o iguales a 0. 4. Partiendo del valor de la función objetivo en un vértice cualquiera. la mayor utilidad o el menor costo.2. por lo tanto. En caso de que después de éste proceso. El método consiste en partir de un vértice del conjunto de soluciones o solución inicial y determinar si es óptima. se pasa a partir de él a otro vértice adyacente. El método simplex es un conjunto de instrucciones con las cuales se examinan los puntos en las esquinas de una forma metódica hasta conseguir la mejor solución. + amn·xn = bm x1. El proceso concluye cuando no es posible seguir mejorando más dicha solución. el método consiste en buscar sucesivamente otro vértice que mejore al anterior. siendo el más común el método de las Dos Fases.. no toma su valor máximo en el vértice A.1 TEORÍA DEL MÉTODO SIMPLEX Es un método genérico de solución de problemas lineales. 2.. Preparando El Modelo Para Adaptarlo Al Método Simplex Esta es la forma estándar del modelo: Función objetivo: c1·x1 + c2·x2 + . f.. demasiado grande para una solución gráfica. en el que mejore el valor de la función objetivo o función económica. Todas las restricciones son de igualdad. Si no lo es. am1·x1 + am2·x2 + . en cuyo caso ya se ha alcanzado el óptimo.. Las constantes a la derecha de las restricciones son no negativas.. Todas las variables son no negativas. + a2n·xn = b2 . el método simplex puede ser utilizado para encontrar la solución óptima de los problemas con multivariables. entonces hay una arista que parte de A. + cn·xn Sujeto a: a11·x1 + a12·x2 + . a lo largo de la cual f aumenta.. El método Simplex es un procedimiento iterativo que permite ir mejorando la solución a cada paso. 3.. desarrollado por George Dantzig en 1947 La mayoría de los problemas reales de programación lineal tienen más de dos variables. xn ≥ 0 Para ello se deben cumplir las siguientes condiciones: 1... + a1n·xn = b1 a21·x1 + a22·x2 + . El método Simplex se basa en la siguiente propiedad: si la función objetivo.. El objetivo es de la forma de maximización o de minimización.

. am2 Z2-C2 ... 2 . . donde tomará valor la función objetivo. Las constantes del lado derecho de las ecuaciones.. Se observará al realizar el método Simplex.. y a partir de ésta columna aparecerán cada una de las variables de la función objetivo (Pi).. Tabla C1 Base Pi1 Pi2 . 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 función objetivo (y cero si no aparece en la base). Cn Pn a1n a2n . obtendremos la variable que sale.. es que hemos llegado a la solución óptima del problema.. Para tener una visión más clara de la tabla... sin más que seleccionar aquella fila cuyo cociente P 0/Pj sea el menor de los estrictamente positivos (teniendo en cuenta que sólo se hará cuando Pj sea mayor de 0). Si no aparece ninguno. .Elección de la variable que sale: Una vez obtenida la variable entrante. Sobre ésta tabla que tenemos incluiremos dos nuevas filas: una que será la que liderará la tabla donde aparecerán las constantes de los coeficientes de la función objetivo... en la base estarán las variables de holgura.. am1 Z1-C1 C2 P2 a12 a22 . . en la tercera el término independiente de cada restricción (P 0). que en esta primera tabla. 2.2..Elección de la variable que entra: Si no se ha dado la condición de parada.. .... .. 3..Condición de parada: Comprobaremos si debemos de dar una nueva iteración o no. Los coeficientes de las variables. . Para ello nos fijamos en los valores estrictamente negativos de la fila Z. en la segunda el coeficiente que tiene en la función objetivo cada variable que aparece en la base (Cb). .2 FORMA TABULAR DEL MÉTODO SIMPLEX La forma tabular del método simplex registra: 1. El resto de columnas se obtiene restando a este valor el del coeficiente que aparece en la primera fila de la tabla.. y otra que será la última fila. bim Z0 P1 a11 a21 .Construcción de la primera tabla: En la primera columna de la tabla aparecerá lo que llamaremos base. Nuestra tabla final tendrá tantas filas como restricciones.. incluiremos una fila en la que pondremos cada uno de los nombres de las columnas. ... que lo sabremos si en la fila Z aparece algún valor negativo... debemos seleccionar una variable para que entre en la base en la siguiente tabla. . Cim P0 bi1 bi2 . Pim Z Cb Ci1 Ci2 . La variable básica que aparece en cada ecuación . y el menor de ellos será el que nos de la variable entrante.

Actualización de la tabla: Las filas correspondientes a la función objetivo y a los títulos permanecerán inalterados en la nueva tabla. 2 . Para el resto de elementos de filas se calculará: Nuevo Elemento Fila = Elemento Fila Pivote actual .La intersección entre la columna entrante y la fila saliente nos determinará el elemento pivote. 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.(Elemento Columna Pivote en la fila actual * Nuevo Elemento Fila). .

resultando el sistema de ecuaciones lineales: 2x + y + r = 18 2x + 3y + s = 42 3x +y + t = 24 2.3 PROBLEMAS DE PROGRAMACIÓN LINEAL QUE REQUIEREN LA INTRODUCCIÓN DE VARIABLES ARTIFICIALES Resolver mediante el método simplex el siguiente problema: Maximizar sujeto a: Z = f(x.3x . Iteración nº 1 3 Base P3 Cb 0 P0 18 P1 2 2 P2 1 0 P3 1 0 P4 0 0 P5 0 2 .2. Convertir las desigualdades en igualdades Se introduce una variable de holgura por cada una de las restricciones del tipo ≤. En las filas se observan.y≥0 Se consideran las siguientes fases: 1. y la última fila con los valores resultantes de sustituir el valor de cada variable en la función objetivo. y de operar tal como se explicó en la teoría para obtener el resto de valores de la fila: Tabla I.y) = 3x + 2y 2x + y ≤ 18 2x + 3y ≤ 42 3x + y ≤ 24 x≥0.2y + Z = 0 3. para convertirlas en igualdades. para cada restricción las variables de holgura con sus coeficientes de las igualdades obtenidas. Igualar la función objetivo a cero . Escribir la tabla inicial simplex En las columnas aparecerán todas las variables básicas del problema y las variables de holgura/exceso.

Para ello se divide cada término independiente (P0) entre el elemento correspondiente de la columna pivote. el 3. Esta fila se llama fila pivote (En color verde). Condición de parada Cuando en la fila Z no existe ningún valor negativo. Una vez obtenida la variable que entra en la base. Para ello escogemos la columna de aquel valor que en la fila Z sea el menor de los negativos. se ha alcanzado la solución óptima del problema. 2 . entonces se optará por aquella variable que sea básica. De no ser así. dos o más son iguales (caso de empate). Si al calcular los cocientes. t (P5). Condición de entrada y salida de la base A. siempre que el resultado sea mayor que cero. 3. En nuestro caso: 18/2 [=9].P4 P5 Z 0 0 42 24 0 2 3 -3 3 1 -2 0 0 0 1 0 0 0 1 0 4. B. El término de la columna pivote que en la división anterior dé lugar al menor cociente positivo. 5. ya que 8 es el menor cociente. C. y caso de que todos los elementos de la columna pivote fueran de ésta condición tendríamos una solución no acotada y terminaríamos el problema. En este caso sería la variable x (P1) de coeficiente 3. indica la fila de la variable de holgura que sale de la base. En tal caso. 6. se ejecutan los siguientes pasos. Encontrar los coeficientes de la nueva tabla. La columna de la variable que entra en la base se llama columna pivote (En color verde). En la intersección de la fila pivote y columna pivote tenemos el elemento pivote. y se escoge el mínimo de ellos. se ha llegado al final del algoritmo. Primero debemos saber la variable que entra en la base. Si existiesen dos o más coeficientes iguales que cumplan la condición anterior (caso de empate). se escoge aquella que no sea variable básica (si es posible). 42/2 [=21] y 24/3 [=8] Si hubiera algún elemento menor o igual a cero no se realiza dicho cociente. estamos en condiciones de deducir cual será la variable que sale.

hay uno negativo. t (P5). También 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) Veámoslo con un ejemplo una vez calculada la fila del pivote (fila de x (P1) en la Tabla II): Vieja fila de P4 Menos Coeficiente Por 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 Tabla II. 3. Iteración 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 condición de parada ya que en los elementos de la última fila. con lo que obtenemos los nuevos coeficientes de las otras filas incluyendo los de la función objetivo Z.Los nuevos coeficientes de la fila pivote. que es el que hay que convertir en 1. se obtienen dividiendo todos los coeficientes de dicha fila entre el elemento pivote. Z. Hay que repetir el proceso: 2 . -1. A continuación mediante la reducción gaussiana hacemos ceros los restantes términos de su columna.

B. Hay que repetir el proceso: A. B. C. y 6/1 [=6] y como el menor cociente positivo es 3. El elemento pivote. significa que no hemos llegado todavía a la solución óptima. 26 / 7/3 [=78/7] y 8 / 1/3 [=8] y como el menor cociente positivo es 6. es 4.A. Obtenemos la tabla: Tabla IV. es 1/3. Operando de forma análoga a la anterior obtenemos la tabla: Tabla III. Para calcular la variable que sale. dividimos los términos de la última columna entre los términos correspondientes de la nueva columna pivote: 6/(-2) [=-3]. Para calcular la variable que sale. que ahora hay que hacer 1. tenemos que la variable que sale es r (P3). El elemento pivote. dividimos los términos de la última columna entre los términos correspondientes de la nueva columna pivote: 2 / 1/3 [=6]. La variable que entra en la base es y (P2). Iteración 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 0 0 0 0 P5 0 1 0 2 . tenemos que la variable que sale es s (P4). La variable que entra en la base es t (P5). por ser la variable que corresponde a la columna donde se encuentra el coeficiente -1. que ahora hay que hacer 1. C. -1. Iteración 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. por ser la variable que corresponde al coeficiente -1. 12/4 [=3].

Z 33 0 0 5/4 0 0 Se observa que en la última fila todos los coeficientes son positivos. En la misma columna se puede observar el punto donde se alcanza. en nuestro caso: 33. y) = (3. por lo tanto se cumple la condición de parada. La solución óptima viene dada por el valor de Z en la columna de los valores solución. obteniendo la solución óptima. observando las filas correspondientes a las variables de decisión que han entrado en la base: (x.12) 2 .

Si se presenta el caso de que las variables artificiales no se logren sacar de la base y por lo tanto se anulen. pasamos a la segunda fase. debe de incluir a todas las variables artificiales que fueron necesarias en el arreglo del modelo de programación lineal por resolver esto último porque las variables artificiales se utilizan precisamente para tomar la primera solución básica. La primera solución básica del simplex en tal caso. en consecuencia del coeficiente ‘M’ muy grande. MÉTODO DE LAS DOS FASES Éste método difiere del Simplex en que primero hay que resolver un problema auxiliar que trata de minimizar la suma de las variables artificiales. consiste en penalizar la inclusión de las variables artificiales en la función objetivo con un coeficiente ‘M’ muy grande que para el caso de maximizar es ‘M’ y para el caso de minimizar es ‘+ M’.3.2. se añade una variable de holgura con coeficiente −1 y una variable artificial con coeficiente +1  A las restricciones del tipo = se añade una variable artificial con coeficiente +1  La contribución de las variables de holgura a la función objetivo es 0  La contribución de las variables artificiales a la función objetivo se fijan: o Min: + M o Max: . las variables artificiales deberán de ir saliendo de la misma. A medida que se cumplen las etapas de cálculo en el simplex.  El método de la M Grande incluye variables de apoyo con un coeficiente muy grande (M) o muy pequeño (-M) en la función objetivo. Fase 1 2 .1 Método de las “M” y método de las dos fases MÉTODO SIMPLEX PENAL O DE LA ‘M’ GRANDE Como su nombre lo indica.  A las restricciones del tipo £ se añade una variable de holgura con coeficiente +1  A las restricciones del tipo ³. Esto es especialmente grave en problemas de cierto tamaño.M  Siendo M un número suficientemente grande. ello significará que tal problema no tiene solución factible.  El término independiente (RHS) debe ser ³0. que consiste en realizar el método Simplex normal.  Esto da lugar a problemas numéricos que conducen a soluciones erróneas. Una vez resuelto este primer problema y reorganizar la tabla final.

Cj y los Cj = 0 para todo j comprendido entre 0 y n-k (variables de decisión... . La otra diferencia para la primera tabla radica en la forma de calcular la fila Z. .. se realiza todo de igual manera que en el método Simplex normal.... . pero con algunas diferencias.. ya que cambia la función objetivo... bim C1 P1 a11 a21 . y Cj = -1 para todo j comprendido entre n-k y n (variables artificiales).. Deberemos eliminar las columnas de las variables artificiales...Condición de parada: La condición de parada es la misma que en el método Simplex normal... . . La fila de la función objetivo cambia para la primera fase. debemos preparar nuestra tabla para la segunda fase. Ahora tendremos que hacer el cálculo de la siguiente forma: Se sumarán los productos Cb·Pj para todas las filas y al resultado se le restará el valor que aparezca en la fila de la función objetivo.. por lo tanto aparecerán todos los términos a cero excepto aquellos que sean variables artificiales. la condición de parada y la preparación de la tabla que pasará a la fase 2... Zn Siendo Zj = Σ(Cb·Pj) . .. Pim Cb Ci1 Ci2 . 2 .... La diferencia estriba en que pueden ocurrir dos casos cuando se produce la parada: la función toma un valor 0..Eliminar Columna de variables artificiales: Si hemos llegado a la conclusión de que el problema original tiene solución. . holgura y exceso)..Construcción de la primera tabla: Se hace de la misma forma que la tabla inicial del método Simplex.... que tendrán valor "-1" debido a que se está minimizando la suma de dichas variables... . . excepto la construcción de la primera tabla. . o que tome un valor distinto.. Cim P0 bi1 bi2 . . amn-k Z Z0 Z1 Z2 . .. Cn Pn a1n a2n .. que significa que el problema original tiene solución.. am2 . Zn-k ... indicando que nuestro modelo no tiene solución. am1 C2 P2 a12 a22 . Tabla C0 Base Pi1 Pi2 . y calcular la fila Z de la misma forma que en la primera tabla de la fase 1.. Cn-k Pn-k a1n-k a2n-k .... modificar la fila de la función objetivo por la original.En esta primera fase.... .. amn .

. mientras que el cero normal (0) seguirá representando el número cero.4 El método simplex revisado El método simplex revisado usa explícitamente operaciones con matrices.. en donde c es un vector renglón c = [c1. También se usará el cero en negritas (0) para denotar el vector nulo (un vector cuyos elementos son todos cero) ya sea en forma de columna o de renglón (lo que debe ser claro por la forma del problema). nuestra forma estándar del modelo general de programación lineal establecido anteriormente se convierte en: Maximizar Z =cx sujeta a Ax ≤ b y x ≥ 0.C2. se usarán siempre letras MAYUSCULAS en negritas para representar matrices. b y 0 son vectores columna tales que X= X1 X2  Xn b1 0 b= b2  bm 0= 0  0 y A es la Matriz A= a11 a21  am 1 a12 a22  am 2    a1 n a2 n amn Para obtener la forma de igualdades del problema se introduce al vector columna de las variables de holgura XS = Xn + 1 Xn + 2  Xn + m De manera que las restricciones se convierten en 2 ... Si se emplean matrices.. Para ayudar al lector a distinguir entre matrices.c2.Cn] X... letras minúsculas en negritas para representar vectores y letras cursivas normales en el caso de los escalares.…. por lo que se vuelve importante describir el problema en notación matricial.2. En donde C es un vector renglón C = [C1..cn]. vectores y escalares.

2 . pero se calcula sólo los números que se necesitan para hacerlo (los coeficientes de la variable básica entrante en todas las ecuaciones menos la ecuación (0). excepto que se calculan sólo los números necesarios para realizar esta prueba. a menos que la prueba de optimalidad encuentre que es óptima. para cada coeficiente estrictamente positivo. Paso Inicial: El mismo que para el método simplex original 2. los coeficientes de las variables no básicas en la ecuación (0).[A .) 3. a saber. y después. (El cálculo de XB es opcional. Prueba de optimalidad : igual que para el método simplex original. se calcula el lado derecho. Paso iterativo: Parte 1 Determinar la variable básica entrante Parte 2 Determinar la variable básica que sale igual que para el método simplex original.) Parte 3 Determinar la nueva solución básica factible: obtener B-1 y el conjunto XB = B-1b. Pasos del método de simplex revisado 1. I] X XS =b y X XS ≥0 en donde I es la matriz idéntica m x n y b el vector 0 ahora tiene (n + m) elementos.

2 . ya que facilita la forma de encontrar soluciones a problemas con restricciones para llegar a la solución óptima.CONCLUSIONES El método simplex es muy utilizado principalmente en la computación.

htm http://www.com/SIMPLEX_analitico.unap.htm www.BIBLIOGRAFIA http://www.phpsimplex.investigacion-operaciones.doc 2 .cl/public/MetodoSimplexRevisado.com/teoria_metodo_simplex.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->