Next Article in Journal
Novel Algorithm for Multi-Time Data Implantation in a Special Cyber-Manufacturing Architecture
Next Article in Special Issue
Blocking Cyclic Job-Shop Scheduling Problems
Previous Article in Journal
Non-Interactive Decision Trees and Applications with Multi-Bit TFHE
Previous Article in Special Issue
Modelling Cross-Docking in a Three-Level Supply Chain with Stochastic Service and Queuing System: MOWFA Algorithm
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Flexible Job Shop Scheduling Problem with Fuzzy Times and Due-Windows: Minimizing Weighted Tardiness and Earliness Using Genetic Algorithms

by
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
*
Author to whom correspondence should be addressed.
Algorithms 2022, 15(10), 334; https://doi.org/10.3390/a15100334
Submission received: 28 July 2022 / Revised: 6 September 2022 / Accepted: 16 September 2022 / Published: 20 September 2022

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 tardiness/earliness. The proposed algorithm is implemented in a real-world case study of a fabric finishing production system, and it is compared with four heuristics adapted to the FJSSP such as earliest due date, critical reason, shortest processing time, and Monte Carlo simulation. Results show that the performance of the proposed algorithm provides efficient and satisfactory solutions concerning the objective function and computing time since it overperforms (more than 30%) the heuristics used as benchmarks.

1. Introduction

