Articulo de referencia

Programación estocástica

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 e...

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:

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: minincógnitaincógnita{gramo(incógnita)=F(incógnita)+miξ[Q(incógnita,ξ)]}{\displaystyle \min _{x\in X}\{g(x)=f(x)+E_{\xi }[Q(x,\xi )]\}} dóndeQ(incógnita,ξ){\displaystyle Q(x,\xi )}es el valor óptimo del problema de la segunda etapa miny{q(y,ξ)|T(ξ)incógnita+W(ξ)y=h(ξ)}.{\displaystyle \min _{y}\{q(y,\xi )\,|\,T(\xi )x+W(\xi )y=h(\xi )\}.}

Los problemas clásicos de programación estocástica lineal de dos etapas se pueden formular como minincógnitaRnortegramo(incógnita)=doTincógnita+miξ[Q(incógnita,ξ)]sujeto aAincógnita=bincógnita0{\displaystyle {\begin{array}{llr}\min \limits _{x\in \mathbb {R} ^{n}}&g(x)=c^{T}x+E_{\xi }[Q(x,\xi )]&\\{\text{sujeto a}}&Ax=b&\\&x\geq 0&\end{array}}}

dóndeQ(incógnita,ξ){\displaystyle Q(x,\xi )}es el valor óptimo del problema de la segunda etapa minyRmetroq(ξ)Tysujeto aT(ξ)incógnita+W(ξ)y=h(ξ)y0{\displaystyle {\begin{array}{llr}\min \limits _{y\in \mathbb {R} ^{m}}&q(\xi )^{T}y&\\{\text{sujeto a}}&T(\xi )x+W(\xi )y=h(\xi )&\\&y\geq 0&\end{array}}}

En dicha formulaciónincógnitaRnorte{\displaystyle x\in \mathbb {R} ^{n}}es el vector de variables de decisión de primera etapa,yRmetro{\displaystyle y\in \mathbb {R} ^{m}}es el vector de variables de decisión de segunda etapa, yξ(q,T,W,h){\displaystyle \xi (q,T,W,h)}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".incógnita{\displaystyle x}antes de la realización de los datos inciertosξ{\displaystyle \xi }, visto como un vector aleatorio, es conocido. En la segunda etapa, después de una realización deξ{\displaystyle \xi }Cuando 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.doTincógnita{\displaystyle c^{T}x}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érminoWy{\displaystyle Wy}Compensa una posible inconsistencia del sistema.Tincógnitah{\displaystyle Tx\leq h}yqTy{\displaystyle q^{T}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 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 etapaξ{\displaystyle \xi }se modela como un vector aleatorio con una distribución de probabilidad conocida . Esto estaría justificado en muchas situaciones. Por ejemplo, la distribución deξ{\displaystyle \xi }podrí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ξ{\displaystyle \xi }. Si uno tiene un modelo previo paraξ{\displaystyle \xi }, 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 aleatorioξ{\displaystyle \xi }tiene un número finito de posibles realizaciones, llamadas escenarios , por ejemploξ1,,ξK{\displaystyle \xi _{1},\dots ,\xi _{K}}, con sus respectivas masas de probabilidadpag1,,pagK{\displaystyle p_{1},\dots ,p_{K}}Entonces, la esperanza en la función objetivo del problema de la primera etapa se puede escribir como la sumatoria: mi[Q(incógnita,ξ)]=k=1KpagkQ(incógnita,ξk){\displaystyle E[Q(x,\xi )]=\sum \limits _{k=1}^{K}p_{k}Q(x,\xi _{k})} 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 ).

Cuandoξ{\displaystyle \xi }tiene 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:

  1. Para saber cómo construir escenarios, consulte el apartado §  Construcción de escenarios ;
  2. 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;
  3. 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.kth{\displaystyle k^{th}}LP de dos períodos, que representa elkth{\displaystyle k^{th}}Este escenario puede considerarse que tiene la siguiente forma:

