Remember the best food source found so far.
If a termination criterion has not been satisfied, go to step 2; otherwise stop the procedure and report the best food source
found so far.
3.2. Control parameters
There are three control parameters in the basic ABC algorithm, i.e., the number of food sources (SN), the number of cycles
through which a food source cannot be improved further and then the food source is assumed to be abandoned (limit), and a
termination criterion.
3.3. Initial population
In the basic ABC algorithm, the initial population is generated by a random approach. Let
v
i
¼f
v
i1
;
v
i2
; ...;
v
in
g represents
the ith food source in the population where n is the problem dimension. Each food source is randomly and uniformly gen-
erated as follows:
v
ij
¼
v
min
ij
þ
v
max
ij
v
min
ij
r; j ¼ 1; ...; n; i ¼ 1; ...; SN; ð7Þ
where
v
max
ij
and
v
min
ij
are the lower and upper bounds for the dimension j, respectively and r is a uniform random number in
[0,1].
3.4. Employed bee phase
In the employed bee phase, the ith food source
v
i
is given to the ith artificial employed bee, who generates a new neigh-
boring solution around the given food source as follows:
v
new;j
¼
v
ij
þ Uð1; 1Þð
v
ij
v
kj
Þ; ð8Þ
where i 2 {1,...,SN}, and k 2 {1,...,SN} ^ k – i is randomly chosen food source. After obtaining the new solution
v
new
, it will
be evaluated and compared to
v
i
, then the solution with the higher fitness value will be the winner.
3.5. Onlooker bee phase
The onlookers are the bees who wait in their hive for making decisions to select food sources after the employed bees
carrying the food source back. The onlooker bees use the probability values to select the food source for discovering prom-
ising regions in the search space. The winning probability value for each food source is calculated as follows:
p
i
¼
fit
i
P
SN
i¼1
fit
i
; ð9Þ
where fit
i
is the fitness value of the ith food source.
3.6. Scout bee phase
If a food source cannot be further improved through a limited cycles, then the food source is assumed to be abandoned
and a randomly generated food source will be replaced with it.
However, the above ABC algorithm, originally designed for the continuous nature of optimization problems, cannot be
used for discrete/combinatorial cases; therefore, in this work, some modifications to the above ABC algorithm have been
made for the discrete version, as described below.
4. The proposed DABC algorithm
4.1. Solution representation
In the proposed algorithm, each food source/solution contains two vectors, i.e., the routing vector and the scheduling vec-
tor. Each dimension in the routing vector represents the selected machine for the corresponding operation whereas each
dimension in the scheduling vector denotes the related job that their operations belong to. Each vector contains the total
number of operations denoted as op
n
um. For example, consider an FJSP instance with three machines and three jobs where
each machine has one maintenance task as shown in Table 1. In addition, Table 2 gives the operation processing time for the
problem. The solution representation for this example is given in Fig. 1.
In Fig. 1, the routing vector indicates the assigned machine for each operation. For example, M
2
is selected for O
21
whereas
M
3
is selected for O
32
. On the other hand, the scheduling vector indicates processing sequence for all operations. Reading jobs
from left to right, the schedule of all operations can be found very easily, which is depicted in Fig. 2.
1114 J.-Q. Li et al. / Applied Mathematical Modelling 38 (2014) 1111–1132