0% found this document useful (0 votes)
9 views19 pages

algorithms-15-00334-v2 (1)

This article addresses the flexible job shop scheduling problem (FJSSP) by proposing a genetic algorithm that incorporates fuzzy logic to minimize weighted penalties for tardiness and earliness, particularly in industries with variable processing times. The algorithm is tested against four heuristics in a real-world textile production case, demonstrating over 30% improvement in performance. The study contributes by developing a methodology for calculating job penalties and adapting genetic algorithms to specific FJSSP assumptions, enhancing computational efficiency.

Uploaded by

alaa mellah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views19 pages

algorithms-15-00334-v2 (1)

This article addresses the flexible job shop scheduling problem (FJSSP) by proposing a genetic algorithm that incorporates fuzzy logic to minimize weighted penalties for tardiness and earliness, particularly in industries with variable processing times. The algorithm is tested against four heuristics in a real-world textile production case, demonstrating over 30% improvement in performance. The study contributes by developing a methodology for calculating job penalties and adapting genetic algorithms to specific FJSSP assumptions, enhancing computational efficiency.

Uploaded by

alaa mellah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

algorithms

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

Received: 28 July 2022


Accepted: 16 September 2022 1. Introduction
Published: 20 September 2022
The assignment and sequencing of jobs to production resources represent a complex
Publisher’s Note: MDPI stays neutral process in most manufacturing companies, even more in flexible job shop systems where
with regard to jurisdictional claims in the production scheduling problem has been proved to be a nondeterministic polynomial
published maps and institutional affil- time-hard problem (NP-hard problem) [1,2], and for which optimal solution algorithms can-
iations. not provide solutions in reasonable computational times, especially for large and complex
production plants. When considering the FJSSP, the concept of a set of machines in series is
replaced by a set of work centers, where each work center contains a set of parallel machines
that can have different processing times. In the FJSSP, each job follows a production route
Copyright: © 2022 by the authors.
and can be processed on any machine that makes up a work center [3]. Moreover, the FJSSP
Licensee MDPI, Basel, Switzerland.
requires a detailed discussion of the scheduling of orders importance from the point of due
This article is an open access article
dates [4], implying the consideration of objective functions related to tardiness and earli-
distributed under the terms and
ness [5,6]. However, many FJSSP models proposed in the literature assume conditions far
conditions of the Creative Commons
Attribution (CC BY) license (https://
from reality, ignoring the recirculation of jobs in work centers or machines and considering
creativecommons.org/licenses/by/
certainty in all the parameters used to perform the production schedule.
4.0/).

Algorithms 2022, 15, 334. https://doi.org/10.3390/a15100334 https://www.mdpi.com/journal/algorithms


Algorithms 2022, 15, 334 2 of 19

In addition, the studies considering parameter uncertainty do not include variables


