TIMETABLING IN SPORTS AND ENTERTAINMENT Introduction More complicated applications of interval scheduling and timetabling: scheduling of games in tournaments scheduling of commercials on network television Scheduling in sports tournaments (Chapter 10) Single Round Robin Tournament (10.2) Round Robin Tournaments (10.2) Tournament Scheduling using Local Search (10-4) 354 1
Is sport important? Sports are industries Best performers are very well paid Major companies advertise through sport There is college education in sports management Driver of technology development Formula 1: Turbo (Renault 1982) Football: First color transmission world wide World Cup 6 Scheduling is very important Tournaments TV transmissions Advertising 355 Sport tournaments Constraints Number of rounds to play is equal to the number of games each team has to play Play Home, then Away, then Home.Otherwise a break occurs Terminology t is a round ij means that team i playing with team j H: home; A: away; B: Bye (j) means team i visits team j (-j) means team i hosts team j 356 2
Single round-robin tournament Assume n teams and that n is even Every team plays every other team It is possible to construct a schedule with n 1 slots each with n/2 games 357 Objective Minimize number of breaks If n is even, minimum number of breaks is n 2 Schedule with n 1 slots each with n / 2 games Liga ZON Sagres If n is odd, minimum number of breaks is n 1 per round, there is one team that is idle (Bye) Old UEFA CUP group phase (5 teams) It is a Graph Coloring Problem 358 3
Constraints for single round robin x ijt = 1 iff team i plays at home against team j in slot t Each team plays each other team exactly once: n i 1 ( x x ) 1 j 1,..., n; t 1,..., n 1 ijt jit Each team plays exactly once in each slot: n 1 t 1 ( x ijt x jit ) 1 i j 359 Feasible and optimal solutions If constraints are very large, sometimes a feasible solution is already hard to find. Generally, an optimal solution is desirable. Case of n odd One team gets a Bye in every slot. String of Hs, As and Bs. Ex: HAHABA. Several algorithms for tournament schedules search for good feasible schedules. Next algorithm schedules single round robin tournaments 360 4
Algorithm Step 1: Assemble a collection of HAPs Find a collection of n different HAPs. This set of HAPs is the pattern set. Step 2: Create a timetable Assign a game to each entry in the pattern set. The resulting assignment is a timetable. Step 3: Assign teams to patterns Assign a team to each pattern. Together with the timetable, this creates the single round robin schedule. 361 Example: UEFA cup group Step 1: Create a consistent set of n HAPs n = 4 (even) # breaks = n 2 = 2 Team Round 1 Round 2 Round 3 1 A H A 2 H A H 3 H H A 4 A A H 362 5
Step 2: Create a timetable Find a collection of n HAPs Assign a game to each entry Team Round 1 Round 2 Round 3 1 (3) (-4) (2) 2 3 4 363 Step 2: Create a timetable Find a collection of n HAPs Assign a game to each entry Team Round 1 Round 2 Round 3 1 (3) (-4) (2) 2 (-1) 3 (-1) 4 (1) 364 6
Step 2: Create a timetable Find a collection of n HAPs Assign a game to each entry Team Round 1 Round 2 Round 3 1 (3) (-4) (2) 2 (-4) (3) (-1) 3 (-1) (-2) (4) 4 (2) (1) (-3) 365 Step 3: Assign teams to patterns Use some kind of preference information Team d chooses AHA -> Team 1 [last year 2nd] Team b choses HAH -> Team 2 [last year champion] Team a -> Team 3 and Team c -> Team 4 Team Round 1 Round 2 Round 3 d (a) (-c) (b) b (-c) (a) (-d) a (-d) (-b) (c) c (b) (d) (-a) 366 7
Double Round Robin Teams have to play against each other twice Algorithm is extended to Mirroring: Copy table and change signs Team Round 1 Round 2 Round 3 d (a) (-c) (b) b (-c) (a) (-d) a (-d) (-b) (c) c (b) (d) (-a) Round 4 Round 5 Round 6 (-a) (c) (-b) (c) (-a) (d) (d) (b) (-c) (-b) (-d) (a) 367 General tournament scheduling Examples of constraints: No team is allowed to play 3 or more consecutive games Home or Away. Each team must have H or B in at least 2 of the first 4 rounds No team is allowed to play Away in both of the last rounds. 368 8
Local Search for sports scheduling Used to solved previous tournament scheduling together with: Period-based robin round scheduling problem Traveling tournament problem 369 Period-based robin round Single round robin tournament, n is even Each week (round) has n/2 periods and each period has to be assigned one game The games are not simultaneous due to TV Constraint No team can play in the same period more than twice Objective Minimize number of times a team plays in a certain period NP-Hard Problem 370 9
Traveling Tournament Problem Basic double robin round adding: Each pair of cities has a travel time: ij the schedule must minimize the sum of travel times over all teams Adding two sets of soft constraints: At most: 3 home or 3 away consecutive games Non repeat: a game between teams i and j at i s home cannot be followed by a game between the same teams at j s home. 371 Soft constraints represented as costs Common to represent the constraints (at-most, nonrepeat) as part of cost function. minimize 2 T f ( ( V )) 2 T is total travel time V is the number of violated soft constraints is a weight f is a function increasing concave in the number of constraints 372 10
Local Search algorithm 1. Find a schedule 2. Evaluate cost function 3. Find a neighborhood schedule 4. Evaluate cost function If f(4) < f(2), best solution is 4 Otherwise, 2 is still best solution Repeat 3 373 Find neighborhood schedules 1. Swap Slots Swap slots t and t (change columns) 2. Swap Teams Swap schedules of team i and j 3. Swap Homes If ij in slot t and ji in slot u, then swap ij and ji 374 11
Local search in traveling tournament Note that local search can use several procedures including: Simulated annealing Tabu search Genetic algorithms Other metaheuristics 375 Exercise 10.4.3 Try to find a best schedule Evaluate the number of violations Apply local search to find better solution 376 12
Scheduling television programs This topic is slightly different from tournament scheduling. Scheduling horizon is typically one week with a fixed number of time slots (e.g. 30 minutes). Shows have to be assigned to time slots, which are subject to a variety of conditions and constraints. Integer Programming formulations are similar to the tournament scheduling Integer Programming. Assignment of a show to a slot has a certain rating. Objective: maximize average ratings 377 13