Next Article in Journal
LLM-Driven Multi-Source Analysis: Utilizing TopicGPT for Integrated Insights into Rice Crop Residue Burning in India
Previous Article in Journal
A High Speed Coprocessor Design for Sensorless PMSM Control
Previous Article in Special Issue
Towards Secure Legacy Manufacturing: A Policy-Driven Zero Trust Architecture Aligned with NIST CSF 2.0
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Effective Hybrid Local Search Method for Flexible Job-Shop Scheduling Problem in Smart Manufacturing Systems

School of Software, Beihang University, Beijing 100191, China
*
Author to whom correspondence should be addressed.
Electronics 2026, 15(11), 2465; https://doi.org/10.3390/electronics15112465
Submission received: 15 April 2026 / Revised: 26 May 2026 / Accepted: 28 May 2026 / Published: 4 June 2026
(This article belongs to the Special Issue Industrial Process Control and Flexible Manufacturing Systems)

Abstract

The Flexible Job-shop Scheduling Problem (FJSP) plays an important role in production and processing in Smart Manufacturing Systems. Unlike the traditional Job-shop Scheduling Problem (JSP), the additional flexibility in machine selection enlarges the search space and increases scheduling difficulty, particularly for large-scale instances. Existing algorithms improve either convergence speed or solution quality, but maintaining both remains difficult as problem size grows. This paper presents a Hybrid Local Search Algorithm (HLS-FJSP), integrating Greedy Search, Genetic Algorithm, and Tabu Search into a two-phase optimization framework. Control parameters and a process monitoring mechanism are used to adjust the search behavior during different optimization stages. Computational experiments on benchmark instances show that the proposed method obtains competitive makespan results compared with several existing algorithms. The results also show stable improvement capability when used for further optimization of existing schedules.

1. Introduction

Due to the advancement of Industry 4.0 technologies, the production systems have become more flexible and intelligent, thus producing difficulties in production scheduling and resource allocation [1,2,3]. Different from the traditional JSP, FJSP permits one operation to be performed on various machines. In JSP, each operation is allocated to a specific machine, whereas several machines can be used for the same operation in FJSP [4]. Therefore, FJSP is more appropriate for real production systems [5]. FJSP has been widely applied in studies of machine utilization and production efficiency improvement [6].
In smart manufacturing environments, such as electronics production and automotive assembly lines, production systems often face unexpected changes [7,8]. Common disruptions include urgent order arrivals, material delays, and machine failures. The problem becomes more difficult when production scheduling must be coordinated with material transportation and logistics operations [9]. In such situations, rescheduling must be performed within a short time to reduce production delays and machine idle time [10]. In recent years, manufacturers have increasingly adopted high-mix, low-volume production modes enabled by Industry 4.0 technologies [11]. As a result, scheduling problems have become larger and more computationally demanding. In multi-plant manufacturing systems, additional coordination between production tasks and cross-plant material transportation further increases scheduling difficulty [12]. Recent research has therefore started to investigate integrated production and transportation scheduling with sustainability objectives [13], as well as real-time scheduling in production-logistics collaborative systems [9].
As production systems increase in size, the Flexible Job-shop Scheduling Problem becomes more challenging to solve within limited computation time. Because each operation may be processed on multiple machines, the number of feasible schedules grows rapidly with the problem scale. In real manufacturing environments, scheduling usually involves a large number of operations and machines, which further increases the complexity of production planning. Therefore, scheduling methods with a reasonable computation cost are necessary for obtaining good solutions in large-scale production systems.
Existing approaches to the FJSP can be broadly divided into exact, heuristic, and metaheuristic methods. Exact methods like branch-and-bound and dynamic programming are able to find optimal solutions for small-scale problems, but become computationally impractical as the instance size grows [14]. Heuristic methods, including dispatching rules [15] and local search methods [16], typically generate schedules very quickly, though the solution quality may fall short of what is desired [17]. Metaheuristic methods, such as Genetic Algorithm [18] and Particle Swarm Optimization [19], have also been widely used in FJSP. These methods can search a larger solution space, but their performance often depends on parameter settings. In large-scale scheduling problems, these methods may converge prematurely or require considerable computation time [20]. As a result, many studies have explored hybrid metaheuristic methods that combine different search strategies [21,22,23,24,25]. Although hybrid approaches generally obtain better solutions, most of them still follow predefined search procedures, which reduces their flexibility under dynamic production conditions. Recently, Lorenzi et al. [26] proposed HCPGA for JSP by integrating constraint programming with a genetic algorithm to reduce computation time and memory usage.
In recent years, data-driven approaches such as Deep Reinforcement Learning (DRL) have been widely studied for FJSP [27,28,29,30]. By interacting with the scheduling environment during training, DRL methods can learn scheduling policies and generate decisions within a short time. However, the decision-making process of DRL models is difficult to interpret, and the training process usually requires substantial computational resources and training data. In addition, their scheduling results may still be worse than those obtained by effective local search methods.
Considering the limitations of static metaheuristics and learning-based approaches, we propose a two-phase optimization method called HLS-FJSP. The method consists of an initialization phase and a local search phase. Different methods can be used to generate initial solutions, including dispatching rules, random initialization, DRL-based methods, and hybrid approaches such as HCPGA. The generated solutions are then improved through local search using greedy operations and random perturbations. In this way, HLS-FJSP serves not only as a standalone method but also as a general further optimization framework for improving solutions from different existing methods.
The main contributions of this study are summarized as follows:
  • We propose a two-phase optimization method, HLS-FJSP, for FJSP. The method consists of an initialization phase and a local search phase. It can optimize machine assignment and operation sequencing simultaneously, and can also serve as a general further optimization tool to improve solutions generated by other scheduling methods.
  • We design a decision-making mechanism augmented with an optimization process monitor. The parameters α and β are used to switch among greedy search, genetic algorithm, and tabu search. Meanwhile, the repetition count t of the current best solution is recorded to perceive local optima. This mechanism helps maintain solution diversity and improves search performance.
  • Experiments on several benchmark datasets show that HLS-FJSP achieves better scheduling results than traditional dispatching rules and metaheuristic methods such as NSGA-II. Ablation experiments are also conducted to analyze the influence of different components in the proposed method. In addition, further optimization experiments based on DRL methods and HCPGA show that HLS-FJSP can further improve the initial solutions generated by these methods.
The rest of this paper is organized as follows. Section 2 briefly reviews the existing methods for the FJSP. In Section 3, we introduce and describe the mathematical model of the FJSP. In Section 4, we introduce the HLS-FJSP algorithm and describe the core algorithmic techniques in detail. In Section 5, we design and conduct extensive experiments to evaluate the performance of HLS-FJSP. Finally, conclusions and prospects are exposed in Section 6.

2. Related Work

Since FJSP is difficult to solve, a wide range of optimization methods have been developed. Existing methods mainly include exact algorithms, heuristic algorithms, and metaheuristic algorithms.
Exact algorithms were among the earliest methods used for FJSP. Brucker and Schlie first presented a mathematical formulation of the problem and proposed a polynomial graphical algorithm for the two-job case [31]. Subsequent studies developed different mathematical programming models for FJSP. For example, Torabi et al. proposed a mixed-integer nonlinear programming model for multi-product lot scheduling in flexible manufacturing systems [32], while Gomes et al. developed an integer linear programming model solved by commercial MILP solvers [33]. Although exact algorithms can obtain optimal solutions, they are difficult to apply to large-scale FJSPs because their computation time increases rapidly as the problem size grows. Pezzella et al. reported that the performance of exact methods decreases significantly when the number of operations exceeds 200 [18]. As a result, many studies have focused on heuristic and metaheuristic methods because they can obtain good solutions within a shorter time.
Heuristic methods have also been widely used for FJSP because they are easier to implement and require less computation time than exact algorithms. Dispatching rules are commonly used to generate scheduling decisions quickly. Paulli applied dispatching rules to solve the machine selection subproblem and used tabu search for operation sequencing [15]. Tay and Ho used genetic programming to generate rule-based scheduling methods for multi-objective FJSPs [34]. Baykasoğlu and Özbakır studied the performance of dispatching rules under different flexibility levels [35], while Ziaee proposed a heuristic method designed for FJSP [36]. Although heuristic methods are simple and can be applied to large problems, their scheduling results are often unsatisfactory, especially for large and complex instances. As a result, many studies have focused on metaheuristic methods to obtain better scheduling results.
Metaheuristic methods have been widely used for FJSP, because they can be applied to large-scale scheduling problems [37,38,39]. Some recent studies have also considered energy-efficient scheduling in distributed systems [40] and advanced scheduling methods for manufacturing systems [41]. Metaheuristic methods for FJSP can typically be split into evolutionary algorithms, swarm intelligence methods, and local search methods. Evolutionary algorithms, such as Genetic Algorithms and Evolution Strategies, can explore different candidate schedules and have been widely studied in FJSP research [18,42,43,44,45,46]. Many studies have changed encoding strategies and combined different search methods to obtain more efficient schedules. Their local search performance is sometimes limited. Swarm intelligence methods, including Particle Swarm Optimization and Ant Colony Optimization, update solutions through cooperation among individuals [19,47,48,49]. Local search methods, such as Tabu Search and Simulated Annealing, can improve the current schedules efficiently, but they may converge to poor local solutions because they search based on a single solution [16,17,50,51]. Each method has its own strengths and limitations in FJSP [52,53].
Hybrid metaheuristic methods have also been studied for FJSP by combining different search strategies. Lin and Gen reviewed hybrid evolutionary optimization methods with learning strategies for production scheduling [54]. Zribi et al. combined different algorithms for machine selection and operation sequencing [21]. Several studies also combined evolutionary algorithms with local search or swarm intelligence methods for multi-objective and constrained FJSPs [22,23,24,25]. Zhang et al. proposed a hybrid multi-objective method for real-time flexible production scheduling in dynamic manufacturing environments [10]. These hybrid methods often obtain better scheduling results by combining different optimization methods. However, most existing hybrid methods still use fixed hybrid structures. The search process is usually controlled by fixed decomposition rules [21], fixed iteration thresholds [24], or periodic search strategies [22]. As a result, these methods may not perform well under different production conditions, and their adaptability in practical production systems is still limited. Recent studies have also considered other hybrid methods. For example, Lorenzi et al. [26] combined a Constraint Programming solver with a Genetic Algorithm for JSP. Although this method reduces the computation time and memory usage of exact methods, it still requires relatively long computation time for some problem instances.
In recent years, deep reinforcement learning (DRL) has been increasingly studied for combinatorial optimization problems. By formulating scheduling as a Markov Decision Process (MDP), DRL methods can learn scheduling strategies through interactions with the environment. After training, DRL models can generate scheduling decisions directly and produce schedules within a short time. However, current DRL-based scheduling methods still have some limitations in practical applications. Most models are designed for cases where the problem size does not change much and where a large amount of training data is available. In addition, DRL methods usually require long offline training time, and their decision process is difficult to interpret. Existing hybrid metaheuristic methods do not require offline training, but many of them still use fixed search structures, such as fixed execution sequences or predefined iteration thresholds. As a result, these methods cannot adjust their search strategies dynamically during optimization.
To address these issues, we propose a two-phase optimization method named HLS-FJSP. The method introduces a decision-making mechanism together with an optimization process monitor, allowing the algorithm to switch search strategies according to the current search state. HLS-FJSP adopts a two-phase structure consisting of initialization and local search, and can be used to refine schedules generated by other methods. Initial schedules produced by DRL models or dispatching rules are further optimized through local search. This structure reduces computational cost while maintaining stable search behavior and avoiding the long training stage required by DRL methods.

3. Problem Formulation

The Flexible Job-shop Scheduling Problem (FJSP) is an extension of the classical Job-shop Scheduling Problem (JSP). In FJSP, an operation can be processed by different machines, which is more consistent with practical production conditions in manufacturing systems. The FJSP considered in this paper is defined as follows. There are n jobs J = { J 1 , J 2 , , J n } and m machines M = { M 1 , M 2 , , M m } . Each job J i contains a sequence of n i operations, denoted by O i = { O i 1 , O i 2 , , O i n i } . These operations are processed according to a fixed operation order. Each operation O i j ( i = 1 , 2 , , n , j = 1 , 2 , , n i ) can be assigned to a set of available machines M i j M . The processing time of operation O i j on machine M k M i j is represented by t i j k .
To complete a job J i , all its operations O i j must be assigned to and processed by machines with the required capabilities. There are some constraints for the assignments of the operations. More details are as follows:
(1)
All jobs are independent; preemption is not allowed, and each machine can process only one operation at a time.
(2)
The precedence constraints among operations within each job must be strictly followed.
(3)
All jobs and machines become available simultaneously at time zero.
(4)
Each operation has at least one eligible machine that can perform it.
(5)
The processing time of an operation on a given machine is independent of the processing sequence.
(6)
Transportation times between operations are negligible and thus not considered.
In this paper, the scheduling objective is to minimize the maximal completion time of all the operations, i.e., makespan. The objective function can be represented by
M i n . C m a x = M i n M a x ( s i n i k + t i n i k ) .
where C m a x is the maximum completion time of all job J i , s i n i k represents the start time of the last operation O i n i of job J i in machine M k .

4. Proposed Algorithm

This paper proposes a hybrid local search algorithm, HLS-FJSP, for the Flexible Job-shop Scheduling Problem. The algorithm contains two phases: initialization and local search. Initial solutions are generated first and then improved through local search. The overall procedure of HLS-FJSP is shown in Figure 1.
In Figure 1, S represents the current candidate solution and S * is the best solution obtained during the search. r a n d is a uniformly generated random number in the interval [ 0 , 1 ) . The parameter α controls the selection between greedy search and random search, and β controls the selection between the genetic algorithm and tabu search during the random search stage. The variable t records the consecutive repetition count of the current best solution, while r represents the maximum repetition threshold. The condition S < S * indicates that the candidate solution achieves a smaller makespan than the current best solution.
The initialization phase uses a heuristic initialization to generate feasible initial solutions. All generated schedules satisfy the problem constraints and are directly used in the local search phase. This helps avoid exploring infeasible schedules in large search spaces. The initialization phase also helps to preserve diversity in early iterations. The local search combines greedy search, genetic algorithm, and tabu search. Greedy search uses a scoring function and neighborhood search to improve machine selection and operation sequencing. Genetic algorithm generates new solutions through crossover and mutation, while tabu search uses a tabu list to avoid revisiting recent solutions. The algorithm switches among the strategies according to the current search state.

4.1. The Problem Setting

In the FJSP, scheduling information such as job processing order, machine assignment, processing time, and machine load must be stored during optimization. These factors increase scheduling complexity. In flexible manufacturing environments, production demand changes and new orders require frequent schedule updates. A pending-order list is introduced to record jobs waiting for processing. When new jobs arrive, scheduling information is updated through the pending-order list without changing the current schedule. Several data structures are used to store the scheduling solution, including the job sequence, operation list, processing adjacency matrix, maximum completion time, and the start time of each operation on each machine.

4.2. Initialization Phase