MinimizarFTincógnita+gramoTy+hkTzksujeto aTincógnita+Uy=rVky+Wkzk=skincógnita,y,zk0{\displaystyle {\begin{array}{lccccccc}{\text{Minimize}}&f^{T}x&+&g^{T}y&+&h_{k}^{T}z_{k}&&\\{\text{subject to}}&Tx&+&Uy&&&=&r\\&&&V_{k}y&+&W_{k}z_{k}&=&s_{k}\\&x&,&y&,&z_{k}&\geq &0\end{array}}}

Los vectoresincógnita{\displaystyle x}yy{\displaystyle y}Contiene las variables del primer período, cuyos valores deben elegirse inmediatamente. El vectorzk{\displaystyle z_{k}}Contiene todas las variables para los períodos subsiguientes. Las restriccionesTincógnita+Uy=r{\displaystyle Tx+Uy=r}Las 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 elkth{\displaystyle k^{th}}La programación lineal de dos períodos es equivalente a suponer quekth{\displaystyle k^{th}}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 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 probabilidadpagk{\displaystyle p_{k}}para cada escenariok=1,,K{\displaystyle k=1,\dots ,K}Entonces podemos minimizar el valor esperado del objetivo, sujeto a las restricciones de todos los escenarios:

MinimizarFincógnita+gramoy+pag1h1z1+pag2h2Tz2++pagKhKzKsujeto aTincógnita+Uy=rV1y+W1z1=s1V2y+W2z2=s2VKy+WKzK=sKincógnita,y,z1,z2,,zK0{\displaystyle {\begin{array}{lccccccccccccc}{\text{Minimize}}&f^{\top }x&+&g^{\top }y&+&p_{1}h_{1}^{\top }z_{1}&+&p_{2}h_{2}^{T}z_{2}&+&\cdots &+&p_{K}h_{K}^{\top }z_{K}&&\\{\text{subject to}}&Tx&+&Uy&&&&&&&&&=&r\\&&&V_{1}y&+&W_{1}z_{1}&&&&&&&=&s_{1}\\&&&V_{2}y&&&+&W_{2}z_{2}&&&&&=&s_{2}\\&&&\vdots &&&&&&\ddots &&&&\vdots \\&&&V_{K}y&&&&&&&+&W_{K}z_{K}&=&s_{K}\\&x&,&y&,&z_{1}&,&z_{2}&,&\ldots &,&z_{K}&\geq &0\\\end{array}}}

Tenemos un vector diferentezk{\displaystyle z_{k}}de variables de períodos posteriores para cada escenariok{\displaystyle k}Las variables del primer períodoincógnita{\displaystyle x}yy{\displaystyle y}son 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 soloincógnita{\displaystyle x}yy{\displaystyle 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 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.incógnita{\displaystyle x^{*}}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ξ{\displaystyle \xi }contiened{\displaystyle d}componentes 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 esK=3d{\displaystyle K=3^{d}}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.d{\displaystyle d}. La situación se vuelve aún peor si algunos componentes aleatorios deξ{\displaystyle \xi }tienen 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.ξ1,ξ2,,ξnorte{\displaystyle \xi ^{1},\xi ^{2},\dots ,\xi ^{N}}denorte{\displaystyle N}realizaciones del vector aleatorioξ{\displaystyle \xi }. 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 esperanzaq(incógnita)=mi[Q(incógnita,ξ)]{\displaystyle q(x)=E[Q(x,\xi )]}se aproxima mediante el promedio de la muestra

q^norte(incógnita)=1nortej=1norteQ(incógnita,ξj){\displaystyle {\hat {q}}_{N}(x)={\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})}

y, en consecuencia, el problema de la primera etapa viene dado por

