This is a genetic algorithm for creating a Tournament Schedule with multiple teams, whilst also reducing the amount of travel time between venues.
If there happens to be a tournament with multiple venues and teams, this algorithm can help reduce the travel time for each team by creating and improving upon an initial schedule.
Teams are paired off to play against one another, then the matchups are organized and changed so that we are really just modifying when the matches happen.
The algorithm is modifiable so that any of the inputs can be changed, such as how many generations we want to use, etc.