Our method consists of two main phases. The initialization phase generates feasible initial schedules, which affects the efficiency of subsequent local search. An initial schedule is generated according to current machine loads. Guided by the pending-order list, operations are assigned to candidate machines in sequence. To reduce machine load differences, operations are preferentially assigned to machines with smaller workloads. After all operations are assigned, a processing adjacency matrix is constructed to check whether the schedule satisfies all constraints. The makespan of the current schedule is then calculated, and the resulting schedule is passed to the local search phase.

4.3. Local Search Phase

In the local search phase, the initial schedule is further improved to obtain better scheduling results. Two local search methods are used: (1) greedy search based on a scoring function and neighborhood search, and (2) random search using genetic algorithm and tabu search. Control parameters are introduced to determine which search method is selected during optimization. The details of these parameters are described in Section 4.5. During optimization, HLS-FJSP switches between the two search methods to generate new feasible schedules. If a newly generated solution has a better objective value (e.g., makespan) than the current best solution, the current best solution is updated. The search process continues until the stopping conditions are satisfied, including the maximum number of iterations, computational time limits, or repeated occurrence of the same best solution. Unlike methods that combine tabu search directly into the genetic algorithm, the proposed method uses GA and TS independently. This provides more flexible search control, since the random search method is selected according to the current search state. The detailed procedure is shown in Algorithm 1.
Algorithm 1 Local Search Phase of HLS-FJSP
Input: 
S: the input solution waiting for optimization; δ : the maximum iteration count; p n : the population number for Genetic Algorithm; L: tabu list length; r: the maximum repeat count of solutions; α : parameter for search mode; β : parameter for random search mode
Output: 
S * : Best optimized solution;
1:
S * S
2:
S p r e S
3:
t 0
4:
while no termination criterion is met do
5:
      r a n d generate a random value
6:
     if  r a n d < α  then
7:
           r a n d generate a random value
8:
          if  t < r / 2  or  r a n d < β  then
9:
                 S ¯ Genetic _ Algorithm ( S p r e )
10:
         else
11:
                S ¯ Tabu _ Search ( S p r e )
12:
         end if
13:
     else
14:
           S ¯ Greedy _ Search ( S p r e )
15:
          if  Cost ( S ¯ ) < Cost ( S * )  then
16:
                 S * S ¯
17:
                 S p r e S ¯
18:
           else
19:
                 r a n d generate a random value
20:
                if  t < r / 2  or  r a n d < β  then
21:
                     S ¯ Genetic _ Algorithm ( S p r e )
22:
                else
23:
                     S ¯ Tabu _ Search ( S p r e )
24:
                end if
25:
           end if
26:
     end if
27:
     if  Cost ( S ¯ ) < Cost ( S * )  then
28:
            S * S ¯
29:
            S p r e S ¯
30:
     end if
31:
     if  Cost ( S * ) < = Cost ( S p r e )  then
32:
           if  Cost ( S * ) < Cost ( S p r e )  then
33:
                 t 1
34:
           else
35:
                 t t + 1
36:
           end if
37:
     end if
38:
      S p r e S *
39:
end while
40:
return  S *

4.3.1. Greedy Search

The greedy search mode uses a scoring function to generate an operation list [55,56]. The order of operations in the list indicates the importance of each operation in the current schedule. According to the selected operation, neighboring solutions are generated for machine assignment and operation sequencing. The algorithm then returns the best neighboring solution. Algorithm 2 shows the detailed procedure of the greedy search in HLS-FJSP.
Algorithm 2 Greedy Search of HLS-FJSP
Input:
  • S : the input solution waiting for optimization
  • δ : the maximum iteration count
Output:
  • S * : the best solution output by Greedy Search
1:
F ^
2:
p 1 Score _ For _ Move ( S )
3:
p 2 Score _ For _ Exchange ( S )
4:
while  size of F ^ < δ  do
5:
       F ^ Move _ Neighbor _ Search ( S , p 1 )
6:
       F ^ Exchange _ Neighbor _ Search ( S , p 2 )
7:
end while
8:
S * best solution in F ^
9:
return  S *
Scoring Function: The scoring function is used to rank operations during search for machine assignment and operation sequencing. As shown in Lines 2–3 of Algorithm 2, two ordered operation lists are generated: p 1 for machine assignment and p 2 for operation sequencing. For machine assignment, the priority of an operation is determined by the difference between the processing time on its current machine and the minimum processing time among all candidate machines. Operations with larger differences are given higher priority, generating the list p 1 . For operation sequencing, operations with smaller indices in the same job are given higher priority, followed by their current positions on machines. This sorting rule generates p 2 and gives priority to earlier operations to reduce delays in later operations.
Greedy neighborhood search: Guided by the scoring function, the greedy neighborhood search searches neighboring schedules by modifying machine assignment and operation sequencing, as shown in Lines 5–6 of Algorithm 2. For machine assignment, an operation in p 1 is moved to the candidate machine with the shortest processing time, and feasible insertion positions are searched. For operation sequencing, an operation in p 2 is exchanged with its previous operation on the machine. Each neighboring solution is checked for feasibility to avoid deadlocks or constraint violations. If a neighboring solution is infeasible, the modification is canceled, and the next operation is considered. The search continues until all operations are processed or the predefined maximum number of feasible neighboring solutions is reached.

4.3.2. Genetic Algorithm

The proposed HLS-FJSP uses a genetic algorithm (GA) [44,57] to update feasible schedules through crossover and mutation. Each solution is represented by a chromosome. The initial population is generated using global, local, and random initialization methods. In each iteration, new individuals are generated by crossover and mutation, then decoded and evaluated according to objective value (e.g., makespan). Individuals with better objective value are retained in the population. The process continues until the maximum number of iterations is reached. Algorithm 3 shows the main procedure of the genetic algorithm, including chromosome representation, population initialization, and genetic operations.
Encoding and decoding: In the genetic algorithm, each solution is represented by a chromosome containing machine assignment and operation sequencing information. The FJSP includes two related subproblems: machine assignment and operation sequencing. For these two subproblems, HLS-FJSP uses a segmented encoding method in which the two parts are represented separately.
Algorithm 3 Genetic Algorithm of HLS-FJSP
Input:
  • S : the input solution
  • δ : the maximum iteration count
  • p n : the population size
Output:
  • S * : the best solution output by Genetic Algorithm
1:
P ^
2:
m s , o s Encode _ Schedule ( S )           ▹ encoded sequences
3:
P ^ Global _ Initialize ( m s , o s , p n )
4:
P ^ Local _ Initialize ( m s , o s , p n )
5:
P ^ Random _ Initialize ( m s , o s , p n )
6:
k 0
7:
C ^
8:
while  k < δ  do
9:
       C ^ Cross _ Operator ( P ^ )
10:
     C ^ Variation _ Operator ( P ^ )
11:
     P ^ Selection ( C ^ , p n )
12:
     k k + 1
13:
end while
14:
m s , o s best solution in C ^
15:
S * Decode _ Schedule ( m s , o s )           ▹ decoded sequences
16:
return  S *
  • Machine Selection Encoding: This part of the chromosome has a length equal to the total number of operations. Each gene is represented by an integer arranged according to the order of jobs and operations. The value of each gene indicates the selected machine among the candidate machines for the corresponding operation.
  • Operation Sequencing Encoding: The second part of the chromosome also has a length equal to the total number of operations and is used for operation sequencing. Each gene represents a job number, and the order of these job numbers determines the processing sequence of operations from different jobs.
An example is shown in Figure 2. For a given scheduling instance, the chromosome may be represented as { 2 , 1 , 3 , 4 , 2 } for machine assignment and { 1 , 2 , 1 , 1 , 2 } for operation sequencing.
During decoding, the algorithm first generates a machine assignment matrix from the machine selection segment of the chromosome. Then, operations are assigned to machines according to the sequencing segment to generate the schedule.
Population initialization: The initial population affects the search process of the genetic algorithm. HLS-FJSP uses three initialization methods: global generation, local generation, and random generation. These methods are used in a predefined ratio according to the population size p n to generate the initial population P ^ (Lines 3–5 in Algorithm 3).
In the global generation method, a cumulative machine load array is maintained. For each randomly selected job, its operations are assigned to the machine that gives the smallest accumulated processing time, and the machine load array is updated after each assignment. This method reduces differences in machine loads among jobs.
In the local generation method, each job is processed separately. For each job, machines are selected according to the minimum processing time, and the machine load array is reset before the next job is processed.
In the random generation method, both the machine assignment segment and the operation-sequencing segment of the chromosome are generated randomly to generate different initial solutions.
Crossover Operation: The crossover operation is used to generate new individuals. HLS-FJSP uses two crossover methods for the two chromosome segments. Uniform crossover is applied to the machine assignment segment so that machine assignments from both parents can be retained. Precedence operation crossover (POX) is applied to the operation-sequencing segment. In POX, part of the job order is kept unchanged, and the remaining positions are filled with operations from the other parent. This crossover method keeps the generated chromosomes feasible. An example is shown in Figure 3.
Mutation operation: The mutation operation generates new individuals by modifying several genes in the chromosome. For the machine assignment segment, several positions are selected randomly, and the corresponding genes are replaced with randomly selected candidate machines. For the operation sequencing segment, the operation order is randomly changed.
Selection operation: The number of offspring C ^ generated after crossover and mutation is usually larger than the population size p n . During selection, the machine assignment segment and operation sequencing segment are decoded in order, and the makespan of each offspring is calculated. The best p n individuals are retained as the population of the next generation. The process continues until the maximum number of iterations is reached.

4.3.3. Tabu Search

Tabu search is used to search neighboring schedules and avoid repeated search using a tabu list [16,58]. Since the makespan is mainly determined by the critical path in the disjunctive graph, the search focuses on operations on the critical path. Neighborhood search operators are applied to generate neighboring solutions, and the best neighboring solution is selected. If the selected solution has a better makespan than the current solution, it replaces the current solution and updates the best solution found so far. Otherwise, the best non-tabu solution is selected as the current solution. The previous best solution is added to the tabu list to avoid revisiting recently explored solutions. The search continues until the maximum number of iterations is reached. Algorithm 4 shows the detailed procedure of tabu search in HLS-FJSP.
Algorithm 4 Tabu Search of HLS-FJSP
Input:
  • S : the input solution
  • δ : the maximum iteration count
  • L: tabu list length
Output:
  • S * : optimized schedule
1:
F ^
2:
T a b u L i s t
3:
S b e s t S
4:
S s t a r t S
5:
for  k 1  to  δ  do
6:
       F ^ Exchange _ Tabu _ Search ( S s t a r t )
7:
       F ^ Move _ Tabu _ Search ( S s t a r t )
8:
       S c a n d best solution in F ^
9:
      if  S c a n d < S b e s t  then
10:
            S b e s t S c a n d
11:
      else
12:
            S b e s t best non-tabu solution in F ^
13:
      end if
14:
       Add _ To _ Tabu _ List ( T a b u L i s t , L , S b e s t )
15:
       S s t a r t S b e s t
16:
end for
17:
S * S b e s t
18:
return  S *
Tabu list encoding: Operations that change the schedule involve both machine assignment and operation sequencing. Encoding these operations directly is difficult, while separating them into multiple sub-operations would greatly increase the size of the tabu list. Therefore, HLS-FJSP uses direct solution encoding, where feasible solutions are converted into strings and stored in the tabu list to avoid revisiting the same solutions. When the tabu list is not full, the new solution string is added directly. Otherwise, the earliest stored solution is removed before the new solution is added (Algorithm 4, Line 14).
Neighborhood search: Tabu neighborhood search is used to search neighboring solutions based on operations on the critical path. In the FJSP, the critical path in the disjunctive graph corresponds to the makespan of the schedule. As shown in Figure 4, black edges represent the operation order within the same job, while colored edges represent the processing order on the same machine. These edges represent different precedence relations. The disjunctive graph forms a directed acyclic graph (DAG), and its longest path is regarded as the critical path. An example of a critical path is { 0 , 1 , 8 , 9 , 3 , 10 } . For the machine selection subproblem, unlike the greedy search method, an operation is tested on other feasible machines one by one and inserted into the earliest feasible idle time slot of the target machine. For the operation-sequencing subproblem, unlike the N1 neighborhood used in greedy search, the algorithm searches for an earlier processing position of the operation on the current machine and adds the feasible solution to the candidate set F ^ . The tabu neighborhood search procedure is shown in Lines 6–7 of Algorithm 4.

4.4. Search Mode Decision

In existing studies on the Flexible Job-shop Scheduling Problem (FJSP), combining multiple search algorithms has been widely used to improve solution quality. However, one problem still exists in many hybrid methods: the search strategy is usually determined by fixed rules. Most methods use predefined execution orders, fixed iteration thresholds, or periodic switching between algorithms. As a result, the search may stay around the same solutions for many iterations, making further improvement difficult.
To this end, HLS-FJSP introduces a decision-making mechanism that switches between search strategies based on the current search state. Specifically, unlike traditional hybrid methods that follow a rigid execution sequence for Greedy Search, Genetic Algorithm (GA), and Tabu Search (TS), HLS-FJSP incorporates two key components: a process monitoring mechanism and a set of control parameters. A maximum stagnation threshold r is defined for the best-known solution, and the consecutive repetition count t is recorded in real time during the search. The value of t serves as a feedback indicator of search stagnation. Based on t, the control parameters α and β are leveraged to adjust the search mode accordingly. This state-driven transition mechanism coordinates global exploration and local exploitation more effectively than static hybrid frameworks.
To mitigate redundant search in stagnant regions, HLS-FJSP employs a control parameter α to govern the selection of the search mode. The procedure of this search mode decision mechanism is outlined in Algorithm 1. Before each iteration, a random number r a n d [ 0 , 1 ) is generated and compared with α . If r a n d < α , a stochastic search mode is selected; otherwise, a greedy search mode is executed. In the greedy search mode, the algorithm performs local exploitation in the neighborhood of the current solution to identify immediate improvements. If no improved solution is obtained, the algorithm switches to the stochastic search stage in subsequent steps to explore other promising regions of the solution space.
During the stochastic search stage, the search operator is determined by the feedback parameters t and r. Here, t represents the consecutive iterations during which the best solution remains unchanged, and r denotes the maximum stagnation threshold. If a new best solution is identified, t is reset to 1; otherwise, t is incremented by 1. If t < r / 2 , representing a moderate stagnation state, the genetic algorithm (GA) is selected to explore a broader candidate solution space. Conversely, if t r / 2 , indicating a deeper stagnation state, the control parameter β is introduced as a selection probability to balance global exploration and intensive exploitation. Specifically, a random number r a n d [ 0 , 1 ) is generated and compared with β . If r a n d < β , the GA is selected to maintain population diversity; otherwise, tabu search (TS) is invoked to perform rigorous local search around the current stagnant solution.

4.5. Complexity Analysis

