## The solver - PIPS

- Parallel optimization solver for stochastic programming problems with recourse.
- Uses an interior-point method and customized parallel linear algebra.
- Obtains the decomposition at the linear algebra layer by using a Schur-complement technique.
- MPI+OpenMP programming model. Supports GPUs for the accelaration of dense linear algebra.
- Ported to a variety of supercomputing platforms: IBM BG/P and BG/Q, Cray XE6, XK7 and XC30.

## Applications - Optimization of complex energy systems under uncertainty

- Stochastic formulation of these problems is used to mitigate the adverse effects of uncertainty in the production and transportation of electricity. Consumer demand and variability of wind power are examples of such uncertain factors.
- PIPS makes possible the simulation of large power networks and the study of the economics and reliabilty of the power in the presence of many uncertain wind scenarios. For the Illinois power grid we showed that adoption levels of 15-20% of wind power are possible.

## Large scale optimization. How big is large ?

- The largest sample average approximation problem we solved had approximatively 2 billion decision variables and about 2 billion constraints (both equality and inequality).
- The largest simulation was run on 131,072 cores (32,768 nodes, 32 racks) of Intrepid BlueGene/P (BGP) at Argonne.
- We solved a 12-hour horizon problem with more than 32,000 scenarios in under 1 hour on BG/P. We observed about 80% strong scaling efficiency from 8,192 nodes to 32,368 nodes. The plot on the right shows weak scaling efficiency.
- 24-hour horizon problem with thousands of scenarios can be also solved in less than 1 hour on newer architectures (Cray XE6, XK7 and XC30).

## Contributors