Stochastic programming

From Systems Analysis Wiki
Jump to navigation Jump to search

Stochastic programming — a branch of mathematical programming that develops models and methods for solving optimization problems under uncertainty, when some model parameters are not known exactly but are represented as random variables with known or estimated probability distributions[1][2].

Unlike deterministic problems, where all data are considered given constants, stochastic programming aims to find a solution (or decision policy) that is optimal in some statistical sense. Most often this means minimizing or maximizing the expected value of the objective function[1]. The key idea is to find a decision policy that will be best "on average" across all possible realizations of random parameters, which is especially relevant for problems where decisions are made repeatedly under similar conditions (e.g., in inventory management or power systems)[3].

Mathematical Problem Formulation

In general form, the stochastic programming problem can be formulated as: minxX𝔼[f(x,ξ)] where:

  • x — the vector of decision variables (decisions) that need to be determined.
  • X — the set of feasible solutions for x, defined by deterministic constraints.
  • ξ — a random vector representing the uncertain parameters of the problem (e.g., demand, prices, weather conditions).
  • f(x,ξ) — the objective function, whose value depends on both the decision x and the realization of the random vector ξ.
  • 𝔼[] — the expectation operator, computed over the probability distribution of vector ξ.

A crucial principle underlying multi-stage stochastic models is the non-anticipativity principle. It states that decisions made at any stage can only depend on information available at that moment and cannot "look into the future"[2].

Two-Stage Problem with Recourse

The most common model is the two-stage stochastic program with recourse[1]. The decision-making process is divided into two stages:

  1. First stage: A "here-and-now" decision is made — the vector x is determined. This decision must be made before the specific realization of the random vector ξ becomes known.
  2. Second stage: After the random event has occurred, a corrective or recourse decision is made — the vector y(ξ), aimed at minimizing negative consequences or utilizing favorable opportunities arising from the combination of the first-stage decision x and outcome ξ.

Mathematically, the two-stage stochastic linear programming problem is formulated as follows: minxn1{cTx+𝔼ξ[Q(x,ξ)]} subject to first-stage constraints: Ax=b,x0. Here Q(x,ξ) is the recourse function, representing the optimal value of the second-stage problem: Q(x,ξ)=minyn2{q(ξ)TyT(ξ)x+Wy=h(ξ),y0} where ξ is a random vector containing parameters q(ξ),T(ξ) and h(ξ); and c,A,b and W are deterministic parameters[2].

Key Properties and Theorems

  • Convexity: One of the fundamental results of the theory is that for two-stage stochastic linear programming problems, the expected recourse function Q(x)=𝔼ξ[Q(x,ξ)] is a convex function. This property is of great importance as it guarantees that the overall first-stage problem is a convex programming problem, for which efficient solution methods exist and the global optimum coincides with the local optimum[1].
  • Deterministic equivalent: If the random vector ξ has a finite number of possible realizations (scenarios) ξ1,,ξK with probabilities p1,,pK, then the stochastic programming problem can be reformulated as one large deterministic optimization problem. In this case, the expectation is replaced by a weighted sum over all scenarios. However, the size of this problem grows linearly with the number of scenarios, leading to the "curse of dimensionality" and making this approach computationally intractable for a large number of scenarios[2].

Comparison with Robust Optimization

Stochastic programming is one of several approaches to optimization under uncertainty. Its key difference from robust optimization lies in the way uncertainty is modeled and the optimality criterion[4].

Comparison of Approaches to Optimization under Uncertainty
Criterion Stochastic Optimization Robust Optimization
Uncertainty representation Parameters are random variables with known probability distribution Parameters belong to a given uncertainty set, distribution not required
Optimality criterion Optimization of expected value of objective function Optimization for worst-case scenario (minimax)
Solution characteristics Policy optimal "on average," may be infeasible for rare scenarios Solution guaranteed to be feasible for all realizations; may be conservative

Examples

  • Newsvendor problem: A classic inventory management problem where a seller must decide what quantity of goods to purchase without knowing exact future demand. The solution balances between the risk of losses from surplus and the risk of lost profit from shortage.
  • Farmer problem: A farmer decides how many acres of land to allocate to different crops on a total area, not knowing the future weather that affects crop yields. After the weather becomes known, the farmer can take corrective actions (e.g., sell surpluses or purchase missing crops on the market)[5].

See also

References

  1. 1.0 1.1 1.2 1.3 Shapiro, A., Dentcheva, D., & Ruszczyński, A. (2009). Lectures on Stochastic Programming: Modeling and Theory. Society for Industrial and Applied Mathematics (SIAM).
  2. 2.0 2.1 2.2 2.3 Birge, J. R., & Louveaux, F. (2011). Introduction to Stochastic Programming (2nd ed.). Springer Science+Business Media.
  3. "Stochastic programming". Wikipedia. [1]
  4. Gorissen, B. L., Yanıkoğlu, İ., & den Hertog, D. (2015). A practical guide to robust optimization. Omega, 53, 124-137.
  5. Bricker, D. L. SLPwR: Farmer Problem. University of Iowa. [2]