1. Introduction
Smart manufacturing enhances the manufacturing ecosystem by combining advanced information technology and manufacturing techniques, aiming to create a highly interconnected and intelligent production environment. However, the technology-driven development paradigm of smart manufacturing lacks consideration of human factors, which leads to a series of problems such as lack of flexibility to cope with dynamic environments and limitations in decision making for multi-scenario integration [
1]. In order to deal with the appealing problems, the European Union proposed the concept of Industry 5.0, which emphasizes that human needs and values should also be paid attention to on the basis of manufacturing intelligence. Meanwhile, Zhou et al. [
2] proposed the concept of the Human-Cyber-Physical System (HCPS) in smart manufacturing, which puts people in a dominant position in the manufacturing industry. Nowadays, it has become common for workers and machines to work together in scenarios of equipment manufacturing, vehicle manufacturing, and ship building [
3].
As production demand gradually develops towards small batches and multiple varieties, the complexity and individuality of product orders on the shop floor are increasing. From the point of view of the production cycle and implementation costs, such production orders are difficult to realize full automation and usually need to be completed through the collaboration of workers and machines. In other words, simple and repetitive tasks are processed by fully automated machines, while processes of higher flexibility are handed over to the workers to operate the machine for processing. Therefore, how to design scheduling algorithms that comprehensively consider the multiple elements of human–machine objects in the workshop has become the key to enhancing competitiveness for the increasingly competitive manufacturing industry.
In recent years, the integration of human factors in various types of shop floor scheduling systems has received increasing attention. Geng et al. [
4] proposed a multi-objective memetic algorithm to solve the hybrid flow shop scheduling problem with the objective of minimizing the maximum completion time, the total delay time, and the worker workload balance. Ferreira et al. [
5] provided two algorithms based on Constraint Programming and Genetic Algorithm, which effectively reduced the total working time of the human–machine collaborative task. For the flexible production unit system scheduling problem considering worker transfer, Wu et al. [
6] constructed a scheduling model that simultaneously optimizes the maximum completion time and worker labor time and proposed an adaptive decomposition algorithm incorporating deep reinforcement learning. Usman et al. [
7] proposed an objective discrete Jaya algorithm designed to solve the job shop problem with worker resource constraints considering ergonomic factors. For the distributed hybrid flow shop scheduling problem with dual resource constraints considering worker fatigue, Song et al. [
8] designed a Q-learning-driven multi-objective evolutionary algorithm. Bouaziz et al. [
9] investigated the impact of human operational behavior on the production system, constructed a model that can dynamically assign the worker’s operational state to each workstation, and proposed a simulation framework based on a multi-intelligent body system to verify the validity of the model. Rahman et al. [
10] considered the impact of skill level and work efficiency of operating workers on processing time, constructed a mathematical model with the objective of minimizing production cost and carbon emission, and proposed a genetic algorithm-based modelling algorithm to solve the problem. Betri et al. [
11] paid attention to the impact of aging and fatigue of workers on productivity, introduced a resting mechanism in the job shop scheduling with workload constraints, and designed a heuristic method to optimize human resource allocation.
Flexible job shops are widely used in many fields such as electronics manufacturing, aerospace, and automotive manufacturing [
12,
13], etc. It adds machine flexibility to the traditional job shop, allowing more processing machines to be selected for each process. Therefore, the flexible job shop scheduling problem (FJSP) can better fit the actual workshop production situation. At the same time, with the depth of research, more and more researchers have begun to incorporate human factors into the study of FJSP, which provides new ideas for realizing more efficient and flexible production scheduling. Liu et al. [
14] investigated the impact of workforce motivation effects on FJSP, proposed a distributionally robust chance-constrained formulation, and designed an improved heuristic algorithm. Lou et al. [
15] constructed a multi-objective FJSP model based on human factors by considering worker flexibility and learning-forgetting effects and proposed a multi-objective memetic algorithm based on learning and decomposition. Shi et al. [
16] introduced workers’ efficiency degradation due to boredom during repetitive operations into FJSP and designed a two-stage 3D particle swarm optimization algorithm to solve the problem. For sustainable scheduling of FJSP with economic, environmental, and human trade-offs, Destouet et al. [
17] constructed two multi-objective mathematical models to balance the three factors and proposed a Q-learning-driven non-dominated sorting genetic algorithm framework to improve the search performance and the diversity of solutions. Vital-Soto et al. [
18] proposed an improved elite multi-objective genetic algorithm to solve this scheduling problem with the optimization objectives of minimizing the maximum completion time, worker processing load, and weighted drag time. Teng [
19] investigated the FJSP incorporating tool switching and worker skill constraints and designed an improved genetic algorithm to solve it. Barak et al. [
20] introduced sequence-dependent setup time in a dual-resource FJSP and proposed an improved multi-objective invasive weed optimization algorithm aiming to minimize worker idle cost, machine load, and order advance or delay cost.
Although scholars have already considered the human–machine collaborative production model in the solution of FJSP, most scholars still focus mainly on resource planning research in static environments. In the actual production process, the scheduling system is frequently disturbed by unexpected factors, such as urgent customer orders, supply chain disturbances, equipment failures, etc., which make it necessary for the scheduling plan to be adjusted according to the actual situation. Therefore, the dynamic scheduling strategy, which aims to modify the scheduling plan in time after the disturbance occurs and minimize the negative impact on the production target, has emerged. Among the many dynamic disturbances, random job arrival is the most common type of scenario, which usually manifests itself as the temporary addition of new orders or tasks during the scheduling process. Therefore, the study of dynamic scheduling algorithms capable of fast and high-quality responses to random job arrival events has become a central issue in dynamic scheduling research surrounding FJSPs. Gao et al. [
21] proposed a two-stage artificial bee colony algorithm, where the first stage solves the static scheduling problem in a flexible job shop and the second stage solves the rescheduling problem when new jobs arrive. Zakaria [
22] describes a genetic algorithm-based rescheduling approach to solve the new order arrival problem by manipulating the available idle time on the machine and reordering operations. Li et al. [
23] designed a hybrid optimization method combining tabu search and the artificial bee colony algorithm to solve the dynamic scheduling problem. Zhang et al. [
24] built a dynamic simulation production environment with random job arrivals and machine failures and then designed a rescheduling method incorporating a tabu search component with the classical genetic algorithm to address the problem. Luo [
25] developed a Deep Q-Network algorithm to adaptively select composite rules for a dynamic FJSP with new job insertions. Zhao et al. [
26] proposed a DRL-based reactive scheduling method, proximal policy optimization with an attention-based policy network, to deal with the dynamic flexible job shop scheduling problem with random job arrivals for the total tardiness minimization. Lei et al. [
27] proposed a novel end-to-end hierarchical reinforcement learning framework for solving the large-scale FJSP with dynamic job arrivals in near real-time. Lu et al. [
28] designed a Double Deep Q-Network framework based on eight state features and eight compound scheduling rules for a flexible job shop scheduling problem with dynamic job arrivals and urgent job insertions.
From the above literature, for the global scheduling, it can be seen that most researchers divided the FJSP into a series of static subproblems. This makes it easy to fall into a local optimum. While for dynamic scheduling, it can be seen that the mainstream solution strategy is the complete rescheduling strategy. Every time a disturbance occurs, all of the remaining operations must be reallocated and rescheduled from scratch, discarding valuable scheduling information. It greatly increases the algorithm’s computational cost, which will disrupt the scheduling solution being executed on the production system, greatly reduce the stability of the production system, and even lead to production stagnation. Both methods have inherent limitations in finding the optimal solution and system stability guarantee.
To the best of our knowledge, there is no research to solve the FJSP in human–machine collaboration scenarios via job insertion algorithms. Moreover, the aforementioned works motivate us to introduce an improved job insertion algorithm to solve the FJSP with random job arrivals in near real time.
To address the above issues, this paper proposes an efficient job insertion algorithm that enhances search capability by proactively controlling the insertion behavior of jobs. Once a new job is assigned to the workshop, the proposed method can adaptively select the most suitable machine and insertion position for each operation, thereby maintaining scheduling stability while significantly improving local search quality and overall optimization efficiency. The main contributions of this paper are listed as follows:
- (1)
The HHCFJSP is modeled as a discrete manufacturing job shop dynamic scheduling problem, where each process of a job can be processed by only machines or by the collaboration of workers and machines.
- (2)
An efficient job insertion algorithm is designed to find a suitable machining resource and sequencing scheme for each new insertion process.
- (3)
A two-stage scheduling framework of static pre-scheduling and dynamic re-scheduling is established. In the pre-scheduling phase, a job insertion algorithm incorporating tabu search is used to solve the FJSP static scheduling problem. In the dynamic rescheduling phase, the job insertion algorithm is used to insert randomly arriving jobs.
The proposed job insertion algorithm will obtain a new high-quality scheduling scheme with only small changes to the original scheduling scheme, as well as improve the system response speed.
The remainder of the paper begins by formulating the HHCFJSP (see
Section 2). The proposed improved job insertion algorithm is introduced in
Section 3.
Section 4 details the two-stage scheduling framework of static pre-scheduling and dynamic re-scheduling.
Section 5 assesses the performance of the proposal by conducting comparison experiments. Finally, the conclusions are presented in
Section 6.
2. Problem Description
As shown in
Figure 1, the dynamic HHCFJSP with random job arrivals addressed in this paper can be described as follows:
Machines are divided into fully automated machines and semi-automated machines. Semi-automated processing machines require workers to participate in their operation. Through the interaction and communication between humans and semi-automated machines, processes that require a high degree of flexibility can be handled. In this paper, automated machines are abstracted as the machine resource, and semi-automated machines and workers are abstracted as the human resource.
There are n new jobs J = {J1, J2, …, Jn} that arrives at the shop floor successively, and is required to be processed on m machines M = {M1, M2, …, Mm} and l humans W = {W1, W2, …, Wl}. A job Ji contains Ni operations Oi = {Ji,1, Ji,2, …, Ji,Ni} to be finished in the given sequence, where an operation Oi,j can be processed by a set of available resources Mi,j M and humans Wi,j W, and pi,j,k denotes the processing time of Oi,j on Mk Mi,j or Wk Wi,j. The optimization scheduling problem aims to assign suitable processing equipment for each operation, determine the processing sequence on each machine, and establish the start and makespan for each operation, with the goal of optimizing one or more specified performance metrics within the scheduling system.
In practical production environments, the following constraints [
29] must be satisfied during the processing:
Each human/machine can process at most one operation at any given time.
Each operation can be assigned to only one human/machine from the eligible human/machine set at any given time.
Once processing of a job begins, it cannot be interrupted or preempted, and jobs cannot be added or removed during processing.
Jobs are independent of each other and share the same priority level for processing.
The processing sequence of the jobs follows the required technological routes, with precedence constraints existing among operations of the same job.
All jobs are available for processing at time zero.
In our case, the optimization goal is to minimize the makespan
Cmax described by:
where
CiNi denotes the completion time of the last operation of job
i.
To further introduce HHCFJSP,
Table 1 shows an example of a 4 × 4 problem, which includes four jobs, each job containing three or four operations. The set of available resources for
O1,1 of
J1 is
M1,
M2,
M3, corresponding to machining times of 6, 4, and 3, and so on. The randomly selected machines for each process and the corresponding machining times are given in the shaded portion of
Table 1. A Gantt chart corresponding to the above allocation scheme is given in
Figure 2, where the same color represents the same job.
3. Improved Job Insertion Strategy
The new job insertion strategy mainly involves two operations of deconstruction and reconstruction. The operation of deconstruction aims to remove some of the currently scheduled jobs, thereby reducing completion time. As for reconstruction, the removed jobs are inserted into the scheduling system successively to obtain a new scheduling scheme. In this paper, a job insertion strategy considering the global optimum is proposed for the HHCFJSP.
We used the data shown in
Figure 2 as an example for deconstruction. As shown in
Figure 3,
J1 is removed, and the remaining operations are shifted to the left, reducing
Cmax from 26 to 19. Next, the job insertion strategy is described in detail.
3.1. Main Framework
Traditional insertion heuristic algorithms commonly adopt the sequence-by-sequence greedy insertion strategy. Only one operation to be scheduled is selected at one time, which is inserted into the current scheduling result, and the scheduling state of the system is instantly updated after each insertion [
30]. Although this method is easy to implement and applicable to most heuristic construction processes, it exposes the following two significant drawbacks in complex scheduling problems:
- (1)
Obvious trap of local optimization: This strategy only considers the optimal insertion position of the current process at each step and lacks the global consideration of the overall scheduling structure of the jobs. This early optimal decision method will easily lead to the compression of the scheduling space for the remaining operations, making it difficult to insert them reasonably.
- (2)
Inefficient utilization of computing resources: Since the processes are inserted one by one, and the scheduling state needs to be reevaluated each time a process is inserted, including the information of resource occupation, priority conflict, etc., the frequent state update significantly increases the computational overhead and affects the overall efficiency of the solution in the case of a large scheduling scale.
In view of this, a job insertion strategy with global optimization search is proposed. Firstly, a bi-objective function is used in conjunction with a non-dominated sorting mechanism to screen potential insertion points. Secondly, an evaluation function is designed to evaluate each potential insertion point. Finally, a heuristic path search method similar to the A* algorithm is introduced to construct a complete insertion scheme. The flow of the proposed job insertion strategy is shown in
Figure 4, and the specific steps can be found in
Section 3.4. For the proposed strategy, the key techniques involve the selection of operation insertion locations, the design of the evaluation function, and the construction of the insertion scheme, each of which will be described in detail below.
3.2. Selection of Insertion Position
Traditional greedy insertion approaches may seem to be optimal at the early stage of selection, but it will be difficult to insert the remaining processes reasonably due to the compression of the subsequent scheduling space and eventually fall into the local optimum. To solve this problem, this paper introduced a two-dimensional vector evaluation mechanism. The insertion point is jointly evaluated from two dimensions during the insertion process of each operation: (1) Scheduling delay cost G; (2) insertion interval of the remaining processes H.
On the basis of two-dimensional evaluation metrics, the advantages of an insertion point are often characterized by a conflicting relationship between two objectives. For example, one insertion point may greatly compress the scheduling space for subsequent processes although the current delay is minimized. One insertion point, although more flexible, is accompanied by a larger delay cost. At this point, a simple weighted sum method or a single index sort method can easily lead to a bias in favor of one target, masking out the candidate insertion point that has significant advantages in another target. Consequently, this paper introduced a non-dominated sorting mechanism, which maps all candidate insertion points to a two-dimensional target space and identifies solutions that are not simultaneously dominated by other insertion points in both dimensions. This mechanism can effectively retain the potential insertion points that are optimally balanced among a set of objectives, avoiding the distortion of preferences caused by artificial weights, and thus improving the robustness and scalability of the insertion strategy.
Specifically, for each process, all its feasible insertion position segments on the target machine are enumerated. For each insertion point [s, e], the 2D evaluation vector (G, H) is calculated. The set of insertion points satisfying the Pareto frontier is extracted by the non-dominated sorting method and used to construct an A*-like insertion path search structure, which ensures that the insertion strategy achieves a balance between local optimization and global feasibility.
For example, as shown in
Figure 5, there are three machines with a total of 11 insertion positions to choose from when
O11 is re-inserted into the scheduling scheme. The scheduling cost of
O11 and the insertion intervals of the remaining processes are analyzed, and the results are shown in
Table 2. We performed a non-dominated sorting method of the results and retained the first level of non-dominated solutions (the set of Pareto fronts) as the potential insertion points. It can be found that three potential insertion locations will be retained, which are locations 1, 8, and 9, and the remaining locations are deleted.
3.3. Design of Evaluation Function
Since the delay distance and the insertion interval of the remaining processes are two independent metrics, an evaluation function is designed in this paper to evaluate the retained potential insertion location, as shown in Equation (2):
where
denotes the evaluation value of operation
i of job
j when the insertion position on machine
my is [
s,
e].
denotes the current scheduling cost.
denotes the minimum delay distance for the remaining processes in the remaining insertion interval.
The calculation of
is shown in Equation (3):
where
tq denotes the length of the insertion interval of remaining processes, and
tz denotes the sum of the minimum processing time of remaining processes.
3.4. Framework of A*-like Insertion Path Search
In order to improve the overall feasibility and consistency of the scheduling solution in the job insertion process, this paper incorporates the heuristic path search idea of the A* algorithm in the minimum-delayed insertion strategy and designs a path construction framework applicable to workpiece-level insertion scheduling. The framework considers each process of a workpiece as a stage node on the path and completes the reasonable insertion of the whole process sequence in the target workshop by gradually expanding the insertion path.
A backtracking mechanism is incorporated to prevent some quality solutions from being missed during the insertion process. Firstly, the first process is scheduled, and the relevant parameters are recorded in the candidate queue. Subsequently, the system continuously selects the insertion position with the optimal evaluation index from the queue to guide the arrangement of the subsequent processes. The algorithm terminates and outputs the globally optimal scheduling scheme when the last process is successfully placed. The specific steps are shown below:
Step1: Input information. The job j = {Oj,1, …, Oj,i, …, Oj,n} to be inserted and the existing scheduling scheme are known.
Step2: Initialize the insertion processes. The details are as follows:
- (1)
For the first process Oj,1, enumerate all feasible insertion points.
- (2)
Calculate the 2D evaluation vector (G, H) for each insertion point.
- (3)
Perform non-dominated sorting to extract potential insertion points.
- (4)
Evaluate each potential insertion point with the evaluation function fdelay.
- (5)
Add the potential insertion points as well as the evaluation value to the OPEN list.
Step3: Circulate insertion process. The details are as follows:
- (1)
Select the insertion position information with currently minimum fdelay from the OPEN list and move it into the CLOSE list.
- (2)
If the insertion position information is generated by the final process, skip to step 4. Otherwise, perform insertion for the next process Oj,i+1 (in a similar way to step 2).
- (3)
Add the potential insertion points for Oj,i+1 as well as the evaluation value to the OPEN list.
Step4: Backtrack insertion scheme. Backtrack sequentially from the last process to the first process and record the insertion positions of all processes.
Step5: Update. Perform the insertion operation in the backtracking path to insert all the processes into the scheduling solution in sequence.
To visualize the search process, we continue to take the insertion of
j1 = {
O11,
O12,
O13,
O14} as an example. For the first process
O11, all its feasible insertion points are shown in
Figure 5. We calculate the 2D evaluation vector (
G,
H) for each point and obtain three potential insertion points after non-dominated sorting of the results (as shown in
Table 2). Then we calculate the evaluation value of the 3 potential insertion points according to the evaluation function
fdelay in Equation (2). The potential insertion points as well as the evaluation value are added to the
OPEN list. The information of the insertion position with current minimum
fdelay is selected from the
OPEN list and added into the
CLOSE list.
After the first search, the
OPEN list and the
CLOSE list are shown in
Table 3.
O11_m3[5, 9], which has the smallest evaluation value in the
OPEN list, is selected to be removed from the
OPEN list and added to the
CLOSE list.
After the second search, the
OPEN list and the
CLOSE list are shown in
Table 4.
O11_m1[0, 5], which has the smallest evaluation value in the
OPEN list, is selected to be removed from the
OPEN list and added to the
CLOSE list.
We circulate the above operations until the last process is inserted.
Table 5 shows the full process of reinserting job 1 into the scheduling plan. After the 5th search, the search ends because the last process
O14 is included. The optimal insertion scheme
O11_m1[0, 5] →
O12_m3[6, 9] →
O13_m2[10, 15] →
O14_w1[14, 19] is backtracked in the
CLOSE list, and the insertion positions are shown in
Figure 6a. The scheduling scheme is re-decoded after the insertion is completed. As shown in
Figure 6b, the maximum completion time is reduced from 26 to 20 because the insertion position with the smallest total delay is selected for each process.