Firstly, I'm new to AI and may get some terminology wrong here so please bear with me.
I've written (well, followed an algorithm description really) a solution to the Travelling Tournament problem using a simulated annealing algorithm.
This works well for producing a balanced Round-robin schema with an acceptable number of breaks.
However, as a pool player it occured to me that there was a situation not covered by the standard algorithm. That is, coping with two teams playing out of the same venue (or on the same pool table, in the case of the pool league).
In this situation I have to ensure that when one team is playing at home, its sister team is playing away. The problem is further exacerbated by the fact that one team may play in division 1 while the other team plays in division 2. Imagine further, if you will, that there's a third division, 2 more teams playing out of the same venue and that one plays in division 3 and the other in division 2.
So we now have division 2 containing 2 teams that must play away while their sister team plays at home.
My algorithm starts with a feasible schedule, generated programatically, and moves from one feasible schedule to the next until an optimum solution is found. However, with this new rule, I'm having trouble generating a feasible schedule to start with (I've been testing with 2 divisions of 4 teams and half of each division twinned with half the other division).
Is there anyone out there who's addressed this problem and can point me in the right direction?
PS. If you need more details, just post here and I'll provide them.