PySP
swMATH ID:  4921 
Software Authors:  Watson, JeanPaul; Woodruff, David L.; Hart, William E. 
Description:  PySP: modeling and solving stochastic programs in Python. Although stochastic programming is a powerful tool for modeling decisionmaking under uncertainty, various impediments have historically prevented its widespread use. One factor involves the ability of nonspecialists to easily express stochastic programming problems as extensions of their deterministic counterparts, which are typically formulated first. A second factor relates to the difficulty of solving stochastic programming models, particularly in the mixedinteger, nonlinear, and/or multistage cases. Intricate, configurable, and parallel decomposition strategies are frequently required to achieve tractable runtimes on largescale problems. We simultaneously address both of these factors in our PySP software package, which is part of the Coopr opensource Python repository for optimization; the latter is distributed as part of IBM’s COINOR repository. To formulate a stochastic program in PySP, the user specifies both the deterministic base model (supporting linear, nonlinear, and mixedinteger components) and the scenario tree model (defining the problem stages and the nature of uncertain parameters) in the Pyomo opensource algebraic modeling language. Given these two models, PySP provides two paths for solution of the corresponding stochastic program. The first alternative involves passing an extensive form to a standard deterministic solver. For more complex stochastic programs, we provide an implementation of Rockafellar and Wets’ Progressive Hedging algorithm. Our particular focus is on the use of Progressive Hedging as an effective heuristic for obtaining approximate solutions to multistage stochastic programs. By leveraging the combination of a highlevel programming language (Python) and the embedding of the base deterministic model in that language (Pyomo), we are able to provide completely generic and highly configurable solver implementations. PySP has been used by a number of research groups, including our own, to rapidly prototype and solve difficult stochastic programming problems. 
Homepage:  https://pypi.python.org/pypi/coopr.pysp 
Related Software:  Pyomo; CPLEX; AMPL; Gurobi; DSP; AIMMS; JuMP; Julia; XPRESS; SIPLIB; ddsip; Python; COOPR; GLPK; SUTIL; SMPS reader; ConicBundle; SCIP; GAMS; OpenOpt 
Cited in:  25 Publications 
Standard Articles
2 Publications describing the Software, including 2 Publications in zbMATH  Year 

PySP: modeling and solving stochastic programs in Python. Zbl 1275.90049 Watson, JeanPaul; Woodruff, David L.; Hart, William E. 
2012

Pyomo – optimization modeling in Python. Zbl 1233.90002 Hart, William E.; Laird, Carl; Watson, JeanPaul; Woodruff, David L. 
2012

all
top 5
Cited by 58 Authors
all
top 5
Cited in 15 Serials
all
top 5