Previous Article in Journal
Hybrid NMPC-ESO-PINSE Approach for Liquid Level Control in a Nonlinear Four-Tank System: Integration of Deep Learning and Extended State Observation Under Stochastic Uncertainties
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel Genetic Algorithm for the Dual-Resource Flexible Job Shop Scheduling Problem with Partial Resource Allocation

IDMEC, Instituto Superior Técnico, Universidade de Lisboa, 1049-001 Lisboa, Portugal
*
Author to whom correspondence should be addressed.
Automation 2026, 7(3), 99; https://doi.org/10.3390/automation7030099 (registering DOI)
Submission received: 30 April 2026 / Revised: 10 June 2026 / Accepted: 12 June 2026 / Published: 20 June 2026
(This article belongs to the Section Intelligent Control and Machine Learning)

Abstract

This paper proposes a genetic algorithm (GA) for the Dual-Resource Flexible Job Shop Scheduling Problem with Partial Resource Allocation (DRFJSSP-PRA), a particular variant of a dual-resource constrained scheduling problem that has not been fully explored due to its intricate nature. The DRFJSSP-PRA poses a challenging scheduling problem, having several applications in many industries, including food, chemistry and pharmaceutics. The proposed algorithm is applied to real-world scheduling instances in pharmaceutical quality control. The objective function considered is the total completion time. The GA is compared with three state-of-the-art algorithms. For small- and medium-size instances, the proposed algorithm achieves optimal or near optimal results for the majority of the instances tested. For large-sized instances, the proposed GA outperforms all the other algorithms, in all of the tested instances. Thus, the experimental results show that the proposed GA achieves competitive results for any type of instance. The proposed algorithm also has the ability to optimize production processes through scheduling, leading to potential cost savings, increased efficiency, and improved competitiveness.

1. Introduction

Scheduling has made significant progress over time, enabling the creation of increasingly complex systems that can handle more activities and more operations. This is particularly important for managing manufacturing systems that rely on advanced technology and machinery [1]. Manufacturing companies are facing a digital transformation, known as smart manufacturing [2], which has enabled strong interconnectedness between countries, goods, and individuals, resulting in a fast-paced, globalized world. This has led to rapidly changing consumer demands that require fast adaptability from industries to remain competitive and accommodate increased customization. Consequently, the era of mass production has led to a focus on mass customization [3].
Mass customization has become increasingly important in the industrial context due to the growing demand for highly customized products in small batch sizes. This requires manufacturing systems to have modularization, agility, robustness, adaptability, and flexibility to efficiently respond to market demands [4]. To address this, cutting-edge technologies such as the internet of things, machine learning, and artificial intelligence have been introduced to support mass customization [5]. These developments have pushed manufacturing systems to become more flexible and dynamic, requiring innovative solutions that can provide short-term responses, quality, and efficiency to respond to constantly changing markets. As a result, manufacturers are adopting these advanced technologies to satisfy customer preferences, optimize production processes, and design customized products that meet individual customer needs [1].
Scheduling plays a crucial role in the success of mass customization, as it allows manufacturers to efficiently manage and optimize production processes to meet the unique needs and preferences of individual customers [6]. Effective scheduling is essential to ensure that production processes are properly coordinated and that resources are allocated efficiently. For this purpose, it is necessary to develop a detailed plan that outlines the tasks and activities that need to be performed, as well as the resources required to complete them. This plan should be flexible and adaptable to accommodate changes in customer demand and production constraints. These ever-changing customer needs and aspirations are what drives the transition from Industry 4.0 to Industry 5.0 [1], which aims to develop and reinforce its three pillars: human-centricity, sustainability and resilience [7].
Dual-Resource Flexible Job Shop Scheduling (DRFJSSP) has emerged due to the need for flexible and human-centric scheduling. This problem involves scheduling a set of jobs on machines, where both machines and human workers (operators) are considered critical resources. The DRFJSSP has the need to simultaneously allocate dual resources (machines and operators) in a flexible job shop environment, where jobs can be processed on multiple machines with varying characteristics. This flexibility introduces a high degree of complexity into the scheduling process. The addition of Partial Resource Allocation (PRA) comes from the necessity of certain industries to allocate human resources partially (rather than fully) to the manufacturing process. The DRFJSSP-PRA is a challenging scheduling problem that has practical applications in various manufacturing industries, including food, chemistry, and pharmaceutics [8,9].
This paper proposes a modified genetic algorithm to solve the DRFJSSP-PRA. The main contributions of this paper are
  • A detailed and interpretable explanation of the DRFJSSP-PRA.
  • An improved genetic algorithm to solve the DRFJSSP-PRA.
  • Application to real-world instances in the context of quality control for pharmaceutical manufacturing.
  • Robustness and scalability of the proposed algorithm to deal with instances of different characteristics.
  • Enhanced performance compared to state-of-the-art optimization methods.
The remainder of this paper is organized as follows: Section 2 provides a review of the literature on dual-resource scheduling. Section 3 presents the mathematical formulation of DRFJSSP-PRA and introduces the instances used for the research work. Section 4 presents in detail the proposed genetic algorithm to solve DRFJSSP-PRA. Section 5 desribes the experiments applied in the paper. Section 6 presents the experimental results and discusses the performance of the proposed algorithm. Finally, Section 7 summarizes the contributions of the article and discusses possible future research directions.

2. Literature Review

Job shop scheduling (JSS) is a well-established and extensively explored field [10,11]. However, Dual-Resource Flexible Job Shop Scheduling (DRFJSS) is more specific, but still quite general, and much more complex than JSS. Therefore, it is not explored as much as JSS [12]. The limited availability of publications in DRFJSS emphasizes the early stage of research development in this particular scheduling domain [13].

2.1. Dual-Resource Flexible Job Shop Problem

Genetic algorithms have been used to solve the DRFJSSP at least since 2000, when the problem was formulated with machines set in work-centers of a 2 × 2 formation; see [14].
Flexibility in labor often incurs elevated costs due to the necessity for extensive training. Felan and Fry [15] explored the impact of implementing varying levels of training throughout the workforce, specifically focusing on multi-level heterogeneous flexibility. Their findings demonstrated that a blend of highly flexible workers and those without flexibility outperformed groups with nearly equal levels of flexibility. Later, Yue et al. [16] investigated cross-training policies in which workers were required to learn new skills, as additional parts were added to the system. Moreover, if workers stopped performing a certain job for a significant period of time, a forgetting model would be implemented to simulate the time it would take them to perform it, once they were assigned to that job again. This curve reflected the experience they had gathered and the time they had stopped doing the given work.
When the objective function considered for the DRFJSSP is the makespan, several meta-heuristics have proven to yield quality results in solving DRFJSSP. For instance, Xianzhou and Zhenhe [17] presented a new Immune GA, which proved to have a higher level of convergence when solving the DRFJSSP, by merging immune and genetic algorithms. Another approach proposed by Lei and Guo [18] used a Variable Neighborhood Search (VNS) consisting of two neighborhood search procedures and a restart mechanism. Simulated Annealing (SA) and Vibration Damping Optimization (VDO) algorithms have also been used to minimize the makespan [19].
Beyond makespan, other cost functions have been considered. Isa et al. [20] developed a GA algorithm using indirect chromosome representation with two layers to reduce delays. Another approach was given in [11], where Particle Swarm Optimization (PSO) with a three layer encoding scheme was introduced to reduce the production period and the cost. In [21], the minimization of both the makespan and the total processing cost was considered, which used a branch population GA, based on a compressed time-window scheduling strategy. Further, Andrade-Pineda et al. [22] proposed a solution for an automobile collision repair shop, where re-scheduling needs, including due-date changes, delay in arrival, changes in job processing time and rush jobs, were addressed using MILP and an Iterated Greedy Constructive Heuristic.
Regarding GA improvement, Akbar and Irohara [23] proposed a modified permutation-based GA that performed better than five metaheuristics in the DRFJSSP. Zhang et al. [24] proposed a quantum genetic algorithm for the workshop production process, taking into account different technical levels of workers.
A particular case of studies includes the loading and unloading times of fixtures, considering the influence of resource requirement similarity among different operations, as well as the time to shift workers between assignments. Wu et al. [25] used a similarity-based scheduling algorithm for setup-time reduction and introduced an improved non-dominated sorting genetic algorithm II (NSGA-II) to optimize the DRFJSSP when loading and unloading fixtures.
Vital-Soto et al. [26] also used NSGA-II to effectively balance machine and worker assignments, minimizing make-up, workload, and tardiness, providing a pragmatic solution for industrial scheduling complexities. Yu et al. [27] tackled the distributed hybrid flow shop scheduling problem (DHFSSP) prevalent in modern manufacturing systems, integrating DHFSSP, the assembly shop problem (ASP), and dual-resource constraints to minimize total tardiness. Barak et al. [28] tackled the dual-resource constrained flexible job shop scheduling problem with sequence-dependent setup times using the multi-objective invasive weed optimization (MOIWO) algorithm, enhanced by a fuzzy sorting algorithm for competitive exclusion.

