Cookie Settings
Open-Source Projects

Gurobi Machine Learning


Embed your trained machine learning models directly into Gurobi.

 

With Gurobi Machine Learning—an open-source Python project to embed trained machine learning models directly into Gurobi—data scientists can more easily tap into the power of mathematical optimization.

Specifically, Gurobi Machine Learning allows users to add a trained machine learning model as a constraint to a Gurobi model (e.g., from scikit-learn, TensorFlow/Keras, or PyTorch). Thus, you can estimate a real-world system by training a machine learning model, and then use the machine learning model as a constraint in Gurobi, so you can optimize controls on that system.

 

Learning Resources

Webinar: Using Trained Machine Learning Predictors in Gurobi

In recent years, machine learning has become a prevalent tool to provide predictive models in many applications. In this talk, we are interested in using such predictors to model relationships between variables of an optimization model in Gurobi.

For example, a regression model may predict the demand of certain products as a function of their prices and marketing budgets, among other features. We are interested in being able to build optimization models that embed the regression so that the inputs of the regression are decision variables, and the predicted demand can be satisfied.

We propose a python package that aims at making it easy to insert regression models trained by popular frameworks (e.g., scikit-learn, Keras, PyTorch) into a Gurobi model. The regression model may be a linear or logistic regression, a neural network, or based on decision trees.

Watch the webinar, “Using Trained Machine Learning Predictors in Gurobi.”

 

 

Guidance for Your Journey

30 Day Free Trial for Commercial Users

Start solving your most complex challenges, with the world's fastest, most feature-rich solver.

Always Free for Academics

We make it easy for students, faculty, and researchers to work with mathematical optimization.