The mathematical programming models, such as linear programming, network flow programming and integer programming generally neglect the effects of uncertainty and assume that the results of decisions are predictable and deterministic. This abstraction of reality allows large and complex decision problems to be modeled and solved using powerful computational methods.
Stochastic programming explicitly recognizes uncertainty by using random variables for some aspects of the problem. With probability distributions assigned to the random variables, an expression can be written for the expected value of the objective to be optimized. Then a variety of computational methods can be used to maximize or minimize the expected value. This page provides a brief introduction to the modeling process.