In just over six months, football fans across Europe face a logistical maze: how to follow their favourite teams from stadium to stadium as games are played all over the continent. We described the challenge and optimisation approach we took in a separate piece. In this gallery, we walk through the options in more detail and show some of the technical details.
This work has been a collaborative effort between Reece Clifford, Bas Belfi and myself. It started out as a way to satisfy our curiosity about what football fans will do next summer and has since grown into a fascinating optimisation exercise.
Why and how to travel
The tournament starts on June 12 and ends on July 12. During the 30-day span, we have 51 games in 12 cities, from Dublin all the way to Baku, and from St. Petersburg to Bilbao. It spans quite a big region: the sum of distances between each city pair is over 110,000 kilometres. Finding a good schedule might be possible by hand, but finding the optimal path is certainly out of the question: There are more than 158 billion ways to select 12 games out of 51 games.
There are six groups of teams. For each group, games are split between two cities. Each city either has a round of 16 playoff game or a quarterfinal game. Semifinal games and the final game are at London, Wembley Stadium, which was the venue of the 1996 final between Germany and the Czech Republic.
Since exact participants of the upcoming tournament will be decided after playoff games in March, let us focus on coming up with a plan to see a game in every stadium in the tournament. Here, we will show how easy it is to find the optimal path by using SAS Optimization and Python.