such as setup times dependent on the operation sequence. In most scheduling models,
processing time and due dates represent uncertain variables [7–11], and some studies use
fuzzy logic theory to create a hybrid genetic algorithm to minimize makespan [12]. Further-
more, production scheduling problems optimizing earliness and tardiness have increased
in relevance in recent years due to the growing interest in just-in-time production [13].
In realistic production scheduling problems, jobs finish as close as possible to due dates
or within time-windows, due dates (due windows) since the early completion of jobs
generates additional production and storage costs and inventory obsolescence; while late
completion causes lost sales [5,14]. Therefore, optimal scheduling minimizing earliness
and tardiness penalties can improve the economic effects of firms.
On the other hand, the complexity of the FJSSP requires the use of techniques that
provide solutions in reasonable computational times to NP-hard problems. These solu-
tions come from artificial intelligence techniques, which have been active in planning and
scheduling for four decades [15]. Therefore, many heuristics and metaheuristics such
as genetic algorithms, honey bee optimization, artificial bee colony, ant colony optimiza-
tion, particle swarm optimization, simulated annealing, and hybrid approaches have been
proposed to solve the FJSSP [16]. Chaudhry and Khan [17] performed a review of tech-
niques addressing the FJSSP, highlighting ant colony optimization (ACO), artificial bee
colony (ABC), artificial immune system (AIS), evolutionary algorithms, greedy randomized
adaptive search procedure (GRASP), Integer/Linear programming, neighborhood search
(NS), particle swarm optimization (PSO), simulated annealing (SA), tabu search (TS), math-
ematical programming, deterministic heuristics, hybrid techniques, and miscellaneous
techniques. Evolutionary algorithms represent the most used techniques in the literature
to solve the FJSSP and cover a wide variety of techniques including Biogeography-based
optimization (BBO), Differential evolution (DE), Evolution strategy (ES), Gene expression
programming (GEP), Genetic Algorithms (GA), Genetic programming (GP), Harmony
Search (HS), Learning classifier system (LCS), Memetic Algorithms (MA), and Estima-
tion of distribution algorithm (EDA). These techniques are effective for minimizing the
maximum completion time of the jobs, better known as makespan [18], and they can also
assume other objectives, such as reducing delivery times, minimizing tardiness, minimizing
earliness, minimizing resource costs, minimizing flow time, and minimizing the number of
tardy jobs [15,17].
Within artificial intelligence techniques, genetic algorithms are usually efficient for
the optimization of complex systems, represent a good solver for combinatorial problems,
provide a wide range of solutions [19], and have been used to solve many problems
related to the FJSSP [20], becoming a powerful and successful technique for solving of NP-
Hard problems due to the logic of evolutionary principles [21,22]. The genetic algorithm
as an evolutionary algorithm has advantages as it is relatively easy to understand and
apply and presents fault tolerance [23]. However, although it has been proven that this
metaheuristic efficiently solves complex optimization problems, the parameter values must
prevent premature convergences and promote the finding of global solutions instead of
local solutions [24,25].
Liu, Yang, Xing, and Lu [26] presented a study considering a flexible job shop system,
fuzzy parameters, and time windows, introduced a multi-objective programming problem
with fuzzy time windows, and solved the problem through a multi-group genetic algorithm.
Similarly, Zhang, Collart-Dutilleul, and Mesghouni [27] developed a model that incorpo-
rates time windows, capacity, and space constraints and uses mixed integer programming
to limit cyclic activities. Shi, Zhang, and Li [26] use a rolling window rescheduling strategy
and dynamic scheduling for the FJSSP with fuzzy delivery time, considering a trapezoidal
delivery window to minimize energy consumption, maximum makespan, and consumer
dissatisfaction, and solving this problem with an immune genetic algorithm.
Other studies have added restrictions to the FJSSP models to adapt to realistic prob-
lems and seek to fulfill several objectives considering multi-objective uncertainty environ-
Algorithms 2022, 15, 334 3 of 19

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)

Vijk ≤ Akij ∀ i, j, k (10)


∑i ∑ j Xijkl = 1 ∀ k, l (11)
∑k Vijk = 1 ∀ i, j (12)
∑l Xijkl = Vijk ∀ i, j, k (13)
TIij , PSij ≥ 0 ∀ i, j (14)
TMkl ≥ 0 ∀ k, l (15)
Tj , Ej ≥ 0 ∀j (16)
Xijkl ∈ {0, 1} ∀ i, j, k, l (17)
Vijk ∈ {0, 1} ∀ i, j, k (18)
Equation (1) minimizes the total weighted penalty of the jobs given by lateness and
promptness, where the earliness of a job is defined as the maximum between zero and
the difference between the lower  limit of the due window and the completion time of
said job Ej = Max 0 , d jA − Cj , and the tardiness of a job is defined as the maximum
between zero and the difference between the completion
 time and the upper limit of the
due window of said job Tj = Max 0 , Cj − d jB . Although the proposed model deals
with two performance measures, these are represented in a single objective function (total
penalty) that relates them through weights, which allows lateness and promptness to be
assessed differently according to the decision-maker preferences. Constraint (2) calculates
the completion time of the operations of each job. Constraints (3) and (4) define respectively
the tardiness and earliness of each job based on the limits of the due dates. Constraint (5)
ensures that the total processing time of each job includes the machine processing time
and the setup time. Constraint (6) guarantees the compliance of precedence of operations.
Constraint (7) ensures that machines can perform one operation at a time. Constraints
(8) and (9) guarantee that any operation starts when the assigned machine is available,
and the previous operation is completed. Constraint (10) establishes the relationship
between the assigned machines and the operations assigned to those machines. Constraint
(11) guarantees that each operation of each job is assigned to a position on a machine.
Constraints (12) and (13) ensure that each operation is processed on the assigned machine
and position. Constraints (14)–(18) define the variable domains.

