For the nerds among us, here are some numbers to give you a sense of just how complicated scheduling a youth sports tournament can be. We frequently come across soccer tournaments with 300 teams playing over a weekend, but to keep the math simple let's say it is a 100 team tournament that is being played on 10 fields (pitches if you like). A common format is to have each team play 4 games over 1 weekend. So you would have 200 games total (100 on each day).
The not smart way for a computer to solve this problem is by putting games on the schedule and checking if the coaching constraints are satisfied. If not, then move the games around. And keep checking until you find a schedule that works. It's a brute force method.
So, how many options are there for a 100 team tournament? If you remember your high school math, you know the number is 100 factorial for each day. Which is about 1 followed by 90 zeros.
An average home PC can evaluate about a hundred thousand options per second. Let's say a super efficient program can evaluate 1 million options per second on a single CPU core. And you had all the computing power in the world available to you (all PCs, servers, phones, embedded processors - everything. Estimated at about 250 Billion CPU cores). How long would it take all those computers working together to schedule the tournament?
About 1080 seconds. Which is much much more than the age of the universe, which is only about 1020 seconds!
So if you've ever tried to schedule a youth sports tournament and got overwhelmed, don't despair. It's not an easy problem to solve.
Math behind scheduling
August 8, 2023