Next Article in Journal
Adaptive A*–Q-Learning–DWA Fusion with Dynamic Heuristic Adjustment for Safe Path Planning in Spraying Robots
Previous Article in Journal
Enhanced Mechanical Properties and Surface Finish of PLA 3D Prints via Combined Heat Annealing and Powder Coating
Previous Article in Special Issue
Evolutionary Algorithms for the Optimal Design of Robotic Cells: A Dual Approximation for Space and Time
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

The Estimation Distribution Algorithm for the Blocking Job Shop Scheduling Problem

by
John Valencia
1,* and
Elkin Rodríguez-Velásquez
2,*
1
Facultad de Ingenierías, Corporación Universitaria Remington, Medellín 050010, Colombia
2
Facultad de Minas, Universidad Nacional de Colombia, Medellín 050034, Colombia
*
Authors to whom correspondence should be addressed.
Appl. Sci. 2025, 15(17), 9339; https://doi.org/10.3390/app15179339
Submission received: 25 June 2025 / Revised: 30 July 2025 / Accepted: 31 July 2025 / Published: 26 August 2025

Abstract

The blocking job shop problem (BJSSP) is a variant of the classical job shop problem, where a job completed on one machine cannot be transferred to the next machine until the latter becomes available, causing the current machine to remain blocked. Many real-world problems have been modeled as BJSSP. This problem is classified as strongly NP-hard. The existing literature indicates that some proposed methods fail to guarantee the generation of feasible solutions during the search process, necessitating solution reconstruction. In this study, we developed an Estimation Distribution Algorithm (EDA) designed to operate strictly within the BJSSP feasible solution space. 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, ranged from 20 s for problems with 10 jobs and 5 machines to 600 s for those with 30 jobs and 10 machines. The proposed EDA begins by generating a random initial population of solutions. The makespan (Cmax) is then computed for each individual. The next generation is composed by three sets of individuals. The first group corresponds to a percentage of the best-performing individuals of the current generation. The second group is generated by using a probability distribution function derived from the structure of the selected solutions, while the remaining individuals are created randomly to enhance the algorithm’s exploratory capability. Our results demonstrate that the proposed method improves upon some of the previously best-known results in the current state of the art.

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

  • n : n u m b e r   o f   j o b s ;
  • m : n u m b e r   o f   m a c h i n e s ;
  • O i , u : u t h   o p e r a t i o n   o f   j o b   j i ;
  • M i , u : p r o c e s s i n g   m a c h i n e s   o f   o p e r a t i o n   o i , u ;
  • p i , u : P r o c e s s i n g   t i m e   o f   o p e r a t i o n   o i , u .

3.1.2. Sets

  • J = j 1 , j 2 , j 3 , , j n   s e t   o f   j o b s ;
  • M = M 1 , M 2 , M 3 , , M m   s e t   o f   m a c h i n e s ;
  • I = o 1,1 , o 1,2 , o 1,3 , , o n , m   s e t   o f   o p e r a t i o n s .

3.1.3. Variables

  • s i , u : S t a r t   t i m e   o f   o p e r a t i o n   o i , u ;
  • c i , u : C o m p l e t i o n   t i m e   o f   o p e r a t i o n   o i , u ;
  • c m a x : M a k e s p a n .

3.1.4. Objective Function

M i n   c m a x = max c j , m ,   j   1 , , n

3.1.5. Constraints

s j , v 0     j 1 , , n
s j , v + p j , v s j , v + 1     j 1 , , n
  i , j 1 , , n , i j , M i , u = M j , v , s j , v + p j , v s i , u   o r   s i , u + p i , u s j , v