gramo^norte(incógnita)=minincógnitaRnortedoTincógnita+1nortej=1norteQ(incógnita,ξj)sujeto aAincógnita=bincógnita0{\displaystyle {\begin{array}{rlrrr}{\hat {g}}_{N}(x)=&\min \limits _{x\in \mathbb {R} ^{n}}&c^{T}x+{\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})&\\&{\text{subject to}}&Ax&=&b\\&&x&\geq &0\end{array}}}

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 dadaξ1,ξ2,,ξnorte{\displaystyle \xi ^{1},\xi ^{2},\dots ,\xi ^{N}}El problema SAA tiene la misma forma que un problema de programación lineal estocástica de dos etapas con los escenariosξj{\displaystyle \xi ^{j}}.,j=1,,norte{\displaystyle j=1,\dots ,N}, cada uno tomado con la misma probabilidadpagj=1norte{\displaystyle p_{j}={\frac {1}{N}}}.

Inferencia estadística

Consideremos el siguiente problema de programación estocástica.

minincógnitaincógnita{gramo(incógnita)=F(incógnita)+mi[Q(incógnita,ξ)]}{\displaystyle \min \limits _{x\in X}\{g(x)=f(x)+E[Q(x,\xi )]\}}

Aquíincógnita{\displaystyle X}es un subconjunto cerrado no vacío deRnorte{\displaystyle \mathbb {R} ^{n}},ξ{\displaystyle \xi }es un vector aleatorio cuya distribución de probabilidadPAG{\displaystyle P}es compatible con un conjuntoΞRd{\displaystyle \Xi \subset \mathbb {R} ^{d}}, yQ:incógnita×ΞR{\displaystyle Q:X\times \Xi \rightarrow \mathbb {R} }En el marco de la programación estocástica de dos etapas,Q(incógnita,ξ){\displaystyle Q(x,\xi )}viene dado por el valor óptimo del problema de segunda etapa correspondiente.

Supongamos quegramo(incógnita){\displaystyle g(x)}está bien definido y tiene un valor finito para todos.incógnitaincógnita{\displaystyle x\in X}. Esto implica que para cadaincógnitaincógnita{\displaystyle x\in X}el valorQ(incógnita,ξ){\displaystyle Q(x,\xi )}es finito casi con seguridad .

Supongamos que tenemos una muestraξ1,,ξnorte{\displaystyle \xi ^{1},\dots ,\xi ^{N}}denorte{\displaystyle N}realizaciones del vector aleatorioξ{\displaystyle \xi }Esta muestra aleatoria puede considerarse como datos históricos denorte{\displaystyle N}observaciones deξ{\displaystyle \xi }o puede generarse mediante técnicas de muestreo de Monte Carlo. Entonces podemos formular una aproximación promedio de muestra correspondiente.

minincógnitaincógnita{gramo^norte(incógnita)=F(incógnita)+1nortej=1norteQ(incógnita,ξj)}{\displaystyle \min \limits _{x\in X}\{{\hat {g}}_{N}(x)=f(x)+{\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})\}}

Por la ley de los grandes números tenemos que, bajo ciertas condiciones de regularidad1nortej=1norteQ(incógnita,ξj){\displaystyle {\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})}converge puntualmente con probabilidad de 1 ami[Q(incógnita,ξ)]{\displaystyle E[Q(x,\xi )]}comonorte{\displaystyle N\rightarrow \infty }Además, bajo condiciones adicionales leves, la convergencia es uniforme. También tenemosmi[gramo^norte(incógnita)]=gramo(incógnita){\displaystyle E[{\hat {g}}_{N}(x)]=g(x)}, es decir,gramo^norte(incógnita){\displaystyle {\hat {g}}_{N}(x)}es un estimador insesgado degramo(incógnita){\displaystyle g(x)}Por lo tanto, es natural esperar que el valor óptimo y las soluciones óptimas del problema SAA converjan a sus contrapartes del problema verdadero comonorte{\displaystyle N\rightarrow \infty }.

Consistencia de los estimadores SAA

