Académique Documents
Professionnel Documents
Culture Documents
Azam Shamsi obtained her BSc from the University of Tehran (2006) and MSc
from the Sharif University of Technology (2008). Her field of research work is
on robust optimisation, scheduling and simulation. She is the author of one
book.
Introduction
Literature review
There are two main classes of sports scheduling problems in the literature. The first
class minimises the number of breaks and is applied in European leagues, because each
team goes back home after each away game. Schreuder (1980) and de Werra (1981,
1988) discussed the applications of graph theory and its methods to schedule these
tournaments.
The second class minimises the total travel distance and is applied in the US leagues.
Campbell and Chen (1976) considered the scheduling problem of a basketball league
with ten teams and each team must play at most two consecutive A without returning
home. To solve the problem, they used a two-phase approach. Bean and Birge (1980)
considered a similar problem for scheduling the National Basketball Association (NBA).
They constructed an integer programming (IP) model for the problem that was too large
A. Tajbakhsh et al.
to solve by exact algorithms. Instead, they applied a revised version of the two-phase
method of Campbell and Chen (1976). Since the teams could play five consecutive A and
the venues were allowed to use for different purposes, this problem became a hard
scheduling problem. Fleurent and Ferland (1993) studied the scheduling of the National
Hockey League (NHL) that was split into two conferences and each conference was
separated into two divisions. Costa (1995) was the first researcher who applied a
metaheuristic solution method for solving a sports scheduling problem with a distance
minimisation objective. He scheduled the NHL with a combination of tabu search (TS)
and genetic algorithm (GA). In addition, Wright (2006) presented a simulated annealing
(SA) algorithm to schedule the National Basketball League of New Zealand and the
objective function reflected the number of violated requests.
Easton et al. (2001) introduced the travelling tournament problem (TTP) emanated
from the Major League Baseball (MLB). Solutions of the TTP must satisfy difficult
feasibility constraints and also minimise the total travel distances. This combination of
optimality and feasibility constraints makes the TTP a very difficult problem.
Many solution methods have been offered to solve the TTP. Easton et al. (2001)
introduced an algorithm based on a lower bound, which is the sum of the minimum travel
distances for each team. Benoist et al. (2001) used a combination of Lagrange relaxation
(LR) and constraint programming (CP). This algorithm consisted of three components
and the main component was a CP model. Easton et al. (2003) presented a hybrid IP/CP
algorithm that was a branch and price method. For allocating teams to tours in the master
problem, an LP problem was applied and for generating tours, a CP problem was solved
as the pricing problem. They presented an optimal solution for instances of four, six and
eight teams. Anagnostopoulos et al. (2006) developed a SA algorithm that used five types
of moves. They split the constraints into hard constraints and soft constraints. Lee et al.
(2006) in addition to building an IP model for the TTP with the no-repeater constraint
introduced capable TS for solving this problem. Henz (2004) proposed to hybridise large
neighbourhood search and CP to dominate local optima and applied five new versions of
moves. Urrutia and Ribeiro (2004) considered a specific class of the TTP and proved that
this case corresponded to maximising the number of breaks. Lim et al. (2006) proposed a
hybrid SA-hill algorithm that combined SA and hill-climbing methods. A beam search
(BS) approach generated the initial schedule and the algorithm iterated between two
parts. SA improved schedules in the first phase and hill-climbing found better team
assignments in the second phase. Melo et al. (2009) introduced a new extension of TTP
that had a predefined venue assignment for each game. They proposed and compared
three IP formulations and also presented some simple enumeration strategies to generate
feasible solutions. Recently, new methods have been developed for TTP (Cheung, 2008;
Fujiwara et al., 2006; Gaspero and Schaerf, 2007; Irnich, 2010; Urrutia and Ribeiro,
2006; Uthus et al., 2009).
There are two excellent papers that cover the literature of sports scheduling problems
comprehensively. Rasmussen and Trick (2008) and Kendall et al. (2010) presented and
classified the definitions, problems, solution methods, mathematical formulations and
real applications of sports scheduling properly.
The rest of the paper is organised as follows: In Section 3, TTP is described and then
a new mathematical modelling is offered. In Section 4, a hybrid metaheuristic method
using PSO and SA is proposed. Section 5 presents computational results and evaluates
the proposed hybrid algorithm. Finally, Section 6 provides concluding remarks and future
research directions.
The TTP
The TTP attempts to minimise the total distance travelled by all teams. In this section, we
define the main constraints of TTP, which consist of double round robin tournament
constraints, consecutive constraints and no-repeater constraints. In addition, a new
mathematical programming is presented.
Input:
Output: A double round robin tournament on the n teams that minimises the total
distance travelled by all teams and the number of consecutive A and consecutive H
are between L and U inclusive.
The cost of a team in a given schedule is the total distance that it must trip, starting from
its venue and finishing in its venue. Therefore, the cost of a schedule is the sum of the
cost of all teams. In addition, two additional constraints are important. The first is the
mirroring constraint that generates mirrored schedule and the second is the no-repeater
constraint that prevents each pair of teams from playing against each other in two
consecutive slots. Lee et al. (2006) presented an IP formulation for the TTP with the
no-repeater constraint. The binary decision variables of this model are:
Yi , j , k ,t = 1 team i travels from team j's venue to team k's venue at slot t
It is too difficult to use this model in our proposed hybrid algorithm, since the structure of
its constraints is sophisticated. When PSO is applied for solving a discrete optimisation
problem, the new position of a particle may not belong to the feasible space and it needs
to alter some members of the particle's new position vector. If the constraints of a
mathematical programming are complicated, this modification process will be difficult.
Therefore, we are constructing a new and equivalent model in which the structure of the
constraints is straightforward but the objective function is more complex. Notice that in
the proposed model, only the objective function is non-linear. The new mathematical
program is presented as follows:
Notation
1 i n: the index for the teams; 1 j n: the index for the teams
A. Tajbakhsh et al.
<Model 1>
n 2n 2
Minimise Z =
U (i, t )
(1)
i =1 t = 0
subject to
n
(x
i , j ,t
+ x j ,i ,t = 1
1 i n , 1 t 2n 2
(2)
i , j ,t
=1
1 i j n
(3)
xi ,i ,t = 0
1 i n , 1 t 2n 2
(4)
xi , j ,t + x j ,i ,t +1 1
1 i j n , 1 t 2n 3
x j ,i ,t + xi , j ,t +1 1
1 i j n , 1 t 2n 3
j =1
2n2
x
t =1
( x
i , j ,t
(x
j , i ,t
1 i n , 1 t 2n 5
(6)
1 i n , 1 t 2n 5
(7)
1 i, j n , 1 t 2n 2
(8)
+ xi , j ,t +1 + xi , j ,t + 2 + xi , j ,t +3 3
j =1
+ x j ,i ,t +1 + x j ,i ,t + 2 + x j ,i ,t + 3 3
j =1
(5)
xi , j ,t {0,1}
For each i and t where 1 i n and 0 t 2n 2, the value of U(i,t) is equal to the
distance travelled by team i after slot t and before slot t + 1.
U (i, 0) =
n
dij x j ,i ,1
j =1
U (i, 2n 2) =
n
d ji x j ,i ,2 n 2
j =1
if
i , j ,1
=1
j =1
(9)
if
j ,i ,1
=1
j =1
if
i , j ,2 n 2
=1
j =1
(10)
if
x
j =1
j ,i ,2 n 2
=1
dij x j ,i ,t +1
j =1
U (i, t ) =
n
1 t 2 n 3
d ji x j ,i ,t
j =1
n n
d jj x j ,i ,t x j ,i ,t +1
=
1
=
1
j
j
if
i , j ,t
j =1
if
j ,i ,t
j =1
j ,i ,t +1
=1
(11)
j =1
x
j =1
if
=1
xi , j ,t =
j =1
i , j ,t +1
j =1
if
i , j ,t +1
=1
j =1
n
x j ,i ,t =
j ,i ,t +1
=1
j =1
Expression (1) denotes the objective function that minimises the total travelling distance
for all the teams in the league. Constraints (9), (10), and (11) are used for computing the
value of the objective function. The total travelling distance for each team between two
arbitrary slots t and t + 1 is obtained by these three constraints. This is based on the fact
that a team between two consecutive slots plays home or plays away. It is obvious for
each i and t where 1 i n and 0 t 2n 2 we have:
the term
the term
x
j =1 i , j ,t
n
j =1
Constraints (9) and (10) imply that each team starts from its venue and finish in its venue.
Constraint (11) denotes the location of each team during slots 2 t 2n 3. If a travel is
necessary for a team, this constraint can calculate the travelled distance and update the
objective function.
Constraint (2) guarantees that each team on each slot plays against exactly one other
team either at home or away, because for each i and t where 1 i n and 0 t 2n 2
either only one xi,j,t is equal to 1 or only one xj,i,t is equal to 1. Constraint (3) implies that
each team must play once with any other teams in its venue. Thus, each team plays
against any other team once in its home venue and once in opponents venue. Constraint
(4) prevents a team to play with itself. Constraint (5) represents the no-repeater
constraint; hence two teams cannot play two games against each other in two consecutive
slots. Constraints (6) and (7) control the consecutive H and consecutive A, respectively.
In our model, no more than three consecutive home or A are allowed for any team
according to these consecutive constraints. Constraint (8) determines the type of decision
variables.
A. Tajbakhsh et al.
consecutive constraints [constraints (5), (6), and (7)] indicate the soft constraints and
double round robin constraints [constraints (2), (3), and (4)] are the hard constraints.
Since exploring the infeasible space can help to find high quality solutions for the
TTP, it is necessary to modify the objective function to guide the search to feasible
solutions. The penalty term must be increased with growing number of violations of the
no-repeater and consecutive constraints. When for schedule S the value = Z(S) is
obtained from expression (1), the modified objective function for S is defined as follows
(Anagnostopoulos et al., 2006):
C (S ) = 2
*
+ w f ( nbv ( S ) )
S is feasible
(12)
otherwise
where nbv (S) presents the number of violations of the soft constraints in S and w* shows
the penalty weight. Since a double round robin schedule is feasible if and only if it
satisfies the soft constraints, the final feasible schedule must satisfy nbv = 0.
Figure 1 Three functions for controlling the violations of the TTPs solutions (see online version
for colours)
1 + ( s q r t ( v ) * L n ( v ) ) /2
L o g . ( 1 + ( s q r t ( v ) * L n ( v ) ) /2 )
E x p o n . ( 1 + ( s q r t ( v ) * L n ( v ) ) /2 )
25
0 .0 3 9 7 x
y = 2 .7 4 3 5 e
2
R = 0 .8 3 5 4
20
15
y = 4 .2 2 2 7 L n ( x ) - 3 .7 4 8
2
R = 0 .8 8 9 3
10
49
47
45
43
41
39
37
35
33
31
29
27
25
23
21
19
17
15
13
11
-5
For example, team 2 has a home game against team 4 and an away game against team
3 at slot 6 and slot 1, respectively. Notice that in this schedule, the total cost of team 4 is:
d45 + d51 + d14 + d43 +d32 + d24 + d47 + d78 + d86 + d64.
Table 1
A schedule for the TTP with the no-repeater constraint with eight teams
Slot
10
11
12
13
14
Team 1
+8
+4
+7
+6
+5
+2
+3
Team 2
+7
+4
+8
+3
+6
+5
+1
Team 3
+2
+7
+1
+4
+8
+6
+5
Team 4
+2
+6
+3
+8
+5
+1
+7
Team 5
+4
+8
+1
+7
+6
+3
+2
Team 6
+7
+3
+8
+1
+5
+2
+4
Team 7
+5
+2
+1
+4
+6
+3
+8
Team 8
+2
+2
+3
+4
+7
+1
+6
Although the idea of hybrid PSO-SA algorithm for solving hard problems is reported in
the literature of COPs, this hybridising or even any pure PSO algorithm has not been
applied to TTP and other sports scheduling problems so far. Some of these papers are:
Ai-ling et al. (2006) for capacitated vehicle routing problem (CVRP); Xia and Wu (2006)
for job-shop scheduling problem (JSSP); Sivanandam et al. (2007) for task assignment
problem (TAP); Liu et al. (2007) for flow-shop scheduling problem (FSSP); Fang et al.
(2007) for travel salesman problem (TSP); Niknam et al. (2009) for K-means clustering
method.
This section describes a hybrid approach for solving the TTP with the no-repeater
constraint. In the proposed algorithm, two metaheuristic methods are used: particle
swarm optimisation (PSO) and SA. This hybrid algorithm applies a 0 1 version of PSO
in the first phase and generates many schedules rapidly. Since PSO has an improving
structure, these schedules are much better and more powerful than random schedules. In
the second phase of the hybrid algorithm, an SA approach applies the best schedules
achieved in the first phase as initial schedules and improves them. The proposed
algorithm leads to an optimal solution for the National League (NLn) instances of the
TTP with four, six, and eight teams. The MLB is divided into the National League and
the US League. NLn is a benchmark problem with n teams that describes the National
League. The information of the instances are presented in Michael Tricks guide to sports
scheduling (http://mat.gsia.cmu.edu/TOURN/) and all the problems have L = 1 and
U = 3.
Circular distance (CIRCn) instances are also solved by the proposed hybrid
algorithm. The CIRCn instance of TTP is an n-node circle graph (that its nodes are
named by {1,2,, n 1, n}) with distance of 1 between all adjacent nodes. So the
distance between two nodes i and j is equal to min{i j,n (i j)}, when i > j. Two types
of CIRCn are reported in Michael Tricks guide to sports scheduling:
10
A. Tajbakhsh et al.
This paper considers the NLn and CIRCn instances of the TTP with the no-repeater
constraint. Notice that the optimal schedules of NLn and CIRCn have been achieved only
for instances with at most eight and six teams, respectively.
iter +1
iter
iter
iter
iter
iter
vrh
= w vrh
+ c1 r1iter prh
xrh
+ c2 r2iter pgh
xrh
iter +1
iter
iter +1
xrh
= xrh
+ vrh
(13)
(14)
where in these two equations Xr = (xr1, xr2,, xrh,, xr(Dim)) is the position vector of the
rth particle; Vr = (vr1, vr2,, vrh, vr(Dim)) is the velocity vector of the rth particle;
Pr = (pr1, pr2,, prh,, pr(Dim)) is the vector of the best previously visited position of the
rth particle; g is the index of the best so far particle in the swarm; iter is the iteration
number of the PSO; c1, c2 are two positive constants, called cognitive and social
parameter respectively; w is called inertia weight; and r1iter , r2iter are random numbers,
uniformly distributed in [0, 1].
iter
iter
iter
iter
and c2 r2iter pgh
xrh
in equation (13) guide
Two terms c1 r1iter prh
xrh
the particle towards its best previously visited position and towards the best particle of
the swarm, respectively. For controlling the velocity, a bound like Vmax is applied and we
iter +1
always have Vmax vrh
Vmax for r = 1,2, size and for h = 1,2,, Dim.
In the above discussion, PSO was described for continuous optimisation problems.
Kennedy and Eberhart (1997) proposed the first discrete version of PSO for binary
iter +1
, the value of the binary
optimisation problems. After calculating the value of the vrh
iter +1
iter +1
variable xrh
will be 1 with the probability of S vrh
. Liao et al. (2007) used
11
S(x) = 1/(1 + ex) for their proposed PSO algorithm, let r and() denotes a random number
selected from a uniform distribution in [0, 1], then:
(15)
(16)
iter +1
iter +1
rand ( ) < S vrh
xrh
=1
iter +1
iter +1
rand ( ) S vrh
xrh
=0
iter +1
and here Vmax vrh
Vmax is valid as well. If equations (15) and (16) are applied in
binary problems, solutions may be infeasible and it is necessary to modify a number of
iter +1
xrh
.
Teamj0 (t0 Teami0 Teamj0). So t0 is selected randomly from Teami0 Teamj0 with the
probability of 1/ Teami0 Teamj0 . If xi0 , j0 ,t0 becomes 1, t0 must be eliminated from
both sets Teami0 and Teamj0. In addition, these assignments are necessary:
xi0 , j ,t0 = x j0 ,i ,t0 = 0
1 j i0 n, 1 i n
1 i n
The first step of the process of generating a particle (a schedule) with n = 4 that satisfies
the hard constraints is shown in Table 2.
A. Tajbakhsh et al.
12
Table 2
In the
Teami
beginning of
sets
the process
Team1 {1,2,3,4,5,6}
{1,2,3,4,6}
{1,3,4,6}
Team2 {1,2,3,4,5,6}
{1,2,3,4,6}
{1,3,4,6}
Team3 {1,2,3,4,5,6}
{1,2,3,4,5,6}
{1,2,3,4,5,6}
Team4 {1,2,3,4,5,6}
Output
xi,i,t = 0
{1,2,3,4,5,6}
{1,2,3,4,5,6}
It is possible to apply this fast process for generation of the initial swarm. Assignment of
the initial velocity vectors will be done randomly. The velocity of the rth particle in
iteration iter + 1 is updated according to the following equation:
+1
iter
iter
iter
iter
iter
iter
vriter
priter
,i , j ,t = w vr ,i , j ,t + c1 r1
,i , j ,t xr ,i , j ,t + c2 r2 p g ,i , j ,t xr ,i , j ,t
(17)
While there are various choices for c1, c2, and w in the literature (Kennedy and Eberhart,
1997; Liao et al. 2007), the best results for solving the TTP using the proposed algorithm
were obtained by c1 = c2 = 0.5 and w = 1 after applying it to the test problems. The
scheme of the proposed PSO for solving the TTP will be as follows:
Step 1
Step 2
Calculate the objective value of each particle of the initial swarm; for
1 r size let Pr Xr and C(Pr) C(Xr); in addition let
C ( Pg ) min C ( X r ) ; if minimum was obtained from r = r0, for finding the
1 r Size
Step 3
Update the velocity of each particle of the current swarm according to equation
+1
(17), such that vriter
,i , j ,t [ Vmax , Vmax ] is satisfied. Update the position of each
+1
particle according to equations (15) and (16); then let xriter
,i , j ,t 1 with the
+1
iter +1
iter +1
probability of S (vriter
,i , j ,t ) and xr ,i , j ,t 0 with the probability of 1 S (vr ,i , j ,t ) ; if
the obtained solution does not satisfy the hard constraints, modify this solution
using a process similar to the heuristic process.
Step 4
Step 5
Step 6
Determine the best particle of the current swarm and update g, Pg, and C(Pg) if it
is necessary.
Step 7
13
SwapHomes (ti, tj): This move interchanges the home team in the two games
between team i and team j.
SwapSlots (sk, sl): This move interchanges the games of slot k and slot l.
A. Tajbakhsh et al.
14
SwapTeams (ti, tj): This move interchanges the pattern of team i and the pattern of
team j, except at slots when they play together.
PartialSwapSlots (ti, sk, sl): This move interchanges the games of team i at slots k and
l.
PartialSwapTeams (ti, tj, sk): This move interchanges the games of teams i and j at
slot k.
Table 3
Neighbourhood
Slot
Team1
Team2
Team3
Team4
+3
4
1
+2
+2
1
+4
3
+4
3
+2
1
3
+4
+1
2
2
+1
4
+3
4
+3
2
+1
+3
4
1
+2
+2
1
+4
3
+4
+3
2
1
3
+4
+1
2
2
+1
4
+3
4
3
+2
+1
Table 4
Neighbourhood
Slot
Team1
+3
+2
+4
+3
+4
+2
Team2
+4
+1
+3
+4
+1
+3
Team3
+4
+2
+1
+2
+4
+1
Team4
+2
+3
+1
+2
+3
+1
Table 5
Slot
Team1
Team2
Team3
Team4
Table 6
Neighbourhood
+3
4
1
+2
+2
1
+4
3
+4
3
+2
1
3
+4
+1
2
2
+1
4
+3
4
+3
2
+1
+3
4
1
+2
+4
3
+2
1
+2
1
+4
3
3
+4
+1
2
4
+3
2
+1
2
+1
4
+3
Neighbourhood
Slot
Team1
Team2
Team3
Team4
+3
4
1
+2
+2
1
+4
3
+4
3
+2
1
3
+4
+1
2
2
+1
4
+3
4
+3
2
+1
+3
4
1
+2
4
+3
2
+1
+4
3
+2
1
3
+4
+1
2
2
+1
4
+3
+2
1
+4
3
15
Neighbourhood
Slot
Team1
+3
+2
+4
Team2
+4
Team3
+4
+2
+1
Team4
+2
+3
+3
+1
+3
2
+1
+2
+4
+4
+1
+3
+4
+1
+2
+2
+3
+1
If the current solution is a double round robin schedule, the new solution will be a double
round robin schedule. Anagnostopoulos et al. (2006) used Tphase+1 = Tphase as the
cooling schedule. They also applied a strategic oscillation process and a reheating
program in their SA approach. The strategic oscillation process has been often used in
the literature to change the weight w* during the search process. When SA constructs a
new best schedule, w* is multiplied by a constant if this solution is infeasible or is divided
by a constant if this solution is feasible. The first constant is shown by and the second
by . These two constants have a value more than 1. This method keeps a balance
between search of the feasible space and search of the infeasible space.
When SA leads to low temperatures, the value of e(/T) decreases sharply. Since it is
difficult to avoid a local optimum. In this situation, reheating increases the temperature.
The number of reheating is controlled by parameter max Reheats. In addition, parameter
countLimit is applied is an upper bound on the number of searches in the neighbourhood
of a new better feasible solution.
The proposed SA algorithm for solving TTP has a computational complexity of
(n3 max Reheats max Phases countLimit) that has been obtained from this
process:
while maxReheats
while maxPhases
while countLimit
SwapHomes neighbourhood
SwapSlots neighbourhood
SwapTeams neighbourhood
PartialSwapSlots neighbourhood
PartialSwapTeams neighbourhood
Computational experiments
The proposed hybrid algorithm is tested on a number of instances of the TTP with the norepeater constraint. As mentioned in Section 4, the NLn instances are based on the
information in MLB and the CIRCn are some theoretical instances for TTP.
The optimal solution for NL4, NL6, and NL8 has been reported in Michael Tricks
guide to sports scheduling (http://mat.gsia.cmu.edu/TOURN/). However these simple
instances are used to verify and validate the algorithm, our algorithm leads to optimal
schedules for these three instances rapidly and results fast and quality solutions for the
A. Tajbakhsh et al.
16
other instances. Moreover optimal schedules of CIRCn instances have been achieved for
CIRC4 and CIRC6 up to the present moment.
The computational experiments were performed on a Pentium 4, CPU 2.4GHz, 2GB
RAM and all algorithms were coded in Microsoft Visual C++ 6.0 with polynomial
computational complexity of:
{ (
) (
)}
The detail of the best methods and their solutions for TTP is shown in Michael Tricks
guide to sports scheduling (http://mat.gsia.cmu.edu/TOURN/).
At first, the PSO component of the proposed PSO-SA algorithm is used to solve the
TTPs instances as a pure PSO algorithm. The PSO component solves NL4, NL6, NL8,
NL10, CIRC4, CIRC6, CIRC8 and CIRC10 instances with 30 runs and also NL12 and
CIRC12 with 20 runs. Different values of PSOs parameters (c1, c2 and w) are used:
( c1 , c2 ) {(0.5, 0.5), (0.55, 0.45), (0.45, 0.55), (0.6, 0.4), (0.4, 0.6)}
& w {1,1.05,1.1}
and the other PSOs parameters are constant: size = 10, Vmax = 4, max iter = 1,000.
The best results are received from (c1, c2) = (0.5, 0.5) and w = 1 values for all values
of n. In addition, for NL4 and CIRC4 instances the algorithm always obtains an optimal
solution in less than one minute. Figure 2 presents the performance of PSO for NLn
instances. In Figure 2, the average, minimum and maximum values of all the runs are
shown. The ordered pairs of horizontal axis describe the number of iterations of PSO and
the CPU time of searching process. As can be seen from Figure 2, PSO is very fast and
the obtained solutions are of high quality suitable for the SA component.
Figure 2
Performance and improving process of pure PSO for NL6, NL8, NL10 and NL12
(see online version for colours)
Objective Function (Average)
Objective Function (Max)
Objective Function
NL6
NL8
51000
49000
47000
45000
43000
41000
(1000,10)
(800,8)
(700,7)
(600,6)
(500,5)
(400,4)
(300,3)
(200,2)
NL12
(Iter,Time in seconds)
(1000,1000)
(900,900)
(800,800)
(700,700)
(600,600)
(500,500)
(400,400)
(300,300)
(200,200)
(100,100)
(50,50)
(40,40)
(30,30)
(1000,500)
(900,450)
(800,400)
(700,350)
(600,300)
(500,250)
(400,200)
(300,150)
(200,100)
(100,50)
(50,25)
(40,20)
(30,15)
(20,10)
(10,5)
(1,0.5)
145000
140000
135000
130000
125000
120000
115000
110000
(1,1)
NL10
(Iter,Time in seconds)
(100,1)
(10,10)
77000
75000
73000
71000
69000
67000
65000
63000
61000
59000
(Iter,Time in seconds)
Objective Function
(50,0.5)
(40,0.4)
(30,0.3)
(20,0.2)
(10,0.1)
(1,0.01)
(1000,3)
(900,2.7)
(800,2.4)
(700,2.1)
(600,1.8)
(500,1.5)
(400,1.2)
(300,0.9)
(200,0.6)
(100,0.3)
(50,0.15)
(40,0.12)
(30,0.09)
(20,0.06)
(10,0.03)
39000
(Iter,Time in seconds)
Objective Function
53000
31000
30000
29000
28000
27000
26000
25000
24000
23000
(1,0.003)
Objective Function
2,880
7,200
10,800
CIRC8
CIRC10
CIRC12
0.1
CIRC4
CIRC6
7,200
10,800
NL12
NL8
NL10
20
2,880
NL6
0.2
NL4
Instance
CPU time
(in second)
436
258
136
64
20
120,341
62,343
40,057
23,916
8,276
12
597
296
184
Standard
deviation of the
solutions of
PSO-SA
algorithm
2.7523%
2.3256%
1.4706%
0.0000%
0.0000%
0.4961%
0.4748%
0.4593%
0.0000%
0.0000%
Average
SD
420
254
132
64
20
120,036
62,032
39,721
23,916
8,276
446
266
146
64
20
120,658
63,299
40,433
23,916
8,276
Maximum of
Minimum of the
the solutions
solutions of PSOof PSO-SA
SA algorithm
algorithm
460
280
146
64
20
133,503
68,415
44,562
25,912
8276
Minimum of
the solutions
of PSO
algorithm
0.913
0.907
0.904
1.000
1.000
0.899
0.907
0.891
0.923
1.000
MIN(PSO)
MIN(PSO-SA)
Table 8
Average of the
solutions of
PSO-SA
algorithm
17
59,583
111,248
NL10
NL12
379
23,916
244
416
CIRC12
8,476
28,458
408
246
132
CIRC10
2,021
132
CIRC8
115,089
59,821
39,721
64
464
26,751
6,135
2,204
a
8,276
20
111,483
59,583
39,721
23,916
64
14,400
86,400
14,400
86,400
37,947
23,023
3,730
648
1.8
54,026
40,289
4,107
821
1.7
CIRC6
143,655
b
1.15
CIRC4
68,505
68,691
42,517
NL8
40,269
23,916
39,721
NL6
1,639
a
8,276
NL4
Anagnostopoulos
et al. (2006) SA
algorithm
420
254
132
64
20
120,036
62,032
39,721
23,916
8,276
PSO-SA
algorithm
b
10,800
7,200
2,880
0.1
10,800
7,200
2,880
20
0.2
404
242
132
64
20
110,729
59,436
39,721
23,916
8,276
Table 9
Instance
18
A. Tajbakhsh et al.
Results and comparison of the best solutions, (a) the best found solution (b) average
computational time (seconds) (c) the best found solution in the literature)
19
The results of the proposed PSO-SA algorithm and the comparison with the best
solutions of the above pure PSO are shown in Table 8. For each instance, we implement
30 runs, reporting the statistical description of the PSO-SA, the best found solution and
the total running time of the procedure in seconds. Although PSO leads to proper quality
solutions rapidly, PSO-SA can improve the solutions properly.
In addition, the results of the proposed PSO-SA algorithm and the comparison with
the best solutions found in the literature are shown in Table 9. Table 9 reports the best
found solution and the total running time of the procedure in seconds and also gives the
results of the SA, LR-CP, TS and SA-Hill approaches that were introduced in Section 2.
In each of the 30 runs of PSO-SA, some parameters are constant that are assigned
according to Table 10 The parameters of PSO components are obtained from the best
results of the mentioned pure PSO. The value of max iter describes the number of
iterations for the PSO algorithm needed to obtain the initial solution for SA algorithm. In
fact, this parameter represents a criterion to terminate the PSO algorithm in the hybrid
algorithm. In addition, the size of each swarm in the PSO component is equal to 10 and
the value of Vmax is 4.
Table 10
Instance
max iter
c1 = c2
max Reheats
T0
w0*
1,000
1,000
0.5
0.5
50
50
10
10
400
400
4,000
4,000
NLn
CIRCn
Instance
Table 11
Parameters of PSO
NL4
NL6
NL8
NL10
NL12
CIRC4
CIRC6
CIRC8
CIRC10
CIRC12
4,391
4,715
4,816
4,922
4,963
4,487
4,637
4,797
4,910
4,949
b
368
167
112
51
31
302
225
131
49
37
c
241
118
72
27
6
211
138
72
41
14
d
4.82%
2.36%
1.44%
0.54%
0.12%
4.22%
2.76%
1.44%
0.82%
0.28%
Random-SA
algorithm
PSO-SA algorithm
8,276
27,357
46,210
76,070
149,512
20
64
148
338
664
3
1,000
2,880
7,200
10,800
3
200
2,880
7,200
10,800
8,276
23,916
39,721
62,032
120,036
20
64
132
254
420
0.2
20
2,880
7,200
10,800
0.1
5
2,880
7,200
10,800
Notes: (a) number of random solutions that satisfy neither soft constraints nor hard constraints;
(b) number of random solutions that satisfy only hard constraints;
(c) number of random solutions that satisfy all constraints;
(d) percent of random solutions that satisfy all constraints;
A: the best found solution and B: average computational time (seconds)
A. Tajbakhsh et al.
20
Table 11 shows that the results of the proposed PSO-SA algorithm is much better than
the results of a Random-SA algorithm. For each instance, 5000 random initial solutions
have been generated. Then 30 solutions of them that have satisfied the hard constraints
were selected as the starting solutions of the SA algorithm.
According to Table 9, the proposed PSO-SA algorithm leads to an optimal schedule
for NL4, NL6, CIRC4 and CIRC6 very fast. This algorithm was also tested for solving
harder instances, namely NL8, NL10, NL12, CIRC8, CIRC10 and CIRC12, and the
separated results are summarised in Table 12 to Table 17, respectively. These tables
present the quality of the results for above 30 runs of PSO-SA on these six instances
along with the computation times, using the parameters shown in Table 10. Furthermore,
the best solution found and the average objective function values of the solutions over the
runs are given. Notice that the quality of these results is comparable to those given in
Michael Tricks guide to sports scheduling at the time of writing as represented by two
criteria: Gap and Difference. Table 12 shows that the results of the proposed PSO-SA
algorithm for solving NL8 is much better than those of the previous approaches
mentioned in Table 9 and our proposed algorithm requires only 1,440 seconds to generate
an optimal schedule. In summary, these six tables suggest that the proposed PSO-SA
approach and especially the PSO component works very well for generating of proper
initial solutions.
Table 12
Our best
1( % )
Lower bound
Difference =
Table 13
240
40,340
41,124
480
40,001
41,067
960
39,902
40,713
1,440
39,721
40,083
1.56%
0.70%
0.46%
0.00%
1.56%
0.70%
0.46%
0.00%
Our best
1( % )
Lower bound
Difference =
600
63,625
63,994
1,200
63,387
63,709
3,600
62,343
62,582
7,200
62,032
62,343
10.05%
9.63%
7.83%
7.29%
7.25%
6.83%
5.03%
4.49%
9.33%
9.33%
Difference =
7.69%
3.08%
11.61%
8.65%
960
136
138.7
1,440
132
134.5
4.62%
1.54%
3.08%
0.00%
8.94%
10,800
120,036
120,341
Table 16
21
16.67%
10.53%
3,600
262
267.3
7,200
254
258
14.91%
11.40%
8.77%
5.26%
20.83%
9.38%
3,600
436
452.61
10,800
420
436
13.54%
9.38%
8.33%
4.17%
A. Tajbakhsh et al.
22
The important parameters of SA a are , max Phases and countLimit. So, in Figure 3, we
compare our solutions in terms of the computational times for NL6, NL8, NL10 and
NL12 instances for different values of (0.99, 0.999 and 0.9999). For each value, the
corresponding instance is solved ten times and the best solution is determined. In the first
three instances, the best solution is obtained when = 0.999 and in NL12, the best
solution is obtained when = 0.9999. In addition, we solve the NL8, NL10, NL12,
CIRC8, CIRC10 and CIRC12 instances for two sets of values of parameters max Phases
(5,000 and 100) and countLimit (500 and 50). For each set, the related instance is solved
15 times and in all cases, the quality of values max Phases = 5,000 and countLimit = 500
is desirable. For example, the result of NL8 is shown in Figure 4.
The effect of on the final solution quality over time for NL6, NL8, NL10 and NL12
(see online version for colours)
Figure 3
beta=0.99
beta=0.999
beta=0.99
beta=0.9999
25300
25000
24700
24400
24100
NL8
47000
45000
43000
41000
23800
5
10
39000
20
16
24
36
Time (seconds)
beta=0.99
beta=0.999
beta=0.99
beta=0.9999
96
240
480
960
1440 2880
beta=0.999
beta=0.9999
144000
140000
69000
Objective Function
Objective Function
48
Time (seconds)
71000
NL10
67000
65000
63000
NL12
136000
132000
128000
124000
120000
61000
116000
5
10
20
30
45
60
120
300
10
20
30
45
60
120
300
Tim e (seconds)
Time (seconds)
The effect of max Phases & countLimit on the final solution quality over time for
NL8 (see online version for colours)
(maxphases,countlimit)=(100,50)
(maxphases,countlimit)=(5000,500)
51000
Objective Function
Figure 4
beta=0.9999
49000
NL6
Objective Function
Objective Function
beta=0.999
51000
25600
49000
47000
45000
43000
41000
39000
4
16
24
36
48
96
240
Time (seconds)
480
960
1440 2880
23
Conclusions
This paper studies the TTP introduced by Easton et al. (2001) to schedule the MLB. The
TTP considers a double round robin tournament to minimise the total distance travelled
by all the teams. Therefore, it involves concepts of feasibility and optimality and is a
complex problem.
Although several recent works on the TTP have proposed heuristic approaches, only
one mathematical model for the TTP exists in the literature where its constraints have a
sophisticated structure for applying PSO algorithm. Our paper presents a new
mathematical model using IP and suggests a hybrid metaheuristic algorithm that
combines PSO and SA. The PSO component quickly generates the initial schedules,
while the SA component improves these schedules and attempts to find the optimal
schedule. The SA algorithm searches both feasible and infeasible spaces and applies
efficient neighbourhoods to improve solutions. Our experiments show that the proposed
hybrid algorithm leads to solutions that are comparable to best schedules for standard
instances and that it guarantees good and high quality performances. Furthermore, our
proposed algorithm solves NLn instances with four, six and eight teams to optimality.
Although a hybrid metaheuristic method is introduced in this paper, it would be
attractive to investigate other hybrid metaheuristic algorithms in future research.
Especially, new and improved binary PSO algorithms could be applied for hybridising. In
addition, it is important to study new effective neighbourhoods to gain high quality
solutions. Finally, developing other neighbourhood search techniques could also improve
the efficiency of the algorithm.
Acknowledgements
The authors gratefully acknowledge the many helpful comments provided by two
anonymous referees. Their comments have significantly improved the paper.
References
Ai-ling, C., Gen-ke, Y. and Zhi-ming, W.U. (2006) Hybrid discrete particle swarm optimization
algorithm for capacitated vehicle routing problem, Journal of Zhejiang University Science A,
Vol. 7, No. 4, pp.607614.
Anagnostopoulos, A., Michel, L., Van Hentenryck, P. and Vergados, Y. (2006) A simulated
annealing approach to the travelling tournament problem, Scheduling, Vol. 9, pp.177193.
Bean, J.C. and Birge, J.R. (1980) Reducing travelling costs and player fatigue in the national
basketball association, Interfaces, Vol. 10, No. 3, pp.98102.
Benoist, T., Laburthe, F. and Rottembourg, B. (2001) Lagrange relaxation and constraint
programming collaborative schemes for travelling tournament problems, International
Workshop on Integration of AI and OR Techniques, April, Ashford, Kent UK.
Campbell, R.T. and Chen, D.S. (1976) A minimum distance basketball scheduling problem, in
Machol, R.E., Ladany, S.P. and Morrison, D.G. (Eds.): Management Science in Sports, Studies
in the Management Sciences, Vol. 4, pp.1526, North-Holland Publishing Company.
Cheung, K.K.H. (2008) Solving mirrored travelling tournament problem benchmark instances with
eight teams, Discrete Optimization, Vol. 5, pp.138143.
24
A. Tajbakhsh et al.
Costa, D. (1995) An evolutionary tabu search algorithm and the NHL scheduling problem,
Information Systems and Operational Research, Vol. 33, No. 3, pp.161178.
de Werra, D. (1981) Scheduling in sports, in Hansen, P. (Ed.): Studies on Graphs and Discrete
Programming, pp.381395, North-Holland Mathematics Series, Amsterdam.
de Werra, D. (1988) Some models of graphs for scheduling sports competitions, Discrete Applied
Mathematics, Vol. 21, pp.4765.
Easton, K., Nemhauser, G. and Trick, M. (2001) The travelling tournament problem: description
and benchmarks, in Walsh, T. (Ed.), Lecture Notes in Computer Science, Vol. 2239,
pp.580584,International Conference on Principle and Practice of Constraint Programming.
November/December 2001, Paphos, Cyprus, Springer, Berlin.
Easton, K., Nemhauser, G. and Trick, M. (2003) Solving the travelling tournament problem: a
combined integer programming and constraint programming approach, in Burke, E. and
De Causmaecker, P. (Eds.): Lecture Notes in Computer Science, Vol. 2740, pp.100109,
Springer, Berlin.
Eberhart, R.C., Simpson, P. and Dobbins, R. (1996) Computational intelligence PC Tools,
Academic Press, San Diego.
Fang, L., Chen, P. and Liu, S. (2007) Particle swarm optimization with simulated annealing for
TSP, WSEAS International Conference on Artificial Intelligence, Knowledge Engineering
and Data Bases, February 2006. Greece.
Fleurent, C. and Ferland, J.A. (1993) Allocating games for the NHL using integer programming,
Operations Research, Vol. 41, No. 4, pp.649654.
Fujiwara, N., Imahori, S., Matsui, T. and Miyashiro, R. (2006) Constructive algorithms for the
constant distance travelling tournament problem, International Series of Conferences on the
Practice and Theory of Automated Timetabling, August/September, Brno, Czech Republic.
Gaspero, L.D. and Schaerf, A. (2007) A composite-neighborhood tabu search approach to the
travelling tournament problem, Heuristics, Vol. 13, pp.189207.
Henz, M. (2004) Playing with constraint programming and large neighborhood search for
travelling tournament, International Series of Conferences on the Practice and Theory of
Automated Timetabling. August, Pittsburgh, USA.
Irnich, S. (2010) A new branch-and-price algorithm for the travelling tournament problem,
European Journal of Operational Research, Vol. 204, pp.218228.
Kendall, G., Knust, S., Ribeiro, C.C. and Urrutia, S. (2010) Scheduling in sports: an annotated
bibliography, Computers & Operations Research, Vol. 37, pp.119.
Kennedy, J. and Eberhart, R.C. (1995) Particle swarm optimization, IEEE International
Conference on Neural Networks, November/December, Perth, Australia.
Kennedy, J. and Eberhart, R.C. (1997) A discrete binary version of the particle swarm algorithm,
Conference on Systems, Man and Cybernetics, October.
Kirkpatrick, S., Gelatt, C.D. and Vecchi, M.P. (1983) Optimization by simulated annealing,
Science, Vol. 220, pp.671680.
Lee, J.H., Lee, Y.H. and Lee, Y.H. (2006) Mathematical modeling and tabu search heuristic for
the travelling tournament problem, in Gavrilova, M. et al. (Eds.): Lecture Notes in Computer
Science, Vol. 3982, pp.875884, Springer, Berlin.
Liao, C.J., Tseng, C.T. and Luarn, P. (2007) A discrete version of particle swarm optimization for
flowshop scheduling problems, Computers & Operations Research, Vol. 34, pp.30993111.
Lim, A., Rodrigues, B. and Zhang, X. (2006) A simulated annealing and hill-climbing algorithm
for the travelling tournament problem, European Journal of Operational Research, Vol. 174,
pp.14591478.
Liu, B., Wang, L. and Jin, Y.H. (2007) An effective hybrid particle swarm optimization for
no-wait flow shop scheduling, International Journal of Manufacturing Technology, Vol. 31,
pp.10011011.
25
Melo, R.A., Urrutia S. and Ribeiro C.C. (2009) The travelling tournament problem with
predefined venues, Journal of Scheduling, in press.
Niknam, T., Amiri, B., Olamaei, J. and Arefi, A. (2009) An efficient hybrid evolutionary
optimization algorithm, Journal of Zhejiang University Science A, Vol. 10, No. 4,
pp.512519.
Rasmussen, R.V. and Trick, M.A. (2008) Round robin scheduling a survey, European Journal
of Operational Research, Vol. 188, pp.617636.
Schreuder, J.A.M. (1980) Constructing timetables for sport competitions, Mathematical
Programming Study, Vol. 13, pp.5867.
Shi, Y. and Eberhart, R.C. (1998) A modified particle swarm optimizer, IEEE International
Conference on Evolutionary Computation, May, Anchorage, Alaska.
Sivanandam, S.N., Visalakshi, P. and Bhuvaneswari, A. (2007) Multiprocessor scheduling using
hybrid particle swarm optimization with dynamically varying inertia, International Journal of
Computer Science & Applications, Vol. 4, No. 3, pp.95106.
Trick, M.A. (xxxx) Michael Tricks guide to sports scheduling, challenging travelling tournament
problems, available at URL http://mat.gsia.cmu.edu/TOURN/ (accessed on July 2009).
Urrutia, S. and Ribeiro, C.C. (2004) Minimizing travels by maximizing breaks in round robin
tournament schedules, Electronic Notes in Discrete Mathematics, Vol. 18, pp.227233.
Urrutia, S. and Ribeiro, C.C. (2006) Maximizing breaks and bounding solutions to the mirrored
travelling tournament problem, Discrete Applied Mathematics, Vol. 154, pp.19321938.
Uthus, D.C., Riddle, P.J. and Guesgen, H.W. (2009) DFS* and the travelling tournament
problem, in Hoeve, W.J. and Hooker, J. N. (Eds.): Lecture Notes in Computer Science,
Vol. 5547, pp.279293), Springer, Berlin.
Wright, M.B. (2006) Scheduling fixtures for basketball New Zealand, Computers & Operations
Research, Vol. 33, pp.18751893.
Xia, W.J. and Wu, Z.M. (2006) A hybrid particle swarm optimization approach for the
job-shop scheduling problem, International Journal of Manufacturing Technology, Vol. 29,
pp.360366.