s j , v > s i , u , i , j 1 , , n , i j , M i , u = M j , v ,   t h e n   s j , v s i , u + 1 u < n
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

  • A T i : Maximum completion time on machine i. It is updated as the program is built.
  • S t a t e i : 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.
  • M t p r o g : Set of machine(s) on which an operation can be scheduled at time tprog.
  • M t p r o g C : Complement set of M t p r o g .
  • J S M i : Set of jobs that have their initial operation on machine i.
  • A T : Set of completion times A T i of all machines.
  • Inputs:
  • Jobs J{1, 2, }, Machines M {1, 2, }, Operations O{ o 1,1 ,   o 1,2 , }, where o j , k , is the k-th operation of job j.
  • Routes R{ m 1,1 ,   m 2,2 , }, where m j , k , is the machine on which the operation k of job j is performed.
  • Processing time t{ t 1,1 , t 2,2 , }, where t j , k 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{ ( o j , k ,   m j , k ,   t _ i n i ,   t _ f i n ) ,     } 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 p i j m g 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 p i j m 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).
p i j m g + 1 = 1 α p i j m g + α i R k = 1 R I i j m k , i , j , m
where α is a value between 0 and 1 and represents the learning rate of P, and I i j m k 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 B e s t E D A B e s t O B e s t O 100 % , 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.

Author Contributions

Writing, J.V. and E.R.-V.; review, J.V. and E.R.-V.; editing, J.V. and E.R.-V. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding. The APC was partially funded by Corporación Universitaria Remington.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

Abbreviations

AGVAutomated Guided Vehicle
ARPDAverage Relative Percentage Deviation
BJSSPBlocking Job Shop Scheduling Problem
CMAXMaximum Completion Time
EDAEstimation Distribution Algorithm
NP-hardNon-deterministic Polynomial Difficult Problem
PSOParticle Swarm Optimization