Supongamos que el conjunto factibleincógnita{\displaystyle X}del problema SAA es fijo, es decir, es independiente de la muestra. Seaϑ{\displaystyle \vartheta ^{*}}yS{\displaystyle S^{*}}sea ​​el valor óptimo y el conjunto de soluciones óptimas, respectivamente, del problema verdadero y seaϑ^norte{\displaystyle {\hat {\vartheta }}_{N}}yS^norte{\displaystyle {\hat {S}}_{N}}sean, respectivamente, el valor óptimo y el conjunto de soluciones óptimas del problema SAA.

  1. Dejargramo:incógnitaR{\displaystyle g:X\rightarrow \mathbb {R} }ygramo^norte:incógnitaR{\displaystyle {\hat {g}}_{N}:X\rightarrow \mathbb {R} }Sea una secuencia de funciones (deterministas) de valor real. Las dos propiedades siguientes son equivalentes:
    • para cualquierincógnita¯incógnita{\displaystyle {\overline {x}}\in X}y cualquier secuencia{incógnitanorte}incógnita{\displaystyle \{x_{N}\}\subset X}convergiendo aincógnita¯{\displaystyle {\overline {x}}}resulta quegramo^norte(incógnitanorte){\displaystyle {\hat {g}}_{N}(x_{N})}converge agramo(incógnita¯){\displaystyle g({\overline {x}})}
    • la funcióngramo(){\displaystyle g(\cdot )}es continuo enincógnita{\displaystyle X}ygramo^norte(){\displaystyle {\hat {g}}_{N}(\cdot )}converge agramo(){\displaystyle g(\cdot )}uniformemente en cualquier subconjunto compacto deincógnita{\displaystyle X}
  2. Si el objetivo del problema SAAgramo^norte(incógnita){\displaystyle {\hat {g}}_{N}(x)}converge al objetivo del problema verdaderogramo(incógnita){\displaystyle g(x)}con probabilidad 1, comonorte{\displaystyle N\rightarrow \infty }, uniformemente en el conjunto factibleincógnita{\displaystyle X}. Entoncesϑ^norte{\displaystyle {\hat {\vartheta }}_{N}}converge aϑ{\displaystyle \vartheta ^{*}}con probabilidad 1 comonorte{\displaystyle N\rightarrow \infty }.
  3. Supongamos que existe un conjunto compactodoRnorte{\displaystyle C\subset \mathbb {R} ^{n}}de tal manera que
    • el conjuntoS{\displaystyle S}de soluciones óptimas del problema verdadero no es vacío y está contenido endo{\displaystyle C}
    • la funcióngramo(incógnita){\displaystyle g(x)}es de valor finito y continuo endo{\displaystyle C}
    • la secuencia de funcionesgramo^norte(incógnita){\displaystyle {\hat {g}}_{N}(x)}converge agramo(incógnita){\displaystyle g(x)}con probabilidad 1, comonorte{\displaystyle N\rightarrow \infty }, uniformemente enincógnitado{\displaystyle x\in C}
    • paranorte{\displaystyle N}lo suficientemente grande el conjuntoS^norte{\displaystyle {\hat {S}}_{N}}no está vacío yS^nortedo{\displaystyle {\hat {S}}_{N}\subset C}con probabilidad 1
