Vous êtes sur la page 1sur 24

2

European J. Industrial Engineering, Vol. 6, No. 1, 2012

A hybrid PSO-SA algorithm for the travelling


tournament problem
Alireza Tajbakhsh*, Kourosh Eshghi and
Azam Shamsi
Department of Industrial Engineering,
Sharif University of Technology, Tehran, Iran
E-mail: atajbakhsh85@gmail.com
E-mail: eshghi@sharif.edu
E-mail: ashamsi@nri.ac.ir
*Corresponding author
Abstract: Sports scheduling has become an important area of applied
operations research in recent years, since satisfying fans and teams requests
and revenues of a sports league and TV networks may be affected by quality of
the league schedule. While this type of scheduling problem can be solved by
mathematical methods and exact solutions are accessible, it computationally
leads to hard problems. The travelling tournament problem (TTP) is defined as
minimising total travelling distance for all teams in a league. In this study, a
new mathematical model for the TTP with the no-repeater constraint is
presented. In addition, a very fast hybrid metaheuristic algorithm is proposed,
which combines particle swarm optimisation (PSO) and simulated annealing
(SA). Our computational experiments on standard instances show that the
hybrid approach results in comparable to or even better than current best known
solutions, specifically in computational time.
[Received 24 August 2009; Revised 16 January 2010, 9 June 2010; Accepted
12 June 2010]
Keywords: sports scheduling; minimising total travelling distance; travelling
tournament problem; TTP; particle swarm optimisation; PSO; simulated
annealing; SA; hybrid metaheuristic algorithm.
Reference to this paper should be made as follows: Tajbakhsh, A., Eshghi, K.
and Shamsi, A. (2012) A hybrid PSO-SA algorithm for the travelling
tournament problem, European J. Industrial Engineering, Vol. 6, No. 1,
pp.225.
Biographical notes: Alireza Tajbakhsh obtained his BSc from the University
of Tehran (2006) and MSc from the Sharif University of Technology (2008).
His field of research work is on combinatorial optimisation, scheduling, integer
programming (IP) and metaheuristic algorithms. He is the author of one book.
Kourosh Eshghi obtained his BSc from the Tehran Polytechnic University
(1986), MSc from the Sharif University of Technology (1992) and PhD in
Operations Research from the University of Toronto (1997). He has been in
teaching field since 1998 in the Industrial Engineering Department at the Sharif
University of Technology, Tehran, Iran. He was a Visiting Professor of the
Operations Research Center of MIT during 20052006 His field of research
work is on graph theory, IP and combinatorial optimisation. He is the author of
two books and over 50 journal papers.

Copyright 2012 Inderscience Enterprises Ltd.

A hybrid PSO-SA algorithm for the travelling tournament problem

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

Sports scheduling has become an attractive class of scheduling problems in recent


years. These difficult problems may also provide solution methods for applied
combinatorial optimisation problems (COPs). The combination of the optimisation
concept and the feasibility concept in sports scheduling problems makes them very
difficult, even instances with eight teams are very sophisticated. Sports scheduling
applications are characterised by constraints arising from television networks and
teams. Specially, the TV networks want the important games to be scheduled at specific
dates.
According to Rasmussen and Trick (2008), a round robin tournament is a tournament
where each team plays against other teams in a predefined number of times. Most
tournaments are performed as a double round robin tournament and each pair of teams
plays twice. The games of a tournament must be assigned to some time slots (slots) and
each team has to play no more than one game in each slot. To schedule a single round
robin tournament with n teams, n slots are needed when n is odd and n 1 slots are
needed when n is even. A timetable can show the assignment of games to slots.
Teams often have a private venue and they perform home games (H) when they play
at their private venue, whereas they have away games (A) at other venues. When a team
plays no game in a slot, it has a bye (B). The pattern of a team is its order of Hs, As and
Bs during the tournament. In many leagues it is important to have an interchanging
pattern of Hs and As with a few breaks. A break is equal to two consecutive As or two
consecutive Hs. A schedule corresponds to a timetable with allocated H and A. When the
sequence of games of the first and the second half of a schedule are exactly the same, it is
a mirrored schedule. A trip is defined as a chain of consecutive A, while a home stand
presents a chain of consecutive H.

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.

A hybrid PSO-SA algorithm for the travelling tournament problem

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.

3.1 Problem description


Easton et al. (2001) introduced and defined TTP as follows:

Input:

n: the number of teams

D: an n by n integer symmetric distance matrix

L, U: integer parameters (Usually, L is 1 and U is 3)

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

n: the number of teams

D = [dij]: the symmetric distance matrix

1 i n: the index for the teams; 1 j n: the index for the teams