To evaluate the computational efficiency of the proposed HLS-FJSP algorithm, we present a theoretical analysis of its time complexity. The local search phase of the proposed HLS-FJSP is implemented through multiple iterations, and the maximum number of iterations, maximum time limit, and maximum repetition number of the optimal solution can be pre-set before running. HLS-FJSP is designed as an anytime algorithm. The algorithm can be stopped at any time and return the current result. In this case, the total running time depends on the stopping criterion, rather than a fixed theoretical bound. Therefore, we focus on analyzing the complexity of a complete iteration. Let n be the number of jobs, m the number of machines, and v the total number of operations.
Time Complexity:
The time complexity of HLS-FJSP is primarily determined by its three core components operating within the iterative local search phase. Let n be the number of jobs, m the number of machines, and v the total number of operations.
  • Greedy Search: The greedy neighborhood search involves evaluating moves for operations on the critical path. The scoring function and neighborhood evaluation for a single iteration can be accomplished in O ( v log v ) time due to sorting operations. In the worst case, this needs to be performed for all operations, leading to a complexity of O ( v 2 log v ) .
  • Genetic Algorithm (GA): The complexity of one GA generation is dominated by the fitness evaluation of the population. Given a population size p n , and the decoding of a chromosome taking O ( v ) time, the per-generation complexity is O ( p n · v ) .
  • Tabu Search (TS): The TS complexity per iteration is governed by the neighborhood size and the tabu list check. Evaluating a neighborhood move for a critical operation is O ( 1 ) , and checking against the tabu list of length L is O ( L ) . For evaluating N neighbors, the per-iteration complexity is O ( N · L ) .
The time complexity of each major iteration in HLS-FJSP is determined by the three search components and the control parameters α and β . In practice, Greedy Search is used more frequently, which reduces the average running time. The time complexity of one major iteration is O ( v 2 log o + p n · v + N · L ) . Three stopping conditions are used in HLS-FJSP: the maximum number of iterations is 1200, the maximum running time is 6000 s, and the repetition threshold of the best solution is r. Let K denote the maximum number of iterations allowed under these conditions, i.e., K = min ( 1200 , iterations feasible within 6000 s , iterations until t > r ) . The overall worst-case time complexity of HLS-FJSP is therefore O K · ( v 2 log v + p n · v + N · L ) . The above analysis shows that HLS-FJSP can handle medium and large-scale FJSP instances within an acceptable computation time, which is suitable for scheduling problems in smart manufacturing environments.

5. Experiment Results and Discussion

In this section, we show our experiment results. To evaluate the effectiveness and performance of the proposed HLS-FJSP, we performed it on a series of publicly available FJSP benchmarks.

5.1. Experimental Preparation

To evaluate the performance of HLS-FJSP, experiments are conducted on four widely used FJSP benchmark suites: Brandimarte (10 instances), Barnes (21 instances), Dauzère (18 instances), and Hurink (30 instances from the vdata subset). The baseline dispatching rules are selected based on the comparative study by Doh et al. [59], which evaluated 36 combinations of job sequencing and machine assignment rules. Following their findings, three job sequencing rules—First-In-First-Out (FIFO), Most Operations Remaining (MOPNR), and Most Work Remaining (MWKR)—and two machine assignment rules—Shortest Processing Time (SPT) and Earliest End Time (EET)—are adopted. These rules are paired to form six dispatching heuristics (FIFO+EET, FIFO+SPT, MOPNR+EET, MOPNR+SPT, MWKR+EET, and MWKR+SPT) as the baseline methods. Since all six dispatching rules are deterministic methods, repeated runs produce identical scheduling results. Standard deviation values are not reported for these baseline methods in the experimental tables. Additionally, to evaluate its local refinement capability, HLS-FJSP is integrated with recent hybrid metaheuristics (e.g., HCPGA [26]) and reinforcement learning method [28]. In this hybrid setup, the schedules produced by these selected methods serve as initial solutions, from which HLS-FJSP searches for further optimization. Finally, we conduct comprehensive ablation studies and hyperparameter sensitivity analyses to assess the contributions of different algorithmic components and the influence of critical parameters.
Experimental Environment: The proposed HLS-FJSP and all baselines are implemented in C++20 and compiled using GCC 13.1.0 with a computing machine that is equipped with an Intel(R) Xeon(R) Gold 6130 CPU @ 2.10 GHz CPU and 1 TB memory. The operating system installed on that machine is Ubuntu 20.04.4 LTS. The source code of HLS-FJSP is available at https://github.com/chuan-luo-group/HLS_FJSP (accessed on 10 May 2026).
Performance Metrics: To evaluate the quality of the obtained scheduling solutions, we adopt the Percentage Deviation (PD), which quantifies the relative deviation of the obtained makespan ( C max ) from the best-known upper bound (UB), as defined in Equation (2). The makespan ( C max ) refers to the total time required to complete all scheduled jobs, and serves as a key objective in minimizing overall production time in FJSP. The UB corresponds to the makespan achieved by a benchmark method, following the approach in Behnke and Geiger [60]. A lower PD value indicates a better solution, with PD = 0% denoting that the algorithm matches the benchmark performance exactly.
P D = C m a x U B U B × 100 %
where C m a x is the makespan and U B refers to the best-known upper bound (makespan) for each instance, as reported by Behnke and Geiger (2012) [60].
Experimental Preliminaries: The proposed HLS-FJSP algorithm involves several key parameters, namely the search-mode control parameter α , the random-search mode parameter β , the maximum iteration count δ , the maximum repeat count of solutions r, the population size for the genetic algorithm p n , and the tabu list length (L). Based on preliminary tuning, the parameters are set as follows: α = 0.5 , β = 0.5 , r = 100 , δ = 30 , p n = 20 , L = 25 . These values are chosen to strike a balanced trade-off between exploration and exploitation. Specifically, α and β are both set to 0.5 to enable a balanced and coordinated selection among greedy search, genetic algorithm, and tabu search. The repeat threshold r = 100 is used to detect stagnation and trigger a strategy switch. The iteration limit δ = 30 together with a population size p n = 20 ensures convergence while maintaining computational efficiency, and the tabu list length L = 25 is sufficient to avoid short-term cycling without incurring excessive memory overhead. For each benchmark instance, the algorithm is run independently 10 times, and the average makespan and average runtime are reported. A standard deviation of 0.0 means that the same makespan was obtained in all runs. We set the maximum number of iterations to 1200 and the maximum time limit to 6000 s to ensure that a feasible solution can be obtained within an acceptable time frame under various experimental environments. In all experiments, the actual runtime never reached the time limit, and the actual number of iterations never reached the iteration limit.

5.2. Comparisons Against Dispatching Rules

5.2.1. Experiment 1

Our first group of experiments is conducted on the Brandimarte benchmark instances, which contains 10 generalized FJSP instances. The results are reported in Table 1 and Figure 5.
HLS-FJSP obtains lower PD values than the six dispatching-rule baselines on most instances. Among the 10 instances, the PD values of Mk01, Mk03, Mk05, and Mk08 are below 10%. In particular, for Mk03, HLS-FJSP achieves a makespan of 204.2, which is close to the reported upper bound of 204. The average PD of HLS-FJSP is 20.52%, while the best baseline method, FIFO+EET, obtains an average PD of 41.61%. On Mk04, the PD of HLS-FJSP is 21.33%, whereas FIFO+EET and MOPNR+EET both obtain 60.00%. For larger instances, HLS-FJSP still shows lower PD values than the dispatching rules. On Mk06, the PD of HLS-FJSP is 48.10%, compared with 86.21–98.28% for the baseline methods. On Mk10, HLS-FJSP achieves a PD of 47.46%, which is lower than all six baselines. In some instances, dispatching rules produce very large deviations. For example, FIFO+SPT obtains a PD of 143.33% on Mk04, while HLS-FJSP keeps the PD at 21.33%. The results also show that the increase in PD of HLS-FJSP is relatively moderate as the problem scale becomes larger. From Mk01 to Mk10, the PD increases from 7.69% to 47.46%, while the PD of MWKR+SPT increases from 66.67% to 129.95%.

5.2.2. Experiment 2

The second set of experiments is conducted on the Barnes benchmark instances, which include 21 problem instances for the FJSP. The results are reported in Table 2 and Figure 6.
HLS-FJSP obtains lower PD values than the six dispatching-rule baselines on most instances. On average, it achieves a PD of 28.16%, compared with 39.23% for the best baseline, MOPNR+EET. On instance setb4cc, HLS-FJSP attains a PD of 28.04%, while MOPNR+EET and MOPNR+SPT both reach 36.96%. The PD of HLS-FJSP increases moderately with problem size. On the small-scale instance mt10c1, the PD is 20.31%, rising to 37.75% for the larger instance seti5xyz (18 jobs and 15 machines). By contrast, MWKR+SPT rises from 39.05% to 75.73% across the same instances. Within the seti5 family, HLS-FJSP’s PD increases by only 0.33 points (from 37.42% to 37.75%) as the job count increases from 16 to 18, whereas MWKR+SPT increases by 7.33 points (from 68.40% to 75.73%). HLS-FJSP attains the lowest PD among the six baselines on all 21 instances. For instance setb4c9, HLS-FJSP reaches a PD of 30.70%, compared with 36.21% for the best baseline MOPNR+EET and 85.23% for MWKR+SPT.

5.2.3. Experiment 3

The third set of experiments is conducted on the Dauzère benchmark instances, which are more difficult generalized FJSP instances. The results are reported in Table 3 and Figure 7.
HLS-FJSP achieves an average PD of 37.33% over the 18 instances. The average PDs of MOPNR+EET and FIFO+EET are 31.12% and 31.57%, respectively, while FIFO+SPT, MOPNR+SPT, and MWKR+SPT have average PD values of 57.41%, 54.49%, and 58.66%. HLS-FJSP achieves the best PD values on five instances: 01a, 02a, 04a, 05a, and 07a. HLS-FJSP has a PD standard deviation of 9.71%, which is lower than those of MOPNR+EET (14.02%) and MWKR+SPT (18.61%). In instance 17a, MWKR+SPT and MOPNR+SPT obtain PD values of 89.53% and 86.45%, respectively, while HLS-FJSP obtains 44.21%. On instance 15a, FIFO+EET achieves a PD of 8.04%, whereas HLS-FJSP obtains 33.70%. As the problem scale increases, the average PD of HLS-FJSP increases from 26.21% on instances 01a–06a to 41.17% on instances 07a–12a and 44.62% on instances 13a–18a. By comparison, MWKR+SPT shows larger fluctuations across different instance groups. The PD values of HLS-FJSP remain relatively stable across all instances.

5.2.4. Experiment 4

The fourth set of experiments is conducted on the Hurink benchmark instances. The results are reported in Table 4 and Figure 8.
HLS-FJSP achieves an average PD of 19.07%, which is lower than those of MWKR+EET (20.15%), MOPNR+SPT (33.15%), FIFO+SPT (44.17%), and MWKR+SPT (42.52%). On the five-machine instances (la01–la15), HLS-FJSP achieves an average PD of 8.09%, compared with 10.84% for MOPNR+EET. Across the 30 instances, the maximum PD of HLS-FJSP is 41.71% on la21. By comparison, FIFO+SPT reaches 91.90% on la05, MWKR+SPT reaches 78.34% on la05, and MOPNR+SPT reaches 56.18% on la03. The standard deviation of the PD values of HLS-FJSP is 12.6%, which is lower than FIFO+SPT (18.9%) and MWKR+SPT (14.1%). On the five-machine instances, the PD values of HLS-FJSP remain relatively stable as the number of jobs increases. For example, the PD is 13.50% on la05 and 4.53% on la15. On the 10-machine instances (la16–la30), the average PD of HLS-FJSP increases to 30.06%. Although this is higher than MOPNR+EET (14.94%) and FIFO+EET (19.94%), it remains lower than the other four baselines.

5.3. Comparisons Against NSGA-II

A comparison between HLS-FJSP and NSGA-II was carried out on the Brandimarte benchmark instances to evaluate the performance of the proposed method. Since no public NSGA-II implementation for FJSP was available, we implemented NSGA-II in Python 3.10. In the experiments, the crossover probability and mutation probability of NSGA-II were set to 0.8 and 0.3, respectively. The population size was 200, and the maximum number of generations was 1200. For the GA component in HLS-FJSP, the same crossover and mutation probabilities were used, while the population size was set to 20. Because HLS-FJSP also includes greedy search and tabu search, the number of iterations in each GA stage was set to 30. The comparison results on the Brandimarte instances are listed in Table 5.
Table 5 shows that HLS-FJSP obtains lower makespan values than NSGA-II on all ten Brandimarte instances. The gap is especially clear on several medium and large-scale instances. On Mk03, the makespan obtained by HLS-FJSP is 204.2, which is very close to the best-known upper bound of 204 (PD = 0.10%), while the PD of NSGA-II is 8.33%. On Mk10, the PD is reduced from 91.42% with NSGA-II to 47.46% with HLS-FJSP. Similar improvements can also be observed on Mk06 and Mk09, where the PD decreases from 76.03% to 48.10% and from 49.45% to 29.35%, respectively. Compared with NSGA-II, the additional local search procedures in HLS-FJSP help further improve the solutions during the search process. In terms of runtime, NSGA-II is generally faster on most instances. However, the runtime difference remains within an acceptable range, and HLS-FJSP is even faster on Mk01 (179.2s compared with 256.1s). Overall, the results indicate that HLS-FJSP can obtain better scheduling results, especially on more difficult instances.

5.4. Further Optimization of HCPGA Solutions

We further compare HLS-FJSP with the hybrid method HCPGA [26] on the Brandimarte benchmark instances. This experiment is designed to evaluate the refinement capability of HLS-FJSP on high-quality initial schedules. In this experiment, we develop an approach dubbed HCPGA+OURS, which operates as follows. First, HCPGA is executed, and then the solution obtained by HCPGA is used as the initial solution for our HLS-FJSP algorithm for further optimization. For each run of HCPGA+OURS, the cutoff time is set to 6000 s; consequently, the running time available to our HLS-FJSP algorithm is 6000 s minus the actual runtime of HCPGA. Additionally, during the execution of HCPGA within HCPGA+OURS, the process of HCPGA terminates if the makespan shows no improvement for 300 consecutive generations, following the literature [26]. The remaining experimental settings are identical to those described in the Section 5.1, and the results are summarized in Table 6.
Table 6 shows the results obtained after applying HLS-FJSP to the schedules generated by HCPGA. On several instances, HLS-FJSP further reduces the makespan. For example, on Mk01, the PD decreases from 31.54% to 7.69%. On Mk03, the makespan is reduced from 284.1 to 204.0, which reaches the best-known upper bound. Improvements can also be observed on Mk04 and Mk08, where the PD decreases from 50.00% to 19.83% and from 4.99% to 2.41%, respectively. However, for four instances (i.e., Mk02, Mk05, Mk06, and Mk10), our algorithm did not further improve the solutions; therefore, it is not surprising that the solutions returned by HCPGA and HCPGA+OURS remain identical.

5.5. Further Optimization of DRL-S Solutions