entoncesϑ^norteϑ{\displaystyle {\hat {\vartheta }}_{N}\rightarrow \vartheta ^{*}}yD(S,S^norte)0{\displaystyle \mathbb {D} (S^{*},{\hat {S}}_{N})\rightarrow 0}con probabilidad 1 comonorte{\displaystyle N\rightarrow \infty }. Tenga en cuenta queD(A,B){\displaystyle \mathbb {D} (A,B)}denota la desviación del conjuntoA{\displaystyle A}del conjuntoB{\displaystyle B}, definido como
D(A,B):=sorberincógnitaA{infincógnitaBincógnitaincógnita}{\displaystyle \mathbb {D} (A,B):=\sup _{x\in A}\{\inf _{x'\in B}\|x-x'\|\}}

En algunas situaciones el conjunto factibleincógnita{\displaystyle X}del problema SAA se estima, luego el problema SAA correspondiente toma la forma

minincógnitaincógnitanortegramo^norte(incógnita){\displaystyle \min _{x\in X_{N}}{\hat {g}}_{N}(x)}

dóndeincógnitanorte{\displaystyle X_{N}}es un subconjunto deRnorte{\displaystyle \mathbb {R} ^{n}}dependiendo 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:

  1. Supongamos que existe un conjunto compactodoRnorte{\displaystyle C\subset \mathbb {R} ^{n}}de tal manera que
    • el conjuntoS{\displaystyle S}de soluciones óptimas del problema verdadero no es vacío y está contenido endo{\displaystyle C}
    • la funcióngramo(incógnita){\displaystyle g(x)}es de valor finito y continuo endo{\displaystyle C}
    • la secuencia de funcionesgramo^norte(incógnita){\displaystyle {\hat {g}}_{N}(x)}converge agramo(incógnita){\displaystyle g(x)}con probabilidad 1, comonorte{\displaystyle N\rightarrow \infty }, uniformemente enincógnitado{\displaystyle x\in C}
    • paranorte{\displaystyle N}lo suficientemente grande el conjuntoS^norte{\displaystyle {\hat {S}}_{N}}no está vacío yS^nortedo{\displaystyle {\hat {S}}_{N}\subset C}con probabilidad 1
    • siincógnitanorteincógnitanorte{\displaystyle x_{N}\in X_{N}}yincógnitanorte{\displaystyle x_{N}}converge con probabilidad 1 a un puntoincógnita{\displaystyle x}, entoncesincógnitaincógnita{\displaystyle x\in X}
    • por algún momentoincógnitaS{\displaystyle x\in S^{*}}existe una secuenciaincógnitanorteincógnitanorte{\displaystyle x_{N}\in X_{N}}de tal manera queincógnitanorteincógnita{\displaystyle x_{N}\rightarrow x}con probabilidad 1.
entoncesϑ^norteϑ{\displaystyle {\hat {\vartheta }}_{N}\rightarrow \vartheta ^{*}}yD(S,S^norte)0{\displaystyle \mathbb {D} (S^{*},{\hat {S}}_{N})\rightarrow 0}con probabilidad 1 comonorte{\displaystyle N\rightarrow \infty }.

Asintótica del valor óptimo de SAA

Supongamos que la muestraξ1,,ξnorte{\displaystyle \xi ^{1},\dots ,\xi ^{N}}es iid y fija un puntoincógnitaincógnita{\displaystyle x\in X}. Luego, el estimador del promedio de la muestragramo^norte(incógnita){\displaystyle {\hat {g}}_{N}(x)}, degramo(incógnita){\displaystyle g(x)}es imparcial y tiene varianza1norteσ2(incógnita){\displaystyle {\frac {1}{N}}\sigma ^{2}(x)}, dóndeσ2(incógnita):=Var[Q(incógnita,ξ)]{\displaystyle \sigma ^{2}(x):=Var[Q(x,\xi )]}Se supone que es finito. Además, por el teorema del límite central tenemos que

norte[gramo^nortegramo(incógnita)]DYincógnita{\displaystyle {\sqrt {N}}[{\hat {g}}_{N}-g(x)]{\xrightarrow {\mathcal {D}}}Y_{x}}

dóndeD{\displaystyle {\xrightarrow {\mathcal {D}}}}denota convergencia en la distribución yYincógnita{\displaystyle Y_{x}}tiene una distribución normal con media0{\displaystyle 0}y varianzaσ2(incógnita){\displaystyle \sigma ^{2}(x)}, escrito comonorte(0,σ2(incógnita)){\displaystyle {\mathcal {N}}(0,\sigma ^{2}(x))}.

En otras palabras,gramo^norte(incógnita){\displaystyle {\hat {g}}_{N}(x)}tiene una distribución asintóticamente normal , es decir, para valores grandesnorte{\displaystyle N},gramo^norte(incógnita){\displaystyle {\hat {g}}_{N}(x)}tiene aproximadamente una distribución normal con mediagramo(incógnita){\displaystyle g(x)}y varianza1norteσ2(incógnita){\displaystyle {\frac {1}{N}}\sigma ^{2}(x)}Esto conduce a lo siguiente (aproximado):100(1α){\displaystyle 100(1-\alpha )}% intervalo de confianza paraF(incógnita){\displaystyle f(x)}:

[gramo^norte(incógnita)zα/2σ^(incógnita)norte,gramo^norte(incógnita)+zα/2σ^(incógnita)norte]{\displaystyle \left[{\hat {g}}_{N}(x)-z_{\alpha /2}{\frac {{\hat {\sigma }}(x)}{\sqrt {N}}},{\hat {g}}_{N}(x)+z_{\alpha /2}{\frac {{\hat {\sigma }}(x)}{\sqrt {N}}}\right]}

dóndezα/2:=Φ1(1α/2){\displaystyle z_{\alpha /2}:=\Phi ^{-1}(1-\alpha /2)}(aquíΦ(){\displaystyle \Phi (\cdot )}denota la función de distribución acumulada de la distribución normal estándar) y

σ^2(incógnita):=1norte1j=1norte[Q(incógnita,ξj)1nortej=1norteQ(incógnita,ξj)]2{\displaystyle {\hat {\sigma }}^{2}(x):={\frac {1}{N-1}}\sum _{j=1}^{N}\left[Q(x,\xi ^{j})-{\frac {1}{N}}\sum _{j=1}^{N}Q(x,\xi ^{j})\right]^{2}}

es la estimación de la varianza muestral deσ2(incógnita){\displaystyle \sigma ^{2}(x)}. Es decir, el error de estimación degramo(incógnita){\displaystyle g(x)}es (estocásticamente) de ordenO(norte){\displaystyle O({\sqrt {N}})}.

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 momentot=0{\displaystyle t=0}Tenemos capital inicialW0{\displaystyle W_{0}}invertir ennorte{\displaystyle n}activos. Supongamos además que se nos permite reequilibrar nuestra cartera en ocasiones.t=1,,T1{\displaystyle t=1,\dots ,T-1}pero sin inyectarle dinero adicional. En cada períodot{\displaystyle t}Tomamos una decisión sobre la redistribución de la riqueza actual.Wt{\displaystyle W_{t}}entre losnorte{\displaystyle n}activos. Dejeincógnita0=(incógnita10,,incógnitanorte0){\displaystyle x_{0}=(x_{10},\dots ,x_{n0})}sean las cantidades iniciales invertidas en los n activos. Requerimos que cadaincógnitai0{\displaystyle x_{i0}}es no negativo y que la ecuación de balancei=1norteincógnitai0=W0{\displaystyle \sum _{i=1}^{n}x_{i0}=W_{0}}debería mantenerse.

Considere los rendimientos totalesξt=(ξ1t,,ξnortet){\displaystyle \xi _{t}=(\xi _{1t},\dots ,\xi _{nt})}para cada períodot=1,,T{\displaystyle t=1,\dots ,T}Esto forma un proceso aleatorio con valores vectoriales.ξ1,,ξT{\displaystyle \xi _{1},\dots ,\xi _{T}}En ese período de tiempot=1{\displaystyle t=1}, podemos reequilibrar la cartera especificando las cantidadesincógnita1=(incógnita11,,incógnitanorte1){\displaystyle x_{1}=(x_{11},\dots ,x_{n1})}invertidos 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 momentot=1{\displaystyle t=1}, son en realidad funciones de realización del vector aleatorioξ1{\displaystyle \xi _{1}}, es decir,incógnita1=incógnita1(ξ1){\displaystyle x_{1}=x_{1}(\xi _{1})}. De manera similar, en el momentot{\displaystyle t}la decisiónincógnitat=(incógnita1t,,incógnitanortet){\displaystyle x_{t}=(x_{1t},\dots ,x_{nt})}es una funciónincógnitat=incógnitat(ξ[t]){\displaystyle x_{t}=x_{t}(\xi _{[t]})}de la información disponible proporcionada porξ[t]=(ξ1,,ξt){\displaystyle \xi _{[t]}=(\xi _{1},\dots ,\xi _{t})}la historia del proceso aleatorio hasta el momentot{\displaystyle t}Una secuencia de funcionesincógnitat=incógnitat(ξ[t]){\displaystyle x_{t}=x_{t}(\xi _{[t]})},t=0,,T1{\displaystyle t=0,\dots ,T-1}, conincógnita0{\displaystyle x_{0}}Al 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.incógnitait(ξ[t])0{\displaystyle x_{it}(\xi _{[t]})\geq 0},i=1,,norte{\displaystyle i=1,\dots ,n},t=0,,T1{\displaystyle t=0,\dots ,T-1}y el equilibrio de las limitaciones de riqueza,

i=1norteincógnitait(ξ[t])=Wt,{\displaystyle \sum _{i=1}^{n}x_{it}(\xi _{[t]})=W_{t},}

donde en el períodot=1,,T{\displaystyle t=1,\dots ,T}la riquezaWt{\displaystyle W_{t}}es dado por

Wt=i=1norteξitincógnitai,t1(ξ[t1]),{\displaystyle W_{t}=\sum _{i=1}^{n}\xi _{it}x_{i,t-1}(\xi _{[t-1]}),}

lo cual depende de la realización del proceso aleatorio y de las decisiones tomadas hasta el momento.t{\displaystyle t}.

Supongamos que el objetivo es maximizar la utilidad esperada de esta riqueza en el último período, es decir, considerar el problema

máximomi[U(WT)].{\displaystyle \max E[U(W_{T})].}

Este es un problema de programación estocástica multietapa, donde las etapas están numeradas desdet=0{\displaystyle t=0}at=T1{\displaystyle t=T-1}La 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.ξ1,,ξT{\displaystyle \xi _{1},\dots ,\xi _{T}}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 es2norteT.{\displaystyle 2^{nT}.}

Para escribir ecuaciones de programación dinámica , considere el problema multietapa anterior hacia atrás en el tiempo. En la última etapat=T1{\displaystyle t=T-1}, una constataciónξ[T1]=(ξ1,,ξT1){\displaystyle \xi _{[T-1]}=(\xi _{1},\dots ,\xi _{T-1})}del proceso aleatorio es conocido yincógnitaT2{\displaystyle x_{T-2}}ha sido elegido. Por lo tanto, es necesario resolver el siguiente problema.

máximoincógnitaT1mi[U(WT)|ξ[T1]]sujeto aWT=i=1norteξiTincógnitai,T1i=1norteincógnitai,T1=WT1incógnitaT10{\displaystyle {\begin{array}{lrclr}\max \limits _{x_{T-1}}&E[U(W_{T})|\xi _{[T-1]}]&\\{\text{subject to}}&W_{T}&=&\sum _{i=1}^{n}\xi _{iT}x_{i,T-1}\\&\sum _{i=1}^{n}x_{i,T-1}&=&W_{T-1}\\&x_{T-1}&\geq &0\end{array}}}

dóndemi[U(WT)|ξ[T1]]{\displaystyle E[U(W_{T})|\xi _{[T-1]}]}denota la esperanza condicional deU(WT){\displaystyle U(W_{T})}dadoξ[T1]{\displaystyle \xi _{[T-1]}}. El valor óptimo del problema anterior depende deWT1{\displaystyle W_{T-1}}yξ[T1]{\displaystyle \xi _{[T-1]}}y se denotaQT1(WT1,ξ[T1]){\displaystyle Q_{T-1}(W_{T-1},\xi _{[T-1]})}.

De manera similar, en las etapast=T2,,1{\displaystyle t=T-2,\dots ,1}uno debería resolver el problema

máximoincógnitatmi[Qt+1(Wt+1,ξ[t+1])|ξ[t]]sujeto aWt+1=i=1norteξi,t+1incógnitai,ti=1norteincógnitai,t=Wtincógnitat0{\displaystyle {\begin{array}{lrclr}\max \limits _{x_{t}}&E[Q_{t+1}(W_{t+1},\xi _{[t+1]})|\xi _{[t]}]&\\{\text{subject to}}&W_{t+1}&=&\sum _{i=1}^{n}\xi _{i,t+1}x_{i,t}\\&\sum _{i=1}^{n}x_{i,t}&=&W_{t}\\&x_{t}&\geq &0\end{array}}}

cuyo valor óptimo se denota porQt(Wt,ξ[t]){\displaystyle Q_{t}(W_{t},\xi _{[t]})}. Finalmente, en la etapat=0{\displaystyle t=0}uno resuelve el problema

máximoincógnita0mi[Q1(W1,ξ[1])]sujeto aW1=i=1norteξi,1incógnitai0i=1norteincógnitai0=W0incógnita00{\displaystyle {\begin{array}{lrclr}\max \limits _{x_{0}}&E[Q_{1}(W_{1},\xi _{[1]})]&\\{\text{subject to}}&W_{1}&=&\sum _{i=1}^{n}\xi _{i,1}x_{i0}\\&\sum _{i=1}^{n}x_{i0}&=&W_{0}\\&x_{0}&\geq &0\end{array}}}

proceso aleatorio independiente por etapas

Para una distribución general del procesoξt{\displaystyle \xi _{t}}Puede resultar difícil resolver estas ecuaciones de programación dinámica. La situación se simplifica drásticamente si el procesoξt{\displaystyle \xi _{t}}es independiente por etapas, es decir,ξt{\displaystyle \xi _{t}}es (estocásticamente) independiente deξ1,,ξt1{\displaystyle \xi _{1},\dots ,\xi _{t-1}}parat=2,,T{\displaystyle t=2,\dots ,T}En este caso, las expectativas condicionales correspondientes se convierten en expectativas incondicionales, y la funciónQt(Wt){\displaystyle Q_{t}(W_{t})},t=1,,T1{\displaystyle t=1,\dots ,T-1}no depende deξ[t]{\displaystyle \xi _{[t]}}. Eso es,QT1(WT1){\displaystyle Q_{T-1}(W_{T-1})}es el valor óptimo del problema

máximoincógnitaT1mi[U(WT)]sujeto aWT=i=1norteξiTincógnitai,T1i=1norteincógnitai,T1=WT1incógnitaT10{\displaystyle {\begin{array}{lrclr}\max \limits _{x_{T-1}}&E[U(W_{T})]&\\{\text{subject to}}&W_{T}&=&\sum _{i=1}^{n}\xi _{iT}x_{i,T-1}\\&\sum _{i=1}^{n}x_{i,T-1}&=&W_{T-1}\\&x_{T-1}&\geq &0\end{array}}}

yQt(Wt){\displaystyle Q_{t}(W_{t})}es el valor óptimo de

máximoincógnitatmi[Qt+1(Wt+1)]sujeto aWt+1=i=1norteξi,t+1incógnitai,ti=1norteincógnitai,t=Wtincógnitat0{\displaystyle {\begin{array}{lrclr}\max \limits _{x_{t}}&E[Q_{t+1}(W_{t+1})]&\\{\text{subject to}}&W_{t+1}&=&\sum _{i=1}^{n}\xi _{i,t+1}x_{i,t}\\&\sum _{i=1}^{n}x_{i,t}&=&W_{t}\\&x_{t}&\geq &0\end{array}}}

parat=T2,,1{\displaystyle t=T-2,\dots ,1}.

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

  1. 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 . 
  2. 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 
  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, Stochastic Programming Community .
  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 operativa y ciencias de la gestión. Vol. 10. Filadelfia: Elsevier . pág. 700. ISBN   978-0444508546.
  8. Mangel, M. y Clark, CW 1988. Modelado dinámico en ecología del comportamiento. Princeton University Press 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 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.
  • Página principal de la comunidad de programación estocástica