Similar Software

This code base was heavily inspired by Gurobi-MachineLearning. The API and general architecture was made to match, so that users could easily transfer between one to the other. If there is a feature missing here, or you are looking for alternatives, then give it a try!

Another similar piece of software is OMLT (Ceccon et al. [CJH+22]). As opposed to PySCIPOPT-ML, OMLT is much more general. It uses general modelling frameworks for both the MIP side and ML side as opposed to using a specific MIP solver (SCIP) and direct interfaces to ML frameworks. If interested particularly in non-standard neural network embeddings, please check it out.

Bibliography

[CJH+22]

Francesco Ceccon, Jordan Jalving, Joshua Haddad, Alexander Thebelt, Calvin Tsay, Carl D Laird, and Ruth Misener. Omlt: optimization & machine learning toolkit. The Journal of Machine Learning Research, 23(1):15829–15836, 2022.

[CG16]

Tianqi Chen and Carlos Guestrin. Xgboost: a scalable tree boosting system. In Proceedings of the 22nd acm sigkdd international conference on knowledge discovery and data mining, 785–794. 2016.

[CCA+09]

Paulo Cortez, António Cerdeira, Fernando Almeida, Telmo Matos, and José Reis. Modeling wine preferences by data mining from physicochemical properties. Decision support systems, 47(4):547–553, 2009.

[KMF+17]

Guolin Ke, Qi Meng, Thomas Finley, Taifeng Wang, Wei Chen, Weidong Ma, Qiwei Ye, and Tie-Yan Liu. Lightgbm: a highly efficient gradient boosting decision tree. Advances in neural information processing systems, 2017.

[Opt23]

Gurobi Optimization. Gurobi-machinelearning. 2023. URL: https://github.com/Gurobi/gurobi-machinelearning/.

[PGM+19]

Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, and others. Pytorch: an imperative style, high-performance deep learning library. Advances in neural information processing systems, 2019.

[PVG+11]

F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay. Scikit-learn: machine learning in Python. Journal of Machine Learning Research, 12:2825–2830, 2011.