Software & Test Sets

This page was originally compiled by Shabbir Ahmed.

Software

The following is a brief description of some of the available stochastic programming software. The list is in no way complete or accurate. Please inform the webmaster of any deletions or discrepancies.

Stochastic Modeling Interface (SMI)

  • Description: SMI from COIN-OR provides various utilities for multi-stage stochastic programming model management.
  • Implemented utilities: The current release implements a multiperiod scenario stochastic programming object, supports an SMPS file reader method, a direct scenario generation method, a method to generate a deterministic equivalent, and several methods to get solution data by scenario.
  • Platform: Linux using g++ V3.1.1 and Windows using Microsoft Visual C++ V6.
  • Contact: Alan J. King.

SLP-IOR

  • Description: An interactive model management system for two-stage (multistage) recourse and chance constrained models. Handles algebraic structure and scenario generation. Menu driven problem input or through SMPS files.
  • Implemented algorithms: Benders, Regularized and Stochastic Decomposition, Discrete Approximation, Interior point methods, Supporting hyperplane, Central cutting plane, etc.
  • Platform: Windows, DOS.
  • Requirement: (GAMS).
  • Contact: Prof. Peter Kall or Dr. Janos Mayer, Inst. for Operations Research, University of Zurich, Switzerland.

MSLiP

  • Description: FORTRAN code for multistage stochastic programming. Supports an arbitrary number of time periods and various types of random structures for the input data. Problem input in SMPS format.
  • Implemented algorithms: Nested benders decomposition
  • Platform: Portable on Unix, DOS, Macintosh, VMAX.
  • Requirement: stand alone
  • Availability: The code is available to universities and academic institutions for reseach and teaching purposes. A version of the code is also running at the NEOS solver, see below.
  • Contact: Dr. H.I. Gassmann, Professor, School of Business Administration, Dalhousie University Halifax, Nova Scotia Canada. Email: Horand.Gassmann@dal.ca

NEOS Solver

  • Description: Web based stochastic programming solvers. Accepts electronic problem submission in SMPS format.
  • Implemented algorithms: Mehrotra's Augmented system LP solver and MSLiP.
  • Platform: Web based.
  • More information: The NEOS server

SPInE

  • Description: An integrated modelling and solver system based on extended language constructs designed to facilitate the formulation of scenario based recourse problems (two-stage and multistage). Produces model instances in SMPS format and integrates a stochastic solver based on Benders decomposition. Available also as an add-in to the MPL modelling system.
  • Implemented algorithms: Benders decomposition, deterministic equivalent solved via Interior Point Method or Sparse Simplex.
  • Platform: Windows.
  • Requirement: (MPL or OptiMax component library).
  • More information: Technical Report on SPInE.
  • Contact: Prof. Gautam Mitra, Mr Patrick Valente, or Dr Chandra A. Poojari, Centre for the Analysis of Risk and Optimisation Modelling Application (CARISMA), Brunel University, United Kingdom.

BNBS

  • Description: An implementation of the nested Benders algorithm, written in C. Problem input is in the SMPS-format, although the program only supports the INDEP, BLOCKS, and SCENARIOS tags in the stoch-file. The program supports an arbitrary number of time periods and time periods may be aggregated arbitrarily. The number of subproblems which contribute to one cut in the algorithm may be set arbitrarily, in effect implementing single-cut, multi-cut and anything in between.
  • Implemented algorithms: Nested Benders decomposition
  • Platform: Tested on Sun Solaris, Linux and windows (via mingw), but should be portable across any UNIX. Features such as timing and memory information is not available on all platforms
  • Requirements: Flex and bison are required for compilation. An lp solver is needed, interfaces for CPLEX 6.5 GLPK 4.0 and SOPLEX 1.2.1 are implemented, although the SOPLEX interface does not work for all problems.
  • Availability: The code may be used for research and teaching at academic institutions, by staff or student. Note that an LP-solver must be obtained separately, and that the supported solvers may have other conditions for their use.
  • Contact: Fredrik Altenstedt, Department of Mathematics, Chalmers University of Technology, S-412 96 Gothenburg, Sweden.

COIN-SMI

  • Description: Stochastic Modeling Interface for COIN-OR is the stochastic programming project within COIN-OR. COIN-OR stands for COmputation INfrastructure for Operations Research. It is an initiative to spur the development of open-source software for the Operations Research Community.
  • Implemented algorithms: Currently, COIN-SMI implements methods that define core problems with arbitrary partitioning of rows and columns into multiple periods, add scenarios by replacing core values or defining new entries, and form the deterministic equivalent for solution by any Open Solver Interface (OSI) compatible LP solvers. It can handle multiple core files.
    In time we hope to develop an SMPS reader, infrastructure for interfacing to modeling languages, and a variety of specialized stochastic programming solvers.
  • Platform: The software has been tested on Microsoft VC++ version 6.0 and Linux g++ version 3.0.
  • Availability: COIN-SMI is open source under the Common Public License. Anyone can use the code for any purpose. Contributions are definitely encouraged!
  • Contact: For details, newsgroups, downloads, related projects on COIN, information on how to participate, etc, please visit the COIN-OR website.


Data Formats

SMPS, a standard input format for multiperiod stochastic programs based on MPS, was introduced in 1987 by Birge et al.. See The SMPS format for stochastic linear programs for a current description, and the corresponding Fortran 90 implementation SMPS reader by Gus Gassmann.

Test Sets

Links updated on November 14th 2007 (with help from Stefan Vigerske).