Introducción al Método Simplex
Transcripción
Introducción al Método Simplex
Introducción al Método Simplex [email protected] Introducción Forma Estándar Introducción al Método Simplex Definición Conversión Ejemplo Solución Básica Definición Ejemplo 1 Ejemplo 2 [email protected] Solución Básica Factible Definición Ejemplo 1 Correspondencia Matemáticas Adyacencia Definición Ejemplo 1 Simplex Introducción Introducción al Método Simplex [email protected] Introducción Forma Estándar Definición Conversión Ejemplo Solución Básica En esta lectura daremos una introducción al método Simplex desarrollado por George Bernard Dantzig (8 de noviembre de 1914 - 13 de mayo de 2005) en 1947. Este método se basa en la conversión del problema con restricciones con desigualdades en un problema cuyas restricciones son ecuaciones lineales. Es un método matricial. Definición Ejemplo 1 Ejemplo 2 Solución Básica Factible Definición Ejemplo 1 Correspondencia Adyacencia Definición Ejemplo 1 Simplex Introducción al Método Simplex Forma Estándar [email protected] Definición 1.1 Un modelo de PL se dice que está en su forma estándar si cada restricción es una igualdad y las restricciones de signo para cada variable son del tipo mayor o igual que cero. Muchos de nuestros modelos recién construidos no están en su forma matricial. No está en la forma estándar: Max z = 3 x + 2 y Introducción Forma Estándar Definición Conversión Ejemplo Solución Básica Definición Ejemplo 1 Ejemplo 2 Solución Básica Factible Definición Ejemplo 1 Correspondencia sujeto a Adyacencia 2x x x x + y + y y ≤ ≤ ≤ ≥ ≥ 100 80 40 0 0 Definición Ejemplo 1 Simplex Conversión Introducción al Método Simplex [email protected] El algoritmo Simplex para resolver modelos de programación lineal requiere que el modelo esté en su forma estándar. Lo que se hace es convertir el modelo a la forma estándar. Esto se logra introduciendo nuevas variables, algunas de las cuales reemplazarán a las variables originales. I I Para cada restricción del tipo ≤ se introduce una nueva variable de holgura (slack variable) si que se suma al primer miembro y la desigualdad se convierte en igualdad; se añade la restricción de signo a la nueva variable si ≥ 0. Para cada restricción del tipo ≥ se introduce una nueva variable de exceso (excess variable) ei que se resta al primer miembro y la desigualdad se convierte en igualdad; se añade la restricción de signo a la nueva variable ei ≥ 0. Introducción Forma Estándar Definición Conversión Ejemplo Solución Básica Definición Ejemplo 1 Ejemplo 2 Solución Básica Factible Definición Ejemplo 1 Correspondencia Adyacencia Definición Ejemplo 1 Simplex Introducción al Método Simplex [email protected] Continuando con la conversión: I I Para cada variable xi que tiene restricción de signo del tipo ≤ 0, se cambian todas las apariciones de xi en el modelo por la expresión −xi0 donde xi0 es una nueva variable con restricción de signo xi0 ≥ 0. Para cada variable xi que no tiene restricción de signo se cambian todas las apariciones de ella en el modelo por la expresión xi0 − xi00 donde xi0 y xi00 son dos nuevas variables con restricción de signo xi0 ≥ 0 y xi00 ≥ 0. Las conversión se realiza en dos fases: en la primera se convierten las desigualdades y en la segunda se aplican las reglas para las variables que en el modelo original tiene signo no positivo o no tienen restricción de signo. Introducción Forma Estándar Definición Conversión Ejemplo Solución Básica Definición Ejemplo 1 Ejemplo 2 Solución Básica Factible Definición Ejemplo 1 Correspondencia Adyacencia Definición Ejemplo 1 Simplex Introducción al Método Simplex Ejemplo [email protected] Introducción Forma Estándar Definición Conversión Ejemplo Convierta a la forma estándar: Solución Básica Definición Ejemplo 1 Ejemplo 2 Max z = 3 x + 2 y Solución Básica Factible sujeto a 2x x + y + y x y ≤ ≥ ≤ ≤ 100 80 40 0 : R1 : R2 : R3 : R4 Definición Ejemplo 1 Correspondencia Adyacencia Definición Ejemplo 1 Simplex Introducción al Método Simplex [email protected] En la primera fase (después de aplicar las reglas relacionadas con restricciones del tipo ≤ o ≥) queda: Max z = 3 x + 2 y Introducción Forma Estándar Definición Conversión Ejemplo Solución Básica Definición Ejemplo 1 Ejemplo 2 sujeto a 2x x x + y + y + s1 − e1 + s1 = 100 = 80 = 40 con x sin restricción de signo, y ≤ 0, s1 ≥ 0, e1 ≥ 0, y s2 ≥ 0. Solución Básica Factible Definición Ejemplo 1 Correspondencia Adyacencia Definición Ejemplo 1 Simplex Introducción al Método Simplex [email protected] Introducción Para la segunda fase obtenemos: 0 Forma Estándar 00 Max z = 3 x − 3 x − 2 y 0 Definición Conversión Ejemplo Solución Básica Definición Ejemplo 1 Ejemplo 2 sujeto a 2 x 0 − 2 x 00 − y 0 + s1 = 100 x 0 − x 00 − y0 − e1 = 80 0 00 x − x + s1 = 40 Solución Básica Factible Definición Ejemplo 1 Correspondencia Adyacencia con x0 ≥ 0, x 00 ≥ 0, y0 ≥ 0, s1 ≥ 0, e1 ≥ 0, y s2 ≥ 0. Definición Ejemplo 1 Simplex Solución básica Introducción al Método Simplex [email protected] Introducción Forma Estándar Definición 1.2 Una solución básica (SB) a un sistema de ecuaciones A x = b con m ecuaciones y con n incógnitas, es decir m × n (n ≥ m) es una solución al sistema que se obtiene haciendo cero n − m variables y que resulta en un sistema con solución única. A una variable de decisión que deliberadamente se hace cero se le llama variables no básica (VNB) y mientras que a aquélla que se conserva dentro del nuevo sistema se le llama variable básica (VB). Definición Conversión Ejemplo Solución Básica Definición Ejemplo 1 Ejemplo 2 Solución Básica Factible Definición Ejemplo 1 Correspondencia Adyacencia Definición Ejemplo 1 Simplex Introducción al Método Simplex [email protected] En términos de Algebra Lineal, este concepto equivale a seleccionar m columnas de A y que éstas formen una base para Rm . Las columnas no seleccionadas corresponden a aquellas variables que se hacen cero deliberadamente. Una vez seleccionadas las columnas el nuevo sistema con el mismo vector de constantes debe resolverse. La solución obtenida se llama solución básica. En términos de matrices, tiene el significado que las variables que no se hacen cero deliberadamente forman una matriz invertible. El proceso para obtener una solución factible corresponde a tomar de A columnas para formar una matriz cuadrada que resulte invertible. Introducción Forma Estándar Definición Conversión Ejemplo Solución Básica Definición Ejemplo 1 Ejemplo 2 Solución Básica Factible Definición Ejemplo 1 Correspondencia Adyacencia Definición Ejemplo 1 Simplex Introducción al Método Simplex Determine las soluciones básicas al sistema: x1 + x2 = 3 − x2 + x3 = −1 [email protected] Introducción Forma Estándar Definición Conversión Ejemplo En este caso: m = 2 =número de ecuaciones y Solución Básica Definición n = 3 =número de incógnitas. Por tanto, las soluciones Ejemplo 1 Ejemplo 2 básicas se obtienen haciendo cero n − m = 3 − 2 = 1 Solución Básica variable. Siendo n = 3 el número de variables, tenemos: Factible Definición 3! 1 · 2 · Ejemplo 3 1 n! 3 n Correspondencia = = = = 1 n−m m! · (n − m)! 1! × (3 − 1)! 1 × 1 Adyacencia ·2 es decir, que en nuestro sistema se tienen 3 posibles soluciones básicas. Observe que da lo mismo seleccionar qué variables serán básicas (qué columnas se conservarán) o qué variables serán no básicas (columnas se borrarán). Definición Ejemplo 1 Simplex Revisemos cada alternativa: I VNBs = {x1 }. Haciendo x1 = 0 el sistema original queda: + − x2 x2 + x3 = = 3 −1 dando como solución : x1 = 0, x2 = 3 y x3 = 2. I VNBs = {x2 }. Haciendo x2 = 0 el sistema original queda: + x1 + x3 = = 3 −1 dando como solución : x1 = 3, x2 = 0 y x3 = −1. I VNBs = {x3 }. Haciendo x3 = 0 el sistema original queda: + x1 + − x2 x2 = = 3 −1 dando como solución : x1 = 2, x2 = 1 y x3 = 0. Introducción al Método Simplex Ejemplo 2 [email protected] Determine las soluciones básicas al sistema: Introducción x1 + 2 x2 + x3 = 1 2 x1 + 4 x2 + x3 = 3 En este ejemplo hay 3!/(1! × (3 − 1)!) = 3 posibles soluciones básicas. I VNBs = {x1 }. Haciendo x1 = 0 el sistema original queda: + 2 x2 + x3 = 1 + 4 x2 + x3 = 3 I dando como solución : x1 = 0, x2 = 1 y x3 = −1. VNBs = {x2 }. Haciendo x2 = 0 el sistema original queda: + x1 + x3 = 1 + 2 x1 + x3 = 3 dando como solución : x1 = 2, x2 = 0 y x3 = −1. Forma Estándar Definición Conversión Ejemplo Solución Básica Definición Ejemplo 1 Ejemplo 2 Solución Básica Factible Definición Ejemplo 1 Correspondencia Adyacencia Definición Ejemplo 1 Simplex I VNBs = {x3 }. Haciendo x3 = 0 el sistema original queda: x1 2 x1 + 2 x2 + 4 x2 = 1 = 3 este sistema es inconsistente. Por tanto, no hay solución básica correspondiente a VNBs = {x3 }. Solución básica Introducción al Método Simplex [email protected] Introducción Forma Estándar Definición Conversión Ejemplo Solución Básica Definición 1.3 Una solución básica factible (SBF) a un sistema de ecuaciones A x = b m × n (n ≥ m) es una solución básica con valores no negativos para las variables de decisión. Definición Ejemplo 1 Ejemplo 2 Solución Básica Factible Definición Ejemplo 1 Correspondencia Adyacencia Definición Ejemplo 1 Simplex Determina las soluciones básicas factibles del sistema estándar correspondiente a la región que definen las restricciones x1 + x2 ≤ 40 2 x1 + x2 ≤ 60 y x1 , x2 ≥ 0. La forma estándar es: Introducción al Método Simplex [email protected] Introducción Forma Estándar Definición Conversión Ejemplo Solución Básica Definición Ejemplo 1 Ejemplo 2 x1 + x2 + s1 = 40 2 x1 + x2 + s2 = 60 Solución Básica Factible y cumpliendo x1 , x2 , s1 , s2 ≥ 0. Y en la forma estándar n = 4 (número de variables) y m = 2 (número de ecuacion es), y por consiguiente el número de posibles soluciones básicas es: 1·2·3·4 4! n = =6 = m 2! · (4 − 2)! 1·2·1·2 Correspondencia Definición Ejemplo 1 Adyacencia Definición Ejemplo 1 Simplex En este caso desaparecemos 4 − 2 variables para obtener las SB: I VNBs = {x1 , x2 } → VB = {s1 = 40, s2 = 60} A(0,0) I VNBs = {x1 , s1 } → VB = {x2 = 40, s2 = 20} B(0,40) I VNBs = {x1 , s2 } → VB = {x2 = 60, s1 = −20} C(0,60), no es solución básica factible I VNBs = {x2 , s1 } → VB = {x1 = 40, s2 = −20} D(40,0), no es solución básica factible I VNBs = {x2 , s2 } → VB = {x1 = 30, s1 = 10} E(30,0) I VNBs = {s1 , s2 } → VB = {x1 = 20, x2 = 20} F(20,20) C (0, 60) B(0, 40) F (20, 20) D(40, 0) A(0, 0) E (30, 0) Figura : Relación entre SBFs y extremos de la RF Correspondencia Introducción al Método Simplex [email protected] Introducción Forma Estándar Un punto clave que relaciona la parte geométrica con la parte algebraica es el siguiente resultado teórico: Teorema La región factible a un modelo lineal corresponde a un conjunto convexo, y a cada extremo de la región le corresponde una SBF de su forma estándar y a cada SBF le corresponde un extremo de la región factible. Definición Conversión Ejemplo Solución Básica Definición Ejemplo 1 Ejemplo 2 Solución Básica Factible Definición Ejemplo 1 Correspondencia Adyacencia Definición Ejemplo 1 Simplex SBF Adyacentes Introducción al Método Simplex [email protected] Introducción Forma Estándar Definición Conversión Ejemplo Solución Básica Definición 1.4 Para un modelo PL con m restricciones, dos soluciones básicas factibles se dicen ser soluciones básicas factibles adyacentes si acaso tienen m − 1 variables básicas en común. Definición Ejemplo 1 Ejemplo 2 Solución Básica Factible Definición Ejemplo 1 Correspondencia Adyacencia Definición Ejemplo 1 Simplex Introducción al Método Simplex Ejemplo [email protected] Introducción Forma Estándar Determine las SBFs y encuentre sus relaciones de adyacencia al siguiente PL: Maximice z = 4 x1 + 3 x2 sujeto a: Definición Conversión Ejemplo Solución Básica Definición Ejemplo 1 Ejemplo 2 Solución Básica Factible Definición Ejemplo 1 x1 + x2 + s1 = 40 2 x1 + x2 + s2 = 60 y cumpliendo x1 , x2 , s1 , s2 ≥ 0. Correspondencia Adyacencia Definición Ejemplo 1 Simplex Este problema tiene como FBS: I VNBs = {x1 , x2 } → VB = {s1 = 40, s2 I VNBs = {x1 , s1 } → VB = {x2 = 40, s2 I VNBs = {x2 , s2 } → VB = {x1 = 30, s1 I VNBs = {s1 , s2 } → VB = {x1 = 20, x2 Son adyacentes: A(0,0) y B(0,40), A(0,0) y y E(30,0) y F(20,20). = 60} A(0,0) = 20} B(0,40) = 10} E(30,0) = 20} F(20,20) E(30,0), B(0,40) y F(20,20), B(0, 40) F (20, 20) A(0, 0) E (30, 0) Algoritmo Simplex Introducción al Método Simplex [email protected] El algoritmo Simplex procede de la siguiente manera: Introducción 1. Convierta el modelo PL a su forma estándar. 2. Obtenga una SBF a la forma estándar. 3. Determine si la SBF es óptima: Si hay una variable no básica cuyo aumento hace que el valor actual de la función a maximizar suba, entonces la solución actual no es óptima. 4. Si la SBF no es óptima, determine la variable no-básica que deberı́a convertise en básica (la de mayor impacto en la función objetivo) y cuál variable básica deberı́a convertise en una no-básica (la que impone una restricción mayor a la variable de mayor impacto). Con la selección anterior y usando operaciones elementales de renglón determine una SBF nueva adyacente a la anterior. 5. Reinicie con el paso 3 con la nueva SBF. Forma Estándar Definición Conversión Ejemplo Solución Básica Definición Ejemplo 1 Ejemplo 2 Solución Básica Factible Definición Ejemplo 1 Correspondencia Adyacencia Definición Ejemplo 1 Simplex