Download PROGRAMACIÓN ESTOCÁSTICA CON FUNCIÓN
Document related concepts
no text concepts found
Transcript
PROGRAMACIÓN ESTOCÁSTICA CON FUNCIÓN OBJETIVO FRACTIL. UNA APLICACIÓN A LA PLANIFICACIÓN DE TESORERÍA Antonio Cardona Rodríguez efpcaroa@lg.ehu.es Universidad del País Vasco (UPV/EHU) Reservados todos los derechos. Este documento ha sido extraído del CD Rom “Anales de Economía Aplicada. XIV Reunión ASEPELT-España. Oviedo, 22 y 23 de Junio de 2000”. ISBN: 84-699-2357-9 1 PROGRAMACIÓN ESTOCÁSTICA CON FUNCIÓN OBJETIVO FRACTIL. UNA APLICACIÓN A LA PLANIFICACIÓN DE TESORERÍA. Cardona Rodríguez, Antonio efpcaroa@lg.ehu.es Departamento de Economía Financiera I Universidad del País Vasco/Euskal Herriko Unibertsitatea Palabras clave: Programación estocástica, programación lineal, planificación financiera, tesorería. RESUMEN La programación estocástica se ha desarrollado siguiendo distintos enfoques. En particular, se han estudiado modelos que utilizan distintas funciones objetivo. En nuestro trabajo utilizamos un programa con función objetivo del tipo fractil, esto es, que se impone la optimización de un funcional de variable aleatoria, con la condición de que el óptimo se alcance con una probabilidad α dada. La probabilidad α es fijada por el decisor. Presentamos un ejemplo sencillo de aplicación, en la que una entidad se propone tener un nivel de tesorería, función de una variable aleatoria, que le permita afrontar unos pagos determinados al final de cada período. Las variables de decisión son la cantidad de dinero que se obtiene mediante descuento comercial y el importe pedido en préstamo en cada período. Se trata de minimizar el coste de los fondos, función de una variable aleatoria. 2 PROGRAMACIÓN ESTOCÁSTICA CON FUNCIÓN OBJETIVO FRACTIL. UNA APLICACIÓN A LA PLANIFICACIÓN DE TESORERÍA. INTRODUCCIÓN La programación estocástica trata los problemas de programación matemática en los que algunos de los parámetros implicados son variables aleatorias, generalmente de distribución conocida. Se han desarrollado distintos modelos dentro de la programación estocástica. En particular, uno de los problemas que más se ha estudiado es el de las distintas formas de la función objetivo, o por expresarlo mejor, los distintos criterios posibles de optimización. Muchos programas estocásticos utilizan el criterio de optimizar la esperanza matemática de la función objetivo. El problema es que una estrategia x cuyo beneficio esperado sea mayor que el de otra y, puede sin embargo tener asociado también un riesgo mayor de pérdida, de aquí que pueda ser interesante tener en cuenta criterios que incluyan ese riesgo de alguna manera. Hay problemas que pueden ser mejor tratados utilizando otros estadísticos, que nos permiten tener en cuenta el riesgo de una forma más explícita que el criterio del valor esperado. Estos problemas se engloban dentro de un grupo más general que es el de los modelos de mínimo riesgo. Un caso particular es elque utiliza como criterio el fractil, o cuantil, de la función objetivo aleatoria. ESTABLECIMIENTO DEL PROBLEMA Dado un conjunto de estrategias X ∈ Rm , que llamamos región factible, y una función objetivo f(x) real de variable vectorial, nuestro problema es seleccionar la estrategia x ∈ X, de forma que el valor de la función objetivo para esa estrategia sea el mejor de todos los posibles. Si la función objetivo es lineal, y la región factible está definida también por relaciones lineales entre las variables, estamos ante un programa lineal. Si introducimos en el problema parámetros aleatorios, tenemos un modelo de 3 programación lineal estocástica. Los parámetros aleatorios pueden aparecer tanto en la definición de la función objetivo como en la de la región factible, o en ambas. Al introducir la aleatoriedad en el problema, la definición de óptimo cambia, ya que, en general no se podrá, o no tendrá sentido calcular el óptimo de la función objetivo para cada realización de las variables aleatorias que intervienen. De modo que tendremos que redefinir nuestra búsqueda del óptimo en función de alguna de las características estadísticas de la función objetivo. Sea una función objetivo1 Φ(x, ξ), en la que x representa un vector de estrategias m-dimensional perteneciente a una región factible X ∈ Rm , y ξ es un vector aleatorio ndimensional con función de distribución conocida: 2 Fξ (z) = Pr{ξ | ξ ≤ z}. Supongamos, por centrar el problema, que nuestro objetivo es la minimización de una función real Φ. Como es fácil de ver, minimizar Φ(x, ξ) es equivalente a maximizar -Φ(x, ξ), por lo que el estudio de la minimización no supone una pérdida de generalidad. Puesto que Φ es función de una variable aleatoria ξ, debemos especificar qué entendemos por mínimo, ya que éste será distinto para cada realización concreta de dicha variable. Nos encontramos con que el concepto de solución óptima no está claramente definido, como en el caso determinista. De hecho, ni siquiera el concepto de región factible es igualmente aplicable. Si en la definición de X intervienen parámetros aleatorios, también la región factible será distinta para cada realización de estos parámetros. Si consideramos todas las estrategias posibles para todas las realizaciones de las variables aleatorias, puede fácilmente ocurrir que la región factible no esté acotada. Si por el contrario, obligamos a las estrategias a pertenecer a todas las regiones posibles, la región factible puede ser vacía. Por otra parte, parece claro que no puede tratarse igual un estrategia cuya probabilidad de ser factible es muy pequeña, que otra que es factible casi seguro. Y entre dos estrategias con igual probabilidad de pertenecer a la región factible, si la 1 De modo general utilizaremos letras griegas sin subíndice para designar vectores aleatorios, y las mismas letras con los correspondientes subíndices para designar a las componentes de los vectores, es decir a las variables aleatorias unidimensionales. 2 En lo sucesivo, omitiremos el subíndice de la función de distribución, que indica la variable aleatoria, ya que utilizaremos esa notación con otro significado, como veremos más adelante. 4 función objetivo es aleatoria, el valor que asignan a ésta será también una variable aleatoria, en la que habrá que hacer las oportunas consideraciones sobre probabilidad. Entre las diversas opciones que existen se encuentran las que utilizan el fractil o cuantil α del mínimo de la función objetivo aleatoria, calculado éste sobre todas las estrategias posibles. Si definimos: 3 Fφ(x) = Ρr{ξ | Φ(x, ξ) ≤ φ}, es decir, la función de distribución de la función de variable aleatoria Φ(x, ξ), para cada valor de x ∈ X. Definimos entonces la función fractil como: Φα(x) = min{φ | Fφ(x) ≥ α}, con α ∈ (0, 1). La función así definida caracteriza el nivel Φα de la función objetivo, del que podemos confiar, con una probabilidad α, que una vez realizadas las variables aleatorias, no va a ser sobrepasado. En el fractil aparecen dos parámetros: la probabilidad α, y el nivel de cumplimiento del objetivo, φ. Esto nos lleva a la posibilidad de establecer sobre el fractil dos objetivos: - maximizar la probabilidad de no superar un determinado nivel, φ. - o minimizar el nivel a alcanzar, para una probabilidad α dada. En el primero de los casos el decisor fija el nivel máximo que puede alcanzar la función objetivo, y trata de minimizar la probabilidad de sobrepasarlo, o lo que es lo mismo, maximizar la probabilidad de no sobrepasar ese nivel. Como Φ(x, ξ) depende de una variable aleatoria, el valor de la función será una también una variable aleatoria de función de distribución: F(φ) = Ρr{Φ(x, ξ) ≤ φ } Así pues, fijado el nivel φ, el objetivo es max F. Este enfoque se suele conocer con el nombre de criterio de máxima probabilidad. 3 Para evitar confusiones, observemos que la notación utilizada, Fφ(x), hace referencia a la variable x, puesto que la función definida lo es de esa variable, el subíndice hace referencia al fractil de la función aleatoria Φ, no a la variable aleatoria, como es habitual en la notación estadística. 5 En el segundo caso, lo que fijamos es la probabilidad α de que se alcance el objetivo, en este caso, el mínimo de la función Φ. El problema consiste en minimizar la función fractil Φα = min{φ | Fφ(x) ≥ α} respecto al conjunto de estrategias posibles X. El objetivo será entonces: min Φα = min(min{φ | Fφ ( x ) ≥ α}) = min(min{φ | P(Φ( x ,ξ ) ≤ φ) ≥ α}) x∈ X x∈ X x∈ X Dicho de otra manera, el decisor fija una probabilidad α de cumplimiento del objetivo, y el programa determina cuáles son las estrategias con las cuales puede alcanzarse el objetivo con esa probabilidad dada. Esta imposición al valor óptimo de la función objetivo convierte a la función original en una nueva restricción, al igual que las que delimitan la región factible. Este enfoque lo llamaremos criterio fractil. Nosotros utilizaremos este segundo enfoque, es decir, el de la minimización de la función fractil. El significado de este problema se puede interpretar como que deseamos hallar el menor valor posible de la función, con una garantía α de que efectivamente no se sobrepasará ese valor. Con más rigor, el fractil Φα caracteriza el nivel de cumplimiento del objetivo tal que el cumplimiento real (una vez realizadas las variables aleatorias) no supere ese nivel, con una probabilidad α. Así pues, resumiendo, debemos decidir una estrategia x ∈ X, que haga mínimo el valor de la función Φα. La resolución de este tipo de problemas es, en general muy compleja, dependiendo del tipo de distribuciones implicadas, del tratamiento de las variables aleatorias, de si éstas aparecen sólo en la función objetivo, sólo en el conjunto de restricciones, o en ambos. En algunos casos, el problema se simplifica notablemente, como por ejemplo si la distribución de las variables aleatorias toma una determinada forma, si la función objetivo inicial es lineal, etc. Entre los métodos más habituales de resolución está la búsqueda de un equivalente determinista, que puede ser resuelto con los métodos conocidos de la programación determinista. Una primera aproximación a este problema la encontramos en el llamado criterio p-fractil, de Kataoka (1963). En Stancu-Minasian (1984), se analiza el uso del criterio fractil en conjunción con otros, para el planteamiento de programas 6 multiobjetivo. Un análisis más completo del problema, con abundantes ejemplos y exposición de algoritmos, puede verse en Kibzun, y Kan (1996)4 . FUNCIÓN OBJETIVO LINEAL EN LAS VARIABLES ALEATORIAS Un caso particular, que puede resultar interesante en muchos problemas es aquel en que: - La función objetivo determinista es lineal en las variables de decisión x - Los parámetros aleatorios, aparecen sólo como coeficientes de las variables de decisión en la función objetivo, - La distribución del vector de parámetros aleatorios es simétrica. Esto es, la función objetivo es de la forma5 x TAθ, con A matriz de dimensión m × n; o, con más generalidad: x T(Aθ + b), con θ vector aleatorio n-dimensional, A matriz de dimensión m × n, y b vector m- dimensional. Bajo estos supuestos, el problema se simplifica considerablemente, ya que es sencillo obtener un equivalente determinista del problema estocástico. En este caso, el problema de minimizar la función fractil se convierte en el de minimizar el equivalente determinista6 ||ATx||θ1α + x Tb Siendo - ||ATx|| la norma euclídea del vector ATx, - θ1α el fractil α de la primera componente del vector aleatorioθ. La función obtenida ya no es lineal, pero existen algoritmos que permiten la resolución del problema. Un ejemplo de distribución simétrica es la normal tipificada, N(0,1). teniendo en cuenta que podemos tipificar una normal general mediante una transformación lineal, el 4 De este texto hemos tomado en buena parte la notación utilizada. Siguiendo la norma habitual representamos las matrices con letras latinas mayúsculas, y los vectores con minúsculas, y como matrices columna. 6 Kibzun y Kan (1996) 5 7 problema se hace aún más general. En el caso de que la variable aleatoria sea vectorial, con componentes independientes, la normal multivariante N(0,I)7 también es simétrica. Este vector representa un conjunto variables normales independientes de distribución N(0,1).8 Si la variable aleatoria ξi sigue una distribución N(µi, σi), podemos tipificarla y transformar la variable en θi =(ξi - µi)/ σi. La nueva variable aleatoria θi tendrá una distribución normal N(0,1), con lo que el vector aleatorio θT = (θ1 ,θ2 , …, θn ) seguirá una distribución normal N(0, I). Matricialmente, la transformación es: x T(Aξ + b)= x T(ASθ + Aµ + b) σ1 0 0 σ 2 Siendo S = ... ... 0 0 0 µ1 µ ... 0 , matriz de desviaciones típicas; y µ = 2 M ... ... µ ... σ n n ... vector de medias. Y el equivalente determinista es, Min ||STATx||θ1α + x T (Aµ+ b) APLICACIÓN A UN PROBLEMA DE TESORERÍA Un problema que puede tratarse mediante la programación lineal es el de la planificación de tesorería. El problema de la planificación financiera a corto plazo, o tesorería, intenta encontrar un equilibrio entre las corrientes de entradas y salidas de fondos de la empresa. El problema tiene dos componentes principales: - Por una parte hay que prever la cantidad de dinero líquido necesaria para hacer frente a las necesidades, 7 El 0 representa en este caso a la matriz nula de orden n, e I es la matriz identidad del mismo orden. 8 - Por otra hay que decidir de qué fuentes se va a conseguir ese dinero. En la selección de estas fuentes entra como parte importante la consideración del coste de los fondos. Entre las fuentes de financiación a corto plazo más habituales están: - El descuento de papel comercial. - El aplazamiento de pagos, concedido por los proveedores. - Las líneas de crédito. - Los préstamos, con o sin garantías.9 El propósito inicial es decidir entre varias fuentes de financiación tratando de tener el menor coste posible, teniendo en cuenta que se deben satisfacer unas necesidades de liquidez para hacer frente a unos pagos determinados al final de cada periodo, que supondremos mensual; y que existen también unas restricciones sobre las fuentes de financiación. Como en el modelo aparecen variables aleatorias, la función objetivo será también aleatoria, y lo que trataremos es de minimizar el fractil de dicha función para una probabilidad α dada. El planteamiento va a ser especialmente sencillo, ya que sólo pretendemos una primera aproximación básica al problema. Suponemos que la empresa mantiene el adecuado equilibrio del circulante, pero que la corriente de entradas y salidas de fondos no tiene por qué estar ajustada diariamente, así que tiene que prever de alguna manera el origen de los fondos necesarios a una fecha dada. En particular vamos a suponer que la empresa debe hacer frente a unos pagos ineludibles al final de cada periodo, como pueden ser nóminas, o impuestos. Para conseguir la liquidez necesaria puede conseguir financiación de dos modos: - dinero procedente de la actividad mercantil de la empresa, materializado en papel comercial que puede descontar en el banco, - dinero procedente de un crédito o préstamo bancario. 8 En el caso de que las variables no sean independientes, es decir, que el vector siga una distribución normal general N(µ,Σ), también podemos efectuar una transformación matricial, de forma que obtengamos un vector aleatorio tipificado N(0,I), lo que nos permitirá aplicar los mismo resultados. 9 La planificación se hace para seis meses, y el objetivo es minimizar el coste de los fondos, cuyas componentes son: - Gastos del descuento comercial. - Intereses y comisiones del préstamo. Los parámetros del modelo son: - Necesidades de caja al final de cada mes. - Coste de los fondos. - Límite mensual de fondos obtenidos de cada una de las dos fuentes. Las necesidades de caja las suponemos ciertas y conocidas. El coste de los fondos obtenidos en préstamos también lo suponemos conocido. Trataremos de forma distinta el coste del descuento. Este depende de varios factores: - Plazo de los efectos. - Tiempo hasta el vencimiento, al descontarse. - Riesgo de cobro. - Número de efectos, - Etc. La empresa estima estos costes. Suponemos que en cada periodo, el coste por unidad monetaria obtenida en descuento es una variable aleatoria que sigue una distribución normal de media y varianza conocidas, y que esa distribución es independiente para cada periodo. Para terminar, supondremos que los fondos pedidos en préstamo, generan interese durante un periodo, y que éstos aumentan las necesidades de fondos del periodo siguiente. La notación que vamos a usar es: Li = liquidez necesaria al final del periodo i. Di = dinero obtenido mediante descuento, en miles de euros. 9 En Pogue y Bussard (1972) puede encontrarse un completo ejemplo planificación de tesorería, 10 Pi = dinero obtenido en préstamo en el periodo i, en miles de euros. ξi = coste del dinero obtenido mediante descuento comercial, en tanto por mil. ri = coste del préstamo, en tanto por mil. ii = tipo de interés mensual del préstamo, en tanto por uno. MDi = límite de fondos obtenidos mediante descuento en el mes i. MPi = límite de fondos obtenidos mediante préstamo en el mes i. La función a minimizar es C(D,P) = ∑(ξi Di + riPi) que depende de los valores que tome la variable aleatoria vectorial n-dimensional ξ. Y las restricciones: D1 + P1 ≥ L1 Di + Pi - ii Pi-1 ≥ Li (i = 2, ... 6) 0 ≤ Di ≤ MDi (i = 1, 2, ... 6) 0 ≤ Pi ≤ MPi (i = 1, 2, ... 6) Como la función objetivo es lineal en las variables aleatorias y éstas son independientes y siguen una distribución normal de media y desviación típica conocidas, se puede obtener fácilmente el equivalente determinista de la minimización del fractil, tal y como hemos visto anteriormente. Haciendo el cambio de variable: ξi = σi θi + µi Tenemos ∑Diξi = ∑Di(σi θi + µi) = ∑Diσiθi + ∑Diµi Una vez hecha la transformación, nos queda como función objetivo: C(D,P) = ∑( σiθi Di + µi Di + riPi) Utilizando el criterio fractil, se trata de minimizar Kα(D,P) = min{C | FC (D,P) ≥ α}, con α ∈ (0, 1). Siendo: FC (D,P) = Ρ{θ | C(D,P,θ) ≤ c}, Como ya hemos visto anteriormente, el problema estocástico es equivalente al determinista: mediante programación lineal, en el que se incluyen diversas fuentes de financiación. 11 Min K = [Σ (σi Di)2 ]1/2θ1α + Σ(µi Di + riPi) EJEMPLO NUMÉRICO Supongamos los siguientes datos del problema: Periodo Coste medio descuento, Varianza, Necesidades de tesorería, en tanto por mil, µi σi2 en miles de euros, Di 1 9,21 9,5 225 2 7,23 8,3 198 3 8,61 9,2 153 4 6,42 8,5 167 5 8,13 9,1 216 6 9,11 10,1 257 El préstamo tiene una comisión de 1% sobre el importe mensual medio 1/6 ΣPi. Y un tanto de interés del 7% anual, o 0,00583 por uno mensual. Suponemos que los préstamos se mantienen durante el periodo correspondiente. El coste asociado al préstamo es la suma de la comisión más los intereses, esto es, 9,167 por mil. Además, la empresa tiene unos límites en su capacidad de descuento y endeudamiento, de 180 mil euros y 220 mil euros, respectivamente, para cada mes. Exigimos que el objetivo se cumpla con una probabilidad α = 0,95, por lo tanto, será θ1α = 1,645. El programa es: Min K= 1,645[9,21D1 2 +7,23 D2 2 + 8,61D3 2 + 6,42D4 2 + 8,13D5 2 +9,11D6 2 ] 1/2 + 9,5D1 + 8,3D2 + 9,2D3 + 8,5D4 + 9,1D5 +10,1D6 + + 9,167(P 1 +P2 + P3 +P4 +P5 +P6 ) sujeto a: D1 + P1 ≥ 225 D2 + P2 – 0,00583P1 ≥ 198 12 D3 + P3 – 0,00583P2 ≥ 153 D4 + P4 – 0,00583P3 ≥ 167 D5 + P5 – 0,00583P4 ≥ 216 D6 + P6 – 0,00583P5 ≥ 257 0 ≤ Di ≤ 180 (i=1, 2, ..., 6) 0 ≤ Pi ≤ 220 (i=1, 2, ..., 6) La solución del programa nos da los siguientes valores, en miles de euros:10 Periodo Importe descontado Importe del préstamo 1 5 220 2 9,357 189,927 3 0,182 153,926 4 8,231 159,666 5 1,382 215,549 6 38,257 220 Valor de la función objetivo: 11.420 euros. El coste de los fondos será de 11.420 euros, con una probabilidad del 95%. Para hacer una primera comparación, si hubiéramos resuelto el problema utilizando los valores medios de los coeficientes de la función objetivo, los resultados habrían sido: Periodo Importe descontado Importe del préstamo 1 5 220 2 180 19,283 3 153,112 0 4 167 0 5 180 36 6 37,210 220 10 Obtenidos usando una hoja de cálculo EXCEL. 13 Coste de los fondos: 10.923 euros. Obviamente, el valor de la función objetivo es menor, pero también tenemos una mayor probabilidad de que el valor real sobrepase al calculado. El caso es muy sencillo y poco realista, pero puede servir como ejemplo de aplicación de una técnica que sigue siendo válida para el caso de que se incluyan más variables y restricciones, de forma que se aproxime más a una situación real. Por otra parte, la aplicación del modelo en la práctica exigiría el necesario análisis de la solución y de la sensibilidad respecto a los parámetros, en especial los relacionados con la aleatoriedad: distribuciones, probabilidad de cumplimiento, etc. 14 BIBLIOGRAFÍA Kataoka, S. (1963): “A stochastic programming model”, Econometrica, vol. 31, nº 1-2, pp. 181-196. Kibzun, A.I. y Kan Y.S. (1996): Stochastic programming problems with probability and quantile functions, John Wiley, Chichester. Pogue, G.A. y Bussard, R.N. (1972): “A linear programming model for short term financial planning under uncertainty”, Sloan Management Review, vol.13, nº 3, pp. 69-98. Stancu-Minasian, I.M. (1984): Stochastic programming with multiple objective functions, Reidel Publishing y Editura Academiei, Bucarest. 15