1 t 2n 2: the index for the slots

dij: the distance between team is venue and team js venue

A. Tajbakhsh et al.

Binary decision variable

xi,j,t = 1 team i plays home against team j in slot t

<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

A hybrid PSO-SA algorithm for the travelling tournament problem

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

= 1 means that team i in slot t plays home

x j ,i ,t = 1 means that team i in slot t plays away

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.

3.2 Objective function


This section describes the objective function of the TTP with the no-repeater constraint.
In applying the proposed metaheuristic algorithm, it is hard to satisfy all constraints
of the TTP in all iterations. Anagnostopoulos et al. (2006) divided them into hard
constraints that are satisfied permanently and soft constraints that can be violated in an
iteration. If a soft constraint is violated, the solution (schedule) will be infeasible and will
impose a penalty term on the objective function. The no-repeater constraints and

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

Anagnostopoulos et al. (2006) showed that function f (v ) = 1 + ( v ln v ) / 2 is a suitable


one to control the violations of the TTPs solutions. We use two additional functions in
the proposed hybrid algorithm. These functions are achieved from a Logarithmic
Regression and a Power Regression of the f (v ) = 1 + ( v ln v ) / 2. The equation and the
R-square value of each function is shown in Figure 1. In each iteration, the hybrid
algorithm applies randomly one of these three functions.
A solution (schedule) of the TTP with the no-repeater constraint with eight teams is
shown in Table 1. Each row represents a team and each column represents a slot
(Rasmussen and Trick, 2008). The element of row ith and column kth presents the
opponent of team ith at slot kth. Each + presents a home game and each presents an
away game for the team of the related row.

A hybrid PSO-SA algorithm for the travelling tournament problem

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

A hybrid metaheuristic algorithm (PSO-SA) for TTP

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.

Unconstrained: no limits on length of trips and home stands

Constrained: no more than three consecutive Hs or As, but the no-repeater


constraint is obligatory.

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.

4.1 Particle swarm optimisation (PSO)


PSO emanated from the behaviour of bird flocking and fish schooling. Each individual
attempts to keep an optimum distance from other individuals and applies its successful
and effective movements which have been memorised. In this section first a brief
explanation of PSO is presented and then our proposed PSO for TTP is discussed.

4.1.1 Standard PSO algorithm


PSO applies a population or swarm of solutions to explore the search space and each
individual or particle of this swarm owns a velocity (Eberhart et al., 1996; Kennedy and
Eberhart, 1995). In addition, each particle has a memory that recalls the best position it
has ever met. Each particle moves towards its best previously visited position and
towards the best particle of the swarm. Suppose that the dimension of the search space
and the size of the swarm are denoted by Dim and size, respectively. The velocity and the
position of each particle (for r = 1,2, size and for h = 1,2,, Dim) are controlled by the
following two equations (Eberhart et al., 1996; Shi and Eberhart, 1998):

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

A hybrid PSO-SA algorithm for the travelling tournament problem

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
.

4.1.2 Proposed PSO algorithm for TTP


This section describes a discrete PSO approach for the TTP with the no-repeater
constraint based on the mathematical modelling in Section (3.1). In fact, each particle of
this proposed PSO represents a double round robin schedule that satisfies the hard
constraints. If xi,j,t is a binary variable of Model (1), the corresponding particle will be a
three-dimensional array in which the first dimension corresponds to the i index, the
second dimension corresponds to the j index, and the third dimension corresponds to the t
index.
Generating an initial swarm of particles is the first step for each PSO algorithm. This
can be done by a random initial swarm; however, it does not guarantee to satisfy the hard
constraints. In this paper we use the structure of the constraints (2), (3), and (4) to
construct a heuristic process, which generates proper initial solutions (initial schedules).
We explain this process for the TTP with n teams. Since this problem contains 2n 2
slots, 0 or 1 must be assigned to each n n (2n 2) binary variables of the proposed
model in Section (3.1). For 1 i n we define:
Teami : the set of slots in which the team i 's opponent is not assigned yet

In beginning of the heuristic process, Teami is equal to {1,2,, 2n 2} for each


1 i n and xi,i,t is equal to 0 for each 1 i n and 1 t 2n 2. When 1 is assigned to
xi0 , j0 ,t0 with i0 j0, it is necessary for slot t0 to belong to both sets Teami0 and

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

Then the process will be continued so that:


Teami =

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

An example of initial steps of the heuristic process with four teams

In the
Teami
beginning of
sets
the process

After the first step of the process,


i0 = 1, j0 = 2, t0 = 5

After the second step of the process,


i0 = 2, j0 = 1, t0 = 2

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}