2.2. Partial Resource Allocation

The research work presented in the previous Section 2.1 does not account for the subproblem of Partial Resource Allocation, in which workers can concurrently engage in multiple tasks, while ensuring their presence only during specific time instances on the assigned machine for each job. These time instances correspond to critical phases of quality control in the pharmaceutical industry, such as setup, intermediate tasks, and disassembly or data processing tasks. Additionally, none of the previous studies allow workers to leave the designated machine unattended during task execution.
The DRFJSSP with Partial Resource Allocation was formulated as mixed integer linear programming (MILP) for quality control laboratory scheduling, minimizing the makespan in [29]. Branch-and-cut was used to solve the problem. The obtained solution could only reach the optimum for small instances where the number of jobs considered was equal to or less than three.
To circumvent these problems, another MILP formulation was proposed in [9]. This new problem was solved with a three-level dynamic heuristic, which was compared with a hybrid tabu-search algorithm. The results showed that the three-level heuristic is a better approach for dynamic scenarios due to its computational efficiency.

3. Formulation of Dual-Resource Flexible Job Shop Scheduling with Partial Resource Allocation

The formulation of the DRFJSSP is an extension of the classical FJSS problem and a derivation of the multi-resource constraint FJSS problem, and it includes three subproblems according to [12], namely,
  • Assigning operations to machines;
  • Assigning operations to workers;
  • Sequencing the operations on the machines considering workers in order to optimize the performance measure.
  • Beyond this, DRFJSSP-PRA also need to deal with Partial Resource Allocation. It is now necessary to assign a worker in distinct predetermined intervals during the processing time of a machine. Note that this worker is available for interventions in other operations between intervals. Figure 1 presents the problem under study.

3.1. Mathematical Formulation

The mathematical formulation for the DRFJSSP-PRA is based on [9]. In this paper, a simplification is proposed to increase the interpretability of sets, indices, parameters, and variables.
An instance of the DRFJSSP-PRA scheduling problem consists of a set of jobs, J = { 1 , , j , , n } , with n being the total number of jobs. The set of machines is represented by K = { 1 , , k , , m } , the set of workers by W = { 1 , , h , , w } and the set of operations by O j = { O 1 j , , O i j , , O o j j } for each job j where the number of operations in job j is o j . K i j K and W i j W are, respectively, the subsets of machines and workers that can process the operation i of the job j. Additionally, each operation can be divided by N i j individual tasks, s, that require a worker present, partially or fully.
Each operation is characterized by its processing time p i j , and each worker task by the start time u i j s and the duration time d i j s , both relative to the processing time of the operation p i j . The machine processing time is always greater than the sum of the duration of the worker tasks.
The main decision variables are the start time of the operation i of job j ( t i j R ), the binary assignment of operations ( O i j ) to a machine h ( x i j h { 0 , 1 } ) and to a worker h ( y i j h { 0 , 1 } ). Additionally, sequencing variables are required to avoid overlap between operations or tasks and respect precedences: a i j p q { 0 , 1 } is equal to 1 if O i j is scheduled before O p q , and it is 0 otherwise; and b i j s p q r { 0 , 1 } is equal to 1 if the task (worker intervention) s of O i j is scheduled before the task r of O p q , and it is 0 otherwise. The complete nomenclature can be found in Table 1.

3.1.1. Objective Function

The objective function of the problem is to minimize the total completion time J , where c j is the completion time of job j, i.e., the time required to complete the operations of that job.
min J = j J c j

3.1.2. Constraints

The completion time of each job, c j , must be greater than or equal to the completion time of the last operation of that job, i.e.,
c j t o j j + p o j j
Each test can only be assigned to one suitable machine, as in (3), and one suitable worker, as in (4):
k K x i j k = 1 , j J , i O j , k K i j
h W y i j k = 1 , j J , i O j , h W i j
The precedence between operations of the same job must be respected, as guaranteed in
t i j t ( i 1 ) j + p ( i 1 ) j
Constraints (6) and (7) ensure that there are no overlapping operations ( x i j k = x p q k = 1 ) for a machine k. For the sequencing of operations in machines, constraint (6) ensures that the start time ( t i j ) of any operation O i j is greater than or equal to the finish time ( t p q + p p q ) of any distinct operation O p q ( O i j O p q ) that is scheduled before ( a i j p q = 0 ) in the same machine ( x i j k = x p q k = 1).
t i j t p q + p p q ( 2 x i j k x p q k + a i j p q ) M , j J , i O j , p O q , O i j O p q , k K i j K p q
Similarly, constraint (7) guarantees that any operation O i j scheduled before ( a i j p q = 1 ) of any distinct operation O p q on the same machine ( x i j k = x p q k = 1) is finished before the latter starts.
t p q t i j + p i j ( 3 x i j k x p q k a i j p q ) M , j J , i O j , p O q , O i j O p q , k K i j K p q
To ensure that there are no overlapping tasks ( y i j h = y p q h = 1 ) for a worker h, constraints (8) and (9) are defined. For sequencing tasks for workers, constraint (8) ensures that the start time ( t i j + p i j s ) of a worker intervention task (s) in operation O i j is greater than or equal to the completion time ( t p q + u p q r + d p q r ) of any preceding task r that is scheduled before ( b i j s p q r = 0 ) for the same worker ( y i j k = y p q k = 1).
t i j + u i j s t p q + u p q r + d p q r ( 2 x i j h x p q h + b i j s p q r ) M ,   j J , i O j , p O q , O i j O p q , s , r N i j , h W i j
Similarly, constraint (9) guarantees that any worker intervention task (s) scheduled before ( b i j s p q r = 1 ) of any distinct task (r) for the same worker ( y i j k = y p q k = 1) is finished before the latter starts.
t p q + u p q r t i j + u i j s + d i j s ( 3 x i j h x p q h b i j s p q r ) M ,   j J , i O j , p O q , O i j O p q , s , r N i j , h W i j
The big M formulation is adopted for constraints (6)–(9) since these are disjunctive constraints.

4. Improved Genetic Algorithm

This paper proposes an improved genetic algorithm to solve the DRFJSSP-PRA. Genetic algorithms (GAs) are the metaheuristics that have been largely applied to the DRFJSSP, as presented in Section 2. Due to their adaptability and their ability to manage dual-resource constraints in an efficient way, GAs excel at finding high-quality solutions, while avoiding local optima due to the good balance between exploration and exploitation. Additionally, GAs can leverage parallel processing, aligning with future efforts to achieve faster convergence, and consistently demonstrate competitive performance across various problem sizes, showcasing their versatility and robustness.
The proposed GA follows the usual steps of genetic algorithms, see, e.g., [30], adding problem-specific implementations to solve the DRFJSSP-PRA. A flow chart of the improved GA is presented in Figure 2, and each step is described in the following sections.

4.1. Initialization of the Population

