Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Aplicaciones de la programación lineal Profesor: Andr´as London. Universidad de Szeged Instituto de Informática Departamento de Optimización Computacional Conferencia 5 Matrices TU Programación Machine Translatedde by trabajo Google multiperíodo Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo Problema: CSL es una cadena de tiendas de servicios informáticos. El número de horas de tiempo de reparación calificado que CSL requiere durante los próximos cinco meses es como sigue: Matrices TU Programación Machine Translatedde by trabajo Google multiperíodo Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices TU Programación de trabajo multiperíodo Problema: CSL es una cadena de tiendas de servicios informáticos. El número de horas de tiempo de reparación calificado que CSL requiere durante los próximos cinco meses es como sigue: 1 Mes 1 (enero): 6.000 horas 2 Mes 2 (febrero): 7.000 horas 3 Mes 3 (marzo): 8.000 horas 4 Mes 4 (abril): 9.500 horas 5 Mes 5 (mayo): 11.000 horas Programación Machine Translatedde by trabajo Google multiperíodo Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo Supuestos y limitaciones: A principios de enero, 50 expertos Los técnicos trabajan para CSL. Cada técnico cualificado puede trabajar hasta 160 horas por mes. Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo Supuestos y limitaciones : A principios de enero, 50 expertos Los técnicos trabajan para CSL. Cada técnico cualificado puede trabajar hasta 160 horas por mes. Para satisfacer las demandas futuras, se deben contratar nuevos técnicos. entrenado. Se necesita un mes para formar a un nuevo técnico. Durante el mes de formación, un alumno debe ser supervisado durante 50 horas por un experto técnico. Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo Supuestos y limitaciones : A principios de enero, 50 expertos Los técnicos trabajan para CSL. Cada técnico cualificado puede trabajar hasta 160 horas por mes. Para satisfacer las demandas futuras, se deben contratar nuevos técnicos. entrenado. Se necesita un mes para formar a un nuevo técnico. Durante el mes de formación, un alumno debe ser supervisado durante 50 horas por un experto técnico. A cada técnico experimentado se le paga $2,000 al mes (incluso si o no trabaja las 160 horas completas). Durante el mes de entrenamiento, un El aprendiz gana 1.000 dólares al mes. Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices TU Programación de trabajo multiperíodo Supuestos y limitaciones : A principios de enero, 50 técnicos cualificados trabajan para CSL. Cada técnico calificado puede trabajar hasta 160 horas por mes. Para satisfacer las demandas futuras, se deben capacitar nuevos técnicos. Se necesita un mes para formar a un nuevo técnico. Durante el mes de capacitación, un técnico experimentado debe supervisar al alumno durante 50 horas. Cada técnico experimentado recibe un pago de $2000 al mes (incluso si no trabaja las 160 horas completas). Durante el mes de capacitación, un aprendiz recibe $1,000 por mes. Al final de cada mes, el 5% de los técnicos experimentados de CSL renunciaron para unirse a Plum Computers. Formule un LP cuya solución permitirá a CSL minimizar el costo laboral incurrido para cumplir con los requisitos de servicio durante los próximos cinco meses. Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo ­ solución CSL debe determinar la cantidad de técnicos que deben capacitarse durante el mes t (t = 1, 2, 3, 4, 5). Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo ­ solución CSL debe determinar la cantidad de técnicos que deben capacitarse durante el mes t (t = 1, 2, 3, 4, 5). Así, definimos xt = número de técnicos capacitados durante el mes t(= 1, 2, 3, 4, 5) Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo ­ solución CSL debe determinar la cantidad de técnicos que deben capacitarse durante el mes t (t = 1, 2, 3, 4, 5). Así, definimos xt = número de técnicos capacitados durante el mes t(= 1, 2, 3, 4, 5) CSL quiere minimizar el coste laboral total durante los próximos cinco meses Costo laboral total = costo (aprendices) + costo (técnicos experimentados) Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo ­ solución CSL debe determinar la cantidad de técnicos que deben capacitarse durante el mes t (t = 1, 2, 3, 4, 5). Así, definimos xt = número de técnicos capacitados durante el mes t(= 1, 2, 3, 4, 5) CSL quiere minimizar el coste laboral total durante los próximos cinco meses Costo laboral total = costo (aprendices) + costo (técnicos experimentados) Para expresar el costo de pagar a técnicos experimentados, debemos definir yt = número de técnicos experimentados al inicio del mes t Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo ­ solución CSL debe determinar el número de técnicos que deben capacitarse durante el mes t (t = 1, 2, 3, 4, 5). Así, definimos xt = número de técnicos capacitados durante el mes t(= 1, 2, 3, 4, 5) CSL quiere minimizar el coste laboral total durante los próximos cinco meses Costo laboral total = costo (aprendices) + costo (técnicos experimentados) Para expresar el costo de pagar a técnicos experimentados, debemos definir yt = número de técnicos experimentados al inicio del mes t Entonces el costo laboral total es z = (1000x1 + 1000x2 + 1000x3 + 1000x4 + 1000x5)+ +(2000y1 + 2000y2 + 2000y3 + 2000y4 + 2000y5) que CLS quiere minimizar. Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo ­ solución ¿Qué limitaciones enfrenta CSL? Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo ­ solución ¿Qué limitaciones enfrenta CSL? Tenga en cuenta que se nos da y1 = 50, y que para t = 1, 2, 3, 4, 5, CSL debe garantizar que Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo ­ solución ¿Qué limitaciones enfrenta CSL? Tenga en cuenta que se nos da y1 = 50, y que para t = 1, 2, 3, 4, 5, CSL debe garantizar que Número de horas de técnico disponibles durante el mes t ≥ Número de horas de técnico requeridas durante el mes t Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo ­ solución ¿Qué limitaciones enfrenta CSL? Tenga en cuenta que se nos da y1 = 50, y que para t = 1, 2, 3, 4, 5, CSL debe garantizar que Número de horas de técnico disponibles durante el mes t ≥ Número de horas de técnico requeridas durante el mes t Debido a que cada alumno requiere 50 horas de tiempo de técnico experimentado, y cada técnico calificado está disponible durante 160 horas al mes, Número de horas de técnico disponibles durante el mes t = 160yt + 50xt Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo ­ solución ¿Qué limitaciones enfrenta CSL? Tenga en cuenta que se nos da y1 = 50, y que para t = 1, 2, 3, 4, 5, CSL debe garantizar que Número de horas de técnico disponibles durante el mes t ≥ Número de horas de técnico requeridas durante el mes t Debido a que cada alumno requiere 50 horas de tiempo de técnico experimentado y cada técnico calificado está disponible durante 160 horas por mes, Número de horas de técnico disponibles durante el mes t = 160yt + 50xt Esto produce las siguientes cinco restricciones: 1 160y1 − 50x1 ≥ 6000 (restricción del mes 1) 2 160y2 − 50x2 ≥ 7000 (restricción del mes 2) 3 160y3 − 50x3 ≥ 8000 (restricción del mes 3) 4 160y4 − 50x4 ≥ 9500 (restricción del mes 4) 5 160 y5 − 50x5 ≥ 11000 (restricción del mes 5) Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo ­ solución Tenga en cuenta que: Técnicos experimentados disponibles al inicio del mes t = Experimentados técnicos disponibles al inicio del mes (t − 1) + técnicos capacitados durante el mes (t − 1): técnicos experimentados que renunciaron durante el mes (t­1). Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo ­ solución Tenga en cuenta que: Técnicos experimentados disponibles al inicio del mes t = Experimentados técnicos disponibles al inicio del mes (t − 1) + técnicos capacitados durante el mes (t − 1): técnicos experimentados que renunciaron durante el mes (t­1). Para febrero, esto arroja y2 = y1 + x1 − 0,05y1 o y2 = 0,95y1 + x1 Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Programación de trabajo multiperíodo ­ solución Tenga en cuenta que: Técnicos con experiencia disponibles al comienzo del mes t = Técnicos con experiencia disponibles al comienzo del mes (t − 1) + técnicos capacitados durante el mes (t − 1) ­ técnicos con experiencia que renunciaron durante el mes (t − 1). Para febrero, esto arroja y2 = y1 + x1 − 0,05y1 o y2 = 0,95y1 + x1 De manera similar, para marzo, los rendimientos y3 = 0,95y2 + x2 y para abril y4 = 0,95y3 + x3 y para mayo, y5 = 0,95y4 + x4 Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices TU Programación de trabajo multiperíodo ­ solución Sumando las restricciones de signo xt ≥ 0 e yt ≥ 0 (t = 1, 2, 3, 4, 5), obtenemos el siguiente LP: Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices TU Programación de trabajo multiperíodo ­ solución Sumando las restricciones de signo xt ≥ 0 e yt ≥ 0 (t = 1, 2, 3, 4, 5), obtenemos el siguiente LP: Machine Translatedde by trabajo Google multiperíodo Programación Vectores Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Vectores Escalar = un número; puede ser real (π = 3,14 . . .), racional (3/4), entero (5, ­8), etc. Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Vectores Escalar = un número; puede ser real (π = 3,14...), racional (3/4), entero (5, ­8), etc. Vector = secuencia de números, por ejemplo (3, 1, 0, 2), a menudo usamos 3 escriba x = 3 2 0 1 vector sin procesar, o x = 1 0 2 vector de columna Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Vectores Escalar = un número; puede ser real (π = 3,14...), racional (3/4), entero (5, ­8), etc. Vector = secuencia de números, por ejemplo (3, 1, 0, 2), a menudo usamos 3 escriba x = 3 2 0 1 vector sin procesar, o x = 1 0 2 multiplicando x = x1 x2 . . . xn por un: hacha = ax1 ax2 ∙ ∙ ∙ axn vector de columna Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Vectores Escalar = un número; puede ser real (π = 3,14...), racional (3/4), entero (5, ­8), etc. Vector = secuencia de números, por ejemplo (3, 1, 0, 2), a menudo usamos 3 escriba x = 3 2 0 1 vector sin procesar, o x = 1 0 vector de columna 2 multiplicando x = x1 x2 . . . xn por un: hacha = ax1 ax2 ∙ ∙ ∙ axn suma de x = x1 x2 . . . xn e y = y1 y2 . . . yn vectores (del mismo tamaño): Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Vectores Escalar = un número; puede ser real (π = 3,14...), racional (3/4), entero (5, ­8), etc. Vector = secuencia de números, por ejemplo (3, 1, 0, 2), a menudo usamos 3 escriba x = 3 2 0 1 vector sin procesar, o x = 1 0 vector de columna 2 multiplicando x = x1 x2 . . . xn por un: hacha = ax1 ax2 ∙ ∙ ∙ axn suma de x = x1 x2 . . . xn e y = y1 y2 . . . yn vectores (del mismo tamaño): x + y = x1 + y1 x2 + y2 . . . xn + yn Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Vectores producto escalar de x = x1 x2 . . . xn e y = y1 y2 . . . yn vectores (del mismo tamaño): xy = x1y1 + x2y2 ∙ ∙ ∙ + xnyn Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Vectores producto escalar de x = x1 x2 . . . xn e y = y1 y2 . . . yn vectores (del mismo tamaño): xy = x1y1 + x2y2 ∙ ∙ ∙ + xnyn x e y ortogonales, si xy = 0 Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial matrices Matriz = matriz bidimensional de números, por ejemplo 1 0 3 1 3240 Una = 2301 0412 Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial matrices Matriz = matriz bidimensional de números, por ejemplo 1 0 3 1 3240 Una = 2301 0412 matriz m × n: Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial matrices Matriz = matriz bidimensional de números, por ejemplo 1 031 3240 Una = 2301 0412 matriz m × n: multiplicar una matriz por un escalar: Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal matrices Sumar matrices del mismo tamaño. Álg. simplex. en formulación matricial Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices TU matrices Sumar matrices del mismo tamaño. multiplicar matrices : A de tamaño n × m­es multiplicado por B de m × k Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices TU matrices Sumar matrices del mismo tamaño. multiplicar matrices : A de tamaño n × m­es multiplicado por B de m × k Tenga en cuenta que AB = BA excepto por esto, la suma y multiplicación de matrices obedecen exactamente a Mismas leyes que los números. de ahora en adelante el vector con m entradas debe tratarse como una matriz am × n (columna) Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial matrices multiplicar una matriz por un vector = como multiplicar dos matrices Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial matrices multiplicar una matriz por un vector = como multiplicar dos matrices transpuesta de una matriz: Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal matrices multiplicar una matriz por un vector = como multiplicar dos matrices transpuesta de una matriz: Tenga en cuenta que (EN ) t = A y (AB) t = BT EN Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Sistema de ecuaciones lineales. Un sistema de ecuaciones lineales tiene la siguiente forma Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices TU Sistema de ecuaciones lineales. Un sistema de ecuaciones lineales tiene la siguiente forma Usando la notación matricial podemos simplemente escribirlo como Ax = b, donde Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Sistema de ecuaciones lineales. Por ejemplo Álg. simplex. en formulación matricial Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Sistema de ecuaciones lineales. Por ejemplo Multipliquemos (desde la izquierda) ambos lados de la ecuación por este matriz Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Sistema de ecuaciones lineales. Por ejemplo Multipliquemos (desde la izquierda) ambos lados de la ecuación por este matriz Esta operación no cambia las soluciones de este sistema. (determinante = 0) Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Sistema de ecuaciones lineales. Podemos expandirlo nuevamente al sistema de ecuaciones lineales. Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Sistema de ecuaciones lineales. Podemos expandirlo nuevamente al sistema de ecuaciones lineales. El sistema de la derecha está en forma de diccionario : en particular, podemos establezca x4 = 0 en cuyo caso tenemos una solución básica. Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Sistema de ecuaciones lineales. Podemos expandirlo nuevamente al sistema de ecuaciones lineales. El sistema de la derecha está en forma de diccionario : en particular, podemos establezca x4 = 0 en cuyo caso tenemos una solución básica. ¿Cómo elegimos la matriz para multiplicar? Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Sistema de ecuaciones lineales. Podemos expandirlo nuevamente al sistema de ecuaciones lineales. El sistema de la derecha está en forma de diccionario : en particular, podemos establezca x4 = 0 en cuyo caso tenemos una solución básica. ¿Cómo elegimos la matriz para multiplicar? = podemos elegir la matriz inversa de las tres primeras columnas de A. Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Sistema de ecuaciones lineales. Podemos expandirlo nuevamente al sistema de ecuaciones lineales. El sistema de la derecha está en forma de diccionario : en particular, podemos establezca x4 = 0 en cuyo caso tenemos una solución básica. ¿Cómo elegimos la matriz para multiplicar? = podemos elegir la matriz inversa de las tres primeras columnas de A. la inversa de A es una matriz A−1 , para la cual AA−1 = A−1A = I (I es la matriz de identidad) Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Álg. simplex. en formulación matricial Dado un LP en forma estándar: norte aijxj ≤bi _ yo = 1,2, . . . , metro j=1 xj ≥ 0 maxn cjxj j=1 j = 1,2, . . . , norte Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Álg. simplex. en formulación matricial Dado un LP en forma estándar: norte aijxj ≤bi _ yo = 1,2, . . . , metro j=1 xj ≥ 0 maxn j = 1,2, . . . , norte cjxj j=1 Sumando las variables artificiales no negativas: norte aijxj + xn+i = bi yo = 1,2, . . . , metro j=1 xj ≥ 0 maxn cjxj j=1 j = 1,2, . . . , norte + metro Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Matrices TU Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial En forma matricial podemos escribir como: x1 x2 .. . a11 a12 ∙ ∙ ∙ a1n 1 a21 a22 ∙ ∙ ∙ a2n .. . am1 am2 ∙ ∙ ∙ amn 1 .. ∙ . 1 xn xn+1 .. . xn+m b1 = b2 .. . bm Machine Translatedde by trabajo Google multiperíodo Programación Matrices TU Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial En forma matricial podemos escribir como: x1 x2 .. . a11 a12 ∙ ∙ ∙ a1n 1 a21 a22 ∙ ∙ ∙ a2n .. . am1 am2 ∙ ∙ ∙ amn 1 .. ∙ b1 = xn . xn+1 .. . 1 x1 x2 .. . xn xn+1 .. . xn+m .. . bm xn+m c1 c2 ∙ ∙ ∙ cn 0 ∙ ∙ ∙ 0 ∙ b2 =z Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices y vectores utilizados: Álg. simplex. en formulación matricial Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Álg. simplex. en formulación matricial Matrices y vectores utilizados: a11 a12 ∙ ∙ ∙ a1n 1 Una = a21 a22 ∙ ∙ ∙ a2n .. . am1 am2 ∙ ∙ ∙ amn 1 .. . 1 Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices y vectores utilizados: a11 a12 ∙ ∙ ∙ a1n 1 Una = a21 a22 ∙ ∙ ∙ a2n 1 .. . .. 1 am1 am2 ∙ ∙ ∙ amn x1 c1 x2 c2 .. . .. . x= xn c= cn xn+2 0 xn+m 0 .. . . .. . b1 b2 segundo = .. . bm Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial El problema es en forma matricial entonces. hacha = b x≥0 máx c T X Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial El problema es en forma matricial entonces. hacha = b x≥0 máx c T X Sabemos que un diccionario está determinado únicamente por sus variables básicas. Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial El problema es en forma matricial entonces. hacha = b x≥0 máx c T X Sabemos que un diccionario está determinado únicamente por sus variables básicas. sea B el conjunto de índices de las variables básicas, N sea el conjunto de índices de las variables no básicas Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial El problema es en forma matricial entonces. hacha = b x≥0 máx c T X Sabemos que un diccionario está determinado únicamente por sus variables básicas. sea B el conjunto de índices de las variables básicas, N sea el conjunto de índices de las variables no básicas Divida las matrices y los vectores en dos partes, según el rol (básico o no básicos) de sus elementos en el diccionario Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Álg. simplex. en formulación matricial Sea B la matriz base formada tomando las columnas de A correspondiente a las variables básicas xB Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Álg. simplex. en formulación matricial Sea B la matriz base formada tomando las columnas de A correspondiente a las variables básicas xB Sea N las columnas de A correspondientes a las variables no básicas. en xN Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial Sea B la matriz base formada tomando las columnas de A correspondiente a las variables básicas xB Sea N las columnas de A correspondientes a las variables no básicas. en xN Divide los vectores como c = CB cn , x= xB xN Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial obtenemos que Hacha = BN xB xN = BxB + NxN Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial obtenemos que Hacha = BN Tcx = cBcN _ xB xN xB xN = BxB + NxN =c t BxB +c t norte x norte Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial obtenemos que xB Hacha = BN = BxB + NxN xN xB Tcx = cBcN _ =c xN t BxB +c t norte x norte y por tanto el problema de optimización queda dado en la forma: BxB + NxN = bx ≥ 0 máx c T BxB +c t norte x norte Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Álg. simplex. en formulación matricial Suponiendo que B es invertible, podemos reescribir: Matrices TU Programación Machine Translatedde by trabajo Google multiperíodo Descripción general del álgebra lineal Álg. simplex. en formulación matricial Suponiendo que B es invertible, podemos reescribir: hacha = b Álg. simplex. en formulación matricial Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Álg. simplex. en formulación matricial Suponiendo que B es invertible, podemos reescribir: hacha = b BxB + NxN = b Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Álg. simplex. en formulación matricial Suponiendo que B es invertible, podemos reescribir: hacha = b BxB + NxN = b B­1 (BxB + NxN ) = B­1 b Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Álg. simplex. en formulación matricial Suponiendo que B es invertible, podemos reescribir: hacha = b BxB + NxN = b B­1 (BxB + NxN ) = B­1 b B−1BxB + B−1NxN = B−1 b Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Álg. simplex. en formulación matricial Suponiendo que B es invertible, podemos reescribir: hacha = b BxB + NxN = b B­1 (BxB + NxN ) = B­1 b B−1BxB + B−1NxN = B−1 b xB + B−1NxN = B−1 b Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Álg. simplex. en formulación matricial Suponiendo que B es invertible, podemos reescribir: hacha = b BxB + NxN = b B­1 (BxB + NxN ) = B­1 b B−1BxB + B−1NxN = B−1 b xB + B−1NxN = B−1 b xB = B−1 b − B−1NxN Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial Suponiendo que B es invertible, podemos reescribir: hacha = b BxB + NxN = b B­1 (BxB + NxN ) = B­1 b B−1BxB + B−1NxN = B−1 b xB + B−1NxN = B−1 b xB = B−1 b − B−1NxN Ahora podemos sustituir xB en la función objetivo. t z = cx = c T t BxB + c norte x norte Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial Suponiendo que B es invertible, podemos reescribir: hacha = b BxB + NxN = b B­1 (BxB + NxN ) = B­1 b B−1BxB + B−1NxN = B−1 b xB + B−1NxN = B−1 b xB = B−1 b − B−1NxN Ahora podemos sustituir xB en la función objetivo. z = cx =t c =c T t t norte x norte BxB + c t B (B−1 b − B−1NxN ) + c norte x norte Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial Suponiendo que B es invertible, podemos reescribir: hacha = b BxB + NxN = b B­1 (BxB + NxN ) = B­1 b B−1BxB + B−1NxN = B−1 b xB + B−1NxN = B−1 b xB = B−1 b − B−1NxN Ahora podemos sustituir xB en la función objetivo. t z = cx = c T t BxB + c =c =c t B (B−1 norte x norte t b − B−1NxN ) + c norte x norte t t BB−1 b + (cnorte ­ cBB−1N)xN t Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Álg. simplex. en formulación matricial Lo juntamos para obtener el diccionario correspondiente: −1 xB = B z=c T CAMA Y DESAYUNO b − B −1NxN −1 T t b + (c norte ­ cBB −1N)xN Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Matrices TU Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial Lo juntamos para obtener el diccionario correspondiente: −1 xB = B z=c T CAMA Y DESAYUNO b − B −1NxN −1 t T b + (c norte ­ cBB −1N)xN La solución básica, cuando xN = 0 viene dada por: xB = B−1 b, con el valor de la función objetivo: z = c BB−1 b. t Machine Translatedde by trabajo Google multiperíodo Programación Matrices TU Álg. simplex. en formulación matricial Descripción general del álgebra lineal Álg. simplex. en formulación matricial Lo juntamos para obtener el diccionario correspondiente: −1 xB = B z=c T CAMA Y DESAYUNO b − B −1NxN −1 t T b + (c norte ­ cBB −1N)xN La solución básica, cuando xN = 0 viene dada por: xB = B−1 b, con el valor de la función objetivo: z = c BB−1 b. t t t La solución es óptima(máxima) si, si c N − c los BB−1N ≤ 0, significa que coeficientes constantes de las variables no básicas no son positivos. Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices totalmente unimodulares Una matriz cuadrada A es totalmente unimodular (TU) si todos sus cuadrados submatriz tiene determinante 1, −1 o 0. (Se deduce que una matriz TU tiene sólo 0, +1 o −1 entradas) Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices TU Matrices totalmente unimodulares Una matriz cuadrada A es totalmente unimodular (TU) si todos sus cuadrados submatriz tiene determinante 1, −1 o 0. (Se deduce que una matriz TU tiene sólo 0, +1 o −1 entradas) Teorema. Si A es totalmente unimodular, todas las entradas de los vectores b y c son t x st Ax ≤ b lineal números enteros, entonces las soluciones básicas de max c programa son números enteros. En otras palabras, las coordenadas de los puntos de las esquinas. del poliedro P = {x : Ax ≤ b} son números enteros. Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Matrices TU Matrices totalmente unimodulares Una matriz cuadrada A es totalmente unimodular (TU) si cada una de sus submatrices cuadradas tiene determinante 1, −1 o 0. (De ello se deduce que una matriz TU tiene solo 0, +1 o −1 entradas) Teorema. Si A es totalmente unimodular, todas las entradas de los vectores byc son números t x st Ax ≤ b lineal enteros, entonces las soluciones básicas del programa max c son números enteros. En otras palabras, las coordenadas de los puntos de las esquinas del poliedro P = {x : Ax ≤ b} son números enteros. Prueba. El diccionario para la solución básica xB se proporciona en la forma −1xB = B b − B −1NxN z=c T CAMA Y DESAYUNO −1 t t norte ­ cBB −1N)xN segundo + (c Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices totalmente unimodulares Podemos calcular las entradas de B−1 usando la regla de Cramer, tal que Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Descripción general del álgebra lineal Álg. simplex. en formulación matricial Matrices totalmente unimodulares Podemos calcular las entradas de B−1 usando la regla de Cramer, tal que (B −1 )i,j = (−1)i+j det(Bji) det(B) donde Bij es la matriz obtenida de B omitiendo j sin procesar y la columna i. Matrices TU Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Matrices TU Matrices totalmente unimodulares Podemos calcular las entradas de B−1 usando la regla de Cramer, tal que (B −1 = (−1)i+j det(Bji) )i,j det(B) donde Bij es la matriz obtenida de B omitiendo j sin procesar y la columna i. Como ahora A es TU y det(B) = 0, entonces det(B) = ±1. Es fácil ver que cada entrada de Bji es un número entero. Como xB = B−1 b se deduce inmediatamente que xB es un vector entero. Machine Translatedde by trabajo Google multiperíodo Programación Álg. simplex. en formulación matricial Descripción general del álgebra lineal Matrices TU Matrices totalmente unimodulares Podemos calcular las entradas de B−1 usando la regla de Cramer, tal que (B −1 = (−1)i+j det(Bji) )i,j det(B) donde Bij es la matriz obtenida de B omitiendo j sin procesar y la columna i. Como ahora A es TU y det(B) = 0, entonces det(B) = ±1. Es fácil ver que cada entrada de Bji es un número entero. Como xB = B−1 b se deduce inmediatamente que xB es un vector entero. Observación. No es obvio cómo decidir si una matriz determinada es TU o no. La buena noticia es que se pueden caracterizar matrices TU; además, se puede proporcionar un algoritmo rápido para decidir esta característica.