PROBLEMA PRIMAL: 15.053 z Jueves, 7 de marzo maximizar sujeto a z= Dualidad (2) – El problema dual en general – Ilustración de la dualidad con la teoría de juegos de suma cero entre dos personas 3x1 + 4x2 +6x3 + 8x4 x 1 + x2 + x3 + x4 2x1 + 3x2 +4x3 + 5x4 x1, x2, x3, x4 minimizar sujeto a La matriz restringida del primal es la transposición de la matriz restringida del problema dual. y 1 + 3y2 y 1 + 2y2 ≥ 3 y1 + 3y2 ≥ 4 y1 + 4y2 ≥ 6 y1 + 5y2 ≥ 8 1 PROBLEMA PRIMAL: z= Sujeto a 3x1 + 4x2 +6x3 + 8x4 x 1 + x2 + x3 + x4 2x1 + 3x2 +4x3 + 5x4 x1, x2, x3, x4 y 1 + 3y2 y 1 + 2y2 ≥ 3 y1 + 3y2 ≥ 4 y1 + 4y2 ≥ 6 y1 + 5y2 ≥ 8 = = ≥ z= maximizar sujeto a 1 3 0 Observación 3. Los coefs. de coste del primal pasan a ser los coefs. del lado derecho en el problema dual. Observación 4. El primal (en este caso) es un problema de maximización con restricciones de igualdad y variables no negativas. El dual (en este caso) es un problema de minimización con restricciones ≥ y variables 3 de signo no restringido. 3x1 + 4x2 +6x3 + 8x4 x 1 + x2 + x3 + x4 2x1 + 3x2 +4x3 + 5x4 x1, x2, x3, x4 z= 3x1 + 4x2 +6x3 + 8x4 x 1 + x2 + x3 + x4 2x1 + 3x2 +4x3 + 5x4 x1, x2, x3, x4 = = ≥ 1 3 0 Pregunta: PROBLEMA DUAL: ¿Cómo opera el cambio dual si tenemos restricciones minimizar de no igualdad? Sujeto a y1 + 3y2 y1 + 2y2 ≥ 3 y1 + 3y2 ≥ 4 y1 + 4y2 ≥ 6 y1 + 5y2 ≥ 8 Recuerde que las variables óptimas del dual son los precios sombra para el problema primal. 4 PROBLEMA PRIMAL: PROBLEMA PRIMAL: maximizar sujeto a Observación 2. Los coefs. del lado derecho del primal pasan a ser coefs. de coste en el problema dual. 2 PROBLEMA PRIMAL: PROBLEMA DUAL: minimizar 1 3 0 Observación 1. PROBLEMA DUAL: Entregas: material de clase maximizar sujeto a = = ≥ precio ≥ ≤ ≥ 11+∆ 3+∆ 3 0 y1 y2 Método: recuerde que las variables óptimas del dual son precios sombra. Sustituyamos el 1 por 1 + ∆. ¿Podría disminuir el valor objetivo óptimo? ¿Y aumentar? Conclusión: y1 ≤ 0. Sustituyamos el 3 por 3 + ∆. ¿Podría disminuir el valor objetivo óptimo? ¿Y aumentar? Conclusión: y2 ≥ 0 . 3x1 + 4x2 +6x3 + 8x4 x 1 + x2 + x3 + x4 = 1 2x1 + 3x2 +4x3 + 5x4 = 3 x1, x2, x3, x4 ≥ 0 Supongamos ahora que PROBLEMA DUAL: hacemos que las variables del problema primal sean minimizar y1 + 3y2 ≤ 0 o bien que no tengan sujeto a y 1 + 2y2 ≥ 3 restricciones de signo. y1 + 3y2 ≥ 4 maximizar sujeto a z= y1 + 4y2 ≥ 6 y1 + 5y2 ≥ 8 5 Recuerde que los costes reducidos son los precios sombra de las restricciones de no igualdad. 6 PROBLEMA PRIMAL: maximizar sujeto a z= precio 3x1 + 4x2 - 6x3 + 8x4 x 1 + x2 - x3 + x4 = 1 2x1 + 3x2 - 4x3 + 5x4 = 3 x1 ≥ 0 x2 ≥ 0 x3 ≤ 0 x4 uis y1 y2 PRIMAL Conclusión: c1 ≤ 0, y, por tanto, y 1 + 2y2 ≥ 3. Trabajo en parejas: calcular cuál será el signo del precio sombra para la restricción x3 ≤ 0 y decidir qué se puede hacer con x 4 DUAL Holgura compl. Σj aijxj ≥ bi yi ≤ 0 yi (Σj aijxj - bi ) = 0 Σj aijxj ≤ bi yi ≥ 0 yi (Σj aijxj - bi ) = 0 xj ≥ 0 Σj yiaij ≥ cj xj ≤ 0 Σj yiaij ≤ cj Σj aijxj = bi Σj aijxj ≥ bi Σj aijxj ≤ bi Î Î Î Î Î Î xj ≥ 0 xj ≤ 0 xj u.i.s. Min yi u.i.s. yi ≤ 0 yi ≥ 0 Σj yiaij ≥ cj Σj yiaij ≤ cj Σj yiaij = cj 7 Holgura complementaria PRIMAL DUAL Max c1 = 3 – y1 – 2y2 Sustituyamos “x 1 ≥ 0” por “x1 ≥ ∆”. ¿Podría disminuir el valor objetivo óptimo? ¿Y aumentar? Resumen: creación del dual de un problema de maximización 8 Cálculo del dual PROBLEMA PRIMAL: maximizar sujeto a xj (Σj yiaij - cj ) = 0 z= 3x 1 + c x2 +6x3 x 1 + 2x2 + x3 2x1 + 3x2 +4x3 x1 ≥ 0, x2 ≤ 0, ≥ 1 = 3 x3 u.i.s. Calcule el dual del programa lineal anterior y compare los resultados con los de su compañero. xj (Σj yiaij - cj ) = 0 9 Duales del problema de minimización z z z 10 Teoría de juegos de suma cero para dos personas La persona R elige una fila: la 1, la 2 o la 3 El dual de un problema de minimización es un problema de maximización. La persona C elige una columna: la 1, la 2 o la 3 Los precios sombra para el programa lineal dual forman la solución óptima para el problema primal. El dual del dual es el primal. p.ej., 11 -2 1 2 2 -1 0 1 0 -2 Esta es la matriz del resultado del jugador R. (El jugador C obtiene la negativa). R elige fila 3; C elige columna 1 R obtiene 1; C obtiene –1 (suma cero) 12 Otros ejemplos de resultados 2 voluntarios para el siguiente ejercicio R elige 2, C elige 3 El jugador R saca 1, 2 ó 3 dedos R obtiene 0; C obtiene 0 (suma cero) El jugador C saca a la vez 1, 2 ó 3 dedos -2 1 2 -2 1 2 2 -1 0 2 -1 0 1 0 -2 1 0 -2 R elige fila 3; C elige columna 3 R intenta maximizar su puntuación R obtiene -2; C obtiene +2 (suma cero) 13 Realice el juego con su compañero (si no tiene compañero, observe a los demás) 2 2 -1 0 1 0 -2 Se repite la jugada 5 veces R intenta maximizar su puntuación C intenta minimizar la puntuación de R 15 Cálculo de la cota inferior 1 2 2 -1 0 1 0 -2 1 2 2 -1 0 1 0 -2 Hallaremos las cotas superior e inferior del resultado de R linear mediante la programación lineal El resultado de R a largo plazo: ¿será positivo, negativo, o tenderá a 0? 16 Supongamos ahora que R puede elegir una estrategia basada en el azar. Si R debe comunicar su fila a C, ¿qué fila elegirá? La estrategia de elegir la misma fila una y otra vez se denomina "estrategia pura". R se asegura un resultado de al menos -1. -2 Cálculo de la cota inferior del resultado de R Supongamos que R debe comunicar a C su estrategia antes de que éste elija jugada. -2 14 Supongamos que, al ser R y C muy buenos jugadores, la partida dura MUCHO TIEMPO El jugador C saca a la vez 1, 2 ó 3 dedos 1 C intenta minimizar la puntuación de R ¿Quién tiene ventaja: R o C? El jugador R saca 1, 2 ó 3 dedos -2 Se repite la jugada 5 veces 17 -2 1 2 2 -1 0 1 0 -2 R lanza una moneda al aire y elige la fila 1 si sale cara y la fila 3 si sale cruz. El jugador de la columna hace su jugada conociendo la estrategia del rival, pero sin saber si la moneda cayó de cara o de cruz. 18 ¿Cuál sería la mejor respuesta del jugador C? Supongamos que R elige al azar entre las filas 1 y 2 Prob. Resultado previsto -2 1 2 0,5 2 -1 0 0 1 0 -2 0,5 -0,5 0,5 Prob. Si C sabe que R juega al azar podrá calcular el resultado previsto para cada una de las columnas elegidas. 0 ¿Cuál sería la mejor respuesta de C? 19 ¿Cuál sería la mejor jugada al azar de R? Prob. Resultado previsto 1 2 1 A 2 x1 -1 0 x2 0 -2 x3 B C x1 + x2 + x3 = 1 C elegirá la columna que sea el valor mínimo de A, B, y C. C: x1 2 x1 2 0,5 -1 0 0,5 1 0 -2 0 0 0 1 Es decir, jugando al azar, R obtendría al menos 0 Si z = min (x, y) z es la solución óptima al siguiente programa lineal: z z ≤x z ≤y x2 - 2 x3 20 Hallar el mínimo entre dos números como si se tratara de un problema de optimización maximizar sujeto a A: -2 x1 + 2 x2 + x3 B: 1 2 ¿Cuál sería la mejor respuesta de C? Es decir, jugando al azar, R obtendría al menos -0,5 -2 Resultado previsto -2 21 22 Mejor estrategia de R expresada como un PL -2 1 2 x1 2 -1 0 x2 1 -2 a11 a21 x3 a12 a22 a13 … a1m x1 a23 … a2m x2 xn … Resultado previsto Maximizar 0 PL del jugador de las filas (en general) A z B C (resultado para x) A: z ≤ -2 x1 + 2 x2 + x3 B: C: z ≤ z ≤ x1 - x2 2 x1 - 2 x3 x1 + x2 + x3 = 1 x1 , x2 , x3 ≥ 0 Juego de suma 0, dos personas 23 Resultado previsto Maximizar Pj: an1 an2 an3 … anm P1 P2 P3 … Pm z (resultado para x) z ≤ a1j x1 + a2j x2 +… + anjxn para todo j x1 + x2 + … + xn = 1 xj ≥ 0 para todo j 24 Del mismo modo podemos obtener una cota inferior para C (y una cota superior para R) Esta es la jugada al azar óptima de R Result. previsto Prob. Resultado previsto -2 1 2 7/18 2 -1 0 5/18 1 0 -2 1/3 1/9 1/9 1/9 El resultado óptimo para R es 1/9. Es decir, jugando al azar, R se asegura obtener al menos 1/9. Esta estrategia es la cota inferior de lo que R puede obtener si tiene en cuenta la jugada de C. -2 1 2 1/9 2 -1 0 1/9 -2 1/9 1 Prob. 0 1/3 5/9 1/9 25 Un PL ayudaría al jugador de las columnas a decidir su mejor jugada al azar. Nota: C puede jugar al azar para asegurarse de que la media de puntuación de R es 1/9. Con esta estrategia, R sólo obtendría 1/9. 27 Juegos de suma cero entre dos personas (en general) z z z z z 1 2 1/3 2 -1 0 1/3 1 0 -2 -1/3 1/3 1/3 1/3 Si C elige una estrategia de jugar al azar, dará una cota superior de lo que obtiene R . Si C comunica a R que va a jugar al azar, éste elegirá 1 ó 2. Si C juega al azar, su mejor estrategia será minimizar el resultado máximo previsto Result. previsto Prob. -2 Llamemos x a la estrategia de R de jugar al azar, con un valor z(x), e y a la misma estrategia de C con un valor v(y). z(x) ≤ v(y) para todo x, y El valor óptimo de x* se obtendría resolviendo un PL, al igual que el óptimo de y.* z(x*) = v(y*) Los dos programas lineales son duales entre sí. 29 Con esta estrategia de jugar al azar, C se asegura de que R obtiene al menos 1/3. 26 Si C juega al azar, su mejor estrategia será minimizar el resultado máximo previsto Result. previsto Prob. -2 1 2 1/9 2 -1 0 1/9 1 0 -2 1/9 Así, el resultado medio del juego sería 1/9, suponiendo que ambos jugadores jugaran de manera óptima. 1/3 5/9 1/9 En juegos de suma cero entre dos personas, el resultado máximo que R puede asegurarse jugando al azar sería el resultado mínimo de R que C se aseguraría jugando también al azar. 28 Juegos de suma cero entre dos personas (continuación) zEn principio, a R le sirve lo mismo jugar siempre al azar que planear con cuidado una estrategia cada vez. zLa dualidad en la teoría de juegos fue descubierta por Von Neumann y Morgenstern (antes de la dualidad del PL). z La estrategia en el juego se halla impregnada por la idea de aleatoriedad. 30