Three distinct approaches were developed using different algorithms to initialize the population:
  • Initial Job Population Randomization (IJPR): The aim of this method is to generate an initial population in the most straightforward way. To achieve this, the first step is to select an available job, and then randomly assign a machine and a worker capable of completing the task. To select each job, a job selection procedure is employed, which combines three distinct methods: random initialization ( w 1 ), longest processing time ( w 2 ), and a larger number of tests ( w 3 ). All three methods can only select from the pool of available tests. To determine which implementation to use, weights ( w 1 , w 2 , w 3 ) are assigned to each option, reflecting the probability of selecting each selection method, respectively. If multiple jobs meet the same conditions, one of them is randomly chosen.
  • Incremental Initial Population Worker Randomization (IIJWR): A worker is assigned to a job and a machine, and this worker is automatically assigned three time instances to that machine. The time in between these time instances is known as the idle gap, and the problem is best solved when this interval is minimized. This means finding a series of jobs that a worker can perform on different machines, where each job fits perfectly into the idle gap of the others. To identify which jobs fit together best, an increment table is calculated, with its results indicating the time that the worker has to wait before starting the next assigned job. In order to select and combine jobs with the least amount of increment time, the algorithm performs the reverse of the previous method, IPJR. It starts by selecting a worker (respecting prohibition conditions) and then choosing a machine where the worker can perform. Afterwards, it obtains a list of available jobs that both the machine and the worker can execute. Depending on the number of times a worker has been selected before, several different ramifications exist, leading to the assignment of the chosen job, which is stored in the worker number. The worker number shows the number of times that a certain worker was already chosen in the assignment cycle, which increases to a maximum of two. Once it surpasses this value, it returns to one, meaning that the initial solution increment cycle is capped at two workers in a row. These parameters are implemented to avoid increasing the complexity of the initial solution, which could lead to a longer computational time and the risk of falling into local optima. The machine and worker routine is a set of condition cycles intended to qualify or disqualify the reason for not having any available machines to be chosen.
  • Three–layer heuristic (M-LAST): Following the work in [9], M-LAST is a three-level dynamic heuristic that uses scheduling lists at three different levels: operation, machine, and worker. Resources (machines and workers) are chosen based on dynamic lists that take into account individual resource availability after each scheduling decision. The dynamic heuristic starts by virtually assigning machines to all operations based on a machine selection criterion, e.g., earliest start time. The operation list is then created and an operation is chosen based on an operation selection criterion, e.g., the smallest queue. Finally, the worker list is created for the selected operation, and one is chosen based on worker selection criteria, e.g., earliest start time. This process is repeated until all operations are scheduled.

4.2. Encoding and Decoding

4.2.1. Encoding

According to the characteristics of the DRFJSSP-PRA, a method composed of three layers is used to represent the chromosomes, following the work in [31]. Each layer represents a different resource, and the columns formed within the three layers form a vector representing one operation and the resources in which the operation is allocated. These layers are represented in Figure 3 and are described as follows:
  • Layer 1: Jobs Sequencing is done in each operation. Operations are represented by the job number, and as the job is repeated, it represents the order in which the operations of that job are performed.
  • Layer 2: Machines Represent the machine in which operation is performed.
  • Layer 3: Workers Represent the worker performing the operation.

4.2.2. Decoding

From the three-layer chromosome, it is possible to determine the sequence of all operations and corresponding tasks attributing machines and workers. The start and end times are calculated by the order in which operations appear on the chromosome.
The decoding process is described in the following steps:
  • Follow the order of the chromosome.
  • Select the job and corresponding operation O i j .
  • Select the machine and worker for the operation.
  • Calculate the minimum start time for the machine M s .
  • Calculate the minimum start time for the worker W s 1 , starting the search from machine start time M s .
  • Calculate the start time for the operation as the maximum between the start time of the machine and the start time of the worker, m a x ( M s , W s 1 ) .
  • Calculate the start time and the end time for operations and tasks.
  • Repeat for the remaining operations.
  • Calculate the value of the objective function.
The novelty compared to [31] is the assignment of tasks for each operation, as there are three tasks with fixed times relative to the operation to be scheduled. A temporal vector representing the time needed for the workers in each operation was introduced. Similarly, a temporal vector with the available times for each worker was also introduced to intersect both vectors and calculate the minimum start time for the worker. The encoding process of vectors and task allocation is exemplified in Figure 4 for two distinct consecutive operations to be scheduled.
Figure 5 represents the three-layer chromosome exemplified in Figure 3. Each color represents a different job, and operations O i j are numbered according to the sequence in the job. Tasks belonging to the same operations are numbered equally. The figure is divided into two different plots for clarity purposes. The first plot is assigned to machine allocation and the second to worker allocation.

4.3. Calculation of the Objective Function

A fitness score is assigned to each chromosome, which is used for the probability of being selected for reproduction. This process consists of performing the decoding for all the individuals in the population to obtain the time that each job has finished. Afterwards, the fitness value can be calculated. In this work, total completion time was chosen for comparison purposes with the state of the art.

4.4. Selection

In this step of the reproduction, the proposed GA uses elitism and tournament selection. Elitism is performed to ensure that the best solutions are retained in the parent population and are not excluded by tournament selection. Elitism is not applied in the first generations to ensure that the space of solutions has been explored before selecting any elite population. This helps remove local optima at the first iterations, when the solutions have inferior fitness values.
Tournament selection selects five random solutions from the main population and chooses the best to be included in the crossover population. This process is repeated until a predetermined number of tournament-winning individuals is reached in the final population. The larger the population chosen for tournaments, the less likely weaker individuals will be chosen. If a weak individual is chosen, there is a higher chance that a stronger individual is also present in that tournament.
Consequently, this implementation primarily selects the best population for the crossover, still giving weaker individuals a chance to be included. The convergence speed of the algorithm decreases when there are weaker individuals in a tournament, resulting in a greater variety of solutions available for crossover.

4.5. Crossover

Three different crossover operations are explored: single-point crossover, double-point crossover and multi-point crossover. Weights are implemented to account for different probabilities of choosing a certain crossover. After each crossover, feasibility and precedence checking is required. In case of infliction, the solution is rebuilt in order to always have feasible solutions. Relative to the types of crossovers, the three are described as follows:
  • Single-point crossover: Choose a random point in both parents’ genes. This divides the parents’ chromosomes into two identical sections. Afterwards, the crossover is completed by swapping parents’ chromosomes. The percentage of selecting this type of crossover is given by weight c 1 .
  • Double-point crossover: Choose two different random numbers (in the chromosome length) which correspond to a certain interval gap in the parents’ genes. This middle section is swapped between the two to produce both offspring. The percentage of selecting this type of crossover is given by weight c 2 .
  • Multi–point crossover: According to [32], this type of crossover is used to modify the worker and machine assignment. It involves generating a random binary vector that has the same length as the chromosomes. Depending on the value of the binary vector at a particular gene, either parent can be selected to assemble the offspring by using the machines and workers. The process is as follows: assign the offspring with the same number as the parent and the same job order. From left to right, retrieve the binary value at that position. If the binary vector value is one, parent 1 will assign the machine and worker it has assigned to that job to offspring 2, and the opposite will occur for parent 2 and offspring 1. If the binary vector value is zero, parent 1 will assign the machine and worker it has for that job to the offspring of the same number, and parent 2 will do the same for the second offspring. The percentage of selecting this type crossover is given by weight c 3 .

4.6. Mutation

The offspring population has a certain chance to mutate. The mutation phase starts with a shift mutation followed by an intelligent mutation based on [18]. Depending on a certain predetermined probability, a worker–machine mutation is performed.
  • Shift mutation: The shift mutation resembles the double-point crossover where two different random numbers with the length of the chromosome are firstly obtained. Each number will correspond to a gene (with a job, worker and machine) and will swap positions with the other number position.
  • Intelligent mutation: Select one of the operations from the machine with maximum workload and assign it to the least used machine. If the machine is not compatible, no mutation occurs.
  • Worker–machine mutation: The same shifted genes as the shift mutation are used to change both machines and workers into a new compatible workforce for the job, and if no compatibility exists, no change is made.

4.7. Variable Neighborhood Search

Variable neighborhood search (VNS) explores neighborhoods of a current incumbent solution. If the new solution proves to fit better than the previous one, then the algorithm selects it as the incumbent solution and explores further neighbor solutions until the termination criteria are achieved. Exploration is performed by operations similar to the ones implemented in the mutation phase in Section 4.6. VNS is implemented in an effort to improve GA slow convergence speed due to unguided mutations.
In the implemented VNS, four neighborhood structures were implemented: exchange, replace, change and intelligent structure. Different search algorithms were implemented as it allows for different neighborhood searches, which can potentially improve the convergence speed of the algorithm, thus reducing the total completion time.
The exchange structure is analogous to the same exact principle as the shift mutation. The change structure is equivalent to the worker and machine mutation, and the intelligent structure follows the same logic as the one with the same name in the mutation phase. The replace mutation consists of selecting two different random numbers within the chromosome length, which consists of two different genes. Subsequently, the gene position that corresponds to the smallest number is placed in the position on the encoding table of the biggest number. The gene in the newly occupied position moves one position backwards, as well as the rest of the genes, until no more overlapping occurs.

