This is the source repository for the collection of Jupyter notebooks associated with the book Hands-On Mathematical Optimization with Python published by Cambridge University Press (2025).
The book is available from this webpage and Amazon. If you are a lecturer interested in adopting this book for your course, you can request an inspection copy by filling out this form.
Please cite the book when using these companion notebooks:
@book{PZGK2025book,
author = {Postek, Krzysztof and
Zocca, Alessandro and
Gromicho, Joaquim A. S. and
Kantor, Jeffrey C.},
title = {{Hands-On Mathematical Optimization with Python}},
year = {2025},
publisher = {Cambridge University Press},
address = {Cambridge},
doi = {10.1017/9781009493512}
}To identify the online companion materials separately, use:
@misc{PZGK2025online,
author = {Postek, Krzysztof and
Zocca, Alessandro and
Gromicho, Joaquim A. S. and
Kantor, Jeffrey C.},
title = {Companion Jupyter notebooks for
{Hands-On Mathematical Optimization with Python}},
year = {2025},
howpublished = {\url{https://mobook.github.io/MO-book/}},
note = {Source repository: \url{https://github.com/mobook/MO-book}}
}Machine-readable citation information, with the book as the preferred citation, is available in CITATION.cff.
From the repository root, install the website dependencies and build the book:
python -m pip install -r requirements.txt
jupyter-book build .Open _build/html/index.html to preview the result. The build publishes the notebooks' saved outputs; it does not execute their code. To run a notebook, follow its preamble and the solver overview for the additional modeling packages and solvers.
The companion code is distributed under the MIT License.
For heading and notebook conventions, see CONTRIBUTING.md.