En el campo de la optimización matemática , la programación estocástica es un marco para modelar problemas de optimización que implican incertidumbre . Un programa estocástico es un problema de optimización en el que algunos o todos los parámetros del problema son inciertos, pero siguen distribuciones de probabilidad conocidas . [ 1 ] [ 2 ] Este marco contrasta con la optimización determinista, en la que se supone que todos los parámetros del problema se conocen con exactitud. El objetivo de la programación estocástica es encontrar una decisión que optimice algún criterio elegido por quien toma la decisión y que, además, tenga en cuenta adecuadamente la incertidumbre de los parámetros del problema. Debido a que muchas decisiones del mundo real implican incertidumbre, la programación estocástica ha encontrado aplicaciones en una amplia gama de áreas, desde las finanzas hasta el transporte y la optimización energética. [ 3 ] [ 4 ]
Métodos
Se han desarrollado varios métodos de programación estocástica:
- Métodos basados en escenarios, incluida la aproximación del promedio de la muestra.
- Programación estocástica entera para problemas en los que algunas variables deben ser números enteros.
- Programación con restricciones probabilísticas para abordar restricciones que deben cumplirse con una probabilidad dada.
- Programación dinámica estocástica
- proceso de decisión de Markov
- descomposición de Benders
Definición del problema en dos etapas
La idea básica de la programación estocástica en dos etapas es que las decisiones (óptimas) deben basarse en los datos disponibles en el momento de tomarlas y no pueden depender de observaciones futuras. La formulación en dos etapas se utiliza ampliamente en la programación estocástica. La formulación general de un problema de programación estocástica en dos etapas viene dada por: dóndees el valor óptimo del problema de la segunda etapa
Los problemas clásicos de programación estocástica lineal de dos etapas se pueden formular como
dóndees el valor óptimo del problema de la segunda etapa
En dicha formulaciónes el vector de variables de decisión de primera etapa,es el vector de variables de decisión de segunda etapa, yContiene los datos del problema de la segunda etapa. En esta formulación, en la primera etapa tenemos que tomar una decisión "aquí y ahora".antes de la realización de los datos inciertos, visto como un vector aleatorio, es conocido. En la segunda etapa, después de una realización deCuando está disponible, optimizamos nuestro comportamiento resolviendo un problema de optimización apropiado.
En la primera etapa optimizamos (minimizamos en la formulación anterior) el costo.de la decisión de la primera etapa más el costo esperado de la decisión (óptima) de la segunda etapa. Podemos ver el problema de la segunda etapa simplemente como un problema de optimización que describe nuestro comportamiento supuestamente óptimo cuando se revelan los datos inciertos, o podemos considerar su solución como una acción de recurso donde el términoCompensa una posible inconsistencia del sistema.yes el costo de esta acción de recurso.
El problema de dos etapas considerado es lineal porque las funciones objetivo y las restricciones son lineales. Conceptualmente, esto no es esencial y se pueden considerar programas estocásticos de dos etapas más generales. Por ejemplo, si el problema de la primera etapa es entero, se podrían agregar restricciones de integralidad para que el conjunto factible sea discreto. También se podrían incorporar objetivos y restricciones no lineales si fuera necesario. [ 5 ]
Supuesto distributivo
La formulación del problema de dos etapas anterior supone que los datos de la segunda etapase modela como un vector aleatorio con una distribución de probabilidad conocida . Esto estaría justificado en muchas situaciones. Por ejemplo, la distribución depodría inferirse a partir de datos históricos si se supone que la distribución no cambia significativamente durante el período de tiempo considerado. Además, la distribución empírica de la muestra podría usarse como una aproximación a la distribución de los valores futuros de. Si uno tiene un modelo previo para, se podría obtener una distribución a posteriori mediante una actualización bayesiana.
Enfoque basado en escenarios
Discretización
Para resolver numéricamente el problema estocástico de dos etapas, a menudo es necesario suponer que el vector aleatoriotiene un número finito de posibles realizaciones, llamadas escenarios , por ejemplo, con sus respectivas masas de probabilidadEntonces, la esperanza en la función objetivo del problema de la primera etapa se puede escribir como la sumatoria: y, además, el problema de dos etapas puede formularse como un gran problema de programación lineal (esto se denomina el equivalente determinista del problema original, véase la sección § Equivalente determinista de un problema estocástico ).
Cuandotiene un número infinito (o muy grande) de realizaciones posibles, el enfoque estándar es entonces representar esta distribución mediante escenarios. Este enfoque plantea tres preguntas, a saber:
- Para saber cómo construir escenarios, consulte el apartado § Construcción de escenarios ;
- Cómo resolver el equivalente determinista. Los optimizadores como CPLEX y GLPK pueden resolver grandes problemas lineales/no lineales. El servidor NEOS, [ 6 ] alojado en la Universidad de Wisconsin, Madison , permite el acceso gratuito a muchos solucionadores modernos. La estructura de un equivalente determinista es particularmente adecuada para aplicar métodos de descomposición, [ 7 ] como la descomposición de Benders o la descomposición de escenarios;
- Cómo medir la calidad de la solución obtenida con respecto al óptimo "verdadero".
Estas cuestiones no son independientes. Por ejemplo, el número de escenarios construidos afectará tanto a la viabilidad del equivalente determinista como a la calidad de las soluciones obtenidas.
Programación lineal estocástica
Un programa lineal estocástico es una instancia específica del programa estocástico clásico de dos etapas. Un programa lineal estocástico se construye a partir de una colección de programas lineales (PL) multiperíodo, cada uno con la misma estructura pero con datos algo diferentes.LP de dos períodos, que representa elEste escenario puede considerarse que tiene la siguiente forma:
Los vectoresyContiene las variables del primer período, cuyos valores deben elegirse inmediatamente. El vectorContiene todas las variables para los períodos subsiguientes. Las restriccionesLas restricciones incluyen únicamente variables del primer período y son las mismas en todos los escenarios. Las demás restricciones incluyen variables de períodos posteriores y difieren en algunos aspectos de un escenario a otro, lo que refleja la incertidumbre sobre el futuro.
Tenga en cuenta que resolver elLa programación lineal de dos períodos es equivalente a suponer queescenario en el segundo período sin incertidumbre. Para incorporar incertidumbres en la segunda etapa, se deben asignar probabilidades a diferentes escenarios y resolver el equivalente determinista correspondiente.
Equivalente determinista de un problema estocástico
Con un número finito de escenarios, los programas lineales estocásticos de dos etapas pueden modelarse como grandes problemas de programación lineal. Esta formulación se suele denominar programa lineal equivalente determinista, o simplemente equivalente determinista. (Estrictamente hablando, un equivalente determinista es cualquier programa matemático que pueda utilizarse para calcular la decisión óptima de la primera etapa, por lo que también existirán para distribuciones de probabilidad continuas, cuando se pueda representar el coste de la segunda etapa de forma cerrada). Por ejemplo, para formar el equivalente determinista del programa lineal estocástico anterior, asignamos una probabilidadpara cada escenarioEntonces podemos minimizar el valor esperado del objetivo, sujeto a las restricciones de todos los escenarios:
Tenemos un vector diferentede variables de períodos posteriores para cada escenarioLas variables del primer períodoyson los mismos en cada escenario, sin embargo, porque debemos tomar una decisión para el primer período antes de saber qué escenario se realizará. Como resultado, las restricciones que involucran soloySolo es necesario especificar una vez, mientras que las restricciones restantes deben indicarse por separado para cada escenario.
Construcción de escenarios
En la práctica, podría ser posible construir escenarios recabando opiniones de expertos sobre el futuro. El número de escenarios construidos debería ser relativamente modesto para que el equivalente determinista obtenido pueda resolverse con un esfuerzo computacional razonable. A menudo se afirma que una solución óptima que utiliza solo unos pocos escenarios proporciona planes más adaptables que una que asume un solo escenario. En algunos casos, esta afirmación podría verificarse mediante una simulación. En teoría, existen algunas medidas que garantizan que una solución obtenida resuelva el problema original con una precisión razonable. Normalmente, en las aplicaciones, solo se considera la primera etapa de la solución óptima.tiene un valor práctico ya que casi siempre una realización "verdadera" de los datos aleatorios será diferente del conjunto de escenarios construidos (generados).
Suponercontienecomponentes aleatorios independientes, cada uno de los cuales tiene tres posibles realizaciones (por ejemplo, las futuras realizaciones de cada parámetro aleatorio se clasifican como bajas, medias y altas), entonces el número total de escenarios esTal crecimiento exponencial del número de escenarios hace que el desarrollo de modelos utilizando la opinión de expertos sea muy difícil incluso para un tamaño razonable.. La situación se vuelve aún peor si algunos componentes aleatorios detienen distribuciones continuas.
Método de muestreo de Monte Carlo y aproximación del promedio de la muestra (SAA).
Un enfoque común para reducir el conjunto de escenarios a un tamaño manejable es mediante la simulación de Monte Carlo. Supongamos que el número total de escenarios es muy grande o incluso infinito. Supongamos además que podemos generar una muestra.derealizaciones del vector aleatorio. Por lo general, se supone que la muestra es independiente e idénticamente distribuida (muestra i.i.d.). Dada una muestra, la función de esperanzase aproxima mediante el promedio de la muestra
y, en consecuencia, el problema de la primera etapa viene dado por
Esta formulación se conoce como el método de aproximación del promedio muestral . El problema SAA es una función de la muestra considerada y, en ese sentido, es aleatorio. Para una muestra dadaEl problema SAA tiene la misma forma que un problema de programación lineal estocástica de dos etapas con los escenarios.,, cada uno tomado con la misma probabilidad.
Inferencia estadística
Consideremos el siguiente problema de programación estocástica.
Aquíes un subconjunto cerrado no vacío de,es un vector aleatorio cuya distribución de probabilidades compatible con un conjunto, yEn el marco de la programación estocástica de dos etapas,viene dado por el valor óptimo del problema de segunda etapa correspondiente.
Supongamos queestá bien definido y tiene un valor finito para todos.. Esto implica que para cadael valores finito casi con seguridad .
Supongamos que tenemos una muestraderealizaciones del vector aleatorioEsta muestra aleatoria puede considerarse como datos históricos deobservaciones deo puede generarse mediante técnicas de muestreo de Monte Carlo. Entonces podemos formular una aproximación promedio de muestra correspondiente.
Por la ley de los grandes números tenemos que, bajo ciertas condiciones de regularidadconverge puntualmente con probabilidad de 1 acomoAdemás, bajo condiciones adicionales leves, la convergencia es uniforme. También tenemos, es decir,es un estimador insesgado dePor lo tanto, es natural esperar que el valor óptimo y las soluciones óptimas del problema SAA converjan a sus contrapartes del problema verdadero como.
Consistencia de los estimadores SAA
Supongamos que el conjunto factibledel problema SAA es fijo, es decir, es independiente de la muestra. Seaysea el valor óptimo y el conjunto de soluciones óptimas, respectivamente, del problema verdadero y seaysean, respectivamente, el valor óptimo y el conjunto de soluciones óptimas del problema SAA.
- DejarySea una secuencia de funciones (deterministas) de valor real. Las dos propiedades siguientes son equivalentes:
- para cualquiery cualquier secuenciaconvergiendo aresulta queconverge a
- la funciónes continuo enyconverge auniformemente en cualquier subconjunto compacto de
- Si el objetivo del problema SAAconverge al objetivo del problema verdaderocon probabilidad 1, como, uniformemente en el conjunto factible. Entoncesconverge acon probabilidad 1 como.
- Supongamos que existe un conjunto compactode tal manera que
- el conjuntode soluciones óptimas del problema verdadero no es vacío y está contenido en
- la funciónes de valor finito y continuo en
- la secuencia de funcionesconverge acon probabilidad 1, como, uniformemente en
- paralo suficientemente grande el conjuntono está vacío ycon probabilidad 1
- entoncesycon probabilidad 1 como. Tenga en cuenta quedenota la desviación del conjuntodel conjunto, definido como
En algunas situaciones el conjunto factibledel problema SAA se estima, luego el problema SAA correspondiente toma la forma
dóndees un subconjunto dedependiendo de la muestra y, por lo tanto, es aleatorio. Sin embargo, aún se pueden obtener resultados de consistencia para los estimadores SAA bajo algunos supuestos adicionales:
- Supongamos que existe un conjunto compactode tal manera que
- el conjuntode soluciones óptimas del problema verdadero no es vacío y está contenido en
- la funciónes de valor finito y continuo en
- la secuencia de funcionesconverge acon probabilidad 1, como, uniformemente en
- paralo suficientemente grande el conjuntono está vacío ycon probabilidad 1
- siyconverge con probabilidad 1 a un punto, entonces
- por algún momentoexiste una secuenciade tal manera quecon probabilidad 1.
- entoncesycon probabilidad 1 como.
Asintótica del valor óptimo de SAA
Supongamos que la muestraes iid y fija un punto. Luego, el estimador del promedio de la muestra, dees imparcial y tiene varianza, dóndeSe supone que es finito. Además, por el teorema del límite central tenemos que
dóndedenota convergencia en la distribución ytiene una distribución normal con mediay varianza, escrito como.
En otras palabras,tiene una distribución asintóticamente normal , es decir, para valores grandes,tiene aproximadamente una distribución normal con mediay varianzaEsto conduce a lo siguiente (aproximado):% intervalo de confianza para:
dónde(aquídenota la función de distribución acumulada de la distribución normal estándar) y
es la estimación de la varianza muestral de. Es decir, el error de estimación dees (estocásticamente) de orden.
Aplicaciones y ejemplos
Aplicaciones biológicas
La programación dinámica estocástica se utiliza frecuentemente para modelar el comportamiento animal en campos como la ecología del comportamiento . [ 8 ] [ 9 ] Las pruebas empíricas de modelos de forrajeo óptimo y transiciones del ciclo vital , como el abandono del nido en aves y la puesta de huevos en avispas parasitoides, han demostrado el valor de esta técnica de modelado para explicar la evolución de la toma de decisiones conductuales. Estos modelos suelen ser de varias etapas, en lugar de dos.
Aplicaciones económicas
La programación dinámica estocástica es una herramienta útil para comprender la toma de decisiones en condiciones de incertidumbre. La acumulación de capital en condiciones de incertidumbre es un ejemplo; a menudo, los economistas de recursos la utilizan para analizar problemas bioeconómicos [ 10 ] donde interviene la incertidumbre, como el clima, etc.
Ejemplo: optimización de cartera en varias etapas
El siguiente es un ejemplo de programación estocástica multietapa del ámbito financiero. Supongamos que en el momentoTenemos capital inicialinvertir enactivos. Supongamos además que se nos permite reequilibrar nuestra cartera en ocasiones.pero sin inyectarle dinero adicional. En cada períodoTomamos una decisión sobre la redistribución de la riqueza actual.entre losactivos. Dejesean las cantidades iniciales invertidas en los n activos. Requerimos que cadaes no negativo y que la ecuación de balancedebería mantenerse.
Considere los rendimientos totalespara cada períodoEsto forma un proceso aleatorio con valores vectoriales.En ese período de tiempo, podemos reequilibrar la cartera especificando las cantidadesinvertidos en los respectivos activos. En ese momento se han realizado los rendimientos del primer período, por lo que es razonable utilizar esta información en la decisión de reequilibrio. Por lo tanto, las decisiones de la segunda etapa, en el momento, son en realidad funciones de realización del vector aleatorio, es decir,. De manera similar, en el momentola decisiónes una funciónde la información disponible proporcionada porla historia del proceso aleatorio hasta el momentoUna secuencia de funciones,, conAl ser constante, define una política implementable del proceso de decisión. Se dice que dicha política es factible si satisface las restricciones del modelo con probabilidad 1, es decir, las restricciones de no negatividad.,,y el equilibrio de las limitaciones de riqueza,
donde en el períodola riquezaes dado por
lo cual depende de la realización del proceso aleatorio y de las decisiones tomadas hasta el momento..
Supongamos que el objetivo es maximizar la utilidad esperada de esta riqueza en el último período, es decir, considerar el problema
Este es un problema de programación estocástica multietapa, donde las etapas están numeradas desdeaLa optimización se realiza sobre todas las políticas implementables y factibles. Para completar la descripción del problema, también es necesario definir la distribución de probabilidad del proceso aleatorio.Esto se puede hacer de varias maneras. Por ejemplo, se puede construir un árbol de escenarios particular que defina la evolución temporal del proceso. Si en cada etapa se permite que el rendimiento aleatorio de cada activo tenga dos continuaciones, independientemente de otros activos, entonces el número total de escenarios es
Para escribir ecuaciones de programación dinámica , considere el problema multietapa anterior hacia atrás en el tiempo. En la última etapa, una constatacióndel proceso aleatorio es conocido yha sido elegido. Por lo tanto, es necesario resolver el siguiente problema.
dóndedenota la esperanza condicional dedado. El valor óptimo del problema anterior depende deyy se denota.
De manera similar, en las etapasuno debería resolver el problema
cuyo valor óptimo se denota por. Finalmente, en la etapauno resuelve el problema
proceso aleatorio independiente por etapas
Para una distribución general del procesoPuede resultar difícil resolver estas ecuaciones de programación dinámica. La situación se simplifica drásticamente si el procesoes independiente por etapas, es decir,es (estocásticamente) independiente deparaEn este caso, las expectativas condicionales correspondientes se convierten en expectativas incondicionales, y la función,no depende de. Eso es,es el valor óptimo del problema
yes el valor óptimo de
para.
Herramientas de software
Lenguajes de modelado
Todos los problemas de programación estocástica discreta pueden representarse con cualquier lenguaje de modelado algebraico , implementando manualmente la no anticipación explícita o implícita para asegurar que el modelo resultante respete la estructura de la información disponible en cada etapa. Una instancia de un problema de programación estocástica generada por un lenguaje de modelado general tiende a crecer considerablemente (linealmente con el número de escenarios), y su matriz pierde la estructura intrínseca a esta clase de problemas, que de otro modo podría aprovecharse en el momento de la solución mediante algoritmos de descomposición específicos. Están empezando a aparecer extensiones a lenguajes de modelado diseñados específicamente para programación estocástica; véase:
- AIMMS – admite la definición de problemas SP
- EMP SP (Programación Matemática Extendida para Programación Estocástica): un módulo de GAMS creado para facilitar la programación estocástica (incluye palabras clave para distribuciones paramétricas, restricciones de probabilidad y medidas de riesgo como Valor en Riesgo y Déficit Esperado ).
- SAMPL : un conjunto de extensiones de AMPL diseñadas específicamente para expresar programas estocásticos (incluye sintaxis para restricciones de probabilidad, restricciones de probabilidad integradas y problemas de optimización robusta ).
Ambos pueden generar un formato a nivel de instancia SMPS, que transmite de forma no redundante la estructura del problema al solucionador.
Véase también
Referencias
- ↑ Shapiro, Alexander; Dentcheva, Darinka ; Ruszczyński, Andrzej (2009). Lecciones sobre programación estocástica: modelado y teoría (PDF) . Serie MPS/SIAM sobre optimización. Vol. 9. Filadelfia, PA: Society for Industrial and Applied Mathematics y Mathematical Programming Society. pp. xvi+436. ISBN 978-0-89871-687-0. MR 2562798 . Archivado del original (PDF) el 24-03-2020 . Recuperado el 22-09-2010 .
- ↑ Birge, John R.; Louveaux, François (2011). Introducción a la programación estocástica . Springer Series in Operations Research and Financial Engineering. doi : 10.1007/978-1-4614-0237-4 . ISBN 978-1-4614-0236-7ISSN 1431-8598
- ↑ Stein W. Wallace y William T. Ziemba (eds.). Aplicaciones de la programación estocástica . Serie de libros MPS-SIAM sobre optimización 5, 2005.
- ↑ Las aplicaciones de la programación estocástica se describen en el siguiente sitio web, Stochastic Programming Community .
- ↑ Shapiro, Alexander; Philpott, Andy. Un tutorial sobre programación estocástica (PDF) .
- ↑ "Servidor NEOS para optimización" .
- ↑ Ruszczyński, Andrzej ; Shapiro, Alexander (2003). Programación estocástica . Manuales de investigación operativa y ciencias de la gestión. Vol. 10. Filadelfia: Elsevier . pág. 700. ISBN 978-0444508546.
- ↑ Mangel, M. y Clark, CW 1988. Modelado dinámico en ecología del comportamiento. Princeton University Press ISBN 0-691-08506-4
- ↑ Houston, A. I y McNamara, JM 1999. Modelos de comportamiento adaptativo: un enfoque basado en el estado . Cambridge University Press ISBN 0-521-65539-0
- ↑ Howitt, R., Msangi, S., Reynaud, A y K. Knapp. 2002. "Uso de aproximaciones polinomiales para resolver problemas de programación dinámica estocástica: o un enfoque "Betty Crocker" para SDP". Documento de trabajo del Departamento de Economía Agrícola y de Recursos de la Universidad de California, Davis.
Lecturas adicionales
- John R. Birge y François V. Louveaux. Introducción a la programación estocástica . Springer Verlag, Nueva York, 1997.
- Kall, Peter; Wallace, Stein W. (1994). Programación estocástica . Serie Wiley-Interscience en Sistemas y Optimización. Chichester: John Wiley & Sons, Ltd. pp. xii+307. ISBN 0-471-95158-7MR 1315300 .
- G. Ch. Pflug: Optimización de modelos estocásticos. La interfaz entre simulación y optimización . Kluwer, Dordrecht, 1996.
- András Prekopa . Programación estocástica. Editorial académica Kluwer, Dordrecht, 1995.
- Andrzej Ruszczynski y Alexander Shapiro (eds.) (2003) Programación estocástica . Manuales de investigación operativa y ciencias de la gestión, vol. 10, Elsevier.
- Shapiro, Alexander; Dentcheva, Darinka ; Ruszczyński, Andrzej (2009). Lecciones sobre programación estocástica: modelado y teoría (PDF) . Serie MPS/SIAM sobre optimización. Vol. 9. Filadelfia, PA: Society for Industrial and Applied Mathematics y Mathematical Programming Society. pp. xvi+436. ISBN 978-0-89871-687-0. MR 2562798 . Archivado del original (PDF) el 24-03-2020 . Recuperado el 22-09-2010 .
- Stein W. Wallace y William T. Ziemba (eds.) (2005) Aplicaciones de la programación estocástica . Serie de libros MPS-SIAM sobre optimización 5
- King, Alan J.; Wallace, Stein W. (2012). Modelado con programación estocástica . Serie Springer en investigación operativa e ingeniería financiera. Nueva York: Springer. ISBN 978-0-387-87816-4.
Enlaces externos
- Página principal de la comunidad de programación estocástica
- Optimización estocástica
- Algoritmos y métodos de optimización