4.8. Dynamic Termination Criteria

The termination criteria are implemented in the event the algorithm does not yield any improvements after N iterations. Since this lack of improvement may be related to a local optima, a procedure was implemented to avoid the algorithm being trapped in one. In this case, a counter of the successive non-improving iterations was implemented, such that when it surpasses 1 4 of the termination criteria variable, the percentage of offspring and the mutation percentages increases to 80 % and 50 % , respectively. Also, when the VNS is active, it increases to 30 % of the best population. Afterwards, an intelligent mutation is performed on all the population.
If the total completion time of the instance is reduced, this new individual replaces the previous one. If the algorithm improves on the following iterations, it returns to the normal values and the counter is returned to zero. The algorithm may end after a predefined number of non-improving consecutive iterations is reached (termination criteria). The algorithm is also limited to 3 h of total computational time.

5. Description of Experiments

The experiments applied in this study are based on [9], which are characterized by several parameters, including the number of jobs, n, number of machines, m, number of workers w and flexibility (f).
The experiments are designed for 5, 10, and 70 jobs. The smaller instances of 5 jobs are used to evaluate the performance of the proposed algorithm and compare it with the optimal solutions obtained using CPLEX. The medium-sized instances of 10 jobs represent the daily workload of a QC laboratory. Finally, the larger instances of 70 jobs simulate a realistic QC laboratory week scheduling problem. The number of machines is fixed at 7, representing different types of equipment present in laboratories. The number of workers can be set to 2, 3, or 7, representing scenarios that are worker-restricted, balanced, and machine-restricted, respectively.
The developed experiments encompass various configurations of the QC lab scheduling problem. For job generation in each experiment, distributions based on previous studies are employed [33,34]. The instance generation uses the concept of sample type (job type), which directly relates to real QC lab activities. Typically, each combination of product and source (such as raw material or final product) results in a predetermined set of tests (operations) that need to be conducted. As such, jobs are derived from a set of predetermined possible job types, each characterized by a specific number of operations and their processing times.
In all experiments, a total of l = 3 job types are considered, and for each job type there are several assumptions to describe the problem, namely the following:
  • The number of operations is determined using a discrete uniform distribution D U , from 1 to 3.
  • Each operation has a processing time p i j from 1 to 5 units of time.
  • For each operation, worker tasks start at three time points u i j s :
    -
    At the start of the operation, u i j 1 ;
    -
    At 30 % of the operation processing time, u i j 2 ;
    -
    At 90 % of the operation processing time, u i j 3 .
  • For each operation, the durations of the worker tasks d i j s are
    -
    5 % of operation processing time d i j 1 , representing the setup;
    -
    10 % of operation processing time d i j 2 , representing an intermediate step;
    -
    90 % of operation processing time d i j 3 , representing disassembly or data processing tasks.
Figure 6 shows an illustration of a job, operations and worker tasks along with respective operation processing times and worker tasks’ starts and durations.
The flexibility parameter f is used to compute the machines and workers that can perform a certain operation. In the context of quality control in the pharmaceutical industry, each job is a unique combination of analytical tests and the respective necessary machines. This means that only specific machines can perform certain tests, and workers are not trained to do every possible analysis. To represent this, when generating the instance, each of the machines and workers has a probability equal to the flexibility of being eligible to carry out the operation. Experiments are carried out with the flexibility values of f = 30 % and f = 60 % , encompassing cases where machines and workers have less or more general competencies.
For each configuration of job, worker, and flexibility, three different problem instances are generated (replications) to improve the reliability of the simulations. There are a total of 18 experiments for each value of n, taking into account the possible values of m, w, f and r, resulting in a total of 54 distinct experiments for all values of n. The experiment parameters are summarized in Table 2.

6. Experimental Results

The experimental results are conducted in the instances described in Section 5 and are compared with the benchmark results presented in [9], which proposes a three-level dynamic heuristic (M-LAST) to solve the DRFJSSP-PRA. That paper also compares its results with an exact method (CPLEX) and a hybrid solution (M-LAST+TS) using tabu-search as a post-optimization approach for the proposed dynamic heuristic.
This paper proposes two algorithms: a genetic algorithm (GA) and an improved genetic algorithm (M-LAST+GA) using M-LAST as initialization. The GA and M-LAST+GA parameters used for the DRFJSSP-PRA after a tuning process based on previous works in the literature and empirical validation are available in Table 3.
Each algorithm is run five times for each instance, with the exception of CPLEX and M-LAST, which are run only once. In addition, CPLEX has a run-time limit of 24 h if the optimal result is not achieved.
Table 4 presents the results using the total completion time as an objective function to all the described instances. The first row of the table presents the different number of jobs J, the number of workers W, the flexibility of workers and machines to perform operations f, and the reproducibility R of each instance given the probability present in f. The number of machines (M) is set to 7.
Nonparametric statistical tests were made to compare all the algorithms. Then, a detailed analysis for each size of the instances is conducted in the following sections, considering the variability of the number of workers and the flexibility of machines and workers to perform operations.

6.1. Nonparametric Statistical Tests

Following the recommendations in [35], the ranks of the Friedman [36], Friedman Aligned [37] and Quade [38] tests are computed for all the algorithms considered. The tests were performed using a statistical toolbox [39].
Table 5 shows that the algorithm M-LAST+GA is the best performing algorithm with the values of 1.93 , 93.84 and 1.68 for the Friedman, Friedman Aligned and Quade tests, respectively. The p-values computed for the statistics of each of the tests considered (0 for all the tests) confirm that the null hypothesis is rejected. This strongly suggests the existence of significant differences between the algorithms considered.
Comparisons of the obtained results are visualized using critical difference (CD) diagrams in Figure 7, which are commonly used to compare the performance of machine learning models. Essentially, the CD diagram reports the results of pairwise statistical tests for comparing model performance for multiple datasets and experimental conditions. The Friedman test is used. After failing to reject the null hypothesis, which indicates that a significant difference among the algorithms is present, Nemenyi is used for post hoc comparisons to determine which pairs of algorithms have significantly different performances. A thick horizontal line connecting the models indicates the lack of a significant difference at a 95 % confidence level.
The main drawback of Friedman tests is that they can detect only significant differences throughout the multiple comparison and are unable to establish proper comparisons between some of the algorithms. Multiple tests are performed for comparison considering a control method and a set of algorithms, all related to the control method (M-LAST+GA). Then, the application of the post hoc tests (Bonferroni [40], Holm [41], Finner [42], Hochberg [43] and Li [44]) can lead to obtaining a p-value that determines the degree of rejection of each hypothesis.
Taking into account a significance level of 0.05 , the Friedman test in Table 6 shows a significant improvement of M-LAST+GA over M-LAST, CPLEX and M-LAST+Tabu for all the post hoc procedures considered. M-LAST+GA exceeds GA in all the tests except for the Bonferroni test. The Friedman Aligned test in Table 7 confirms the improvement of M-LAST+GA over M-LAST and CPLEX over all post hoc procedures with the exception of the Hochberg test. Finally, the Quade test in Table 8 confirms the improvement of M-LAST+GA over M-LAST, CPLEX and M-LAST+Tabu. It is possible to conclude with the Quade test that the behavior of M-LAST+GA is similar to the GA in the most difficult problems (large instances). Thus, performance differences are not detected if the relative difficulties of the problem are taken into account.

6.2. Small-Sized Instances

Small-sized instances ( n = 5 ) represent part of a day’s activities in the quality control laboratory. The GA and M-LAST+GA achieved the optimal solution in 14 and 13 out of 18 experiments, respectively. This performance is only surpassed by CPLEX, which achieves optimal solutions in all experiments. Compared to M-LAST and M-LAST+Tabu, both proposed algorithms outperformed those in all instances.
Figure 8 presents the results for small-sized instances regarding the number of jobs, workers, and flexibility for each approach under study. CPLEX can be used as a baseline for comparison since it consistently achieves an optimal solution for all instances. The GA and M-LAST+GA are able to achieve practically the same level of result quality as CPLEX, even when faced with different variations in the number of workers and flexibility parameters. In terms of computational times, all approaches achieve results quickly, taking less than 1 min to complete.

