(193h) Infiniteexamodels.Jl: Accelerating Infinite-Dimensional Optimization Problems on Cpus and GPUs
AIChE Annual Meeting
2024
2024 AIChE Annual Meeting
Computing and Systems Technology Division
10: Software Tools and Implementations for Process Systems Engineering
Monday, October 28, 2024 - 5:36pm to 5:54pm
The discretized formulations produced by these frameworks are often cast as large-scale nonlinear programs, potentially involving millions of variables which can surpass the capabilities of existing algorithms and software tools. Discretized InfiniteOpt problems typically exhibit a highly recurrent structure which is not exploited by most existing modeling environments. For example, a reaction kinetics equality constraint can be enforced over thousands of random scenarios [5]. Leveraging this inherent structure has great potential to enable efficient (parallelizable) solution routines for discretized InfiniteOpt problems. For instance, exploiting the recurrent structure can significantly reduce the computational burden of expensive automatic-differentiation (AD) routines on complicated nonlinear expressions and enable the use of solution routines that rely on GPUs.
In [6], Dr. Shin and colleagues present a single-instruction, multiple-data (SIMD) abstraction for nonlinear programs (NLPs) which is implemented in the open-source Julia package ExaModels.jl. Contrary to general purpose algebraic modeling languages like JuMP.jl [7], Pyomo [8], and Gravity [9] which do not save repeated structure, ExaModels.jl preserves the parallelizable structure in the model, and in turn, exploits that structure for more efficient computations on multi-threaded CPUs or GPU accelerators. The authors in [6] demonstrate how ExaModels.jl leverages the repeated structure in large-scale AC optimal power flow (ACOPF) problems to speed up AD by 1 to 2 orders-of-magnitude relative to JuMP.jl. Moreover, an order-of-magnitude speed on the overall solution time for ACOPF problems can be achieved on GPUs using ExaModels.jl and MadNLP.jl in contrast to state-of-the-art CPU solvers [6]. The utility of these modeling/solution approaches has not yet been investigated on discretized InfiniteOpt problems.
Thus, we present InfiniteExaModels.jl [10], as a new backend for InfiniteOpt.jl to automatically discretize InfiniteOpt problems into the SIMD-NLP representation used by ExaModels.jl. This backend facilitates an intuitive modeling environment for InfiniteOpt problems that gives ExaModels.jl direct access to the repeated structures exhibited by discretized InfiniteOpt models which enable highly efficient AD routines that are parallelizable and amenable for MadNLP.jlâs state-of-the-art GPU NLP solver. This framework is general and can significantly accelerate the solution of nonlinear InfiniteOpt models across an array of applications.
References
[1] J. L. Pulsipher, W. Zhang, T. J. Hongisto, V. M. Zavala, 2022, A unifying modeling abstraction for infinite-dimensional optimization, Computers & Chemical Engineering 156, 107567
[2] L. T. Biegler, 2010, Nonlinear programming: concepts, algorithms, and applications to chemical processes, SIAM, Philadelphia, USA
[3] B. Nicholson, J. D. Siirola, J.-P. Watson, V. M. Zavala, L. T. Biegler, 2018, pyomo. dae: A modeling and automatic discretization framework for optimization with differential and algebraic equations, Mathematical Programming Computation 10, 187â223
[4] L. D. Beal, D. C. Hill, R. A. Martin, J. D. Hedengren, 2018, Gekko optimization suite, Processes 6 (8), 106
[5] W. Chen, L. T. Biegler, S. G. Muñoz, 2016, An approach for simultaneous estimation of reaction kinetics and curve resolution from process and spectral data, Journal of Chemometrics 30 (9), 506â522
[6] S. Shin, F. Pacaud, M. Anitescu, 2023, Accelerating optimal power flow with gpus: Simd abstraction of nonlinear programs and condensed-space interior-point methods, arXiv preprint arXiv:2307.16830
[7] M. Lubin, O. Dowson, J. D. Garcia, J. Huchette, B. Legat, J. P. Vielma, 2023, Jump 1.0: recent improvements to a modeling language for mathematical optimization, Mathematical Programming Computation, 1â9
[8] W. E. Hart, C. D. Laird, J.-P. Watson, D. L. Woodruff, G. A. Hackebeil, B. L. Nicholson, J. D. Siirola, et al., 2017, Pyomo-optimization modeling in python, Vol. 67, Springer
[9] H. Hijazi, G. Wang, C. Coffrin, 2018, Gravity: A mathematical modeling language for optimization and machine learning, NIPS 2018 Workshop MLOSS, Montreal, Canada
[10] J. L. Pulsipher, S. Shin, 2024, Scalable Modeling of Infinite-Dimensional Nonlinear Programs with InfiniteExaModels.jl, ESCAPE-PSE 2024, Florence, Italy