x1,2,5 = 1, x1,1,5 = x1,3,5 = = x1,6,5= 0


x2,1,5 = x2,2,5 = x2,3,5 = = x2,6,5 = 0

x2,1,2 = 1,x2,2,2 = x2,3,2 = = x2,6,2 = 0


x1,1,2 = x1,2,2 = x1,3,2 = = x1,6,2 = 0

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

Generate a population of particles based on the heuristic process.

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

best particle let g r0 and Pg X r .


0

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

Calculate the objective value of each particle.

Step 5

For 1 r Size, if C(Pr) C(Xr) is satisfied, let Pr Xr and C(Pr) C(Xr).

Step 6

Determine the best particle of the current swarm and update g, Pg, and C(Pg) if it
is necessary.

Step 7

If a stopping criterion is achieved, then present Pg and C(Pg); otherwise go to


Step 3.

In brief, the computational complexity of Step 7 is (Size max iter), Step 4 is


(n2 Size max iter) and other steps is (n5 Size max iter). Therefore the proposed
PSO for solving TTP has a complexity of (n5 Size max iter).

A hybrid PSO-SA algorithm for the travelling tournament problem

13

4.2 Simulated annealing (SA)


SA is an efficient optimisation algorithm that provides a probabilistic mechanism to solve
COPs. This algorithm has motivated from the simulation of the annealing of solids and
applied to a numerous number of optimisation problems (Kirkpatrick et al., 1983). This
Section describes a SA approach for the TTP with the no-repeater constraint. Our
proposed PSO provides initial solutions for SA during a hybrid search process. So this
hybrid algorithm can be transformed into a standard PSO by deleting the SA unit.

4.2.1 Standard SA algorithm


Kirkpatrick et al. (1983) introduced the SA algorithm to solve hard optimisation
problems. This algorithm is an iterative development approach that has been inspired by
an algorithm used in statistical physics. SA starts from an initial solution that is improved
by generating local alterations. This algorithm explores both feasible and infeasible
schedules. This ability is critical for the success of SA, because it is possible to find a
good feasible solution in the neighbourhood of an infeasible solution. The current
solution and the new solution are denoted by S and S, respectively. In other words, the S
is a solution in neighbourhood of S. Then, the difference between objective function
values, = F(S) F(S), is evaluated (Kirkpatrick et al., 1983). For a minimisation
problem, if < 0, the transformation into the new solution is consented. If 0, then the
transformation into the new solution is consented with a probability e(/T), where T is a
parameter called the temperature. The SA begins from a high temperature and then the
temperature decreases progressively. This approach explores the search space for a fixed
number of iterations at each temperature, called the epoch length. Notice that when T
increases, the value of e(/T) decreases and improper solutions will be eliminated from the
search gradually. In the SA, the choice of neighbourhood can improve algorithm
performance and computational time greatly. Cooling schedule can control the increases
or decreases of the temperature in the SA process. A proper initial temperature (T0) and
final temperature can influence the computational time of the SA. There are many
suggestions for cooling schedule in the current literature and setting Tphase+1 = Tphase
during the (phase + 1)th epoch, where is a parameter called decreasing rate. A higher
decreasing rate leads to slow improvement and therefore more iterations are required.
The criterion to terminate the algorithm can be reaching the value of T to a particular
termination temperature or reaching the value of phase to an upper bound such as
max phase (Anagnostopoulos et al., 2006).

4.2.2 Proposed SA algorithm for TTP


For a SA algorithm, it is important to define some neighbourhood for the current solution.
In the proposed hybrid algorithm, the neighbourhood of a solution is a set of the
schedules that are generated by moves designed by Anagnostopoulos et al. (2006) and
Table 3 to Table 7 describe these neighbourhoods for TTP with four teams. There are
(n2) such the first three moves and (n3) such the last two moves.

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

An example of SwapHomes move with four teams


SwapHomes (t2, t3)
Current schedule

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

An example of SwapSlots move with four teams


SwapSlots (s2, s3)
Current schedule

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

An example of SwapTeams move with four teams


SwapTeams (t1, t3)
Current schedule

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

An example of PartialSwapSlots move with four teams


PartialSwapSlots ( t2 , s2 , s6 )
Current schedule

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

A hybrid PSO-SA algorithm for the travelling tournament problem


Table 7

15

An example of PartialSwapTeams move with four teams


PartialSwapTeams (t1, t2, s4)
Current schedule
4

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:

{ (

) (

max n5 Size max iter , n3 max Reheats max Phases countLimit

)}

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 (Min)

Best Feasible Solution in Literature

Objective Function

NL6

NL8

51000
49000
47000
45000
43000
41000

Best Feasible Solution in Literature


(900,9)

(1000,10)