6.3. Day-Sized (Medium) Instances

For medium instances ( n = 10 ) that represent the activities of one day, the GA and M-LAST+GA achieve the best solution in 3 and 6 out of 18 experiments, respectively, while CPLEX outperforms both, achieving the best solution in 14 out of 18 experiments.
Figure 9 represents the results for medium-sized instances regarding the number of jobs, workers and flexibility for each approach under study. The quantitative results confirm that CPLEX outperforms the other approaches. However, when the instances are highly constrained, such as with small values for the number of workers ( w = 2 ) and flexibility ( f = 0.3 ), M-LAST+GA stands out and produces the best results. As the values for workers ( w = 7 ) and flexibility ( f = 0.6 ) increase, performance remains competitive but ultimately presents slightly worse results when compared to CPLEX.
In terms of computational times, M-LAST runs in less than 1 min. The GA takes 3 min to complete, while M-LAST+GA comes third, running in 4 min. CPLEX and M-LAST+Tabu take 1 h to achieve their results.

6.4. Week-Sized (Large) Instances

For large instances ( n = 70 ) that represent activities to be made in one week, M-LAST+GA achieves the best solution in 15 out of 18 experiments and the GA in 3 out of 18 experiments. In contrast to the previous instances, CPLEX is completely outperformed against the proposed algorithms.
Figure 10 shows the results for large-sized instances regarding the number of jobs, workers and flexibility for each approach under study. In terms of the number of jobs, M-LAST+GA produces the best results overall, followed by M-LAST+Tabu. As the number of workers increases ( w = 3 and w = 7 ), M-LAST+GA maintains its superior performance. The GA only surpasses M-LAST+GA when the number of workers is the maximum ( w = 7 ) and when the instances are more constrained ( f = 0.3 ).
In terms of computational times, the GA takes around 2 h to complete, while M-LAST stands out as the fastest approach with a running time of just 5 min. CPLEX and M-LAST+Tabu, on the other hand, take 12 and 1 h, respectively, to achieve their results.
Overall, the proposed M-LAST+GA algorithm has the ability to consistently produce competitive results across various problem instance sizes, highlighting its robustness and versatility. This is particularly advantageous for real-world applications, where problem instances can vary significantly in size and complexity. The M-LAST+GA performance in terms of computational time is also a valuable asset, especially for large-scale optimization problems that require significant computing resources. The ability to obtain results quickly can help decision-makers to make informed and timely decisions.

7. Conclusions

This paper proposed an improved genetic algorithm for the Dual-Resource Flexible Job Shop Scheduling Problem with Partial Resource Allocation. The problem is an extension of the dual-resource constrained flexible job shop scheduling problem, consisting in the allocation of both machines and workers to operations of jobs with the objective of minimizing the total completion time. In this paper workers are required at different temporal times during the execution of an operation, which constitutes an extra degree of complexity.
Based on the experimental results, it was observed that the proposed algorithm (M-LAST+GA) demonstrated versatility by achieving competitive results in all instance sizes compared to the benchmark results. The proposed algorithm stands out particularly for large instances.
The practical implications of these results are significant for manufacturing industries. The proposed algorithm can lead to substantial cost savings and efficiency improvements. By optimizing the allocation of machines and workers, manufacturers can reduce idle times and improve productivity. This optimization can also lead to better utilization of resources, minimizing the need for additional machinery or workers, which translates into direct cost savings. Furthermore, improved scheduling efficiency can result in shorter lead times, allowing companies to respond faster to market demands and reduce time to market for their products. This responsiveness can provide a competitive edge in industries where time is a critical factor.
The proposed M-LAST+GA algorithm not only advances the theoretical framework of the DRFJSSP-PRA but also offers practical benefits that can drive economic gains and operational efficiency in a real-world manufacturing scenario.
Future work will contain several lines of research. The proposed algorithm is most often evaluated in static environments. Future work could address real-time and dynamic events, such as machine failures, high-priority orders, worker absence, maintenance, etc. Another possible development is to address other objectives, such as sustainability (including, e.g., energy consumption or carbon emissions), labor costs, or workload balance in a multi-objective framework. Further, future research can deal with uncertainty and robust scheduling, including fuzzy variables, e.g., fuzzy processing times, uncertain machine availability or robust optimization frameworks. Finally, reinforcement learning is increasingly being used for scheduling [45]. Recent examples are the application of graph reinforcement learning in forced periodic optimal scheduling [46] and the application of reinforcement learning to dual-resource constrained scheduling [47]. Therefore, reinforcement learning for complex scheduling problems needs further research.

Author Contributions

