De Wikipedia, la enciclopedia libre
Ir a navegaciónSaltar a buscar

En el campo de la optimización matemática , la programación estocástica es un marco para modelar problemas de optimización que involucran 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 algunos de los criterios elegidos por el responsable de la toma de decisiones y que dé cuenta de manera adecuada de 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 que van desde las finanzas hasta el transporte y la optimización energética. [3] [4]

Problemas de dos etapas

La idea básica de la programación estocástica de dos etapas es que las decisiones (óptimas) deben basarse en los datos disponibles en el momento en que se toman las decisiones y no pueden depender de observaciones futuras. La formulación de dos etapas se usa ampliamente en programación estocástica. La formulación general de un problema de programación estocástica de dos etapas viene dada por:

donde es 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

donde es el valor óptimo del problema de la segunda etapa

En tal formulación es el vector variable de decisión de la primera etapa, es el vector variable de decisión de la segunda etapa, y contiene 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, se conoce. En la segunda etapa, después de una realización de esté disponible, optimizamos nuestro comportamiento resolviendo un problema de optimización adecuado.

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 de la segunda etapa (óptima). 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érmino compensa una posible inconsistencia del sistema y es 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 un número entero, se podrían agregar restricciones de integralidad al problema de la primera etapa para que el conjunto factible sea discreto. También se podrían incorporar objetivos y limitaciones no lineales si fuera necesario. [5]

Supuesto distributivo

La formulación del problema de dos etapas anterior supone que los datos de la segunda etapa se puede modelar como un vector aleatorio con una distribución de probabilidad conocida (no solo incierta). Esto estaría justificado en muchas situaciones. Por ejemplo,podría ser información derivada de datos históricos y la distribución no cambia significativamente durante el período de tiempo considerado. En tales situaciones, se puede estimar de manera confiable la distribución de probabilidad requerida y la optimización en promedio podría estar justificada por la ley de los grandes números . Otro ejemplo es quepodrían ser realizaciones de un modelo de simulación cuyas salidas son estocásticas. La distribución empírica de la muestra podría usarse como una aproximación a la distribución de salida verdadera pero desconocida.

Discretización

Para resolver numéricamente el problema estocástico de dos etapas, a menudo es necesario suponer que el vector aleatorio tiene un número finito de posibles realizaciones, llamadas escenarios , digamos, con respectivas masas de probabilidad . Entonces, la expectativa en la función objetivo del problema de la primera etapa se puede escribir como la suma:

y, además, el problema de dos etapas se puede formular como un gran problema de programación lineal (esto se llama el equivalente determinista del problema original, ver sección § Equivalente determinista de un problema estocástico ).

Cuándo tiene un número infinito (o muy grande) de posibles realizaciones, el enfoque estándar es entonces representar esta distribución por escenarios. Este enfoque plantea tres preguntas, a saber:

  1. Cómo construir escenarios, ver § Construcción de escenarios ;
  2. Cómo resolver el equivalente determinista. Los optimizadores como CPLEX , GLPK y Gurobi 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 susceptible de aplicar métodos de descomposición, [7] como la descomposición de Benders o la descomposición de escenarios;
  3. Cómo medir la calidad de la solución obtenida con respecto al "verdadero" óptimo.

Estas preguntas no son independientes. Por ejemplo, el número de escenarios construidos afectará tanto la manejabilidad del equivalente determinista como 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 LP estocástico se construye a partir de una colección de programas lineales de períodos múltiples (LP), cada uno con la misma estructura pero con datos algo diferentes. El LP de dos períodos, que representa el escenario, puede considerarse que tiene la siguiente forma:

Los vectores y contienen las variables del primer período, cuyos valores deben elegirse inmediatamente. El vectorcontiene todas las variables para períodos posteriores. Las limitacionesinvolucran solo variables del primer período y son las mismas en todos los escenarios. Las otras restricciones involucran 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 el LP de dos periodos es equivalente a asumir el escenario 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 se pueden modelar como grandes problemas de programación lineal. Esta formulación a menudo se denomina programa lineal equivalente determinista, o se abrevia como equivalente determinista. (Estrictamente hablando, un equivalente determinista es cualquier programa matemático que pueda usarse 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 costo de la segunda etapa en alguna forma cerrada). Por ejemplo, para formar el equivalente determinista del programa lineal estocástico anterior, asignamos una probabilidad a cada escenario . Entonces podemos minimizar el valor esperado del objetivo, sujeto a las restricciones de todos los escenarios:

Tenemos un vector diferente de variables de período posterior para cada escenario . Las variables del primer período y son los mismos en todos los escenarios, 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 solo y solo 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 obteniendo opiniones de expertos sobre el futuro. El número de escenarios construidos debe ser relativamente modesto para que el equivalente determinista obtenido pueda resolverse con un esfuerzo computacional razonable. A menudo se afirma que una solución que es óptima utilizando solo unos pocos escenarios proporciona planes más adaptables que una que asume un solo escenario. En algunos casos, tal afirmación podría verificarse mediante una simulación. En teoría, algunas medidas garantizan que una solución obtenida resuelve el problema original con una precisión razonable. Por lo general, en aplicaciones solo la solución óptima de primera etapa 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).

Suponer contiene componentes aleatorios independientes, cada uno de los cuales tiene tres posibles realizaciones (por ejemplo, las realizaciones futuras de cada parámetro aleatorio se clasifican como bajo, medio y alto), luego el número total de escenarios es . Tal 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 empeora aún más si algunos componentes aleatorios de tienen distribuciones continuas.

Muestreo de Monte Carlo y método de aproximación del promedio de la muestra (SAA)

Un enfoque común para reducir el escenario establecido a un tamaño manejable es mediante la simulación de Monte Carlo. Suponga que el número total de escenarios es muy grande o incluso infinito. Supongamos además que podemos generar una muestra de replicaciones del vector aleatorio . Por lo general, se supone que la muestra es independiente y está distribuida de manera idéntica (iid muestra). Dada una muestra, la función de expectativa es aproximado por el promedio de la muestra

y consecuentemente el problema de la primera etapa viene dado por

Esta formulación se conoce como el método de aproximación promedio de la muestra . El problema de SAA es una función de la muestra considerada y en ese sentido es aleatorio. Para una muestra dada el problema de 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

Considere 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 probabilidad es compatible con un conjunto , y . En el marco de la programación estocástica de dos etapas, viene dado por el valor óptimo del correspondiente problema de segunda etapa.

Asumir que está bien definido y valorado de forma finita para todos. Esto implica que para cada el valor es finito casi con seguridad.

Supongamos que tenemos una muestra de realizaciones del vector aleatorio . Esta muestra aleatoria puede verse como datos históricos de observaciones de , o puede generarse mediante técnicas de muestreo de Monte Carlo. Entonces podemos formular una aproximación promedio muestral correspondiente

Por la Ley de los Grandes Números tenemos que, bajo algunas condiciones de regularidad converge puntualmente con probabilidad 1 a como . Además, en condiciones adicionales suaves, la convergencia es uniforme. También tenemos, es decir, es un estimador insesgado de. Por lo tanto, es natural esperar que el valor óptimo y las soluciones óptimas del problema SAA converjan con sus contrapartes del verdadero problema como.

Consistencia de los estimadores de SAA

Supongamos que el conjunto factible El problema de SAA es fijo, es decir, es independiente de la muestra. Dejar y ser el valor óptimo y el conjunto de soluciones óptimas, respectivamente, del verdadero problema y dejar y ser el valor óptimo y el conjunto de soluciones óptimas, respectivamente, del problema SAA.

  1. Dejar y ser una secuencia de funciones de valor real (deterministas). Las siguientes dos propiedades son equivalentes:
    • para cualquier y cualquier secuencia convergiendo a resulta que converge a
    • la función es continuo en y converge a uniformemente en cualquier subconjunto compacto de
  2. Si el objetivo del problema SAA converge al objetivo del verdadero problema con probabilidad 1, como , uniformemente en el conjunto factible . Luego converge a con probabilidad 1 como .
  3. Supongamos que existe un conjunto compacto tal que
    • el conjunto de soluciones óptimas del verdadero problema no está vacío y está contenido en
    • la función tiene un valor finito y es continuo en
    • la secuencia de funciones converge a con probabilidad 1, como , uniformemente en
    • por lo suficientemente grande el conjunto no está vacío y con probabilidad 1
