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
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
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
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
Chapter 16 in the Optimization Modeling Guide.
Download the
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
Chapter 17 in the Optimization Modeling Guide.
Download the
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.

E-mail this page
Request WebMeeting