Over the spring of 2025 I took 2.980: Sports Technology, a class led by the founders of the MIT Sports Lab. The class pairs groups of students with leading organizations in sports to work on a project for those organizations over the course of the semester. My group built an optimization tool for the Australian cycling federation's team pursuit strategy, as well as a user interface to run optimizations, visualize outcomes, and store results.
To simulate the outcome of a given race strategy, our model takes in the order of the riders at the start of the race, which points in the race their order changes, and at which point one of the riders drops off. We also divide the race into an acceleration phase, in which the riders ramp up to their target velocity, and a steady-state phase, in which we assume the riders maintain a constant velocity for the remainder of the race.
To model the acceleration phase, we examined existing data on riders' power output during the race, and decided to approximate their power output as linearly increasing, then leveling off.
I primarily worked on modeling the steady-state phase and integrating the two phases. In the steady-state phase, the energy expenditure of each rider due to drag and friction can be computed as a function of their velocity.
To find the highest steady-state velocity that can be maintained for a given strategy, we perform a bisection search over a range of possible velocities until we find one that depletes at least one rider close to their maximum amount, but does not deplete any rider beyond that threshold.
Once we were able to simulate a given race strategy, we used a genetic algorithm to build a method that finds an optimal strategy.
We also used Streamlit to build a user interface that allows coaches to simulate a strategy they input or run an optimization, as well as visualize data such as energy depletion, power output, and velocity.