luego y con probabilidad 1 como . Tenga en cuenta quedenota la desviación del conjunto del set , definido como

En algunas situaciones, el conjunto factible del problema de SAA se estima, entonces el problema de SAA correspondiente toma la forma

donde es un subconjunto de dependiendo de la muestra y por tanto es aleatorio. Sin embargo, los resultados de consistencia para los estimadores de SAA aún se pueden derivar bajo algunos supuestos adicionales:

  1. Supongamos que existe un conjunto compacto tal que
    • el conjunto de soluciones óptimas del verdadero problema no está vacío y está contenido en
    • la función tiene un valor finito y es continuo en
    • la secuencia de funciones converge a con probabilidad 1, como , uniformemente en
    • por lo suficientemente grande el conjunto no está vacío y con probabilidad 1
    • Si y converge con probabilidad 1 a un punto , luego
    • por algún momento existe una secuencia tal que con probabilidad 1.
luego y con probabilidad 1 como .

Asintóticas del valor óptimo de SAA

Supongamos que la muestra es iid y fijar un punto . Luego, el estimador promedio de la muestra, de , es imparcial y tiene varianza , donde se supone que es finito. Además, por el teorema del límite central tenemos que

donde denota convergencia en la distribución y tiene una distribución normal con media y varianza , Escrito como .

En otras palabras, tiene una distribución asintóticamente normal , es decir, para grandes, tiene una distribución aproximadamente normal con media y varianza . Esto conduce a lo siguiente (aproximado)% intervalo de confianza para :

donde (aquí denota la CDF de la distribución normal estándar) y

es la estimación de la varianza muestral de . Es decir, el error de estimación de es (estocásticamente) de orden .

Aplicaciones y ejemplos

Aplicaciones biológicas

La programación dinámica estocástica se utiliza con frecuencia para modelar el comportamiento animal en campos como la ecología del comportamiento . [8] [9] Las pruebas empíricas de modelos de forrajeo óptimo , transiciones de la historia de vida como el emplumado 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 tener muchas etapas, en lugar de dos etapas.

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 social bajo incertidumbre es un ejemplo; a menudo es utilizado por economistas de recursos para analizar problemas bioeconómicos [10] donde entra la incertidumbre, como el clima, etc.

Ejemplo: optimización de cartera de varias etapas

El siguiente es un ejemplo de las finanzas de la programación estocástica de múltiples etapas. Supongamos que en el momento tenemos capital inicial para invertir en activos. Supongamos además que se nos permite reequilibrar nuestra cartera a vecespero sin inyectar dinero adicional en él. En cada período tomamos una decisión sobre la redistribución de la riqueza actual entre las activos. DejarSerán las cantidades iniciales invertidas en los n activos. Requerimos que cada no es negativo y que la ecuación de equilibrio debe aguantar.

Considere los retornos totales para cada período . Esto forma un proceso aleatorio con valores vectoriales. En el período de tiempo, podemos reequilibrar la cartera especificando los importes invertido en los respectivos activos. En ese momento, los rendimientos en el primer período se han realizado, 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, . Del mismo modo, en el momento la decisión es una función de la información disponible proporcionada por la historia del proceso aleatorio hasta el momento . Una secuencia de funciones, , con siendo constante, define una política implementable del proceso de decisión. Se dice que tal 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 periodo la riqueza es dado por

que depende de la realización del proceso aleatorio y las decisiones hasta el momento .

Suponga 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 de múltiples etapas, donde las etapas se numeran desde para . La optimización se realiza en todas las políticas factibles e implementables. 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 de varias etapas anterior hacia atrás en el tiempo. En la última etapa, una realización del proceso aleatorio es conocido y ha sido elegida. Por lo tanto, es necesario resolver el siguiente problema.

donde denota la expectativa condicional de dado . El valor óptimo del problema anterior depende de y y se denota .

Del mismo modo, en etapas , uno debe resolver el problema

cuyo valor óptimo se denota por . Finalmente, en la etapa, uno resuelve el problema

Proceso aleatorio independiente por etapas

Para una distribución general del proceso , puede ser difícil resolver estas ecuaciones de programación dinámica. La situación se simplifica drásticamente si el proceso es independiente por etapas, es decir, es (estocásticamente) independiente de por . En 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

y es el valor óptimo de

por .

