Mathematical programming has proven to be an effective tool for improved design and operation of complex systems, however, engineering and scientific needs often outstrip the capabilities of off-the-shelf tools. This is especially true for large-scale formulations arising in stochastic programming and discretized systems, as well as real-time applications where time-critical performance is required. This presentation will provide an overview of our work in high-performance engineering optimization, discussing key applications, advanced parallel algorithms, and requirements for adoption of the software tools.
We have partnered with both industry and federal agencies to develop a suite of open- source tools for protecting drinking water distribution systems in the event of accidental or intentional contamination. In this presentation, I will focus on the model development, problem formulation, and solution of a large-scale inverse problem to solve for the source of a contamination event. This problem is ill-posed because of limited measurement information, and efficient solution of the large-scale problem required development of a new water quality modeling framework that provides an explicit algebraic model based on a Lagrangian hydraulic procedure. I will present results that show successful inversion is possible in a real-time context. Furthermore, this approach can be coupled with an optimal manual sampling strategy to increase effectiveness with few sensors. These tools are included in a software package we developed for the Public Utilities Board in Singapore. As well, this algorithm, along with several other tools has been released as part of the Water Security Toolkit, an open-source project available from the Environmental Protection Agency. I will close this section of the presentation with a brief overview of other applications in the group, including optimal gas detector placement, contingency- constrained AC optimal power flow, and parameter estimation in infectious disease spread.
For many of these applications, problems can become prohibitively large for a single workstation. Furthermore, computer chip manufacturers are no longer focusing on increasing clock speeds, and the “free” performance improvements that we have historically enjoyed will no longer be available unless we develop algorithms that are capable of utilizing modern, emerging parallel architectures. Our work in this area focuses on the development of parallel interior-point methods either by decomposition of the linear algebra by exploiting problem specific or through the use of parallel iterative linear solvers. In particular, I will present a hybrid approach for structural decomposition of nonlinear stochastic programming problems where the Schur-complement is never explicitly formed, but rather is solved iteratively using a preconditioned conjugate gradient method. I will show both weak and strong scaling results that demonstrate excellent parallel efficiency, even with a large number of first-stage variables. As well, I will present an augmented Lagrangian algorithm implemented with CUDA for parallel solution of NLP problems on graphics processing units.
Successful adoption of these advanced optimization formulations and algorithms requires reliable, flexible software implementations, amenable licenses, and interfaces to appropriate modeling environments. I will close this presentation with a brief overview other open-source projects and our work on modeling environments, including Pyomo, a python-based optimization modeling language.