Conceptualization, B.F., J.M.C.S. and S.M.V.; methodology, D.M., B.F. and M.S.E.M.; software, D.M. and M.S.E.M.; investigation, D.M., B.F. and M.S.E.M.; data curation, D.M.; writing—original draft preparation, D.M. and B.F.; writing—review and editing, M.S.E.M., J.M.C.S. and S.M.V.; funding acquisition, J.M.C.S. and S.M.V. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Fundação para a Ciência e a Tecnologia (FCT) for its financial support via LAETA (project https://doi.org/10.54499/UID/50022/2025). The work of Bernardo Firme was supported by the PhD Scholarship UI/BD/150999/2021 from FCT. The work of Miguel S. E. Martins was supported by the PhD Scholarship 2020.08776.BD from FCT.

Data Availability Statement

No new data were created; the data are available as benchmarks.

Acknowledgments

The authors acknowledge Fundação para a Ciência e a Tecnologia (FCT) for its financial support via LAETA (project https://doi.org/10.54499/UID/50022/2025). The work of Bernardo Firme was supported by the PhD Scholarship UI/BD/150999/2021 from FCT. The work of Miguel S. E. Martins was supported by the PhD Scholarship 2020.08776.BD from FCT.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Destouet, C.; Tlahig, H.; Bettayeb, B.; Mazari, B. Flexible job shop scheduling problem under Industry 5.0: A survey on human reintegration, environmental consideration and resilience improvement. J. Manuf. Syst. 2023, 67, 155–173. [Google Scholar] [CrossRef]
  2. Oztemel, E.; Gursev, S. Literature review of Industry 4.0 and related technologies. J. Intell. Manuf. 2020, 31, 127–182. [Google Scholar] [CrossRef]
  3. Zhang, X.; Ming, X. A Smart system in Manufacturing with Mass Personalization (S-MMP) for blueprint and scenario driven by industrial model transformation. J. Intell. Manuf. 2022, 34, 1875–1893. [Google Scholar] [CrossRef]
  4. Alemão, D.; Rocha, A.D.; Barata, J. Smart Manufacturing Scheduling Approaches—Systematic Review and Future Directions. Appl. Sci. 2021, 11, 2186. [Google Scholar] [CrossRef]
  5. Maddikunta, P.K.R.; Pham, Q.V.; B, P.; Deepa, N.; Dev, K.; Gadekallu, T.R.; Ruby, R.; Liyanage, M. Industry 5.0: A survey on enabling technologies and potential applications. J. Ind. Inf. Integr. 2022, 26, 100257. [Google Scholar] [CrossRef]
  6. 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]
  7. Xu, X.; Lu, Y.; Vogel-Heuser, B.; Wang, L. Industry 4.0 and Industry 5.0—Inception, conception and perception. J. Manuf. Syst. 2021, 61, 530–535. [Google Scholar] [CrossRef]
  8. Costigliola, A.; Ataíde, F.A.; Vieira, S.M.; Sousa, J.M. Simulation Model of a Quality Control Laboratory in Pharmaceutical Industry. IFAC-Pap. 2017, 50, 9014–9019. [Google Scholar] [CrossRef]
  9. Martins, M.S.E.; Viegas, J.L.; Coito, T.; Firme, B.; Costigliola, A.; Figueiredo, J.; Vieira, S.M.; Sousa, J.M.C. Minimizing total completion time in large-sized pharmaceutical quality control scheduling. J. Heuristics 2023, 29, 177–206. [Google Scholar] [CrossRef]
  10. Chaudhry, I.A.; Khan, A.A. A research survey: Review of flexible job shop scheduling techniques. Int. Trans. Oper. Res. 2016, 23, 551–591. [Google Scholar] [CrossRef]
  11. Zhang, J.; Wang, W.; Xu, X. A hybrid discrete particle swarm optimization for dual-resource constrained job shop scheduling with resource flexibility. J. Intell. Manuf. 2017, 28, 1961–1972. [Google Scholar] [CrossRef]
  12. Dhiflaoui, M.; Nouri, H.E.; Driss, O.B. Dual-Resource Constraints in Classical and Flexible Job Shop Problems: A State-of-the-Art Review. Procedia Comput. Sci. 2018, 126, 1507–1515. [Google Scholar] [CrossRef]
  13. Delgoshaei, A.; Ariffin, M.K.A.M.; Maleki, S.; Leman, Z. Review evolution of dual-resource-constrained scheduling problems in manufacturing systems: Modeling and scheduling methods’ trends. Soft Comput. 2023, 27, 18489–18528. [Google Scholar] [CrossRef]
  14. Elmaraghy, H.; Patel, V.; Abdallah, I.B. Scheduling of manufacturing systems under dual-resource constraints using genetic algorithms. J. Manuf. Syst. 2000, 19, 186–201. [Google Scholar] [CrossRef]
  15. Felan, J.T.; Fry, T.D.; Felany, J.T.; Fryz, T.D. Multi-level heterogeneous worker flexibility in a Dual Resource Constrained (DRC) job-shop. Int. J. Prod. Res. 2010, 39, 3041–3059. [Google Scholar] [CrossRef]
  16. Yue, H.; Slomp, J.; Molleman, E.; Van Der Zee, D.J. Worker flexibility in a parallel dual resource constrained job shop. Int. J. Prod. Res. 2007, 46, 451–467. [Google Scholar] [CrossRef]
  17. Xianzhou, C.; Zhenhe, Y. An improved genetic algorithm for dual-resource constrained flexible job shop scheduling. In Proceedings of the Proceedings—4th International Conference on Intelligent Computation Technology and Automation, ICICTA 2011, Shenzhen, China, 28–29 March 2011; Volume 1, pp. 42–45. [Google Scholar] [CrossRef]
  18. Lei, D.; Guo, X. Variable neighbourhood search for dual-resource constrained flexible job shop scheduling. Int. J. Prod. Res. 2014, 52, 2519–2529. [Google Scholar] [CrossRef]
  19. Yazdani, M.; Zandieh, M.; Tavakkoli-Moghaddam, R.; Jolai, F. Two meta-heuristic algorithms for the dual-resource constrained flexible job-shop scheduling problem. Int. J. Sci. Technol. 2015, 22, 1242–1257. [Google Scholar]
  20. Isa, N.A.; Bareduan, S.A.; Zainudin, A.S.; Motair, H.M.; Paksi, A.B.N.; Ma’ruf, A. Flexible Job-Shop Scheduling with Dual-Resource Constraints to Minimize Tardiness Using Genetic Algorithm. IOP Conf. Ser. Mater. Sci. Eng. 2016, 114, 012060. [Google Scholar] [CrossRef]
  21. Zhong, Q.; Yang, H. Optimization algorithm simulation for dual-resource constrained job-shop scheduling. Int. J. Simul. Model. 2018, 17, 147–158. [Google Scholar] [CrossRef] [PubMed]
  22. Andrade-Pineda, J.L.; Canca, D.; Gonzalez-R, P.L.; Calle, M. Scheduling a dual-resource flexible job shop with makespan and due date-related criteria. Ann. Oper. Res. 2020, 291, 5–35. [Google Scholar] [CrossRef]
  23. Akbar, M.; Irohara, T. Metaheuristics for the multi-task simultaneous supervision dual resource-constrained scheduling problem. Eng. Appl. Artif. Intell. 2020, 96, 104004. [Google Scholar] [CrossRef]
  24. Zhang, S.; Du, H.; Borucki, S.; Jin, S.; Hou, T.; Li, Z. Dual Resource Constrained Flexible Job Shop Scheduling Based on Improved Quantum Genetic Algorithm. Machines 2021, 9, 108. [Google Scholar] [CrossRef]
  25. Wu, X.; Peng, J.; Xiao, X.; Wu, S. An effective approach for the dual-resource flexible job shop scheduling problem considering loading and unloading. J. Intell. Manuf. 2021, 32, 707–728. [Google Scholar] [CrossRef]
  26. Vital-Soto, A.; Baki, M.F.; Azab, A. A multi-objective mathematical model and evolutionary algorithm for the dual-resource flexible job-shop scheduling problem with sequencing flexibility. Flex. Serv. Manuf. J. 2023, 35, 626–668. [Google Scholar] [CrossRef]
  27. Yu, F.; Lu, C.; Zhou, J.; Yin, L. Mathematical model and knowledge-based iterated greedy algorithm for distributed assembly hybrid flow shop scheduling problem with dual-resource constraints. Expert Syst. Appl. 2024, 239, 122434. [Google Scholar] [CrossRef]
  28. Barak, S.; Javanmard, S.; Moghdani, R. Dual resource constrained flexible job shop scheduling with sequence-dependent setup time. Expert Syst. 2024, 41, e13669. [Google Scholar] [CrossRef]
  29. Cunha, M.M.; Viegas, J.L.; Martins, M.S.; Coito, T.; Costigliola, A.; Figueiredo, J.; Sousa, J.M.; Vieira, S.M. Dual Resource Constrained Scheduling for Quality Control Laboratories. IFAC-Pap. 2019, 52, 1421–1426. [Google Scholar] [CrossRef]
  30. Katoch, S.; Chauhan, S.S.; Kumar, V. A review on genetic algorithm: Past, present, and future. Multimed. Tools Appl. 2021, 80, 8091–8126. [Google Scholar] [CrossRef] [PubMed]
  31. Geng, K.; Ye, C.; Liu, L. Research on Multi-Objective Hybrid Flow Shop Scheduling Problem with Dual Resource Constraints Using Improved Memetic Algorithm. IEEE Access 2020, 8, 104527–104542. [Google Scholar] [CrossRef]
  32. Yazdani, M.; Zandieh, M.; Tavakkoli-Moghaddam, R. Evolutionary algorithms for multi-objective dual-resource constrained flexible job-shop scheduling problem. OPSEARCH 2019, 56, 983–1006. [Google Scholar] [CrossRef]
  33. Malve, S.; Uzsoy, R. A genetic algorithm for minimizing maximum lateness on parallel identical batch processing machines with dynamic job arrivals and incompatible job families. Comput. Oper. Res. 2007, 34, 3016–3028. [Google Scholar] [CrossRef]
  34. Ruiz-Torres, A.J.; Ablanedo-Rosas, J.H.; Otero, L.D.; Ruiz-Torres Ab, A.J.; Ablanedo-Rosas, J.J. Scheduling with multiple tasks per job – the case of quality control laboratories in the pharmaceutical industry. Int. J. Prod. Res. 2011, 50, 691–705. [Google Scholar] [CrossRef]
  35. Derrac, J.; García, S.; Molina, D.; Herrera, F. A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms. Swarm Evol. Comput. 2011, 1, 3–18. [Google Scholar] [CrossRef]
  36. Friedman, M. The Use of Ranks to Avoid the Assumption of Normality Implicit in the Analysis of Variance. J. Am. Stat. Assoc. 1937, 32, 675–701. [Google Scholar] [CrossRef]
  37. Hodges, J.L.; Lehmann, E.L. Rank Methods for Combination of Independent Experiments in Analysis of Variance. In Selected Works of E. L. Lehmann; Springer: Berlin/Heidelberg, Germany, 2012; pp. 403–418. [Google Scholar] [CrossRef]
  38. Quade, D. Using weighted rankings in the analysis of complete blocks with additive block effects. J. Am. Stat. Assoc. 1979, 74, 680–683. [Google Scholar] [CrossRef]
  39. Rodriguez-Fdez, I.; Canosa, A.; Mucientes, M.; Bugarin, A. STAC: A web platform for the comparison of algorithms using statistical tests. In Proceedings of the 2015 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE), Istanbul, Turkey, 2–5 August 2015. [Google Scholar] [CrossRef]
  40. Dunn, O.J. Multiple Comparisons among Means. J. Am. Stat. Assoc. 1961, 56, 52–64. [Google Scholar] [CrossRef]
  41. Haynes, W. Holm’s Method. In Encyclopedia of Systems Biology; Springer: Berlin/Heidelberg, Germany, 2013; p. 902. [Google Scholar] [CrossRef]
  42. Finner, H. On a monotonicity problem in step-down multiple test procedures. J. Am. Stat. Assoc. 1993, 88, 920–923. [Google Scholar] [CrossRef]
  43. Hochberg, Y. A sharper Bonferroni procedure for multiple tests of significance. Biometrika 1988, 75, 800–802. [Google Scholar] [CrossRef]
  44. Li, J.D. A two-step rejection procedure for testing multiple hypotheses. J. Stat. Plan. Inference 2008, 138, 1521–1527. [Google Scholar] [CrossRef]
  45. Martins, M.S.E.; Sousa, J.M.C.; Vieira, S. A Systematic Review on Reinforcement Learning for Industrial Combinatorial Optimization Problems. Appl. Sci. 2025, 15, 1211. [Google Scholar] [CrossRef]
  46. Martins, M.S.E.; Vieira, S.; Sousa, J.M.C. Forced Periodic Optimal Scheduling Policy for Graph Reinforcement Learning. In Proceedings of the Information Processing and Management of Uncertainty in Knowledge-Based Systems; Lesot, M.J., Vieira, S., Reformat, M.Z., Carvalho, J.P., Batista, F., Bouchon-Meunier, B., Yager, R.R., Eds.; Springer: Cham, Switzerland, 2024; pp. 126–137. [Google Scholar]
  47. Martins, M.S.; Viegas, J.L.; Coito, T.; Firme, B.M.; Sousa, J.M.; Figueredo, J.; Vieira, S.M. Reinforcement Learning for Dual-Resource Constrained Scheduling. IFAC-Pap. 2020, 53, 10810–10815. [Google Scholar] [CrossRef]
