C
π
1
ðiÞ;1
¼ min
k ¼ 1;2;…m
1
fIM
k;1
gþp
π
1
ðiÞ;1
NM
1
¼ arg min
k ¼ 1;2;…m
1
fIM
k;1
g
IM
NM
1
;1
¼ C
π
1
ðiÞ;1
8
>
>
>
<
>
>
>
:
i ¼ m
1
þ1; m
1
þ2; …n ð3Þ
π
j
ðiÞ¼gðC
π
j 1
ðiÞ;j 1
Þ i ¼ 1; 2; …n; j ¼ 2; 3; …s ð4Þ
C
π
j
ðiÞ;j
¼ C
π
j
ðiÞ;j 1
þp
π
j
ðiÞ;j
IM
i;j
¼ C
π
j
ðiÞ;j
(
i ¼ 1; 2; …m
1
; j ¼ 2; 3; …s ð5Þ
C
π
j
ðiÞ;j
¼ max fC
π
j
ðiÞ;j 1
; min
k ¼ 1;2;…m
j
fIM
k;j
ggþp
π
j
ðiÞ;j
NM
j
¼ arg min
k ¼ 1;2;…m
j
fIM
k;j
g
IM
NM
j
;j
¼ C
π
j
ðiÞ;j
8
>
>
>
>
<
>
>
>
>
:
i ¼ m
j
þ1; m
j
þ2; …n; j ¼ 2; 3; …s
ð6Þ
where π
j
is the job permutation at the stage j; π
k
(i) is the ith job in
the job permutation π
k
; C
π
k
ðiÞ;j
is the completion time of job π
k
(i)at
the stage j; IM
i,j
represents the idle moment of machine i at the
stage j; NM
j
denotes the serial number of earliest available
machine at the moment at the stage j; the function S
j
(i)¼g(S
j 1
(i))
(i¼1,2,…, n) means that S
j
is the permutation of i (i¼1,2,…n) at the
stage j based on the ascending order of S
j 1
(i)(i¼1,2,…n) at the
stage j 1; and argmin
k
fIM
k
g stands for the argument of the
minimum, i.e. the set of points of the given argument for which
the given function attains its minimum value.
Eq. (1) defines the objective function which to minimize the
makespan C
max
. In above recursive equations (2)–(6), the authors
firstly calculate the completion time of jobs at the stage one, then
that of the stage two, until the last stage. To illustrate the model
and the issues described above, the authors consider a simple
example of the HFS problem with 4 jobs and 3 stages. The number
of machines at each stage is 2 and the processing time p
i,j
is given
by
p
i;j
¼
241
542
215
223
2
6
6
6
4
3
7
7
7
5
Suppose the job sequence at the stage one π
1
¼(2, 1, 3, 4) is
given. Then the makespan C
max
is calculated as follows (the Gantt
chart is shown in Fig. 1):
Stage 1
C
π
1
ð1Þ;1
¼ IM
1;1
¼ p
π
1
ð1Þ;1
¼ 5
C
π
1
ð2Þ;1
¼ IM
2;1
¼ p
π
1
ð2Þ;1
¼ 2
C
π
1
ð3Þ;1
¼ min fIM
1;1
; IM
2;1
gþp
π
1
ð3Þ;1
¼ 2 þ2 ¼ 4
NM
1
¼ arg min fIM
1;1
; IM
2;1
g¼2
IM
2;1
¼ C
π
1
ð3Þ;1
¼ 4
C
π
1
ð4Þ;1
¼ min fIM
1;1
; IM
2;1
gþp
π
1
ð4Þ;1
¼ 4 þ2 ¼ 6
8
>
>
>
>
>
>
>
>
>
<
>
>
>
>
>
>
>
>
>
:
π
2
¼ð1; 3; 2; 4Þ
Stage 2
C
π
2
ð1Þ;2
¼ IM
1;2
¼ C
π
2
ð1Þ;1
þp
π
2
ð1Þ;2
¼ 2þ4 ¼ 6
C
π
2
ð2Þ;2
¼ IM
2;2
¼ C
π
2
ð2Þ;1
þp
π
2
ð2Þ;2
¼ 4þ1 ¼ 5
C
π
2
ð3Þ;2
¼ max fC
π
2
ð3Þ;1
; min fIM
1;2
; IM
2;2
ggþp
π
2
ð3Þ;2
¼ 5þ4 ¼ 9
NM
2
¼ arg min fIM
1;2
; IM
2;2
g¼2
IM
2;2
¼ C
π
2
ð3Þ;2
¼ 9
C
π
2
ð4Þ;2
¼ max fC
π
2
ð4Þ;1
; min fIM
1;2
; IM
2;2
ggþp
π
2
ð4Þ;2
¼ 6þ2 ¼ 8
:
8
>
>
>
>
>
>
>
>
<
>
>
>
>
>
>
>
>
:
π
3
¼ð3; 1; 4; 2Þ
Stage3
C
π
3
ð1Þ;3
¼ IM
1;3
¼ C
π
3
ð1Þ;2
þp
π
3
ð1Þ;3
¼ 5þ5 ¼ 10
C
π
3
ð2Þ;3
¼ IM
2;3
¼ C
π
3
ð2Þ;2
þp
π
3
ð2Þ;3
¼ 6þ1 ¼ 7
C
π
3
ð3Þ;3
¼ max fC
π
3
ð3Þ;2
; min fIM
1;3
; IM
2;3
ggþp
π
3
ð3Þ;3
¼ 8þ3 ¼ 11
NM
3
¼ arg min fIM
1;3
; IM
2;3
g¼2
IM
2;3
¼ C
π
3
ð3Þ;3
¼ 11
C
π
3
ð4Þ;3
¼ max fC
π
3
ð4Þ;2
; min fIM
1;3
; IM
2;3
ggþp
π
3
ð4Þ;3
¼ 10þ2 ¼ 12
:
8
>
>
>
>
>
>
>
>
<
>
>
>
>
>
>
>
>
:
Thus the makespan is:
C
max
ðπ
1
Þ¼ max fC
π
3
ð1Þ;3
; C
π
3
ð2Þ;3
; C
π
3
ð3Þ;3
; C
π
3
ð4Þ;3
g¼C
π
3
ð4Þ;3
¼ 12
3. The improved discrete artificial bee colony (IDABC)
algorithm for the HFS problem
The ABC algorithm inspired by the foraging behaviors of real
honey bees is originally designed for the continuous nature of
optimization problems. In a real bee colony, there are some tasks
done by specialized individuals. Bees try to maximize the nectar
amount unloaded to the food stores in the hive by the division of
labor and self-organization, which are essential components of
swarm intelligence [41]. The colony of artificial bees in the ABC
algorithm contains three groups of bees, namely, the employed
bees, the onlooker bees, and the scout bees. Each of them plays
different roles in the process: the employed bees fly onto the
sources which they are exploiting; the onlooker bees waiting in
the hive are responsible for deciding whether a food source is
promising by watching the dances performed by the employed
bees; and the scout bees choose sources randomly by means of
some internal motivations or possible external clues. Both the
onlooker bees and the scout bees are also called unemployed bees.
A food source in the search place corresponds to a solution of the
optimization problem, and the nectar amount of the food source
corresponds to the fitness of the solution. The processes of the ABC
algorithm can be shown in pseudo-code as Fig. 2.
Following the above procedure for the continuous function
optimization, in this article the authors propose an improved
discrete version of the ABC algorithm for the HFS problem. It is
shown in details below.
3.1. Individual representation and initialization
Owing to its continuous nature of the basic ABC algorithm,
researchers always converted the real domain into the discrete
domain when it is applied to the discrete optimization. And this
overhead makes the algorithms complicated. The model of the HFS
problem is formulated by using the vector representation in the
previous section. As a result, the authors adopt this representation
Fig. 1. An example of HFS problem with 4 jobs and 3 stages. Fig. 2. The procedure of basic ABC algorithm.
Z. Cui, X. Gu / Neurocomputing 148 (2015) 248–259250