Estoy en el proceso de construcción de un software para generar las bases para una liga de ajedrez, que tiene un pequeño giro que complica las cosas. Me gustaría introducir una restricción en la que dos consecutivos equipos de un mismo club no se les permite jugar en la misma noche. por ejemplo, Loughborough 1 no se permite jugar en la misma noche como Loughborough 2. Esto ayuda a los equipos a compartir los jugadores, y por lo tanto, jugar más partidos.
La liga tiene cinco divisiones, con 8, 7, 8, 7, 7 equipos respectivamente. La primera mitad de la liga es jugado por más de 10 semanas. Esto significa que los equipos no tienen que jugar cada semana.
Una solución sería la de la fuerza bruta de todo el fixture de combinaciones, para todas las divisiones. El problema con este enfoque es que hay muchas combinaciones!
Me pregunto si hay alguna de las técnicas matemáticas que puedo usar para que me ayude con este problema. No estoy queriendo encontrar una solución única (una combinación de los accesorios, sin violar las restricciones). Yo sería feliz con un algoritmo que produce 10 violaciones de las restricciones en la temporada.
Cualquier ayuda o punteros sería muy apreciada. Puede alguien sugerir áreas para mi investigación?