We also compare HLS-FJSP with the DRL-based scheduling method DRL-S [28] on the Brandimarte benchmark instances. This experiment is designed to evaluate the refinement capability of our proposed method. In this experiment, we develop an approach dubbed DRL-S+OURS, which operates as follows. First, following the literature [28], DRL-S+OURS activates DRL-S to sample 100 candidate solutions. The solution with the minimum makespan is then selected as the initial solution for our HLS-FJSP algorithm for further optimization. For each run of DRL-S+OURS, the cutoff time is set to 6000 s; thus, the running time available to our HLS-FJSP algorithm is 6000 s minus the actual runtime of DRL-S. The remaining experimental settings are identical to those described in the Section 5.1, and the corresponding results are summarized in Table 7.
Table 7 reports the results of applying HLS-FJSP to further refine schedules produced by the DRL-based method DRL-S. HLS-FJSP improves the makespan on four instances: on Mk02, the mean makespan is reduced from 35.8 to 32.7 (PD from 37.69% to 25.77%); on Mk04, from 70.0 to 69.8 (PD from 16.67% to 16.33%); on Mk06, from 89.2 to 87.3 (PD from 53.79% to 50.52%); and on Mk07, from 190.8 to 157.6 (PD from 37.27% to 13.38%). On the remaining six instances (i.e., Mk01, Mk03, Mk05, Mk08, Mk09, and Mk10), our algorithm did not further improve the solutions; therefore, it is not surprising that the solutions returned by DRL-S and DRL-S+OURS remain identical.

5.6. Effectiveness of Each Core Technique

5.6.1. Single-Strategy Variants

To further assess the contribution of each individual search strategy, we compare the full HLS-FJSP with three single-strategy variants that exclusively rely on one component: HLS-GS (Greedy Search only), HLS-GA (Genetic Algorithm only), and HLS-TS (Tabu Search only). All variants are configured with the same parameter settings as the complete HLS-FJSP, and the resulting makespan and runtime on the Brandimarte benchmark set are summarized in Table 8.
Running greedy search alone (HLS-GS) leads to poor results on most instances. On Mk08, the makespan reaches 2133, while the upper bound is 523. A similar result can be observed on Mk10, where the makespan is 1310 compared with the upper bound of 197. However, GS requires very little computation time and usually finishes within several seconds. The results show that greedy search alone converges quickly but is difficult to improve further once the search becomes trapped in a local region.
Using only the genetic algorithm (HLS-GA) produces much better schedules than HLS-GS and HLS-TS. On Mk03, the makespan reaches 204.0, which is very close to the upper bound of 204. On Mk06, the makespan is reduced to 88.8. However, compared with the complete HLS-FJSP framework, there is still a noticeable gap on several larger instances. For example, the makespan on Mk08 is 541.6 for HLS-GA and 538.0 for HLS-FJSP, while on Mk10 the results are 317.0 and 290.5, respectively. This suggests that GA can maintain population diversity during the search, but additional local improvement is still necessary on more difficult instances.
When tabu search is used alone (HLS-TS), both the solution quality and runtime become unsatisfactory on most instances. On Mk08 and Mk10, the makespan values reach 1961 and 944, respectively. The runtime is also much longer than that of the complete HLS-FJSP framework. For example, on Mk09, HLS-TS requires 4435.4s, whereas HLS-FJSP finishes in 1435.7s and obtains a much smaller makespan. These results indicate that tabu search alone spends excessive time exploring limited neighborhoods and is difficult to guide efficiently without other search strategies.
The experimental results show that the three search strategies play different roles in HLS-FJSP. GA mainly supports global search, GS improves solutions quickly in local regions, and TS is used when the search becomes stagnant. Combining these strategies helps maintain both search efficiency and solution quality on different FJSP instances.

5.6.2. Dual-Strategy Variants

As described in the Section 4, HLS-FJSP combines greedy search (GS), genetic algorithm (GA), and tabu search (TS) during the search process. Different search strategies are selected according to the current search state instead of using a fixed search order. To analyze the role of each strategy, three reduced versions of HLS-FJSP are tested: HLS-GSGA without tabu search, HLS-GSTS without the genetic algorithm, and HLS-GATS without greedy search. The parameter settings are the same as those used in HLS-FJSP. Each benchmark instance is run independently 10 times. The makespan and runtime results on the Brandimarte benchmark are listed in Table 9.
Removing the genetic algorithm (HLS-GSTS) noticeably reduces performance on most instances. For example, the makespan increases from 204.2 to 516 on Mk03 and from 290.5 to 944.3 on Mk10. The percentage deviation from the upper bound also becomes much larger in several cases. These results indicate that GA is necessary for maintaining broader search capability during optimization. The crossover and mutation operations help preserve population diversity and reduce the likelihood of early convergence.
When greedy search is removed (HLS-GATS), the algorithm can still obtain solutions close to those of the complete HLS-FJSP on several instances, and slightly better results are observed on Mk02, Mk03, and Mk06. However, the runtime increases consistently, especially on larger instances. For example, the runtime increases from 1175.6s to 1634.6s on Mk08 and from 1812.2s to 2176.8s on Mk10. In addition, the complete HLS-FJSP achieves lower PD values on Mk08–Mk10. These results show that greedy search mainly improves convergence efficiency and helps reduce computation time during local improvement.
Removing tabu search (HLS-GSGA) reduces performance on difficult instances. On relatively small instances such as Mk01 and Mk04, the results remain close to those of the complete framework. However, larger differences appear in difficult instances. For example, the PD increases from 2.87% to 3.15% on Mk08 and from 47.46% to 58.02% on Mk10. These results suggest that tabu search plays a larger role when further improvement becomes difficult.
Overall, the three search strategies play complementary roles during optimization. Greedy search accelerates local improvement, GA enlarges the search space through population evolution, and tabu search reduces repeated search around similar solutions. Their combination allows HLS-FJSP to obtain stable scheduling results on instances of different scales.

5.6.3. Effectiveness of the Process Monitoring Mechanism

To examine the effect of the process monitoring mechanism, an ablation variant named Alt-1 is constructed. In Alt-1, the switching rule based on the repetition count t is removed. As a result, the selection between the genetic algorithm (GA) and tabu search (TS) during the random search phase depends only on the fixed parameter β , without considering whether the search has stagnated. By comparing Alt-1 with the complete HLS-FJSP, we evaluate the role of the repetition-based switching strategy in escaping local optima during optimization. All other experimental settings, including parameter values and termination conditions, are kept the same as those of HLS-FJSP. The comparative results are reported in Table 10.
The experimental results show that HLS-FJSP performs better than Alt-1 on several large and difficult instances. On Mk06, Mk08, and Mk10, the makespan is reduced by 2.4%, 0.8%, and 4.1%, respectively. The runtime on these instances is also slightly lower than that of Alt-1. On Mk03, Mk04, and Mk07, HLS-FJSP obtains better or similar results, indicating that the monitoring mechanism can help the search continue improving after repeated solutions appear. On smaller instances such as Mk01, Mk02, Mk05, and Mk09, Alt-1 occasionally produces slightly smaller makespan values and usually requires less runtime. For these relatively simple instances, random switching between GA and TS is often sufficient, and the additional monitoring process does not always improve the results.
Overall, the monitoring mechanism is more useful on difficult FJSP instances, especially when the search begins to stagnate. The complete HLS-FJSP generally produces more stable results on large-scale problems, while Alt-1 may reduce computation time on simpler cases.

5.7. Impacts of Parameter Settings

Parameter sensitivity experiments are conducted on the Brandimarte benchmark instances to evaluate the robustness of the proposed HLS-FJSP with respect to its key parameters. The default parameter settings are α = 0.5 , β = 0.5 , r = 100 , δ = 30 , p n = 20 , and L = 25 . During the experiments, only one parameter is changed at a time, while the remaining parameters keep their default values. The tested parameter ranges are: α { 0.1 , 0.3 , 0.5 , 0.7 , 0.9 } , β { 0.1 , 0.3 , 0.5 , 0.7 , 0.9 } , r { 25 , 50 , 100 , 150 , 200 } , δ { 20 , 25 , 30 , 35 , 40 } , p n { 10 , 15 , 20 , 25 , 30 } , and L { 15 , 20 , 25 , 30 , 35 } . For each parameter setting, the algorithm is executed 10 times on every benchmark instance. The average makespan and runtime are then calculated from these runs.
Table 11 presents the performance of HLS-FJSP under different settings of the parameter α . Larger α values increase the probability of using genetic algorithm and tabu search, which helps the algorithm explore more candidate solutions and move away from local optima. Smaller α values rely more on greedy search. Such settings usually reduce runtime and are suitable for small instances. However, when α is too small, the search may converge too early on complex instances, making it difficult to obtain better schedules in later iterations. On the other hand, very large α values may introduce too many random search operations, which can increase runtime without obvious improvement in solution quality.
Table 12 reports the results of HLS-FJSP with various parameter settings of β . Small-scale instances are less sensitive to β , since most parameter settings can obtain near-optimal solutions. Increasing the use of GA helps generate more candidate solutions, which is beneficial for several medium-scale instances. For large-scale instances, relying too much on either GA or TS does not consistently produce better results. Moderate β values usually give more stable results by combining GA with TS. Although larger β values increase the use of GA, excessive random search may increase runtime and lead to larger differences between runs. In contrast, very small β values reduce population diversity and may cause the search to stop improving too early.
Table 13 presents the results of HLS-FJSP with various parameter settings of r. Small-scale instances can obtain optimal or near-optimal solutions even when r is small, while the runtime remains short. For medium-scale instances, increasing r usually improves the makespan because the algorithm is allowed to continue searching for better schedules. However, the improvement becomes smaller as the runtime increases. For large-scale instances, larger r values are more useful since these problems contain more operations and machine combinations. Nevertheless, when r exceeds 100, the improvement in solution quality is limited compared with the increase in runtime. Moderate settings such as r = 50 or r = 100 usually obtain competitive makespan with acceptable runtime, whereas excessively large r values noticeably increase runtime while only slightly improving the final solutions.
Table 14 presents the sensitivity analysis of parameter δ on the Brandimarte instances. Overall, increasing the value of δ leads to a consistent reduction in makespan ( C max ), bringing the solutions closer to the best-known upper bounds (UB). However, this improvement in solution quality is accompanied by a corresponding increase in computational time. Therefore, it is recommended to select δ based on practical priorities: for minimum runtime, δ = 20 –25 is preferred; for a balanced performance across most instances, δ = 30 is recommended; and for the highest solution quality on large-scale problems, δ = 35 –40 should be adopted when computational time is not the primary concern.
Table 15 summarizes the results of HLS-FJSP with different settings of p n . Small p n can already obtain optimal or near-optimal solutions with short runtime on small-scale instances. For medium-scale instances, moderate population sizes usually produce better makespan with acceptable runtime. In these cases, a moderate p n is sufficient to keep enough solution variation during the search. For large-scale instances, larger population sizes often produce better schedules because more candidate solutions are generated during optimization. However, the improvement becomes smaller when p n continues to increase, while the runtime increases noticeably. Considering both makespan and runtime, p n = 20 performs well on most benchmark instances.
Table 16 summarizes the results of HLS-FJSP with different settings of L. The value of L mainly affects how many recently visited solutions are stored in the tabu list. Smaller or moderate L values usually allow the algorithm to update schedules more quickly, which is suitable for small-scale instances. Larger L values help reduce repeated search on more difficult instances by preventing the algorithm from revisiting similar schedules too often. However, when L is too small, the search may repeatedly move around similar solutions and stop improving early. In contrast, excessively large L values may restrict neighborhood updates and slow down local schedule improvement. Overall, L = 20 is suitable when a shorter runtime is preferred on small and medium instances. Setting L = 25 produces relatively stable results across different problem sizes, while L = 30 may further improve solution quality on some large instances, with only a small increase in runtime.

5.8. Significance for Smart Manufacturing Systems

The experimental results indicate that HLS-FJSP can obtain feasible scheduling solutions within practical computation time on different benchmark instances. The decision-making mechanism controlled by process monitoring and control parameters also allows the algorithm to adjust the search process when the current solution repeatedly stagnates. The proposed method can also be combined with other scheduling frameworks used in smart manufacturing environments. For example, it may be integrated with digital twin systems or cloud-edge production platforms to support complex scheduling tasks [61]. In addition, HLS-FJSP can be used as a further optimization tool to further improve schedules generated by deep reinforcement learning approaches [30,62].
Since the algorithm does not rely on offline training, it can be applied together with data-driven manufacturing systems and IIoT-based production platforms [63]. The experimental results show that the hybrid search strategy is effective for solving FJSP instances with different scales and structures.

6. Conclusions

This paper proposes HLS-FJSP, a hybrid local search method for the Flexible Job-shop Scheduling Problem. The method combines greedy search, genetic algorithm, and tabu search through a search mode switching strategy based on process monitoring. Experimental results on standard benchmark instances show that HLS-FJSP can obtain better scheduling results than several composite dispatching rules within an acceptable computation time. The proposed method maintains stable performance across different benchmark sets and problem sizes. In particular, the algorithm performs well on several large and complex instances, where local search alone or fixed hybrid strategies are less effective. These results indicate that combining different search strategies through adaptive switching can improve the optimization process for FJSP.

Author Contributions

P.L. performed the research, wrote the manuscript and code, and analyzed the data. X.Z. was involved in conceptualization and manuscript revision. L.Z. contributed to the analysis of experimental results and manuscript preparation. C.L. provided supervision and manuscript revision. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by the National Key Research and Development Program of China under Grant 2023YFB3307500.

Data Availability Statement

