Stochastic Programming

Home

Stochastic Programming

The mathematical programming types linear programming, mixed integer programming, nonlinear programming etc. 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 opent in een nieuw venster AIMMS Optimization Modeling Guide.

Benefits of Using AIMMS for Stochastic Programming

AIMMS offers support for generating a stochastic LP/MIP recourse model from any given deterministic model, without the need to reformulate the deterministic model. By only supplying additional attributes for selected parameters, variables and constraints, AIMMS can generate both a deterministic and recourse model from the same formulation. Various user adaptable templates for generating a scenario tree and the corresponding stochastic input data for the recourse model are available in the form of a system module which can be imported into any AIMMS application.

The complete stochastic programming support set-up within AIMMS allows you to solve mathematical models with uncertainty to optimality and create robust solutions without changing the actual structure of the models.

For a full description of the stochastic programming support in AIMMS see opent in een nieuw venster Chapter 19 in the Language Reference.

Stochastic Programming Solvers

To solve the recourse model, AIMMS can generate and solve the corresponding deterministic equivalent.  In addition an algorithm to solve stochastic models using a stochastic Benders approach and a module to visualize stochastic scenario trees is included. The Benders decomposition algorithm can be faster for stochastic models than solving the deterministic equivalent with an LP solver. Our open implementation allows modelers to fine-tune it to their specific stochastic model and to use advanced features of the GMP library to solve multiple sub-problems in parallel, which may drastically reduce the total solution time.

Stochastic Programming Examples

Stochastic Programming

This example illustrates AIMMS capabilities for stochastic programming support. Starting from an existing deterministic LP or MIP model, AIMMS can create a stochastic model automatically, without the need to reformulate constraint definitions. One only needs to provide a scenario tree and stochastic input data as well as to assign decisions to different stages. Once these elements have been specified, any changes made in the deterministic formulation propagate automatically to its stochastic counterpart.

Download the opent in een nieuw venster Stochastic Programming Example

Power System Expansion

This example implements a power system expansion model with uncertain electricity demand, covering a single time period. The problem is to determine new power plant design capacities in order to meet an increase in electricity demand. Yet, the future demand is uncertain and it is modeled by means of several demand scenarios. This example illustrates the AIMMS support for handling uncertainty in input data through such methods as scenario analysis and stochastic programming. For a full description of the model see opent in een nieuw venster Chapter 16 in the Optimization Modeling Guide.

Download the opent in een nieuw venster Power System Expansion Example

Inventory Control

This example emphasizes on a multi-period inventory control problem with uncertain demand.  The volume of production is decided before the actual demand is known at the beginning of each period.  The objective of this example is to minimize overall costs to obtain maximum profit.  This type of problem can be categorized as a multi-stage stochastic optimization model. For a full description of the model see opent in een nieuw venster Chapter 17 in the Optimization Modeling Guide.

Download the opent in een nieuw venster Inventory Control Example

Free Trial License

Download a free trial license of AIMMS to experience the benefits of using AIMMS as your linear programming software.

 Customer Quotes  “Thanks to the AIMMS GUI design tool, the flexible interface that is now used by many forest planners makes it easy to concentrate on what's important - identifying forest management problems and developing strategies.”
Rob Davis, Ontario Ministry of Natural Resources, Ontario, Canada - Forestry Specialist

 Login  to update your profile.

Login