  With the advent of power-meters allowing cyclists to precisely track their
power outputs throughout the duration of a race, devising optimal power output
strategies for races has become increasingly important in competitive cycling.
To do so, the track, weather, and individual cyclist's abilities must all be
considered. We propose differential equation models of fatigue and kinematics
to simulate the performance of such strategies, and an innovative optimization
algorithm to find the optimal strategy.
  Our model for fatigue translates a cyclist's power curve (obtained by fitting
the Omni-Power Duration Model to power curve data) into a differential equation
to capture which power output strategies are feasible. Our kinematics model
calculates the forces on the rider, and with power output models the cyclist's
velocity and position via a system of differential equations. Using track data,
including the slope of the track and velocity of the wind, the model accurately
computes race times given a power output strategy on the exact track being
raced.
  To make power strategy optimization computationally tractable, we split the
track into segments based on changes in slope and discretize the power output
levels. As the space of possible strategies is large, we vectorize the
differential equation model for efficient numerical integration of many
simulations at once and develop a parallelized Tree Exploration with
Monte-Carlo Evaluation algorithm. The algorithm is efficient, running in
$O(ab\sqrt{n})$ time and $O(n)$ space where $n$ is the number of simulations
done for each choice, $a$ is the number of segments, and $b$ is the number of
discrete power output levels.
  We present results of this optimization for several different tracks and
athletes. As an example, the model's time for Filippo Ganna in Tokyo 2020
differs from his real time by just 18%, supporting our model's efficacy.