References

  1. Zeiträg, Y.; Figueira, J.R. A novel machine-learning rolling horizon heuristic for dynamic lot-sizing and job shop scheduling problems. Int. J. Prod. Res. 2025, 63, 1–27. [Google Scholar] [CrossRef]
  2. Hu, M.; Zhang, W.; Ren, X.; Qin, S.; Chen, H.; Zhang, J. A novel resilient scheduling method based on multi-agent system for flexible job shops. Int. J. Prod. Res. 2025, 1–21. [Google Scholar] [CrossRef]
  3. Dong, Y.; Liao, W.; Xu, G. Multi-Objective Optimization of Energy-Efficient Multi-Stage, Multi-Level Assembly Job Shop Scheduling. Appl. Sci. 2024, 14, 8712. [Google Scholar] [CrossRef]
  4. Mitić, P.; Petrović Savić, S.; Djordjevic, A.; Erić, M.; Sukić, E.; Vidojević, D.; Stefanovic, M. The Problem of Machine Part Operations Optimal Scheduling in the Production Industry Based on a Customer’s Order. Appl. Sci. 2023, 13, 11049. [Google Scholar] [CrossRef]
  5. Lange, J.; Werner, F. A permutation-based heuristic method for the blocking job shop scheduling problem. IFAC-Pap. 2019, 52, 1403–1408. [Google Scholar] [CrossRef]
  6. Shieh, C.S.; Nguyen, T.T.; Lin, W.W.; Nguyen, D.C.; Horng, M.F. Modified coral reef optimization methods for job shop scheduling problems. Appl. Sci. 2022, 12, 9867. [Google Scholar] [CrossRef]
  7. Freud, D.; Elalouf, A. A Memetic Algorithm Approach for the Job-Shop Scheduling Problem with Variable Machine Efficiency and Maintenance Activities. Appl. Sci. 2025, 15, 1431. [Google Scholar] [CrossRef]
  8. Mogali, J.K.; Barbulescu, L.; Smith, S.F. Efficient primal heuristic updates for the blocking job shop problem. Eur. J. Oper. Res. 2021, 295, 82–101. [Google Scholar] [CrossRef]
  9. Lange, J.; Werner, F. Approaches to modeling train scheduling problems as job-shop problems with blocking constraints. J. Sched. 2018, 21, 191–207. [Google Scholar] [CrossRef]
  10. Liu, S.Q.; Kozan, E. Scheduling trains as a blocking parallel-machine job shop scheduling problem. Comput. Oper. Res. 2009, 36, 2840–2852. [Google Scholar] [CrossRef]
  11. Doshi, H.; Tripathi, A.; Agarwal, K.; Khadilkar, H.; Kalyanakrishnan, S. Linear-time optimal deadlock detection for efficient scheduling in multi-track railway networks. In Proceedings of the Thirty-Third International Joint Conference on Artificial Intelligence, Jeju, Republic of Korea, 3–9 August 2024; pp. 5799–5807. [Google Scholar]
  12. Mati, Y.; Xie, X. Multiresource shop scheduling with resource flexibility and blocking. IEEE Trans. Autom. Sci. Eng. 2011, 8, 175–189. [Google Scholar] [CrossRef]
  13. Zeng, C.; Tang, J. Blocking job shop cell scheduling with automated guided vehicles. In Proceedings of the 11th World Congress on Intelligent Control and Automation, Shenyang, China, 29 June–4 July 2014; pp. 438–442. [Google Scholar] [CrossRef]
  14. Chen, H.; Zhou, S.; Li, X.; Xu, R. A hybrid differential evolution algorithm for a two-stage flow shop on batch processing machines with arbitrary release times and blocking. Int. J. Prod. Res. 2014, 52, 5714–5734. [Google Scholar] [CrossRef]
  15. Hall, N.G.; Sriskandarajah, C. A survey of machine scheduling problems with blocking and no-wait in process. Oper. Res. 1996, 44, 510–525. [Google Scholar] [CrossRef]
  16. Pacciarelli, D.; Pranzo, M. Production scheduling in a steelmaking-continuous casting plant. Comput. Chem. Eng. 2004, 28, 2823–2835. [Google Scholar] [CrossRef]
  17. Romero, J.; Puigjaner, L.; Holczinger, T.; Friedler, F. Scheduling intermediate storage multipurpose batch plants using the S-graph. AIChE J. 2004, 50, 403–417. [Google Scholar] [CrossRef]
  18. Mascis, A.; Pacciarelli, D. Job-shop scheduling with blocking and no-wait constraints. Eur. J. Oper. Res. 2002, 143, 498–517. [Google Scholar] [CrossRef]
  19. Oddi, A.; Rasconi, R.; Cesta, A.; Smith, S.F. Iterative improvement algorithms for the blocking job shop. In Proceedings of the Twenty-Second International Conference on Automated Planning and Scheduling, Atibaia, Brazil, 25–29 June 2012. [Google Scholar]
  20. Mascis, A.; Pacciarelli, D. Machine Scheduling via Alternative Graphs; Report DIA-46-2000; Dipartimento di Informatica e Automazione, Università Roma Tre: Rome, Italy, 2000. [Google Scholar]
  21. Pranzo, M.; Pacciarelli, D. An iterated greedy metaheuristic for the blocking job shop scheduling problem. J. Heuristics 2016, 22, 587–611. [Google Scholar] [CrossRef]
  22. Zeng, C.; Tang, J.; Yan, C. Scheduling of no buffer job shop cells with blocking constraints and automated guided vehicles. Appl. Soft Comput. J. 2014, 24, 1033–1046. [Google Scholar] [CrossRef]
  23. Liu, S.Q.; Kozan, E. A hybrid metaheuristic algorithm to optimise a real-world robotic cell. Comput. Oper. Res. 2017, 84, 188–194. [Google Scholar] [CrossRef]
  24. Louaqad, S.; Kamach, O. A disjunctive graph for the Job Shop Problem with Transport and blocking no wait constraints. In Proceedings of the 2018 International Colloquium on Logistics and Supply Chain Management (LOGISTIQUA), Tangier, Morocco, 26–27 April 2018; pp. 146–151. [Google Scholar]
  25. Louaqad, S.; Kamach, O.; Iguider, A. Scheduling for job shop problems with transportation and blocking no-wait constraints. J. Theor. Appl. Inf. Technol. 2018, 96, 2782–2792. [Google Scholar]
  26. Koulamas, C.; Panwalkar, S.S. The two-stage no-wait/blocking proportionate super shop scheduling problem. Int. J. Prod. Res. 2018, 57, 2956–2965. [Google Scholar] [CrossRef]
  27. Hayasaka, T.; Hino, R. Multiple exchanges of job orders for no-buffer job shop scheduling problem. J. Adv. Mech. Des. Syst. Manuf. 2012, 6, 661–671. [Google Scholar] [CrossRef]
  28. Mejía, G.; Montoya, C. Scheduling manufacturing systems with blocking: A Petri net approach. Int. J. Prod. Res. 2009, 47, 6261–6277. [Google Scholar] [CrossRef]
  29. Liu, S.Q.; Kozan, E.; Masoud, M.; Zhang, Y.; Chan, F.T.S. Job shop scheduling with a combination of four buffering constraints. Int. J. Prod. Res. 2017, 56, 3274–3293. [Google Scholar] [CrossRef]
  30. Gholami, O.; Törnquist Krasemann, J. A heuristic approach to solving the train traffic re-scheduling problem in real time. Algorithms 2018, 11, 55. [Google Scholar] [CrossRef]
  31. De Moerloose, P.; Maenhout, B. A two-stage local search heuristic for solving the steelmaking continuous casting scheduling problem with dual shared-resource and blocking constraints. Oper. Res. 2023, 23, 2. [Google Scholar] [CrossRef]
  32. Gröflin, H.; Klinkert, A. Feasible insertions in job shop scheduling, short cycles and stable sets. Eur. J. Oper. Res. 2007, 177, 763–785. [Google Scholar] [CrossRef]
  33. Brucker, P.; Kampmeyer, T. Cyclic job shop scheduling problems with blocking. Ann. Oper. Res. 2008, 159, 161–181. [Google Scholar] [CrossRef]
  34. Lakehal, M.; Aissani, A.; Bouibede, K. New algorithm of scheduling based on prioriry rules on machines to solve bi-criteria blocking job shop scheduling problem. In Proceedings of the 12th International Symposium on Programming and Systems, ISPS 2015, Algiers, Algeria, 28–30 April 2015; pp. 149–156. [Google Scholar]
  35. Dabah, A.; Bendjoudi, A.; AitZai, A. An efficient tabu search neighborhood based on reconstruction strategy to solve the blocking job shop scheduling problem. J. Ind. Manag. Optim. 2017, 13, 2015–2031. [Google Scholar] [CrossRef]
  36. Aitzai, A.; Benmedjdoub, B.; Boudhar, M. A branch and bound and parallel genetic algorithm for the job shop scheduling problem with blocking. Int. J. Oper. Res. 2012, 14, 343. [Google Scholar] [CrossRef]
  37. Mati, Y.; Lahlou, C.; Dauzère-Pérès, S. Modelling and solving a practical flexible job-shop scheduling problem with blocking constraints. Int. J. Prod. Res. 2010, 49, 2169–2182. [Google Scholar] [CrossRef]
  38. Sauvey, C.; Trabelsi, W.; Sauer, N. Mathematical model and evaluation function for conflict-free warranted makespan minimization of mixed blocking constraint job-shop problems. Mathematics 2020, 8, 121. [Google Scholar] [CrossRef]
  39. Masoud, M.; Kozan, E.; Kent, G. Hybrid metaheuristic techniques for optimising sugarcane rail operations. Int. J. Prod. Res. 2014, 53, 2569–2589. [Google Scholar] [CrossRef]
  40. Hou, P.; Wang, D.; Li, X. An improved harmony search algorithm for blocking job shop to minimize makespan. In Proceedings of the 2012 IEEE 16th International Conference on Computer Supported Cooperative Work in Design (CSCWD), Wuhan, China, 23–25 May 2012; IEEE: Piscataway, NJ, USA, 2012; pp. 763–768. [Google Scholar]
  41. AitZai, A.; Boudhar, M. Parallel branch-and-bound and parallel PSO algorithms for job shop scheduling problem with blocking. Int. J. Oper. Res. 2013, 16, 14–37. [Google Scholar] [CrossRef]
  42. Wong, V.W.H.; Kim, S.H.; Park, J.; Park, J.; Law, K.H. Generating dispatching rules for the interrupting swap-allowed blocking job shop problem using graph neural network and reinforcement learning. J. Manuf. Sci. Eng. 2024, 146, 011009. [Google Scholar] [CrossRef]
  43. Muhlenbein, H.; Paab, G. From Recombination of Genes to the Estimation of Distributions I. Binary Parameters: Parallel Problem Solving from Nature. In Proceedings of the PPSN IV, 4th International Conference, Berlin, Germany, 22–26 September 1996; pp. 178–187. [Google Scholar]
  44. Du, Y.; Li, J.Q.; Luo, C.; Meng, L.L. A hybrid estimation of distribution algorithm for distributed flexible job shop scheduling with crane transportations. Swarm Evol. Comput. 2021, 62, 100861. [Google Scholar] [CrossRef]
  45. Larrañaga, P.; Exteberria, R.; Lozano, J.; Peña, J. Optimization in Continuous Domains by Learning and Simulation of Gaussian Networks. In Proceedings of the 2000 Genetic and Evolutionary Computation Conference Workshop Program, Las Vegas, NV, USA, 8–12 July 2000; En Wu, A., Ed.; pp. 201–204. [Google Scholar]
  46. Wang, S.Y.; Wang, L.; Liu, M.; Xu, Y. An effective estimation of distribution algorithm for solving the distributed permutation flow-shop scheduling problem. Int. J. Prod. Econ. 2013, 145, 387–396. [Google Scholar] [CrossRef]
  47. Montgomery, D.C. Design and Analysis of Experiments; John Wiley & Sons: Hoboken, NJ, USA, 2017. [Google Scholar]
  48. Gröflin, H.; Pham, D.N.; Bürgy, R. The flexible blocking job shop with transfer and set-up times. J. Comb. Optim. 2011, 22, 121–144. [Google Scholar] [CrossRef]
