Challenges in Adding a Stochastic Programming/Scenario Planning Capability to a General Purpose Optimization Modeling System

We describe the stochastic programming capabilities that have recently been added to LINDO application programming interface optimization library, as well as how these stochastic programming capabilities are presented to users in the modeling systems: What’sBest! and LINGO. Stochastic programming, which might also be suggestively called Scenario Planning, is an approach for solving problems of multi-stage decision making under uncertainty. In simplest form stochastic programming problems are of the form: we make a decision, then “nature” makes a random decision, then we make a decision, etc. A notable feature of the implementation is the generality. A model may have integer variables in any stage; constraints may be linear or nonlinear. Achieving these goals is a challenge because adding the probabilistic feature makes already complex deterministic optimization problems even more complex, and stochastic programming problems can be difficult to solve, with a computational effort that may increase exponentially with the number of stages in the “we, nature” sequence of events. An interesting design decision for our particular case is where a particular computational capability should reside, in the front end that is seen by the user or in the computational engine that does the “heavy computational lifting.”

[1]  Peter Kall,et al.  Stochastic Linear Programming , 1975 .

[2]  David Kendrick,et al.  GAMS, a user's guide , 1988, SGNM.

[3]  George B. Dantzig,et al.  Linear programming and extensions , 1965 .

[4]  Gautam Mitra,et al.  Extending Algebraic Modelling Languages for Stochastic Programming , 2009, INFORMS J. Comput..

[5]  Peter Kall,et al.  Stochastic Programming , 1995 .

[6]  Peter Kall,et al.  SLP-IOR: An interactive model management system for stochastic linear programs , 1996, Math. Program..

[7]  K. I. M. McKinnon,et al.  The Recursive Definition of Stochastic Linear Programming Problems within an Algebraic Modeling Language , 2001, Ann. Oper. Res..

[8]  Arthur M. Geoffrion The Formal Aspects of Structured Modeling , 1989, Oper. Res..

[9]  William T. Ziemba,et al.  Applications of Stochastic Programming , 2005 .

[10]  Randolph Kirchain,et al.  Modeling methods for managing raw material compositional uncertainty in alloy production , 2007 .

[11]  John R. Birge,et al.  Introduction to Stochastic Programming , 1997 .

[12]  Linus Schrage,et al.  OR Practice - A Scenario Approach to Capacity Planning , 1989, Oper. Res..

[13]  George L. Nemhauser,et al.  Handbooks in operations research and management science , 1989 .

[14]  Thomas W. Knowles,et al.  The Peoples Gas Light and Coke Company Plans Gas Supply , 1998, Interfaces.

[15]  Arthur M. Geoffrion,et al.  The Purpose of Mathematical Programming is Insight, Not Numbers , 1976 .

[16]  Pierre L'Ecuyer,et al.  An Object-Oriented Random-Number Package with Many Long Streams and Substreams , 2002, Oper. Res..

[17]  Gautam Mitra,et al.  Modelling and analysis of multistage stochastic programming problems: A software environment☆ , 1997 .

[18]  Robert Fourer,et al.  StAMPL: A Filtration-Oriented Modeling Tool for Multistage Stochastic Recourse Problems , 2009, INFORMS J. Comput..

[19]  William T. Ziemba,et al.  Formulation of the Russell-Yasuda Kasai Financial Planning Model , 1998, Oper. Res..

[20]  Robert Entriken Language Constructs for Modeling Stochastic Linear Programs , 2001, Ann. Oper. Res..

[21]  M. V. F. Pereira,et al.  Multi-stage stochastic optimization applied to energy planning , 1991, Math. Program..

[22]  Johannes Bisschop,et al.  AIMMS - Optimization Modeling , 2006 .

[23]  A. M. Ireland,et al.  On the formulation of stochastic linear programs using algebraic modelling languages , 1996, Ann. Oper. Res..

[24]  Arthur M. Geoffrion Indexing in Modeling Languages for Mathematical Programming , 1992 .