(800,8)

(700,7)

(600,6)

(500,5)

(400,4)

(300,3)

(200,2)

Objective Function (Min)

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)

Best Feasible Solution in Literature


(20,20)

(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)

Best Feasible Solution in Literature

145000
140000
135000
130000
125000
120000
115000
110000
(1,1)

NL10

(Iter,Time in seconds)

(100,1)

Objective Function (Average)


Objective Function (Max)

Objective Function (Min)

(10,10)

77000
75000
73000
71000
69000
67000
65000
63000
61000
59000

(Iter,Time in seconds)

Objective Function

Objective Function (Average)


Objective Function (Max)

(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

Objective Function (Min)

53000

31000
30000
29000
28000
27000
26000
25000
24000
23000
(1,0.003)

Objective Function

Objective Function (Average)


Objective Function (Max)

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

A hybrid PSO-SA algorithm for the travelling tournament problem


Statistical analysis of PSO-SA and comparison of PSO-SA with PSO

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

Lim et al. (2006)


SA-Hill algorithm

CIRC6

143,655

b
1.15

Lee et al. (2006)


TS algorithm

CIRC4

68,505

68,691

42,517

NL8

40,269

23,916

39,721

NL6

1,639

a
8,276

Benoist et al. (2001)


LR-CP algorithm

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

Michael tricks guide


to sports scheduling

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)

A hybrid PSO-SA algorithm for the travelling tournament problem

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

Parameter values for computational experiments


Parameters of PSO-SA

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

Comparison of PSO-SA with Random-SA

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)

The parameters of the strategic oscillation process in SA component, namely and ,


have a value equal to 1.04. On the other hand, different values are chosen for other SAs
parameters to vary the search space:

A. Tajbakhsh et al.

20

(max phases, countLimit ) {(5000,500), (100,50)} & {0.99, 0.999, 0.9999}

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

Analysis of schedules from 30 runs of the proposed PSO-SA (NL8)


Lower bound = 39,721 and previous best = 39,721

Average computational time


The best found solution
Average objective function values of the
solutions
Ga p =

Our best
1( % )
Lower bound

Difference =
Table 13

Our best-previous best


( %)
Lower bound

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%

Analysis of schedules from 30 runs of the proposed PSO-SA (NL10)


Lower bound = 57,817 and previous best = 59,436

Average computational time


The best found solution
Average objective function values of the
solutions
Ga p =

Our best
1( % )
Lower bound

Difference =

Our best-Previous best


(%)
Lower bound

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%

A hybrid PSO-SA algorithm for the travelling tournament problem


Table 14

Analysis of schedules from 30 runs of the proposed PSO-SA (NL12)

Lower bound = 107,548 and previous best = 110,729


Average computational time
1,200
1,800
3,600
The best found solution
120,768
120,764
120,346
Average objective function values of the
121,084
121,078
120,658
solutions
12.29%
12.29%
11.90%
Our best
Ga p =
1( % )
Lower bound
Difference =
Table 15

Our best-previous best


( %)
Lower bound

9.33%

9.33%

Difference =

Our best-previous best


( %)
Lower bound

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%

Analysis of schedules from 30 runs of the proposed PSO-SA (CIRC10)

Lower bound = 228 and previous best = 242


Average computational time
600
1,200
The best found solution
280
266
Average objective function values of the
289.4
272.8
solutions
22.81%
16.67%
Our best
Ga p =
1( % )
Lower bound
Difference =
Table 17

8.94%

10,800
120,036
120,341

Analysis of schedules from 30 runs of the proposed PSO-SA (CIRC8)

Lower bound = 130 and previous best = 132


Average computational time
240
480
The best found solution
142
136
Average objective function values of the
146.7
139.5
solutions
9.23%
4.62%
Our best
Ga p =
1( % )
Lower bound

Table 16

21

Our best-previous best


( %)
Lower bound

16.67%

10.53%

3,600
262
267.3

7,200
254
258

14.91%

11.40%

8.77%

5.26%

Analysis of schedules from 30 runs of the proposed PSO-SA (CIRC12)

Lower bound = 384 and previous best = 404


Average computational time
1,200
1,800
The best found solution
484
440
Average objective function values of the
503.
456.76
solutions
26.04%
14.58%
Our best
Ga p =
1( % )
Lower bound
Difference =

Our best-previous best


( %)
Lower bound

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

600 1200 1800 3600 7200

10

20

30

45

60

120

300

600 1200 1800 3600 7200 10800

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

A hybrid PSO-SA algorithm for the travelling tournament problem

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.

A hybrid PSO-SA algorithm for the travelling tournament problem

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.

Vous aimerez peut-être aussi