I haven't seen anything online that covers this specific case:

I run a camp which has about 8 teams of kids, and every day there are 2 sports activities. Teams play each other in different sports throughout the summer.

I need to manually create a schedule with the following constraints:

  • 2 Teams should not play each other often (kind of like round robin, but the following constraints don't work with round robin)
  • A team shouldn't play the same sport often
  • There are multiple courts of the same sport
  • Not every day is every court available
  • There can be any number of games, so the algorithm would just continue producing the next best solution
  • Preferably, the teams would be paired based on their history of wins/loses
  • I should be able to manually force a certain team to play another team in a specific sport (or multiple pairings), and the algorithm would work around that.

The function would take in the following parameters and generate 1 game at a time:

  • History of games
  • Available courts
  • Forced pairings for this game

My question is: What computer science concepts would I need to implement such a scheduler? All other questions similar to this are for leagues with 1 sport only, not with multiple sports like this one.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.