1. Introduction
Production planning and scheduling decisions are fundamental to the operational management of manufacturing companies [
1]. In today’s globalized and highly competitive manufacturing environment, production orders are characterized by their wide variety, high level of customization, and unpredictability, making it necessary to explore new methodologies for scheduling and task allocation [
2,
3]. Developing an optimal operations schedule in conjunction with efficient resource allocation is a key strategic tool for planning production capacity in enterprises. It supports critical decision-making processes, such as determining the feasibility of accepting new orders and ensuring compliance with customer-specified delivery deadlines [
4].
Scheduling problems are common challenges in customer-oriented production environments, automated logistics systems, and the assignment and definition of ground transportation routes for vehicles and trains [
5]. Production scheduling plays a vital role in manufacturing processes, as it has a direct impact on system performance and the overall efficiency of operations. In many industrial sectors, scheduling has emerged as a critical challenge. Numerous advanced methodologies are being explored with the objective of enhancing manufacturing effectiveness, particularly through the optimization of production schedules. Consequently, the pursuit of optimal scheduling solutions has attracted growing interest from both academic researchers and industry professionals [
6].
In the job shop scheduling problem, a set of
n jobs must be processed on a set of m machines. Each job consists of a series of
O operations performed according to a defined processing route, which may differ for each job. Each operation is executed on a single machine, with each machine processing one operation at a time. Once an operation begins on a machine, it cannot be interrupted. It is recognized as one of the most complex problems in combinatorial optimization, owing to its NP-hard classification and the significant complexity imposed by real-world operational constraints [
7]. A key assumption in the conventional job shop problem is the availability of unlimited storage capacity between machines [
8].
Under the blocking constraint, a job completed on one machine cannot proceed to the next until the latter becomes available, resulting in the current machine being blocked. Two variants of blocking constraints exist concerning the permission or prohibition of job swapping. A swap operation is required when a cycle is formed by two or more jobs, each waiting for a machine currently occupied by another job within the same cycle. In such cases, all jobs involved must simultaneously advance to their respective next machines—this coordinated movement is referred to as a swap. In many industrial environments, such a swap is permitted, as jobs are capable of moving independently. Conversely, in domains such as train scheduling, swaps are not permitted because a train can only proceed once the subsequent resource, a single-track railway, becomes available. In these contexts, the presence of a blocking cycle constitutes a deadlock situation.
The BJSSP has numerous applications, including train scheduling [
9,
10,
11], transportation and material handling [
5,
12], automated warehouses [
13], scheduling for the electronic manufacturing [
14], pharmaceutical industries [
15], steelmaking processes [
16] and chemical batch production [
17].
The first study on the BJSSP was published by [
18] where they conducted a detailed study on the BJSSP and its variants, demonstrating that heuristics, such as dispatch rules, frequently generated infeasible solutions. Ref. [
19] proposed an Iterative Flattening Search method that included destruction and solution reconstruction phases in each iteration, which was also employed by [
20]. However, the methods proposed by these authors did not guarantee the generation of feasible solutions in every iteration, necessitating reconstruction.
To Address the above challenges, this paper presents an Estimation Distribution Algorithm (EDA) that consistently finds feasible solutions to the blocking job shop scheduling problem when job swapping is allowed, with the objective of minimizing the makespan (Cmax).
The contributions of this study are as follows:
An EDA is proposed to solve the BJSSP, where the makespan is the objective.
The individual construction methodology ensures that all generated solutions are feasible for the BJSSP, thereby eliminating the need for repair or feasibility restoration procedures.
Compared to traditional EDA approaches, the proposed EDA generates new solutions by combining a selection operator, a probability distribution function, and a random operator, enabling the simultaneous implementation of exploration and exploitation strategies.
The values of the EDA parameters were determined through a design of experiments specifically applied to the BJSSP.
The structure of this paper is as follows:
Section 2 presents the literature review about the problem;
Section 3 provides the problem description and mathematical model;
Section 4 describes the EDA methodology;
Section 5 presents the results from the design of experiments and the EDA;
Section 6 discusses the problem and the proposed methodology; and
Section 6 concludes this paper and outlines future research directions.
2. Literature Review
Ref. [
21] used an alternative disjunctive graph representation to propose a local search heuristic, comparing its performance with dispatching rules.
Several researchers have addressed the BJSSP with additional features and constraints tailored to specific production systems. Ref. [
10] modeled the BJSSP with parallel machines applied to train scheduling. Ref. [
22] developed a model incorporating automated guided vehicles with transport times and loading/unloading stations. Ref. [
23] studied a related problem using robots to transport jobs between machines. Refs. [
24,
25] examined a variant with added constraints, including no-wait conditions and transportation times between machines. Ref. [
26] defined a dynamic programming-based procedure for a two-stage supershop configuration with no-wait and blocking constraints. In such a configuration some jobs have a flowshop pattern, others may have different routes (i.e., job shop) and the remaining may be processed in any order on the machines (i.e., open shop).
Most published works on solving the BJSSP describe and apply heuristics to minimize the makespan. Ref. [
18] proposed a greedy heuristic to generate feasible solutions with the same objective function. Ref. [
27] developed a local search heuristic integrated with Petri nets to produce solutions. Ref. [
28] introduced local search heuristics incorporating adjacent job sharing, focusing on evaluating and recovering the feasibility of solutions from disjunctive graphs. Ref. [
29] defined a new scheduling problem using a combination of four buffering constraints (no buffer, no-wait, limited buffer and infinite buffer) and proposed a fast best insertion heuristic algorithm to solve it. Refs. [
9,
24,
25,
30] proposed constructive heuristics with repair strategies to address infeasible solutions. Ref. [
31] described a hill-climbing heuristic procedure for solving steel continuous casting instances involving dual shared-resource and blocking constraints.
Some researchers, including [
5,
27,
32] proposed strategies for paired swapping of adjacent jobs and the use of dispatching rules to generate solutions to the problem.
Several studies proposed metaheuristic strategies to address the problem with blocking constraints. Refs. [
12,
33] employed Tabu Search with neighborhood-generated infeasible solution repair. Ref. [
34] proposed two variants of Tabu Search that differed in their neighborhood generation structures from dispatching rules. Ref. [
35] described a solution approach involving infeasible solution repair by utilizing the arcs of disjunctive graphs.
Some studies proposed genetic algorithms to solve the problem with blocking constraints. [
36] used graph theory with binary encoding and dispatching rules to generate solutions, showing that their strategy did not outperform the Tabu Search results of [
32]. Ref. [
37] used a genetic algorithm to define the number of machines to be used in a flexible job shop configuration with blocking and auto-guided vehicles. Then, they defined different scenarios, determined the completion time of the jobs in each scenario and compared the results obtained. Ref. [
38] introduced a genetic algorithm based on Bierwirth vectors and various types of job-dependent blocking and a PSO to address this problem and compared the results with those obtained using genetic algorithms. Ref. [
39] approached the problem of scheduling trains to transport sugarcane between crops and mills in Australia. They proposed a hybrid metaheuristic technique using Tabu Search and Simulated Annealing to solve the problem characterized as a job shop with parallel machines with blocking constraints.
Ref. [
40] proposed a Harmony Search algorithm to generate solutions by repairing infeasible solutions, eliminating cycles in disjunctive graphs, and applying dispatching rules. Ref. [
41] employed both sequential and parallel PSO approaches for many-job, many-machine instances and applied a branch-and-bound method for small instances to solve the problem with blocking constraints. They used binary encoding and dispatching rules encoding for solution construction. Ref. [
42] proposed a scheduler that integrates graph neural networks and deep learning to address the BJSSP with job exchanges allowed, while also accounting for dynamic interruptions in machine availability in workshop scheduling.
Regarding the objective functions addressed in previous BJSSP studies, only two papers considered objectives other than maximum completion time. Refs. [
5,
9] proposed constructive heuristics based on permutations and a feasibility recovery strategy to minimize total tardiness.
3. Materials and Methods
The blocking job shop scheduling problem (BJSSP) is a variant of the conventional job shop problem in which n jobs are processed on m machines. Each job consists of a sequence of operations performed on the machines, with each sequence potentially differing across jobs. Each operation has a known, constant processing time. Once an operation begins on a machine, it cannot be interrupted, and each machine can process only one job at a time. Unlike the conventional job shop problem, the BJSSP does not allow buffering between machines; thus, a job remains on a machine until the subsequent machine becomes available.
3.1. The Mathematical Model
The mathematical model proposed for this problem, including notation, parameters, objective functions, variables, and constraints, is presented as follows, based on the work of [
40]:
3.1.1. Parameters
;
;
;
;
.
3.1.2. Sets
;
;
.
3.1.3. Variables
;
;
.
3.1.4. Objective Function
3.1.5. Constraints
Equation (1) represents the objective function. Constraint (2) indicates that the starting times of each oj,v are positive. Constraint (3) indicates that each job can only be processed on one machine at a time. Constraint (4) indicates that each machine can only process one job at a time. Finally, constraint (5) defines the blocking restriction with which a job remains on a machine until the next machine becomes available.
3.2. Description of the Estimation Distribution Algorithm
The Estimation Distribution Algorithm (EDA) is an evolutionary algorithm proposed by [
43]. EDA creates new solutions using a probabilistic model learned from the parent population. It samples the superior regions in the search space to create better solutions, allowing the population of individuals to evolve based on solution quality. Therefore, EDA demonstrates faster convergence and stronger global search capabilities compared to other metaheuristics, such as genetic algorithms [
44]. The process begins by generating an initial population of individuals, which are evaluated against the defined objective function. The individuals are then ranked in ascending order based on their objective function values, and a fraction of the best-performing individuals is selected. A probability distribution function is generated from these selected individuals, focusing on the jobs at each position within a sequence for each machine. A new population of individuals is created based on this probabilistic estimation. The algorithm continues to iterate until a predefined stopping criterion is met. The pseudo-code of the proposed algorithm is presented below.
Pseudo-Code
: Maximum completion time on machine i. It is updated as the program is built.
: state of machine i. Possible values: “Free,” “Blocked,” “Scheduled”.
Active job: A job for which at least its first operation has been scheduled and the last one has not.
tprog: Earliest Starting time of each stage.
: Set of machine(s) on which an operation can be scheduled at time tprog.
: Complement set of .
: Set of jobs that have their initial operation on machine i.
: Set of completion times of all machines.
Inputs:
Jobs J{1, 2, }, Machines {1, 2, }, Operations O{, }, where , is the k-th operation of job j.
Routes R{, }, where , is the machine on which the operation k of job j is performed.
Processing time t{, , }, where is the processing time of the k-th operation of job j.
Pasig is the assignment probability used during the algorithm for all operations.
Output:
Production schedule S{ where t_ini and t_fin are the starting time and the completion time of each operation k, respectively.
Table 1 and
Table 2 present the actions of the algorithm and the corresponding subprograms, respectively.
3.3. Solution Representation
During the algorithm’s execution, a feasible solution is represented by a permutation of jobs on each machine, considering only those jobs with an initial operation assigned to that machine. For example, the jobs and routes are shown in
Table 3.
In this case, a possible representation of a solution will be as follows:
M1: {2, 5}
M2: {1, 3}
M3: {4}
M4: {}
M5: {}
Thus, job 2 and job 5 start on machine 1, jobs 1 and 3 start on machine 2, job 4 starts on machine 3, and there are no jobs with their initial operation on machines 4 and 5.
3.4. Selection of Individuals
Once all solutions in a generation have been created, the performance of each one is calculated. They are sorted in ascending order, as the problem is a minimization problem, and the S best solutions are selected to advance to the next generation.
3.5. Probability Distribution Estimation Function
From the selected solutions, a probability distribution estimation function is developed for each job at each position in the permutation defined for each machine. Several approaches for this estimation exist in the literature, including discrete functions, Bayesian networks, conditional probabilities, and Markov chains [
45]. The probability model significantly influences the performance of the EDA. For the purposes of this study, the model proposed by [
46] was adapted, in which a probability matrix P is constructed for each machine.
The element of the matrix P represents the probability of job j being found before or at position i on machine m at generation g. For the initial generation, the scheduling order of jobs on the machines where they have their initial operations is generated randomly.
For subsequent generations, solutions are generated from the probability matrix P, where
is used to determine the
position i of each
job j in the sequence of each
machine m. This process continues until the job lists for each machine are completed and the required number of solutions for the generation is achieved. Once the set of solutions is generated for a given iteration, the performance of each solution is evaluated. The top R solutions are then selected, and the probability matrix P is updated according to Equation (6).
where α is a value between 0 and 1 and represents the learning rate of P, and
is a binary variable that takes the value of 1 if
job j appears at or before
position i on
machine m in
individual k and 0 otherwise.
In contrast to the model addressed in [
43], the EDA proposed in this study is applied to the BJSSP and incorporates an operator for selecting the best solutions, which are carried over to the next generation. A portion of the remaining population is generated using the previously described probability distribution function, which is applied to each machine, job, and operation. The rest of the population is generated randomly to enhance the exploration of the solution space.
4. Results
A 2k factorial design with replications was proposed, following [
47] to evaluate the effects of EDA parameters on the performance measure’s quality.
Table 4 presents the factors considered and their respective levels.
The experimental runs were conducted on problem sizes of 15 × 5, 20 × 5, 20 × 10, and 30 × 10, where a problem size j × m represents a problem with j jobs and m machines. Processing times were generated using a uniform distribution between 1 and 99. Processing routes were generated randomly, with all jobs visiting each machine once.
Table 5 presents the results from the experimental design for each problem size, considering the response variable, the significant factors, and the individual effects of each factor on the response variable.
Given that no generalized result could be identified regarding the significant factors and their effects on Cmax performance, the algorithm was parameterized using the results from the 30 × 10 problem size, which exhibited the highest number of significant factors. Consequently, the algorithm was parameterized with a population size of 15,000 individuals, a selection rate of 5%, a learning factor of 80%, an assignment probability of 80%, and 80 generations as the stopping criterion.
The proposed algorithm was implemented in Java. All experiments were conducted on a computer equipped with an AMD Ryzen 3 processor at 2.70 GHz and 16 GB of memory.
The performance of the proposed algorithm was evaluated on the Lawrence instances, which include 40 problems with sizes of 5, 10, and 15 machines and 10, 15, 20, and 30 jobs.
Table 6 summarizes the results obtained for each instance, including the Average Relative Percentage Deviation (ARPD), which is calculated as
, compared to the best Cmax reported by [
18,
19,
21,
35,
40,
48]. The ARPD measures the difference between the best result in Cmax obtained by the EDA (Best EDA) and the best result reported by the references (Best O), divided by the reference result, with negative values indicating that the EDA achieved better performance. The column header EDA refers to the best Cmax obtained by the proposed algorithm in the current article.
The ARPD results presented in bold indicate instances where the EDA found better solutions than those reported by the authors, while results not reported by the authors were denoted as NR.
5. Discussion
The experiments showed that no specific levels of the factors were found to be significant in determining the quality of the solutions found by the EDA across all problem sets. On the other hand, incorporating assignment probabilities into the construction of EDA solutions facilitated diversity among the generated solutions. The runtime of the EDA for the proposed problem sets in the experiments, using the factor levels defined in
Table 3, ranged from 20 s for problems with 10 jobs and 5 machines to 600 s for those with 30 jobs and 10 machines.
The execution times of the proposed algorithm are substantially lower than those reported in previous studies: 7200 s in [
21], 600 s in [
40], 1200 s in [
48], 1800 s in [
19], and between 5 min and 3 h in [
35].
The proposed methodology enables the search for and identification of always feasible solutions for the job shop scheduling problem with blocking constraints and allowed job swapping, with the goal of minimizing the makespan. The proposed approach has important applications in task scheduling and decision making in areas such as manufacturing, transportation systems, warehousing activities and situations that require the use of resources such as robots, AGV, cranes, and forklifts. Future research could incorporate additional constraints, such as recirculation and no-wait, into the methodology. Furthermore, the methodology could be extended to address alternative objectives, such as minimizing tardiness, tardy jobs, and energy consumption.
Additionally, the proposed methodology could be enhanced by incorporating local search heuristics and other metaheuristics, such as genetic algorithms and ant colony optimization.
The results obtained for certain benchmark problems outperformed the best-known values reported in previous studies. However, it was observed that in instances where the initial set of generated solutions was limited, the quality of the obtained solutions exhibited significant deviations compared to those reported in the literature.
6. Conclusions
This paper proposed an Estimation Distribution Algorithm for solving the job shop scheduling problem with blocking constraints, with the goal of minimizing the makespan. A method to generate consistently feasible solutions was developed. An experimental design was implemented to tune the algorithm and its parameters. Based on the obtained results, tests were conducted on the Lawrence benchmark problems and compared with results from previous studies in the literature. The proposed algorithm outperformed the results of [
18] in 16 out of 40 instances, [
40] in 36 out of 37 instances, [
48] in 3 out of 40 instances, and [
19] in 1 out of 40 instances.
Further research could extend to improve the solution obtained by the EDA using different probability distribution estimation functions. On the other hand, a hybrid metaheuristic between EDA and Tabu Search can be considered to solve the problem.
A direction of future work is to extend the methodology to the no-swap-allowed BJSSP considering other objective functions such as tardiness, tardy jobs, lateness, and energy efficiency. Finally, the incorporation of other constraints to the BJSSP could be considered, such as sequence-dependent setup times, transportation times, no wait and limited buffer.
The present work assumes deterministic and constant processing times, machines without intermediate storage capacity, and the allowance of job exchanges. As a direction for future research, it would be of interest to investigate more complex scenarios involving machines with limited capacities, no-swap-allowed among jobs, and processing times that vary with machine speed.
This study addresses the optimization of the BJSSP under the assumption that machines do not have available storage space and that job swapping between machines is permitted. In practical applications, machines may exhibit varying storage capacities, and in some cases, job swapping may not be feasible. Further validation of the proposed algorithm is necessary to tackle optimization problems that incorporate these additional constraints.