Market Sharing


In this example, we’ll show you how to solve a goal programming problem that involves allocating the retailers to two divisions of a company in order to optimize the trade-offs of several market sharing goals. You’ll learn how to create a mixed integer linear programming model of the problem using the Gurobi Python API and how to find an optimal solution to the problem using the Gurobi Optimizer.

This model is example 13 from the fifth edition of Model Building in Mathematical Programming by H. Paul Williams on pages 267-268 and 322-324.

This modeling example is at the beginner level, where we assume that you know Python and that you have some knowledge about building mathematical optimization models. You may also want to check out the documentation of the Gurobi Python API.


Access the Jupyter Notebook Modeling Example

Click on the button 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. 


Market Sharing



How to Run the 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 “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.