PyData Amsterdam 2026

Willem Feijen

Willem Feijen joined Lynxx 1.5 years ago, bringing an academic background to practical logistics. He earned his PhD from Centrum Wiskunde & Informatica (CWI) in 2024, where his research focused on integrating Machine Learning into applied optimization algorithms. At Lynxx, he focuses on developing algorithms to create train schedules.


Session

09-11
10:05
45min
Scheduling at Scale: Building a Railway Timetable Optimizer in Python
Willem Feijen, Merel Groen

Modern railway systems operate under tight capacity constraints, especially during planned maintenance. In this talk, we present a Python-based timetable optimization system that generates feasible alternative schedules while staying as close as possible to the original plan.
We walk through how a real-world optimization problem, based on the Periodic Event Scheduling Problem (PESP) and Station Capacity Model (SCM), can be translated into a scalable Python application. The talk covers modeling decisions, solver integration, and practical trade-offs between solver-agnostic frameworks (Pyomo) and solver-specific implementations (Gurobipy).
Beyond the optimization model itself, we highlight lessons learned from building and maintaining an optimization codebase, including object-oriented design, and handling growing model complexity.
This talk is aimed at data scientists, operations researchers, and software developers interested in applying optimization techniques in Python to real-world systems.
Attendees will leave with practical insights into modeling, implementation choices, and scaling optimization workflows in Python.

Anomaly