3. Genetic Algorithm and Fuzzy Logic for the FJSSP


No efficient algorithm provides an optimal solution in short computing times to a
combinatorial optimization problem such as the FJSSP, so it is necessary to use alternatives
to complex and analytical methods [10,17]. These models provide optimal solutions in
reasonable computational times only for small instances, which is infeasible for realistic
problems, so metaheuristics are suggested to find feasible solutions in reasonable computing
times [24]. Adaptive algorithms for production scheduling in fuzzy environments have
delivered good results and have provided excellent solutions; therefore, genetic algorithms
have become one of the most used metaheuristics to generate efficient and high-quality job
sequences in flexible job shop systems [20,21,29,35]. Thus, this study proposes a genetic
algorithm with fuzzy logic that follows the ones described in Figure 1 and detailed below.
problems, so metaheuristics are suggested to find feasible solutions in reasonable compu‐
ting times [24]. Adaptive algorithms for production scheduling in fuzzy environments
have delivered good results and have provided excellent solutions; therefore, genetic al‐
gorithms have become one of the most used metaheuristics to generate efficient and high‐
quality job sequences in flexible job shop systems [20,21,29,35]. Thus, this study proposes
Algorithms 2022, 15, 334 6 of 19
a genetic algorithm with fuzzy logic that follows the ones described in Figure 1 and de‐
tailed below.

Start

Select the best beta chromosomes using


Model input information
the elitism operator

Apply crossover and mutation


Generate initial population randomly
operators

For each alpha chromosome, calculate Use the repair mechanism for alpha
its respective beta chromosome chromosomes

Assess the fitness of each beta


chromosome

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

Figure 2. Illustration of an alpha chromosome.


Figure 2. Illustration of an alpha chromosome.
Step 3. Since the alpha chromosome is used to perform the crossover and mutation
Step 3. Since the alpha chromosome is used to perform the crossover and mutation
operators, the beta chromosome facilitates the evaluation of the objective function (fitness
operators, the beta chromosome facilitates the evaluation of the objective function (fitness
value). This chromosome representation enhances offspring feasibility, only requiring the
value). This chromosome representation enhances offspring feasibility, only requiring
repair of chromosomes by the number of operations per job. The beta chromosomes result
the repair of chromosomes by the number of operations per job. The beta chromosomes
from the alpha chromosomes by assigning in input 2 of each gene the machine that per‐
result from the alpha chromosomes by assigning in input 2 of each gene the machine that
forms the operation for the job assigned in input 1. The machine assignment shown in
performs the operation for the job assigned in input 1. The machine assignment shown in
Figure 3 compares the value stored in input 2 of the alpha chromosome with the proba‐
Figure 3 compares
bility assigned the value
to each machine stored in input
enabled 2 of thethe
to perform alpha chromosome
operation with
indicated in the probability
input 1. All
assigned
machines enabled to perform an operation receive the same selection probability. As1.an All
to each machine enabled to perform the operation indicated in input
machines enabled
example, Figure to perform
4 indicates thean operation
sequencing ofreceive the same selection
jobs corresponding probability.
to the beta chromosome As an
example, Figure 4 indicates the sequencing of jobs corresponding to the beta
from Figure 3, where job 3 is shown to be assigned three operations, the first operation is chromosome
from Figure
assigned to 3, where 2job
machine 3 is1),shown
(j3‐O to beoperation
the second assigned isthree operations,
assigned the first
to machine operation
4 (j3‐O 2), and
is
assigned to machine 2 (j -O
the third operation is assigned
3 ), the second operation
1 to machine 7 (j3‐O3). is assigned to machine 4 (j 3 -O 2 ), and
the third operation is assigned to machine 7 (j3 -O3 ).
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 M2 M3 M4 M8 M7 M2 M3 M5 M4 M8 M2 M7 M1 M6 M2 M4 M4

Figure 3. Illustration of an alpha chromosome.


Figure 3 compares the value stored in input 2 of the alpha chromosome with the proba‐
bility
bilityassigned
assignedtotoeach
eachmachine
machineenabled
enabledtotoperform
perform the the operation
operation indicated in input
indicated in input 1. 1. All
All
machines
machinesenabled
enabledtotoperform
performan anoperation
operation receive
receive the the same
same selection
selection probability.
probability. As As an an
example,
example,Figure
Figure44indicates
indicatesthe thesequencing
sequencingof ofjobs
jobscorresponding
corresponding to the beta chromosome
chromosome
from
fromFigure
Figure3,3,where
wherejob
job33isisshown
shownto tobe
beassigned
assigned three three operations,
operations, the first operation
operation is is
Algorithms 2022, 15, 334 assigned to machine 2 (j ‐O ), the second operation
assigned to machine 2 (j3‐O1), the second operation is assigned
3 1 is assigned to machine 4 (j3
3 ‐O2 ), and
2), and19
7 of
the
thethird
thirdoperation
operationisisassigned
assignedto tomachine
machine77(j(j33‐O
‐O33).).

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

