Investigación de Operaciones 1 Clase 13 Pablo Andrés Maya Junio, 2014 Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 1 / 28 El algoritmo Simplex Resuelva el siguiente problema haciendo uso del algoritmo Simplex max z = 40x1 + 60x2 s.a. 2x1 + x2 ≤ 70 x1 + x2 ≤ 40 x1 + 3x2 ≤ 90 x1 , x2 ≥ 0 Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 2 / 28 El algoritmo Simplex es un procedimiento algebraico que generaliza los conceptos geométricos que ya hemos visto Objetivo Definir y describir el algoritmo Simplex desde un punto de vista algebraico Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 3 / 28 Programa lineal Considere el sigiente programa lineal en forma estandar max z = cT x s.a. Ax = b x≥0 c1 x1 a11 c2 x2 a21 c = . ,x = . ,A = . .. .. .. cn Pablo Andrés Maya () xn a12 a22 am1 am2 Investigación de Operaciones 1 a1n b1 a2n b2 , b = .. . . . . amn bm ... ... Junio, 2014 4 / 28 Algoritmo Simplex revisado Usualmente n > m, y asumiremos que rango(A, b) = rango(A) = m Reorganizamos las columnas de A de modo que: Las primeras m columnas son linealmente independientes y forman la base B Las restantes n − m columnas forman la matriz N El conjunto de variables tambien puede reordenarse de modo que xB sean las variables asociadas a las columnas en B y xN sean las variables asociadas a las columnas en N x x= B xN Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 5 / 28 Algoritmo Simplex revisado En una solución básica las variables xN toman el valor de cero y el valor de las variables xB se encuentra comno la solución del sistema BxB = b. Es decir −1 x B b x= B = xN 0 La solución es básica factible si ademas xB = B−1 b ≥ 0 Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 6 / 28 Ejemplo Considere el siguiente programa lineal max z = 3x1 + x2 s.a. − x1 + x2 + x3 = 2 x1 + x2 + x4 = 5 x1 + 2x2 + x5 = 6 xi ≥ 0∀i = 1, 2, 3, 4, 5 3 x1 1 x2 −1 1 1 0 0 2 , x = x3 , A = 1 1 0 1 0 , b = 5 0 c= 0 x4 1 2 0 0 1 6 0 x5 Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 7 / 28 Ejemplo Sea −1 1 1 B = 1 1 0 1 2 0 x= Pablo Andrés Maya () xB xN x1 4 x 0 , xN = 4 = , xB = x2 = 1 x5 0 x3 5 Investigación de Operaciones 1 Junio, 2014 8 / 28 Ejemplo Sea −1 1 0 B = 1 1 0 1 2 1 x= Pablo Andrés Maya () xB xN x1 1.5 x 0 , xN = 3 = , xB = x2 = 3.5 x4 0 x5 −2.5 Investigación de Operaciones 1 Junio, 2014 9 / 28 Pregunta Cúal es el numero máximo de soluciones básicas de este problema? Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 10 / 28 Equivalente canonico Re-escribamos el sistema Ax = b en términos de las variables no básicas: xB = B−1 b − B−1 NxN Reescribamos también la función objetivo T z = cT x = cT B xB + cN xN −1 T T −1 z = cT B B b + cN − cB B N xN Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 11 / 28 Notación Consedere una SBF definida por la base B. Sea: IB IN b = B−1 b N = B−1 N z = cT Bb T T −1 cN = cT N − cB B N Pablo Andrés Maya () Conjunto de indices asociados a las variables básicas Conjunto de indices asociados a las variables NO básicas Vector de recursos actualizado Matriz de columnas no básicas actualizada Valor de la FO actualizado Coeficiente actualizado de las variables no básicas (Costos reducidos) Investigación de Operaciones 1 Junio, 2014 12 / 28 Re-escribamos el programa lineal max z = z + cT N xN s.a. xB = b − NxN x≥0 Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 13 / 28 Re-escribamos el programa lineal X max z = z + c j xj j∈IN s.a. xB = b − X aj xj j∈IN x≥0 Podemos visualizar el efecto que genera en la función objetivo y en las variables básicas el modificar alguna variable no básica Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 14 / 28 Preguntas Optimalidad Cómo determinar si una SBF es óptima? Búsqueda A cúal SBF adjacente debemos movernos? Cúal variable no básica debe entrar a la base? (Costos Reducidos) Cúal valor debe tomar la variable entrante y cual variable básica debe salir de la base? (Criterio de la razón minima) Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 15 / 28 El algoritmo Simplex Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 16 / 28 Ejercicio Resuelva el siguiente programa lineal max z = 2x1 + 3x2 + 7x3 + 9x4 s.a. x1 + x2 + x3 + x4 ≤ 9 x1 + 2x2 + 4x3 + 8x4 ≤ 24 xi ≥ 0 ∀i = 1 . . . 4 Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 17 / 28 Ejercicio El problema en forma estandar max z = 2x1 + 3x2 + 7x3 + 9x4 s.a. x1 + x2 + x3 + x4 + x5 = 9 x1 + 2x2 + 4x3 + 8x4 + x6 = 24 xi ≥ 0 ∀i = 1 . . . 6 Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 18 / 28 Ejercicio Iteración 0 IB = {5, 6} , IN = {1, 2, 3, 4} 2 3 1 0 1 1 1 1 0 B= ,N = , CB = , CN = 7 0 1 1 2 4 8 0 9 1 0 1 1 1 1 B−1 = ,N = 0 1 1 2 4 8 0 0 9 xB = b = , xN = 0 24 0 Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 19 / 28 Ejercicio Iteración 0 T T −1 La solución es óptima? (CN = CT N − CB B N) T CN = 2 3 7 9 − 0 T CN = 2 Pablo Andrés Maya () 1 0 0 3 7 Investigación de Operaciones 1 0 1 1 1 1 2 1 4 1 8 9 Junio, 2014 20 / 28 Ejercicio Iteración 0 T T −1 La solución es óptima? (CN = CT N − CB B N) T CN = 2 3 7 9 − 0 T CN = 2 1 0 0 3 7 0 1 1 1 1 2 1 4 1 8 9 x4 entra a la base A cual SBF adjacente movernos (Criterio de la razón minima) min i∈IB |aik >0 Pablo Andrés Maya () bi aik = min Investigación de Operaciones 1 9 24 , 1 8 Junio, 2014 20 / 28 Ejercicio Iteración 0 T T −1 La solución es óptima? (CN = CT N − CB B N) T CN = 2 3 7 9 − 0 T CN = 2 1 0 0 3 7 0 1 1 1 1 2 1 4 1 8 9 x4 entra a la base A cual SBF adjacente movernos (Criterio de la razón minima) min i∈IB |aik >0 bi aik = min 9 24 , 1 8 x6 sale de la base Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 20 / 28 Ejercicio Iteración 1 IB = {4, 5} , IN = {1, 2, 3, 6} 2 3 1 1 1 1 1 0 9 B= ,N = , CB = , CN = 7 8 0 1 2 4 1 0 0 0 1/8 1/8 1/4 1/2 1/8 B−1 = ,N = 1 −1/8 7/8 3/4 1/2 −1/8 0 0 3 xB = b = , xN = 0 6 0 Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 21 / 28 Ejercicio Iteración 1 T T −1 La solución es óptima? (CN = CT N − CB B N) T CN = 2 3 7 0 − 9 T CN = 7/8 Pablo Andrés Maya () 0 1/8 1/4 1/2 7/8 3/4 1/2 3/4 5/2 Investigación de Operaciones 1 1/8 −1/8 −9/8 Junio, 2014 22 / 28 Ejercicio Iteración 1 T T −1 La solución es óptima? (CN = CT N − CB B N) T CN = 2 3 7 0 − 9 T CN = 7/8 0 1/8 1/4 1/2 7/8 3/4 1/2 3/4 5/2 1/8 −1/8 −9/8 x3 entra a la base A cual SBF adjacente movernos (Criterio de la razón minima) min i∈IB |aik >0 Pablo Andrés Maya () bi aik = min Investigación de Operaciones 1 6 3 , 1/2 1/2 Junio, 2014 22 / 28 Ejercicio Iteración 1 T T −1 La solución es óptima? (CN = CT N − CB B N) T CN = 2 3 7 0 − 9 T CN = 7/8 0 1/8 1/4 1/2 7/8 3/4 1/2 3/4 5/2 1/8 −1/8 −9/8 x3 entra a la base A cual SBF adjacente movernos (Criterio de la razón minima) min i∈IB |aik >0 bi aik = min 6 3 , 1/2 1/2 x4 sale de la base Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 22 / 28 Ejercicio Iteración 2 IB = {3, 5} , IN = {1, 2, 4, 6} 2 3 1 1 1 1 1 0 7 B= ,N = , CB = , CN = 9 4 0 1 2 8 1 0 0 0 1/4 1/4 1/2 2 1/4 B−1 = ,N = 1 −1/4 3/4 1/2 −1 −2/8 0 0 6 xB = b = , xN = 0 3 0 Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 23 / 28 Ejercicio Iteración 2 T T −1 La solución es óptima? (CN = CT N − CB B N) T CN = 2 3 9 0 − 7 T CN = 2/8 Pablo Andrés Maya () 0 1/4 1/2 3/4 1/2 −2/4 −5 Investigación de Operaciones 1 2 −1 1/4 −2/8 −14/8 Junio, 2014 24 / 28 Ejercicio Iteración 2 T T −1 La solución es óptima? (CN = CT N − CB B N) T CN = 2 3 9 0 − 7 T CN = 2/8 0 1/4 1/2 3/4 1/2 −2/4 −5 2 −1 1/4 −2/8 −14/8 x1 entra a la base A cual SBF adjacente movernos (Criterio de la razón minima) min i∈IB |aik >0 Pablo Andrés Maya () bi aik = min Investigación de Operaciones 1 3 6 , 1/4 3/4 Junio, 2014 24 / 28 Ejercicio Iteración 2 T T −1 La solución es óptima? (CN = CT N − CB B N) T CN = 2 3 9 0 − 7 T CN = 2/8 0 1/4 1/2 3/4 1/2 −2/4 −5 2 −1 1/4 −2/8 −14/8 x1 entra a la base A cual SBF adjacente movernos (Criterio de la razón minima) min i∈IB |aik >0 bi aik = min 3 6 , 1/4 3/4 x5 sale de la base Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 24 / 28 Ejercicio Iteración 3 IB = {1, 3} , IN = {2, 4, 5, 6} 3 9 1 1 1 1 1 0 2 B= ,N = , CB = , CN = 0 1 4 2 8 0 1 7 0 4/3 −1/3 2/3 −4/3 4/3 −1/3 −1 B = ,N = −1/3 1/3 1/3 7/3 −1/3 1/3 0 0 4 xB = b = , xN = 0 5 0 Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 25 / 28 Ejercicio Iteración 3 T T −1 La solución es óptima? (CN = CT N − CB B N) T CN = 3 9 0 0 − 2 T CN = −2/3 Pablo Andrés Maya () 2/3 7 1/3 −14/3 −4/3 7/3 −1/3 Investigación de Operaciones 1 4/3 −1/3 −1/3 1/3 −5/3 Junio, 2014 26 / 28 Ejercicio Iteración 3 T T −1 La solución es óptima? (CN = CT N − CB B N) T CN = 3 9 0 0 − 2 T CN = −2/3 2/3 7 1/3 −14/3 −4/3 7/3 −1/3 4/3 −1/3 −1/3 1/3 −5/3 La solución es óptima Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 26 / 28 Ejercicio Resuleva el siguiente programa lineal max z = 2x1 + x2 − x3 + 5x4 s.a. x1 + x2 + 2x3 + x4 ≤ 6 x1 + 3x2 − x3 + 5x4 ≤ 15 xi ≥ 0 ∀i = 1 . . . 4 Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 27 / 28 Ejercicio Resuleva el siguiente programa lineal min z = 4x1 − x2 s.a. − x1 + x2 ≥ 2 x1 + 2x2 ≥ 6 x1 , x2 ≥ 0 Pablo Andrés Maya () Investigación de Operaciones 1 Junio, 2014 28 / 28