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

  • Mustafa Atlihan
  • Kevin Cunningham
  • Gautier Laude
  • Linus Schrage
Part of the International Series in Operations Research & Management Science book series (ISOR, volume 148)


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.”


Optimal Policy Stochastic Programming Core Model Latin Hypercube Sampling Strike Price 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Birge J, Louveaux F (1987) Introduction to stochastic programming. Springer, New York, NYGoogle Scholar
  2. 2.
    Bisschop J (2006) AIMMS-optimization modeling. Lulu Press, Haarlem, The NetherlandsGoogle Scholar
  3. 3.
    Brooke A, Kendrick D, Meeraus A (1992) GAMS, a user’s guide. The Scientific Press, Redwood City, CAGoogle Scholar
  4. 4.
    Buchanan C, McKinnon K, Skondras G (2001) The recursive definition of stochastic linear programming problems within an algebraic modeling language. Annals of Operations Research 104(1):15–32CrossRefGoogle Scholar
  5. 5.
    Carino D, Ziemba W (1998) Formulation of the Russell–Yasuda Kasai financial planning model. Operations Research 46:433–449CrossRefGoogle Scholar
  6. 6.
    Dantzig G (1963) Linear programming and extensions. Princeton University Press, Princeton, NJGoogle Scholar
  7. 7.
    Entriken R (2001) Language constructs for modeling stochastic linear programs. Annals of Operations Research 104(1):49–66CrossRefGoogle Scholar
  8. 8.
    Eppen G, Martin R, Schrage L (1989) A scenario approach to capacity planning. Operations Research 37(4):517–527CrossRefGoogle Scholar
  9. 9.
    Fourer R, Lopes L (2009) StAMPL: A filtration-oriented modeling tool for multistage stochastic recourse problems. INFORMS Journal of Computing 21(2):242–256CrossRefGoogle Scholar
  10. 10.
    Gassmann HI, Ireland AM (1996) On the formulation of stochastic linear programs using algebraic modeling languages. Annals of Operations Research 64:83–112CrossRefGoogle Scholar
  11. 11.
    Gaustad G, Li P, Kirchain R (2007) Modeling methods for managing raw material compositional uncertainty in alloy production. Resources Conservation & Recycling 52:180–207CrossRefGoogle Scholar
  12. 12.
    Geoffrion AM (1976) The purpose of mathematical programming is insight, not numbers. Interfaces 7(1):81–92CrossRefGoogle Scholar
  13. 13.
    Geoffrion AM (1989) The formal aspects of structured modeling. Operations Research 37(1):30–51CrossRefGoogle Scholar
  14. 14.
    Geoffrion AM (1992) Indexing in modeling languages for mathematical programming. Management Science 38(3):325–344CrossRefGoogle Scholar
  15. 15.
    Infanger G (1999) GAMS/DECIS user’s guide.
  16. 16.
    Kall P, Mayer J (1996) An interactive model management system for stochastic linear programs. Mathematical Programming 75:221–240Google Scholar
  17. 17.
    Kall P, Mayer J (2005) Stochastic linear programming: Models, theory, and computation. SpringerGoogle Scholar
  18. 18.
    Knowles T, Wirick J (1988) Peoples gas light and coke company plans gas supply. Interfaces 28(5):1–12CrossRefGoogle Scholar
  19. 19.
    Kristjansson B (2005) MPL user manual. Maximal Software, Arlington, VAGoogle Scholar
  20. 20.
    L’Ecuyer P, Simard R, Chen E, Kelton W (2002) An object-oriented random-number package with many long streams and substreams. Operations Research 50(6):1073–1075CrossRefGoogle Scholar
  21. 21.
    Messina E, Mitra G (1997) Modelling and analysis of multistage stochastic programming problems: A software environment. European Journal of Operations Research 101:343–359CrossRefGoogle Scholar
  22. 22.
    Pereira M, Pinto L (1991) Multi-stage stochastic optimization applied to energy planning. Mathematical Programming 52(2):359–375CrossRefGoogle Scholar
  23. 23.
    Ruszczynski A, Shapiro A (2003) Stochastic programming. Handbooks in operations research and management science, vol 10. Elsevier, AmsterdamGoogle Scholar
  24. 24.
    Valente C, Mitra G, Sadki M, Fourer R (2009) Extending algebraic modeling languages for stochastic programming. INFORMS Journal of Computing 21(1):107–122CrossRefGoogle Scholar
  25. 25.
    Wallace SW, Ziemba WT (2005) Applications of stochastic programming. MPS-SIAM Series on Optimization, Philadelphia, PAGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  • Mustafa Atlihan
    • 1
  • Kevin Cunningham
    • 1
  • Gautier Laude
    • 1
  • Linus Schrage
    • 2
  1. 1.LINDO Systems Inc.ChicagoUSA
  2. 2.University of ChicagoChicagoUSA

Personalised recommendations