Home ContentFeatured Resources to learn mathematical optimisation

Resources to learn mathematical optimisation

by Jack Simpson

When I was at PyCon, I had a number of people ask me what resources they could use to to learn more about mathematical optimisation. I thought I’d share my list in this article – if there’s any good content out there I may have missed, please reach out and I’d love to add it to this page!

Articles

Courses

Videos

Books

Python Libraries

To build a mathematical optimisation, you need to do two things: formulate the program, and then pass it to a solver program.

In terms of open source tools, I tend to formulate my model using Pyomo, developed by the National Renewable Energy Laboratory (NREL). You can then use the HiGHS solver (developed by the University of Edinburgh) to solve your model. Both of these libraries are easy to install via pip. Pyomo also has the advantage of allowing you to swap solvers without having to rewrite your program.

As I tend to build a lot of extremely large and complex models (especially ones with a lot of binary or integer variables), I end up using commercial solvers like Gurobi a fair bit. Gurobi has a lot of excellent Python libraries too like gurobipy and gurobipy-pandas.

Sign up to my newsletter

Sign up to receive the latest articles straight to your inbox

You may also like