Herramientas de software

Lenguajes de modelado

Todos los problemas de programación estocástica discreta se pueden representar con cualquier lenguaje de modelado algebraico , implementando manualmente la no anticipatividad explícita o implícita para asegurarse de que el modelo resultante respete la estructura de la información disponible en cada etapa. Una instancia de un problema de SP generado por un lenguaje de modelado general tiende a crecer bastante (linealmente en el número de escenarios), y su matriz pierde la estructura que es intrínseca a esta clase de problemas, que de otra manera podría ser explotada en tiempo de solución por algoritmos de descomposición específicos. Están empezando a aparecer extensiones a lenguajes de modelado diseñados específicamente para SP, consulte:

  • AIMMS : admite la definición de problemas de 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 azar y medidas de riesgo como Valor en riesgo y Déficit esperado ).
  • SAMPL : un conjunto de extensiones de AMPL diseñado específicamente para expresar programas estocásticos (incluye sintaxis para restricciones de azar, restricciones de azar integradas y problemas de optimización robusta )

Ambos pueden generar un formato de nivel de instancia SMPS, que transmite de forma no redundante la estructura del problema al solucionador.

Ver también

  • Brecha de correlación
  • EMP para programación estocástica
  • Valor entrópico en riesgo
  • FortSP
  • Lenguaje de modelado algebraico SAMPL
  • Optimización de escenarios
  • Optimización estocástica
  • Selección de cartera limitada por el azar

Referencias

  1. Shapiro, Alexander; Dentcheva, Darinka ; Ruszczyński, Andrzej (2009). Conferencias sobre programación estocástica: Modelización y teoría (PDF) . Serie MPS / SIAM sobre optimización. 9 . Filadelfia, PA: Sociedad de Matemáticas Industriales y Aplicadas (SIAM). Sociedad de Programación Matemática (MPS). págs. xvi + 436. ISBN 978-0-89871-687-0. Señor  2562798 .
  2. ^ Birge, John R .; Louveaux, François (2011). Introducción a la programación estocástica . Serie Springer en Investigación de Operaciones e Ingeniería Financiera. doi : 10.1007 / 978-1-4614-0237-4 . ISBN 978-1-4614-0236-7. ISSN  1431-8598 .
  3. ^ 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.
  4. ^ Las aplicaciones de la programación estocástica se describen en el siguiente sitio web, Comunidad de programación estocástica .
  5. Shapiro, Alexander; Philpott, Andy. Un tutorial sobre programación estocástica (PDF) .
  6. ^ "Servidor NEOS para optimización" .
  7. ^ Ruszczyński, Andrzej ; Shapiro, Alexander (2003). Programación estocástica . Manuales de Investigación de Operaciones y Ciencias de la Gestión. 10 . Filadelfia: Elsevier . pag. 700. ISBN 978-0444508546.
  8. ^ Mangel, M. y Clark, CW 1988. Modelado dinámico en ecología del comportamiento. Prensa de la Universidad de Princeton ISBN 0-691-08506-4 
  9. ^ 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 
  10. ^ Howitt, R., Msangi, S., Reynaud, A y K. Knapp. 2002. "Uso de aproximaciones polinómicas para resolver problemas de programación dinámica estocástica: o un enfoque" Betty Crocker "para SDP". Universidad de California, Davis, Departamento de Agricultura y Economía de los Recursos, Documento de trabajo.

Lectura adicional

  • 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. págs. Xii + 307. ISBN 0-471-95158-7. Señor  1315300 .
  • G. Ch. Pflug: Optimización de modelos estocásticos. La interfaz entre simulación y optimización . Kluwer, Dordrecht, 1996.
  • András Prékopa . Programación estocástica. Editores Académicos 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). Conferencias sobre programación estocástica: Modelización y teoría (PDF) . Serie MPS / SIAM sobre optimización. 9 . Filadelfia, PA: Sociedad de Matemáticas Industriales y Aplicadas (SIAM). Sociedad de Programación Matemática (MPS). págs. xvi + 436. ISBN 978-0-89871-687-0. Señor  2562798 .
  • 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 de Operaciones e Ingeniería Financiera. Nueva York: Springer. ISBN 978-0-387-87816-4.

Enlaces externos

  • Página de inicio de la comunidad de programación estocástica