370 likes | 768 Views
Dualidad. Multiplicadores Importantes en problemas de optimización Dualidad Justificación de esta importancia Resultados teóricos Aplicación práctica: Análisis de sensibilidad. Dualidad. Problema lineal (primal) y condiciones de extremo:
E N D
Dualidad • Multiplicadores • Importantes en problemas de optimización • Dualidad • Justificación de esta importancia • Resultados teóricos • Aplicación práctica: • Análisis de sensibilidad
Dualidad • Problema lineal (primal) y condiciones de extremo: Ax b min cTxAT = c s.a Ax b 0 T (Ax- b ) = 0 • Condiciones lineales y cuadráticas • Tanto en x como en
Dualidad • ¿Existe un problema en con las condiciones de extremo anteriores? Ax b AT = c max bT 0 s.a AT = c T(Ax- b ) = 0 0 • Problema dual • Las variables son los multiplicadores
Dualidad • Propiedades: • Solución de ambos problemas es la misma • Multiplicadores del primal: variables del dual • Variables del primal: multiplicadores del dual • Es indiferente resolver uno u otro • Pero el coste computacional no es el mismo • Problema dual del dual: primal
Dualidad • Otras propiedades: • Dualidad débil • Para dos puntos factibles: x (factible primal) y (factible dual) cTxbT • Los valores del dual son cotas del primal • En los óptimos respectivos, cTx*=bT*
Dualidad • Justificación del resultado de dualidad débil • Si x y son factibles, AT = c TAx = cTx Ax b , 0 TAx bT cTx bT • Si x y son además óptimos, T(Ax - b ) = 0 TAx = bT cTx = bT
Dualidad • Otras propiedades: • Dualidad fuerte • Para un problema primal (P) y su dual (D), • Si (P) es óptimo, (D) es óptimo (con la misma solución) • Si (P) no está acotado, (D) no es factible • Si (P) no es factible, (D) no es factible o no está acotado
Dualidad • Justificación de dualidad fuerte • Si uno de los problemas es óptimo, los multiplicadores son óptimos para el otro • Si un problema no está acotado, por dualidad débil no puede existir un punto factible del otro • Si un problema no es factible, el otro no puede ser óptimo • Primal y dual son intercambiables
Dualidad • Construcción del problema dual: • Función objetivo: min max Lado derecho multiplicadores • Restricciones: • (Matriz de coeficientes)T multiplicadores = coefs. fn. objetivo • Signo de multiplicadores
Dualidad • Ejemplo: max cTx + dTy min bT + hT s.a Ax + y= b s.a AT + = c By h + BT = d x 0 , 0 • Agrupando términos: min bT - hT s.a AT c - BT = d 0
Dualidad • Interpretación económica: • Problema primal: min cTx s.a Ax= b x 0 • Determinar mejor nivel de utilización de procesos x • Para hacer frente a una demanda b • Con coste mínimo • Decisión centralizada para toda la empresa • Planificador central
Dualidad • Problema dual: max bT max bT s.a AT + = c s.a AT c 0 • Determinar precios de productos demandados • Para obtener máximo ingreso • Beneficio cero • Decisión descentralizada • Mecanismo basado en precios (mercado)
Dualidad • Ejemplo: problema de transporte • Planteamiento: minijkcijkxijk s.a ixijk djk jk skxijk vi x 0 • Variables: • cantidades transportadas de cada almacén i a cada cliente j de cada producto k
Dualidad • Problema dual: maxivi i + idjk jk s.a ski + jk cijk i 0 , jk 0 • Interpretación: • i es el precio a pagar por el uso de cada unidad de espacio de almacenamiento • jkes el precio a percibir por cada unidad de producto entregada al cliente
Dualidad • Aplicación: • Análisis de sensibilidad • ¿Cómo cambia la solución si los datos cambian? • Importancia: • Datos no son conocidos con exactitud • Están sujetos a incertidumbre • Varían con el tiempo • Estudio paramétrico: • Forma de función objetivo óptima • En función de los datos
Dualidad • Cambios en la función objetivo: • El coeficiente ci cambia a c’i • Las restricciones no se ven afectadas • Efecto sobre la última solución: • Basta comprobar optimalidad ’n = c’n - N TB -Tc’b • B y N mismos valores que antes del cambio
Dualidad • Ejemplo: min x1 - 2x2 - x3 s.a x1 + x3 1 - x1 + 2x2 + 2x3 2 x 0 • Solución: x* = ( 1 3/2 0 )T • Supongamos que el coeficiente c1 cambia • Pasa de valer 1 a valer 3/2 • Calcular el nuevo vector de multiplicadores • Cambia cb pero no cn
Dualidad • Nuevo vector de multiplicadores: ’n = cn - N TB -Tc’b -1 1 2 1/2 1 -1 -1 3/2 ’n = 0 - -1 0 = 1/2 0 2 -2 0 0 1 1 • El punto sigue siendo solución • ¿Y si c1 pasa a valer 1/2 ? ’n = ( 3/2 -1/2 1 )T
Dualidad • El vértice deja de ser solución • Nueva solución • Método Simplex desde el vértice dado 0 1 0 1 1 pn = 1 , Bpb = -Npn pb = pb = -1 2 0 1/2 0 • Problema no acotado
Dualidad • Otro problema a resolver • Efecto para un cambio dado • ¿Cuál es el mayor cambio que no afecta a la solución? • Forma del cambio: c’ = c + c • Condición: ’n = cn + cn - N TB -T (c’b + cb ) = n + (cn - N TB -T cb ) = n + n 0 = min { - (n )i /(n )i | (n )i < 0 }
Dualidad • Ejemplo: min x1 - 2x2 - x3 s.a x1 + x3 1 - x1 + 2x2 + 2x3 2 x 0 • Solución: x* = ( 1 3/2 0 )T • Máximo cambio para c’ = c - e1
Dualidad • Criterio para el máximo cambio: ’n =n + (cn - N TB -T cb ) = n + n 0 • Valores para el caso considerado: 1 0 1 1 1 -1 0 T 1 0 -T -1 0 + 0 - = 0 + -1 0 2 0 1 -1 2 0 1 0 1 0 • Máximo cambio: = 0
Dualidad • Cambios en el lado derecho de restricciones • El cambio no afecta a los multiplicadores: • Optimalidad no cambia • Valores de las variables tienen que cambiar • El último vértice es infactible Ax = b b’ • ¿Cambia el conjunto de variables básicas? • Solo si xb = B -1b’i , (B -1b’ )i < 0
Dualidad • Ejemplo: min x1 - 2x2 - x3 s.a x1 + x3 1 - x1 + 2x2 + 2x3 2 x 0 • Solución: x* = ( 1 3/2 0 )T • Supongamos que b1 = 1 2
Dualidad • Condición para que se mantenga la base: 1 0 -1 2 2 B-1b = = 0 -1 2 2 2 • La base no cambia • Sí varían los valores de las variables básicas: x’b = ( 2 2 )T • Supongamos ahora que b1 = 1 -1
Dualidad • Condición para que se mantenga la base: 1 0 -1 -1 -1 B-1b = = -1 2 2 ½ • La base óptima cambia • Cálculo de la nueva solución: • Método Simplex desde el principio, o • Método Simplex dual desde la última solución • Lo veremos más adelante
Dualidad • ¿Máximo cambio que no afecta a la base? • Forma del cambio: b’ = b + b • Condición: B-1b’ 0 B-1b + B -1b = xb + B -1b 0 = min { - (xb )i /(B -1b )i | (B -1b )i < 0 }
Dualidad • Ejemplo: min x1 - 2x2 - x3 s.a x1 + x3 1 - x1 + 2x2 + 2x3 2 x 0 • Solución: x* = ( 1 3/2 0 )T • Estudiar cambios para b = -e1
Dualidad • Condición: xb + B -1b 0 1 1 0 -1 -1 1 -1 + = + 0 3/2 -1 2 0 3/2 -1/2 1 • Si > 1 , la base óptima cambia
Dualidad • Método dual del Simplex: • Método Simplex aplicado al problema dual • Empleando la información en su forma primal • Calculando valores para x • Inicio del método • Vértice factible pero no óptimo para el dual • Vértice óptimo pero no factible para el primal
Dualidad • Condiciones del vértice inicial • Respecto del problema primal: • Vértice (base) con multiplicadores óptimos n = cn - N TB -Tcb 0 • Variables no factibles i ,(xb)i = (B -1b )i < 0 • No se puede aplicar el método Simplex normal • Pero el vértice tiene información de interés
Dualidad • Movimiento a partir del vértice • Cálculo de la dirección de movimiento • Seleccionar componente más negativa de B -1b • Definir dirección para b = ei , BT +b = 0 = -B -Tb = -B -Tei NT +n = 0 n = N TB -Tei • Definir la longitud de paso para = min { - (n )i /(n )i | (n )i < 0 }
Dualidad • Valores del problema primal • Se actualiza la base • Variable que deja de ser básica • La que tenga el valor más negativo de B -1b • Variable que pasa a ser básica • La que defina el valor de • Nuevo valor de las variables básicas • Calcular B -1b para la nueva base
Dualidad • Cálculos del método Simplex dual • Dado un vértice óptimo pero no factible • Calcular B -1b • Determinar la componente más negativa • Calcular n = cn - N TB -Tcb y n = N TB -Tei • Calcular = min { - (n )i /(n )i | (n )i < 0 } • Determinar la variable que pasa a ser básica • Actualizar B , N , cb , cn
Dualidad • Ejemplo: min x1 - 2x2 - x3 s.a x1 + x3 -1 - x1 + 2x2 + 2x3 2 x 0 • Vértice óptimo: xb* = B -1b = ( -1 ½ )T • Variables básicas: x1 y x2 • Variable que deja de ser básica: x1 • Multiplicadores: n = cn - N TB -Tcb = ( 1 0 1 )T
Dualidad • Dirección de movimiento de multiplicadores n = N TB -Tei = ( 1 -1 0 )T • Longitud de paso = 0/(-1) = 0 • Nueva variable básica: s1 • Nuevo valor de las variables básicas ( x2 y s1 ): B -1b = ( 1 1 )T • El vértice es óptimo