Table 1. Pseudocode description.
Table 1. Pseudocode description.
LineActionDescription
1For each machine iM
2 S t a t e i ← “Free”, A T i ← 0 and tprog ← 0Initialize the main scheduling variables
3For each machine iM
4→Instance job set J S M i Find the set of jobs starting at machine i and order them randomly
5→Generate Pj ~ U(0,1) Determine if the first job in set J S M i is scheduled or not according to a probability Pj and proceed accordingly
6→ Schedule_Probabilistic(j, Pj, J S M i , i, tprog)
7→Update(tprog, AT, M, Mtprog, M t p r o g C )Update the main scheduling variables and machines sets
8While there are non-scheduled operationsRemaining operations scheduling loop
9→ For each machine i M t p r o g C Process machines not ready for immediate scheduling
10→→ If A T i  tprog and S t a t e i = “Free” If machine i is idle and ready to process at tprog
11→→→ If there are schedulable active jobs on iIf there are schedulable jobs that started processing before tprog
12→→→→Select job j with lowest index Schedule the next operation of job j and set free its previous machine
13→→→→Schedule_Next_Op(j, tprog, i)
14→→→→Free_Previous_Machine(j)
15→→→ Else if J S M i ≠ ∅Else if there are jobs that have not yet begun processing
16→→→→Generate Pj ~ U(0,1) See lines 5, 6
17→→→→ Schedule_Probabilistic(j, Pj, J S M i , i, tprog)
18→→ Else
19→→→ S t a t e i ← “Free”Set machine i free
20→ For each machine iMtprogProcess machines ready to schedule
21→→ If i is idle and S t a t e i   = “Free”Machine i is neither blocked nor scheduled at tprog
22→→→ If there are schedulable active jobs on iSee lines 11 to 14
23→→→→Select job j with lowest index
24→→→→Schedule_Next_Op(j, tprog, i)
25→→→→Free_Previous_Machine(j)
26→→→ Else if J S M i ≠ ∅See lines 15 to 17
27→→→→Generate Pj ~ U(0,1)
28→→→→ Schedule_Probabilistic(j, Pj, J S M i i, tprog)
29→→ Else
30→→→ S t a t e i ← “Free”Set machine i free
31→→ If M t p r o g   > 1If there is more than one machine ready to schedule
32→→→ If there are swappable jobs on the machines in M t p r o g If job swap is possible among some of the machines in M t p r o g
33→→→→ For each job j and machine ii implied in the swapping
34→→→→→Schedule_Next_Op(j, tprog, ii)See lines 13 to 14
35→→→→→Free_Previous_Machine(j)
36→→→ →→Update MtprogMtprog—{ii}Remove ii from the active machine set
37→→→Else
38→→→ →for each mtMtprogSet the state of all machines in Mtprog to “Blocked”
39→→→ →→ State_mt ← “Blocked”
40→→ Else
41→→→ S t a t e i ← “Blocked”Set the state of the machine in Mtprog to “Blocked”
42Update(tprog, AT, M, Mtprog, M t p r o g C )Update the main scheduling variables and machines sets
Table 2. Description of subprograms.
Table 2. Description of subprograms.
SubprogramsDescription
Schedule the next operation (j, tprog, i)Schedules operation o j , k on machine i =   m j , k , starting at tprog and ending at C j   = tprog + t j , k . Updates S t a t e i   A T i , and adds to set S.
Free_Previous_Machine(j)Sets S t a t e i ← “Free” to release the previous machine used by job j.
Schedule_Probabilistic(j, Pj, J S M i , i, tprog)If Pj < Pasig, call Schedule_Next_Op, and remove j from J S M i . Else, set S t a t e i ← “Free”.
Update(tprog, AT, M, Mtprog, M t p r o g C )Sets tprog = Min{ A T i }
Table 3. Problem with 5 jobs and 5 machines.
Table 3. Problem with 5 jobs and 5 machines.
JobRouteProcessing Time
12-1-3-4-55,3, 2, 4, 1
21-3-5-2-47, 4, 1, 3, 2
32-5-1-3-43, 4, 2, 1, 2
43-2-4-5-13, 7, 5, 4, 2
51-4-2-3-54, 2, 5, 1, 3
Table 4. Factors and levels.
Table 4. Factors and levels.
Factor-NotationLevels
Initial population-A5000–15,000
Probability of assignment-B50–80%
Selection rate-C5–20%
Learning rate α-D30–70%
Generations-E40–80
Table 5. Experimental design results.
Table 5. Experimental design results.
Problem SizeResponse VariableSignificant FactorsNegative FactorsPositive Factors
15 × 5Cmax-B, CA, D, E
20 × 5CmaxBDEA, C, D, EB
20 × 10CmaxDEEA, B, C, E
30 × 10CmaxB, C, E, CEA, B, D, EC
Table 6. Results comparison for the Lawrence instances.
Table 6. Results comparison for the Lawrence instances.
InstancenxmEDA[18]ARPD[21]ARPD[40]ARPD[48]ARPD[19]ARPD[35]ARPD
La0110 × 59109001.11%79314.75%1137−19.96%82010.98%79314.75%79314.75%
La0210 × 58648541.17%7938.95%1055−18.10%8175.75%8156.01%7938.95%
La0310 × 58607997.63%71520.28%1088−20.96%74016.22%7908.86%71520.28%
La0410 × 58128120.00%7439.29%971−16.37%7646.28%7843.57%7439.29%
La0510 × 57497154.76%66412.80%1116−32.89%66612.46%66412.80%66412.80%
La0615 × 511611206−3.73%10649.12%1493−22.24%1180−1.61%11312.65%10767.90%
La0715 × 511641183−1.61%103812.14%1737−32.99%10847.38%11065.24%102913.12%
La0815 × 5121711991.50%106214.60%1569−22.43%11258.18%11297.79%106014.81%
La0915 × 512671279−0.94%11856.92%1943−34.79%12233.60%12670.00%11886.65%
La1015 × 512071248−3.29%11108.74%1533−21.27%12030.33%11683.34%11108.74%
La1120 × 515911704−6.63%14668.53%2189−27.32%15840.44%15204.67%14757.86%
La1220 × 513041487−12.31%12722.52%2122−38.55%1391−6.25%1308−0.31%12762.19%
La1320 × 515461620−4.57%14655.53%2296−32.67%15410.32%15281.18%14566.18%
La1420 × 515441697−9.02%15062.52%2423−36.28%1620−4.69%15062.52%14724.89%
La1520 × 516231779−8.77%15176.99%2371−31.55%1630−0.43%15713.31%14908.93%
La1610 × 101445122418.06%106036.32%110930.30%114226.53%115025.65%106036.32%
La1710 × 101311106123.56%92941.12%1719−23.73%97734.19%99631.63%93040.97%
La1810 × 101432115723.77%102539.71%NR107832.84%113526.17%102539.71%
La1910 × 101390119416.42%104333.27%1786−22.17%109327.17%110825.45%105332.00%
La2010 × 101500120424.58%106041.51%1624−7.64%115429.98%111934.05%106041.51%
La2115 × 10183618111.38%152120.71%2701−32.03%154518.83%157916.28%146725.15%
La2215 × 10174516446.14%137926.54%2566−32.00%145819.68%137926.54%134729.55%
La2315 × 10186318321.69%149724.45%3044−38.80%157018.66%149724.45%144229.20%
La2415 × 10189517289.66%149826.50%3350−43.43%154622.57%152324.43%139835.55%
La2515 × 101934170213.63%142435.81%2211−12.53%149929.02%156123.89%137340.86%
La2620 × 1022132301−3.82%20358.75%4024−45.00%21254.14%20358.75%192914.72%
La2720 × 102918251316.12%210438.69%NR217534.16%215535.41%196048.88%
La2820 × 10244023991.71%202720.37%3070−20.52%207117.82%206218.33%188029.79%
La2920 × 10240621929.76%189826.77%3792−36.55%199020.90%189826.77%180333.44%
La3020 × 1024012480−3.19%209514.61%3173−24.33%209714.50%214711.83%196522.19%
La3130 × 1033573394−1.09%292114.93%NR31377.01%292114.93%271523.65%
La3230 × 1035523902−8.97%32379.73%NR33167.12%32379.73%298718.92%
La3330 × 1032503393−4.21%284414.28%NR30616.17%284414.28%267221.63%
La3430 × 1032903686−10.74%284815.52%4561−27.87%31464.58%284815.52%272920.56%
La3530 × 1033703550−5.07%292315.29%NR31716.28%292315.29%277621.40%
La3615 × 152496203422.71%179339.21%3369−25.91%191930.07%195227.87%171345.71%
La3715 × 152683224419.56%195237.45%3009−10.83%202932.23%195237.45%180248.89%
La3815 × 152479199424.32%170845.14%3187−22.22%182835.61%188031.86%163052.09%
La3915 × 152585215220.12%178344.98%3787−31.74%188237.35%181342.58%169752.33%
La4015 × 152476208218.92%177739.34%3345−25.98%192528.62%192828.42%169246.34%
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

Valencia, J.; Rodríguez-Velásquez, E. The Estimation Distribution Algorithm for the Blocking Job Shop Scheduling Problem. Appl. Sci. 2025, 15, 9339. https://doi.org/10.3390/app15179339

AMA Style

Valencia J, Rodríguez-Velásquez E. The Estimation Distribution Algorithm for the Blocking Job Shop Scheduling Problem. Applied Sciences. 2025; 15(17):9339. https://doi.org/10.3390/app15179339

Chicago/Turabian Style

Valencia, John, and Elkin Rodríguez-Velásquez. 2025. "The Estimation Distribution Algorithm for the Blocking Job Shop Scheduling Problem" Applied Sciences 15, no. 17: 9339. https://doi.org/10.3390/app15179339

APA Style

Valencia, J., & Rodríguez-Velásquez, E. (2025). The Estimation Distribution Algorithm for the Blocking Job Shop Scheduling Problem. Applied Sciences, 15(17), 9339. https://doi.org/10.3390/app15179339

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

Article Metrics

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