Introduction To Mathematical Optimization Modeling

Introduction to mathematical optimization jupyter notebook modeling example introduces the key components in the formulation of mixed-integer programming (MIP) problems.


Introduction to Mathematical Optimization

The goal of this modeling tutorial is to introduce the key components in the formulation of mixed-integer programming (MIP) problems. For each component of a MIP problem formulation, we provide a description, the associated Gurobi Python code, and the mathematical notation describing the component. We use the Gurobi Optimizer to compute an optimal solution of the MIP model.

This modeling tutorial is at the introductory level, where we assume that you know Python and that you have a background on a discipline that uses quantitative methods.

The reader should also consult the documentation of the Gurobi Python API. This notebook is explained in detail in our series of tutorial videos on mixed-integer linear programming. You can watch these videos by clicking here.



Request a Gurobi Evaluation License or Free Academic License

Modeling examples are coded using the Gurobi Python API in Jupyter Notebook. In order to use the Jupyter Notebooks, you must have a Gurobi License. If you do not have a license, you can request an Evaluation License as a Commercial User or download a free license as an Academic User.


Commercial Users: Free Evaluation Version Academic Users: Free Academic Version



Access the Jupyter Notebook Modeling Example

Click on the button below to be directed to the GitHub HTML page, where you can download the repository Introduction to Mathematical Optimization Modeling.


Introduction To Mathematical Optimization Modeling


Contact Us

We’re happy to assist you. Please contact us using this form, and a Gurobi representative will get back to you shortly.

  • Free Consultations
  • General Inquiries
  • Gurobi Optimizer Questions

Can’t view the form? Please email us at

Thank you! The information has been submitted successfully.