Figure 1. Graphical representation of the Dual-Resource Flexible Job Shop Scheduling with xPartial Resource Allocation Problem.
Figure 1. Graphical representation of the Dual-Resource Flexible Job Shop Scheduling with xPartial Resource Allocation Problem.
Automation 07 00099 g001
Figure 2. Flowchart of the improved genetic algorithm proposed in this paper.
Figure 2. Flowchart of the improved genetic algorithm proposed in this paper.
Automation 07 00099 g002
Figure 3. Three-layer chromosome encoding example.
Figure 3. Three-layer chromosome encoding example.
Automation 07 00099 g003
Figure 4. Task allocation of different operations in worker available times.
Figure 4. Task allocation of different operations in worker available times.
Automation 07 00099 g004
Figure 5. Example of a schedule resultant from the decoding process of the three-layer chromosome.
Figure 5. Example of a schedule resultant from the decoding process of the three-layer chromosome.
Automation 07 00099 g005
Figure 6. Example of the designed experiments.
Figure 6. Example of the designed experiments.
Automation 07 00099 g006
Figure 7. Critical difference diagram with a statistical comparison between the algorithms. These are represented from left to right according to the obtained ranks. Groups of methods producing statistically equivalent performance are connected by black horizontal lines.
Figure 7. Critical difference diagram with a statistical comparison between the algorithms. These are represented from left to right according to the obtained ranks. Groups of methods producing statistically equivalent performance are connected by black horizontal lines.
Automation 07 00099 g007
Figure 8. Performance comparison of the different approaches: overall performance for 5 jobs, performance for changing balance between workers and machines and performance for changing flexibility.
Figure 8. Performance comparison of the different approaches: overall performance for 5 jobs, performance for changing balance between workers and machines and performance for changing flexibility.
Automation 07 00099 g008
Figure 9. Performance comparison of the different approaches: overall performance for 10 jobs, performance for changing balance between workers and machines and performance for changing flexibility.
Figure 9. Performance comparison of the different approaches: overall performance for 10 jobs, performance for changing balance between workers and machines and performance for changing flexibility.
Automation 07 00099 g009
Figure 10. Performance comparison of the different approaches: overall performance for 70 jobs, performance for changing balance between workers and machines and performance for changing flexibility.
Figure 10. Performance comparison of the different approaches: overall performance for 70 jobs, performance for changing balance between workers and machines and performance for changing flexibility.
Automation 07 00099 g010
Table 1. Nomenclature for mathematical formulation.
Table 1. Nomenclature for mathematical formulation.
Sets and Indices
J = { 1 , , j , , n } Set of jobs for n jobs
K = { 1 , , k , , m } Set of machines for m machines
W = { 1 , , h , , w } Set of workers for w workers
O j = { O 1 j , , O i j , , O o j j } Set of operations of job j and i = { 1 , , o j } , where o j is the number of operations in job j
N i j = { N 1 j , , N i j , , N o j j } Set of workers’ interventions s in operation O i j
K i j K Subset of machines that can be used to perform operation O i j
W i j W Subset of workers that can be used to perform operation O i j
Parameters
p i j Processing time of operation O i j
u i j s Time after the start of processing operation i of job j where intervention s is requested
d i j s Duration of intervention s in operation i of job j
MLarge number
Decision Variables
t i j Start time of each operation O i j
x i j k = 1 , if operation O i j is assigned to machine k 0 , otherwise
y i j h = 1 , if operation O i j is assigned to worker h 0 , otherwise
a i j p q = 1 , if operation O i j is assigned before O p q 0 , otherwise
b i j s p q r = 1 , 1   if   worker   intervention   s   in   operation   O i j is   assigned   before   worker   intervention   r   in   operation   O p q 0 , otherwise
c j Completion time of job j
J Total completion time
Table 2. Parameters for the designed experiments.
Table 2. Parameters for the designed experiments.
Parameter Values
Job generation parameters
Job typesl3
Operations in job o j D U ( 1 , 3 )
Operation processing time p i j D U ( 1 , 5 )
Starting point of worker tasks u i j s [ 0 , 0.3 p i j , 0.9 p i j ]
Duration of worker tasks d i j s [ 0.05 p i j , 0.1 p i j , 0.1 p i j ]
Experiment parameters
Number of jobsn [ 5 , 10 , 70 ]
Number of machinesm7
Number of workersw [ 2 , 3 , 7 ]
Flexibilityf [ 0.3 , 0.6 ]
Reproducibilityr [ 0 , 1 , 2 ]
Table 3. Parameters used for GA and M-LAST+GA.
Table 3. Parameters used for GA and M-LAST+GA.
Parameter
Objective functionTotal completion time
Population size500
Percentage of offspring (%)70
Initial population weights w 1 = 90 | w 2 = 5 | w 3 = 5
Incremental initialization?Yes
M-LAST heuristic?Yes (M-LAST + GA)/No (GA)
Elitism (%)5
Elitism start s = 1 8 population size
Crossover weights c 1 = 10 | c 2 = 5 | c 3 = 85
Mutation percentage (%)50
Machine–worker mutation probability (%) m = 5
Termination criteria250 iterations or 3 h (big instances)
Table 4. Experimental results where J is the number of jobs, W is the number of workers, f is the flexibility and R is the reproducibility. The best results found are in bold. Optimal results are indicated with an *. Some CPLEX solutions only returned the LP relaxation of root node (†) and are omitted from the table.
Table 4. Experimental results where J is the number of jobs, W is the number of workers, f is the flexibility and R is the reproducibility. The best results found are in bold. Optimal results are indicated with an *. Some CPLEX solutions only returned the LP relaxation of root node (†) and are omitted from the table.
JWFRM-LASTCPLEXM-LAST + TABUGAM-LAST + GA
520.3043.841.3 *42.3 ± 0.641.3 ± 0.0 *41.3 ± 0.0 *
162.654.0 *56.4 ± 1.055.9 ± 0.954.9 ± 0.3
225.723.6 *23.6 ± 0.0 *23.6 ± 0.0 *23.6 ± 0.0 *
0.6046.941.8 *42.8 ± 0.741.8 ± 0.0 *42.3 ± 0.4
149.344.9 *46.6 ± 0.345.8 ± 0.545.8 ± 0.4
223.623.4 *23.6 ± 0.023.6 ± 0.023.6 ± 0.0
30.3074.369.9 *70.2 ± 0.370.2 ± 0.470.2 ± 0.1
135.534.3 *34.4 ± 0.134.3 ± 0.1 *34.3 ± 0.0 *
249.643.2 *43.3 ± 0.243.2 ± 0.0 *43.2 ± 0.0 *
0.6028.727.4 *27.8 ± 0.027.4 ± 0.0 *27.4 ± 0.0 *
128.026.7 *26.7 ± 0.0 *26.7 ± 0.0 *26.7 ± 0.0 *
234.733.0 *33.2 ± 0.433.0 ± 0.0 *33.0 ± 0.0 *
70.3030.529.7 *29.8 ± 0.229.7 ± 0.0 *29.7 ± 0.0 *
148.246.4 *48.0 ± 0.646.4 ± 0.1 *46.4 ± 0.0 *
225.324.1 *25.1 ± 0.324.1 ± 0.1 *24.1 ± 0.0 *
0.6027.026.0 *26.1 ± 0.326.0 ± 0.0 *26.0 ± 0.1 *
146.142.1 *42.8 ± 1.442.1 ± 0.0 *42.1 ± 0.0 *
227.027.0 *27.0 ± 0.0 *27.0 ± 0.0 *27.0 ± 0.0 *
1020.30101.490.793.7 ± 1.291.5 ± 0.691.5 ± 0.7
1244.2189.5211.4 ± 5.3190.2 ± 1.4189.4 ± 1.5
258.654.856.7 ± 1.055.5 ± 0.955.3 ± 0.1
0.60143.6125.6125.4 ± 1.9120.6 ± 1.5121.3 ± 1.0
1112.7111.3109.1 ± 2.4108.8 ± 2.1106.7 ± 0.9
2130.7129.3128.6 ± 0.3131.3 ± 1.2129.7 ± 0.0
30.30126.4108.1 *111.4 ± 3.1108.1 ± 0.1 *108.1 ± 0.1 *
1133.7126.9126.5 ± 1.4123.3 ± 0.6122.7 ± 0.2
2108.696.099.2 ± 1.596.3 ± 0.296.0 ± 0.1
0.6077.559.961.7 ± 1.061.6 ± 0.860.9 ± 0.2
1100.190.691.1 ± 1.891.7 ± 1.990.9 ± 1.7
283.371.275.1 ± 1.873.8 ± 1.075.8 ± 0.1
70.30112.8102.5108.2 ± 1.7104.7 ± 1.6102.7 ± 0.1
1120.3119.5120.3 ± 0.1120.6 ± 0.9120.0 ± 0.0
293.393.093.1 ± 0.193.0 ± 0.093.0 ± 0.0
0.60108.499.3104.9 ± 2.7105.4 ± 1.1103.5 ± 0.5
197.697.197.5 ± 0.2101.4 ± 0.697.9 ± 0.0
2107.482.287.3 ± 1.785.9 ± 1.085.9 ± 1.1
7020.303930.78253.23709.1 ± 39.93552.9 ± 26.13483.6 ± 30.5
15265.09966.95089.2 ± 31.15567.2 ± 97.64861.9 ± 50.9
23924.07245.83616.6 ± 27.23522.5 ± 23.23514.7 ± 20.8
0.604075.510,356.33355.4 ± 53.63629.6 ± 66.13258.0 ± 35.7
14374.611,392.84157.1 ± 36.93903.8 ± 51.03902.0 ± 67.2
23955.39084.53536.2 ± 90.33985.7 ± 162.13370.2 ± 39.7
30.304183.08627.43677.7 ± 78.73329.1 ± 30.93328.2 ± 25.6
18318.213,935.77110.8 ± 358.76323.0 ± 87.05956.9 ± 31.1
24442.46369.54168.0 ± 30.94137.8 ± 37.94063.6 ± 40.5
0.602245.06528.22240.2 ± 10.22597.7 ± 15.42211.3 ± 11.7
13262.98161.32746.1 ± 55.72833.5 ± 42.52642.2 ± 43.0
21849.52916.51803.8 ± 18.41865.1 ± 8.71747.8 ± 19.3
70.303455.58078.13323.2 ± 60.33148.5 ± 15.63174.0 ± 29.2
14630.29783.24424.8 ± 44.54175.7 ± 43.24391.1 ± 111.3
22760.96068.62704.9 ± 32.62568.3 ± 24.32630.6 ± 37.9
0.603352.93351.3 ± 3.83454.9 ± 23.43350.3 ± 6.2
11836.31819.8 ± 3.91817.9 ± 9.01774.8 ± 22.7
22377.12377.1 ± 0.02524.7 ± 15.62367.7 ± 3.82
Table 5. Ranks achieved by the Friedman, Friedman Aligned and Quade tests in the main case of study. The statistics computed and the related p-values are also shown.
Table 5. Ranks achieved by the Friedman, Friedman Aligned and Quade tests in the main case of study. The statistics computed and the related p-values are also shown.
AlgorithmFriedmanFriedman AlignedQuade
M-LAST4.471165.464.325
CPLEX2.745158.083.379
M-LAST+Tabu3.254121.503.072
GA2.598101.122.544
M-LAST+GA1.93193.841.678
Statistic28.07844.93921.237
p-value0.0000.0000.000
Table 6. Adjusted p-values for the Friedman test, where M-LAST+GA is the control method.
Table 6. Adjusted p-values for the Friedman test, where M-LAST+GA is the control method.
FriedmanBonferroniHolmFinnerHochbergLi
M-LAST0.00000.00000.00000.03320.0000
CPLEX0.00010.00010.00010.03320.0096
M-LAST+Tabu0.03740.01870.01250.03320.0000
GA0.1330.033240.03320.03320.0332
Table 7. Adjusted p-values for the Friedman Aligned test; M-LAST+GA is the control method.
Table 7. Adjusted p-values for the Friedman Aligned test; M-LAST+GA is the control method.
Friedman AlignedBonferroniHolmFinnerHochbergLi
M-LAST0.00000.00000.00000.61850.0000
CPLEX0.00000.00000.00000.61850.0000
M-LAST+Tabu0.23310.11660.07700.61850.1325
GA1.00000.61850.61850.61850.6185
Table 8. Adjusted p-values for the Quade test (M-LAST + GA is the control method).
Table 8. Adjusted p-values for the Quade test (M-LAST + GA is the control method).
QuadeBonferroniHolmFinnerHochbergLi
M-LAST0.000000.000000.000000.088860.00000
CPLEX0.003340.002510.001670.088860.00092
M-LAST+Tabu0.024660.012330.008210.088860.00672
GA0.355450.088860.088860.088860.08886
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