The data for this study is available from the corresponding author on reasonable request.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Zhang, J.; Ding, G.; Zou, Y.; Qin, S.; Fu, J. Review of job shop scheduling research and its new perspectives under Industry 4.0. J. Intell. Manuf. 2019, 30, 1809–1830. [Google Scholar] [CrossRef]
  2. Xie, J.; Gao, L.; Peng, K.; Li, X.; Li, H. Review on flexible job shop scheduling. IET Collab. Intell. Manuf. 2019, 1, 67–77. [Google Scholar] [CrossRef]
  3. Olender-Skóra, M.; Gonet, A. Application of scheduling systems in smart manufacturing. Proc. J. Phys. Conf. Ser. 2022, 2198, 012012. [Google Scholar] [CrossRef]
  4. Lohmer, J.; Lasch, R. Production planning and scheduling in multi-factory production networks: A systematic literature review. Int. J. Prod. Res. 2021, 59, 2028–2054. [Google Scholar] [CrossRef]
  5. Parente, M.; Figueira, G.; Amorim, P.; Marques, A. Production scheduling in the context of Industry 4.0: Review and trends. Int. J. Prod. Res. 2020, 58, 5401–5431. [Google Scholar] [CrossRef]
  6. Zhang, Z.; Fu, Y.; Gao, K.; Pan, Q.; Huang, M. A learning-driven multi-objective cooperative artificial bee colony algorithm for distributed flexible job shop scheduling problems with preventive maintenance and transportation operations. Comput. Ind. Eng. 2024, 196, 110484. [Google Scholar] [CrossRef]
  7. Liu, M.; Lv, J.; Du, S.; Deng, Y.; Shen, X.; Zhou, Y. Multi-resource constrained flexible job shop scheduling problem with fixture-pallet combinatorial optimisation. Comput. Ind. Eng. 2024, 188, 109903. [Google Scholar] [CrossRef]
  8. Ren, W.; Yan, Y.; Hu, Y.; Guan, Y. Joint optimisation for dynamic flexible job-shop scheduling problem with transportation time and resource constraints. Int. J. Prod. Res. 2022, 60, 5675–5696. [Google Scholar] [CrossRef]
  9. Cai, L.; Li, W.; Luo, Y.; He, L. Real-time scheduling simulation optimisation of job shop in a production-logistics collaborative environment. Int. J. Prod. Res. 2023, 61, 1373–1393. [Google Scholar] [CrossRef]
  10. Zhang, S.; Tang, F.; Li, X.; Liu, J.; Zhang, B. A hybrid multi-objective approach for real-time flexible production scheduling and rescheduling under dynamic environment in Industry 4.0 context. Comput. Oper. Res. 2021, 132, 105267. [Google Scholar] [CrossRef]
  11. Singh, A.; Madaan, G.; Hr, S.; Kumar, A. Smart manufacturing systems: A futuristics roadmap towards application of industry 4.0 technologies. Int. J. Comput. Integr. Manuf. 2023, 36, 411–428. [Google Scholar] [CrossRef]
  12. Wang, Q.; Xia, Z.; Shen, X.; Zhang, J.; Li, C.; Li, S. Multi-level Attention-Based Dynamic Production Task Scheduling with Cross-Plant Material Transfers in Multi-plant Collaborative Manufacturing. In Proceedings of the International Conference on Intelligent Computing; Springer: Berlin/Heidelberg, Germany, 2025; pp. 511–522. [Google Scholar]
  13. Yağmur, E.; Kesen, S.E. Bi-objective coordinated production and transportation scheduling problem with sustainability: Formulation and solution approaches. Int. J. Prod. Res. 2023, 61, 774–795. [Google Scholar] [CrossRef]
  14. Kachitvichyanukul, V.; Sitthitham, S. A two-stage genetic algorithm for multi-objective job shop scheduling problems. J. Intell. Manuf. 2011, 22, 355–365. [Google Scholar] [CrossRef]
  15. Paulli, J. A hierarchical approach for the FMS scheduling problem. Eur. J. Oper. Res. 1995, 86, 32–42. [Google Scholar] [CrossRef]
  16. Hurink, J.; Jurisch, B.; Thole, M. Tabu search for the job-shop scheduling problem with multi-purpose machines. Operations-Research-Spektrum 1994, 15, 205–215. [Google Scholar] [CrossRef]
  17. Mastrolilli, M.; Gambardella, L.M. Effective neighbourhood functions for the flexible job shop problem. J. Sched. 2000, 3, 3–20. [Google Scholar] [CrossRef]
  18. 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]
  19. Gao, L.; Peng, C.; Zhou, C.; Li, P. Solving flexible job shop scheduling problem using general particle swarm optimization. In Proceedings of the 36th CIE Conference on Computers & Industrial Engineering; Citeseer: University Park, PA, USA, 2006; pp. 3018–3027. [Google Scholar]
  20. Zhang, G.; Shao, X.; Li, P.; Gao, L. An effective hybrid particle swarm optimization algorithm for multi-objective flexible job-shop scheduling problem. Comput. Ind. Eng. 2009, 56, 1309–1318. [Google Scholar] [CrossRef]
  21. Zribi, N.; Kacem, I.; El Kamel, A.; Borne, P. Assignment and scheduling in flexible job-shops by hierarchical optimization. IEEE Trans. Syst. Man Cybern. Part C Appl. Rev. 2007, 37, 652–661. [Google Scholar] [CrossRef]
  22. Ho, N.B.; Tay, J.C. Solving multiple-objective flexible job shop problems by evolution and local search. IEEE Trans. Syst. Man Cybern. Part C Appl. Rev. 2008, 38, 674–685. [Google Scholar]
  23. Moslehi, G.; Mahnam, M. A Pareto approach to multi-objective flexible job-shop scheduling problem using particle swarm optimization and local search. Int. J. Prod. Econ. 2011, 129, 14–22. [Google Scholar] [CrossRef]
  24. Zhang, Q.; Manier, H.; Manier, M.A. A genetic algorithm with tabu search procedure for flexible job shop scheduling with transportation constraints and bounded processing times. Comput. Oper. Res. 2012, 39, 1713–1723. [Google Scholar] [CrossRef]
  25. Yuan, Y.; Xu, H. Multiobjective flexible job shop scheduling using memetic algorithms. IEEE Trans. Autom. Sci. Eng. 2013, 12, 336–353. [Google Scholar] [CrossRef]
  26. Lorenzi, A.; Genetti, S.; Rambaldi Migliore, C.C.; Roveri, M.; Iacca, G. A Hybrid Constrained Programming with Genetic Algorithm for the Job Shop Scheduling Problem. In Proceedings of the Genetic and Evolutionary Computation Conference Companion, Malaga, Spain, 14–18 July 2025; pp. 2224–2232. [Google Scholar]
  27. Zhang, C.; Song, W.; Cao, Z.; Zhang, J.; Tan, P.S.; Chi, X. Learning to dispatch for job shop scheduling via deep reinforcement learning. Adv. Neural Inf. Process. Syst. 2020, 33, 1621–1632. [Google Scholar]
  28. Song, W.; Chen, X.; Li, Q.; Cao, Z. Flexible job-shop scheduling via graph neural network and deep reinforcement learning. IEEE Trans. Ind. Inform. 2022, 19, 1600–1610. [Google Scholar] [CrossRef]
  29. Liu, R.; Piplani, R.; Toro, C. A deep multi-agent reinforcement learning approach to solve dynamic job shop scheduling problem. Comput. Oper. Res. 2023, 159, 106294. [Google Scholar] [CrossRef]
  30. Wang, Z.; Liao, W. Smart scheduling of dynamic job shop based on discrete event simulation and deep reinforcement learning. J. Intell. Manuf. 2024, 35, 2593–2610. [Google Scholar] [CrossRef]
  31. Brucker, P.; Schlie, R. Job-shop scheduling with multi-purpose machines. Computing 1991, 45, 369–375. [Google Scholar] [CrossRef]
  32. Torabi, S.; Karimi, B.; Ghomi, S.F. The common cycle economic lot scheduling in flexible job shops: The finite horizon case. Int. J. Prod. Econ. 2005, 97, 52–65. [Google Scholar] [CrossRef]
  33. Gomes, M.C.; Barbosa-Povoa, A.P.; Novais, A.Q. Optimal scheduling for flexible job shop operation. Int. J. Prod. Res. 2005, 43, 2323–2353. [Google Scholar] [CrossRef]
  34. Tay, J.C.; Ho, N.B. Evolving dispatching rules using genetic programming for solving multi-objective flexible job-shop problems. Comput. Ind. Eng. 2008, 54, 453–473. [Google Scholar] [CrossRef]
  35. Baykasoğlu, A.; Özbakır, L. Analyzing the effect of dispatching rules on the scheduling performance through grammar based flexible scheduling system. Int. J. Prod. Econ. 2010, 124, 369–381. [Google Scholar] [CrossRef]
  36. Ziaee, M. A heuristic algorithm for solving flexible job shop scheduling problem. Int. J. Adv. Manuf. Technol. 2014, 71, 519–528. [Google Scholar] [CrossRef]
  37. Xie, J.; Li, X.; Gao, L.; Gui, L. A hybrid genetic tabu search algorithm for distributed flexible job shop scheduling problems. J. Manuf. Syst. 2023, 71, 82–94. [Google Scholar] [CrossRef]
  38. Sun, K.; Zheng, D.; Song, H.; Cheng, Z.; Lang, X.; Yuan, W.; Wang, J. Hybrid genetic algorithm with variable neighborhood search for flexible job shop scheduling problem in a machining system. Expert Syst. Appl. 2023, 215, 119359. [Google Scholar] [CrossRef]
  39. Zhang, Z.Q.; Wu, F.C.; Qian, B.; Hu, R.; Wang, L.; Jin, H.P. A Q-learning-based hyper-heuristic evolutionary algorithm for the distributed flexible job-shop scheduling problem with crane transportation. Expert Syst. Appl. 2023, 234, 121050. [Google Scholar] [CrossRef]
  40. Lu, C.; Liu, Q.; Zhang, B.; Yin, L. A Pareto-based hybrid iterated greedy algorithm for energy-efficient scheduling of distributed hybrid flowshop. Expert Syst. Appl. 2022, 204, 117555. [Google Scholar] [CrossRef]
  41. Chorghe, S.; Kumar, R.; Kulkarni, M.S.; Pandhare, V.; Lad, B.K. Smart scheduling for next generation manufacturing systems: A systematic literature review. J. Intell. Manuf. 2024, 36, 4447–4476. [Google Scholar] [CrossRef]
  42. Jensen, M.T. Generating robust and flexible job shop schedules using genetic algorithms. IEEE Trans. Evol. Comput. 2003, 7, 275–288. [Google Scholar] [CrossRef]
  43. Ho, N.B.; Tay, J.C.; Lai, E.M.K. An effective architecture for learning and evolving flexible job-shop schedules. Eur. J. Oper. Res. 2007, 179, 316–333. [Google Scholar] [CrossRef]
  44. 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]
  45. 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]
  46. Demir, Y.; İşleyen, S.K. An effective genetic algorithm for flexible job-shop scheduling with overlapping in operations. Int. J. Prod. Res. 2014, 52, 3905–3921. [Google Scholar] [CrossRef]
  47. Rossi, A.; Dini, G. Flexible job-shop scheduling with routing flexibility and separable setup times using ant colony optimisation method. Robot. Comput.-Integr. Manuf. 2007, 23, 503–516. [Google Scholar] [CrossRef]
  48. Li, J.Q.; Pan, Q.K.; Gao, K.Z. Pareto-based discrete artificial bee colony algorithm for multi-objective flexible job shop scheduling problems. Int. J. Adv. Manuf. Technol. 2011, 55, 1159–1169. [Google Scholar] [CrossRef]
  49. Gao, K.Z.; Suganthan, P.N.; Chua, T.J.; Chong, C.S.; Cai, T.X.; Pan, Q.K. A two-stage artificial bee colony algorithm scheduling flexible job-shop scheduling problem with new job insertion. Expert Syst. Appl. 2015, 42, 7652–7663. [Google Scholar] [CrossRef]
  50. Vilcot, G.; Billaut, J.C. A tabu search algorithm for solving a multicriteria flexible job shop scheduling problem. Int. J. Prod. Res. 2011, 49, 6963–6980. [Google Scholar] [CrossRef]
  51. Jia, S.; Hu, Z.H. Path-relinking Tabu search for the multi-objective flexible job shop scheduling problem. Comput. Oper. Res. 2014, 47, 11–26. [Google Scholar] [CrossRef]
  52. Li, Y.; Liao, C.; Wang, L.; Xiao, Y.; Cao, Y.; Guo, S. A reinforcement learning-artificial bee colony algorithm for flexible job-shop scheduling problem with lot streaming. Appl. Soft Comput. 2023, 146, 110658. [Google Scholar] [CrossRef]
  53. Tang, J.; Gong, G.; Peng, N.; Zhu, K.; Huang, D.; Luo, Q. An effective memetic algorithm for distributed flexible job shop scheduling problem considering integrated sequencing flexibility. Expert Syst. Appl. 2024, 242, 122734. [Google Scholar] [CrossRef]
  54. Lin, L.; Gen, M. Hybrid evolutionary optimisation with learning for production scheduling: State-of-the-art survey on algorithms and applications. Int. J. Prod. Res. 2018, 56, 193–223. [Google Scholar] [CrossRef]
  55. Edmonds, J. Matroids and the greedy algorithm. Math. Program. 1971, 1, 127–136. [Google Scholar] [CrossRef]
  56. Ruiz, R.; Stützle, T. A simple and effective iterated greedy algorithm for the permutation flowshop scheduling problem. Eur. J. Oper. Res. 2007, 177, 2033–2049. [Google Scholar] [CrossRef]
  57. Fraser, A.S. Simulation of genetic systems by automatic digital computers I. Introduction. Aust. J. Biol. Sci. 1957, 10, 484–491. [Google Scholar] [CrossRef]
  58. Glover, F. Future paths for integer programming and links to artificial intelligence. Comput. Oper. Res. 1986, 13, 533–549. [Google Scholar] [CrossRef]
  59. Doh, H.H.; Yu, J.M.; Kim, J.S.; Lee, D.H.; Nam, S.H. A priority scheduling approach for flexible job shops with multiple process plans. Int. J. Prod. Res. 2013, 51, 3748–3764. [Google Scholar] [CrossRef]
  60. Behnke, D.; Geiger, M.J. Test Instances for the Flexible Job Shop Scheduling Problem with Work Centers; Institut Für Betriebliche Logistik Und Organisation; Helmut-Schmidt-Universität: Hamburg, Germany, 2012. [Google Scholar]
  61. Ren, L.; Dong, J.; Zhang, L.; Laili, Y.; Wang, X.; Qi, Y.; Li, B.H.; Wang, L.; Yang, L.T.; Deen, M.J. Industrial metaverse for smart manufacturing: Model, architecture, and applications. IEEE Trans. Cybern. 2024, 54, 2683–2695. [Google Scholar] [CrossRef]
  62. Li, C.; Zheng, P.; Yin, Y.; Wang, B.; Wang, L. Deep reinforcement learning in smart manufacturing: A review and prospects. CIRP J. Manuf. Sci. Technol. 2023, 40, 75–101. [Google Scholar] [CrossRef]
  63. Hu, Y.; Jia, Q.; Yao, Y.; Lee, Y.; Lee, M.; Wang, C.; Zhou, X.; Xie, R.; Yu, F.R. Industrial internet of things intelligence empowering smart manufacturing: A literature review. IEEE Internet Things J. 2024, 11, 19143–19167. [Google Scholar] [CrossRef]
