The optimization problem types described in the Continuous Optimization section and the Discrete Optimization section implicitly assume that the data for the given problem are known accurately. For many actual problems, however, the problem data cannot be known accurately for a variety of reasons. The first reason is due to simple measurement error. The second and more fundamental reason is that some data represent information about the future (e. g., product demand or price for a future time period) and simply cannot be known with certainty.

*Stochastic Programming* and *Robust Optimization* are the most popular frameworks for explicitly incorporating uncertainty. *Stochastic programming* uses random variables with specified probability distributions to characterize the uncertainty and optimizes the expected value of the objective function. *Robust optimization* uses set membership to characterize the uncertainty and optimizes a worst possible case of the problem.