The assignment and sequencing of jobs to production resources represent a complex process in most manufacturing companies, even more in flexible job shop systems where the production scheduling problem has been proved to be a nondeterministic polynomial time-hard problem (NP-hard problem) [1,2], and for which optimal solution algorithms cannot 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 and can be processed on any machine that makes up a work center [3]. Moreover, the FJSSP requires a detailed discussion of the scheduling of orders importance from the point of due dates [4], implying the consideration of objective functions related to tardiness and earliness [5,6]. However, many FJSSP models proposed in the literature assume conditions far from reality, ignoring the recirculation of jobs in work centers or machines and considering certainty in all the parameters used to perform the production schedule.
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,8,9,10,11], and some studies use fuzzy logic theory to create a hybrid genetic algorithm to minimize makespan [12]. Furthermore, 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 solutions 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 optimization, particle swarm optimization, simulated annealing, and hybrid approaches have been proposed to solve the FJSSP [16]. Chaudhry and Khan [17] performed a review of techniques 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), mathematical 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 Estimation 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 incorporates 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 problems and seek to fulfill several objectives considering multi-objective uncertainty environments [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 window 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 represented by Job Shop Scheduling Problem (JSSP), Flexible Job Shop Scheduling Problem (FJSSP), Dynamic Job Shop Scheduling Problem (DJSSP), and Flow Shop Scheduling Problem (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 production 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 membership 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
  • Setup times are represented by fuzzy numbers and modeled by triangular membership 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 determine 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 mathematical 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
A k i j Binary parameter to indicate whether operation i of the job j is performed on machine k
P k i j Processing time of operation i of the job j on machine k
S k j h Setup time in machine k if job j starts after completing job h
M Very large number
d j A Lower limit of the due window of job j
d j B Upper limit of the due window of the job j
w j Weighting for job j
w T Weighting for tardiness
w E Weighting for earliness
 Variables:
X i j k l Binary variable to indicate whether operation i of job j on machine k is sequenced in position l
V i j k Binary variable to assign operation j of job i on machine k
T M k l Start time of machine k at position l
P S i j Total process time (includes setup time) of operation i of job j
T I i j Start time of operation i of job j
C j Completion time of job j
T j Tardiness of job j
E j Earliness of job j
Model:
M i n           Z = W i ( T i   W T + E i W E )
C j T I i j + P S i j           i , j  
T j C j d j B                 j
E j d j A C j                   j
k [ ( P k i j + S k j h ) × V i j k ] = P S i j                   i , j , h
T I i j + P S i j   T I i + 1 j           j               i = 1 , , I 1
T M k l + P S i j × X i j k l T M k l + 1               i , j , k           l = 1 , , L 1
T M k l T I i j   ( 1 X i j k l ) × M         i , j , k ,   l
T M k l T M k l ( 1 X i j k l ) × M         i , j , k ,   l
V i j k A k i j               i , j , k
i j X i j k l = 1               k , l
k V i j k = 1                 i , j
l X i j k l = V i j k   i , j , k
T I i j ,   P S i j     0             i , j  
T M k l   0           k , l  
T j ,   E j   0           j
X i j k l { 0 , 1 }           i , j , k ,   l
V i j k   { 0 , 1 }       i , j , k
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 E j = M a x (   0   ,   d j A C j   ) , 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 T j = M a x (   0   ,   C j d j B   ) . 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.
Step 1. Enter the weight of each job j ( W j ), the due window of each job ( d j A , d j B ) , processing routes, available machines, processing times, sequence-dependent setup times, weight of tardiness ( w T ) and earliness ( w E ). Enter the genetic algorithm parameters such as Population (PB), Iterations (N), Elitism rate (ET), Crossover rate (PC), Mutation rate (MR).
Step 2. Generate the initial population randomly (number of chromosomes) based on the parameter PB, then calculate the number of operations required to complete all the scheduled jobs. In this step, PB chromosomes are randomly generated and are called alpha chromosomes. Each alpha chromosome represents a solution to the proposed scheduling problem; each gene has an input to assign a job randomly and establish the sequence to perform the operations, and another input to store a random number between 0 and 1 to assign the machine that performs the respective operation. A representation of an alpha chromosome is shown below in Figure 2.
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 value). This chromosome representation enhances offspring feasibility, only requiring the repair of chromosomes by the number of operations per job. The beta chromosomes result from the alpha chromosomes by assigning in input 2 of each gene the machine that 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 probability assigned to each machine enabled to perform the operation indicated in input 1. All machines enabled to perform an operation receive the same selection probability. As an example, Figure 4 indicates the sequencing of jobs corresponding to the beta chromosome from Figure 3, where job 3 is shown to be assigned three operations, the first operation is assigned to machine 2 (j3-O1), the second operation is assigned to machine 4 (j3-O2), and the third operation is assigned to machine 7 (j3-O3).
Step 4. The fuzzy completion time C j ˜ of each job j must be calculated to assess the fitness of each beta chromosome. As shown in Equation (19), the completion time for a selected gene is calculated as the start time of the operation (maximum between the available time of machine i  T M i ˜ and the cumulative completion time of job j up to the evaluated gene C j   ˜ ) plus the setup time in machine i  S i l j ˜ and the processing time of operation o of job j in machine i  P j i o ˜ . The available time of machine i will be updated with the completion time of job j that has been processed in this machine ( T M i ˜ = C j ˜ ). In the proposed methodology, the fuzzy sets used have triangular membership functions such that C j ˜ = ( C j i n f , C j m o d C j s u p ) . The elements that make up the triangular fuzzy number are shown in Figure 5, and these can be calculated following Equations (20)–(22).
C j ˜ = max ( C j   ˜ ,   T M i ˜ ) + P j i o ˜ + S i l j ˜
C j i n f = max   ( C j i n f ,   T M i i n f ) + P j i o i n f + A i l j i n f
C j m o d = max   ( C j m o d ,   T M i m o d ) + P j i o m o d + A i l j m o d
C j s u p = max   ( C j s u p ,   T M i s u p ) + P j i o s u p + A i l j s u p
Likewise, it is necessary to calculate the fuzzy tardiness and earliness of each job to obtain the fitness of each chromosome. It requires comparing C j ˜ with the limits of the due window ( d j A , d j B ). The fuzzy tardiness ( T j ˜ ) is determined by intercepting C j ˜ with the tardiness interval ( I T j ) that starts at d j B and is not bounded by an upper value (   d j B   , + ) . The fuzzy earliness of each job j ( E j ˜ ) is determined by the intercept of C j ˜ with the earliness interval ( I E j ) that starts at zero and ends at d j A   ( 0   ,   d j A ) . 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 (tardiness), but there is also the possibility of completing job j within the due window (on time and without penalties). Figure 6b shows the second case where job j cannot be delivered early (earliness) or late (tardiness), assuming a 100% possibility that job j will be completed within the due window despite considering uncertainty. Figure 6c shows the third case where job j cannot be completed late (tardiness), but there is a possibility that job j will be delivered early (earliness); however, when C j s u p d j A , there is a 100% possibility that job j will be completed early. Figure 6d shows the fourth case where job j cannot be delivered early (earliness), but there is a possibility that job j will be completed late (tardiness); however, when C j i n f d j B , there is a 100% possibility that job j will be completed late.
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 P j E or a delay P j T will be considered. For this, Equation (23) describes the membership function μ C j ( x ) of the fuzzy completion time C j ˜ , 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 T j * represent the defuzzification value of earliness and tardiness of job j, x μ E j ( x ) and x μ T j ( x ) represent the membership function of the fuzzy earliness and tardiness.
μ C j ( x ) = 0 s i x C j i n f x C j i n f c j m o d C j i n f s i C j i n f < x C j m o d C j s u p x c j s u p C j m o d s i C j m o d < x < C j s u p 0 s i x C j s u p
E j * = S E . x μ E j ( x ) d x S E . μ E j ( x ) = S E . x μ C j ( x ) d x S E . μ C j ( x )
P j E = S E . μ E j ( x ) d x S . μ C j ( x ) = S E . μ C j ( x ) d x S . x μ C j ( x )
E j = ( d j A E j * ) × P j E
T j * = S T . x μ T j ( x ) d x S T . μ T j ( x ) = S T . x μ C j ( x ) d x S T . μ C j ( x )
P j T = S T . μ T j ( x ) d x S . μ C j ( x ) = S T . μ C j ( x ) d x S . x μ C j ( x )
T j = ( T j * d j B ) × P j T
Once the earliness and tardiness of job j ( E j and T j ) are obtained, Equation (30) calculates the total weighted penalty of the beta chromosome r or fitness value, considering the weight of earliness ( W E ), the weight of lateness ( W T ), and the weighting of job j ( W j ).
Z r = 1 n W j ( T j   W T + E j W E )
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 ( E T × P B ).
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 the crossover 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.
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).
Step 7. After applying the crossover or mutation operator, infeasible offspring may be generated because one or more jobs do not have assigned the number of operations they require, so a job j appears more or fewer times in the offspring than the number of operations it must perform. As shown in Figure 9, the repair mechanism randomly exchanges one of the remaining operations for a missing one.
Step 8. The algorithm returns to Step after creating offspring alpha from the crossover and mutation operations to generate the respective beta chromosome. The fitness value is calculated for each chromosome in the new generation using Step 4.
Step 9. After performing all the iterations N of the algorithm, the best beta chromosome with the lowest total weighted penalty is selected as the best global solution. Then, the corresponding Gantt chart is created to represent the production schedule.
In summary, the basic structure of the proposed GA for the FJSSP is presented below in the Algorithm 1 through its 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);
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 population (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 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 function for the production system are w T = 1 and w E = 0.4 .
The genetic algorithm was compared with four heuristics 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 j M by averaging the lower limit of the time window d j A and the upper limit of the time window d j B , 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.
In Step 3, the machine with the shortest time to complete the operation is assigned, allowing it to complete the operation in the shortest time. For this, it is necessary to defuzzify the processing times of the operation in each machine and the sequence-dependent setup times (for triangular functions, average the lower value, the mode value, and the upper value). Equation (31) shows that this result is added to the maximum between the available start time of the evaluated machine and the completion time of the previous operation of the processed job. After assigning the machines, the EDD heuristic solution shows the sequence of jobs, operations, and assigned machines (see Figure 11). In Step 4, the fitness of the chromosome constructed with the EDD heuristic is evaluated using the same procedure proposed to assess a beta chromosome generated by the proposed genetic algorithm.
C j d e s f = max   ( C j d e f u ,   T M i d e f u ) + P j i o d e f u + A i l j d e f u

4.2. Heuristic CR

The CR heuristic builds a sequence of jobs, ordering them from lowest to highest according to the value of the ratio between the remaining time to their delivery commitment and the remaining process time [41]. In the proposed problem, the remaining time 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 j M must be calculated by averaging the lower limit of the time window d j A and the upper limit of the time window d j B . Then the expected total processing time P j t o t a l 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 job j ( P j o p r o m ) shown in Equation (33) it is necessary to calculate the defuzzified processing time for job j on machine k ( P j o k d e f u ), where X j o k 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 ( C R 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.
P j t o t a l = o = 1 O P j o p r o m
P j o p r o m = k = 1 K X j o k P j o k d e f u k = 1 K X j o k
C R j = d j M P j t o t a l

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  P j t o t a l using Equation (32), and then calculate the average processing time in operation o of job j ( P j o p r o m ) shown in Equation (33). Jobs are ranked from lowest to highest based on P j t o t a l . Then, Steps 2, 3, and 4 of the EDD heuristic are applied, thus obtaining the sequence and assignment for the FJSSP.

4.4. Monte Carlo Simulation

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 the jobs are randomly assigned to establish the sequence of operations. Figure 12 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. Then, Step 3 and Step 4 of the EDD heuristic are applied to each chromosome, obtaining the fitness value of each solution. Finally, the solution that provides the best fitness value is selected. A total of 2000 iterations (random solutions) will be used to compare this heuristic with the proposed genetic algorithm.
The genetic algorithm and heuristics used as benchmarks were coded in Visual Studio 2013 developed by Microsoft Corporation (Redmond, Washington, USA), and the experimental instances were tested on a PC (CPU Intel Xeon (4-Core) E3-1220v5-3.0GHz, 16 GB RAM).

5. Results

When executing the different selected heuristics and comparing them with the proposed 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 solution 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, Table 3 and Table 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.
In addition to the analysis of the objective function of this study, Table 5 and Table 6 present other performance indicators such as the number of tardy jobs (based on possibilities), and the average possibility of tardy jobs, where it is considered that a job j has tardiness possibility when C j s u p > d j B . Based on the results, the solution obtained with the GA provides only one job that can be late with a 0.50% chance when considering 20 jobs, while five jobs can be late with a 10.72% chance when considering 30 jobs. Likewise, the GA provides average savings of 79.6% in the number of late jobs compared to the benchmarks considering 20 jobs and maximum savings of 83.3% compared to the SPT heuristic. Similarly, GA provides average savings of 65.0% in the number of tardy jobs compared to the benchmarks considering 30 jobs and maximum savings of 70.6% compared to the SPT 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% considering 30 jobs. Thus, it is confirmed that the proposed GA, in addition to providing satisfactory solutions in the weighted tardiness and earliness penalty, also provides satisfactory solutions regarding the possibility and number of tardy jobs.
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 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 heuristics, 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 algorithm 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 proposed 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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  10. Behnamian, J. Survey on fuzzy shop scheduling. Fuzzy Optim. Decis. Mak. 2016, 15, 331–366. [Google Scholar] [CrossRef]
  11. Ahmadizar, F.; Rabanimotlagh, A.; Arkat, J. Stochastic group shop scheduling with fuzzy due dates. J. Intell. Fuzzy Syst. 2017, 33, 2075–2084. [Google Scholar] [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. [Google Scholar]
  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. [Google Scholar] [CrossRef]
  14. Cano, J.A.; Correa-Espinal, A.A.; Gómez-Montoya, R.A. Mathematical programming modeling for joint order batching, sequencing and picker routing problems in manual order picking systems. J. King Saud Univ.-Eng. Sci. 2020, 32, 219–228. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  19. Ojstersek, R.; Brezocnik, M.; Buchmeister, B. Multi-objective optimization of production scheduling with evolutionary computation: A review. Int. J. Ind. Eng. Comput. 2020, 11, 359–376. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  24. Gogna, A.; Tayal, A. Metaheuristics: Review and application. J. Exp. Theor. Artif. Intell. 2013, 25, 503–526. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [CrossRef]
  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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar]
  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. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar]
  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. [Google Scholar] [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. [Google Scholar]
  43. Companys, R.; D’Armas, M. Operation scheduling with setup times by local optimization algorithms. Universidad, Cienc. y Tecnol. 2005, 9, 155–162. [Google Scholar]
  44. Brandimarte, P. Routing and scheduling in a flexible job shop by taboo search. Ann. Oper. Res. 1993, 41, 157–183. [Google Scholar] [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. [Google Scholar] [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. [Google Scholar]
  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. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Flowchart for the genetic algorithm.
Figure 1. Flowchart for the genetic algorithm.
Algorithms 15 00334 g001
Figure 2. Illustration of an alpha chromosome.
Figure 2. Illustration of an alpha chromosome.
Algorithms 15 00334 g002
Figure 3. Illustration of a beta chromosome.
Figure 3. Illustration of a beta chromosome.
Algorithms 15 00334 g003
Figure 4. Sequencing of jobs from the beta chromosome.
Figure 4. Sequencing of jobs from the beta chromosome.
Algorithms 15 00334 g004
Figure 5. Triangular membership function for the completion time of job j.
Figure 5. Triangular membership function for the completion time of job j.
Algorithms 15 00334 g005
Figure 6. Cases of fuzzy tardiness and fuzzy earliness for each job j (a) tardiness or earliness; (b) no tardiness or earliness; (c) earliness; (d) tardiness.
Figure 6. Cases of fuzzy tardiness and fuzzy earliness for each job j (a) tardiness or earliness; (b) no tardiness or earliness; (c) earliness; (d) tardiness.
Algorithms 15 00334 g006
Figure 7. Crossover operator based on single crossing point.
Figure 7. Crossover operator based on single crossing point.
Algorithms 15 00334 g007
Figure 8. Mutation operator based on SWAP movements.
Figure 8. Mutation operator based on SWAP movements.
Algorithms 15 00334 g008
Figure 9. Repair mechanism.
Figure 9. Repair mechanism.
Algorithms 15 00334 g009
Figure 10. Fabric finishing production system.
Figure 10. Fabric finishing production system.
Algorithms 15 00334 g010
Figure 11. Solution example with the heuristic EDD.
Figure 11. Solution example with the heuristic EDD.
Algorithms 15 00334 g011
Figure 12. Solution example with the Monte Carlo simulation.
Figure 12. Solution example with the Monte Carlo simulation.
Algorithms 15 00334 g012
Figure 13. Objective function vs. iterations in the genetic algorithm considering (a) 20 jobs and (b) 30 jobs.
Figure 13. Objective function vs. iterations in the genetic algorithm considering (a) 20 jobs and (b) 30 jobs.
Algorithms 15 00334 g013
Table 1. Genetic algorithm parameter values.
Table 1. Genetic algorithm parameter values.
ParameterValue
Elitism rate0.1
Mutation rate0.1
Crossover rate0.9
Population50
Iterations2000
Table 2. Results for the GA compared to the benchmarks.
Table 2. Results for the GA compared to the benchmarks.
AlgorithmTotal Weighted Penalty% Savings
j = 20j = 30j = 20j = 30
Genetic algorithm442.94980.95--
Heuristic EDD672.331420.7934.12%30.96%
Heuristic SPT788.251596.8743.81%38.57%
Heuristic CR626.181423.5129.26%31.09%
Monte Carlo Simulation666.941510.5633.59%35.06%
Table 3. Completion time for the best solution considering 20 jobs.
Table 3. Completion time for the best solution considering 20 jobs.
Job jDue WindowCompletion Time
d j A d j B C j C j i n f   C j m o d   C j s u p  
1647255.651.355.460.1
27810297.290.996.7104.1
358726156.460.965.6
4506232.630.332.435.1
59811099.191.898.5107
680926358.262.967.8
7106116103.697.1103.1110.8
8200216165.5152.6164.7179.1
9128136119.1111118.4127.9
10224232117.7109.8117126.3
11193215120.7112.5120129.6
12267287122.6114.2121.9131.7
13272288163.9151.2163.1177.3
14296312129.4119.9128.6139.6
15192208146.5135.8145.8157.9
16360376162.8150.3162.1176.1
17288304140.9130.9140.3151.6
18260272156.4144.4155.7169.2
19318328159.6147.3158.9172.7
2019820999.693.199.1106.6
Table 4. Completion time for the best solution considering 30 jobs.
Table 4. Completion time for the best solution considering 30 jobs.
Job jDue WindowCompletion Time
d j A d j B C j C j i n f   C j m o d   C j s u p  
1647234.532.134.436.9
278102100.793.1100.4108.5
3587299.491.999107.1
45062107.599.1107.1116.2
598110114.9105.5114.5124.5
6809229.227.42931.1
7106116135.7125.6135.3146.2
8200216138127.8137.6148.6
9128136121.8112.2121.4131.7
10224232102.194.5101.7110.1
11193215119.8109.9119.3130
1226728763.66063.267.7
13272288161148.1160.6174.4
14296312177163.1176.5191.4
15192208179.8166.3179.3193.9
16360376149.9138.3149.5162.1
17288304161.7149.4161.3174.3
18260272180.5166.3179.9195.2
19318328171.3157.8170.8185.2
20198209173.6160173.1187.7
21312317160147.2159.5173.3
22174182104.696.8104.2112.9
23222230168155.5167.6180.9
24342350181.5167.8181195.7
25400404163.5150.4163177
26406420178164.6177.5192
27392400140.6130.1140.1151.4
28440448182.1167.9181.5197
29296304183169.1182.5197.4
30416424177.7163.8177.2192.2
Table 5. Number of tardy jobs for the GA compared to the benchmarks.
Table 5. Number of tardy jobs for the GA compared to the benchmarks.
AlgorithmNumber of Tardy Jobs Based on Possibilities% Savings
j = 20j = 30j = 20j = 30
Genetic algorithm15--
Heuristic EDD51580.0%66.7%
Heuristic SPT61783.3%70.6%
Heuristic CR41275.0%58.3%
Monte Carlo Simulation 51480.0%64.3%
Table 6. Average possibility of tardy jobs for the GA compared to the benchmarks.
Table 6. Average possibility of tardy jobs for the GA compared to the benchmarks.
AlgorithmAverage Possibility of Tardy Jobs% Savings
j = 20j = 30j = 20j = 30
Genetic algorithm0.50%10.72%--
Heuristic EDD12.05%47.06%95.9%77.2%
Heuristic SPT13.96%52.16%96.4%79.4%
Heuristic CR9.55%39.05%94.8%72.5%
Monte Carlo Simulation 12.79%44.14%96.1%75.7%
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Campo, E.A.; Cano, J.A.; Gómez-Montoya, R.; Rodríguez-Velásquez, E.; Cortés, P. Flexible Job Shop Scheduling Problem with Fuzzy Times and Due-Windows: Minimizing Weighted Tardiness and Earliness Using Genetic Algorithms. Algorithms 2022, 15, 334. https://doi.org/10.3390/a15100334

AMA Style

Campo EA, Cano JA, Gómez-Montoya R, Rodríguez-Velásquez E, Cortés P. Flexible Job Shop Scheduling Problem with Fuzzy Times and Due-Windows: Minimizing Weighted Tardiness and Earliness Using Genetic Algorithms. Algorithms. 2022; 15(10):334. https://doi.org/10.3390/a15100334

Chicago/Turabian Style

Campo, Emiro Antonio, Jose Alejandro Cano, Rodrigo Gómez-Montoya, Elkin Rodríguez-Velásquez, and Pablo Cortés. 2022. "Flexible Job Shop Scheduling Problem with Fuzzy Times and Due-Windows: Minimizing Weighted Tardiness and Earliness Using Genetic Algorithms" Algorithms 15, no. 10: 334. https://doi.org/10.3390/a15100334

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop