Teaching Schedules

Install

You need Python 3.9.9 to run the code in this project, which is defined in .python-version. Dependencies are specified in requirements.txt.

More detailed instructions on how to set up Python in macOS can be found here.

Optimization library: PuLP

We model the school timetable problem using PuLP, a popular linear programming modeler for Python.

Example

We adapt a simple example from the PuLP documentation (the "blending problem"), which is solved in blending_problem.py.

The school timetable problem

Our current formulation can be found here.