Docencia de Matemáticas en la Economía y la Empresa PROPUESTAS PARA ANALIZAR LOS PRECIOS SOMBRA EN LAS AULAS Lourdes Canós1 Teresa León2 Vicente Liern1 1 Dep. de Economía Financiera y Matemática. 2 Dep. de Estadística e Inv. Operativa. Universitat de València Resumen: En esta comunicación hacemos un estudio e interpretación de los precios sombra para modelos lineales en los que la solución óptima resulta degenerada. Comprobamos que en este caso, el problema dual proporciona una estimación arriesgada de la modificación de la función objetivo al variar uno de los términos independientes, y por tanto, no resulta útil en la toma de decisiones si no se completa la información con un estudio más detallado. Tras un desarrollo teórico del caso degenerado, proponemos efectuar un análisis paramétrico del vector de recursos junto con un análisis de sensibilidad y mostramos la utilidad del paquete de programación LINDO® para realizar este estudio en las aulas. Por último resolvemos un ejemplo numérico en el que aplicamos todas las técnicas descritas. Palabras clave: Precios sombra, programación lineal, propuestas docentes. 43 Canós L., León T., Liern V. 1.- Introducción El objetivo de incorporar la investigación operativa en las Facultades y Escuelas de Ciencias Económicas y Empresariales es capacitar al futuro titulado para resolver problemas reales en el ámbito de la empresa. Sin embargo, por razones de tiempo e incluso didácticas solemos evitar problemas en los que aparezcan complicaciones “excesivas”. En esta comunicación nos centraremos en dos aspectos a los que, en nuestra opinión, debemos prestar especial interés: el tipo de solución óptima del problema y la estabilidad de esta solución. Surgen así dos dificultades: a) Si la solución óptima es degenerada, el concepto e interpretación de precio sombra habituales no son aplicables. b) El análisis de sensibilidad de los coeficientes del problema resulta imprescindible para conocer la aplicabilidad de la política óptima. Nuestra intención es remarcar las diferencias que existen cuando la solución factible básica óptima del problema es degenerada y cuando no lo es. De acuerdo con Rubin y Wagner (1990), el hecho de que el análisis e interpretación del caso no degenerado sea más conocido y directo, ha provocado que se produzcan muchos errores en situaciones reales, ocasionando grandes pérdidas en la empresa. Por otro lado, en Greenberg (1986) se hace un análisis estadístico de modelos lineales del Midterm Energy Market Model del Departamento de Energía de EEUU se concluye que entre un 29% y un 65% de los casos examinados presentaban degeneración, por tanto, ante esta gran frecuencia, creemos necesario que en el aula se aborde esta situación. Sin duda, la principal causa de degeneración está en la redundancia entre las restricciones del modelo (Greenberg (1986) y Gal (1986)), y ésta puede originarse en cualquier paso del proceso de modelización. Nuestro propósito no es diagnosticar las causas de la degeneración, sino que ésta no pase inadvertida al alumno. Proponemos el uso del programa comercial LINDO® para que los alumnos puedan llevar a cabo, sin dificultades de cálculo, un análisis de los precios sombra en profundidad. 44 Docencia de Matemáticas en la Economía y la Empresa 2.- Notación y formulación del problema Consideramos un problema lineal (P) Max C X Sujeto a A0 X < b X > 0 donde C es un vector fila, A0 es una matriz real de tipo mxn, b es un vector columna y el vector X∈ℜn representa las variables del modelo. Introduciendo variables de holgura hj , j=1, …, m, el problema P puede escribirse en forma estándar como sigue: (P’) Max Cx Sujeto a A x = b x > 0 donde c=(C, 0m), A=(A0, Im) y x = (X, h)T. Dada una solución factible básica del problema estándar P’, x=(xB, xN)T=(B-1b, 0)T, decimos que es degenerada si existe alguna variable básica xBj de modo que xBj=0. Es decir, que al menos una de las variables que componen la solución factible básica es nula. Los programas P y P’ tienen asociados sendos duales que denominaremos D y D’ que pueden formularse como sigue: (D) Min wb (D’) Min Sujeto a wA0 > C Sujeto a wA > c w > 0 • wb w > 0 Si la solución factible básica de P no es degenerada, la solución óptima del problema dual D es única w=(w1*, w2*, …, wm*). En este caso, cada wi* se interpreta como el índice de variación del valor de la función objetivo en el óptimo al incrementar (o disminuir) el valor de bi en una unidad marginal, siempre que esta modificación no altere la política óptima. De ahí que se les llame precios sombra, precios duales o valores marginales. • Si la solución factible básica de P es degenerada, la solución óptima del problema dual D no tiene por qué ser única. Entonces, la interpretación habitual de los precios sombra no es aplicable. 45 Canós L., León T., Liern V. 3.- Interpretación de los precios sombra para soluciones degeneradas Supongamos que x* es solución factible básica del problema lineal P y w*=(w1*,w2*, …, w m*) es solución óptima del dual D. Vamos a ver que w*i es una cota superior o inferior de la variación de la función objetivo cuando se aumenta (o disminuye) en una unidad el recurso i-ésimo. Dado el programa lineal P, se define la función valor óptimo como v(b)= Max {C X | A0 X < b, X > 0}. Dado b0∈ℜm de modo que v(b0) sea finito, un vector no nulo d∈ℜm diremos que es una dirección factible en b0 si existe θ* > 0 de forma que v(b0+ θ d) es finito para cualquier θ∈[0, θ*]. En Shapiro (1984), se prueba el siguiente resultado: Teorema: Supongamos que v(b0) es finito y que d es una dirección factible de v en b0 La derivada direccional por la derecha de la función v(b) se puede calcular como D+d v (b0) = Min {w* d | w* es solución óptima de D0} (2) donde D0 es el problema dual de P obtenido al hacer b= b0. Este resultado tiene varias consecuencias inmediatas: 1) Si el conjunto de soluciones óptimas de D0 se reduce a un único vector w*, entonces D+d v (b0) = w* d. 2) Si además el conjunto de direcciones factibles es todo ℜm –{ 0m}, entonces v(b) es diferenciable en b0 y ∂v (b0) = w*i , obteniendo los precios sombra habituales. ∂b i 3) Si D0 tiene más de una solución óptima, D+ei v (b) = Min {w* ei | w* es solución óptima de D} El precio sombra pi es la derivada direccional de la función valor óptimo en b según la dirección ei = (0,…,0,1,0,…,0), si lo que queremos es aumentar el valor de bi ,y según la dirección - ei = (0,…,0,-1,0,…,0) si lo que se desea es disminuir el valor de bi, siempre que ei y –ei sean direcciones factibles. Entonces, dada una solución factible básica x*, pueden ocurrir dos situaciones: 46 Docencia de Matemáticas en la Economía y la Empresa a) Si x* no es degenerada la función v(b) admite derivada direccional en todas las direcciones, por tanto el precio sombra es pi = D+ei v (b0) = D+-ei v (b0) = Dei v (b0) = ∂v (b0) ∂b i b) Si x* es degenerada la función v(b) no admite derivada direccional en todas las direcciones, entonces no existe un único precio sombra, sino que habrá restricciones para las que existan dos: pi+ si aumentamos el valor de bi y pi- si disminuimos el valor de bi. De acuerdo con Gal (1986) y León y Liern (1996), a partir de la expresión (2), el cálculo de estos pares de precios sombra se obtendrá de la forma siguiente: Pi+ = D+ei v (b) = Min {w* ei | w* es solución óptima de D} = Min {wi* | w*=(w1*, …, wm*) es solución óptima de D} (3) Pi-= D+-ei v (b) = Min {w* (-ei) | w* es solución óptima de D} = Max {wi* | w*=(w1*, …, wm*) es solución óptima de D} La expresión (3), tal y como se ha presentado, a pesar de su innegable utilidad teórica, resulta poco práctica, porque supone el conocimiento de todas las soluciones del problema dual. Esta dificultad se puede subsanar mediante el uso del símplex paramétrico (véanse Murty (1983) y León y Liern (1996)), pero lo cierto es que este tipo de técnicas resultan muy laboriosas. Los paquetes comerciales de Programación Lineal suelen contar con comandos específicos para realizar un análisis paramétrico de los términos independientes. En concreto, LINDO® tiene el comando Parametric Row que permite seleccionar la fila. Una vez hecha la selección introducimos el nuevo valor de bi y el programa efectúa un análisis paramétrico en modo texto y gráfico. En el ejemplo de la sección siguiente mostramos cómo actúa esta opción de LINDO®. La situación con la que se encuentra el usuario de un paquete de programación al obtener una solución óptima degenerada es la de obtener unos precios sombra w* = (w1*, w2*, …, wm*) de los que ni siquiera conoce si son únicos o no. A partir de la expresión (3) obtenemos la interpretación que debe darse a estos precios: 47 Canós L., León T., Liern V. • wi* representa una cota superior del aumento de la función objetivo si aumenta una unidad marginal el recurso i-ésimo. • wi* representa una cota inferior de la disminución de la función objetivo si reducimos una unidad marginal el recurso i-ésimo. Por tanto, debemos ser conscientes de que si interpretásemos los precios sombra como en el caso no degenerado estaríamos siendo demasiado optimistas y, por ejemplo, la estimación de los beneficios esperados al adquirir unidades extra de recurso sería demasiado arriesgada. No debemos concluir esta sección sin advertir de la necesidad de un análisis de sensibilidad de los términos independientes. Conocer que es beneficioso adquirir cantidades extra de un recurso no es suficiente, puesto que en ocasiones esto no será posible sin modificar la política óptima. LINDO® realiza este análisis de forma automática al presentar la solución óptima. En esquema, nuestra propuesta global de análisis sería la siguiente: No degenerada Problema Lineal Análisis paramétrico de b Solución(es) óptima(s) • Análisis paramétrico de b • Análisis de sensibilidad de b Degenerada Interpretación habitual de los precios sombra Reinterpretación de precios sombra pi+ si aumenta bi pi- si disminuye bi Sólo una vez conocidos e interpretados los precios sombra podrán constituir un elemento útil en la toma de decisiones. Veámoslo en un ejemplo. 4.- Aplicación en las aulas con LINDO®. Consideramos el ejemplo siguiente: (P) Max 3 x 1+ 4 x 2 Sujeto a x 1 + 3 x 2 < 15 2 x 1 + x 2 < 10 2 x 1 + 3 x 2 < 18 x1 + x2 < 7 4 x 1 + 5 x 2 < 40 x 1, x 2 > 0 48 Docencia de Matemáticas en la Economía y la Empresa Si lo resolvemos con LINDO® versión 6.01, la hoja de resultados es la siguiente: 1) OBJECTIVE FUNCTION VALUE VARIABLE VALUE REDUCED COST ROW x1 x2 3.00000 4.00000 0.000000 0.000000 25.00000 SLACK OR SURPLUS 2) 3) 4) 5) 6) 0.000000 0.000000 0.000000 0.000000 8.000000 DUAL PRICES 1.000000 1.000000 0.000000 0.000000 0.000000 El valor óptimo es z*=25 y los precios sombra p1=1, p2=1, p3=0, p4=0, p5=0 ® A pesar de que LINDO no advierte del tipo de solución, el análisis de sensibilidad de los términos independientes muestra que es degenerada. Para ello basta comprobar que no permite modificar cualquier bi en algún sentido: RANGES IN WHICH THE BASIS IS UNCHANGED ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 3 4 5 6 15.000000 10.000000 18.000000 7.000000 40.000000 0.000000 0.000000 INFINITY INFINITY INFINITY 10.000000 5.000000 0.000000 0.000000 8.000000 En este problema, por ser un ejemplo sencillo podemos calcular las restantes soluciones óptimas del problema dual con el Teorema de holgura complementaria (Murty (1983)). Estas son: w1= (0, 0, 1, 1, 0), w2= (1/2, 0, 0, 5/2, 0) , w3= (1, 1, 0, 0, 0), w4= (0, 1/4, 5/4, 0, 0) (4) y todas sus combinaciones lineales convexas Λ= Co{ w1, w2, w3, w4}. De acuerdo con (3) los precios sombra serán p1+=0, p1-=1, p2+=0, p2-=1, p3+=0, p4+=0, p5+=0, p3-=5/4, p4-=5/2, p5-=0. Claramente, la única restricción que conserva el sentido habitual de los precios sombra es la quinta en la que p5- = p5+ = p5 = 0. 49 Canós L., León T., Liern V. En la práctica esto no es aplicable ni a problemas de grandes dimensiones ni en las aulas, por tanto debemos recurrir a otras técnicas. Como hemos advertido, LINDO® permite realizar un análisis paramétrico de los términos independientes, y con ello saber cómo varían los precios sombra de cada restricción, sin más que introducir nuevos valores en el RHS de la restricción que se desee: Este análisis se realiza como texto y gráficamente. Veamos por ejemplo qué ocurre con la primera restricción Nota: LINDO® enumera las restricciones incluyendo también la función objetivo. Estudio de p1 - El estudio gráfico muestra que para valores de b1 menores que 15 el valor óptimo desciende, y la pendiente de la recta es la misma desde b1=15 hasta b1=5 50 Docencia de Matemáticas en la Economía y la Empresa Además, observando la salida de texto, podemos afirmar que el precio sombra para disminuir b1 es p1- = 1 y el análisis de sensibilidad para este descenso proporciona el intervalo b1∈[5,15] Si repetimos esto con cada restricción en el sentido de ascenso y de descenso de bi se puede completar el estudio de precios sombra-análisis de sensibilidad. En la tabla siguiente se muestra la solución que ofrece la primera pantalla de LINDO® y las soluciones que se obtienen tras el análisis paramétrico: ANÁLISIS PARAMÉTRICO DE LOS TÉRMINOS INDEPENDIENTES Valor de bi b1= 15 b2= 10 b3= 18 b4= 7 b5= 40 Hoja de Precios sombra p1 = 1 p2 = 1 p3 = 0 p4 = 0 p5= 0 soluciones Análisis de sensibilidad b1∈ [5, 15] b2∈ [5, 10] b3∈ [18, ∞[ b4∈ [7, ∞[ b5∈[32, ∞[ 51 Análisis Precios sombra p1+= 0 paramétrico Análisis de sensibilidad b1∈ [15, ∞[ p1-= 1 b1∈ [5,15] p2 = 0 b2∈ [10, ∞[ p2-= 1 b2∈ [8,10] p3+= 0 b3∈ [18, ∞[ p3-= 5/4 b3∈ [10, 18[ + p4 = 0 b4∈ [7, ∞[ p4-= 5/2 b4∈ [5,7] + p5 = 0 b5∈ [40, ∞[ p5+= 0 b5∈ [32, 40] + Canós L., León T., Liern V. Representación gráfica del análisis paramétrico de cada bi v(b i) 25 15 1ª restricción 2ª restricción 3ª restricción 4ª restricción 5ª restricción 5 5 10 15 20 25 30 35 40 bi Veamos, a modo de ejemplo, algunos de los errores que habría supuesto usar como precio sombra alguna de las soluciones óptimas del problema dual en lugar de pi+ y pi-. Supongamos que entre todas las soluciones óptimas del problema dual hemos obtenido w2 = (1/2, 0, 0, 5/2, 0). Para la primera restricción, por ejemplo, se tendría Información dada por w2 P1= 1/2 Información dada por pi+ y pi- b1∈[15, 15] Aunque sería beneficioso, la política óptima no permite aumentar el primer recurso. p1+ =0 p1- =1 b1∈[15, ∞[ b1∈[5, 15] Si disminuimos en una unidad el primer recurso, los beneficios disminuyen 1 u. m. Si aumentamos en una unidad b1 los beneficios no varían. 5.- Conclusiones Si formulamos una situación real con un problema lineal, el uso de los precios sombra puede ser muy útil. Pensemos, por fijar ideas, en un modelo de planificación de la producción con limitación de recursos. Los precios sombra indican, por ejemplo, la conveniencia o no de adquirir una cantidad adicional de algún recurso que se agota y a qué precio. Sin embargo, si la solución es degenerada esta interpretación no es válida, y lo que proporciona es una estimación arriesgada de los beneficios esperados al adquirir unidades extra de cada recurso. En el caso degenerado debemos completar la información con un análisis paramétrico de los términos independientes. Éste nos proporciona dos valores de los 52 Docencia de Matemáticas en la Economía y la Empresa precios sombra: pi+ cuando aumentamos el valor de bi y pi- cuando disminuimos el valor de bi. Además resulta imprescindible un análisis de sensibilidad de los términos independientes para comprobar que estos ascensos o descensos no modifican la política óptima. Por último, creemos útil insistir en dos consideraciones de orden técnico: a) Se debe analizar el tipo de solución óptima. Un descuido en este aspecto puede provocar errores importantes y con ello pérdidas para la empresa (véase Rubin y Wagner (1990)). b) El uso adecuado de los paquetes informáticos actuales permite resolver de forma casi automática algunos de los problemas que hace menos de una década resultaban un ejercicio complejo de programación matemática. Bibliografía 1. Chiang, A. (1987), Métodos fundamentales de economía matemática, 3ª Edición, Mc Graw Hill, Madrid. 2. Gal, T. (1986), “Shadow Prices and Sensitivity Analysis in Linear Programming under Degeneracy”, OR Spectrum, 8, 59-71. 3. Greenberg, H. J. (1986), “An Analysis of Degeneracy”, Naval Research Logistics Quartely, 33, 635-655. 4. Jansen, B., Roos, C. y Terlaky, T. (1995), “Optimal Bases versus Partitiions for Postoptimal Analysis in Linear Programming” (Preprint). 5. León, M. T. , Liern, V. (1996), “Interpretación de los precios sombra en presencia de degeneración”, Questiió, 20, 223-238. 6. Murty, K. G. (1983), Linear Programming, John Wiley and sons. New York. 7. Rubin, D. S., Wagner, M. H. (1990), “Shadow Prices: Tips and traps for Managers and Instructors”, Interfaces, 20, 150-157. 8. Shapiro, J. F. (1979), Mathematical Programming: Structures and Algorithms. John Wiley and sons. New York. 9. Shapiro, R. D. (1984), Optimization Models for Planning and Allocation: Text and Cases in Mathematical Programming. John Wiley and sons. 10. Winston, W. L. (1994), Investigacón de operaciones. Aplicaciones y algoritmos. Grupo Editorial Iberoamérica, S. A. , México D. F. 53