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.