
Algorithm 1. Outline of algorithm TS/PR for JSP.
1: Input: J, M, and P
k
2: Output: C
max
and the best solution S
n
found so far
3:
P ¼fS
1
; …; S
p
g’Population_InitializationðÞ /
n
Section 2.2
n
/
4:
for i ¼f1; …; pg do
5:
S
i
’Tabu_SearchðS
i
Þ /
n
Section 2.3
n
/
6: end for
7:
S
n
¼ arg minff ðS
i
Þji ¼ 1; …; pg
8:
PairSet’fðS
i
; S
j
ÞjS
i
A P; S
j
A P and S
i
a S
j
g
9: repeat
10: Randomly select one solution pair {S
i
,S
j
} from PairSet
11:
S
p þ 1
’Path_RelinkingðS
i
; S
j
Þ,
S
p þ 2
’Path_RelinkingðS
j
; S
i
Þ /
n
Section 2.4
n
/
12:
S
p þ 1
’Tabu_Search lparS
p þ 1
Þ,
S
p þ 2
’Tabu_SearchðS
p þ 2
Þ /
n
Section 2.3
n
/
13:
if S
p þ 1
(or S
p þ 2
) is better than S
n
then
14:
S
n
¼ S
p þ 1
(or S
p þ 2
)
15: end if
16:
Tentatively add S
p þ 1
and S
p þ 2
to population P:
P
0
¼ P [fS
p þ 1
; S
p þ 2
g
17:
PairSet’PairSet [fðS
p þ 1
; S
k
ÞjS
k
A P and S
k
a S
p þ 1
g
18:
PairSet’PairSet [fðS
p þ 2
; S
k
ÞjS
k
A P and S
k
a S
p þ 2
g
19: Identify the two worst solutions S
u
and S
v
in the
temporary population P
0
20: Generate new population by removing the two worst
solutions S
u
and S
v
:
P ¼fS
1
; …; S
p
; S
p þ 1
; S
p þ 2
g\fS
u
; S
v
g
21: Update PairSet:
PairSet’PairSet\fðS
u
; S
k
ÞjS
k
A P and S
k
a S
u
g
PairSet’PairSet\fðS
v
; S
k
ÞjS
k
A P and S
k
a S
v
g
22: until a stop criterion is met
2.2. Initial population
In TS/PR, the initial population is constructed as follows:
Starting from scratch, we randomly generate a feasible solution
and then optimize the solution to become a local optimum using
our improvement method (see Section 2.3). The resulting improved
solution is added to the population if it does not duplicate any
solution currently in the population. This procedure is repeated
until the size of the population reaches the cardinality p.
2.3. Tabu search procedure
Our TS procedure is identical to the one used in the hybrid
evolutionary algorithm (HEA) presented in Cheng et al. [6].
Specifically, our TS procedure uses the neighborhood proposed
by Zhang et al. [23]. In addition, it stops if the optimal solution is
found or the best objective value has not been improved for a
given number of TS iterations, called the tabu search cutoff. The
interested reader may refer to the HEA presented in Cheng et al.
[6] for more details.
2.4. Path relinking procedure
The relinking procedure is used to generate new solutions by
exploring trajectories (confined to the neighborhood space) that
connect high-quality solutions. The solution that begins the path is
called the initiating solution while the solution that the path leads
to is called the guiding solution. The PathSet is a list of candidate
solutions that stores all the solutions generated during the path
relinking procedure. After the relinking procedure, a so-called
reference solution is chosen from the PathSet that serves to update
the population. In order to better describe the relinking procedure,
we give some definitions in Table 1.
Contrary to previous studies, our proposed path relinking
process mainly integrates two complementary key components
to ensure search efficiency. The first component is the construction
approach used for establishing the path between the initiating and
the guiding solutions. In the related literature, Nasiri and Kianfar
[13]'s relinking swaps adjacent operations on a machine, while
GRASP/PR by Aiex et al. [2] swaps different operations on each
machine in turn. However, in this study we swap two different
operations on one machine randomly, where both the operations
and the corresponding machine are randomly chosen. More details
will be presented in Section 2. The second component is the
method used to choose the reference solution. In related studies,
Aiex et al. [2] simply consider the solution with the best makespan
in the path as the reference one, while Nasiri and Kianfar [13]
follow Nowicki and Smutnicki [15]'s i-TSAB whereby it goes from
the initiating solution, then stops at a specific iteration and returns
the current solution as the reference solution. In contrast, we
devise a dedicated strategy based on the adaptive distance-control
mechanism to obtain the most promising solution. Therefore, the
path relinking approach plays the important role of diversification
in coordinating with the efficient TS procedure.
Fig. 2. Illustration of the path solution selection procedure.
Table 2
The settings of some important parameters in TS/PR.
Parameter Value Description
α
dis
5
Minimum distance between solutions in PathSet and
S
I
and S
G
β
max
dis
10
; 2
Interval for choosing the path solutions
si 500 The number of iterations for the slight tabu search
li 12,500 The number of iterations for the strong tabu search
p 30 Population size
B. Peng et al. / Computers & Operations Research 53 (2015) 154–164156