Last updated on 2023-09-28 22:49


Current projects

Most recently started first:

  • [early] A project optimising the scheduling of elective hours in Dutch secondary education. We are developing a scheduling algorithm that schedules electives based on (changing) learner needs.

  • [nearing completion] A project optimising waste collection for the Municipality of Groningen. One of the unusual aspects of this particular waste collection problem is that we have some sensor data about arrivals at each waste container, but that data is incomplete: we do not observe the amount of waste arriving, only that an arrival has taken place. It is thus not clear which containers are actually full, and which can still take more arrivals. The goal is to select which containers to visit, and then optimise the routing decisions given those containers. We are developing an efficient vehicle routing policy that integrates the routing and container selection decisions based on the available data.

  • [nearing completion] A project optimising chance-constrained network design problems under supply and demand uncertainty. We developed an exact solution approach based on row generation for this problem. Computational experiments show our method is much more performant than the current state-of-the-art.

Past projects

A selection:

  • PyVRP, a high-performance vehicle routing problem (VRP) solver that achieves exceptional performance on a number of VRP variants. The solver is written in C++ and Python, and available on the Python package index as pyvrp; the repository is available here. We submitted a paper to INFORMS Journal on Computing. Work is ongoing to support additional VRP variants in new releases of PyVRP.

  • I organised a team of motivated PhD candidates to join in the EURO meets NeurIPS 2022 vehicle routing challenge. Together, we developed algorithms solving two variants of a vehicle routing problem with time windows. Our team (OptiML) finished first on the static problem variant, and third on the dynamic, for an overall second place! The software repository is available here.

  • A metaheuristic for an hourly learner timetabling problem arising in Dutch secondary education, when learners are scheduled by their demands or preferences for various courses and modules (a variant of personalised learning). We published a paper in Computers & Operations Research. The software repository is available here.

  • The Rome Hinterland Project (RHP) database. The RHP combines archaeological survey data collected over the past 70 years in the territory of Rome to create the largest integrated regional dataset for the hinterland of any ancient Mediterranean city. We published a paper in the European Journal of Archaeology motivating the need for the RHP database.
    In early 2021, I gave two presentations about my work on the RHP. The first, here, explains the implementation process. The second, here, explains several common queries one might perform.

  • A Python implementation of the adaptive large neighbourhood search (ALNS) metaheuristic. The package is available on the Python package index as alns; the repository is available here. We published a paper in the Journal of Open Source Software.