Python package for representing ML models as Pyomo optimization formulations
Top 84.8% on sourcepulse
OMLT (Optimization and Machine Learning Toolkit) enables the integration of trained machine learning models, specifically neural networks and gradient-boosted trees, into Pyomo optimization frameworks. It targets researchers and engineers who need to embed predictive models within formal optimization problems, allowing for hybrid optimization and simulation workflows.
How It Works
OMLT translates ML models into mathematical formulations suitable for optimization solvers. It supports various representations, including full-space, reduced-space, and MILP formulations for neural networks, and interfaces with Keras and ONNX models. This approach allows for the rigorous analysis and optimization of systems that incorporate complex ML components, leveraging the power of established optimization solvers.
Quick Start & Requirements
pip install omlt
Highlighted Details
Maintenance & Community
The project has contributions from researchers at Imperial College London and Sandia National Laboratories, with funding from various institutions and industry partners (BASF SE). Development tasks are managed using just
.
Licensing & Compatibility
The license is not explicitly stated in the README. Compatibility for commercial use or closed-source linking would require clarification of the license.
Limitations & Caveats
The README does not specify the project's license, which is crucial for determining commercial use and compatibility with closed-source projects. Support for specific ML frameworks beyond Keras and ONNX is not detailed.
4 months ago
1 day