Ramification group: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>TakuyaMurata
 
en>Scott Tillinghast, Houston TX
The different of the example
Line 1: Line 1:
In the field of [[mathematical optimization]], '''stochastic programming''' is a framework for [[Mathematical model|modeling]] [[Optimization (mathematics)|optimization]] problems that involve [[uncertainty]]. Whereas deterministic optimization problems are formulated with known parameters, real world problems almost invariably include some unknown parameters. When the parameters are known only within certain bounds, one approach to tackling such problems is called [[robust optimization]]. Here the goal is to find a solution which is feasible for all such data and [[Optimization (mathematics)|optimal]] in some sense. [[Stochastic]] programming [[mathematical model|models]] are similar in style but take advantage of the fact that [[probability distributions]] governing the data are known or can be estimated. The goal here is to find some policy that is feasible for all (or almost all) the possible data instances and maximizes the expectation of some function of the decisions and the [[random variable]]s. More generally, such models are formulated, solved analytically or numerically, and analyzed in order to provide useful information to a decision-maker.<ref>{{cite book| last1=Shapiro|first1=Alexander|last2=Dentcheva|first2=Darinka|last3=[[Andrzej Piotr Ruszczyński|Ruszczyński]]|first3=Andrzej|title=Lectures on stochastic programming: Modeling and theory| series=MPS/SIAM Series on Optimization| volume=9| publisher=Society for Industrial and Applied Mathematics (SIAM)|location=Philadelphia, PA| publisher2=Mathematical Programming Society (MPS)| year=2009|pages=xvi+436|isbn=978-0-89871-687-0| url=http://www2.isye.gatech.edu/people/faculty/Alex_Shapiro/SPbook.pdf | mr=2562798 }}</ref>


As an example, consider two-stage [[linear program]]s. Here the decision maker takes some action in the first stage, after which a random event occurs affecting the outcome of the first-stage decision. A recourse decision can then be made in the second stage that compensates for any bad effects that might have been experienced as a result of the first-stage decision. The optimal policy from such a model is a single first-stage policy and a collection of recourse decisions (a decision rule) defining which second-stage action should be taken in response to each random outcome.


Best Rift Courses - Ideal Callings In Planes Of Telara Match<br><br>Having your vehicles human body Ebon Talifarro fixed can sometimes be an annoying issue to do. There are really a lot of troubles with the [http://Www.alexa.com/search?q=strategy&r=topsites_index&p=bigtop strategy] that you will pay for the true repairs and if the insurance coverage will assist pay for any of it. Additionally it's a tough determination figuring out which car physique shop to consider your automobile for the fixes. Then you need to be involved about becoming with no your vehicle and figuring out how you'll get from area to area. Look for a reliable auto entire body professional can be tough. Properly, now you could have several much less difficulties by utilizing cellular mend services! Learn the rewards of cell automobile entire body restore services.<br><br>Major performs: Search at major works that may possibly need to have undertaking such as electrical programs, central heating or plumbing. If methods require replacing or upgrading, organise quotes from neighborhood contractors to see how much it will expense.<br><br>Beneath are some approaches on the way to established you at the trail to fall short at your option. In other phrases, they're methods in which you'll be capable to insure that you're going to decide on the incorrect gadget for your firm.<br><br>The very last factor you want to do is pay out great money to have a best website created for your company and then have Google shut you down. Say you have a company that bargains in fishing equipment, what excellent would it do if individuals seeking for snow boards arrived to your internet site? This is one particular Ebon Talifarro point you truly have to be mindful of.<br><br>What a [https://delicious.com/ebontalifarro Ebon Talifarro] does might only be useful in one company or manufacturing unit - not functional and not that beneficial. If the plant, factory, or business office shuts down, what do they have? From our meat slicing case in point, they have the 'ability' to make 1 reduce. The 'skill' is fairly worthless. They've authorized by themselves to be deskilled, like millions of other people in The united states, by the division of labor. Not extremely functional.<br><br>Read the guidelines carefully just before you use the cleansing chemical compounds. Cleaning chemical substances have specific recommendations on how to use them. If you don't read the directions, there is a very high chance that you may possibly use that cleansing product wrongly. You will know in the directions if you have to combine the chemical with h2o or other substance or if you have to use the chemical for only a certain amount of minutes and other critical details.<br><br>Once a 7 days, pamper your hair with organic conditioners, this sort of as henna, egg or, yogurt. Scorching oiling will also be useful. A mixture of these conditioning routines is the only way to soften the stiff and dry. Conditioning tends to make dense hair manageable. After they are delicate and silky, styling them will also be less complicated. For operating ladies, it will preserve everyday fight and discomfort.<br><br>If you have normally dense hair that are dry and stiff, there are ways to make it silky and comfortable. Dryness is a massive difficulty with any type of hair type. The difficulty is much more commonly observed with voluminous hair. Look at excellent good quality conditioners that will assist you retain the humidity and will soften your hair. Considering that are dry, regular conditioning regimen will not aid. This sort of require further nourishment on a typical basis. Nourish them with a deep moisturizing rinsing conditioner every time you wash your hair. If your hair are as well dry and unmanageable, conditioning your hair without having washing them is also a very good notion.<br><br>Be positive to scrape and sand off any unfastened paint chips and fully clear location just before implementing paint or primer. (don't overlook to put down a plastic tarp to capture all the debris being scrapped off the wall).<br><br>Rental values: Previous but certainly not the very least, find out the rental value of equivalent houses in the region so you know what revenue your residence is most likely to Ebon Talifarro obtain. Talk to a neighborhood letting agent for expert suggestions.
Stochastic programming has applications in a broad range of areas ranging from [[finance]] to [[transportation]] to energy optimization.<ref>
Stein W. Wallace and William T. Ziemba (eds.). ''Applications of Stochastic Programming''. MPS-SIAM Book Series on Optimization 5, 2005.
</ref><ref>
Applications of stochastic programming are described at the following website, [http://stoprog.org Stochastic Programming Community].
</ref>
We present an example of optimizing an [[investment portfolio]] over time.
 
== Two-Stage Problems==
The basic idea of two-stage stochastic programming is that (optimal) decisions should be based on data available at the time the decisions are made and should not depend on future observations.
Two-stage formulation is widely used in stochastic programming. The general formulation of a two-stage stochastic programming problem is given by:
 
<math>
\min_{x\in X}\{ g(x)= f(x) + E[Q(x,\xi)]\}
</math>
 
where <math>Q(x,\xi) </math> is the optimal value of the second-stage problem
 
<math>
\min_{y}\{ q(y,\xi)| T(\xi)x+W(\xi) y = h(\xi)\}
</math>
 
The classical two-stage linear stochastic programming problems can be formulated as
 
<math>
\begin{array}{llr}
\min\limits_{x\in \mathbb{R}^n}  &g(x)= c^T x + E[Q(x,\xi)]    &  \\
\text{subject to} & Ax    =    b &\\
    & x    \geq 0 &
\end{array}
</math>
 
where <math> Q(x,\xi)</math> is the optimal value of the second-stage problem
 
<math>
\begin{array}{llr}
\min\limits_{y\in \mathbb{R}^m}  & q(\xi)^T y    &  \\
\text{subject to} & T(\xi)x+W(\xi)y    =    h(\xi) &\\
    & y    \geq 0 &
\end{array}
</math>
 
In such formulation <math>x\in \mathbb{R}^n</math> is the first-stage decision variable vector, <math>y\in \mathbb{R}^m</math> is the second-stage decision variable vector, and <math>\xi(q,T,W,h)</math> contains the data of the second-stage problem. In this formulation, at the first stage we have to make a "here-and-now" decision <math>x</math> before the realization of the uncertain data <math>\xi</math>, viewed as a random vector, is known. At the second stage, after a realization of <math>\xi</math> becomes available, we optimize our behavior by solving an appropriate optimization problem.
 
At the first stage we optimize (minimize in the above formulation) the cost <math>c^Tx</math> of the first-stage decision plus the expected cost of the (optimal) second-stage decision. We can view the second-stage problem simply as an optimization problem which describes our supposedly optimal behavior when the uncertain data is revealed, or we can consider its solution as a recourse action where the term <math>Wy</math> compensates for a possible inconsistency of the system <math>Tx\leq h</math> and <math>q^Ty</math> is the cost of this recourse action.
 
The considered two-stage problem is ''linear'' because the objective functions and the constraints are linear. Conceptually this is not essential and one can consider more general two-stage stochastic programs. For example, if the first-stage problem is integer, one could add integrality constraints to the first-stage problem so that the feasible set is discrete. Non-linear objectives and constraints could also be incorporated if needed.<ref>{{cite book| last1=Shapiro|first1=Alexander|last2=Philpott|first2=Andy|title=A tutorial on Stochastic Programming| url=http://www2.isye.gatech.edu/people/faculty/Alex_Shapiro/TutorialSP.pdf}}</ref>
 
=== Distributional assumption ===
The formulation of the above two-stage problem assumes that the second-stage data <math>\xi</math> can be modeled as a random vector with a '''''known''''' probability distribution (not just uncertain). This would be justified in many situations. For example <math>\xi</math> could be information derived from historical data and the distribution does not significantly change over the considered period of time. In such situations one may reliably estimate the required probability distribution and the optimization ''on average'' could be justified by the Law of Large Numbers. Another example is that <math>\xi</math> could be realizations of a simulation model whose outputs are stochastic. The empirical distribution of the sample could be used as an approximation to the true but unknown output distribution.
 
=== Discretization ===
To solve the two-stage stochastic problem numerically, one often need to assume that the random vector <math>\xi</math> has a finite number of possible realizations, called ''scenarios'', say <math>\xi_1,\dots,\xi_K</math>, with respective probability masses <math>p_1,\dots,p_K</math>. Then the expectation in the first-stage problem's objective function can be written as the summation:
 
<math>
E[Q(x,\xi)]=\sum\limits_{k=1}^{K} p_kQ(x,\xi_k)
</math>
 
and, moreover, the two-stage problem can be formulated as one large linear programming problem (this is called the deterministic equivalent of the original problem, see section {{Sectionlink|Deterministic equivalent of a stochastic problem}}).
 
When <math>\xi</math> has an infinite (or very large) number of possible realizations the standard approach is then to represent this distribution by scenarios. This approach raises three questions, namely:
 
# How to construct scenarios, see {{Sectionlink|Scenario Construction}};
# How to solve the deterministic equivalent. Optimizers such as [[CPLEX]], [[GNU_Linear_Programming_Kit|GLPK]] and [[Gurobi]] can solve large linear/nonlinear problems. NEOS <ref name="neos">http://www.neos-server.org/neos/</ref> server hosted at the [[Argonne National Laboratory]] allows free access to many modern solvers. The structure of a deterministic equivalent is particularly amenable to apply decomposition methods,<ref>{{cite book|first2=Alexander|last2=Shapiro|last1=[[Andrzej Piotr Ruszczyński|Ruszczyński]]|first1=Andrzej|title=Stochastic Programming|publisher=[[Elsevier]]|year=2003|isbn=978-0444508546|series=Handbooks in Operations Research and Management Science|volume=10|location=Philadelphia|pages=700}}</ref> such as [[Benders' decomposition]] or scenario decomposition;
# How to measure quality of the obtained solution with respect to the "true" optimum.
 
These questions are not independent. For example, the number of scenarios constructed will affect both the tractability of the deterministic equivalent and the quality of the obtained solutions.
 
== Stochastic linear program==
A stochastic [[linear program]] is a specific instance of the classical two-stage stochastic program. A stochastic LP is built from a collection of multi-period linear programs (LPs), each having the same structure but somewhat different data. The <math>k^{th}</math> two-period LP, representing the <math>k^{th}</math> scenario, may be regarded as having the following form:
 
<math>
\begin{array}{lccccccc}
\text{Minimize} & f^T x & + & g^T y & + & h_k^Tz_k &  &  \\
\text{subject to} & Tx & + & Uy &  &  & = & r \\
&  &  & V_k y & + & W_kz_k & = & s_k \\
& x & , & y & , & z_k & \geq & 0
\end{array}
</math>
 
The vectors <math>x</math> and <math>y</math> contain the first-period variables, whose values must be chosen immediately. The vector <math>z_k</math> contains all of the variables for subsequent periods. The constraints <math>Tx + Uy = r</math> involve only first-period variables and are the same in every scenario. The other constraints involve variables of later periods and differ in some respects from scenario to scenario, reflecting uncertainty about the future.
 
Note that solving the <math>k^{th}</math> two-period LP is equivalent to assuming the <math>k^{th}</math> scenario in the second period with no uncertainty. In order to incorporate uncertainties in the second stage, one should assign probabilities to different scenarios and solve the corresponding deterministic equivalent.
 
=== Deterministic equivalent of a stochastic problem===
With a finite number of scenarios, two-stage stochastic linear programs can be modelled as large linear programming problems. This formulation is often called the deterministic equivalent linear program, or abbreviated to deterministic equivalent. (Strictly speaking a deterministic equivalent is any mathematical program that can be used to compute the optimal first-stage decision, so these will exist for continuous probability distributions as well, when one can represent the second-stage cost in some closed form.)
For example, to form the deterministic equivalent to the above stochastic linear program, we assign a probability <math>p_k</math> to each scenario <math>k=1,\dots,K</math>. Then we can minimize the expected value of the objective, subject to the constraints from all scenarios:
 
<math>
\begin{array}{lccccccccccccc}
\text{Minimize} & f^T x & + & g^T y & + & p_1h_1^Tz_1 & + & p_2h_2^Tz_2 & + & \cdots & + & p_Kh_K^Tz_K &  &  \\
\text{subject to} & Tx & + & Uy &  &  &  &  &  &  &  &  & = & r \\
&  &  & V_1 y & + & W_1z_1 &  &  &  &  &  &  & = & s_1 \\
&  &  & V_2 y &  &  & + & W_2z_2 &  &  &  &  & = & s_2 \\
&  &  & \vdots &  &  &  &  &  & \ddots &  &  &  & \vdots \\
&  &  & V_Ky &  &  &  &  &  &  & + & W_Kz_K & = & s_K \\
& x & , & y & , & z_1 & , & z_2 & , & \ldots & , & z_K & \geq & 0 \\
\end{array}
</math>
 
We have a different vector <math>z_k</math> of later-period variables for each scenario <math>k</math>. The first-period variables <math>x</math> and <math>y</math> are the same in every scenario, however, because we must make a decision for the first period before we know which scenario will be realized. As a result, the constraints involving just <math>x</math> and <math>y</math> need only be specified once, while the remaining constraints must be given separately for each scenario.
 
== Scenario Construction ==
In practice it might be possible to construct scenarios by eliciting expert's opinions on the future. The number of constructed scenarios should be relatively modest so that the obtained deterministic equivalent can be solved with reasonable computational effort. It is often claimed that a solution that is optimal using only a few scenarios provides more adaptable plans than one that assumes a single scenario only. In some cases such a claim could be verified by a simulation. In theory some measures of guarantee that an obtained solution solves the original problem with reasonable accuracy. Typically in applications only the ''first stage'' optimal solution <math>x^*</math> has a practical value since almost always a "true" realization of the random data will be different from the set of constructed (generated) scenarios.
 
Suppose <math>\xi</math> contains <math>d</math> independent random components, each of which has three possible realizations (for example, future realizations of each random parameters are classified as low, medium and high), then the total number of scenarios is <math>K=3^d</math>. Such ''exponential growth'' of the number of scenarios makes model development using expert opinion very difficult even for reasonable size <math>d</math>. The situation becomes even worse if some random components of <math>\xi</math> have continuous distributions.
 
===Monte Carlo sampling and Sample Average Approximation (SAA) Method===
 
A common approach to reduce the scenario set to a manageable size is by using Monte Carlo simulation. Suppose the total number of scenarios is very large or even infinite. Suppose further that we can generate a sample <math>\xi^1,\xi^2,\dots,\xi^N</math> of <math>N</math> replications of the random vector <math>\xi</math>. Usually the sample is assumed to be independent identically distributed (i.i.d sample). Given a sample, the expectation function <math>q(x)=E[Q(x,\xi)]</math> is approximated by the sample average
 
<math>
\hat{q}_N(x) = \frac{1}{N} \sum_{j=1}^N Q(x,\xi^j)
</math>
 
and consequently the first-stage problem is given by
 
<math>
\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}
</math>
 
This formulation is known as the ''Sample Average Approximation'' method. The SAA problem is a function of the considered sample and in that sense is random. For a given sample <math>\xi^1,\xi^2,\dots,\xi^N</math> the SAA problem is of the same form as a two-stage stochastic linear programming problem with the scenarios <math>\xi^j</math>., <math>j=1,\dots,N</math>, each taken with the same probability <math>p_j=\frac{1}{N}</math>.
 
== Statistical Inference ==
 
Consider the following stochastic programming problem
 
<math>
\min\limits_{x\in X}\{ g(x) = f(x)+E[Q(x,\xi)] \}
</math>
 
Here <math>X</math> is a nonempty closed subset of <math>\mathbb{R}^n</math>, <math>\xi</math> is a random vector whose probability distribution <math>P</math> is supported on a set <math>\Xi \subset \mathbb{R}^d</math>, and <math>Q: X \times \Xi \rightarrow \mathbb{R}</math>. In the framework of two-stage stochastic programming, <math>Q(x,\xi)</math> is given by the optimal value of the corresponding second-stage problem.
 
Assume that <math>g(x)</math> is well defined and ''finite valued'' for all <math>x\in X</math>. This implies that for every <math>x\in X</math> the value <math>Q(x,\xi)</math> is finite almost surely.
 
Suppose that we have a sample <math>\xi^1,\dots,\xi^N</math> of <math>N</math>realizations of the random vector <math>\xi</math>. This random sample can be viewed as historical data of <math>N</math> observations of <math>\xi</math>, or it can be generated by Monte Carlo sampling techniques. Then we can formulate a corresponding ''sample average approximation''
 
<math>
\min\limits_{x\in X}\{ \hat{g}_N(x) = f(x)+\frac{1}{N} \sum_{j=1}^N Q(x,\xi^j) \}
</math>
 
By the [[Law of Large Numbers]] we have that, under some regularity conditions <math>\frac{1}{N} \sum_{j=1}^N Q(x,\xi^j)</math> converges pointwise with probability 1 to <math>E[Q(x,\xi)]</math> as <math>N \rightarrow \infty</math>. Moreover, under mild additional conditions the convergence is uniform. We also have <math>E[\hat{g}_N(x)]=g(x)</math>, i.e., <math>\hat{g}_N(x)</math> is an ''unbiased'' estimator of <math>g(x)</math>. Therefore it is natural to expect that the optimal value and optimal solutions of the SAA problem converge to their counterparts of the true problem as <math>N \rightarrow \infty</math>.
 
===Consistency of SAA estimators===
 
Suppose the feasible set <math>X</math> of the SAA problem is fixed, i.e., it is independent of the sample. Let <math>\vartheta^*</math> and <math>S^*</math> be the optimal value and the set of optimal solutions, respectively, of the true problem and let <math>\hat{\vartheta}_N</math> and <math>\hat{S}_N</math> be the optimal value and the set of optimal solutions, respectively, of the SAA problem.
 
# Let <math>g: X \rightarrow \mathbb{R}</math> and <math>\hat{g}_N: X \rightarrow \mathbb{R}</math> be a sequence of (deterministic) real valued functions. The following two properties are equivalent:
#* for any <math>\overline{x}\in X</math> and any sequence <math>\{x_N\}\subset X</math> converging to <math>\overline{x}</math> it follows that <math>\hat{g}_N(x_N)</math> converges to <math>g(\overline{x})</math>
#* the function <math>f(\cdot)</math> is continuous on <math>X</math> and <math>\hat{g}_N(\cdot)</math> converges to <math>g(\cdot)</math> uniformly on any compact subset of <math>X</math>
# If the objective of the SAA problem <math>\hat{g}_N(x)</math> converges to the true problem's objective <math>g(x)</math> with probability 1, as <math>N \rightarrow \infty</math>, uniformly on the feasible set <math>X</math>. Then <math>\hat{\vartheta}_N</math> converges to <math>\vartheta^*</math> with probability 1 as <math>N \rightarrow \infty</math>.
# Suppose that there exists a compact set <math>C \subset \mathbb{R}^n</math> such that
#* the set <math>S</math> of optimal solutions of the true problem is nonempty and is contained in <math>C</math>
#* the function <math>g(x)</math> is finite valued and continuous on <math>C</math>
#* the sequence of functions <math>\hat{g}_N(x)</math> converges to <math>g(x)</math> with probability 1, as <math>N \rightarrow \infty</math>, uniformly in <math>x\in C</math>
#* for <math>N</math> large enough the set <math>\hat{S}_N</math> is nonempty and <math>\hat{S}_N \subset C</math> with probability 1
:: then <math>\hat{\vartheta}_N \rightarrow \vartheta^*</math> and <math>\mathbb{D}(S^*,\hat{S}_N)\rightarrow 0 </math> with probability 1 as <math>N\rightarrow \infty </math>. Note that <math>\mathbb{D}(A,B) </math> denotes the ''deviation of set <math>A</math> from set <math>B</math>'', defined as
 
::::::::::::::: <math>
\mathbb{D}(A,B) := \sup_{x\in A} \{ \inf_{x' \in B} \|x-x'\| \}
</math>
 
In some situations the feasible set <math>X</math> of the SAA problem is estimated, then the corresponding SAA problem takes the form
 
<math>
\min_{x\in X_N} \hat{g}_N(x)
</math>
 
where <math>X_N</math> is a subset of <math>\mathbb{R}^n</math> depending on the sample and therefore is random. Nevertheless consistency results for SAA estimators can still be derived under some additional assumptions:
# Suppose that there exists a compact set <math>C \subset \mathbb{R}^n</math> such that
#* the set <math>S</math> of optimal solutions of the true problem is nonempty and is contained in <math>C</math>
#* the function <math>g(x)</math> is finite valued and continuous on <math>C</math>
#* the sequence of functions <math>\hat{g}_N(x)</math> converges to <math>g(x)</math> with probability 1, as <math>N \rightarrow \infty</math>, uniformly in <math>x\in C</math>
#* for <math>N</math> large enough the set <math>\hat{S}_N</math> is nonempty and <math>\hat{S}_N \subset C</math> with probability 1
#* if <math> x_N \in X_N</math> and <math> x_N </math> converges with probability 1 to a point <math> x</math>, then <math> x \in X</math>
#* for some point <math> x \in S^*</math> there exists a sequence <math> x_N \in X_N</math> such that <math> x_N \rightarrow x</math> with probability 1.
:: then <math>\hat{\vartheta}_N \rightarrow \vartheta^*</math> and <math>\mathbb{D}(S^*,\hat{S}_N)\rightarrow 0 </math> with probability 1 as <math>N\rightarrow \infty </math>.
 
=== Asymptotics of the SAA optimal value ===
 
Suppose the sample <math>\xi^1,\dots,\xi^N</math> is i.i.d. and fix a point <math>x \in X</math>. Then the sample average estimator <math>\hat{g}_N(x)</math>, of <math>g(x)</math>, is unbiased and have variance <math>\frac{1}{N}\sigma^2(x)</math>, where <math>\sigma^2(x):=Var[Q(x,\xi)]</math> is supposed to be finite. Moreover, by the [[central limit theorem]] we have that
 
: <math>
\sqrt{N} [\hat{g}_N-  g(x)] \xrightarrow{\mathcal{D}} Y_x
</math>
 
where <math>\xrightarrow{\mathcal{D}}</math> denotes convergence in ''distribution'' and <math>Y_x</math> has a normal distribution with mean <math>0</math> and variance <math>\sigma^2(x)</math>, written as <math>\mathcal{N}(0,\sigma^2(0))</math>.
 
In other words, <math>\hat{g}_N(x)</math> has ''asymptotically normal'' distribution, i.e., for large <math>N</math>, <math>\hat{g}_N(x)</math> has approximately normal distribution with mean <math>g(x)</math> and variance <math>\frac{1}{N}\sigma^2(x)</math>. This leads to the following (approximate) <math>100(1-\alpha)</math>% confidence interval for <math>f(x)</math>:
 
:: <math>
\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]
</math>
 
where <math>z_{\alpha/2}:=\Phi^{-1}(1-\alpha/2)</math> (here <math>\Phi(\cdot)</math> denotes the cdf of the standard normal distribution) and
 
:: <math>
\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
</math>
 
is the sample variance estimate of <math>\sigma^2(x)</math>. That is, the error of estimation of <math>g(x)</math> is (stochastically) of order <math> O(\sqrt{N})</math>.
 
== Multistage Portfolio Optimization==
We now present an example from finance of multi-stage stochastic programming.
Suppose that at time <math>t=0</math> we have initial capital <math>W_0</math> to invest in <math>n</math> assets. Suppose further that we are allowed to rebalance our portfolio at times <math>t=1,\dots,T-1</math> but without injecting additional cash into it. At each period <math>t</math> we make a decision about redistributing the current wealth <math>W_t</math> among the <math>n</math> assets. Let <math>x_0=(x_{10},\dots,x_{n0})</math> be the initial amounts invested in the n assets. We require that each <math>x_{i0}</math> is nonnegative and that the balance equation <math>\sum_{i=1}^{n}x_{i0}=W_0</math> should hold.
 
Consider the total returns <math>\xi_t=(\xi_{1t},\dots,\xi_{nt})</math> for each period <math>t=1,\dots,T</math>.  This forms a vector-valued random process <math>\xi_1,\dots,\xi_T</math>. At time period <math>t=1</math>, we can rebalance the portfolio by specifying the amounts <math>x_1=(x_{11},\dots,x_{n1})</math> invested in the respective assets. At that time the returns in the first period have been realized so it is reasonable to use this information in the rebalancing decision. Thus, the second-stage decisions, at time <math>t=1</math>, are actually functions of realization of the random vector <math>\xi_1</math>, i.e., <math>x_1=x_1(\xi_1)</math>. Similarly, at time <math>t</math> the decision <math>x_t=(x_{1t},\dots,x_{nt})</math> is a function <math>x_t=x_t(\xi_{[t]})</math> of the available information given by <math>\xi_{[t]}=(\xi_{1},\dots,\xi_{t})</math> the history of the random process up to time <math>t</math>. A sequence of functions <math>x_t=x_t(\xi_{[t]})</math>, <math>t=0,\dots,T-1</math>, with <math>x_0</math> being constant, defines an ''implementable policy'' of the decision process. It is said that such a policy is ''feasible'' if it satisfies the model constraints with probability 1, i.e., the nonnegativity  constraints <math>x_{it}(\xi_{[t]})\geq 0</math>, <math>i=1,\dots,n</math>, <math>t=0,\dots,T-1</math>, and the balance of wealth constraints,
 
<math>
\sum_{i=1}^{n}x_{it}(\xi_{[t]}) = W_t,
</math>
 
where in period <math>t=1,\dots,T</math> the wealth <math>W_t</math> is given by
 
<math>
W_t = \sum_{i=1}^{n}\xi_{it} x_{i,t-1}(\xi_{[t-1]}),
</math>
 
which depends on the realization of the random process and the decisions up to time <math>t</math>.
 
Suppose the objective is to maximize the expected utility of this wealth at the last period, that is, to consider the problem
 
<math>
\max E[U(W_T)].
</math>
 
This is a multistage stochastic programming problem, where stages are numbered from <math>t=0</math> to <math>t=T-1</math>. Optimization is performed over all implementable and feasible policies. To complete the problem description one also needs to define the probability distribution of the random process <math>\xi_1,\dots,\xi_T</math>. This can be done in various ways. For example, one can construct a particular scenario tree defining time evolution of the process. If at every stage the random return of each asset is allowed to have two continuations, independent of other assets, then the total number of scenarios is <math>2^{nT}</math>.
 
In order to write [[dynamic programming]] equations, consider the above multistage problem backward in time. At the last stage <math>t=T-1</math>, a realization <math>\xi_{[T-1]}=(\xi_{1},\dots,\xi_{T-1})</math>  of the random process is known and <math>x_{T-2}</math> has been chosen. Therefore, one needs to solve the following problem
 
<math>
\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}
</math>
 
where <math>E[U(W_T)|\xi_{[T-1]}]</math> denotes the conditional expectation of <math>U(W_T)</math> given <math>\xi_{[T-1]}</math>. The optimal value of the above problem depends on <math>W_{T-1}</math> and <math>\xi_{[T-1]}</math> and is denoted <math>Q_{T-1}(W_{T-1},\xi_{[T-1]})</math>.
 
Similarly, at stages <math>t=T-2,\dots,1</math>, one should solve the problem
 
<math>
\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}
</math>
 
whose optimal value is denoted by <math>Q_{t}(W_{t},\xi_{[t]})</math>. Finally, at stage <math>t=0</math>, one solves the problem
 
<math>
\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}
</math>
 
=== Stagewise independent random process ===
 
For a general distribution of the process <math>\xi_t</math>, it may be hard to solve these dynamic programming equations. The situation simplifies dramatically if the process <math>\xi_t</math> is stagewise independent, i.e., <math>\xi_t</math> is (stochastically) independent of <math>\xi_1,\dots,\xi_{t-1}</math> for <math>t=2,\dots,T</math>. In this case, the corresponding conditional expectations become unconditional expectations, and the function <math>Q_t(W_t)</math>, <math>t=1,\dots,T-1</math> does not depend on <math>\xi_{[t]}</math>. That is, <math>Q_{T-1}(W_{T-1})</math> is the optimal value of the problem
 
<math>
\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}
</math>
 
and <math>Q_t(W_t)</math> is the optimal value of
 
<math>
\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}
</math>
 