Marta, D.; Firme, B.; Martins, M.S.E.; Sousa, J.M.C.; Vieira, S.M. A Novel Genetic Algorithm for the Dual-Resource Flexible Job Shop Scheduling Problem with Partial Resource Allocation. Automation 2026, 7, 99. https://doi.org/10.3390/automation7030099

AMA Style

Marta D, Firme B, Martins MSE, Sousa JMC, Vieira SM. A Novel Genetic Algorithm for the Dual-Resource Flexible Job Shop Scheduling Problem with Partial Resource Allocation. Automation. 2026; 7(3):99. https://doi.org/10.3390/automation7030099

Chicago/Turabian Style

Marta, Diogo, Bernardo Firme, Miguel S. E. Martins, João M. C. Sousa, and Susana M. Vieira. 2026. "A Novel Genetic Algorithm for the Dual-Resource Flexible Job Shop Scheduling Problem with Partial Resource Allocation" Automation 7, no. 3: 99. https://doi.org/10.3390/automation7030099

APA Style

Marta, D., Firme, B., Martins, M. S. E., Sousa, J. M. C., & Vieira, S. M. (2026). A Novel Genetic Algorithm for the Dual-Resource Flexible Job Shop Scheduling Problem with Partial Resource Allocation. Automation, 7(3), 99. https://doi.org/10.3390/automation7030099

Article Metrics

Article metric data becomes available approximately 24 hours after publication online.
Back to TopTop