Round Robin Tournament Scheduling

Schedule By Iterating Date/Time/Location or Game

cblaze22 · 2 · 8682

cblaze22

  • Junior Member
  • **
    • Posts: 33
on: September 20, 2014, 05:17:32 PM
I am curious if anyone has an opinion on what route to take when scheduling.  Is the best option to start iterating each date/time/location and seeing what matchup first goes there? Or should I iterate each game first and find the best spot in the schedule?

I have a lot of team restrictions, rules, etc for certain teams if that helps out any.  
« Last Edit: September 20, 2014, 05:17:58 PM by cblaze22 »


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1140
Reply #1 on: September 21, 2014, 04:15:33 AM
Specific restrictions for specific teams is not something I have tried to schedule for, so I can't say any of what follows is tried and tested.

Either way, I think you risk finding uncompletable schedules if you intend filling them up one matchup at a time.  But a lot will depend on how hard the problem is, if it is easy with millions of possible solutions, then it may work.  At the other end of the spectrum, if the restrictions are sufficient that there are very few possible solutions, then you may have to resort to an exhaustive search of all possible schedules until you find one that works.

Once approach might be to first find a schedule for the subset of teams with special restrictions.  At least this would establish if the user has input an impossible set of restrictions, but if successful you could then try to fit the other teams around this initial schedule.  And maybe repeat the process a number of times starting from different initial schedules.

Most of the algorithms I have used, have been trying to optimize a set of non-specific restrictions, for example: it would be nice that no team played twice in one week, it would be nice if a team had at least one matchup at each location, etc...  These are then expressed as a criterion to be optimized using an iterative improvement approach from an initial random schedule.  This might work for you, but I think you would need a weighting scheme to make sure that specific restrictions were given priority.  Assuming of course, that you also have these same types of non-specific restriction.

Does that help?
« Last Edit: September 21, 2014, 04:17:12 AM by Ian »