Ok, think bowling - sort of.
I need to be able to schedule between 5 and 20 teams from 5 to 20 weeks using from 2 to 10 lanes using either 1,2,3, or 4 hour formats. For example, 12 teams, over 11 weeks (everyone gets to play against everyone else), 4 lanes, 3-hour format (one game at 1pm, then 2pm, then 3pm).
Can your algorithm be programmed so that there is maximum distribution of teams on the lanes AND on the hours so that a team is not always on the same lane or always scheduled for the same hour?