Figure 1. The architecture design of HLS-FJSP, S denotes a candidate solution and S * denotes the best solution found so far.
Figure 1. The architecture design of HLS-FJSP, S denotes a candidate solution and S * denotes the best solution found so far.
Electronics 15 02465 g001
Figure 2. Encoding and decoding of genetic algorithms.
Figure 2. Encoding and decoding of genetic algorithms.
Electronics 15 02465 g002
Figure 3. Crossover operation of the genetic algorithm.
Figure 3. Crossover operation of the genetic algorithm.
Electronics 15 02465 g003
Figure 4. The critical path in the disjunctive graph.
Figure 4. The critical path in the disjunctive graph.
Electronics 15 02465 g004
Figure 5. Scatter plots on Brandimarte instances.
Figure 5. Scatter plots on Brandimarte instances.
Electronics 15 02465 g005
Figure 6. Scatter plots on Barnes instances.
Figure 6. Scatter plots on Barnes instances.
Electronics 15 02465 g006
Figure 7. Scatter plots on Dauzère instances.
Figure 7. Scatter plots on Dauzère instances.
Electronics 15 02465 g007
Figure 8. Scatter plots on Hurink instances.
Figure 8. Scatter plots on Hurink instances.
Electronics 15 02465 g008
Table 1. HLS-FJSP’s results on Brandimarte instances.
Table 1. HLS-FJSP’s results on Brandimarte instances.
InstanceSizeUBFIFO+EETFIFO+SPTMOPNR+EETMOPNR+SPTMWKR+EETMWKR+SPTOURS
CmaxPDCmaxPDCmaxPDCmaxPDCmaxPDCmaxPDCmaxPDTime
mk0110 × 6395335.90%6874.36%5746.15%6464.10%5028.21%6566.67%42.0 ± 0.07.69%179.2 ± 13.3
mk0210 × 6263950.00%4157.69%4157.69%4053.85%4053.85%4157.69%32.3 ± 0.924.23%422.7 ± 106.2
mk0315 × 820423213.73%33865.69%26529.90%33061.76%24821.57%33061.76%204.2 ± 0.60.10%861.0 ± 162.7
mk0415 × 8609660.00%146143.33%9660.00%146143.33%11388.33%146143.33%72.8 ± 1.221.33%420.1 ± 96.2
mk0515 × 41721878.72%28968.02%19211.63%28968.02%19613.95%28968.02%188.7 ± 3.79.71%676.4 ± 173.7
mk0615 × 105810886.21%11598.28%11598.28%10886.21%11191.38%11394.83%85.9 ± 2.648.10%1199.9 ± 67.4
mk075 × 2013921252.52%21957.55%21756.12%22158.99%21554.68%23367.63%159.0 ± 3.814.39%748.4 ± 125.0
mk0810 × 2052358712.24%60816.25%60916.44%63922.18%59213.19%60916.44%538.0 ± 6.42.87%1175.6 ± 182.9
mk0910 × 2030743943.00%51066.12%40732.57%50564.50%40632.25%50564.50%397.1 ± 8.229.35%1435.7 ± 252.7
mk1015 × 2019730353.81%404105.08%31157.87%438122.34%29147.72%453129.95%290.5 ± 5.847.46%1812.2 ± 237.7
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60]; “OURS” represents the proposed HLS-FJSP method.
Table 2. HLS-FJSP’s results on Barnes instances.
Table 2. HLS-FJSP’s results on Barnes instances.
InstanceSizeUBFIFO+EETFIFO+SPTMOPNR+EETMOPNR+SPTMWKR+EETMWKR+SPTOURS
CmaxPDCmaxPDCmaxPDCmaxPDCmaxPDCmaxPDCmaxPDTime
mt10c110×11927152063.97%152063.97%131942.29%131942.29%123933.66%128939.05%1115.3 ± 20.020.31%918.9 ± 243.7
mt10cc10 × 12910135949.34%152067.03%124536.81%131944.95%112123.19%128941.65%1074.2 ± 10.018.04%1016.2 ± 286.8
mt10x10 × 11918130542.16%152065.58%127538.89%131943.68%125336.49%128940.41%1104.5 ± 19.620.32%1084.9 ± 269.0
mt10xx10 × 12918130542.16%130542.16%127538.89%127538.89%125336.49%125336.49%1107.4 ± 18.220.63%1048.3 ± 304.4
mt10xxx10 × 13918130542.16%130542.16%127538.89%127538.89%125336.49%125336.49%1117.5 ± 15.121.73%949.1 ± 228.7
mt10xy10 × 12905130544.20%152067.96%124137.13%131945.75%120132.71%128942.43%1099.7 ± 17.821.51%869.6 ± 230.8
mt10xyz10 × 13847115936.84%152079.46%122644.75%131955.73%111131.17%128952.18%1015.3 ± 18.119.87%1027.8 ± 216.9
setb4c915 × 11914167783.48%167783.48%124536.21%124536.21%160175.16%169385.23%1194.6 ± 9.630.70%1552.6 ± 281.2
setb4cc15 × 12909161377.45%167784.49%124536.96%124536.96%154469.86%169386.25%1163.9 ± 17.728.04%1462.7 ± 274.2
setb4x15 × 11925167781.30%167781.30%124534.59%124534.59%166479.89%169383.03%1192.9 ± 25.828.96%1505.6 ± 330.7
setb4xx15 × 12925167781.30%167781.30%124534.59%124534.59%166479.89%166479.89%1190.6 ± 14.828.71%1504.1 ± 299.4
setb4xxx15 × 13925167781.30%167781.30%124534.59%124534.59%166479.89%166479.89%1189.2 ± 20.328.56%1342.5 ± 177.8
setb4xy15 × 12916152666.59%167783.08%122533.73%124535.92%166481.66%169384.83%1160.1 ± 23.726.65%1426.5 ± 284.0
setb4xyz15 × 13905139554.14%167785.30%122535.36%124537.57%166483.87%169387.07%1130.0 ± 29.924.86%1396.7 ± 292.4
seti5c1215 × 161174182255.20%182255.20%168643.61%172847.19%195366.35%197768.40%1613.3 ± 24.037.42%1950.7 ± 165.3
seti5cc15 × 171136180158.54%182260.39%162342.87%172852.11%176755.55%197774.03%1552.7 ± 36.436.68%2056.9 ± 251.7
seti5x15 × 161201180149.96%182251.71%172843.88%172843.88%179149.13%197764.61%1624.7 ± 21.135.28%1923.8 ± 184.5
seti5xx15 × 171199180150.21%180150.21%172844.12%172844.12%175546.37%179149.37%1605.8 ± 27.633.93%1965.9 ± 277.7
seti5xxx15 × 181197180150.46%180150.46%172844.36%172844.36%175546.62%175546.62%1600.9 ± 32.333.74%1866.1 ± 161.4
seti5xy15 × 171136180158.54%182260.39%162342.87%172852.11%176755.55%197774.03%1563.6 ± 24.237.64%2045.6 ± 233.2
seti5xyz15 × 181125180160.09%182261.96%155738.40%172853.60%176757.07%197775.73%1549.7 ± 31.537.75%1998.8 ± 244.0
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60]; “OURS” represents the proposed HLS-FJSP method.
Table 3. HLS-FJSP’s results on Dauzère instances.
Table 3. HLS-FJSP’s results on Dauzère instances.
InstanceSizeUBFIFO+EETFIFO+SPTMOPNR+EETMOPNR+SPTMWKR+EETMWKR+SPTOURS
CmaxPDCmaxPDCmaxPDCmaxPDCmaxPDCmaxPDCmaxPDTime
01a10 × 52518358642.41%376349.44%363344.28%360643.21%350539.20%347037.81%3162.7 ± 50.425.60%1417.2 ± 448.1
02a10 × 52231332148.86%356059.57%302435.54%374567.86%294131.82%397578.17%2903.2 ± 103.730.13%1582.1 ± 244.4
03a10 × 52229257215.39%316341.90%249411.89%343954.28%257315.43%315341.45%2776.9 ± 101.224.58%2051.3 ± 246.0
04a10 × 52503339335.56%342336.76%359143.47%368547.22%340436.00%331832.56%3157.6 ± 28.826.15%1367.9 ± 408.7
05a10 × 52216301235.92%337752.39%306338.22%357161.15%290030.87%322345.44%2820.6 ± 47.527.28%1815.9 ± 220.7
06a10 × 52196252214.85%356162.16%254115.71%354661.48%257417.21%352060.29%2712.6 ± 93.923.52%2066.5 ± 336.6
07a15 × 82283361858.48%394472.76%334846.65%335747.04%371962.90%391671.53%3298.7 ± 71.444.49%2121.3 ± 265.1
08a15 × 82069280835.72%328958.97%274732.77%314451.96%312150.85%365776.75%2994.3 ± 64.944.72%3354.2 ± 425.3
09a15 × 82066235113.79%284237.56%236714.57%292741.67%246019.07%304247.24%2801.4 ± 180.435.60%4420.2 ± 404.5
10a15 × 82291359656.96%377864.91%332945.31%339448.14%350052.77%378064.99%3330.9 ± 42.645.39%2374.6 ± 598.0
11a15 × 82063279935.68%351070.14%254523.36%349769.51%289040.09%354471.79%2975.4 ± 81.244.23%3263.6 ± 313.5
12a15 × 82030236516.50%356775.71%239918.18%302148.82%237316.90%340367.64%2692.0 ± 88.432.61%4593.3 ± 613.5
13a20 × 102257337649.58%371064.38%345052.86%359659.33%358258.71%372064.82%3484.9 ± 44.654.40%3338.0 ± 856.9
14a20 × 102167262221.00%330352.42%278128.33%337155.56%275026.90%338256.07%3216.8 ± 109.048.44%5394.7 ± 396.1
15a20 × 10216523398.04%277528.18%242512.01%274526.79%23759.70%271925.59%2894.7 ± 137.533.70%6023.1 ± 25.0
16a20 × 102255336649.27%368063.19%344152.59%342451.84%365662.13%366062.31%3421.1 ± 64.051.71%3477.8 ± 615.3
17a20 × 102140258720.89%380477.76%278230.00%399086.45%265824.21%405689.53%3086.0 ± 101.544.21%5484.3 ± 656.7
18a20 × 10212723269.36%353566.20%243214.34%337058.44%246515.89%344361.87%2876.4 ± 126.135.23%6012.4 ± 10.9
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60]; “OURS” represents the proposed HLS-FJSP method.
Table 4. HLS-FJSP’s results on Hurink instances.
Table 4. HLS-FJSP’s results on Hurink instances.
InstanceSizeUBFIFO+EETFIFO+SPTMOPNR+EETMOPNR+SPTMWKR+EETMWKR+SPTOURS
CmaxPDCmaxPDCmaxPDCmaxPDCmaxPDCmaxPDCmaxPDTime
vdata-la0110 × 557074029.82%84548.25%63811.93%85650.18%70724.04%75632.63%625.1 ± 13.59.67%219.4 ± 64.8
vdata-la0210 × 552962618.34%96081.47%65022.87%75242.16%68830.06%75642.91%583.0 ± 15.510.21%225.6 ± 90.1
vdata-la0310 × 547761629.14%85078.20%57720.96%74556.18%60627.04%77261.84%535.5 ± 13.312.26%188.7 ± 56.9
vdata-la0410 × 550262524.50%74648.61%60119.72%76351.99%70640.64%81061.35%567.1 ± 12.912.97%183.5 ± 77.5
vdata-la0510 × 545768149.02%87791.90%56824.29%64841.79%57024.73%81578.34%518.7 ± 6.913.50%172.4 ± 58.3
vdata-la0615 × 579989411.89%134768.59%8374.76%108936.30%8384.88%104731.04%853.4 ± 17.26.81%369.4 ± 81.5
vdata-la0715 × 574982910.68%103337.92%8077.74%107142.99%86715.75%102837.25%824.9 ± 19.010.13%306.9 ± 83.9
vdata-la0815 × 576587814.77%108541.83%8379.41%103535.29%99329.80%128567.97%823.7 ± 13.17.67%386.2 ± 106.1
vdata-la0915 × 58539217.97%121342.20%9076.33%114934.70%8954.92%105423.56%899.9 ± 26.35.50%337.8 ± 73.2
vdata-la1015 × 580497020.65%112840.30%8809.45%108935.45%96419.90%113040.55%860.7 ± 19.07.05%337.8 ± 60.6
vdata-la1120 × 5107111497.28%178066.20%11275.23%161550.79%126317.93%166955.84%1128.1 ± 17.05.33%486.7 ± 74.6
vdata-la1220 × 5936110417.95%132141.13%9804.70%125033.55%108215.60%137346.69%984.2 ± 18.95.15%493.8 ± 87.2
vdata-la1320 × 5103811197.80%138633.53%10632.41%138933.82%115010.79%141236.03%1099.8 ± 21.55.95%487.7 ± 79.1
vdata-la1420 × 51070126518.22%152942.90%11668.97%143133.74%118911.12%161250.65%1118.9 ± 24.44.57%519.4 ± 101.3
vdata-la1520 × 5108911959.73%149136.91%11303.76%138126.81%11949.64%153741.14%1138.3 ± 28.04.53%513.1 ± 94.63
vdata-la1610 × 1071782014.37%94531.80%86520.64%83416.32%90225.80%94832.22%853.7 ± 51.919.07%650.2 ± 119.6
vdata-la1710 × 1064676017.65%79322.76%6947.43%76017.65%72612.38%80524.61%738.3 ± 44.214.29%566.4 ± 119.7
vdata-la1810 × 1066376515.38%81422.78%79920.51%82524.43%80120.81%88032.73%830.0 ± 51.625.19%594.9 ± 74.3
vdata-la1910 × 1061773118.48%84937.60%82633.87%84136.30%74620.91%98058.83%855.2 ± 30.738.61%607.8 ± 92.3
vdata-la2010 × 1075686914.95%98129.76%8188.20%89418.25%8056.48%90219.31%879.1 ± 62.816.28%637.0 ± 76.1
vdata-la2115 × 1080699223.08%117645.91%96119.23%105130.40%100024.07%117946.28%1142.2 ± 44.941.71%1007.3 ± 120.3
vdata-la2215 × 1073992024.49%103339.78%89821.52%104040.73%92825.58%107044.79%1006.5 ± 33.336.20%988.3 ± 161.0
vdata-la2315 × 1081598620.98%117043.56%95417.06%106630.80%97119.14%111036.20%1125.7 ± 56.738.12%1015.3 ± 188.3
vdata-la2415 × 1077799227.67%108339.38%90216.09%106537.07%100429.21%108539.64%1040.9 ± 56.333.96%1000.7 ± 131.6
vdata-la2515 × 1075698330.03%113650.26%87215.34%98730.56%101333.99%113249.74%1058.6 ± 71.140.03%989.2 ± 136.2
vdata-la2620 × 101054118112.05%137029.98%11196.17%124317.93%122416.13%142535.20%1323.5 ± 73.325.57%1565.7 ± 331.0
vdata-la2720 × 101085119610.23%135324.70%11637.19%129519.35%121111.61%137126.36%1399.0 ± 45.928.94%1412.8 ± 195.5
vdata-la2820 × 101070124516.36%148238.50%11739.63%128620.19%132423.74%149339.53%1419.6 ± 61.632.67%1374.4 ± 155.5
vdata-la2920 × 10994117117.81%138439.24%111111.77%118919.62%124425.15%142843.66%1298.4 ± 46.530.62%1431.0 ± 242.5
vdata-la3020 × 101069123215.25%138129.19%11709.45%138029.09%131222.73%148338.73%1385.3 ± 45.029.59%1491.6 ± 290.9
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60]; “OURS” represents the proposed HLS-FJSP method.
Table 5. NSGA-II and HLS-FJSP’s results on Brandimarte instances (average of 10 runs).
Table 5. NSGA-II and HLS-FJSP’s results on Brandimarte instances (average of 10 runs).
InstanceSizeUBNSGA-IIOURS
CmaxPDTimeCmaxPDTime
Mk0110 × 63944.5±1.114.10%256.1 ± 20.542.0 ± 0.07.69%179.2 ± 13.3
Mk0210 × 62635.1 ± 1.235.00%248.6 ± 5.832.3 ± 0.924.23%422.7 ± 106.2
Mk0315 × 8204221.0 ± 3.38.33%297.5 ± 30.1204.2 ± 0.60.10%861.0 ± 162.7
Mk0415 × 86083.1 ± 1.438.50%269.0 ± 3.872.8 ± 1.221.33%420.1 ± 96.2
Mk0515 × 4172201.9 ± 2.617.38%292.3 ± 42.8188.7 ± 3.79.71%676.4 ± 173.7
Mk0615 × 1058102.1 ± 4.076.03%258.7 ± 1.685.9 ± 2.648.10%1199.9 ± 67.4
Mk075 × 20139171.9 ± 2.323.67%281.9 ± 13.6159.0 ± 3.814.39%748.4 ± 125.0
Mk0810 × 20523587.8 ± 10.312.39%352.7 ± 17.9538.0 ± 6.42.87%1175.6 ± 182.9
Mk0910 × 20307458.8 ± 12.849.45%390.5 ± 43.8397.1 ± 8.229.35%1435.7 ± 252.7
Mk1015 × 20197377.1 ± 8.991.42%369.9 ± 23.2290.5 ± 5.847.46%1812.2 ± 237.7
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60]; “OURS” represents the proposed HLS-FJSP method.
Table 6. HCPGA and HLS-FJSP’s results on Brandimarte instances (average of 10 runs).
Table 6. HCPGA and HLS-FJSP’s results on Brandimarte instances (average of 10 runs).
InstanceSizeUBHCPGAHCPGA+OURS
CmaxPDTimeCmaxPDTime
Mk0110 × 63951.3 ± 4.231.54%3.2 ± 3.242.0 ± 0.07.69%53.4 ± 5.5
Mk0210 × 62626.0 ± 0.00.00%1112.5 ± 19.126.0 ± 0.00.00%1235.7 ± 31.2
Mk0315 × 8204284.1 ± 25.339.26%93.4 ± 112.7204.0 ± 0.00.00%389.4 ± 110.3
Mk0415 × 86090.0 ± 9.450.00%19.2 ± 15.071.9 ± 2.219.83%148.9 ± 35.1
Mk0515 × 4172173.0 ± 0.80.58%1128.0 ± 19.0173.0 ± 0.80.58%1279.6 ± 23.4
Mk0615 × 105860.3 ± 0.73.97%1139.0 ± 17.260.3 ± 0.73.97%1553.8 ± 54.3
Mk075 × 20139143.1 ± 2.32.95%1126.9 ± 16.7143.0 ± 2.12.88%1308.0 ± 39.7
Mk0810 × 20523549.1 ± 16.74.99%70.6 ± 113.7535.6 ± 8.82.41%423.4 ± 127.5
Mk0910 × 20307350.5 ± 16.614.17%634.2 ± 754.6350.1 ± 16.214.04%1084.9 ± 736.6
Mk1015 × 20197230.3 ± 6.516.90%1167.5 ± 12.5230.3 ± 6.516.90%1704.7 ± 103.4
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60]; “OURS” represents the proposed HLS-FJSP method; “HCPGA+OURS” denotes the hybrid approach where the schedules obtained by HCPGA are utilized as the initial solutions and further optimized by HLS-FJSP.
Table 7. DRL-S and HLS-FJSP’s results on Brandimarte instances (average of 10 runs).
Table 7. DRL-S and HLS-FJSP’s results on Brandimarte instances (average of 10 runs).
InstanceSizeUBDRL-SDRL-S+OURS
CmaxPDTimeCmaxPDTime
Mk0110 × 63942.0 ± 0.07.69%1.3 ± 0.142.0 ± 0.07.69%48.8 ± 4.5
Mk0210 × 62635.8 ± 0.637.69%1.2 ± 0.132.7 ± 0.525.77%123.6 ± 27.4
Mk0315 × 8204204.0 ± 0.00.00%3.7 ± 0.2204.0 ± 0.00.00%181.6 ± 45.1
Mk0415 × 86070.0 ± 1.616.67%2.1 ± 0.269.8 ± 1.516.33%104.0 ± 14.2
Mk0515 × 4172181.4 ± 1.95.47%2.4 ± 0.2181.4 ± 1.95.47%138.7 ± 21.5
Mk0615 × 105889.2 ± 2.453.79%3.7 ± 0.287.3 ± 3.250.52%370.9 ± 75.4
Mk075 × 20139190.8 ± 2.537.27%2.1 ± 0.1157.6 ± 2.713.38%236.7 ± 49.9
Mk0810 × 20523523.0 ± 0.00.00%6.3 ± 0.3523.0 ± 0.00.00%298.5 ± 22.7
Mk0910 × 20307319.5 ± 2.94.07%6.8 ± 0.3319.5 ± 2.94.07%427.9 ± 70.3
Mk1015 × 20197254.1 ± 1.628.98%6.7 ± 0.3254.1 ± 1.628.98%448.7 ± 43.5
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60]; “OURS” represents the proposed HLS-FJSP method; “DRL-S+OURS” denotes the hybrid approach where the schedules obtained by DRL-S are utilized as the initial solutions and further optimized by HLS-FJSP.
Table 8. Single-strategy variants and HLS-FJSP’s results on Brandimarte instances (average of 10 runs).
Table 8. Single-strategy variants and HLS-FJSP’s results on Brandimarte instances (average of 10 runs).
InstanceSizeUBHLS-GSHLS-GAHLS-TSOURS
CmaxTimeCmaxTimeCmaxTimeCmaxTime
Mk0110 × 63998.0 ± 0.01.2 ± 0.442.0 ± 0.0180.1 ± 14.777.0+0.0275.4 ± 16.042.0 ± 0.0179.2 ± 13.3
Mk0210 × 62688.0 ± 0.012.4 ± 1.832.3 ± 0.7402.0 ± 101.463.0 ± 0.0369.6 ± 28.732.3 ± 0.9422.7 ± 106.2
Mk0315 × 8204617.0 ± 0.0108.9 ± 7.8204.0 ± 0.0882.7 ± 246.5516.0 ± 0.01861.8 ± 32.1204.2 ± 0.6861.0 ± 162.7
Mk0415 × 860246.0 ± 0.07.9 ± 1.572.5 ± 1.0556.9 ± 113.6164.0 ± 0.0546.2 ± 41.772.8 ± 1.2420.1 ± 96.2
Mk0515 × 4172455.0 ± 0.09.0 ± 1.9190.7 ± 1.6627.9 ± 160.0406.0 ± 0.0845.0 ± 38.6188.7 ± 3.7676.4 ± 173.7
Mk0615 × 1058459.0 ± 0.014.7 ± 1.888.8 ± 1.1905.9 ± 202.4222.0 ± 0.02637.1 ± 27.985.9 ± 2.61199.9 ± 67.4
Mk075 × 20139645.0 ± 0.02.9 ± 1.0163.4 ± 2.0551.5 ± 95.7309.0 ± 0.0801.6 ± 40.0159.0 ± 3.8748.4 ± 125.0
Mk0810 × 205232133.0 ± 0.014.6 ± 1.8541.6 ± 1.91209.2 ± 218.91961.0 ± 0.03521.9 ± 122.5538.0 ± 6.41175.6 ± 182.9
Mk0910 × 203071772.0 ± 0.071.0 ± 2.8400.9 ± 6.71271.8 ± 205.31396.0 ± 0.04435.4 ± 80.7397.1 ± 8.21435.7 ± 252.7
Mk1015 × 201971310.0 ± 0.0278.1 ± 10.8317.0 ± 6.81300.2 ± 262.7944.0 ± 0.04366.0 ± 91.9290.5 ± 5.81812.2 ± 237.7
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60]; “OURS” represents the proposed HLS-FJSP method.
Table 9. Dual-strategy variants and HLS-FJSP’s results on Brandimarte instances (average of 10 runs).
Table 9. Dual-strategy variants and HLS-FJSP’s results on Brandimarte instances (average of 10 runs).
InstanceSizeUBHLS-GSTSHLS-GATSHLS-GSGAOURS
CmaxTimeCmaxTimeCmaxTimeCmaxTime
Mk0110 × 63977.0 ± 0.0112.9 ± 17.942.0 ± 0.0201.7 ± 18.942.0 ± 0.0202.1 ± 8.342.0 ± 0.0179.2 ± 13.3
Mk0210 × 62662.5 ± 0.5187.7 ± 19.631.8 ± 0.8540.5 ± 137.132.1 ± 0.6408.3 ± 59.732.3 ± 0.9422.7 ± 106.2
Mk0315 × 8204516.0 ± 0.0977.8 ± 29.2204.0 ± 0.0831.8 ± 182.9204.1 ± 0.3889.6 ± 135.0204.2 ± 0.6861.0 ± 162.7
Mk0415 × 860162.5 ± 1.6247.7 ± 29.973.1 ± 0.7530.8 ± 98.172.8 ± 1.7559.0 ± 144.472.8 ± 1.2420.1 ± 96.2
Mk0515 × 4172405.5 ± 0.5411.3 ± 32.8189.1 ± 1.9777.9 ± 131.9189.0 ± 2.8591.5 ± 85.2188.7 ± 3.7676.4 ± 173.7
Mk0615 × 1058222.0 ± 0.01458.3 ± 36.283.9 ± 2.31515.5 ± 220.987.8+1.7975.6 ± 171.885.9 ± 2.61199.9 ± 67.4
Mk075 × 20139308.6 ± 0.8371.1 ± 39.7158.1 ± 3.31007.1 ± 262.8161.2 ± 2.8659.0 ± 120.3159.0 ± 3.8748.4 ± 125.0
Mk0810 × 205231961.0 ± 0.01974.9 ± 24.6540.9 ± 3.81634.6 ± 347.2539.5 ± 5.21238.4 ± 239.9538.0 ± 6.41175.6 ± 182.9
Mk0910 × 203071396.0 ± 0.02695.2 ± 37.2402.3 ± 6.51853.2 ± 319.2400.1 ± 5.51416.5 ± 347.7397.1 ± 8.21435.7 ± 252.7
Mk1015 × 20197944.3 ± 1.02651.1 ± 24.8295.0 ± 8.32176.8 ± 317.9311.3 ± 8.71530.9 ± 256.1290.5 ± 5.81812.2 ± 237.7
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60]; “OURS” represents the proposed HLS-FJSP method.
Table 10. Alt-1 and HLS-FJSP’s results on Brandimarte instances (average of 10 runs).
Table 10. Alt-1 and HLS-FJSP’s results on Brandimarte instances (average of 10 runs).
InstanceSizeUBAlt-1OURS
CmaxTimeCmaxTime
Mk0110 × 63942.0 ± 0.0126.0 ± 25.842.0 ± 0.0179.2 ± 13.3
Mk0210 × 62631.9 ± 0.7322.2 ± 120.132.3 ± 0.9422.7 ± 106.2
Mk0315 × 8204204.4 ± 0.8516.8 ± 126.5204.2 ± 0.6861.0 ± 162.7
Mk0415 × 86073.5 ± 0.9329.9 ± 93.872.8 ± 1.2420.1 ± 96.2
Mk0515 × 4172188.5 ± 3.5418.9 ± 97.1188.7 ± 3.7676.4 ± 173.7
Mk0615 × 105888.0 ± 2.81277.2 ± 587.185.9 ± 2.61199.9 ± 67.4
Mk075 × 20139161.0 ± 5.4493.0 ± 148.3159.0 ± 3.8748.4 ± 125.0
Mk0810 × 20523542.2 ± 7.61688.3 ± 915.0538.0 ± 6.41175.6 ± 182.9
Mk0910 × 20307394.0 ± 11.11848.4 ± 774.5397.1 ± 8.21435.7 ± 252.7
Mk1015 × 20197302.9 ± 11.32113.6 ± 811.4290.5 ± 5.81812.2 ± 237.7
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60]; “OURS” represents the proposed HLS-FJSP method.
Table 11. Sensitivity analysis of parameter α on Brandimarte instances (average of 10 runs).
Table 11. Sensitivity analysis of parameter α on Brandimarte instances (average of 10 runs).
InstanceSizeUBα = 0.1α = 0.3α = 0.5α = 0.7α = 0.9
CmaxTimeCmaxTimeCmaxTimeCmaxTimeCmaxTime
Mk0110 × 63942.0 ± 0.0108.7 ± 22.742.0 ± 0.0153.6 ± 21.642.0 ± 0.0179.2 ± 13.341.9 ± 0.3114.8 ± 32.942.0 ± 0.0113.9 ± 22.4
Mk0210 × 62631.4 ± 1.1288.4 ± 89.431.4 ± 0.7400.6 ± 73.032.3 ± 0.9422.7 ± 106.232.4 ± 0.7285.4 ± 92.332.3 ± 0.8260.9 ± 52.7
Mk0315 × 8204204.4 ± 0.8672.4 ± 130.1204.2 ± 0.6792.7 ± 225.2204.2 ± 0.6861.0 ± 162.7204.0 ± 0.0598.2 ± 101.8204.8 ± 1.6498.4 ± 151.7
Mk0415 × 86073.2 ± 1.4305.5 ± 86.472.9 ± 1.0324.8 ± 101.472.8 ± 1.2420.1 ± 96.273.0 ± 1.2312.5 ± 111.572.5 ± 1.7340.0 ± 96.5
Mk0515 × 4172188.2 ± 3.2416.1 ± 107.2186.9 ± 2.8531.6 ± 144.2188.7 ± 3.7676.4 ± 173.7187.9 ± 2.0393.3 ± 56.3187.1 ± 2.6418.4 ± 50.0
Mk0615 × 105886.5 ± 2.6816.7 ± 180.386.0 ± 2.41026.3 ± 233.685.9 ± 2.61199.9 ± 67.484.7 ± 1.8780.5 ± 111.084.7 ± 3.0826.4 ± 176.2
Mk075 × 20139157.9 ± 4.0503.1 ± 88.5156.5 ± 2.9660.0 ± 157.1159.0 ± 3.8748.4 ± 125.0160.9 ± 3.6447.7 ± 138.7159.6 ± 3.2482.2 ± 68.2
Mk0810 × 20523540.6 ± 5.4918.6 ± 220.3539.1 ± 6.01079.8 ± 288.5538.0 ± 6.41175.6 ± 182.9541.5 ± 6.9779.2 ± 119.7537.8 ± 7.0841.7 ± 166.4
Mk0910 × 20307394.9 ± 10.61163.4 ± 216.9393.3 ± 8.11269.4 ± 254.8397.1 ± 8.21435.7 ± 252.7398.6 ± 5.6991.1 ± 200.1396.1 ± 9.61042.8 ± 241.2
Mk1015 × 20197299.1 ± 7.21435.1 ± 153.0298.1 ± 8.81588.9 ± 276.1290.5 ± 5.81812.2 ± 237.7295.3 ± 10.61344.6 ± 295.0302.2 ± 8.61306.6 ± 269.4
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60].
Table 12. Sensitivity analysis of parameter β on Brandimarte instances (average of 10 runs).
Table 12. Sensitivity analysis of parameter β on Brandimarte instances (average of 10 runs).
InstanceSizeUBβ = 0.1β = 0.3β = 0.5β = 0.7β = 0.9
CmaxTimeCmaxTimeCmaxTimeCmaxTimeCmaxTime
Mk0110 × 63942.0 ± 0.0111.4 ± 25.442.0 ± 0.087.8 ± 13.842.0 ± 0.0179.2 ± 13.342.0 ± 0.095.7 ± 11.142.0 ± 0.0111.0 ± 23.8
Mk0210 × 62631.9 ± 1.3347.9 ± 121.531.7 ± 0.7265.3 ± 48.332.3 ± 0.9422.7 ± 106.231.7 ± 1.1242.4 ± 83.531.8 ± 1.3262.8 ± 92.6
Mk0315 × 8204204.4 ± 0.8532.1 ± 137.9204.1 ± 0.3483.6 ± 122.4204.2 ± 0.6861.0 ± 162.7204.0 ± 0.0460.5 ± 77.3204.0 ± 0.0636.3 ± 249.4
Mk0415 × 86072.3 ± 2.0340.5 ± 113.072.5 ± 1.2269.4 ± 65.472.8 ± 1.2420.1 ± 96.272.9 ± 1.5295.9 ± 102.572.6 ± 1.4305.6 ± 151.6
Mk0515 × 4172188.3 ± 4.2424.2 ± 103.9188.9 ± 2.4349.3 ± 57.9188.7 ± 3.7676.4 ± 173.7186.5 ± 2.4357.7 ± 112.0187.3 ± 3.9446.7 ± 194.5
Mk0615 × 105884.3 ± 3.01022.1 ± 235.686.8 ± 1.9726.2 ± 137.885.9 ± 2.61199.9 ± 67.485.7 ± 2.8684.9 ± 151.885.2 ± 1.8739.2 ± 235.0
Mk075 × 20139159.8 ± 4.1501.2 ± 97.2160.0 ± 3.2362.4 ± 74.9159.0 ± 3.8748.4 ± 125.0158.6 ± 2.6407.2 ± 84.3158.8 ± 2.7475.4 ± 151.8
Mk0810 × 20523542.2 ± 3.7824.5 ± 227.0544.5 ± 6.5626.0 ± 113.5538.0 ± 6.41175.6 ± 182.9541.0 ± 4.2779.6 ± 346.2541.4 ± 5.4948.5 ± 240.6
Mk0910 × 20307401.8 ± 7.31068.5 ± 304.6387.1 ± 5.91037.3 ± 146.8397.1 ± 8.21435.7 ± 252.7390.2 ± 10.71031.9 ± 347.6397.3 ± 6.01015.6 ± 300.4
Mk1015 × 20197297.4 ± 7.31415.9 ± 224.3297.4 ± 6.91285.3 ± 152.4290.5 ± 5.81812.2 ± 237.7295.2 ± 12.21263.5 ± 220.2293.4 ± 6.71164.9 ± 162.7
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60].
Table 13. Sensitivity analysis of parameter r on Brandimarte instances (average of 10 runs).
Table 13. Sensitivity analysis of parameter r on Brandimarte instances (average of 10 runs).
InstanceSizeUBr = 25r = 50r = 100r = 150r = 200
CmaxTimeCmaxTimeCmaxTimeCmaxTimeCmaxTime
Mk0110 × 63942.0 ± 0.028.7 ± 5.942.0 ± 0.054.2 ± 11.542.0 ± 0.0179.2 ± 13.342.0 ± 0.0168.5 ± 54.142.0 ± 0.0190.0 ± 18.6
Mk0210 × 62632.6 ± 1.173.4 ± 31.231.9 ± 1.5142.8 ± 34.332.3 ± 0.9422.7 ± 106.231.3 ± 0.8473.1 ± 149.631.7 ± 1.2523.6 ± 130.0
Mk0315 × 8204204.0 ± 0.0155.4 ± 44.6204.2 ± 0.4293.8 ± 67.4204.2 ± 0.6861.0 ± 162.7204.0 ± 0.0776.8 ± 171.1204.0 ± 0.0973.9 ± 174.2
Mk0415 × 86073.4 ± 1.565.8 ± 18.073.4 ± 0.8162.1 ± 50.872.8 ± 1.2420.1 ± 96.272.1 ± 2.0410.9 ± 123.671.6 ± 1.2580.6 ± 111.0
Mk0515 × 4172189.9 ± 3.994.0 ± 30.8188.6 ± 3.4219.4 ± 85.3188.7 ± 3.7676.4 ± 173.7188.1 ± 2.6635.2 ± 235.7187.6 ± 2.4775.2 ± 135.3
Mk0615 × 105885.8 ± 2.6257.2 ± 60.885.8 ± 2.7422.8 ± 102.385.9 ± 2.61199.9 ± 67.485.5 ± 3.91218.6 ± 390.886.0 ± 1.91461.1 ± 153.4
Mk075 × 20139161.1 ± 3.5122.7 ± 28.6159.2 ± 3.9254.9 ± 61.4159.0 ± 3.8748.4 ± 125.0157.6 ± 2.8684.2 ± 249.4160.4 ± 4.9735.5 ± 133.7
Mk0810 × 20523544.5 ± 6.7283.6 ± 76.1542.2 ± 6.8372.4 ± 100.4538.0 ± 6.41175.6 ± 182.9539.6 ± 4.11218.7 ± 317.9541.2 ± 3.11441.7 ± 258.9
Mk0910 × 20307400.9 ± 7.3296.9 ± 108.3398.3 ± 7.2571.2 ± 162.3397.1 ± 8.21435.7 ± 252.7398.5 ± 4.21411.2 ± 208.2394.9 ± 6.91855.1 ± 301.4
Mk1015 × 20197295.0 ± 9.6384.0 ± 112.5301.1 ± 14.1718.9 ± 165.3290.5 ± 5.81812.2 ± 237.7294.8 ± 6.62020.8 ± 309.4299.2 ± 7.52384.5 ± 248.9
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60].
Table 14. Sensitivity analysis of parameter δ on Brandimarte instances (average of 10 runs).
Table 14. Sensitivity analysis of parameter δ on Brandimarte instances (average of 10 runs).
InstanceSizeUBδ = 20δ = 25δ = 30δ = 35δ = 40
CmaxTimeCmaxTimeCmaxTimeCmaxTimeCmaxTime
Mk0110 × 63942.0 ± 0.079.8 ± 14.342.0 ± 0.098.6 ± 21.942.0 ± 0.0179.2 ± 13.342.0 ± 0.0114.0 ± 10.241.9 ± 0.3161.1 ± 30.7
Mk0210 × 62632.3 ± 1.3210.4 ± 42.432.9 ± 0.9229.1 ± 44.832.3 ± 0.9422.7 ± 106.231.5 ± 1.5333.7 ± 81.731.5 ± 1.0392.1 ± 97.7
Mk0315 × 8204204.4 ± 0.7468.4 ± 110.9204.1 ± 0.3513.6 ± 126.2204.2 ± 0.6861.0 ± 162.7204.1 ± 0.3660.4 ± 139.4204.0 ± 0.0684.3 ± 136.7
Mk0415 × 86073.8 ± 1.2240.4 ± 62.472.8 ± 0.8221.7 ± 57.372.8 ± 1.2420.1 ± 96.272.4 ± 1.3332.6 ± 114.972.0 ± 1.1365.3 ± 85.7
Mk0515 × 4172190.4 ± 3.3244.5 ± 47.4189.4 ± 2.4329.6 ± 41.1188.7 ± 3.7676.4 ± 173.7187.2 ± 2.6482.6 ± 101.4186.1 ± 2.3460.9 ± 125.6
Mk0615 × 105886.9 ± 1.9645.7 ± 148.086.1 ± 3.5753.8 ± 149.185.9 ± 2.61199.9 ± 67.484.2 ± 2.61052.4 ± 303.185.9 ± 2.81053.9 ± 249.4
Mk075 × 20139158.1 ± 6.5357.3 ± 65.6159.1 ± 3.6400.7 ± 124.3159.0 ± 3.8748.4 ± 125.0158.5 ± 2.8531.0 ± 141.7156.3 ± 3.6594.5 ± 124.0
Mk0810 × 20523543.9 ± 8.6601.8 ± 128.5545.2 ± 4.2730.8 ± 190.7538.0 ± 6.41175.6 ± 182.9537.6 ± 3.61025.5 ± 330.2536.0 ± 6.31203.0 ± 435.8
Mk0910 × 20307398.5 ± 8.0797.6 ± 119.6397.5 ± 9.1973.1 ± 241.9397.1 ± 8.21435.7 ± 252.7394.6 ± 7.21441.1 ± 225.1389.5 ± 6.01332.4 ± 233.9
Mk1015 × 20197301.4 ± 9.11085.4 ± 136.3292.0 ± 8.11222.2 ± 206.0290.5 ± 5.81812.2 ± 237.7293.7 ± 11.11716.7 ± 277.8291.1 ± 9.71709.2 ± 255.3
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60].
Table 15. Sensitivity analysis of parameter p n on Brandimarte instances (average of 10 runs).
Table 15. Sensitivity analysis of parameter p n on Brandimarte instances (average of 10 runs).
InstanceSizeUBpn = 10pn = 15pn = 20pn = 25pn = 30
CmaxTimeCmaxTimeCmaxTimeCmaxTimeCmaxTime
Mk0110 × 63942.0 ± 0.065.2 ± 11.342.0 ± 0.091.0 ± 24.942.0 ± 0.0179.2 ± 13.342.0 ± 0.0140.7 ± 30.441.9 ± 0.3173.8 ± 53.6
Mk0210 × 62631.9 ± 1.2202.9 ± 32.632.1 ± 0.7236.3 ± 55.232.3 ± 0.9422.7 ± 106.232.0 ± 1.3345.1 ± 63.931.5 ± 0.7438.8 ± 143.7
Mk0315 × 8204205.1 ± 1.7338.7 ± 68.0204.1 ± 0.3472.7 ± 95.9204.2 ± 0.6861.0 ± 162.7204.1 ± 0.3611.5 ± 142.1204.0 ± 0.0656.8 ± 112.2
Mk0415 × 86072.4 ± 1.4197.3 ± 61.772.8 ± 1.4220.5 ± 53.472.8 ± 1.2420.1 ± 96.273.1 ± 0.9372.2 ± 128.572.7 ± 1.0387.6 ± 85.7
Mk0515 × 4172188.2 ± 3.5243.8 ± 48.1186.3 ± 2.2342.9 ± 62.9188.7 ± 3.7676.4 ± 173.7187.8 ± 3.0482.6 ± 151.4188.5 ± 2.2513.8 ± 174.2
Mk0615 × 105885.5 ± 4.3554.3 ± 76.085.9 ± 1.7749.9 ± 197.785.9 ± 2.61199.9 ± 67.485.6 ± 2.1878.3 ± 186.184.7 ± 2.21069.0 ± 130.9
Mk075 × 20139157.4 ± 3.2282.1 ± 56.1159.8 ± 3.2354.6 ± 73.2159.0 ± 3.8748.4 ± 125.0157.2 ± 4.9575.5 ± 104.7159.5 ± 3.0686.8 ± 186.4
Mk0810 × 20523543.1 ± 3.0480.3 ± 124.1540.6 ± 5.4648.4 ± 146.9538.0 ± 6.41175.6 ± 182.9537.5 ± 5.21060.8 ± 248.0533.9 ± 6.01166.4 ± 197.0
Mk0910 × 20307398.2 ± 7.8665.6 ± 111.8399.4 ± 10.0887.6 ± 245.8397.1 ± 8.21435.7 ± 252.7396.2 ± 11.41151.5 ± 248.2394.0 ± 7.31408.9 ± 346.0
Mk1015 × 20197297.0 ± 12.3985.2 ± 231.9298.7 ± 9.21123.3 ± 141.7290.5 ± 5.81812.2 ± 237.7294.4 ± 11.21587.8 ± 343.3293.3 ± 10.51681.5 ± 160.5
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60].
Table 16. Sensitivity analysis of parameter L on Brandimarte instances (average of 10 runs).
Table 16. Sensitivity analysis of parameter L on Brandimarte instances (average of 10 runs).
InstanceSizeUBL = 15L = 20L = 25L = 30L = 35
CmaxTimeCmaxTimeCmaxTimeCmaxTimeCmaxTime
mk0110 × 63942.0 ± 0.0113.1 ± 16.242.0 ± 0.099.1 ± 8.742.0 ± 0.0179.2 ± 13.342.0 ± 0.0100.7 ± 10.742.0 ± 0.0121.6 ± 16.4
mk0210 × 62632.3 ± 1.7272.3 ± 63.231.8 ± 1.3287.8 ± 60.032.3 ± 0.9422.7 ± 106.232.2 ± 0.6266.7 ± 74.231.9 ± 1.2258.0 ± 64.2
mk0315 × 8204204.2 ± 0.6547.2 ± 120.5204.2 ± 0.6622.5 ± 143.6204.2 ± 0.6861.0 ± 162.7204.0 ± 0.0498.1 ± 102.2204.9 ± 1.9546.3 ± 121.4
mk0415 × 86071.9 ± 1.7288.9 ± 80.472.9 ± 0.9274.8 ± 50.472.8 ± 1.2420.1 ± 96.272.7 ± 1.3267.3 ± 78.472.7 ± 1.6278.1 ± 87.7
mk0515 × 4172187.4 ± 2.6372.7 ± 106.7187.2 ± 2.8412.2 ± 85.8188.7 ± 3.7676.4 ± 173.7186.9 ± 3.0409.5 ± 167.1188.7 ± 1.9419.5 ± 139.3
mk0615 × 105886.4 ± 1.7769.3 ± 182.186.0 ± 3.4818.4 ± 125.585.9 ± 2.61199.9 ± 67.485.2 ± 3.3785.6 ± 196.086.1 ± 1.4827.6 ± 102.0
mk075 × 20139158.7 ± 4.2443.6 ± 81.7160.1 ± 3.7504.9 ± 90.5159.0 ± 3.8748.4 ± 125.0159.0 ± 2.9498.3 ± 139.1158.2 ± 4.1501.5 ± 108.1
mk0810 × 20523542.9 ± 4.8703.1 ± 155.9536.3 ± 6.6973.8 ± 226.5538.0 ± 6.41175.6 ± 182.9538.6 ± 3.3753.0 ± 188.6540.3 ± 4.0755.2 ± 115.2
mk0910 × 20307394.1 ± 9.51053.4 ± 139.0393.9 ± 11.81166.5 ± 262.6397.1 ± 8.21435.7 ± 252.7392.9 ± 11.81012.1 ± 247.5394.0 ± 6.8955.7 ± 213.9
mk1015 × 20197296.6 ± 10.01239.3 ± 104.8291.1 ± 11.21480.7 ± 212.8290.5 ± 5.81812.2 ± 237.7295.6 ± 9.91406.2 ± 418.5297.7 ± 7.41406.7 ± 247.7
Note: “UB” is the best-known upper bound (makespan) for each instance from Behnke and Geiger (2012) [60].
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Luo, P.; Zhao, X.; Zhang, L.; Luo, C. An Effective Hybrid Local Search Method for Flexible Job-Shop Scheduling Problem in Smart Manufacturing Systems. Electronics 2026, 15, 2465. https://doi.org/10.3390/electronics15112465

AMA Style

Luo P, Zhao X, Zhang L, Luo C. An Effective Hybrid Local Search Method for Flexible Job-Shop Scheduling Problem in Smart Manufacturing Systems. Electronics. 2026; 15(11):2465. https://doi.org/10.3390/electronics15112465

Chicago/Turabian Style

Luo, Pingwei, Xiaoran Zhao, Linlin Zhang, and Chuan Luo. 2026. "An Effective Hybrid Local Search Method for Flexible Job-Shop Scheduling Problem in Smart Manufacturing Systems" Electronics 15, no. 11: 2465. https://doi.org/10.3390/electronics15112465

APA Style

Luo, P., Zhao, X., Zhang, L., & Luo, C. (2026). An Effective Hybrid Local Search Method for Flexible Job-Shop Scheduling Problem in Smart Manufacturing Systems. Electronics, 15(11), 2465. https://doi.org/10.3390/electronics15112465

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