Possibility (a) Possibility (b)

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

Figure 7. Crossover operator based on single crossing point.


Figure 7. Crossover operator based on single crossing point.

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

Figure 8. Mutation operator based on SWAP movements.


Figure 8. Mutation operator based on SWAP movements.

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.

Algorithm 1 Genetic Algorithm for the FJSSP


Input Data();
Bestglobal()
Generate_initial_population()
For p: = 1 to PB
Calculate Beta Function();
Beta Fitness Function();
If Mobj(p) < bestfit then
bestfit: = Mobj(p);
Algorithms 2022, 15, 334 11 of 19

Algorithm 1 Genetic Algorithm for the FJSSP


Input Data();
Bestglobal()
Generate_initial_population()
For p: = 1 to PB
Calculate Beta Function();
Beta Fitness Function();
If Mobj(p) < bestfit then
bestfit: = Mobj(p);
Bestglobal(): = chromosome_beta(p);
End if
End for
For i: = 1 to Iterations
x: = 0;
Sort population();
Elitism operator();
For l: = 1 to int(PB × ET)
x = x + 1;
New_population(x): = Sorted_population(l);
End for
Crossover Operator();
Mutation Operator();
For l: = 1 to int(PB × (1 − ET))
If Crossover(l) unfeasible then
Correction mechanism();
End if
x = x + 1;
New_population(x): = Offspring(l);
End for
For p: = 1 to PB
Calculate Beta Function();
Beta Fitness Function();
If Mobj(p) < bestfit then
bestfit: = Mobj(p);
Bestglobal(): = chromosome_beta(p);
End if
End for
End for
Output Data();

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

Process 1 Process 2 Process 3 Process 4 Process 5 Process 6

Machine R1 Machine T1 Machine S1 Machine R1 Machine E1 Machine V1

Machine R2 Machine T2 Machine S2 Machine R2 Machine V2

Machine R3 Machine T3 Machine S3 Machine R3 Machine V3

Machine R4 Machine T4 Machine R4

Machine R5 Machine T5 Machine R5

Machine T6 Route 1 Process 2 – Process 3 – Process 4 – Process 6

Machine T7 Route 2 Process 1 – Process 2 – Process 3 – Process 4 ‐ Process 6

Route 2 Process 2 – Process 3 – Process 4 – Process 5‐ Process 4 ‐ Process 6

Figure 10.
Figure 10. Fabric
Fabric finishing
finishing production
production system.
system.

Table In order toalgorithm


1. Genetic execute and evaluate
parameter the proposed genetic algorithm, this study considers
values.
a 2k design of experiments for parameter tuning, taking as experimental factors the pop‐
Parameter
ulation (30, 50), number of iterations (1000, 2000), mutation rateValue
(0.03, 0.1), and crossover
Elitism
rate (0.8, 0.9) based ratevalues proposed by Coello [38], Teekeng
on the 0.1 and Thammano [39],
and Ruiz [40], andMutation rate
considering the conditions of the productive0.1system addressed. The
Crossover rate 0.9
results of the parameter tuning are shown in Table 1. The number of jobs to be tested is
Population 50
equivalent to 20 and 30 production orders (jobs) because it represents
Iterations 2000 an appropriate size
of operations for the fabric finishing plant, in which processing times are high for each
production order. The tardiness and earliness weighting parameters of the objective func‐
tion The genetic
for the algorithm
production was are
system compared
𝑤 1with
andfour
𝑤 heuristics
0.4. to evaluate the effectiveness
and performance of solving the FJSSP. The selected heuristics were EDD (Earliest Due
Date), CR (Critical Reason), SPT (Shortest Processing Time), and Monte Carlo simulation.
These heuristics were used in the production scheduling problems addressed by Salazar
and Figueroa [41], Wang and Li [35], and González [42]. Likewise, three of these heuristics
represent conventional priority rules (EDD, SPT, CR) that have been used by Ojstersek,
Tang, and Buchmeister [4]. The adaptation of each heuristic to the flexible job shop system
with fuzzy processing times and due windows is explained below.

