Scheduling English Football over Holiday
Periods
Please note: This version of my presentation has
had the pictures and background removed. This
is to reduce the (large) file size and also to ensure
there are no copyright issues with the pictures.
Graham Kendall
Contents
• Problem Description and Definition
• Solution Methodology
• Results
• Future Work and Possible Alan Shearer breaks Milburn's
record, scoring his 201st
Research Directions Newcastle goal (against
Portsmouth)
• Conclusions
• Questions
Problem Description
Football supporters and motoring
organisations have called for changes
in the scheduling of fixtures [over the
Christmas holiday period] to prevent
supporters from having to drive home
George Best won 37 caps for
from matches well into the early hours Northern Ireland, including this
of the morning. match against England in May
1971
The Times (Sport, Football), 30th December 2005, pp
68
League Structure
Four Divisions
Barclays Premiership (20 teams)
Coca-Cola Championship (24 teams)
Coca-Cola League One (24 teams)
Coca-Cola League Two (24 teams)
Number of Matches
380 (Premiership), 552 for other divisions.
Total 2036
Michael Owen returns to the line up at
Matches to be Scheduled
Newcastle after injury (29 th April
Each league plays a double round robin 2006)
tournament. Therefore, there are no matches
played between different divisions, but…..
Pairing System
Teams are paired which means they cannot
normally play at home on the same day
Typically this is due to teams which are
geographically close (e.g. Manchester
United/Manchester City,
Sunderland/Newcastle,
Liverpool/Everton/Tranmere)
Note that the pairing system operates across
Michael Owen returns to the line up at
division boundaries
Newcastle after injury (29 th April
2006)
We are allowed a given number of pairing
violations
Season BD NYD
Pairing System
2005-2006 12 14
Teams are paired which means they cannot
normally play at home on the same day 2004-2005 10 10
Typically this is due to teams which are
2003-2004 8 14
geographically close (e.g. Manchester
United/Manchester City,
Sunderland/Newcastle, 2002-2003 10 8
Liverpool/Everton/Tranmere)
Number of actual clashes from
Note that the pairing system operates across previous seasons
division boundaries
Key: BD = Boxing Day
We are allowed a given number of pairing NYD = New Years Day
violations
Geographic Constraints
There are other geographical constraints
which must be adhered to
The number of London based clubs that can
play at home on the same day = 6
The number of London based Premier clubs Chelsea win the Premiership for the
second consecutive season (April
that can play at home on the same day = 3
2006)
The number of Manchester based clubs that
can play at home on a the same day = 4
Date Specific Constraints
On New Years Day and Boxing Day each team
is required to play
If a team plays at home on Boxing Day they
must play away on New Years Day
The same teams cannot play each other on Wayne Rooney makes it 4-0 - giving
Manchester United the biggest League
New Years Day and Boxing Day
Cup Final victory in the competition's
history (2006)
Paired teams cannot play each other
In fact this is violated in the published
fixtures, but we treat it as a hard constraint
The aim is to minimise the
distance travelled
Date Specific Constraints
On New Years Day and Boxing Day each team
is required to play
If a team plays at home on Boxing it must play • Analysis of previous
away on New Years Day
seasons fixtures and
meetings with the Football
The same teams cannot play each other on
League have shown that
New Years Day and Boxing Day this is the case
Paired teams cannot play each other • Not like TSP or TTP as we
In fact this is violated in the published cannot minimise the
fixtures, but we treat it as a hard constraint overall distance travelled
(throughout the entire
season)
The aim is to minimise the
distance travelled
Premier League Teams (20 teams)
Champion League Teams (24 teams)
League 1 Teams (24 teams)
League 2 Teams (24 teams)
Solution Methodology
Two-stage algorithm
Depth-first search
Local search
Bobby Charlton: Then and Now
Solution Methodology
Two-stage algorithm • Produce fixture lists for each
Depth-first search division for these two days
Local search • Pick a team at random and
generate all possible fixtures
(root node)
• Expansion is done by
producing all possible
(feasible) fixtures (e.g. a
team cannot play twice in
any one branch of the search
tree)
Solution Methodology Depth-first search
Two-stage algorithm • Do not expand if distance
Depth-first search between teams is > 200
miles (expect Plymouth)
Local search
• Do not expand if total travel
distance > best solution
found so far
• Do not allow paired teams to
play one another
• Do not allow paired teams to
both be playing at home
Solution Methodology Depth-first search
Two-stage algorithm • Follow same procedure to
Depth-first search generate for New Years Day,
but…
Local search
• Relax condition that paired
teams cannot both be at
home (else no feasible
schedules are found)
• Teams cannot play each
other again (from Boxing
Day)
• If a team played at home on
Boxing Day, they must play
away on New Years Day
(and thus vice versa)
Solution Methodology Depth-first search
Two-stage algorithm • At the end of depth-first
Depth-first search search we have two
complete fixtures for each
Local search division
• They are improvements over
the published fixtures (wrt to
overall distance) but they
violate some of the
constraints
Solution Methodology
Two-stage algorithm • The aim is to reduce the
Depth-first search number of constraint
violations to acceptable
Local search levels. That is, less than, or
equal to, the published
fixtures
Solution Methodology Local search
Two-stage algorithm
Swap Operation
Depth-first search
• Our local search makes use
Local search of the following swap
procedure
… … … …
Chelsea Portsmouth Arsenal Chelsea
Portsmouth Fulham
f f′
Solution Methodology Local search
Two-stage algorithm
Swap Operation
Depth-first search
• Our local search makes use
Local search of the following swap
procedure
… … … …
Portsmouth Chelsea Arsenal Portsmouth
Chelsea Fulham
f f′
Solution Methodology Local search
Iterate (5000)
Two-stage algorithm 1. If pair clash in f then
Depth-first search swap
Local search 2. As 1, but for f′
3. Check London clubs in f,
and swap if necessary
4. Check GMR clubs in f,
and swap if necessary
5. Check London Prem
clubs in f and swap if
necessary
6. As 3 but for f′
7. As 4 but for f′
8. As 5 but for f′
Results
Published Generated
Fixtures Fixtures
Total 4295
3049
Boxing Day 1 Distance
Season 2005- Clashes 12 10
2006 Total 6336
New Years 3868
Distance
Day 2
Clashes 14 10
Total 4563
3725
Boxing Day Distance
Season 2004- Clashes 10 10
2005
Nottingham Forest Football
Total 5122
New Years Distance
3059 Ground
Day
Clashes 10 10
Total 3872
2859
Boxing Day Distance
Season 2003- Clashes 8 8
2004 Total 4296
New Years 3500
Distance
Day 3
Clashes 14 14
Total 3827
2839
Boxing Day Distance
Season 2002- Clashes 10 10
2003
Results
Season Total Total Distance Number of Number of Pair
Distance Distance Saving Pair Clashes Clashes for
for for for Published Generated
Published Generated Fixtures Fixtures
Fixtures Fixtures
2005-2006 10631 6917 3714 26 20
(34.94%)
2004-2005 9685 6784 2901 20 20
(29.95%)
2003-2004 8168 6359 1809 22 22
(22.15%)
2002-2003 7791 6040 1751 18 18
(22.47%)
Bobby Moore in
1966
Planned Further Work
Try to find the optimal solutions
Tighten/change the bounds on which we
branch to improve the search time
Add heuristics to the branching so that less
expansions are necessary
Produce a 4-fixture schedule
Peter Osgood (1947-2006)
Future Directions
Produce schedules for a complete season
Hold additional meetings with the Football
League
We have met with them once and they
provided lots of information for 2005-2006
Investigate other leagues and other sports Gary Lineker scoring against
Paraguay in 1986
Summary
New sports scheduling problem has been
introduced
Lots of data available The new Wembley Stadium
Many possible research directions
Above all, a very interesting domian
Questions/Discussion
“They think it’s all over. It is now!”