A Distributed Interior-Point KKT Solver for Multistage Stochastic Optimization

Multistage stochastic optimization leads to NLPs over scenario trees that become extremely large when many time stages or fine discretizations of the probability space are required. Interior-point methods are well suited for these problems if the arising huge, structured KKT systems can be solved efficiently, for instance, with a large scenario tree but a moderate number of variables per node. For this setting we develop a distributed implementation based on data parallelism in a depth-first distribution of the scenario tree over the processes. Our theoretical analysis predicts very low memory and communication overheads. Detailed computational experiments confirm this prediction and demonstrate the overall performance of the algorithm. We solve multistage stochastic quadratic programs with up to 400 × 106 variables and 8.59 × 109 KKT matrix entries or 136 × 106 variables and 12.6 × 109 entries on a compute cluster with 384 GB RAM. Data are available at https://doi.org/10.1287/ijoc.2017.0748.

[1]  Thomas Rauber,et al.  Parallel Programming: for Multicore and Cluster Systems , 2010, Parallel Programming, 3rd Ed..

[2]  Marc C. Steinbach,et al.  Hierarchical Sparsity in Multistage Stochastic Programs , 2001 .

[3]  Jörgen Blomvall,et al.  A Riccati-based primal interior point solver for multistage stochastic programming , 2002, Eur. J. Oper. Res..

[4]  Jacek Gondzio,et al.  Solving non-linear portfolio optimization problems with the primal-dual interior point method , 2007, Eur. J. Oper. Res..

[5]  Sanjay Mehrotra,et al.  On the Implementation of a Primal-Dual Interior Point Method , 1992, SIAM J. Optim..

[6]  Thomas Rauber,et al.  Parallel Programming , 2013, Springer Berlin Heidelberg.

[7]  Mihai Anitescu,et al.  The parallel solution of dense saddle-point linear systems arising in stochastic programming , 2012, Optim. Methods Softw..

[8]  Marc C. Steinbach,et al.  Markowitz Revisited: Mean-Variance Models in Financial Portfolio Analysis , 2001, SIAM Rev..

[9]  Charles L. Lawson,et al.  Basic Linear Algebra Subprograms for Fortran Usage , 1979, TOMS.

[10]  Jörgen Blomvall A multistage stochastic programming algorithm suitable for parallel computing , 2003, Parallel Comput..

[11]  Lorenz T. Biegler,et al.  On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming , 2006, Math. Program..

[12]  Andreas Grothey,et al.  Financial Applications: Parallel Portfolio Optimization , 2009 .

[13]  Jacek Gondzio,et al.  Exploiting structure in parallel implementation of interior point methods for optimization , 2009, Comput. Manag. Sci..

[14]  Karl Frauendorfer,et al.  Portfolio Selection Using Multi-Stage Stochastic Programming , 1999 .

[15]  Robert J. Vanderbei,et al.  An Interior-Point Algorithm for Nonconvex Nonlinear Programming , 1999, Comput. Optim. Appl..

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

[17]  Martin Schmidt,et al.  A generic interior-point framework for nonsmooth and complementarity constrained nonlinear optimization , 2013 .

[18]  Jens Hübner Distributed algorithms for nonlinear tree-sparse problems , 2016 .

[19]  Jacek Gondzio,et al.  Direct Solution of Linear Systems of Size 109 Arising in Optimization with Interior Point Methods , 2005, PPAM.

[20]  Marc C. Steinbach,et al.  Tree-sparse convex programs , 2003, Math. Methods Oper. Res..

[21]  D K Smith,et al.  Numerical Optimization , 2001, J. Oper. Res. Soc..

[22]  Jacek Gondzio,et al.  Parallel interior-point solver for structured quadratic programs: Application to financial planning problems , 2007, Ann. Oper. Res..

[23]  Ed Anderson,et al.  LAPACK Users' Guide , 1995 .