# Stochastic Programming

Deterministic vs. stochastic models

The mathematical programming types discussed so far have a common
assumption that all the input data used in the formulation of the
mathematical program is known with certainty. This is known as “decision
making under certainty,” and the corresponding models are called
*deterministic* models. Models that account for uncertainty in the input
data are called *stochastic* models, and the theory and techniques used
to solve stochastic models is commonly referred to as stochastic
programming. You can find an introduction to stochastic programming in
Chapters 16 and 17 of the AIMMS Modeling Guide.
A more in-depth discussion of stochastic programming and
its solution methods can be found, for instance, in [BL97] and
[KM05].

Stochastic programming in AIMMS

In this chapter, you will find a description of the facilities built
into AIMMS for creating and solving stochastic models. From any existing
deterministic linear (LP) or mixed-integer (MIP) model, AIMMS is able to
automatically create a stochastic model as well, *without the need for
you to reformulate any of the constraint definitions*. The only steps
necessary to create a stochastic model are

to indicate which parameters and variables in your deterministic model are to become stochastic in a declarative manner, and

to provide the scenario tree and the stochastic input data.

Single formulation

Being able to generate both a deterministic and stochastic model from an identical symbolic formulation allows for any changes you make in the deterministic formulation to automatically propagate to the stochastic model. This significantly reduces the effort involved with maintaining a stochastic model associated with a given deterministic model.

This chapter

Basic Concepts discusses a number of basic concepts in stochastic programming. These provide a common understanding necessary for the introduction of the stochastic programming facilities of AIMMS discussed in Stochastic Parameters and Variables. Scenario Generation describes the facilities available in AIMMS for the generation of a scenario tree, while Solving Stochastic Models discusses the steps necessary to solve a stochastic model in AIMMS.