AAAAAMMMMA
AAAAAMMMMA
Article
Improved Whale Algorithm for Solving the Flexible
Job Shop Scheduling Problem
Fei Luan 1,2, *, Zongyan Cai 1 , Shuqiang Wu 1 , Tianhua Jiang 3 , Fukang Li 1 and Jia Yang 1
1 School of Construction Machinery, Chang’an University, Xi’an 710064, China; czyan@chd.edu.cn (Z.C.);
wushuqiangjob@163.com (S.W.); fukangli198@163.com (F.L.); yangjialearning@163.com (J.Y.)
2 College of Mechanical and Electrical Engineering, Shaanxi University of Science & Technology,
Xi’an 710021, China
3 School of Transportation, Ludong University, Yantai 264025, China; jth1127@163.com
* Correspondence: luanfei@sust.edu.cn
Received: 6 March 2019; Accepted: 24 April 2019; Published: 28 April 2019
Abstract: In this paper, a novel improved whale optimization algorithm (IWOA), based on the
integrated approach, is presented for solving the flexible job shop scheduling problem (FJSP) with the
objective of minimizing makespan. First of all, to make the whale optimization algorithm (WOA)
adaptive to the FJSP, the conversion method between the whale individual position vector and
the scheduling solution is firstly proposed. Secondly, a resultful initialization scheme with certain
quality is obtained using chaotic reverse learning (CRL) strategies. Thirdly, a nonlinear convergence
factor (NFC) and an adaptive weight (AW) are introduced to balance the abilities of exploitation
and exploration of the algorithm. Furthermore, a variable neighborhood search (VNS) operation is
performed on the current optimal individual to enhance the accuracy and effectiveness of the local
exploration. Experimental results on various benchmark instances show that the proposed IWOA
can obtain competitive results compared to the existing algorithms in a short time.
Keywords: whale optimization algorithm; flexible job shop scheduling problem; nonlinear
convergence factor; adaptive weight; variable neighborhood search
1. Introduction
In recent years, scheduling played a crucial role in almost all manufacturing systems, as global
competition became more and more intense. The classical job shop scheduling problem (JSP) is
one of the most important scheduling forms existing in real manufacturing. It became a hotspot in
the academic circle and received a large amount of attention in the research literature with its wide
applicability and inherent complexity [1–3]. In JSP, a group of jobs need to be processed on a set of
machines, where each job consists of a set of operations with a fixed order. The processing of each
operation of the jobs must be performed on a given machine. Each machine is continuously available
at time zero and can process only one operation at a time without interruption. The decision concerns
how to sequence the operations of all the jobs on the machines, so that a given performance indicator
can be optimized. Makespan is the time in which all the jobs need to be completed and is a typical
performance indicator for the JSP.
The flexible job shop scheduling problem (FJSP) is an extension of the classical JSP, where each
operation can be processed by any machine in a given set rather than one specified machine. The FJSP
is closer to a real manufacturing environment compared with classical JSP. According to its practical
applicability, the FJSP became very crucial in both academic and application fields. However, it is more
difficult than classical JSP because it contains an additional decision problem, assigning operations to
the appropriate machine. Therefore, the FJSP is a problem of challenging complexity and was proven
to be non-deterministic polynomial-time (NP)-hard [4].
In the initial study, Brucker and Schlie firstly proposed a polynomial algorithm for solving the
FJSP with two jobs [5]. During the past two decades, the FJSP attracted the interest of many researchers.
There were many approximation algorithms, mainly metaheuristics, presented for solving the FJSP.
Dauzere-Peres and Paulli [6] proposed a tabu search (TS) algorithm which was based on a new
neighborhood structure for the FJSP. Mastrolilli and Gambardella [7] designed two neighborhood
functions and presented an improved TS algorithm based on the original one which was proposed in
literature [6]. Mati et al. [8] proposed a genetic algorithm for solving the FJSP with blocking constraints.
Regarding the FJSP, Mousakhani. [9] developed a mixed-integer linear programming model (MILP)
and designed an iterated local search algorithm to minimize total tardiness. Yuan et al. [10] designed a
novel hybrid harmony search (HHS) algorithm based on the integrated approach for solving the FJSP
with the objective to minimize makespan. Tao and Hua [11] presented an improved bacterial foraging
algorithm (BFOA) based on cloud computing to solve the multi-objective flexible job shop scheduling
problem (MOFJSP). Gong et al. [12] proposed a double flexible job shop scheduling problem (DFJSP)
with flexible machines and workers, and then a new hybrid genetic algorithm (NHGA) was designed to
solve the proposed DFJSP. Wang et al. [13] presented a two-stage energy-saving optimization algorithm
for the FJSP. In their methods, the problem was divided into two subproblems: the machine assignment
problem and the operation sequencing problem. An improved genetic algorithm was designed to solve
the machine assignment problem and a genetic particle swarm hybrid algorithm was developed for
the operation sequencing problem. An improved particle swarm optimization (PSO) was developed
by Marzouki et al. [14]. Yuan and Xu [15] designed memetic algorithms (MAs) for solving the MOFJSP
with three objectives, makespan, total workload, and critical workload. Gao et al. [16] proposed a
discrete harmony search (DHS) to solve the MOFJSP with two objectives of makespan, the mean
of earliness and tardiness. Piroozfard et al. [17] devised a novel multi-objective genetic algorithm
(MOGA) for solving the problem with two conflicting objectives, total carbon footprint and total late
work. Jiang et al. [18] pronounced a gray wolf optimization algorithm with a double-searching mode
(DMGWO) to solve the energy-efficient job shop scheduling problem (EJSP). Singh and Mahapatra [19]
proposed an improved particle swarm optimization (PSO) for the FJSP, in which quantum behavior
and a logistic map were introduced. Wu and Sun. [20] presented a green scheduling algorithm for
solving the energy-saving flexible job shop scheduling problem (EFJSP).
According to their potential advantages, many metaheuristic algorithms were proposed and
improved to solve various problems [21–24]. The whale optimization algorithm (WOA) is a new
metaheuristic algorithm which imitates the hunting behavior of humpback whales in nature [25].
Because of its characteristics (simple principle, fewer parameter settings, and strong optimization
performance), WOA was applied to deal with various optimization problems in different fields,
i.e., neural networks [26], feature selection [27], image segmentation [28], photovoltaic cells [29],
the energy-efficient job shop scheduling problem [30], and the permutation flow shop scheduling
problem [31]. This motivates us to present an improved whale optimization algorithm (IWOA) that can
minimize the makespan of the FJSP. In our proposed IWOA, in order to make the whale optimization
algorithm (WOA) adaptive to the FJSP, the conversion between the whale individual position vector
and the scheduling solution is implemented by utilizing the converting method proposed in the
literature [10]. Then, a resultful initialization scheme with certain quality is obtained by combining
chaotic opposition-based learning strategies. To converge quickly, a nonlinear convergence factor
and an adaptive weight are introduced to balance the abilities of exploitation and exploration of the
algorithm. Furthermore, a variable neighborhood search operation is performed on the current optimal
individual to enhance the accuracy and effectiveness of the local exploration. Experimental results on
various benchmark instances show that the proposed IWOA can obtain competitive results compared
to the existing algorithms in short time.
Mathematics 2019, 7, 384 3 of 14
The rest of this paper is organized as follows: Section 2 introduces the definition of the problem.
Section 3 illustrates the original whale optimization algorithm. In Section 4, the proposed IWOA is
described in detail. Section 5 shows the empirical results of IWOA. Conclusions and suggestions for
future works are provided in Section 6.
2. Problem Description
The FJSP is o section. There are a set of n jobs J = {J1 , J2 , . . . , Jn } and a set of q
n defined in this
machines M = M1 , M2 , . . . , Mq , where ni is the number of operations of job Ji , m is the total number
of all operations, and Oij represents the jth operation of job Ji . Each operation Oij can be processed
on one machine among a set of alternative machines of the jth operation of job Ji . The FJSP can be
decomposed into two subproblems: the routing subproblem of assigning each operation to a machine
among alternative machines Mij , which is a subset of M, and the scheduling subproblem of sequencing
the assigned operations on all alternative machines to attain a feasible schedule for optimizing a certain
objective function.
The FJSP can be classified into total FJSP (TFJSP) and partial FJSP (PFJSP). For the TFJSP, each
operation can be processed on all machines of M. For the PFJSP, each operation can only be processed
on partial machine of M.
Moreover, the following assumptions are put forward in our study: all jobs are processable at
time 0; all machines available at time 0; each machine can process at most one operation at a time; each
operation must be completed once it starts; the transfer time between operations and the set-up time of
machines are negligible.
In this study, the makespan was selected as the objective to be minimized. The mathematical
model can be described as follows:
where Cmax is the maximal completion time of jobs, Ci is the continuous variable for the completion
time of job Ji , Lijk denotes the processing time of operation Oij on machine Mk , Mk denotes the kth
machine of M, Cijk is the continuous variable for the completion time of operation Oij processing on
machine Mk , Sijk is the continuous variable for the start time of operation Oij processing on machine
Mk , and Yijk is a 0–1 variable; if operation Oij is processed on machine Mk , Yijk = 1; otherwise, Yijk = 0.
Rijegk is a 0–1 variable; if operation Oij is processed on machine Mk prior to operation Oeg as they both
can be processed on it, Rijegk = 1; otherwise, Rijegk = 0.
Equation (1) indicates the optimizing objective. Equation (2) ensures the operation precedence
constraint. Equation (3) states that each operation must be completed once it starts. Equation (4)
ensures that each machine can processes only one operation at each time. Equation (5) ensures the
operation can be processed only once. Equations (6) and (7) show the relevant 0–1 variables. Equation
(8) denotes the non-negative feature of relevant variables.
Mathematics 2019, 7, 384 4 of 14
defined anywhere in between the original position of the individual and the position of the current
optimal individual.
→∗ →→
p < 0.5
→
X (t) − A·D
X (t + 1) = . (16)
→0 →∗
D ·ebl · cos(2πl) + X (t)
p ≥ 0.5
→
where X rand (t) is the individual position vector randomly selected from the current population.
O111 O212 O321 O222 O131 O232 O221 O331 O111 O112 O332 O222
Operation sequence
1 2Machine
3 assignment
2 1 2 2 3 1 1 3 2
Machine
Figureassignment
1. Scheduling Operation
solution sequence
denotation.
Figure 1. Scheduling solution denotation.
4.2. Individual Position Vector Figure 1. Scheduling solution denotation.
4.2. Individual Position Vector
In our proposed
4.2. Individual Position Vector IWOA, the individual position is still denoted as a multi-dimensional real
vector,In our whichproposed also IWOA, consiststheofindividual two segments position is string with the
still denoted as asize of mn, i.e.,
multi-dimensional
In our proposed IWOA, the individual position is still denoted as a multi-dimensional real
X = { xvector,
real (1), x (2), ...which
x ( m n ), x ( m ... x (2 m n )} of two x (segments
n + 1),consists
also , where j ) ∈ [ xmin ( j ),string j = 1, 2,...2
xmax ( j )],with themnsize of
. The firstmn,
segment i.e.,
vector, which also consists of two segments string with the size of mn, i.e.,
, x(2x )(,2. ),
. . ... . . . . . .
XX = = x{(x1)(1), x(xmn ) , x ( mn + 1 ) , x ( 2mn ) , where x ( j ) ∈ [ x ( j ) , x ( j )] , j = 1, 2, 2mn.
X 1= x (1), x (2), ... x ( m n ), x ( m n +}1), ... x (2 m n ) , where x ( j ) ∈ [ xmin ( j ), xmax ( j )], j = 1, 2,...2 mn . The first segment
(m n) denotes the information of machine assignment, and the second min max
The {first segment X1 = x(1), x(2), . . .}x(mn) denotes the information of machine assignment, and
segment X 2 = { x ( m n + 1 ) , x ( m denotes ) } presents of themachine
information of operation and ofsequencing.
X = {
the1 secondx (1),segment X2 = }x(mn + 1), x(mn + 2), . . . x(2mn) presents assignment,
x ( 2 ), ... x ( m n ) n + 2 ) , . . . x the ( 2 m ninformation
the information the second
operation
For the above 3 × 2 FJSP, the individual position vector can be represented by Figure 2, where element
sequencing.
segment X 2 For = { xthe ( m nabove
+ 1 ) , x3( m×n 2+ FJSP,
2 ) , . . . xthe
( 2 mindividual
n ) } presents position vector can beofrepresented
the information by Figure 2,
operation sequencing.
valueselement
where are listedvalues in theare given listedorder.in theIn givenaddition, order.theIn intervals
addition, [ xthe
min ( intervals
j ), x max ( j )][xare (all j ) ,set
x as( j[)]−δare
,δall],
For the above 3 × 2 FJSP, the individual position vector can be represented by Figure min 2, where max element
where
set δ presents
as [−δ, δ], where δ presents
the numberthe of the
number jobs. of the jobs.
values are listed in the given order. In addition, the intervals [ x ( j ), x ( j )] are all set as [−δ ,δ ] ,
min max
MachineFigure
assignment
Figure Individual position
2.2.Individual position vector.
Operation sequence
vector.
4.3. Conversion Mechanism Figure 2. Individual position vector.
4.3. Conversion Mechanism
Since the original WOA was proposed to tackle continuous problems, but the FJSP belongs to
Since the original WOA was proposed to tackle continuous problems, but the FJSP belongs to a
a4.3. Conversion
discrete Mechanism
combinatorial problem, some measures should be implemented to construct the mapping
discrete combinatorial problem, some measures should be implemented to construct the mapping
relationship between the individual
Since the original WOA was proposed position to vector
tackle and the discrete
continuous scheduling
problems, butsolution.
the FJSPIn a previous
belongs to a
relationship between the individual position vector and the discrete scheduling solution. In a
study,
discreteYuan et al. [10] problem,
combinatorial proposedsome a method measures to implement
should bethe conversiontobetween
implemented construct thethe continuous
mapping
previous study, Yuan et al. [10] proposed a method to implement the conversion between the
individual
relationship position
between vector
the and the discrete
individual scheduling
position vectorsolution
and thefordiscrete
the FJSP.scheduling
Therefore, the conversion
solution. In a
continuous individual position vector and the discrete scheduling solution for the FJSP. Therefore,
method in the literature [10] will be used in this study.
previous study, Yuan et al. [10] proposed a method to implement the conversion between the
the conversion method in the literature [10] will be used in this study.
continuous individual position vector and the discrete scheduling solution for the FJSP. Therefore,
4.3.1. Conversion from Scheduling Solution to Individual Position Vector
the conversion
4.3.1. Conversion method in the literature
from Scheduling Solution[10] will be used inPosition
to Individual this study. Vector
For the machine assignment segment, the conversion process can be represented by Equation
4.3.1.For
(19). Here,thex(machine
Conversion fromassignment
i) denotes Scheduling segment,
the ith elementSolution
of theto the conversion
Individual
individual process
Position
position can be
Vector
vector, s(irepresented
) presents thebynumber Equation of
(19). Here,
alternative x ( i ) denotes the ith element of the individual position vector,
ith element, s ( i ) presents
n(i) means the number
For themachine
machinesetassignment
for the operation
segment, corresponding
the conversion to the
process can be andrepresented by the serial
Equation
of alternative
number of the machine
chosen set for the
machine in operation
its alternative corresponding
machine set; tosthe
if ( i ) ith1, element,
= then x ( i ) and
can n (iachieved
be ) means the by
(19). Here, x (i ) denotes the ith element of the individual position vector, s ( i ) presents the number
choosing a random
serial number value
of the in themachine
chosen interval in [−δ,itsδ]alternative
. machine set; if s (i )=1 , then x (i ) can be
of alternative machine set for the operation corresponding to the ith element, and n (i ) means the
achieved by choosing a random value in the interval [−δ ,δ ] .
i) = 2δ/(in 1 . if s (i )=1 , then x (i ) can(19)
h i
serial number of the chosenx(machine s(iits
) − alternative
1) (n(i) − 1)machine− δ, s(i) ,set; be
achieved by choosing a random value in the interval [−δ ,δ ] .
For the operation sequence segment, x(i) = 2firstly,
δ itis i) −1) −δ, sto
(n(needed ≠1 .
(i)randomly generate mn real numbers (19)in
(s(i) −1)
the range [−δ, δ] corresponding to the scheduling solution. According to the ranked-order-value (ROV)
2δ
) = each
x(ito (n(i) −1) −δ, s(i) ≠1 .
rule, For
a unique ROV value
the operation is assigned
sequence segment, firstly,
i) −1)it isnumber
(s(random needed in to an increasing
randomly order, so
generate mnthat
realeach (19)
ROV
numbers
value
in the can
rangecorrespond
[-δ , δ ] to an operation.toSecondly,
corresponding the scheduling the ROV value isAccording
solution. rearranged to according to the coding
the ranked-order-value
orderFor the operations,
of the operation sequence segment,number
and the random firstly, itcorresponding
is needed to randomly generate ROV
to the rearranged mn real valuenumbers
is the
in the range [- δ , δ ] corresponding to the scheduling solution. According
value of the element of the individual position vector. The conversion process is shown in Figure 3. to the ranked-order-value
(ROV)
the rule,order
coding a unique ROV
of the value is and
operations, assigned to each number
the random random corresponding
number in an increasing order, soROV
to the rearranged that
each ROV value can correspond to an operation. Secondly, the ROV value is rearranged according
value is the value of the element of the individual position vector. The conversion process is shown to
theFigure
in coding
3. order of the operations, and the random number corresponding to the rearranged ROV
value is the value of the element of the individual position vector. The conversion process is shown
in Figure 3.
Mathematics 2019, 7, 384 7 of 14
Figure 3. The conversion process from operation sequence to individual position vector.
Figure 3. The conversion process from operation sequence to individual position vector.
Figure 3. The
4.3.2. Conversion conversion
from Individual process
Position from operation
Vector sequenceSolution
to Scheduling to individual position vector.
4.3.2. Conversion from Individual Position Vector to Scheduling Solution
4.3.2.For the machine
Conversion assignment
from Individualsegment,
Position Vector according to the reverse
to Scheduling derivation of Equation (19), the
Solution
For thecan
conversion machine assignment
be achieved, whichsegment,
can be denoted according by to the reverse
Equation (20).derivation of Equation (19), the
For the
conversion machine
can assignment
be achieved, whichsegment,
can be denoted according to the reverse
by Equation (20). derivation of Equation (19), the
conversion can be achieved, which can ) + δdenoted
( x ( ibe )( s ( i ) − 1)by Equation
(20).#
n ( i ) = round +1 (20)
2"δ(x(i) + δ)(s(i) − 1)
n(i) = ( i ) + δ )( s ( i ) − 1)
( xround +1 (20)
n ( i ) = round +2δ
1 (20)
For the operation sequence segment, δ ROV value
2the is firstly increasingly assigned to each
element of the
For the individual
operation position
sequence vector,the
segment, andROV then used
value is as the Fixed
firstly ID. Therefore,
increasingly assignedatonew
eachoperation
element
For
sequence the
can operation
be sequence
obtained by segment,
corresponding thethe ROVROV value
value is firstly
to the increasingly
operations, assigned
which is to each
shown in
of the individual position vector, and then used as the Fixed ID. Therefore, a new operation sequence
element
Figure 4. of the individual position vector, and then used as the Fixed ID. Therefore, a new operation
can be obtained by corresponding the ROV value to the operations, which is shown in Figure 4.
sequence can be obtained by corresponding the ROV value to the operations, which is shown in
Figure 4.
Fixed ID 1 2 3 4 5 6
Opration ID 1 1 2 2 3 3
Position
Fixedelement
ID -31 2.8
2 2.1
3 -1.2
4 -0.8
5 1.1
6
Opration ID 1 1 2 2 3 3
Position element -3 2.8 2.1 -1.2 -0.8 1.1
Position element -3 2.8 2.1 -1.2 -0.8 1.1
ROV value 1 6 5 2 3 4
Position element -3 2.8 2.1 -1.2 -0.8 1.1
ROV value 1 6 5 2 3 4
Opration sequence 1 3 3 1 2 2
Figure
Figure 4. The
4.Opration
The conversionfrom
sequence
conversion from individual
1 individual
3 position
3
position vector
1
vectorto to
operation 2sequence.
2 operation sequence.
4.4. Population Initialization
Figure
4.4. Population 4. The conversion from individual position vector to operation sequence.
Initialization
For a swarm intelligence optimization algorithm, the quality of the initial population is very
Forfora the
swarm
4.4. Population
crucial intelligenceperformance.
Initialization
computational optimization In algorithm, thecharacteristic
light of the quality of theofinitial population
the FJSP, is very
the population
crucial for
initialization the computational
process performance.
can be implemented In light
inalgorithm,of
two phases.the characteristic
In the machineof the FJSP,
assignmentthe population
phase, the
For a swarm
initialization process intelligence
can be optimization
implemented in two phases. the
In quality
the of the
machine initial
assignment population
phase, the isbetter
very
better
crucialinitial
for theassignment
computationalschemes can be generated by utilizing a chaoticofreverse learning method.
initial
In the assignment
operation sequence canperformance.
schemesphase, besome
generated Inbylight
operation
of the
utilizing
sequences acharacteristic
chaotic
are reverse the
randomly
FJSP,
learning
generated.
the population
method. In the
Combining
initialization
operation processphase,
sequence can be implemented
some operationin two phases. are
sequences In the machinegenerated.
randomly assignmentCombining
phase, the better
each
each operation
initial assignment sequence
schemeswith one
can beofgenerated
the initialby assignment
utilizing aschemes,
chaotic some scheduling
reverse learning solutions
method. In are
the
operation and
generated sequence
fitness with one of
function the initial
values of each assignment
scheduling schemes,
solution some
are scheduling
calculated. Then,solutions
the are
initial
operation sequence phase, some operation sequences are randomly generated. Combining each
population can be achieved
operation sequence with oneby choosing the scheduling
of the initial assignment solution with some
schemes, the best fitness value
scheduling each time.
solutions are
4.5. Nonlinear Convergence Factor
Like other swarm intelligence optimization algorithms, the coordination between the abilities of
exploitation and exploration is important for the performance of the algorithm. In the original WOA,
the abilities of exploitation and exploration mainly depend on the convergence factor a. The larger
the value of a is, the stronger the ability of exploitation is, and then the WOA can exploit the optimal
solution in a large space. The smaller the value of a is, the stronger the ability of exploration is,
Mathematics 2019, 7, 384 8 of 14
and then it can merely explore the optimal solution in a small space. Therefore, for improving the
efficiency of exploitation, the value of a can be set to be larger in the early stage of iterations, which is
beneficial to exploit the optimal solution in a larger space, and then it can be set to be smaller in the
later stage of iterations, which is beneficial to concretely explore the better solution around the current
optimal one. However, the value of a linearly decreases over the course of iterations by Equation (13),
which cannot improve the efficiency of the nonlinear search of the algorithm. Therefore, a nonlinear
improvement of a is adopted by Equation (21), where tmax and t denote the maximum iteration and
current iteration, respectively.
t3
!
2t
a = 2− 1− 3 (21)
tmax tmax
π·t
ω = sin( + π) + 1. (22)
2·tmax
→ →∗ →→
X (t + 1) = ω·X (t) − A·D. (23)
→ →0 →∗
X (t + 1) = D ·ebl · cos(2πl) + ωX (t). (24)
the original one. The procedure of the variable neighborhood search operation can is illustrated in
Algorithm 1.
In this study, the threshold acceptance method is used for the local search operation, which is
shown as Algorithm 2.
5. Experimental Results
GHz and 2 GB ) for HGWO. Because the computers applied for running the programs was different,
the comparison among the running times of different algorithms was difficult. However, even if there
exists some differences in the speed between the processors involved, IWOA was obviously faster than
the other three algorithms.
Another experiment was implemented on BRdata. Table 3 compares our proposed IWOA with
the following six algorithms: KBACO [35], TSPCB [36], HGWO [37], artificial immune algorithm
(AIA) [38], particle swarm optimization combined with tabu search (PSO+TS) [39], and tabu search
metaheuristic with a new neighborhood structure called “golf neighborhood” (TS3) [40]. The first
column stands for the name of the problems, and the second column represents the optimal value
found so far. “Best” represents the best makespan. “Mean” represents the average result of “RPD” in
the 20 runs. Boldface denotes the best result of “RPD” in the 20 runs. “RPD” represents the relative
percentage deviation to “LB” and is calculated as follows:
Best − LB
RPD = × 100. (25)
LB
As can be seen from Table 3, the following conclusions can be easily obtained: (1) in comparisons
of the “Best” value, the proposed IWOA showed competitive performance on BRdata, obtaining four
optimal values, outperforming KBACO in seven out of 10 instances, TS3 and PSO+TS in nine out of 10
instances, and HGWO in eight out of 10 instances, while it was equal to both AIA and TSPCB in six out
of 10 instances; (2) in comparisons of the “RPD” value, the proposed IWOA obtained five optimal
values, outperforming KBACO in seven out of 10 instances, both TS3 and PSO+TS in nine out of 10
instances, and HGWO in eight out of 10 instances, while it was inferior to both AIA and TSPCB in
three out of 10 instances; (3) in comparisons of the “Mean” value, the value for the proposed IWOA
was very low at only 4.91, outperforming the 5.65 for KBACO, 10.12 for HGWO, 23.89 for PSO+TS, and
13.34 for TS3, while it was inferior to the 2.78 for TSPCB and 2.22 for AIA. However, by comparison,
the IWOA obtained the best values in an acceptable time.
Table 1. Effectiveness analysis of improvement strategy. See Section 5.2 for column descriptions.
WOA—whale optimization algorithm.
Table 2. Comparison between the proposed improved WOA (IWOA) and existing algorithms on the
KAdata. See Section 5.3 for column descriptions.
6. Conclusions
In this paper, a novel improved whale optimization algorithm (IWOA), based on the integrated
approach, was presented for solving the flexible job shop scheduling problem (FJSP) with the objective
of minimizing makespan. The conversion method between the whale individual position vector and
the scheduling solution was firstly proposed. After that, three improvement strategies were employed
in the algorithm, namely chaotic reverse learning (CRL), the nonlinear convergence factor (NFC)
and adaptive weight (AW), and the variable neighborhood search (VNS). The CRL was employed to
ensure the quality of the initial solutions. The NFC and AW were introduced to balance the abilities of
exploitation and exploration. The VNS was adopted to enhance the accuracy and effectiveness of the
local exploration.
Extensive experiments based on 15 benchmark instances were executed. The effectiveness of
improvement strategies was firstly certified by a number of experiments. Then, the proposed IWOA
was compared with six recently published algorithms. According to the comparison results, the
proposed IWOA can obtain better results in an acceptable time.
In the future, we will concentrate on a more complex FJSP, such as the energy-efficient flexible job
shop scheduling problem, the multi-objective flexible job shop scheduling problem, or the dynamic
flexible job shop scheduling problem. Meanwhile, other effective improvement strategies in WOA will
be studied to further improve the capacity of the algorithm for this FJSP.
Author Contributions: Conceptualization, methodology and writing—original manuscript, F.L. (Fei Luan);
project management, supervision and writing—review, Z.C. and T.J.; experiments and result analysis, S.W. and
F.L. (Fukang Li); investigation, formal analysis and editing, J.Y.
Funding: This work was supported by the National Natural Science Foundation of China under Grant 11072192,
the Project of Shaanxi Province Soft Science Research Program under Grant 2018KRM090, the Project of Xi’an
Science and Technology Innovation Guidance Program under Grant 201805023YD1CG7(1), and the Shandong
Provincial Natural Science Foundation of China under Grant ZR2016GP02.
Conflicts of Interest: The authors declare no conflicts of interest.
Mathematics 2019, 7, 384 13 of 14
References
1. Nowicki, E.; Smutnicki, C. A fast taboo search algorithm for the job shop problem. Manag. Sci. 1996, 42,
797–813. [CrossRef]
2. Gonc, J.F.; Magalhaes Mendes, J.J.; Resende, M.G.C. A hybrid genetic algorithm for the job shop scheduling
problem. Eur. J. Oper. Res. 2005, 167, 77–95.
3. Lochtefeld, D.F.; Ciarallo, F.W. Helper-objective optimization strategies for the Job-Shop Scheduling Problem.
Appl. Soft Comput. 2011, 11, 4161–4174. [CrossRef]
4. Garey, M.R.; Johnson, D.S.; Sethi, R. The complexity of flow shop and job shop scheduling. Math. Oper. Res.
1976, 1, 117–129. [CrossRef]
5. Brucker, P.; Schlie, R. Job-shop scheduling with multi-purpose machines. Computing 1990, 45, 369–375.
[CrossRef]
6. Dauzere-Peres, S.; Paulli, J. An integrated approach for modeling and solving the general multi-processor
job-shop scheduling problem using tabu search. Ann. Oper. Res. 1997, 70, 281–306. [CrossRef]
7. Mastrolilli, M.; Gambardella, L.M. Effective neighborhood functions for the flexible job shop problem. J. Sched.
2000, 3, 3–20. [CrossRef]
8. Mati, Y.; Lahlou, C.; Dauzere-Peres, S. Modelling and solving a practical flexible job shop scheduling problem
with blocking constraints. Int. J. Prod. Res. 2011, 49, 2169–2182. [CrossRef]
9. Mousakhani, M. Sequence-dependent setup time flexible job shop scheduling problem to minimise total
tardiness. Int. J. Prod. 2013, 51, 3476–3487. [CrossRef]
10. Yuan, Y.; Xu, H.; Yang, J. A hybrid harmony search algorithm for the flexible job shop scheduling problem.
Appl. Soft Comput. 2013, 13, 3259–3272. [CrossRef]
11. Tao, N.; Hua, J. A cloud based improved method for multi-objective flexible job shop scheduling problem.
J. Intell. Fuzzy Syst. 2018, 35, 823–829.
12. Gong, G.L.; Deng, Q.W.; Gong, X.R. A new double flexible job shop scheduling problem integrating processing
time, green production, and human factor indicators. J. Clean. Prod. 2018, 174, 560–576. [CrossRef]
13. Wang, H.; Jiang, Z.G.; Wang, Y. A two-stage optimization method for energy-saving flexible job shop
scheduling based on energy dynamic characterization. J. Clean. Prod. 2018, 188, 575–588. [CrossRef]
14. Marzouki, B.; Driss, O.B.; Ghédira, K. Multi Agent model based on Chemical Reaction Optimization with
Greedy algorithm for Flexible Job shop Scheduling Problem. Procedia Comput. Sci. 2017, 112, 81–90.
[CrossRef]
15. Yuan, Y.; Xu, H. Multiobjective flexible job shop scheduling using memetic algorithms. IEEE Trans. Autom.
Sci. Eng. 2015, 12, 336–353. [CrossRef]
16. Gao, K.Z.; Suganthan, P.N.; Pan, Q.K.; Chua, T.J.; Cai, T.X.; Chong, C.S. Discrete Harmony Search Algorithm
for Flexible Job Shop Scheduling Problem with Multiple Objectives. J. Intell. Manuf. 2016, 27, 363–374.
[CrossRef]
17. Piroozfard, H.; Wong, K.Y.; Wong, W.P. Minimizing total carbon footprint and total late work criterion in
flexible job shop scheduling by using an improved multi-objective genetic algorithm. Resour. Conserv. Recycl.
2018, 128, 267–283. [CrossRef]
18. Jiang, T.H.; Zhang, C.; Zhu, H.Q.; Deng, G.L. Energy-Efficient scheduling for a job shop using grey wolf
optimization algorithm with double-searching mode. Math. Probl. Eng. 2018, 2018, 1–12. [CrossRef]
19. Singh, M.R.; Mahapatra, S. A quantum behaved particle swarm optimization for flexible job shop scheduling.
Comput. Ind. Eng. 2016, 93, 36–44. [CrossRef]
20. Wu, X.L.; Sun, Y.J. A green scheduling algorithm for flexible job shop with energy-saving measures.
J. Clean. Prod. 2018, 172, 3249–3264. [CrossRef]
21. Jiang, T.; Zhang, C. Application of grey wolf optimization for solving combinatorial problems: job shop and
flexible job shop scheduling cases. IEEE Access 2018, 6, 26231–26240. [CrossRef]
22. Jiang, T.H.; Deng, G.L. Optimizing the low-carbon flexible job shop scheduling problem considering energy
consumption. IEEE. Access 2018, 6, 46346–46355. [CrossRef]
23. Jiang, T.H.; Zhang, C.; Sun, Q. Green job shop scheduling problem with discrete whale optimization algorithm.
IEEE Access 2019, 7, 43153–43166. [CrossRef]
24. Li, X.Y.; Gao, L. An effective hybrid genetic algorithm and tabu search for flexible job shop scheduling
problem. Int. J. Prod. Econ. 2016, 174, 93–110. [CrossRef]
Mathematics 2019, 7, 384 14 of 14
25. Mirjalili, S.; Lewis, A. The whale optimization algorithm. Adv. Eng. Soft. 2016, 95, 51–67. [CrossRef]
26. Aljarah, I.; Faris, H.; Mirjalili, S. Optimizing connection weights in neural networks using the whale
optimization algorithm. Soft. Comput. 2018, 22, 1–15. [CrossRef]
27. Mafarja, M.M.; Mirjalili, S. Hybrid whale optimization algorithm with simulated annealing for feature
selection. Neurocomputing 2017, 260, 302–312. [CrossRef]
28. Aziz, M.A.E.; Ewees, A.A.; Hassanien, A.E. Whale optimization algorithm and moth-flame optimization for
multilevel thresholding image segmentation. Expert Syst. Appl. 2017, 83, 242–256. [CrossRef]
29. Oliva, D.; Aziz, M.A.E.; Hassanien, A.E. Parameter estimation of photovoltaic cells using an improved
chaotic whale optimization algorithm. Appl. Energy 2017, 200, 141–154. [CrossRef]
30. Jiang, T.H.; Zhang, C.; Zhu, H.Q.; Zhu, H.Q.; Gu, J.C.; Deng, G.L. Energy-efficient scheduling for a job shop
using an improved whale optimization algorithm. Mathematics 2018, 6, 220. [CrossRef]
31. Abdel-Basset, M.; Manogaran, G.; El-Shahat, D.; Mirjalili, S.; Gunasekaran, M. A hybrid whale optimization
algorithm based on local search strategy for the permutation flow shop scheduling problem. Future Gener.
Comput. Syst. 2018, 85, 129–145. [CrossRef]
32. Guo, Z.Z.; Wang, P.; Ma, Y.F.; Wang, Q.; Gong, C.Q. Whale optimization algorithm based on adaptive weights
and cauchy variation. Micro Comput. 2017, 34, 20–22. (In Chinese)
33. Brandimarte, P. Routing and scheduling in a flexible job shop by tabu search. Ann. Oper. 1993, 41, 157–183.
[CrossRef]
34. Kacem, I.; Hammadi, S.; Borne, P. Correction to “Approach by localization and multiobjective evolutionary
optimization for flexible job-shop scheduling problems”. IEEE Trans. Syst. Man Cybern. Part C 2002, 32, 172.
[CrossRef]
35. Xing, L.N.; Chen, Y.W.; Wang, P.; Zhao, Q.S.; Xiong, J. A knowledge-based ant colony optimiztion for flexible
job shop scheduling problems. Appl. Soft Comput. 2010, 10, 888–896. [CrossRef]
36. Li, J.Q.; Pan, Q.K.; Suganthan, P.N.; Chua, T.J. A hybrid tabu search algorithm with an efficient neighborhood
structure for the flexible job shop scheduling problem. Int. J. Adv. Manuf. Technol. 2011, 52, 683–697.
[CrossRef]
37. Jiang, T.H. A hybrid grey wolf optimization algorithm for solving flexible job shop scheduling problem.
Control Decis. 2018, 33, 503–508. (In Chinese)
38. Bagheri, A.; Zandieh, M.; Mahdavi, I.; Yazdani, M. An artificial immune algorithm for the flexible job-shop
scheduling problem. Future Gener. Comput. Syst. 2010, 26, 533–541. [CrossRef]
39. Henchiri, A.; Ennigrou, M. Particle Swarm Optimization Combined with Tabu Search in a Multi-Agent Model. for
Flexible Job Shop Problem; Springer Nature: Basingstoke, UK, 2013; Volume 7929, pp. 385–394.
40. Bozejko, W.; Uchronski, M.; Wodecki, M. The New Golf Neighborhood for the Flexible Job Shop Problem; ICCS,
Elsevier Series; Elsevier: Amsterdam, The Netherlands, 2010; pp. 289–296.
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).