s.t.
X
s
k
i¼1
z
k; j;i
¼ 1;
8
j 2 J; k 2 M ð2Þ
s
kþ1; j
s
k; j
P p
k; j
;
8
j 2 J; k; k þ 1 2 M ð3Þ
y
k; j; j
0
þ y
k; j
0
; j
6 1 ;
8
j; j
0
2 J ; k 2 M ð4Þ
s
k; j
0
ðs
k; j
þ p
k; j
ÞþU ð3 y
k; j; j
0
z
k; j;i
z
k; j
0
;i
Þ P 0;
8
j; j
0
2 J ; k 2 M; i 2f1; 2; ...;
s
k
gð5Þ
s
k; j
P 0;
8
j 2 J; k 2 M ð6Þ
The objective function (1) is to minimise the total flowtime, where C
j
is the completion time of job j in the shop. Con-
straints (2) ensure that a job must pass through all stages and be processed by exactly one machine at each stage. Constraints
(3) are the technological requirements for two consecutive operations of a job, in that the next operation can be started only
after the preceding one has finished. Constraints (4) and (5) describe the machine capacity restriction. For two jobs that are
processed on the same machine, the next job can be started only after the previous job has finished. The constraints in (6)
ensure that the start times are nonnegative.
The above problem is denoted as FHm//
P
C
j
using the well-known
a
/b/
c
notation and the extension for HFS problems [14].
Even the classic flowshop scheduling problem, with a total flowtime criterion that determines only the appropriate sequenc-
ing of operations on each machine, is already NP-hard. With the additional need to determine job routes, the HFS with the
total flowtime criterion is much more difficult, and it is NP-hard as well.
3. Introduction to the basic MBO algorithm
In the MBO, the solutions are treated as birds aligned in a V formation. Each solution can derive benefit from the solution
in front of it. MBO is formed with a number of initial solutions. Starting with the first solution, which corresponds to the
leader bird in the flock, MBO attempts to improve the solution by exploring its neighbourhood. Then, the following solution
evaluates a number of its own neighbours and a number of the best unused neighbours from its previous solution (here, ‘un-
used’ means a neighbour solution that is not used to replace the existing solution). The best solution replaces the current
solution if it is better. The improvement process progresses toward the tails. Once all of the solutions in the flock are con-
sidered, this process is repeated again. After a number of tours, the leader solution is moved to the end of the line, and one of
the solutions following it is forwarded to the leader position. Then, another loop starts. The above procedure is repeated until
a termination condition is met. MBO is composed of four basic phases: initialisation, improvement upon the leader, improve-
ment upon the followers, and selecting a new leader. These are described below [10].
3.1. Initialisation
Initialisation has two steps. The first step is to set the algorithmic parameters, including the population size (
a
) or the
number of initial solutions, the number of neighbouring solutions to be considered (b), the number of neighbouring solutions
to be shared with the next solution (
v
), and the number of tours (
x
). They correspond respectively to the number of birds in
the flock, the speed of flight, the wing-tip spacing, and the number of wing flaps before there is a change in the order of the
birds (or the profiling energy spent). After extensive experiments, Duman et al. [10] suggested that
a
= 51,
x
= 10, b = 3, and
v
=1.
The second step is to create the initial population. The initial population consists of
a
solutions that were randomly gen-
erated in the feasible solution space. One of them is selected as the leader. The remaining
a
1 solutions are divided equally
into two groups. The two groups are then added to the left list (denoted as L
l
¼fx
l;1
; x
l;2
; ...; x
l;
a
1
2
g) and the right list (denoted
as L
r
¼fx
r;1
; x
r;2
; ...; x
r;
a
1
2
g), respectively, where x
l,k
/x
r,k
is the kth solution in L
l
/L
r
. This arrangement is similar to the migrating
birds’ scenario, where a bird leads the flock and two lines of other birds follow it.
3.2. Improvement upon the leader
To improve the leader solution, b neighbouring solutions are randomly generated. If the best neighbouring solution is bet-
ter than the leader, then the leader is replaced by this solution; otherwise, the leader stays unchanged. The remaining b 1
neighbouring solutions are sorted in ascending order of their objective values (for the minimisation optimisation problem).
Then, two shared neighbour sets, specifically the left neighbour set
K
l
and the right neighbour set
K
r
, are formed as follows.
The first neighbouring solution enters
K
l
, the second enters
K
r
, the third enters
K
l
, and the fourth enters
K
r
, and so on, until
both
K
l
and
K
r
are filled with
v
solutions.
3.3. Improvement upon the followers
The exploring process progresses along the lines toward the tails. For a solution x
l,k
e
L
l
, randomly generate b
v
neigh-
bouring solutions in its neighbourhood. Evaluate these b
v
neighbouring solutions and
v
solutions from the left neighbour
Q.-K. Pan, Y. Dong / Information Sciences 277 (2014) 643–655
645