for <math>t=T-2,\dots,1</math>.
 
==Biological applications==
Stochastic [[dynamic programming]] is frequently used to model [[ethology|animal behaviour]] in such fields as [[behavioural ecology]].<ref>Mangel, M. & Clark, C. W. 1988. ''Dynamic modeling in behavioral ecology.'' Princeton University Press ISBN 0-691-08506-4</ref><ref>Houston, A. I & McNamara, J. M. 1999. ''Models of adaptive behaviour: an approach based on state''. Cambridge University Press ISBN 0-521-65539-0</ref>  Empirical tests of models of [[Optimal foraging theory|optimal foraging]], [[Biological life cycle|life-history]] transitions such as [[Fledge|fledging in birds]] and egg laying in [[parasitoid]] wasps have shown the value of this modelling technique in explaining the evolution of behavioural decision making.  These models are typically many staged, rather than two-staged.
 
==Economic applications==
Stochastic dynamic programming is a useful tool in understanding decision making under uncertainty. The accumulation of capital stock under uncertainty is one example, often it is used by resource economists to analyze [[Bioeconomics|bioeconomic problems]]<ref>Howitt, R., Msangi, S., Reynaud, A and K. Knapp. 2002. [http://www.agecon.ucdavis.edu/aredepart/facultydocs/Howitt/Polyapprox3a.pdf "Using Polynomial Approximations to Solve Stochastic Dynamic Programming Problems: or A "Betty Crocker " Approach to SDP."]  University of California, Davis, Department of Agricultural and Resource Economics Working Paper.</ref> where the uncertainty enters in such as weather, etc..
 
==Software tools==
 
===Modelling languages===
All discrete stochastic programming problems can be represented with any [[algebraic modeling language]], manually implementing explicit or implicit non-anticipativity to make sure the resulting model respects the structure of the information made available at each stage.
An instance of an SP problem generated by a general modelling language tends to grow quite large (linearly in the number of scenarios), and its matrix looses the structure that is intrinsic to this class of problems, which could otherwise be exploited at solution time by specific decomposition algorithms.
Extensions to modelling languages specifically designed for SP are starting to appear, see:
*[[AIMMS]] - supports the definition of SP problems
*[[SAMPL]] - a set of extensions to [[AMPL]] specifically designed to express stochastic programs (includes syntax for chance constraints, integrated chance constraints and [[Robust optimization|Robust Optimization]] problems)
They both can generate SMPS instance level format, which conveys in a non-redundant form the structure of the problem to the solver.
 
===Solvers===
*[[FortSP]] - solver for stochastic programming problems; it accepts SMPS input and implements various decomposition algorithms.
*[[FuncDesigner]] - free software that has proprietary addon (free for small-scaled problems with research / educational purposes) for stochastic programming and optimization; [http://openopt.org/StochasticProgramming#Local_nonlinear_optimization_example example1], [http://openopt.org/StochasticProgramming#Global_nonlinear_optimization_example example2], [http://openopt.org/StochasticProgramming#Example_with_15_unknown_variables example3]
*NEOS Solvers - Three solvers are available in the [http://neos.mcs.anl.gov/neos/solvers/ Neos Server]: Bouncing Nested Benders Solvers (BNBS) for multi-stage stochastic linear programs, ddsip for two-stage stochastic programs with integer recourse, and Stochastic Decomposition (SD) for two-stage stochastic linear programs.
*[http://www.coin-or.org/projects/Smi.xml COIN-OR Stochastic Modeling Interface] - An open source project within [[COIN-OR]]. It can read Stochastic MPS<ref>J.R. Birge, M.A.H. Dempster, H.I. Gassmann, E.A. Gunn, A.J. King and S.W. Wallace, ''A standard input format for multiperiod stochastic linear programs'', COAL Newsletter #17 (1987) pp. 1-19.</ref> input format as well as supports direct interfaces for scenario input, and generates the deterministic equivalent linear program for solution by COIN-OR solvers.
 
==See also==
{{Portal|Computer science}}
 
* [[Probabilistic-based design optimization]]
* [[SAMPL| SAMPL algebraic modeling language]]
* [[Scenario optimization]]
* [[Stochastic optimization]]
 
==References==
{{Reflist|30em}}
 
==Further reading==
* John R. Birge and François V. Louveaux. ''Introduction to Stochastic Programming''. Springer Verlag, New York, 1997.
 
* {{cite book | last1=Kall|first1=Peter |last2=Wallace|first2=Stein W.| title=Stochastic programming |  series=Wiley-Interscience Series in Systems and Optimization| publisher=John Wiley & Sons, Ltd.| location=Chichester|year=1994|pages=xii+307|isbn=0-471-95158-7| url=http://stoprog.org/index.html?introductions.html |mr=1315300 }}
 
* G. Ch. Pflug:  ''Optimization of Stochastic Models. The Interface between Simulation and Optimization''. Kluwer, Dordrecht, 1996.
 
* [[Andras Prekopa]]. Stochastic Programming. Kluwer Academic Publishers, Dordrecht, 1995.
 
* [[Andrzej Piotr Ruszczyński|Andrzej Ruszczynski]] and Alexander Shapiro (eds.) (2003) ''Stochastic Programming''. Handbooks in Operations Research and Management Science, Vol. 10, Elsevier.
 
* {{cite book| last1=Shapiro|first1=Alexander|last2=[[Darinka Dentcheva|Dentcheva]]|first2=Darinka|last3=[[Andrzej Piotr Ruszczyński|Ruszczyński]]|first3=Andrzej|title=Lectures on stochastic programming: Modeling and theory| series=MPS/SIAM Series on Optimization| volume=9| publisher=Society for Industrial and Applied Mathematics (SIAM)|location=Philadelphia, PA| publisher2=Mathematical Programming Society (MPS)| year=2009|pages=xvi+436|isbn=978-0-89871-687-0| url=http://www2.isye.gatech.edu/people/faculty/Alex_Shapiro/SPbook.pdf | mr=2562798 }}
 
* Stein W. Wallace and William T. Ziemba (eds.) (2005) ''Applications of Stochastic Programming''. MPS-SIAM Book Series on Optimization 5
 
* {{cite book | last1=King|first1=Alan J.|last2=Wallace|first2=Stein W.| title=Modeling with Stochastic Programming |  series=Springer Series in Operations Research and Financial Engineering| publisher=Springer| location=New York|year=2012|isbn=978-0-387-87816-4| url=http://www.springer.com/mathematics/probability/book/978-0-387-87816-4 }}
 
==External links==
* [http://stoprog.org Stochastic Programming Community Home Page]
 
{{DEFAULTSORT:Stochastic Programming}}
[[Category:Stochastic optimization]]
[[Category:Stochastic algorithms]]
[[Category:Mathematical optimization]]
[[Category:Operations research]]

Revision as of 08:23, 9 November 2013

In the field of mathematical optimization, stochastic programming is a framework for modeling optimization problems that involve uncertainty. Whereas deterministic optimization problems are formulated with known parameters, real world problems almost invariably include some unknown parameters. When the parameters are known only within certain bounds, one approach to tackling such problems is called robust optimization. Here the goal is to find a solution which is feasible for all such data and optimal in some sense. Stochastic programming models are similar in style but take advantage of the fact that probability distributions governing the data are known or can be estimated. The goal here is to find some policy that is feasible for all (or almost all) the possible data instances and maximizes the expectation of some function of the decisions and the random variables. More generally, such models are formulated, solved analytically or numerically, and analyzed in order to provide useful information to a decision-maker.[1]

As an example, consider two-stage linear programs. Here the decision maker takes some action in the first stage, after which a random event occurs affecting the outcome of the first-stage decision. A recourse decision can then be made in the second stage that compensates for any bad effects that might have been experienced as a result of the first-stage decision. The optimal policy from such a model is a single first-stage policy and a collection of recourse decisions (a decision rule) defining which second-stage action should be taken in response to each random outcome.

Stochastic programming has applications in a broad range of areas ranging from finance to transportation to energy optimization.[2][3] We present an example of optimizing an investment portfolio over time.

Two-Stage Problems

The basic idea of two-stage stochastic programming is that (optimal) decisions should be based on data available at the time the decisions are made and should not depend on future observations. Two-stage formulation is widely used in stochastic programming. The general formulation of a two-stage stochastic programming problem is given by:

where is the optimal value of the second-stage problem

The classical two-stage linear stochastic programming problems can be formulated as

where is the optimal value of the second-stage problem

In such formulation is the first-stage decision variable vector, is the second-stage decision variable vector, and contains the data of the second-stage problem. In this formulation, at the first stage we have to make a "here-and-now" decision before the realization of the uncertain data , viewed as a random vector, is known. At the second stage, after a realization of becomes available, we optimize our behavior by solving an appropriate optimization problem.

At the first stage we optimize (minimize in the above formulation) the cost of the first-stage decision plus the expected cost of the (optimal) second-stage decision. We can view the second-stage problem simply as an optimization problem which describes our supposedly optimal behavior when the uncertain data is revealed, or we can consider its solution as a recourse action where the term compensates for a possible inconsistency of the system and is the cost of this recourse action.

The considered two-stage problem is linear because the objective functions and the constraints are linear. Conceptually this is not essential and one can consider more general two-stage stochastic programs. For example, if the first-stage problem is integer, one could add integrality constraints to the first-stage problem so that the feasible set is discrete. Non-linear objectives and constraints could also be incorporated if needed.[4]

Distributional assumption

The formulation of the above two-stage problem assumes that the second-stage data can be modeled as a random vector with a known probability distribution (not just uncertain). This would be justified in many situations. For example could be information derived from historical data and the distribution does not significantly change over the considered period of time. In such situations one may reliably estimate the required probability distribution and the optimization on average could be justified by the Law of Large Numbers. Another example is that could be realizations of a simulation model whose outputs are stochastic. The empirical distribution of the sample could be used as an approximation to the true but unknown output distribution.

Discretization

To solve the two-stage stochastic problem numerically, one often need to assume that the random vector has a finite number of possible realizations, called scenarios, say , with respective probability masses . Then the expectation in the first-stage problem's objective function can be written as the summation:

and, moreover, the two-stage problem can be formulated as one large linear programming problem (this is called the deterministic equivalent of the original problem, see section Template:Sectionlink).

When has an infinite (or very large) number of possible realizations the standard approach is then to represent this distribution by scenarios. This approach raises three questions, namely:

  1. How to construct scenarios, see Template:Sectionlink;
  2. How to solve the deterministic equivalent. Optimizers such as CPLEX, GLPK and Gurobi can solve large linear/nonlinear problems. NEOS [5] server hosted at the Argonne National Laboratory allows free access to many modern solvers. The structure of a deterministic equivalent is particularly amenable to apply decomposition methods,[6] such as Benders' decomposition or scenario decomposition;
  3. How to measure quality of the obtained solution with respect to the "true" optimum.

These questions are not independent. For example, the number of scenarios constructed will affect both the tractability of the deterministic equivalent and the quality of the obtained solutions.

Stochastic linear program

A stochastic linear program is a specific instance of the classical two-stage stochastic program. A stochastic LP is built from a collection of multi-period linear programs (LPs), each having the same structure but somewhat different data. The two-period LP, representing the scenario, may be regarded as having the following form:

The vectors and contain the first-period variables, whose values must be chosen immediately. The vector contains all of the variables for subsequent periods. The constraints involve only first-period variables and are the same in every scenario. The other constraints involve variables of later periods and differ in some respects from scenario to scenario, reflecting uncertainty about the future.

Note that solving the two-period LP is equivalent to assuming the scenario in the second period with no uncertainty. In order to incorporate uncertainties in the second stage, one should assign probabilities to different scenarios and solve the corresponding deterministic equivalent.

Deterministic equivalent of a stochastic problem

With a finite number of scenarios, two-stage stochastic linear programs can be modelled as large linear programming problems. This formulation is often called the deterministic equivalent linear program, or abbreviated to deterministic equivalent. (Strictly speaking a deterministic equivalent is any mathematical program that can be used to compute the optimal first-stage decision, so these will exist for continuous probability distributions as well, when one can represent the second-stage cost in some closed form.) For example, to form the deterministic equivalent to the above stochastic linear program, we assign a probability to each scenario . Then we can minimize the expected value of the objective, subject to the constraints from all scenarios:

We have a different vector of later-period variables for each scenario . The first-period variables and are the same in every scenario, however, because we must make a decision for the first period before we know which scenario will be realized. As a result, the constraints involving just and need only be specified once, while the remaining constraints must be given separately for each scenario.

Scenario Construction

In practice it might be possible to construct scenarios by eliciting expert's opinions on the future. The number of constructed scenarios should be relatively modest so that the obtained deterministic equivalent can be solved with reasonable computational effort. It is often claimed that a solution that is optimal using only a few scenarios provides more adaptable plans than one that assumes a single scenario only. In some cases such a claim could be verified by a simulation. In theory some measures of guarantee that an obtained solution solves the original problem with reasonable accuracy. Typically in applications only the first stage optimal solution has a practical value since almost always a "true" realization of the random data will be different from the set of constructed (generated) scenarios.

Suppose contains independent random components, each of which has three possible realizations (for example, future realizations of each random parameters are classified as low, medium and high), then the total number of scenarios is . Such exponential growth of the number of scenarios makes model development using expert opinion very difficult even for reasonable size . The situation becomes even worse if some random components of have continuous distributions.

Monte Carlo sampling and Sample Average Approximation (SAA) Method

A common approach to reduce the scenario set to a manageable size is by using Monte Carlo simulation. Suppose the total number of scenarios is very large or even infinite. Suppose further that we can generate a sample of replications of the random vector . Usually the sample is assumed to be independent identically distributed (i.i.d sample). Given a sample, the expectation function is approximated by the sample average

and consequently the first-stage problem is given by

This formulation is known as the Sample Average Approximation method. The SAA problem is a function of the considered sample and in that sense is random. For a given sample the SAA problem is of the same form as a two-stage stochastic linear programming problem with the scenarios ., , each taken with the same probability .

Statistical Inference

Consider the following stochastic programming problem

Here is a nonempty closed subset of , is a random vector whose probability distribution is supported on a set , and . In the framework of two-stage stochastic programming, is given by the optimal value of the corresponding second-stage problem.

Assume that is well defined and finite valued for all . This implies that for every the value is finite almost surely.

Suppose that we have a sample of realizations of the random vector . This random sample can be viewed as historical data of observations of , or it can be generated by Monte Carlo sampling techniques. Then we can formulate a corresponding sample average approximation

By the Law of Large Numbers we have that, under some regularity conditions converges pointwise with probability 1 to as . Moreover, under mild additional conditions the convergence is uniform. We also have , i.e., is an unbiased estimator of . Therefore it is natural to expect that the optimal value and optimal solutions of the SAA problem converge to their counterparts of the true problem as .

Consistency of SAA estimators

Suppose the feasible set of the SAA problem is fixed, i.e., it is independent of the sample. Let and be the optimal value and the set of optimal solutions, respectively, of the true problem and let and be the optimal value and the set of optimal solutions, respectively, of the SAA problem.

  1. Let and be a sequence of (deterministic) real valued functions. The following two properties are equivalent:
  2. If the objective of the SAA problem converges to the true problem's objective with probability 1, as , uniformly on the feasible set . Then converges to with probability 1 as .
  3. Suppose that there exists a compact set such that
then and with probability 1 as . Note that denotes the deviation of set from set , defined as

In some situations the feasible set of the SAA problem is estimated, then the corresponding SAA problem takes the form

where is a subset of depending on the sample and therefore is random. Nevertheless consistency results for SAA estimators can still be derived under some additional assumptions:

  1. Suppose that there exists a compact set such that
then and with probability 1 as .

Asymptotics of the SAA optimal value

Suppose the sample is i.i.d. and fix a point . Then the sample average estimator , of , is unbiased and have variance , where is supposed to be finite. Moreover, by the central limit theorem we have that

where denotes convergence in distribution and has a normal distribution with mean and variance , written as .

In other words, has asymptotically normal distribution, i.e., for large , has approximately normal distribution with mean and variance . This leads to the following (approximate) % confidence interval for :

where (here denotes the cdf of the standard normal distribution) and

is the sample variance estimate of . That is, the error of estimation of is (stochastically) of order .

Multistage Portfolio Optimization

We now present an example from finance of multi-stage stochastic programming. Suppose that at time we have initial capital to invest in assets. Suppose further that we are allowed to rebalance our portfolio at times but without injecting additional cash into it. At each period we make a decision about redistributing the current wealth among the assets. Let be the initial amounts invested in the n assets. We require that each is nonnegative and that the balance equation should hold.

Consider the total returns for each period . This forms a vector-valued random process . At time period , we can rebalance the portfolio by specifying the amounts invested in the respective assets. At that time the returns in the first period have been realized so it is reasonable to use this information in the rebalancing decision. Thus, the second-stage decisions, at time , are actually functions of realization of the random vector , i.e., . Similarly, at time the decision is a function of the available information given by the history of the random process up to time . A sequence of functions , , with being constant, defines an implementable policy of the decision process. It is said that such a policy is feasible if it satisfies the model constraints with probability 1, i.e., the nonnegativity constraints , , , and the balance of wealth constraints,

where in period the wealth is given by

which depends on the realization of the random process and the decisions up to time .

Suppose the objective is to maximize the expected utility of this wealth at the last period, that is, to consider the problem

This is a multistage stochastic programming problem, where stages are numbered from to . Optimization is performed over all implementable and feasible policies. To complete the problem description one also needs to define the probability distribution of the random process . This can be done in various ways. For example, one can construct a particular scenario tree defining time evolution of the process. If at every stage the random return of each asset is allowed to have two continuations, independent of other assets, then the total number of scenarios is .

In order to write dynamic programming equations, consider the above multistage problem backward in time. At the last stage , a realization of the random process is known and has been chosen. Therefore, one needs to solve the following problem

where denotes the conditional expectation of given . The optimal value of the above problem depends on and and is denoted .

Similarly, at stages , one should solve the problem

whose optimal value is denoted by . Finally, at stage , one solves the problem

Stagewise independent random process

For a general distribution of the process , it may be hard to solve these dynamic programming equations. The situation simplifies dramatically if the process is stagewise independent, i.e., is (stochastically) independent of for . In this case, the corresponding conditional expectations become unconditional expectations, and the function , does not depend on . That is, is the optimal value of the problem

and is the optimal value of

for .

Biological applications

Stochastic dynamic programming is frequently used to model animal behaviour in such fields as behavioural ecology.[7][8] Empirical tests of models of optimal foraging, life-history transitions such as fledging in birds and egg laying in parasitoid wasps have shown the value of this modelling technique in explaining the evolution of behavioural decision making. These models are typically many staged, rather than two-staged.

Economic applications

Stochastic dynamic programming is a useful tool in understanding decision making under uncertainty. The accumulation of capital stock under uncertainty is one example, often it is used by resource economists to analyze bioeconomic problems[9] where the uncertainty enters in such as weather, etc..

Software tools

Modelling languages

All discrete stochastic programming problems can be represented with any algebraic modeling language, manually implementing explicit or implicit non-anticipativity to make sure the resulting model respects the structure of the information made available at each stage. An instance of an SP problem generated by a general modelling language tends to grow quite large (linearly in the number of scenarios), and its matrix looses the structure that is intrinsic to this class of problems, which could otherwise be exploited at solution time by specific decomposition algorithms. Extensions to modelling languages specifically designed for SP are starting to appear, see:

  • AIMMS - supports the definition of SP problems
  • SAMPL - a set of extensions to AMPL specifically designed to express stochastic programs (includes syntax for chance constraints, integrated chance constraints and Robust Optimization problems)

They both can generate SMPS instance level format, which conveys in a non-redundant form the structure of the problem to the solver.

Solvers

  • FortSP - solver for stochastic programming problems; it accepts SMPS input and implements various decomposition algorithms.
  • FuncDesigner - free software that has proprietary addon (free for small-scaled problems with research / educational purposes) for stochastic programming and optimization; example1, example2, example3
  • NEOS Solvers - Three solvers are available in the Neos Server: Bouncing Nested Benders Solvers (BNBS) for multi-stage stochastic linear programs, ddsip for two-stage stochastic programs with integer recourse, and Stochastic Decomposition (SD) for two-stage stochastic linear programs.
  • COIN-OR Stochastic Modeling Interface - An open source project within COIN-OR. It can read Stochastic MPS[10] input format as well as supports direct interfaces for scenario input, and generates the deterministic equivalent linear program for solution by COIN-OR solvers.

See also

Sportspersons Hyslop from Nicolet, usually spends time with pastimes for example martial arts, property developers condominium in singapore singapore and hot rods. Maintains a trip site and has lots to write about after touring Gulf of Porto: Calanche of Piana.

References

43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.

Further reading

  • John R. Birge and François V. Louveaux. Introduction to Stochastic Programming. Springer Verlag, New York, 1997.
  • 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.

    My blog: http://www.primaboinca.com/view_profile.php?userid=5889534
  • G. Ch. Pflug: Optimization of Stochastic Models. The Interface between Simulation and Optimization. Kluwer, Dordrecht, 1996.
  • Andras Prekopa. Stochastic Programming. Kluwer Academic Publishers, Dordrecht, 1995.
  • Andrzej Ruszczynski and Alexander Shapiro (eds.) (2003) Stochastic Programming. Handbooks in Operations Research and Management Science, Vol. 10, Elsevier.
  • 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.

    My blog: http://www.primaboinca.com/view_profile.php?userid=5889534
  • Stein W. Wallace and William T. Ziemba (eds.) (2005) Applications of Stochastic Programming. MPS-SIAM Book Series on Optimization 5
  • 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.

    My blog: http://www.primaboinca.com/view_profile.php?userid=5889534

External links

  1. 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.

    My blog: http://www.primaboinca.com/view_profile.php?userid=5889534
  2. Stein W. Wallace and William T. Ziemba (eds.). Applications of Stochastic Programming. MPS-SIAM Book Series on Optimization 5, 2005.
  3. Applications of stochastic programming are described at the following website, Stochastic Programming Community.
  4. 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.

    My blog: http://www.primaboinca.com/view_profile.php?userid=5889534
  5. http://www.neos-server.org/neos/
  6. 20 year-old Real Estate Agent Rusty from Saint-Paul, has hobbies and interests which includes monopoly, property developers in singapore and poker. Will soon undertake a contiki trip that may include going to the Lower Valley of the Omo.

    My blog: http://www.primaboinca.com/view_profile.php?userid=5889534
  7. Mangel, M. & Clark, C. W. 1988. Dynamic modeling in behavioral ecology. Princeton University Press ISBN 0-691-08506-4
  8. Houston, A. I & McNamara, J. M. 1999. Models of adaptive behaviour: an approach based on state. Cambridge University Press ISBN 0-521-65539-0
  9. Howitt, R., Msangi, S., Reynaud, A and K. Knapp. 2002. "Using Polynomial Approximations to Solve Stochastic Dynamic Programming Problems: or A "Betty Crocker " Approach to SDP." University of California, Davis, Department of Agricultural and Resource Economics Working Paper.
  10. J.R. Birge, M.A.H. Dempster, H.I. Gassmann, E.A. Gunn, A.J. King and S.W. Wallace, A standard input format for multiperiod stochastic linear programs, COAL Newsletter #17 (1987) pp. 1-19.