Computational Optimization and Applications

, Volume 52, Issue 2, pp 315-344

First online:

A preconditioning technique for Schur complement systems arising in stochastic optimization

  • Cosmin G. PetraAffiliated withMathematics and Computer Science Division, Argonne National Laboratory
  • , Mihai AnitescuAffiliated withMathematics and Computer Science Division, Argonne National Laboratory Email author 

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


Deterministic sample average approximations of stochastic programming problems with recourse are suitable for a scenario-based parallelization. In this paper the parallelization is obtained by using an interior-point method and a Schur complement mechanism for the interior-point linear systems. However, the direct linear solves involving the dense Schur complement matrix are expensive, and adversely affect the scalability of this approach. We address this issue by proposing a stochastic preconditioner for the Schur complement matrix and by using Krylov iterative methods for the solution of the dense linear systems. The stochastic preconditioner is built based on a subset of existing scenarios and can be assembled and factorized on a separate process before the computation of the Schur complement matrix finishes on the remaining processes. The expensive factorization of the Schur complement is removed from the parallel execution flow and the scaling of the optimization solver is considerably improved with this approach. The spectral analysis indicates an exponentially fast convergence in probability to 1 of the eigenvalues of the preconditioned matrix with the number of scenarios incorporated in the preconditioner. Numerical experiments performed on the relaxation of a unit commitment problem show good performance, in terms of both the accuracy of the solution and the execution time.


Stochastic programming Saddle-point preconditioning Krylov methods Interior-point method Sample average approximations Parallel computing