Protein Comparison


In this example, we’ll show you how to use mathematical optimization to address a Protein Comparison problem. You’ll learn how to model this problem – which involves measuring the similarities of two proteins – as a quadratic assignment problem using the Gurobi Python API and find an optimal solution to it with the Gurobi Optimizer.

This model is example 29 from the fifth edition of Model Building in Mathematical Programming by H. Paul Williams on pages 290-291 and 345.

This modeling example is at the advanced level, where we assume that you know Python and the Gurobi Python API and that you have advanced knowledge of building mathematical optimization models. Typically, the objective function and/or constraints of these examples are complex or require advanced features of the Gurobi Python API.


Access the Jupyter Notebook Modeling Example

Click on the link below to access the example in Google Colab, which is a free, online Jupyter Notebook environment that allows you to write and execute Python code through your browser.


Protein Comparison


How to Run the Jupyter Notebook Modeling Example

-To run the example the first time, choose “Runtime” and then click “Run all”.

-All the cells in the Jupyter Notebook will be executed.

-The example will install the gurobipy package, which includes a limited Gurobi license that allows you to solve small models.

-You can also modify and re-run individual cells.

-For subsequent runs, choose “Runtime” and click “on “Restart and run all”.

-The Gurobi Optimizer will find the optimal solution of the modeling example.

Check out the Colab Getting Started Guide for full details on how to use Colab Notebooks as well as create your own.

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.