Uploaded by Javier Carrasco

Programacion lineal

advertisement
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.
Download