PSEcommunity.org readers may be interested in the OMLT (Optimization & Machine Learning Toolkit) open-source python package. Please see the below message sent from the team:
We are writing to introduce the OMLT (Optimization & Machine Learning Toolkit) open-source python package, available at https://github.com/cog-imperial/OMLT and on pypi (pip install omlt).
OMLT incorporates trained machine learning models (dense/convolutional neural networks and gradient-boosted trees) into pyomo optimization problems. Models can be input using ONNX, thereby implicitly supporting PyTorch, TensorFlow, etc. Moreover, many formulations are provided: reduced-space vs full-space, big-M vs other mixed-integer encodings, etc.
Our example jupyter notebooks include neural network verification, autothermal reformer optimization, and Bayesian optimization.
A preprint describing the package is available at https://arxiv.org/abs/2202.02414. Please do not hesitate to contact us with any questions!
The OMLT Team
(Francesco Ceccon, Jordan Jalving, Joshua Haddad, Alexander Thebelt, Calvin Tsay, Carl Laird, Ruth Misener)