MathOptAI.jl: Embed trained machine learning predictors into JuMP models
Oscar Dowson, Robert B Parker, Russel Bent
Code Available — Be the first to reproduce this paper.
ReproduceCode
- github.com/lanl-ansi/mathoptai.jlOfficialIn papernone★ 69
Abstract
We present MathOptAI.jl, an open-source Julia library for embedding trained machine learning predictors into a JuMP model. MathOptAI.jl can embed a wide variety of neural networks, decision trees, and Gaussian Processes into a larger mathematical optimization model. In addition to interfacing a range of Julia-based machine learning libraries such as Lux.jl and Flux.jl, MathOptAI.jl uses Julia's Python interface to provide support for PyTorch models. When the PyTorch support is combined with MathOptAI.jl's gray-box formulation, the function, Jacobian, and Hessian evaluations associated with the PyTorch model are offloaded to the GPU in Python, while the rest of the nonlinear oracles are evaluated on the CPU in Julia. is available at https://github.com/lanl-ansi/MathOptAI.jl under a BSD-3 license.