Hello, and welcome to the practical session of the Column Generation School 2025 👋
You will need PySCIPOpt in order to complete the exercises. If you haven't already, the easiest way to install it is via pip.
You will also need pytest
to run the tests. You can run a specific test with pytest <test_name>
.
To install them, run this in your terminal:
pip install pyscipopt pytest
This session is organized in a series of exercises that will guide you towards implementing your own Branch-and-Price solver for the bin packing problem. After this, some bonus exercises give you the extra challenge of adding various speedups to the more basic approach.
If you're already familiar with basic modeling in PySCIPOpt, you can go ahead and start going over the README in the bnp folder. If this is your first time using PySCIPOpt/GurobiPy/XpressPy, then we suggest giving a quick look at either the intro, and/or the modeling folders. The former goes over model creation, how to add variables and constraints. The latter asks you to implement a knapsack problem, along with some other variants. In both cases, the README
's contain information and hints on how to proceed.
Enjoy the workshop, and remember, we’re here if you need help!