4.1. Heuristic EDD


The heuristic EDD sequences the jobs according to the due date. This heuristic favors
the highest priority jobs; however, it does not take advantage of reducing the setup times
when successively processing jobs from the same family [43].
The first step of the heuristic calculates the average delivery time of each job j d jM by
averaging the lower limit of the time window d jA and the upper limit of the time window
d jB , then the jobs are ranked from lowest to highest according to this value. In Step 2, the
jobs are sequenced according to the ranking obtained in Step 1, forming a chromosome
as in the genetic algorithm, with the difference that all the operations of each job j are
located according to their average delivery time. Figure 11 shows an example of a solution
(chromosome) sequencing five jobs (1, 2, 3, 4, and 5), which have 4, 4, 3, 3, and 3 operations,
respectively. The order of the jobs according to their average delivery time is 3, 5, 2, 1,
and 4.
𝑑 , then the jobs are ranked from lowest to highest according to this value. In Step 2, the
jobs are sequenced according to the ranking obtained in Step 1, forming a chromosome as
in the genetic algorithm, with the difference that all the operations of each job j are located
according to their average delivery time. Figure 11 shows an example of a solution (chro‐
mosome) sequencing five jobs (1, 2, 3, 4, and 5), which have 4, 4, 3, 3, and 3 operations,
Algorithms 2022, 15, 334 respectively. The order of the jobs according to their average delivery time is 3, 5, 2, 1,13and
of 19

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

4.3. Heuristic SPT


