Disciplined Convex Stochastic Programming: A New Framework for Stochastic Optimization

We introduce disciplined convex stochastic programming (DCSP), a modeling framework that can significantly lower the barrier for modelers to specify and solve convex stochastic optimization problems, by allowing modelers to naturally express a wide variety of convex stochastic programs in a manner that reflects their underlying mathematical representation. DCSP allows modelers to express expectations of arbitrary expressions, partial optimizations, and chance constraints across a wide variety of convex optimization problem families (e.g., linear, quadratic, second order cone, and semidefinite programs). We illustrate DCSP's expressivity through a number of sample implementations of problems drawn from the operations research, finance, and machine learning literatures.

[1]  Stephen P. Boyd,et al.  Disciplined Convex Programming , 2006 .

[2]  Alexander Shapiro,et al.  Lectures on Stochastic Programming - Modeling and Theory, Second Edition , 2014, MOS-SIAM Series on Optimization.

[3]  Roger J.-B. Wets,et al.  Stochastic programming 84 , 1986 .

[4]  Antonio Alonso Ayuso,et al.  Introduction to Stochastic Programming , 2009 .

[5]  W. Marsden I and J , 2012 .

[6]  Stephen P. Boyd,et al.  Convex Optimization , 2004, Algorithms and Theory of Computation Handbook.

[7]  R. Wets,et al.  Stochastic programming , 1989 .

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

[9]  Johan Efberg,et al.  YALMIP : A toolbox for modeling and optimization in MATLAB , 2004 .

[10]  J. Spall STOCHASTIC OPTIMIZATION , 2002 .

[11]  R. Rockafellar,et al.  Conditional Value-at-Risk for General Loss Distributions , 2001 .

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

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

[14]  David L. Woodruff,et al.  PySP: modeling and solving stochastic programs in Python , 2012, Mathematical Programming Computation.

[15]  David Huard,et al.  PyMC: Bayesian Stochastic Modelling in Python. , 2010, Journal of statistical software.

[16]  Stephen P. Boyd,et al.  ECOS: An SOCP solver for embedded systems , 2013, 2013 European Control Conference (ECC).

[17]  Stanislav Uryasev,et al.  Conditional Value-at-Risk for General Loss Distributions , 2002 .

[18]  Alexes Butler,et al.  Microsoft Research Cambridge , 2013 .

[19]  Alexander Shapiro,et al.  Lectures on Stochastic Programming: Modeling and Theory , 2009 .

[20]  Stephen P. Boyd,et al.  Convex Optimization in Julia , 2014, 2014 First Workshop for High Performance Technical Computing in Dynamic Languages.

[21]  Matt J. Kusner,et al.  Classifier cascades and trees for minimizing feature evaluation cost , 2014, J. Mach. Learn. Res..

[22]  Soumyadip Ghosh,et al.  Two-stage stochastic optimization for optimal power flow under renewable generation uncertainty , 2014, ACM Trans. Model. Comput. Simul..

[23]  Vikash K. Mansinghka Church : a language for generative models with non-parametric memoization and approximate inference , 2008 .

[24]  George B. Dantzig,et al.  Linear Programming Under Uncertainty , 2004, Manag. Sci..

[25]  J. Lofberg,et al.  YALMIP : a toolbox for modeling and optimization in MATLAB , 2004, 2004 IEEE International Conference on Robotics and Automation (IEEE Cat. No.04CH37508).

[26]  Joshua B. Tenenbaum,et al.  Church: a language for generative models , 2008, UAI.

[27]  Stephen P. Boyd,et al.  CVXPY: A Python-Embedded Modeling Language for Convex Optimization , 2016, J. Mach. Learn. Res..

[28]  Chiranjib Bhattacharyya,et al.  Chance constrained uncertain classification via robust optimization , 2011, Math. Program..

[29]  Alexander Shapiro,et al.  Convex Approximations of Chance Constrained Programs , 2006, SIAM J. Optim..

[30]  A. Pfeffer,et al.  Figaro : An Object-Oriented Probabilistic Programming Language , 2009 .