algorithms-15-00334-v2 (1)
algorithms-15-00334-v2 (1)
Article
Flexible Job Shop Scheduling Problem with Fuzzy Times and
Due-Windows: Minimizing Weighted Tardiness and Earliness
Using Genetic Algorithms
Emiro Antonio Campo 1 , Jose Alejandro Cano 1, * , Rodrigo Gómez-Montoya 2 , Elkin Rodríguez-Velásquez 3
and Pablo Cortés 4
1 Faculty of Economic and Administrative Sciences, Universidad de Medellin, Medellin 050026, Colombia
2 Faculty of Administration, Politécnico Colombiano Jaime Isaza Cadavid, Medellin 050022, Colombia
3 Facultad de Minas, Universidad Nacional de Colombia, Medellin 050034, Colombia
4 Escuela Técnica Superior de Ingeniería, Universidad de Sevilla, Camino de los Descubrimientos s/n,
41092 Sevilla, Spain
* Correspondence: jacano@udemedellin.edu.co
Abstract: The current requirements of many manufacturing companies, such as the fashion, textile,
and clothing industries, involve the production of multiple products with different processing routes
and products with short life cycles, which prevents obtaining deterministic setup and processing
times. Likewise, several industries present restrictions when changing from one reference to another
in the production system, incurring variable and sequence-dependent setup times. Therefore, this
article aims to solve the flexible job shop scheduling problem (FJSSP) considering due windows,
sequence-dependent setup times, and uncertainty in processing and setup times. A genetic algorithm
is proposed to solve the FJSSP by integrating fuzzy logic to minimize the weighted penalties for
Citation: Campo, E.A.; Cano, J.A.;
tardiness/earliness. The proposed algorithm is implemented in a real-world case study of a fabric
Gómez-Montoya, R.;
finishing production system, and it is compared with four heuristics adapted to the FJSSP such as
Rodríguez-Velásquez, E.; Cortés, P.
earliest due date, critical reason, shortest processing time, and Monte Carlo simulation. Results
Flexible Job Shop Scheduling
Problem with Fuzzy Times and
show that the performance of the proposed algorithm provides efficient and satisfactory solutions
Due-Windows: Minimizing Weighted concerning the objective function and computing time since it overperforms (more than 30%) the
Tardiness and Earliness Using heuristics used as benchmarks.
Genetic Algorithms. Algorithms 2022,
15, 334. https://doi.org/10.3390/ Keywords: genetic algorithm; flexible job shop; production scheduling; uncertainty; fuzzy logic; time
a15100334 windows; earliness/tardiness; sequence-dependent setup times
Academic Editor: Frank Werner
ments [25,28]. In this sense, Jamrus et al. [29] propose a model where the processing time
can be exact or fuzzy depending on the availability of job data, and the FJSSP is solved
using a hybrid algorithm between a genetic algorithm and the particle swarm optimization
algorithm. In most of these models, the fuzzy variables receive triangular membership
functions due to the ease of their construction. Based on the abovementioned, this article
aims to address the FJSSP considering due-window and fuzzy setup times with triangular
membership functions to minimize the weighted penalties for tardiness/earliness through
a genetic algorithm.
The present study contributes in multiple ways: Firstly, it develops a methodology to
calculate the possibility of tardiness and earliness of a job, comparing the due-date time win-
dow with the fuzzy set of the completion time and using this result to calculate the penalty
of tardiness and earliness in the objective function. Secondly, the study adapts GA and
deterministic methods (heuristics and rules) for the specific assumptions of the proposed
FJSSP model. Thirdly, it presents a novel solution representation for each chromosome of
the GA in two ways, one to calculate the total penalty (objective function) and another for
the mutation and crossover operators to minimize the chance of infectable chromosomes,
reducing the use of repairing operators and the algorithm computing time. Fourthly, the
proposed algorithm solves a real-world case study in the textile sector, demonstrating the
algorithm’s applicability to industries with complex production systems.
2. FJSSP Description
Scheduling of job shop production is defined by four main research problems rep-
resented by Job Shop Scheduling Problem (JSSP), Flexible Job Shop Scheduling Problem
(FJSSP), Dynamic Job Shop Scheduling Problem (DJSSP), and Flow Shop Scheduling Prob-
lem (FSSP) [19]. The classical JSSP represents one of the most difficult workshop problems,
it assumes that there is no flexibility in the resources (including machines and tools) for
each operation of every job. The FJSSP is an extension of the classical job shop scheduling
problem allowing an operation to be processed by any machine from a given set [1]. The
FJSSP consists of assigning and sequencing n jobs in m work center, each work center
can have a different number of machines or resources, and each machine may process
more than one type of operation [30]. In the FJSSP, each job is formed by a sequence of
consecutive operations, each operation requires one machine, and each operation has to be
performed to complete the job. This problem covers two difficulties namely the machine
assignment problem (how to assign the operations on the machines) and the operation
sequencing problem (how to sequence the operations on the machines) [31]. The general
objective of the FJSSP is to improve the organization’s productivity while reducing pro-
duction consumption by switching over the selectable machine and taking full advantage
of the underutilized capacity, adjusting the processing workload on machines [32]. The
performance measures, restrictions, and characteristics the model must comply with must
be established to define the FJSSP model. The model proposed in this study is based on the
following assumptions:
• All machines are available at the beginning of the scheduling horizon and can process
only one job simultaneously.
• No job can start an operation until the previously assigned has finished or until a
machine is available to perform that operation. Therefore, only one job operation can
be executed at a time.
• Processing times are represented by fuzzy numbers and modeled by triangular mem-
bership functions.
• Once an operation of a job has started on a machine, it will not be interrupted until it
finishes the total number of units of said job.
• Staff is available to perform each operation.
• Machine breakdown or downtime due to maintenance or repairs in the planning
horizon are not considered.
• Setup times depend on the job sequence
Algorithms 2022, 15, 334 4 of 19
• Setup times are represented by fuzzy numbers and modeled by triangular member-
ship functions.
• Recirculation is allowed since a machine can perform several processes (not at the
same time), so a job can be processed several times on the same machine.
• A time window defines the expected completion time for each job (interval to deter-
mine whether a job is completed on time).
• Machines in the same work center may have different processing times.
The mathematical model of the FJSSP is based on the study by Ortiz et al. [33] and
Demir and Işleyen [34], where the objective functions minimize the number of late jobs
and the Makes-pan, respectively. However, in these studies, the delivery dates are not
represented with time intervals but with exact dates, and they do not consider the time of
preparation depending on the sequence, for which we present adjustments to the mathe-
matical model. The indices, sets, data, variables, and mathematical model formulation to
optimize the FJSSP are as follows:
Indices
j Job index
h Job index
i Operation index
k Machine index
l Index of the positions in the sequencing
Parameters:
n Total number of jobs
m Total number of machines
Binary parameter to indicate whether operation i of the job j is
Akij
performed on machine k
Pkij Processing time of operation i of the job j on machine k
Skjh Setup time in machine k if job j starts after completing job h
M Very large number
d jA Lower limit of the due window of job j
d jB Upper limit of the due window of the job j
wj Weighting for job j
wT Weighting for tardiness
wE Weighting for earliness
Variables:
Binary variable to indicate whether operation i of job j on
Xijkl machine k is sequenced in position l
Vijk Binary variable to assign operation j of job i on machine k
TMkl Start time of machine k at position l
PSij Total process time (includes setup time) of operation i of job j
TIij Start time of operation i of job j
Cj Completion time of job j
Tj Tardiness of job j
Ej Earliness of job j
Model:
Min Z= ∑ Wi (Ti WT + Ei WE ) (1)
Cj ≥ TIij + PSij ∀ i, j (2)
Tj ≥ Cj − d jB ∀j (3)
Ej ≥ d jA − Cj ∀j (4)
∑k [( Pkij + Skjh ) × Vijk ] = PSij ∀ i, j, h (5)
TIij + PSij ≤ TIi+1j ∀j ∀ i = 1, . . . , I − 1 (6)
TMkl + PSij × Xijkl ≤ TMkl +1 ∀ i, j, k ∀ l = 1, . . . , L − 1 (7)
TMkl ≤ TIij 1 − Xijkl × M ∀ i, j, k, l (8)
Algorithms 2022, 15, 334 5 of 19
TMkl ≤ TMkl 1 − Xijkl × M ∀ i, j, k, l (9)
Start
For each alpha chromosome, calculate Use the repair mechanism for alpha
its respective beta chromosome chromosomes
Iterations = Maximum No
iterations
Yes
Select best beta chromosome and
generate results report
End
Figure 1.
Figure 1. Flowchart
Flowchart for
for the
the genetic
genetic algorithm.
algorithm.
job d𝑑jA ,, 𝑑
1. Enter the weight of each job j (W
Step 1. (𝑊j ), the due window of each each job d jB ,
processing
processing routes,
routes, available
available machines,
machines, processing times, sequence‐dependent
sequence-dependent setup times,
weight
weightofoftardiness
tardiness(w (𝑤T ) )and
andearliness
earliness(w(𝑤E ). Enter
). Enter the
thegenetic algorithm
genetic algorithmparameters
parameters such as
such
Population (PB), Iterations (N), Elitism rate (ET), Crossover rate (PC), Mutation
as Population (PB), Iterations (N), Elitism rate (ET), Crossover rate (PC), Mutation rate rate (MR).
(MR).Step 2. Generate the initial population randomly (number of chromosomes) based
on the parameter
Step PB, then
2. Generate calculate
the initial the number
population of operations
randomly (numberrequired to complete
of chromosomes) all the
based on
scheduled jobs. PB,
the parameter In this
thenstep, PB chromosomes
calculate the numberare ofrandomly
operationsgenerated
requiredand are calledall
to complete alpha
the
chromosomes.
scheduled jobs.Each alpha
In this step,chromosome
PB chromosomes represents a solution
are randomly to the proposed
generated scheduling
and are called alpha
problem; each gene has an input to assign a job randomly and establish
chromosomes. Each alpha chromosome represents a solution to the proposed scheduling the sequence to
perform the operations, and another input to store a random number
problem; each gene has an input to assign a job randomly and establish the sequence
Algorithms 2022, 15, x FOR PEER REVIEW between 0 7 of 20 to
and 1 to
assign
perform the operations, and another input to store a random number between 0an
the machine that performs the respective operation. A representation of alpha
and 1 to
chromosome is shown
assign the machine thatbelow in Figure
performs 2.
the respective operation. A representation of an alpha
chromosome is shown below in Figure 2.
Gene 1 Gene 2 Gene 3 Gene 4 Gene 5 Gene 6 Gene 7 Gene 8 Gene 9 Gene 10 Gene 11 Gene 12 Gene 13 Gene 14 Gene 15 Gene 16 Gene 17
Input 1 3 1 3 5 4 4 2 2 1 2 2 3 5 1 1 5 4
Input 2 0.66 0.93 0.31 0.80 0.73 0.75 0.91 0.56 0.21 0.99 0.96 0.38 0.44 0.41 0.80 0.06 0.10
Gene 1 1Gene
Gene 2 2Gene
Gene Gene3 3Gene
Gene4 4 Gene
Gene5 5 Gene
Gene6 6 Gene
Gene7 7 Gene
Gene8 8 Gene
Gene99 Gene
Gene10
10 Gene
Gene11
11 Gene
Gene 12
12 Gene
Gene 13
13 Gene
Gene 14 Gene 15 Gene
Gene 16
16 Gene
Gene 17
17
Input 1 1 3 3
Input 1 1 33 55 44 44 22 22 11 22 22 33 55 1 1 5 44
Input 2 2 M2M2
Input MM
3 3 MM
4 4 MM
8 8 MM
7 7 MM
22 MM
33 MM5 5 M
M4 4 M
M88 M
M22 M
M77 M
M11 M6 M2 M44 M44
M
Figure 3. Illustrationofofan
Figure an alphachromosome.
chromosome.
Figure3.3.Illustration
Illustration of a alpha
beta chromosome.
Machine
Machine Sequence
Sequence
MM
11 j j5 ‐O
5 ‐O
22
MM
22 j 3j ‐O
3 ‐O
1 1 j j4 ‐O
4 ‐O
22 jj22‐O
‐O44 jj11‐O
‐O44
MM
33 j 1j ‐O
1 ‐O
1 1 j j2 ‐O
2 ‐O
11
MM
44
j 3 2 2 j j1 1‐O
j 3 ‐O ‐O ‐O22 j j55‐O
‐O33 jj44‐O
‐O33
M
M5 5 j j22‐O‐O22
MM
66 j j11‐O
‐O33
M
M7 7 j 4j ‐O
4 ‐O
11 j j33‐O
‐O33
MM
8
8 j 5j ‐O
5 ‐O1
1 j j22‐O
‐O33
Figure 4. Sequencingofofjobs
Figure jobs fromthe
the betachromosome.
chromosome.
Figure4.4.Sequencing
Sequencing of jobsfrom
from thebeta
beta chromosome.
Step4.4.
Step
Step The
4.The
The fuzzy
fuzzy
fuzzy completion
completion
completion time
time 𝐶𝐶 of
time Cof each
ej each job job
job
of each jj must
must be calculated
be
j must calculated
be calculatedto
to assess
assess
to assessthe
the
fitness of
the fitness
fitness each
of each beta
of each chromosome.
beta chromosome.
beta chromosome. As shown
As shownAs shown in Equation
in Equation
in Equation (19),
(19), thethe completion
(19), the completion
completion time
time for for aa
time
selected gene
for a selected
selected is calculated
gene is gene as
is calculated
calculated the start
as the start time
as the of
timestart the
of the operation
time (maximum
of the operation
operation (maximum(maximumbetween
between the the avail‐
between
avail‐
ableavailable
time of machine 𝑇𝑀 andi the
imachine cumulative completioncompletion
time of job timej up to the evalu‐
able time of machine i 𝑇𝑀 and the cumulative
the time of TM
g i and the cumulative
completion time of job j up to the evalu‐ of job j up to
ated gene 𝐶 ) plus the setup time in machine i 𝑆 and thef processing time of operation
the gene
ated evaluated𝐶 ) plus
gene Cjsetup
thef ) plustime the setup time in
in machine i 𝑆machine
and the i Sprocessing
ilj and the processing
time of operationtime of
o of job j in machine i 𝑃 . The available time of machine i will be updated with the com‐
o operation i 𝑃
of job j in machine i P . The available time of machine i will be updatedcom‐
of job j in omachine . The available time of machine i will be updated with the with
pletion time of job j that has beenjioprocessed in this machine (𝑇𝑀 𝐶 ). In the proposed
f
pletion
the time of job
completion j that
time of has
job been
j that processed
has been in this machine
processed in this (𝑇𝑀
machine 𝐶 ).(TM
In the= proposed
C ). In
methodology, the fuzzy sets used have triangular membership functions such i j
that 𝐶 the
g e
methodology,
proposed the fuzzy sets
methodology, the used
fuzzy have
sets triangular
used have membership
triangular functions such
membership that 𝐶such
functions
𝐶 ,𝐶 𝐶 . The elements that make up the triangular fuzzy number are shown in
𝐶that, C
𝐶e = 𝐶 Cin f ., C
The sup
modelements that make up the triangular fuzzy number arenumber
shown in
C . The
Figurej 5, andj thesej can jbe calculated elements that
following make
Equationsup the triangular
(20)–(22). fuzzy are
Figure 5, and these can be calculated following Equations
shown in Figure 5, and these can be calculated following Equations (20)–(22). (20)–(22).
Algorithms 2022, 15, x FOR PEER REVIEW 𝐶 max 𝐶 , 𝑇𝑀 𝑃 𝑆 8 of(19)20
𝐶 max 𝐶 , 𝑇𝑀 𝑃 𝑆 (19)
Cj = max(Cj , TMi ) + Pjio + Silj
e f g f f (19)
𝐶 max 𝐶 , 𝑇𝑀 𝑃 𝐴 (20)
𝐶in f max 𝐶in f , 𝑇𝑀 in f 𝑃in f 𝐴 in f (20)
Cj = max (Cj , TMi ) + Pjio + Ailj (20)
𝐶 max 𝐶 , 𝑇𝑀 𝑃 𝐴 (21)
Cjmod = max (Cjmod , TMimod ) + Pjio mod
+ Ailjmod
(21)
𝐶 sup max 𝐶 sup, 𝑇𝑀 sup 𝑃 sup 𝐴 sup (22)
Cj = max (Cj , TMi ) + Pjio + Ailj (22)
Possibility
0 Time
Figure
Figure 5. Triangular
5. Triangular membership
membership function
function forfor
thethe completion
completion time
time of of j. j.
jobjob
Likewise,
Likewise, it isit necessary
is necessary to to calculate
calculate thethe fuzzy
fuzzy tardiness
tardiness andand earliness
earliness of of each
each jobjob
to to
obtain the fitness of each chromosome. It requires comparing
obtain the fitness of each chromosome. It requires comparing 𝐶 with the limits of the due Cej with the limits of the
window (𝑑 , 𝑑(d).jAThe
due window , d jBfuzzy
). The tardiness
fuzzy tardiness (Tej ) is determined
(𝑇 ) is determined 𝐶 withCethe
by intercepting
by intercepting j with
tar‐the
+∞
tardiness interval (IT ) that starts
diness interval (𝐼𝑇 ) thatj starts at 𝑑 and at d and is not bounded by an upper
jB is not bounded by an upper value 𝑑 ,jB ∞ value d , . .
TheThe fuzzy
fuzzy earliness
earliness of of
eacheach j (𝐸j ()Eeisj )determined
jobjob is determined by by
thethe intercept
intercept 𝐶C
of of ej with
with thethe earliness
earliness
interval (𝐼𝐸 ) that starts at zero and ends at 𝑑 0 , 𝑑 . Figure 6 illustrates the different
cases in which fuzzy delay and fuzzy promptness can be configured. Figure 6a shows the
first case where there is the possibility of completing job j early (earliness) or late (tardi‐
ness), but there is also the possibility of completing job j within the due window (on time
Figure 5. Triangular membership function for the completion time of job j.
Likewise, it is necessary to calculate the fuzzy tardiness and earliness of each job to
obtain the fitness of each chromosome. It requires comparing 𝐶 with the limits of the due
Algorithms 2022, 15, 334
window (𝑑 , 𝑑 ). The fuzzy tardiness (𝑇 ) is determined by intercepting 𝐶 with the tar‐ 8 of 19
diness interval (𝐼𝑇 ) that starts at 𝑑 and is not bounded by an upper value 𝑑 , ∞ .
The fuzzy earliness of each job j (𝐸 ) is determined by the intercept of 𝐶 with the earliness
interval (𝐼𝐸 ) that starts at zero and ends at 𝑑 0 , 𝑑 . Figure 6 illustrates the different
interval (IE ) that starts at zero and ends at d jA 0 , d jA . Figure 6 illustrates the different
cases in whichj fuzzy delay and fuzzy promptness can be configured. Figure 6a shows the
cases in which fuzzy delay and fuzzy promptness can be configured. Figure 6a shows
first case where there is the possibility of completing job j early (earliness) or late (tardi‐
the first case where there is the possibility of completing job j early (earliness) or late
ness), but there is also the possibility of completing job j within the due window (on time
(tardiness), but there is also the possibility of completing job j within the due window
and without penalties). Figure 6b shows the second case where job j cannot be delivered
(on time and without penalties). Figure 6b shows the second case where job j cannot be
early (earliness)
delivered earlyor(earliness)
late (tardiness), assuming a assuming
or late (tardiness), 100% possibility
a 100% that job j will
possibility thatbejobcom‐
j will
pleted within the due window despite considering uncertainty. Figure
be completed within the due window despite considering uncertainty. Figure 6c shows 6c shows the third
case
thewhere job j where
third case cannotjobbe jcompleted
cannot be late (tardiness),
completed but there is but
late (tardiness), a possibility
there is a that job j
possibility
will be delivered early (earliness); however, when 𝐶 𝑑 , there
sup is a 100% possibility
that job j will be delivered early (earliness); however, when Cj ≤ d jA , there is a 100%
that job j willthat
possibility be completed
job j will beearly. Figure early.
completed 6d showsFigurethe6dfourth
shows case
thewhere
fourthjob j cannot
case where be job j
delivered
cannot be early (earliness),
delivered earlybut there is but
(earliness), a possibility
there is athat job j will
possibility bejob
that completed late (tar‐
j will be completed
diness); however, when
late (tardiness); 𝐶 when
however, 𝑑 ,Cthere
in f
≥isdajB100%
, therepossibility
is a 100%that job j willthat
possibility be completed
job j will be
j
late.
completed late.
Possibility Possibility
1 1
0 Time 0 Time
1 1
0 Time 0 Time
(c) (d)
Figure
Figure 6. Cases
6. Cases of fuzzy
of fuzzy tardiness
tardiness and fuzzy
and fuzzy earliness
earliness forjob
for each each
j (a)job j (a) tardiness
tardiness or earliness;
or earliness; (b) no
(b) no tardiness
tardiness or earliness;
or earliness; (c) earliness;
(c) earliness; (d) tardiness.
(d) tardiness.
Consequently, in some cases, it cannot be assured with certainty that a job j will be
completed with earliness or tardiness, and in some cases, this possibility can be very high or
low. Thus, when calculating the total weighted penalty of a job j, the possibility of occurrence
of an advance PjE or a delay PjT will be considered. For this, Equation (23) describes the
membership function µCj ( x) of the fuzzy completion time Cej , Equations (24)–(26) show
the centroid method to defuzzify the fuzzy earliness, and Equations (27)–(29) show the
centroid method to defuzzify the fuzzy tardiness and obtain a real number where E∗j and Tj∗
represent the defuzzification value of earliness and tardiness of job j, xµEj ( x) and xµTj ( x)
represent the membership function of the fuzzy earliness and tardiness.
in f
0 six ≤ Cj
in f
x −C
in f
mod j in f siCj < x ≤ Cjmod
c j −Cj
µCj ( x ) = sup (23)
C −x
supj mod siC mod < x < C sup
c j −Cj j j
sup
0 six ≥ Cj
R. R.
xµ Ej ( x )dx xµ ( x )dx
E∗j SE
= R. R . Cj
= SE (24)
SE µ Ej ( x ) SE µCj ( x )
Algorithms 2022, 15, 334 9 of 19
R. R.
SE µ Ej ( x )dx µCj ( x )dx
PjE= R. = RSE. (25)
S µCj ( x ) S xµCj ( x )
Ej = d jA − E∗j × PjE (26)
R. R.
xµ Tj ( x )dx xµ ( x )dx
∗ ST
Tj = R . = STR . Cj (27)
ST µ Tj ( x ) ST µCj ( x )
R. R.
µ ( x )dx µ ( x )dx
PjT = ST R . Tj R . Cj
= ST (28)
µ
S Cj ( x ) S xµCj ( x )
Tj = Tj∗ − d jB × PjT (29)
Once the earliness and tardiness of job j (Ej and Tj ) are obtained, Equation (30) calcu-
lates the total weighted penalty of the beta chromosome r or fitness value, considering the
weight of earliness (WE ), the weight of lateness (WT ), and the weighting of job j (Wj ).
Zr = ∑1n Wj Tj WT + Ej WE
(30)
Step 5. After evaluating the beta chromosomes, they are ordered from lowest to
highest according to their fitness value (total weighted penalty), and the best chromosomes
are selected to form part of the next generation using the elitism rate (ET × PB).
Step 6. The crossover operator completes the next generation by randomly selecting
two alpha chromosomes from the current population (parents), then determining with the
crossover probability (PC) whether the crossover operation is performed on the parents; or
two offspring are generated identically to the parents. In the case of applying the10crossover
Algorithms 2022, 15, x FOR PEER REVIEW of 20
to the selected parents, a single crossing point is randomly chosen to divide each parent into
two crossing sections, which are exchanged to form two offspring, as shown in Figure 7.
Parent 1
Section A Section B
Gene 1 Gene 2 Gene 3 Gene 4 Gene 5 Gene 6 Gene 7 Gene 8 Gene 9 Gene 10 Gene 11 Gene 12 Gene 13 Gene 14 Gene 15 Gene 16 Gene 17
Input 1 3 1 3 5 4 4 2 2 1 2 2 3 5 1 1 5 4
Input 2 0.66 0.93 0.31 0.80 0.73 0.75 0.91 0.56 0.21 0.99 0.96 0.38 0.44 0.41 0.80 0.06 0.10
Parent 2
Section A Section B
Gene 1 Gene 2 Gene 3 Gene 4 Gene 5 Gene 6 Gene 7 Gene 8 Gene 9 Gene 10 Gene 11 Gene 12 Gene 13 Gene 14 Gene 15 Gene 16 Gene 17
Input 1 1 5 4 3 3 2 2 4 3 5 1 1 4 1 2 5 2
Input 2 0.18 0.24 0.90 0.83 0.83 0.34 0.21 0.94 0.44 0.47 0.36 0.24 0.23 0.67 0.51 0.39 0.43
Offspring 1
Section A ‐ Parent 1 Section B ‐ Parent 2
Gene 1 Gene 2 Gene 3 Gene 4 Gene 5 Gene 6 Gene 7 Gene 8 Gene 9 Gene 10 Gene 11 Gene 12 Gene 13 Gene 14 Gene 15 Gene 16 Gene 17
Input 1 3 1 3 5 4 4 2 2 3 5 1 1 4 1 2 5 2
Input 2 0.66 0.93 0.31 0.80 0.73 0.75 0.91 0.56 0.44 0.47 0.36 0.24 0.23 0.67 0.51 0.39 0.43
Offspring 2
Section A ‐ Parent 2 Section B ‐ Parent 1
Gene 1 Gene 2 Gene 3 Gene 4 Gene 5 Gene 6 Gene 7 Gene 8 Gene 9 Gene 10 Gene 11 Gene 12 Gene 13 Gene 14 Gene 15 Gene 16 Gene 17
Input 1 1 5 4 3 3 2 2 4 1 2 2 3 5 1 1 5 4
Input 2 0.18 0.24 0.90 0.83 0.83 0.34 0.21 0.94 0.21 0.99 0.96 0.38 0.44 0.41 0.80 0.06 0.10
The mutation operator is applied after creating the offspring alphas, generating a
random number for each offspring. If this random number is less than the probability of
mutation MR, the mutation operation is performed using the swapping mutation method
(exchange mutation), where two randomly chosen genes are exchanged through a SWAP
movement [36,37] (see Figure 8).
Section A ‐ Parent 2 Section B ‐ Parent 1
Gene 1 Gene 2 Gene 3 Gene 4 Gene 5 Gene 6 Gene 7 Gene 8 Gene 9 Gene 10 Gene 11 Gene 12 Gene 13 Gene 14 Gene 15 Gene 16 Gene 17
Input 1 1 5 4 3 3 2 2 4 1 2 2 3 5 1 1 5 4
Input 2 0.18 0.24 0.90 0.83 0.83 0.34 0.21 0.94 0.21 0.99 0.96 0.38 0.44 0.41 0.80 0.06 0.10
Algorithms 2022, 15, 334 10 of 19
Figure 7. Crossover operator based on single crossing point.
The mutation operator is applied after creating the offspring alphas, generating a
The mutation operator is applied after creating the offspring alphas, generating a
random number for each offspring. If this random number is less than the probability of
random number for each offspring. If this random number is less than the probability of
mutation MR, the mutation operation is performed using the swapping mutation method
mutation MR, the mutation operation is performed using the swapping mutation method
(exchange mutation), where two randomly chosen genes are exchanged through a SWAP
(exchange mutation), where two randomly chosen genes are exchanged through a SWAP
movement [36,37] (see Figure 8).
movement [36,37] (see Figure 8).
Offspring 2
Gene 1 Gene 2 Gene 3 Gene 4 Gene 5 Gene 6 Gene 7 Gene 8 Gene 9 Gene 10 Gene 11 Gene 12 Gene 13 Gene 14 Gene 15 Gene 16 Gene 17
Input 1 1 5 4 3 3 2 2 4 1 2 2 3 5 1 1 5 4
Input 2 0.18 0.24 0.90 0.83 0.83 0.34 0.21 0.94 0.21 0.99 0.96 0.38 0.44 0.41 0.80 0.06 0.10
SWAP movement
Offspring 2 Mutated
Gene 1 Gene 2 Gene 3 Gene 4 Gene 5 Gene 6 Gene 7 Gene 8 Gene 9 Gene 10 Gene 11 Gene 12 Gene 13 Gene 14 Gene 15 Gene 16 Gene 17
Input 1 1 5 4 3 1 2 2 4 1 2 2 3 5 3 1 5 4
Input 2 0.18 0.24 0.90 0.83 0.41 0.34 0.21 0.94 0.21 0.99 0.96 0.38 0.44 0.83 0.80 0.06 0.10
Step
Step 7.
7. After
After applying
applying the
the crossover
crossover oror mutation
mutation operator,
operator, infeasible
infeasible offspring
offspring may
may
be
be generated because one or more jobs do not have assigned the number of
generated because one or more jobs do not have assigned the number of operations
operations
they
they require,
require, so
soaajob
jobj jappears
appearsmore
moreororfewer
fewertimes
times inin
thethe
offspring
offspringthan
thanthethe
number
numberof
Algorithms 2022, 15, x FOR PEER REVIEW 11 of 20
operations it must
of operations it mustperform. As shown
perform. As shownin Figure 9, the
in Figure repair
9, the mechanism
repair mechanism randomly ex‐
randomly
changes
exchangesone
oneof of
thethe
remaining
remainingoperations
operationsforfor
a missing
a missing one.
one.
Infeasible Offspring
Gene 1 Gene 2 Gene 3 Gene 4 Gene 5 Gene 6 Gene 7 Gene 8 Gene 9 Gene 10 Gene 11 Gene 12 Gene 13 Gene 14 Gene 15 Gene 16 Gene 17
Input 1 3 1 3 5 3 4 2 2 1 2 2 3 5 1 1 5 4
Input 2 0.66 0.93 0.31 0.80 0.73 0.75 0.91 0.56 0.21 0.99 0.96 0.38 0.44 0.41 0.80 0.06 0.10
Job j 1 2 3 4 5
Required operations 4 4 3 3 3
Assigned operations 4 4 4 2 3
Repaired Offspring
Gene 1 Gene 2 Gene 3 Gene 4 Gene 5 Gene 6 Gene 7 Gene 8 Gene 9 Gene 10 Gene 11 Gene 12 Gene 13 Gene 14 Gene 15 Gene 16 Gene 17
Input 1 3 1 3 5 4 4 2 2 1 2 2 3 5 1 1 5 4
Input 2 0.66 0.93 0.31 0.80 0.73 0.75 0.91 0.56 0.21 0.99 0.96 0.38 0.44 0.41 0.80 0.06 0.10
Figure9.9. Repair
Figure Repair mechanism.
mechanism.
Step8.
Step 8. The
The algorithm
algorithm returns
returns to to Step
Step after
after creating
creating offspring
offspring alpha
alpha from
from the
the crossover
crossover
andmutation
and mutationoperations
operationsto togenerate
generatethe therespective
respectivebeta
betachromosome.
chromosome. The The fitness
fitnessvalue
valueis
is
calculatedfor
calculated foreach
eachchromosome
chromosomein inthe
thenew
newgeneration
generationusing
usingStep
Step4.4.
Step9.9.After
Step Afterperforming
performingallallthethe iterations
iterations N the
N of of the algorithm,
algorithm, the best
the best beta beta chromo‐
chromosome
somethe
with with the lowest
lowest total weighted
total weighted penalty penalty is selected
is selected as theasbest
the global
best global solution.
solution. Then,Then,
the
the corresponding
corresponding GanttGantt
chartchart is created
is created to represent
to represent the production
the production schedule.
schedule.
In summary,
In summary,the thebasic
basicstructure
structureof ofthe
theproposed
proposedGA GAforforthe
theFJSSP
FJSSP is
is presented
presented below
below
in the
in theAlgorithm
Algorithm11through
throughitsitspseudo-code.
pseudo‐code.
4. Experiments
A scheduling problem was approached in a company dedicated to providing fabric
finishing services to test the effectiveness of the proposed genetic algorithm in realistic
environments. The production system has six processes or stages, 19 machines, some of
which can perform more than one process (recirculation condition), and different processing
routes for the products to be processed. The setup times are dependent on the schedule
sequence due to color changes in the fabrics, and two scenarios of 20 and 30 jobs make
up the production schedule. Figure 10 shows the production system highlighting the six
processes, the machines enabled by each process, and the routes established within the
production plant.
In order to execute and evaluate the proposed genetic algorithm, this study considers
a 2k design of experiments for parameter tuning, taking as experimental factors the popu-
lation (30, 50), number of iterations (1000, 2000), mutation rate (0.03, 0.1), and crossover
rate (0.8, 0.9) based on the values proposed by Coello [38], Teekeng and Thammano [39],
and Ruiz [40], and considering the conditions of the productive system addressed. The
results of the parameter tuning are shown in Table 1. The number of jobs to be tested
is equivalent to 20 and 30 production orders (jobs) because it represents an appropriate
4. Experiments
A scheduling problem was approached in a company dedicated to providing fabric
finishing services to test the effectiveness of the proposed genetic algorithm in realistic
environments. The production system has six processes or stages, 19 machines, some of
Algorithms 2022, 15, 334 which can perform more than one process (recirculation condition), and different 12 pro‐
of 19
cessing routes for the products to be processed. The setup times are dependent on the
schedule sequence due to color changes in the fabrics, and two scenarios of 20 and 30 jobs
size ofup
make the production
operations for the schedule. Figure plant,
fabric finishing 10 shows the production
in which processingsystem
times highlighting
are high for
the six processes, the machines enabled by each process, and the routes
each production order. The tardiness and earliness weighting parameters established within
of the objective
the production plant.
function for the production system are w = 1 and w = 0.4.
T E
Figure 10.
Figure 10. Fabric
Fabric finishing
finishing production
production system.
system.
4.
Input 1 3 3 3 5 5 5 2 2 2 2 1 1 1 1 4 4 4
Input 2 M2 M4 M7 M8 M1 M4 M3 M5 M8 M2 M3 M4 M6 M2 M7 M2 M4
Figure 11.
Figure 11. Solution
Solution example
example with
with the
the heuristic
heuristicEDD.
EDD.
In Step
In Step 3,
3, the
the machine
machine with
withthe
theshortest
shortesttime
timetotocomplete
completethe theoperation
operationisisassigned,
assigned,al-
allowing it to complete the operation in the shortest time. For this, it is necessary
lowing it to complete the operation in the shortest time. For this, it is necessary to defuzzify to de‐
fuzzify the processing times of the operation in each machine and the
the processing times of the operation in each machine and the sequence-dependent setup sequence‐depend‐
ent setup
times (for times (for triangular
triangular functions,functions,
average the average
lowerthe lower
value, thevalue,
modethe mode
value, and value, and
the upper
the upper value). Equation (31) shows that this result is added to the maximum
value). Equation (31) shows that this result is added to the maximum between the available between
the available
start startevaluated
time of the time of themachine
evaluatedandmachine and the completion
the completion time of thetime of the previous
previous operation
operation
of of the processed
the processed job. After assigning
job. After assigning the machines,the machines, the EDD solution
the EDD heuristic heuristicshows
solution
the
shows theofsequence
sequence of jobs, operations,
jobs, operations, and assigned and assigned(see
machines machines (see In
Figure 11). Figure
Step 11). Infitness
4, the Step 4,of
the chromosome
the fitness of the constructed
chromosome constructed
with the EDD with the EDD
heuristic heuristic
is evaluated is evaluated
using the sameusing the
procedure
same procedure proposed to assess a beta chromosome generated
proposed to assess a beta chromosome generated by the proposed genetic algorithm.by the proposed genetic
algorithm.
des f de f u de f u de f u de f u
C𝐶j = max
max(C𝐶
j , ,TM
𝑇𝑀i ) + P𝑃jio + A𝐴ilj (31)
(31)
4.2. Heuristic CR
4.2. Heuristic CR
The CR heuristic builds a sequence of jobs, ordering them from lowest to highest
The CR
according heuristic
to the value ofbuilds a sequence
the ratio between of
thejobs, ordering
remaining them
time from
to their lowestcommitment
delivery to highest
according to the value of the ratio between the remaining time to
and the remaining process time [41]. In the proposed problem, the remaining time their delivery
to the
delivery commitment of each job j is equal to the average delivery time of each job j, and
the remaining processing time of each job j is equal to the sum of the average times of the
operations that must be performed on different machines. For the problem addressed in
this study, the CR heuristic is based on the following steps.
Calculate the average delivery time, total processing time, and sort jobs. For each job j,
the average delivery time d jM must be calculated by averaging the lower limit of the time
window d jA and the upper limit of the time window d jB . Then the expected total processing
time Pjtotal shown in Equation (32) must be calculated by adding the average processing
times of each operation of job j. To calculate the average processing times in operation o of
prom
job j (Pjo ) shown in Equation (33) it is necessary to calculate the defuzzified processing
de f u
time for job j on machine k (Pjok ), where X jok represents a binary variable that takes the
value of 1 when machine k is enabled to perform operation o of job j. The critical ratio is
calculated for each job (CR j ) using Equation (34) and the jobs are ranked from lowest to
highest according to this value. After sorting the jobs j according to the critical ratio, steps
2, 3, and 4 are applied in the same way as the EDD heuristic, thus obtaining the sequence
and assignment for the FJSSP.
prom
Pjtotal = ∑O
o =1 Pjo (32)
de f u
prom ∑kK=1 X jok Pjok
Pjo = (33)
∑kK=1 X jok
d jM
CR j = (34)
Pjtotal
Input 1 3 1 3 5 4 4 2 2 1 2 2 3 5 1 1 5 4
Input 2 M2 M3 M4 M8 M7 M2 M3 M5 M4 M8 M2 M7 M1 M6 M2 M4 M4
Figure
Figure 12.
12. Solution
Solution example
example with
with the
the Monte
Monte Carlo
Carlo simulation.
simulation.
The
The genetic
genetic algorithm and heuristics
algorithm and heuristicsused
usedasasbenchmarks
benchmarkswere
werecoded
codedininVisual
Visual Stu‐
Studio
dio
20132013 developed
developed by Microsoft
by Microsoft Corporation
Corporation (Redmond,
(Redmond, Washington,
Washington, USA),
USA), and and the ex‐
the experimental
perimental instances
instances were were
tested on tested
a PC (CPUonIntel
a PC (CPU
Xeon Intel Xeon
(4-Core) (4‐Core) E3‐1220v5‐3.0GHz,
E3-1220v5-3.0GHz, 16 GB RAM). 16
GB RAM).
5. Results
When executing the different selected heuristics and comparing them with the pro-
posed genetic algorithm, the following results were obtained in the scenarios considering
20 and 30 jobs. Table 2 shows the efficiency of the proposed algorithm over the selected
heuristics, highlighting that the proposed genetic algorithm exceeds the benchmark so-
lution by an average of 34.56%, obtaining savings of up to 43.81% compared to the SPT
heuristic when considering 20 jobs and providing savings of up to 38.57% compared to a
heuristic widely used in production systems such as the EDD heuristic when considering
30 jobs. Therefore, the proposed genetic algorithm provides efficient solutions to realistic
problems in flexible job shop systems with sequence-dependent setup times.
Likewise, Tables 3 and 4 show the completion time of the jobs that make up the best
solution obtained with the genetic algorithms when considering 20 and 30 jobs, respectively,
which generated a weighted penalty value equal to 442.93 and 980.95.
Figure 13a,b respectively shows the evolution of the fitness value with the genetic
algorithm throughout the generations (iterations) planned for the 20 and 30 jobs within
the production system of the fabric finishing plant. Therefore, the algorithm is convergent
because as the number of iterations (generations) increases, the solution obtained notably
improves its total weighted penalty value. For the case of 20 jobs, after 1700 iterations,
the improvements are reduced, while in the case of 30 jobs, upon reaching 2000 iterations,
significant advances continue appearing in the objective function.
Algorithms 2022, 15, 334 15 of 19
750 1600
700 1500
650
1400
600
Fitness Value
Fitness Value
1300
550
1200
500
1100
450
400 1000
350 900
1060
1130
1200
1270
1340
1410
1480
1550
1620
1690
1760
1830
1900
1970
1
70
140
210
280
350
420
490
560
630
700
770
840
910
980
1050
1120
1190
1260
1330
1400
1470
1540
1610
1680
1750
1820
1890
1960
10
80
150
220
290
360
430
500
570
640
710
780
850
920
990
Iterations Iterations
(a) (b)
Figure 13. Objective
Figure 13. Objectivefunction
functionvs.vs. iterations
iterations in the
in the genetic
genetic algorithm
algorithm considering
considering (a) 20
(a) 20 jobs jobs
and (b)and (b)
30 jobs.
30 jobs.
In addition to the analysis of the objective function of this study, Tables 5 and 6 present
Table
other 5. Number of tardy
performance jobs for such
indicators the GA
ascompared to theofbenchmarks.
the number tardy jobs (based on possibilities),
and the average possibility of tardyofjobs,
Number Tardywhere is considered that a job j has tardiness
JobsitBased
sup
possibility when Cj > d jB . Based on the results, the solution obtained % Savings
with the GA
Algorithm on Possibilities
provides only one job that can be late with a 0.50% chance when considering 20 jobs,
j = 20 j = 30 j = 20 j = 30
while five jobs can be late with a 10.72% chance when considering 30 jobs. Likewise,
Genetic algorithm 1 5 ‐ ‐
the GA provides average savings of 79.6% in the number of late jobs compared to the
Heuristic
benchmarks EDD
considering 20 jobs 5and maximum15savings of 83.3% 80.0%compared to 66.7%
the SPT
Heuristic SPT 6 17 83.3%
heuristic. Similarly, GA provides average savings of 65.0% in the number of tardy jobs 70.6%
Heuristic
compared to the CR
benchmarks considering4 12 maximum 75.0%
30 jobs and savings of 70.6%58.3%
compared
Monte
to Carlo
the SPT Simulation
heuristic. Regarding the 5 average possibility14 of tardy 80.0%
jobs, GA provides 64.3%
average
savings of 95.8% compared to the benchmarks considering 20 jobs and average savings
Table 6. Average
of 76.2% possibility
considering of tardy
30 jobs. jobs for
Thus, it isthe GA compared
confirmed thattothe
theproposed
benchmarks.GA, in addition
to providing satisfactory solutions in the weighted tardiness and earliness penalty, also
Average Possibility of Tardy
provides satisfactory solutions regarding the possibility and number%ofSavings tardy jobs.
Algorithm Jobs
Table 5. Number of tardy jobs for the j = GA
20 comparedjto= the 30 benchmarks. j = 20 j = 30
Genetic algorithm 0.50% 10.72% ‐ ‐
Heuristic EDD Number
12.05% of Tardy Jobs Based
47.06% 95.9% % Savings 77.2%
Algorithm on Possibilities
Heuristic SPT 13.96% 52.16% 96.4% 79.4%
j = 20 j = 30 j = 20 j = 30
Heuristic CR 9.55% 39.05% 94.8% 72.5%
Genetic algorithm 1 5 - -
MonteHeuristic
Carlo Simulation
EDD 12.79%
5 44.14%
15 96.1%
80.0% 75.7%
66.7%
Heuristic SPT 6 17 83.3% 70.6%
Heuristic CR
Regarding computing time,4 the genetic algorithm 12 requires75.0% 58.3%min to
an average of 10.5
Monte Carlo Simulation 5 14 80.0% 64.3%
find the best solution when considering 20 jobs and 2000 iterations, while it requires 17.6
min to find the best solution when considering 30 jobs and 2000 iterations. When compar‐
Table
ing 6. Average
the computing possibility
time forof tardy
20 jobsjobsagainst
for the GA compared
30 jobs (50% to the benchmarks.
increase in the number of jobs),
the computing time increases on average by 68.3%, showing the combinatorial complexity
Average Possibility of Tardy Jobs % Savings
and NP‐hard nature of the FJSSP with sequence‐dependent setup times. In this sense, it is
Algorithm
j = 20 j = 30 j = 20 j = 30
relevant that decision‐makers consider the trade‐off between the solution quality and the
Genetic algorithm 0.50% 10.72% - -
computing time of the genetic
Heuristic EDD
algorithm to obtain
12.05% 47.06%
satisfactory
95.9%
solutions in reasonable
77.2%
times for production
Heuristic SPT systems.13.96% 52.16% 96.4% 79.4%
Heuristic CR 9.55% 39.05% 94.8% 72.5%
Monte Carlo Simulation 12.79% 44.14% 96.1% 75.7%
Regarding computing time, the genetic algorithm requires an average of 10.5 min
to find the best solution when considering 20 jobs and 2000 iterations, while it requires
17.6 min to find the best solution when considering 30 jobs and 2000 iterations. When
comparing the computing time for 20 jobs against 30 jobs (50% increase in the number
Algorithms 2022, 15, 334 17 of 19
of jobs), the computing time increases on average by 68.3%, showing the combinatorial
complexity and NP-hard nature of the FJSSP with sequence-dependent setup times. In
this sense, it is relevant that decision-makers consider the trade-off between the solution
quality and the computing time of the genetic algorithm to obtain satisfactory solutions in
reasonable times for production systems.
6. Conclusions
This study addresses for the first time FJSSP in fuzzy environments considering
parameters and constraints of real production systems such as sequence-dependent setup
times, due windows, recirculation, and consideration of earliness and tardiness in objective
functions. Due to the complexity of the FJSSP, it is necessary to use artificial intelligence
techniques such as genetic algorithms, which provide satisfactory solutions in reasonable
computation times. One of the main contributions of this article is the proposal of a genetic
algorithm and four heuristics since they represent one of the first approaches to tackle the
FJSSP considering the realistic conditions presented in this study and applied to a fabric
finishing production system.
When comparing the results of the proposed genetic algorithm with different heuris-
tics, it was possible to verify that, in all cases, the proposed methodology exceeded the
performance of the heuristics by more than 30%, which shows the effectiveness of the
proposed algorithm. Additionally, the GA provides satisfactory solutions regarding the
possibility and number of tardy jobs. Moreover, the computing time of the genetic algo-
rithm is viable for operating environments; therefore, it can be used daily in flexible job
shop systems once the production orders are available. These results showed that the pro-
posed genetic algorithm provides the best solutions for the FJSSP, outperforming heuristics
widely used in production systems. Consequently, this study reduces the penalties related
to earliness and tardiness and flexible job shop systems, increasing customer service and
storage costs, inventory obsolescence, and lost sales.
Despite the contributions of the study, it still has some flaws. In the future, datasets
such as BRdata [44], Kacem data [45], BCdata [46], and HUdata [47] can be used to test
the efficiency and effectiveness of the proposed GA, and compare its performance with
other metaheuristics such as ACO, ABC, AIS, NS, SA, TS, PSO, hybrid metaheuristics,
and other evolutionary algorithms. Likewise, future studies could include orthogonal
experiments for parameter tuning for both the genetic algorithm and the metaheuristics
used as benchmarks. Future works could consider changes in work speed, limitations in
transportation and storage within the production system, machine downtime, and stockout
probabilities. Moreover, the proposed algorithm could be complemented with a local search
algorithm to improve the fitness of the chromosomes and reduce the number of iterations
necessary to find a satisfactory solution.
Author Contributions: Conceptualization, E.A.C. and E.R.-V.; methodology, E.A.C., E.R.-V. and
J.A.C.; software, E.A.C.; validation, E.R.-V., J.A.C. and R.G.-M.; formal analysis, E.A.C. and J.A.C.;
investigation, E.A.C.; resources, R.G.-M.; data curation, E.A.C.; writing—original draft preparation,
E.A.C. and J.A.C.; writing—review and editing, J.A.C. and E.A.C.; visualization, J.A.C. and E.A.C.;
supervision, E.R.-V. and P.C.; project administration, E.A.C.; funding acquisition, R.G.-M. All authors
have read and agreed to the published version of the manuscript.
Funding: This research received no external funding.
Data Availability Statement: The data will be accessible upon request.
Conflicts of Interest: The authors declare no conflict of interest.
References
1. Li, X.; Gao, L. An effective hybrid genetic algorithm and tabu search for fl exible job shop scheduling problem. Intern. J. Prod.
Econ. 2016, 174, 93–110. [CrossRef]
2. Zhang, G.; Lu, X.; Liu, X.; Zhang, L.; Wei, S.; Zhang, W. An effective two-stage algorithm based on convolutional neural network
for the bi-objective flexible job shop scheduling problem with machine breakdown. Expert Syst. Appl. 2022, 203, 117460. [CrossRef]
Algorithms 2022, 15, 334 18 of 19
3. Li, H.; Wang, X.; Peng, J. A hybrid differential evolution algorithm for flexible job shop scheduling with outsourcing operations
and job priority constraints. Expert Syst. Appl. 2022, 201, 117182. [CrossRef]
4. Ojstersek, R.; Tang, M.; Buchmeister, B. Due date optimization in multi-objective scheduling of flexible job shop production. Adv.
Prod. Eng. Manag. 2020, 15, 481–492. [CrossRef]
5. Liu, W.; Wang, X.; Wang, X.; Zhao, P. Due-window assignment scheduling with past-sequence-dependent setup times. Math.
Biosci. Eng. 2022, 19, 3110–3126. [CrossRef] [PubMed]
6. Jiang, T.; Deng, G. Optimizing the Low-Carbon Flexible Job Shop Scheduling Problem Considering Energy Consumption. IEEE
Access 2018, 6, 46346–46355. [CrossRef]
7. Lei, D. Pareto archive particle swarm optimization for multi- objective fuzzy job shop scheduling problems. Int. J. Adv. Manuf.
Technol. 2008, 37, 157–165. [CrossRef]
8. Hu, Y.; Yin, M.; Li, X. A novel objective function for job-shop scheduling problem with fuzzy processing time and fuzzy due date
using differential evolution algorithm. Int. J. Adv. Manuf. Technol. 2011, 56, 1125–1138. [CrossRef]
9. Ahmadizar, F.; Zarei, A. Minimizing makespan in a group shop with fuzzy release dates and processing times. Int. J. Adv. Manuf.
Technol. 2013, 66, 2063–2074. [CrossRef]
10. Behnamian, J. Survey on fuzzy shop scheduling. Fuzzy Optim. Decis. Mak. 2016, 15, 331–366. [CrossRef]
11. Ahmadizar, F.; Rabanimotlagh, A.; Arkat, J. Stochastic group shop scheduling with fuzzy due dates. J. Intell. Fuzzy Syst. 2017,
33, 2075–2084. [CrossRef]
12. Kacem, I.; Hammadi, S.; Borne, P. Pareto-optimality Approach Based on Uniform Design and Fuzzy Evolutionary Algorithms
for Flexible Job-shop Scheduling Problems (FJSPs). In Proceedings of the IEEE International Conference on Systems, Man and
Cybernetics, Yasmine Hammamet, Tunisia, 6–9 October 2002; pp. 304–310.
13. Dhamala, T.N.; Thapa, G.B.; Yu, H.-N. An Efficient Frontier for Sum Deviation JIT Sequencing Problem in Mixed-model Systems
via Apportionment. Int. J. Autom. Comput. 2012, 9, 87–97. [CrossRef]
14. Cano, J.A.; Correa-Espinal, A.A.; Gómez-Montoya, R.A. Mathematical programming modeling for joint order batching, sequenc-
ing and picker routing problems in manual order picking systems. J. King Saud Univ.-Eng. Sci. 2020, 32, 219–228. [CrossRef]
15. Çaliş, B.; Bulkan, S. A research survey: Review of AI solution strategies of job shop scheduling problem. J. Intell. Manuf. 2015,
26, 961–973. [CrossRef]
16. Soto, C.; Dorronsoro, B.; Fraire, H.; Cruz-Reyes, L.; Gomez-Santillan, C.; Rangel, N. Solving the multi-objective flexible job shop
scheduling problem with a novel parallel branch and bound algorithm. Swarm Evol. Comput. 2020, 53, 100632. [CrossRef]
17. Chaudhry, I.A.; Khan, A.A. A research survey: Review of flexible job shop scheduling techniques. Int. Trans. Oper. Res. 2016,
23, 551–591. [CrossRef]
18. Hajibabaei, M.; Behnamian, J. Flexible job-shop scheduling problem with unrelated parallel machines and resources-dependent
processing times: A tabu search algorithm. Int. J. Manag. Sci. Eng. Manag. 2021, 16, 242–253. [CrossRef]
19. Ojstersek, R.; Brezocnik, M.; Buchmeister, B. Multi-objective optimization of production scheduling with evolutionary computa-
tion: A review. Int. J. Ind. Eng. Comput. 2020, 11, 359–376. [CrossRef]
20. Amjad, M.K.; Butt, S.I.; Kousar, R.; Ahmad, R.; Agha, M.H.; Faping, Z.; Anjum, N.; Asgher, U. Recent Research Trends in Genetic
Algorithm Based Flexible Job Shop Scheduling Problems. Math. Probl. Eng. 2018, 2018, 9270802. [CrossRef]
21. Pezzella, F.; Morganti, G.; Ciaschetti, G. A genetic algorithm for the Flexible Job-shop Scheduling Problem. Comput. Oper. Res.
2008, 35, 3202–3212. [CrossRef]
22. Zhang, G.; Gao, L.; Shi, Y. An effective genetic algorithm for the flexible job-shop scheduling problem. Expert Syst. Appl. 2011,
38, 3563–3573. [CrossRef]
23. Sonmez, R.; Bettemir, Ö.H. A hybrid genetic algorithm for the discrete time-cost trade-off problem. Expert Syst. Appl. 2012,
39, 11428–11434. [CrossRef]
24. Gogna, A.; Tayal, A. Metaheuristics: Review and application. J. Exp. Theor. Artif. Intell. 2013, 25, 503–526. [CrossRef]
25. Wang, C.; Tian, N.; Ji, Z.; Wang, Y. Multi-objective fuzzy flexible job shop scheduling using memetic algorithm. J. Stat. Comput.
Simul. 2017, 87, 2828–2846. [CrossRef]
26. Shi, D.L.; Zhang, B.B.; Li, Y. A multi-objective flexible job-shop scheduling model based on fuzzy theory and immune genetic
algorithm. Int. J. Simul. Model. 2020, 19, 123–133. [CrossRef]
27. Zhang, H.; Collart-Dutilleul, S.; Mesghouni, K. Cyclic Scheduling of Flexible Job-shop with Time Window Constraints and
Resource Capacity Constraints. IFAC-PapersOnLine 2015, 48, 816–821. [CrossRef]
28. Jafarzadeh, H.; Moradinasab, N.; Gerami, A. Solving no-wait two-stage flexible flow shop scheduling problem with unrelated
parallel machines and rework time by the adjusted discrete multi objective invasive weed optimization and fuzzy dominance
approach. J. Ind. Eng. Manag. 2017, 10, 887–918. [CrossRef]
29. Jamrus, T.; Chien, C.F.; Gen, M.; Sethanan, K. Hybrid Particle Swarm Optimization Combined With Genetic Operators for Flexible
Job-Shop Scheduling Under Uncertain Processing Time for Semiconductor Manufacturing. IEEE Trans. Semicond. Manuf. 2018,
31, 32–41. [CrossRef]
30. Chen, J.C.; Wu, C.C.; Chen, C.W.; Chen, K.H. Flexible job shop scheduling with parallel machines using Genetic Algorithm and
Grouping Genetic Algorithm. Expert Syst. Appl. 2012, 39, 10016–10021. [CrossRef]
31. Nouiri, M.; Bekrar, A.; Jemai, A.; Niar, S. An effective and distributed particle swarm optimization algorithm for flexible job-shop
scheduling problem. J. Intell. Manuf. 2018, 29, 603–615. [CrossRef]
Algorithms 2022, 15, 334 19 of 19
32. Wei, Z.; Liao, W.; Zhang, L. Hybrid energy-efficient scheduling measures for flexible job-shop problem with variable machining
speeds. Expert Syst. Appl. 2022, 197, 116785. [CrossRef]
33. Ortiz, M.; Neira, D.; Jiménez, G.; Hernández, H. Solving flexible job-shop scheduling problem with transfer batches, setup times
and multiple resources in apparel industry. Lect. Notes Comput. Sci. 2016, 9713, 47–58. [CrossRef]
34. Demir, Y.; Işleyen, S.K. Evaluation of mathematical models for flexible job-shop scheduling problems. Appl. Math. Model. 2013,
37, 977–988. [CrossRef]
35. Wang, W.; Li, X.; Zhang, Y. An improved multi-objective genetic algorithm for fuzzy flexible job-shop scheduling problem. Int. J.
Comput. Appl. Technol. 2013, 47, 280–288. [CrossRef]
36. Cano, J.A.; Correa-Espinal, A.A.; Gómez-Montoya, R.A.; Cortés, P. Genetic Algorithms for the Picker Routing Problem in
Multi-block Warehouses. In Lecture Notes in Business Information Processing; Abramowicz, W., Corchuelo, R., Eds.; Springer: Cham,
Switzerland, 2019; Volume 353, pp. 313–322. ISBN 9783030204846.
37. Cano, J.A.; Cortés, P.; Muñuzuri, J.; Correa-Espinal, A. Solving the picker routing problem in multi-block high-level storage
systems using metaheuristics. Flex. Serv. Manuf. J. 2022. [CrossRef]
38. Coello, C.A. Introducción a la Computación Evolutiva (Notas de Curso); CINVESTAV-IPN: Mexico City, Mexico, 2022; pp. 1–296.
Available online: https://delta.cs.cinvestav.mx/~{}ccoello/compevol/apuntes.pdf (accessed on 27 July 2022).
39. Teekeng, W.; Thammano, A. Modified Genetic Algorithm for Flexible Job-Shop Scheduling Problems. Procedia Comput. Sci. 2012,
12, 122–128. [CrossRef]
40. Ruiz, S. Metodología multiobjetivo basada en un comportamiento evolutivo para programar sistemas de producción flexible job
shop. In Aplicaciones en la Industria Metalmecánica; Universidad Nacional de Colombia: Bogotá, Colombia, 2015.
41. Salazar, E.; Figueroa, B. Tardiness minimization for the flexible flowshop with setup using constructive heuristics and a genetic
algorithm. Ingeniare 2012, 20, 89–98. [CrossRef]
42. González, Á. Diseño de una metodología de programación de producción para la reducción de costos en un flow shop híbrido
flexible mediante el uso de algoritmos genéticos. In Aplicación a la Industria Textil; Universidad Nacional de Colombia: Bogotá,
Colombia, 2013.
43. Companys, R.; D’Armas, M. Operation scheduling with setup times by local optimization algorithms. Universidad, Cienc. y Tecnol.
2005, 9, 155–162.
44. Brandimarte, P. Routing and scheduling in a flexible job shop by taboo search. Ann. Oper. Res. 1993, 41, 157–183. [CrossRef]
45. Kacem, I.; Hammadi, S.; Borne, P. Pareto-optimality approach for flexible job-shop scheduling problems: Hybridization of
evolutionary algorithms and fuzzy logic. Math. Comput. Simul. 2002, 60, 245–276. [CrossRef]
46. Barnes, J.W.; Chambers, J.B. Flexible job shop scheduling by tabu search. In Graduate Program in Operations and Industrial
Engineering, The University of Texas at Austin, Technical Report Series, ORP96-09; The University of Texas at Austin: Austin, TX,
USA, 1996.
47. Hurink, J.; Jurisch, B.; Thole, M. Tabu search for the job-shop scheduling problem with multi-purpose machines. OR Spectr. 1994,
15, 205–215. [CrossRef]