This heuristic indicates that the priority of the jobs to be processed must depend on
the shortest processing time. In Step 1, calculate the total processing time for each job j
Pjtotal using Equation (32), and then calculate the average processing time in operation o of
prom
job j (Pjo ) shown in Equation (33). Jobs are ranked from lowest to highest based on Pjtotal .
Then, Steps 2, 3, and 4 of the EDD heuristic are applied, thus obtaining the sequence and
assignment for the FJSSP.
This heuristic indicates that the priority of the jobs to be processed must depend on
the shortest processing time. In Step 1, calculate the total processing time for each job j
𝑃 using Equation (32), and then calculate the average processing time in operation o
of job j (𝑃 shown in Equation (33). Jobs are ranked from lowest to highest based on
Algorithms 2022, 15, 334
𝑃 . Then, Steps 2, 3, and 4 of the EDD heuristic are applied, thus obtaining the sequence
14 of 19
and assignment for the FJSSP.

4.4. Monte Carlo Simulation


4.4. Monte Carlo Simulation
The Monte Carlo simulation randomly generates N solutions to select the schedule
The Monte Carlo simulation randomly generates N solutions to select the schedule
with the best result in the objective function. In Step 1, N chromosomes are created, and
with the best result in the objective function. In Step 1, N chromosomes are created, and
the jobs are randomly assigned to establish the sequence of operations. Figure 12 shows
the jobs are randomly assigned to establish the sequence of operations. Figure 12 shows an
an example of a solution (chromosome) sequencing five jobs (1, 2, 3, 4, and 5), which have
example of a solution (chromosome) sequencing five jobs (1, 2, 3, 4, and 5), which have 4, 4,
4, 4, 3, 3, and 3 operations, respectively. Then, Step 3 and Step 4 of the EDD heuristic are
3, 3, and 3 operations, respectively. Then, Step 3 and Step 4 of the EDD heuristic are applied
applied to each chromosome, obtaining the fitness value of each solution. Finally, the so‐
to each chromosome, obtaining the fitness value of each solution. Finally, the solution that
lution that provides the best fitness value is selected. A total of 2000 iterations (random
provides the best fitness value is selected. A total of 2000 iterations (random solutions) will
solutions) will be used to compare this heuristic with the proposed genetic algorithm.
be used to compare this heuristic with the proposed genetic algorithm.

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.

Table 2. Results for the GA compared to the benchmarks.

Total Weighted Penalty % Savings


Algorithm
j = 20 j = 30 j = 20 j = 30
Genetic algorithm 442.94 980.95 - -
Heuristic EDD 672.33 1420.79 34.12% 30.96%
Heuristic SPT 788.25 1596.87 43.81% 38.57%
Heuristic CR 626.18 1423.51 29.26% 31.09%
Monte Carlo Simulation 666.94 1510.56 33.59% 35.06%

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

Table 3. Completion time for the best solution considering 20 jobs.

Due Window Completion Time


Job j inf sup
djA djB Cj Cj Cmod
j Cj

1 64 72 55.6 51.3 55.4 60.1


2 78 102 97.2 90.9 96.7 104.1
3 58 72 61 56.4 60.9 65.6
4 50 62 32.6 30.3 32.4 35.1
5 98 110 99.1 91.8 98.5 107
6 80 92 63 58.2 62.9 67.8
7 106 116 103.6 97.1 103.1 110.8
8 200 216 165.5 152.6 164.7 179.1
9 128 136 119.1 111 118.4 127.9
10 224 232 117.7 109.8 117 126.3
11 193 215 120.7 112.5 120 129.6
12 267 287 122.6 114.2 121.9 131.7
13 272 288 163.9 151.2 163.1 177.3
14 296 312 129.4 119.9 128.6 139.6
15 192 208 146.5 135.8 145.8 157.9
16 360 376 162.8 150.3 162.1 176.1
17 288 304 140.9 130.9 140.3 151.6
18 260 272 156.4 144.4 155.7 169.2
19 318 328 159.6 147.3 158.9 172.7
20 198 209 99.6 93.1 99.1 106.6

Table 4. Completion time for the best solution considering 30 jobs.

Due Window Completion Time


Job j inf sup
djA djB Cj Cj Cmod
j Cj

1 64 72 34.5 32.1 34.4 36.9


2 78 102 100.7 93.1 100.4 108.5
3 58 72 99.4 91.9 99 107.1
4 50 62 107.5 99.1 107.1 116.2
5 98 110 114.9 105.5 114.5 124.5
6 80 92 29.2 27.4 29 31.1
7 106 116 135.7 125.6 135.3 146.2
8 200 216 138 127.8 137.6 148.6
9 128 136 121.8 112.2 121.4 131.7
10 224 232 102.1 94.5 101.7 110.1
11 193 215 119.8 109.9 119.3 130
12 267 287 63.6 60 63.2 67.7
13 272 288 161 148.1 160.6 174.4
14 296 312 177 163.1 176.5 191.4
15 192 208 179.8 166.3 179.3 193.9
16 360 376 149.9 138.3 149.5 162.1
17 288 304 161.7 149.4 161.3 174.3
18 260 272 180.5 166.3 179.9 195.2
19 318 328 171.3 157.8 170.8 185.2
20 198 209 173.6 160 173.1 187.7
21 312 317 160 147.2 159.5 173.3
22 174 182 104.6 96.8 104.2 112.9
23 222 230 168 155.5 167.6 180.9
24 342 350 181.5 167.8 181 195.7
25 400 404 163.5 150.4 163 177
26 406 420 178 164.6 177.5 192
27 392 400 140.6 130.1 140.1 151.4
28 440 448 182.1 167.9 181.5 197
29 296 304 183 169.1 182.5 197.4
30 416 424 177.7 163.8 177.2 192.2
heuristic. Regarding the average possibility of tardy jobs, GA provides average savings of
95.8% compared to the benchmarks considering 20 jobs and average savings of 76.2% con‐
sidering 30 jobs. Thus, it is confirmed that the proposed GA, in addition to providing sat‐
Algorithms 2022, 15, 334 16 of 19
isfactory solutions in the weighted tardiness and earliness penalty, also provides satisfac‐
tory solutions regarding the possibility and number of tardy jobs.

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]

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy