UNIVERSIDAD CARLOS III FACULTAD DE CIENCIAS SOCIALES Y POLÍTICAS DEPARTAMENTO DE ESTADÍSTICA Y ECONOMETRÍA DIPLOMATURA DE ESTADÍSTICA 2º CURSO - INVESTIGACIÓN OPERATIVA I EXAMEN DE 31 DE ENERO DE 2002 ENUNCIADO DE LOS PROBLEMAS Prof. José Carlos Ayuso Elvira EXÁMEN DE INVESTIGACIÓN OPERATIVA I PROGRAMACIÓN LINEAL 31 DE ENERO DE 2002 PROBLEMA I (Un punto) .- Dado el siguiente programa lineal Min z = 3x1 + 2x2 + 5x3 + x4 - 6x5 s.a. x1 + x2 + x3 + x4 + x5 12 x4 + x5 4 x1 + x2 - x3 0 6x1 + 3x2 - x3 + x4 - 2x5 0 x1 , x4 , x5 0 ; x2 , x3 sin restricciones determinar el programa dual. EXÁMEN DE INVESTIGACIÓN OPERATIVA I PROGRAMACIÓN LINEAL 31 DE ENERO DE 2002 PROBLEMA II (Un punto).- Resolver gráficamente el programa lineal Max z x1 x 2 s.a. x1 3 x 2 12 2 x1 x 2 1 2 x1 x 2 16 x1 2 x 2 2 x1 0 ; x 2 0 EXÁMEN DE INVESTIGACIÓN OPERATIVA I PROGRAMACIÓN LINEAL 31 DE ENERO DE 2002 PROBLEMA III (Dos puntos) .- Dado el problema lineal Min z = 20x1 + 28x2 s.a. 4x1 + 3x2 1 9x2 1 x1 , x2 0 determinar su solución mediante el algoritmo del SIMPLEX. Utilizar el método de las dos fases ante la falta de una solución factible básica inicial. EXÁMEN DE INVESTIGACIÓN OPERATIVA I PROGRAMACIÓN LINEAL 31 DE ENERO DE 2002 PROBLEMA IV (Un punto).- Resolver el programa lineal del PROBLEMA III, es decir: Min z = 20x1 + 28x2 s.a. 4x1 + 3x2 1 9x2 1 x1 , x2 0 mediante el algoritmo dual. EXÁMEN DE INVESTIGACIÓN OPERATIVA I PROGRAMACIÓN LINEAL 31 DE ENERO DE 2002 PROBLEMA V (Tres puntos).- Dado el problema primal expresado a continuación, determinar su problema dual, resolver el primal mediante el algoritmo dual (con los cambios de variable necesarios y la simplificación al máximo despejando precisamente x3 y sustituyendo en el resto del programa) y determinar la solución del programa dual mediante las relaciones de holgura complementaria. Min z = 2x1 + 3x2 - 5x3 s.a. x1 + x2 - x3 + x4 5 2x1 + x3 4 x2 + x3 + x4 = 6 x1 0 ; x2 , x3 0, x4 no restringida EXÁMEN DE INVESTIGACIÓN OPERATIVA I PROGRAMACIÓN LINEAL 31 DE ENERO DE 2002 PROBLEMA VI (Dos puntos) .- Dado el programa lineal Max z = x1 + x2 s.a. x1 - x2 - 2 5.x1 - 2.x2 5 x1 , x2 0 describir qué ocurre si tras su resolución nos vemos obligados a añadir la restricción x2 2 Describir igualmente que ocurre si en vez de la restricción anterior hay que tener en cuenta la restricción x1 1 UNIVERSIDAD CARLOS III FACULTAD DE CIENCIAS SOCIALES Y POLÍTICAS DEPARTAMENTO DE ESTADÍSTICA Y ECONOMETRÍA DIPLOMATURA DE ESTADÍSTICA 2º CURSO - INVESTIGACIÓN OPERATIVA I EXAMEN DE 31 DE ENERO DE 2002 SOLUCIÓN DE LOS PROBLEMAS Prof. José Carlos Ayuso Elvira SOLUCIÓN PROBLEMA I Como el problema planteado es de mínimo, el dual será del tipo Max. Si denominamos por la letra y las variables duales, entonces las variables y1, y3 e y4 serán negativas pues las desigualdades correspondientes en el programa primal son del tipo menor o igual. Por otra parte las restricciones segunda y tercera del dual han de ser del tipo igualdad pues las variables primales correspondientes no están restringidas, mientras que las otras tres restricciones duales serán del tipo menor o igual tal como corresponde a un programa del tipo Max pues las variables primales son positivas o nulas. En definitiva el programa dual será: Max w = 12.y1 + 4.y2 s.a. y1 + y3 + 6.y4 3 y1 + y3 + 3.y4 = 2 y1 - y3 - y4 = 5 y1 + y2 + y4 1 y1 + y2 - 2y4 -6 y1 , y3 , y4 0 ; y2 0 SOLUCIÓN PROBLEMA II La representación gráfica de nuestro problema, en la que las unidades correspondientes al eje horizontal son el doble de grandes que las correspondientes al eje vertical, resulta ser la siguiente: x2 III II F.O. B I C IV D A x1 La región factible resulta ser la delimitada por los vértices A, B, C y D. La solución resulta ser el vértice D, si se tiene en cuenta que el sentido creciente de nuestra función objetivo viene establecido por el vector (1,-1). El punto D está en la intersección de las restricciones III y IV; en consecuencia es la solución del sistema 2.x1 + x2 = 16 -x1 + 2.x2 = 2 de donde se obtiene la solución completa del programa lineal puesto que x1 = 6 x2 = 4 s1 = 6 s2 = 7 s3 = 0 s4 = 0 z=2 SOLUCIÓN PROBLEMA III El programa lineal no tiene una solución factible básica inicial dado el sentido de las desigualdades. Para obtener una solución factible básica inicial utilizaremos el método de las dos fases introduciendo dos variables artificiales p1 y p2 y tratando de hacer Min z’ = p1 + p2. La tabla simplex de esta Fase I es Min z’ p1 p2 x1 0 4 0 x2 0 3 9 s1 0 -1 0 s2 0 0 -1 p1 -1 1 0 p2 -1 0 1 SOL 0 1 1 Como la tabla no tiene el formato correcto para aplicar el simplex, pues no son nulos los coeficientes de las variables básicas en la línea de z, sumamos la segunda y tercera fila a la primera y obtenemos Min z’ p1 p2 x1 4 4 0 x2 12 3 9 s1 -1 -1 0 s2 -1 0 -1 p1 0 1 0 p2 0 0 1 SOL 2 1 1 Pivotaremos alrededor del elemento señalado en negrita y en cursiva (notación que utilizaremos en todo el proceso), lo que nos da la tabla Min z’ p1 x2 x1 4 4 0 x2 0 0 1 s1 -1 -1 0 s2 1/3 1/3 -1/9 p1 0 1 0 p2 -4/3 -1/3 1/9 SOL 2/3 2/3 1/9 Siguiendo el proceso del algoritmo del simplex obtenemos la tabla Min z’ x1 x2 x1 0 1 0 x2 0 0 1 s1 s2 0 -1/4 0 0 1/12 -1/9 p1 -1 1/4 0 p2 SOL -1 0 -1/12 1/6 1/9 1/9 con la que se finaliza la Fase I al obtener una base factible. Recuperamos nuestro problema sustituyendo en la fila de z’ los coeficientes de la función objetivo original y obtenemos la tabla Min z x1 x2 x1 -20 1 0 x2 -28 0 1 s1 s2 0 -1/4 0 0 1/12 -1/9 SOL 0 1/6 1/9 tabla que no se adapta a los requisitos del simplex en los que debe aparecer un cero en la línea de z en las variables básicas. Para lograrlo sumamos a esta fila la segunda multiplicada por 20 y la tercera multiplicada por 28, obteniendo Min z x1 x2 x1 0 1 0 x2 0 0 1 s1 -5 -1/4 0 s2 -13/9 1/12 -1/9 SOL 58/9 1/6 1/9 Tabla en la que, siendo la solución factible, ya no se puede pivotar, esto es mejorar la solución con lo que estamos en el óptimo y ha finalizado el proceso del simplex. La solución es por tanto x1 = 1/6 x2 = 1/9 s1 = 0 s2 = 0 z = 58/9 SOLUCIÓN PROBLEMA IV Para abordar la resolución del PROBLEMA III mediante el algoritmo dual la tabla inicial sería Min z s1 s2 x1 -20 -4 0 x2 -28 -3 -9 s1 0 1 0 s2 0 0 1 SOL 0 -1 -1 tabla que representa una solución básica no factible y sobreoptimal pues los coeficientes de la línea de z son todos negativos y el problema es de mínimo. Pivotando obtenemos Min z x1 s2 x1 0 0 0 x2 -13 3/4 -9 s1 -5 -1/4 0 s2 0 0 1 SOL 5 1/4 -1 s1 -5 -1/4 0 s2 -13/9 1/12 -1/9 SOL 58/9 1/6 1/9 y pivotando nuevamente Min z x1 x2 x1 0 1 0 x2 0 0 1 que representa , por supuesto, la misma solución ya calculada. SOLUCIÓN PROBLEMA V Si denominamos mediante la letra y a las variables duales, el programa dual resulta ser directamente Max w = 5y1 + 4y2 + 6y3 s.a. y1 + 2y2 2 (pues x1 0) y1 + y3 3 -y1 + y2 + y3 -5 y1 + y3 = 0 (pues x4 es no restringida) y1 0, y2 0 (pues la segunda relación del primal es del tipo ), y3 no restringida (pues la tercera relación del primal es del tipo =) Para resolver el problema primal mediante el algoritmo dual haremos x1 = -x5 , además x4 = x6 - x7, quedando el programa Min z = -2x5 + 3x2 - 5x3 s.a. -x5 + x2 - x3 + x6 - x7 5 -2x5 + x3 4 x2 + x3 + x6 - x7 = 6 x5 , x2 , x3 , x6 , x7 0 Para simplificar aún más el problema haremos x3 = 6 - x2 - x6 + x7 , quedando el problema tras operar y haciendo z' = z + 30 Min z' (=z+30) = 8x2 - 2x5 + 5x6 - 5x7 s.a. -2x2 + x5 - 2x6 + 2x7 -11 -x2 - 2x5 - x6 + x7 -2 x2 , x5 , x6 , x7 0 Este problema, desde el punto de vista del algoritmo dual, tiene una solución básica no factible, que no es sobreoptimal por lo que habremos de utilizar el método de la restricción artificial, con lo que la tabla quedaría Min z' s1 s2 p x2 -8 -2 -1 1 x5 2 1 -2 1 Pivotando sucesivamente x6 -5 -2 -1 1 x7 5 2 1 1 s1 0 1 0 0 s2 0 0 1 0 p 0 0 0 1 0 -11 -2 M Min z' s1 s2 x7 x2 -13 -4 -2 1 x5 -3 -1 -3 1 x6 -10 -4 -2 1 x7 0 0 0 1 s1 0 1 0 0 s2 0 0 1 0 p -5 -2 -1 1 SOL -5M -11-2M -2-M M Min z' p s2 x7 x2 -3 -2 0 -1 x5 -1/2 1/2 -5/2 1/2 x6 0 2 0 -1 x7 0 0 0 1 s1 -5/2 -1/2 -1/2 1/2 s2 0 0 1 0 p 0 1 0 0 SOL 55/2 11/2+M 7/2 -11/2 y finalmente obtenemos (pivotando alrededor del elemento negativo para forzar la salida de x7 única forma de lograr la factibilidad) Min z' p s2 x6 x2 -3 -4 0 1 x5 -1/2 3/2 -5/2 -1/2 x6 0 0 0 1 x7 0 2 0 -1 s1 -5/2 1/2 -1/2 -1/2 s2 0 0 1 0 p 0 1 0 0 55/2 -11/2+M 7/2 11/2 Así pues la solución a nuestro problema actual es x2 = 0 x5 = 0 x6 = 11/2 x7 = 0 s1 = 0 s2 = 7/2 p = -11/2 + M z’ = 55/2 Si tenemos en cuenta los cambios realizados, la expresión para x3 y denominando h1, h2 y h3 las holguras de las ecuaciones primales, obtenemos como solución del programa lineal primal x1 = -x5 = 0 x2 = 0 x3 = 6- x2 - x6 + x7 = 1/2 x4 = x6 - x7 = 11/2 – 0 = 11/2 h1 = x1 + x2 - x3 + x4 – 5 = 0 + 0 – 1/2 + 11/2 – 5 = 0 h2 = 4 - 2x1 - x3 = 4 – 0 –1/2 = 7/2 h3 = 0 z = z’ –30 = 55/2 – 30 = -5/2 Denominando ahora como d1, d2, d3 y d4 las holguras del programa dual ha de verificarse que x1d1 = 0; x2d2 = 0; x3d3 = 0; x4d4 = 0; y también que y1h1 = 0; y2h2 = 0; y3h3 = 0; de donde se obtienen las siguientes consecuencias y1 = no forzosamente nulo pues h1 = 0 y2 = 0 puesto que h2 = 7/2 0 y3 = no forzosamente nulo pues h3 = 0 d1 = no forzosamente nulo pues x1 = 0 d2 = no forzosamente nulo pues x2 = 0 d3 = 0 pues x3 = 1/2 0 d4 = 0 pues x4 = 11/2 0 Por tanto se cumplirán exactamente las restricciones tercera y cuarta con y2 = 0 verificándose que - y1 + y3 = -5 y1 + y3 = 0 sistema cuya resolución permite establecer que y1 = 5/2 y2 = 0 y3 = - 5/2 d1 = 1/2 d2 = 3 d3 = 0 d4 = 0 w = z = -5/2 solución completa del programa dual. SOLUCIÓN PROBLEMA VI Dando al programa la forma correcta quedará: Max z = x1 + x2 s.a. - x1 + x2 2 5.x1 - 2.x2 5 x1 , x2 0 que da lugar a la siguiente tabla del simplex Max z s1 s2 x1 -1 -1 5 x2 -1 1 -2 s1 0 1 0 s2 0 0 1 SOL 0 2 5 en la que pivotaremos sucesivamente alrededor de los elementos marcados en negrita hasta hallar la solución en la forma que sigue: Max z x2 s2 x1 -2 -1 3 x2 0 1 0 s1 1 1 2 s2 0 0 1 SOL 2 2 9 Max z x2 x1 x1 0 0 1 x2 0 1 0 s1 7/3 5/3 2/3 s2 2/3 1/3 1/3 SOL 8 5 3 que es la solución al problema original. Si hemos de considerar ahora la restricción x2 2 la nueva tabla a considerar al añadir es nueva restricción sería Max z x2 x1 s3 x1 0 0 1 0 x2 0 1 0 -1 s1 7/3 5/3 2/3 0 s2 2/3 1/3 1/3 0 s3 0 0 0 1 SOL 8 5 3 -2 Esta tabla no se adapta a los requisitos del simplex puesto que en la última casilla de la columna de x2 no aparece un cero así que la transformaremos sumando a la última fila la fila correspondiente a x2, quedando entonces Max z x2 x1 s3 x1 0 0 1 0 x2 0 1 0 0 s1 7/3 5/3 2/3 5/3 s2 2/3 1/3 1/3 1/3 s3 0 0 0 1 SOL 8 5 3 3 Esta tabla representa una solución factible básica, que es óptima para el problema transformado pues no puede mejorarse y que coincide con la del problema original, así que podemos afirmar que la nueva restricción no añade nada nuevo al problema. Si consideramos ahora la restricción x1 1 procederemos de igual forma con lo que la tabla quedará: Max z x2 x1 s3 x1 0 0 1 1 x2 0 1 0 0 s1 7/3 5/3 2/3 0 s2 2/3 1/3 1/3 0 s3 0 0 0 1 SOL 8 5 3 1 Esta tabla no se adapta a los requisitos del simplex puesto que en la última casilla de la columna de x1 no aparece un cero así que la transformaremos restando a la última fila la fila correspondiente a x1, quedando entonces Max z x2 x1 s3 x1 0 0 1 0 x2 0 1 0 0 s1 7/3 5/3 2/3 -2/3 s2 2/3 1/3 1/3 -1/3 s3 0 0 0 1 SOL 8 5 3 -2 La tabla representa una solución no factible (s3 = - 2) y sobreoptimal (línea de z toda positiva). Aplicando el algoritmo dual a esta tabla y pivotando alrededor del elemento marcado en negrita obtenemos: Max z x2 x1 s2 x1 0 0 1 0 x2 0 1 0 0 s1 1 1 0 2 s2 0 0 0 1 s3 2 1 1 -3 SOL 4 3 1 6 Solución diferente a la original lo que significa que la nueva restricción es relevante.