Next Article in Journal
Digital Restoration and 3D Virtual Space Display of Hakka Cardigan Based on Optimization of Numerical Algorithm
Previous Article in Journal
Research on a Permanent Magnet Synchronous Motor Sensorless Anti-Disturbance Control Strategy Based on an Improved Sliding Mode Observer
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Heuristic Integrated Scheduling Algorithm Based on Improved Dijkstra Algorithm

1
College of Mathematics and Computer, Jilin Normal University, Siping 136000, China
2
School of Computer Science and Technology, Harbin University of Science and Technology, Harbin 150080, China
*
Authors to whom correspondence should be addressed.
Electronics 2023, 12(20), 4189; https://doi.org/10.3390/electronics12204189
Submission received: 14 August 2023 / Revised: 5 October 2023 / Accepted: 5 October 2023 / Published: 10 October 2023

Abstract

:
In the process of the integrated scheduling of multi-variety and small-batch complex products, the process structure and attribute characteristics are often ignored, which affects the overall scheduling effect. Aiming at solving this problem, a heuristic integrated scheduling algorithm (HIS-IDA) based on the improved Dijkstra algorithm is proposed. The algorithm takes the processing time of the process itself as the path value of the preceding and the following adjacent processes. Firstly, the improved Dijkstra algorithm prioritized the scheduling of the process sequence with long longitudinal paths and realized the “longitudinal optimization” of the integrated scheduling. Secondly, the layer priority strategy is used to shorten the interval time of process processing and realize the “horizontal optimization” of integrated scheduling. On the basis of “vertical and horizontal optimization”, the idle time of the equipment is further reduced by using the process priority strategy of the leaf node, and the “idle optimization” of the integrated scheduling is realized, so as to optimize the overall effect of the integrated scheduling. The effectiveness and superiority of the algorithm are proved using comparison analysis.

1. Introduction

The integrated scheduling problem is to achieve optimal time efficiency and equipment utilization by scheduling limited equipment, human resources, and other resources [1,2]. That is, the overall processing time is short, and the equipment utilization rate is high. And it has always been a pertinent topic for experts and scholars since it has a direct impact on the production efficiency and social benefit of enterprises.
With the development of computer technology and the change in social demand, product scheduling in the manufacturing industry is transformed from single machine scheduling to distributed scheduling [3,4]. In the era of big data and artificial intelligence, product scheduling methods based on cloud computing and fog computing are also developing rapidly [5,6]. Complex products [7], that is, the use of high-tech, the use of complex processes, the number of parts, the level of product structure, the relationship between parts and products, the value of high-value products, and their demand are becoming more and more personalized and diversified. So, the problem of product scheduling in multi-variety and small-batch complex processes needs to be solved urgently [8]. Multi-variety and small-batch complex products refer to a production method in which a greater number of product types (e.g., specifications, models, sizes, shapes, colors, etc.) are used as the object of production, and a smaller number of each type of product is produced in a specified production period. Generally speaking, this mode of production and mass production mode, compared with its low efficiency, high cost, not being easy to achieve automation, production planning, and organization, is more complex. In order to better study the scheduling problem of complex products, Xie et al. proposed integrated scheduling, which considers the processing and assembly of the products simultaneously. And a series of scheduling optimization algorithms are given for this.
For example, the job-shop scheduling algorithm based on the ACPM (allied critical path method) and BFSM (best fit scheduling method) [9] takes into account the process compactness of key equipment. The dynamic job-shop scheduling algorithm with a dynamic set of operation having priority [10] proposes the strategy combined by layer first, short time, long path, and dynamic adjustment. The dynamic critical path multi-product manufacturing scheduling algorithm based on the operation set [11] realizes the two-way scheduling optimization, with vertical being the main consideration. The integrated scheduling algorithm with a no-wait constraint operation group [12] puts forward the strategy of “first grouping, then determining the scheduling order according to the number of working procedures in the group”, which has the constraint condition of connection. The time-selective integrated scheduling algorithm considering the compactness of serial processes [13] proposes a time-selective scheduling strategy based on process sequence sequencing.
These algorithms achieve two-way optimization by optimizing the path length of the longitudinal machining process, increasing the tightness of the serial process and increasing the parallel processing strength of the process. However, the problem of ignoring one another in horizontal and vertical optimization still exists. Vertical optimization refers to the optimization of the serial tightness of the process, while horizontal optimization refers to the optimization of the parallel processing of the device [14,15], such as the ACPM- and BFSM-based dynamic job-shop algorithm optimizing the longitudinal processing process [9] while ignoring the parallel processing of equipment. And in the integrated scheduling algorithms for working group linkages [12], when the processing time of the upper leaf node of the short path on the same equipment is greater than the starting processing time of the non-leaf node on the long path, the first applicable scheduling will fail. The reason for this is that the tight degree of cohesion between processes is increased by neglecting the scheduling of leaf nodes. In the timing algorithm considering serial process tightness [13], only when a process group is scheduled does the subsequent process group begin to schedule since the processing gap is formed in the scheduling process sequence of the process group.
In order to improve the shortcomings of ignoring the processing time of the middle node process of the complex product process tree (process tree is the flow chart of the whole product process) and the processing time of process itself in the integrated scheduling of multi-variety and small-batch complex products in recent years [16,17], which affects the collaborative processing ability of the integrated scheduling equipment resources, a heuristic integrated scheduling algorithm based on the improved Dijkstra algorithm is proposed. The integrated scheduling problem of complex products with many layers of “long path” tree is studied in this paper. And based on the idea of longitudinal optimization, this paper increases the horizontal optimization, which not only improves the tightness of the serial process but also effectively avoids the long waiting of processing equipment and optimizes the overall effect of integrated scheduling.

2. Problem Definition

As a kind of NP problem [18], the integrated scheduling problem has been known as a pertinent topic in combinatorial optimization [19,20,21,22,23], and it has produced many related algorithms. The improved Dijkstra algorithm [24], integrated scheduling algorithms for working group linkages, and the time-selecting integrated scheduling algorithm considering serial process tightness will be discussed later. Graph theoretic algorithms [25], especially one of the classical algorithms: Dijkstra algorithm for finding the shortest path [26,27,28], have high efficiency of the optimal solution for solving the NP problem, and they are well applied in the specific application field. It provides new ideas and methods for solving the integrated scheduling problem.
The Dijkstra algorithm is a classical algorithm for finding the shortest path, which is proposed by Edsger Wybe Dijkstra [26,29], a Dutch computer scientist. The Dijkstra algorithm uses breadth-first traversal to calculate the shortest path from any node in a weighted directed graph to other nodes [26]. Therefore, it is reasonable to use the Dijkstra algorithm to obtain the approximate optimal solution of the original problem because the directed graph of a complex product process tree belongs to the category of the graph for this kind of NP problem. A heuristic algorithm is an algorithm based on intuitive or empirical construction, which gives a feasible solution to each instance of the combinatorial optimization problem to be solved at an acceptable cost (computational time and space) [30]. It is helpful to analyze the performance and application domain of the algorithm, and the unique advantages and disadvantages of each algorithm can be found by comparison, so as to improve the algorithm structure, parameters, and operators, and develop various possible efficient hybrid algorithms [31,32].
In integrated scheduling, according to the digraph of a complex product process tree with long longitudinal paths, the process self-processing time of each node is taken as the path assignment in the Dijkstra algorithm. Then, the improved Dijkstra algorithm is used to design an integrated scheduling algorithm based on layer priority and the leaf node priority scheduling strategy [33,34,35]. The structure characteristic and process attribute value of complex product process trees are taken as the key factors that affect the overall optimization result of integrated scheduling. Firstly, to reduce the overall time of complex products vertically, the process sequence is scheduled according to the sequence of process path values from large to small by using the improved Dijkstra algorithm. Secondly, the serial tightness of the machining process sequence is improved horizontally using the layer priority strategy. Finally, the leaf node process priority strategy [36] is used to make full use of the idle time on the processing equipment so as to improve the resource cooperative processing ability of the processing equipment and realize the optimization of the integrated scheduling of complex products.
The requirements of integrated scheduling are shown in a list.
(1) The processing process diagram of complex products is a tree-oriented structure diagram. The node represents the processing process, and the arrow direction indicates the relationship between the tight front and back constraints;
(2) Each process node has three attributes: process serial number, corresponding processing equipment serial number, and its own processing time;
(3) Processing and assembly are uniformly called processing;
(4) The same equipment can only be processed in one continuous process at a certain time;
(5) The same equipment does not exist and only one processing unit can be matched for each process.
Definition 1. 
Process layer priority
According to the principle of reducing the parallel process processing time, the priority of processing is put forward based on the processing process in a complex product process tree, that is, the priority of process scheduling is defined as the priority of process in the process tree of complex products.
Assuming the complex product processing tree has n layers, then the priority of the root node process is defined as 1, and the priorities of all descendant node processes in the root node process are defined as 2, and so on, until the priorities of all nodes in layer n are defined as n. The priority of the root node process is the lowest, while the priority of the process on the nth layer is the highest.
Definition 2. 
Leaf Node Process Priority
No matter which layer of the process node is located in the complex process tree, as long as it is a node without a tight pre-constrained process, it is regarded as a leaf node process. Starting from the starting point of the processing equipment corresponding to the leaf node process, find out whether there is an idle time period greater than or equal to the leaf node processing time, if so, then insert the leaf node and scheduled priority; otherwise, there is a seamless connection of leaf node processes on the corresponding processing equipment.
Definition 3. 
Path value
The processing time of each process in the complex product process tree is defined as the path value between the tight pre-process and the tight post-process, and the path value between the other relation processes is superimposed according to the shortest path algorithm.

3. Algorithm Design

3.1. Algorithm Idea

Because the attributes of the leaf node process and the processing time of the process in the directed diagram of the complex process tree are very important to the overall effect of the optimization on the integrated scheduling of complex products, the leaf node process priority strategy is proposed by adopting the improved Dijkstra algorithm on the basis of the longitudinal optimization idea. The serial tightness of the process is improved by the comprehensive application of a long-path process priority scheduling strategy. And the idle time period of the equipment is reduced, and the parallel processing ability of the processes is improved by the idea of the preferential scheduling of leaf node processes on the corresponding processing equipment. Therefore, the equipment resources co-processing capacity is improved so as to reduce the total processing time of integrated scheduling.
According to the structure of the digraph of complex product process tree, the path value of each node to the root node is calculated, and each process is scheduled according to the principle of the path value of the process obtained by the improved Dijkstra algorithm from large to small, layer priority, and leaf node process priority. The algorithm flow chart is shown in Figure 1, and the description is as follows.
Step1, the complex product process tree is simplified into a digraph according to the relationship between processes;
Step2, the processing time of the process is referred to as the path value of the adjacent process; then calculate the path value of each node process to the root node process;
Step3, determine whether the path values of each process are the same. If they are the same, the processes with the same path values are transferred to Step4. If not, according to the improved Dijkstra algorithm, these path values are sorted in order from large to small, and each node process on the complex product process tree is scheduled in this order;
Step4, according to the principle of layer priority, each node process is scheduled in descending order according to the layer priority. The later the layer where the node process is located, the earlier it is scheduled. If the layer priorities of the processes are the same, then go to Step5;
Step5, the priority principle of leaf node: scheduling the leaf node process in accordance with the principle.
Because the complex product process tree structure is a directed graph, the process time of the process is denoted as the directed path value of each vertex in the Dijkstra algorithm. The improved Dijkstra algorithm model is constructed according to the constraint relation of each process. Then, the path values from the complex process tree root node to each process are calculated. Finally, the process sequence is outputted in reverse sequence according to the path value.
Assuming that the shortest path from the root node process p 1 to each process p k in a complex process tree is L 1 k = p 1 p 2 p k , the length is denoted as d p 1 p k = d i k . If L 1 k is the shortest path from the root node process p 1 to each process p k , then the subpathes p 1 p 2 p i and p i p i + 1 p k are the shortest path from process p 1 to process p i and the shortest path from p i to process p k , respectively. The algorithm steps are as follows:
Step1: Algorithm initialization. The root node process is stored in the process sequence A in which the path value has been determined. At this time, only the root node process is stored in it. Then, the processes with undetermined path values are stored in the sequence A ¯ . The initial state sequence A ¯ includes all processes except the root node process.
Let i = 1 , then
L 1 p 1 = 0 , d p 1 , p 1 = 0 ;
d i i = 1 n p t i ;
L 1 p j = + ( j = 2,3 , , n ) ;
Set   L 1 p = p j P L 1 ( p j ) ;
A = p 1 ;
A ¯ = V A .
Formula (1) represents the starting point which is the root node process. Formula (2) represents the sequence of adjacent paths values which can be obtained by the processing time of each process. Formula (3) represents each process node path that traverses the complex process tree from the root node process. Formula (4) represents the shortest path from the root node to the j th process. Formula (5) represents a sequence of processes already traversed. Formula (6) represents a sequence of processes not yet traversed.
Step2: In the process sequence A ¯ with undetermined path values, calculate the path value from the root node process to the tight pre-process and put the process with the shortest path into sequence A , then delete it from sequence A ¯ .
For p j A ¯ , then
i = i + 1 ;
Let   L i p j = min { L i 1 p j , L i 1 p + W ( p , p j ) } ;
Set   L i p = = m i n p j A ¯ L 2 p j ;
A = A p ;
A ¯ = A ¯ p ;
d p 1 p = L i p ;
Formula (8) represents the shortest path from the i th process to the j th process; Formula (9) represents the shortest path from the root node to the i th process; Formula (10) represents the node process on the shortest path added to the process sequence with defined path processes; Formula (11) represents the corresponding process deleted from process sequence A ¯ with undetermined path value processes; and Formula (12) represents the path values from the root node to the i th process.
Step3: In the digraph of a complex product process tree, if d p 1 , p = + , then the node path from p 1 to sequence A ¯ does not exist;
Step4: If i = n , then all the process nodes of the complex process tree are traversed and the algorithm is stopped; otherwise, go to Step2;
Step5: Reverse the output of each process p of the above steps that are added to the sequence A , and then the algorithm is stopped.
The improved Dijkstra algorithm flow chart is shown in Figure 2.

3.2. Algorithm Code and Complexity

3.2.1. Algorithm Pseudo-Code

In Algorithm 1, the algorithmic pseudo-code shows the main steps of the heuristic integrated scheduling algorithm based on the improved Dijkstra algorithm and expresses the algorithmic functions, algorithmic ideas, and logic of this algorithm.
Algorithm 1 Algorithm Pseudo-code
 Integrated scheduling (A)
Input: Set Directed tree graph; /* create directed tree maps */
Input: Input S(A);
 /* input process sets A */
Input: SetAdjacen pathvalue (T)←Self processing time from Ai;
 /* Take the processing time of Ai as the path value of adjacent processes */
 Input: Set(P)←Compute Layerpriority to Ai;
 /* statistics the layer priority Lpi of processes Ai */
For each node Ai∈A do
 Compute Pathvalue(Ai)
 /* statistics the path value Pvi from process Ai to root node process */
End for
If same Pathvalue(Ai) then
 /* whether the path values of process Ai are the same */
 {
If same Layerpriority (Ai) then
 /* whether the process priority of process Ai are the same */
 {
If Leaf node (Ai) then
 /* whether process Ai is leaf node process */
 Scheduling (Ai) According to the process priority strategy of leaf node,
 /* schedule process Ai by leaf node process priority strategy */
Elseif
 Scheduling (Ai) According to the layer priority strategy
 /* schedule process Ai by layer priority strategy */
End if
 }
End if
  }
End if
Output: Improved Dijkstra (Ai)
 /* input process sequence by improved Dijkstra algorithm */

3.2.2. Complexity Analysis

Suppose that the total order of the product is n, and the number of equipment is m. The time complexity of the algorithm depends on the number of repeated executions of statements containing basic operations in the deepest loop. Therefore, according to the algorithm code in 4.2.1, the number of repeated executions of statements in the for loop is n, and the time complexity of the algorithm that determines the set of processes and allocates the process time to the path value of the adjacent processes is O n . The process of calculating the layer priority of each process and judging whether the process is a leaf node process needs to be executed n times, so the time complexity of this process is O n . Similarly, if the improved Dijkstra algorithm is implemented with linked lists or arrays, then its time complexity is O n 2 . Thus, the time complexity of the entire algorithm is max{ O n , O n 2 } = O n 2 .

4. Example Analysis

In this section, examples are given to further explain the idea and advantages of this algorithm. Because the algorithm is not based on concrete examples and it has universality with multi-variety and small-batch processes, the algorithm is also effective for other examples. Assume that the complex product process tree is shown in Figure 3, and it has 11 layers and 27 processes. The process tree is the flow chart of the whole product process. In the process tree, each node represents an operation. And it contains three kinds of information: the operation number, the machine number, and the processing time. The arrow connects each operation and its immediate successor operation. It represents the precedence constraint between the operations, and each arrow points to the operation with lower precedence. For example, the node representative of A16/1/2 must process two working hours on machine 1 to complete the processing of A16. Its immediate preceding nodes are A17 and A19. The tight node is A15. Therefore, A16 can only be processed after A17 and A19 are completed. Similarly, A15 can only be processed after A16 processing.
Convert the complex product process tree shown in Figure 3 into a directed diagram with the process time as the path value. The directed diagram is shown in Figure 4.

4.1. Process Path and Path Values

The processing time of the process is taken as the path value of the adjacent processes with precedence constrain. And the paths and path values from the root node process to each process in the complex product process tree in Figure 3 are calculated using the improved Dijkstra algorithm and are listed in Table 1.

4.2. Complex Product Scheduling Process

The shortest path principle means that among multiple paths with different path values, the path with the shortest path value is selected first, and then the longer path is selected. That is, the order of selection is the sorting of path values from shortest to longest. In the previous steps, the improved Dijkstra algorithm has been used to find out the path value of each node. Sort them in the reverse order of the shortest path principle: {A21, A22, A27, A20, A8, A7, A19, A25, A10, A17, A18, A26, A6, A16, A24, A15, A23, A5, A14, A13, A12, A4, A9, A11, A3, A2, A1}, where the path values of processes in {A19, A25, A7} are equal to 16. However, A19 is on the 9th layer, A25 is on the 8th layer, and A7 is on the 7th layer. Then, A19, A25, A7 are scheduled in order according to the layer priority strategy; the path values of processes in {A10, A17, A18, A26} are equal to 15, and they are all leaf node processes. A17 is on the 9th layer while A18 and A26 are on the 8th layer. A10 is on the 7th layer. Then, A17, A18, A26, A10 are scheduled in order according to the layer priority strategy. The path values of processes in {A6, A16, A24} are equal to 14. And A16 is on the 8th layer. A24 is on the 7th layer. A6 is on the 6th layer. Then, A16, A24, A6 are scheduled in order according to the layer priority strategy. The path values of processes in {A15, A23} are equal to 12. And A15 is on the 5th layer. A23 is on the 6th layer. Then, A23, A15 are scheduled in order according to the layer priority strategy. The path values of processes in {A5, A14} are equal to 11. And A5 is on the 5th layer. A14 is on the 6th layer. Then, A14, A5 are scheduled in order according to the layer priority strategy. The path values of processes in {A4, A9} are equal to 7. And A4 and A9 are both on the 5th layer. A9 is the leaf node process. Then, A9, A4 are scheduled in order according to the layer priority strategy.
In summary, according to the algorithm in this paper, the processing sequence is obtained as {A21, A22, A27, A20, A8, A19, A25, A7, A17, A18, A26, A10, A16, A24, A6, A23, A15, A14, A5, A13, A12, A9, A4, A11, A3, A2, A1}. The total processing time is 25 man-hours. The scheduling state of each equipment, time, and process of complex product A is shown in Table 2, and the Gantt chart is shown in Figure 5.

5. Algorithms Comparison

In this paper, the algorithm is compared with the integrated scheduling algorithm, which is closely connected with the working procedure group and the timing integrated scheduling algorithm which considers the serial process tightness. The results show that the equipment resources collaborative processing ability and the overall optimization effect of the proposed algorithm are much better than the other two algorithms.

5.1. Comparison of Integrated Scheduling Algorithms for Working Group Linkages

In the integrated scheduling algorithms for working group linkages, all the processes in the process tree are divided into two types: tight connection and non-tight connection. First, the first adaptive scheduling strategy is used to prioritize the processes in the tightly connected working procedure group and their tight pre-processes, and then the ACPM is used to schedule the tightly connected working procedure group; the final plan is {A27, A26, A21, A22, A20, A19, A17, A18, A16, A15, A14, A25, A24, A23, A13, A8, A10, A7, A6, A5, A4, A9, A3, A12, A11, A2, A1}, as shown in Figure 6, and the total time is 28 man-hours.
The Gantt charts of the proposed algorithm in this paper and the integrated scheduling algorithm with working group linkages are shown in Figure 5 and Figure 6, respectively. It is obvious that the start time of A3 in Figure 4 is t = 19, which is earlier than t = 23 in Figure 5. That means that the start time of A3 is four man-hours ahead using the proposed algorithm. This is because A4, the tight pre-process of A3, starts at t = 16 on M3. And the start time of A3 in Figure 4 is t = 19, which is earlier than t = 23 in Figure 5. That means that the start time of A3 is four man-hours ahead by using the proposed algorithm. This is because A25, the tight pre-process of A3, starts at t = 6 on M2, which is 2 man-hours earlier than t = 8 in Figure 6. And because A7 starts processing at t = 4 on M1, which is 8 man-hours earlier than t = 12 in Figure 6, the start time of its post-process A5 start 5 man-hours earlier, A3 starts 4 man-hours earlier, and A2 starts 3 man-hours earlier. And then the overall processing time of complex products is shortened.

5.2. Comparison of Time-Selecting Integrated Scheduling Algorithm Considering Serial Process Tightness

The time-selecting integrated scheduling algorithm considers that serial process tightness is based on the principle of the first integral and then division. According to the structure position of the process in the process tree, the sorting strategy is used to prioritize the process sequence with a close serial relationship, and then the time-selected strategy is adopted on the scheduled processing sequence. The minimum and earliest schemes of the total processing time are selected from the set of scheduling schemes.
For the process tree shown in Figure 3, the initial scheduling scheme is formed by the time selection algorithm considering that the tightness of the serial process is {A1, A2, A11, A12, A13, A14, A15, A16, A19, A20, A21}. Then, this is adjusted in the order of {A3, A4, A6, A7, A8, A23, A24, A25, A27, A9, A18, A22, A26, A10, A17, A21}. The results of the Gantt chart are shown in Figure 7, and the total processing time is 31 man-hours.
The Gantt charts of the proposed algorithm in this paper and the time-selecting integrated scheduling algorithm considering serial process tightness are shown in Figure 5 and Figure 7, respectively. In the proposed algorithm, all devices are processed from the starting point of t = 0, which is generally higher than the connection degree of each process in the time-selected algorithm.
The last process on M4 finished at t = 19 in Figure 4. And in Figure 7, the total number of idle time periods from t = 0 to t = 6, t = 9 to t = 10, t = 11 to t = 14, and t = 20 to t = 21 before the last process on M4 finished is 12. In Figure 5, the total number of idle time periods from t = 5 to t = 12 and t = 15 to t = 16 is eight. It is obvious that the number of idle time in Figure 7 is more than it is in Figure 5. And it increased 50% in equipment utilization.
The last process on M3 finished at t = 23 in Figure 5. And in Figure 7, the total number of idle time periods from t = 0 to t = 2, t = 10 to t = 14, t = 16 to t = 26, and t = 27 to t = 28 before the last process on M4 finished is 17. In Figure 5, the total number of idle time periods from t = 4 to t = 6 and t = 8 to t = 15 is seven. It is obvious that the number of the idle time in Figure 7 is more than that in Figure 5. And it increased 12.5% in equipment utilization.
The last process on M2 finished at t = 20 in Figure 5. And in Figure 7, the total number of idle time periods from t = 0 to t = 2, t = 14 to t = 18 and t = 19 to t = 24 before the last process on M4 finished is 13. In Figure 5, the total number of idle time periods from t = 3 to t = 4 and t = 15 to t = 19 is five. It is obvious that the number of idle time in Figure 7 is more than that in Figure 5. And it increased 21.4% in equipment utilization.
The last process on M1 finished at t = 25 in Figure 5. And in Figure 7, the total number of idle time periods from t = 0 to t = 4 and t = 18 to t = 29 before the last process on M4 finished is 15. In Figure 5, the total number of idle time periods from t = 6 to t = 8 and t = 16 to t = 23 is nine. It is obvious that the number of the idle time in Figure 7 is more than that in Figure 5. And it increased 20.4% in equipment utilization.
In summary, from the point of view of the equipment utilization ratio on each equipment, the proposed algorithm reduces the scheduling interval between processes (groups) vertically. And the priority scheduling of the leaf node process further reduces the idle time period on the processing equipment, so the utilization ratio of the equipment is improved from the two angles of working procedure and equipment.
The equipment utilization of the three algorithms is shown in Table 3.

5.3. Comparison and Analysis of Three Algorithm Scheduling Results

According to the structure diagram of complex product A shown in Figure 3, the total processing time of the proposed algorithm is 25 man-hours, the total processing time of the time-selected algorithm is 31 man-hours, the total processing time of integrated scheduling algorithms for working group linkages is 28 man-hours, and the comparison and analysis of the three algorithm scheduling results are shown in Table 4.
To validate the performance of HIS-IDA and its adaptability to different structured products in the context of multi-variety and small-batch complex processes, 4 sets of 40 product process trees with varying scales and structures were randomly generated. The number of processes in the four groups was 20, 50, 100, and 200, respectively, and each group had ten different instances. Figure 8 describes the comparison of the total processing time of these four groups of product process trees scheduled by HIS-IDA, TS, and WGL. They were all implemented on the same PC using Matlab R2021b. From Figure 8, it can be seen that HIS-IDA always spends the least amount of time in 40 product instances, followed by TS, while WGL takes the most time, except for a few instances. To compare these three algorithms more intuitively, the optimal solution ratio and variance curves are plotted in Figure 9 and Figure 10, respectively.
In Figure 9, it can be seen from the comparison of the optimal solution ratio that HIS-IDA always maintains a higher ratio, while the ratios of TS and WGL gradually decrease. The results of HIS-PCVM are better than the other two algorithms. From Figure 10, it can be seen that the stability of HIS-PCVM is the best. The variance curve of HIS-PCVM is always at a lower level and more stable than the other two algorithms. This means that the solution obtained by HIS-PCVM can be closer to the best one.
The main reason why this algorithm is better is as follows.
According to the structure characteristics of the complex product process tree, the algorithm according to the improved Dijkstra algorithm to schedule the processing process by the path value from large to small, its essence is to improve the serial tightness of the processing process sequence vertically. The layer priority strategy also improves the parallel processing ability of the process. At the same time, according to the leaf node process priority strategy, the process as the leaf node is scheduled as a priority. Then, the connection degree of all tight processes (groups) in the leaf node process is also improved.
Compared with the integrated scheduling algorithms for working group linkages, this algorithm fully examines the relative position of each process in the complex product process tree, which not only pays attention to the process in the tight connection process group but also takes into account the process in the non-tight connection group of the process tree. However, the integrated scheduling algorithms for working group linkages adopt the scheduling scheme of grouping first and then making decisions. First, all the processes are divided into a tight connection process group and non-tight connection process group. When there are leaf node processes in the tight connection process group, the ACPM adopted for the non-tight connection process group reduces the constraint of process in the process tree, thus affecting the overall effect of integrated scheduling. Such as that M2 has a long idle time period from t = 17 to 23, M3 has a long idle time period from t = 8 to 14, and M4 has a long idle time period at 5 to 11.
Compared with the time-selecting integrated scheduling algorithm considering serial process tightness, the priority strategy of the leaf node process adopted in the proposed algorithm not only takes into account the same layer process but also makes full use of the idle time period of the equipment, so that the process has a good advantage in the early processing. However, in the time-selecting integrated scheduling algorithm considering serial process tightness, the minimum and earliest scheme of total processing time is inserted into the serial process sequence, which increases the connection between the non-leaf node before and after the tight process and does not fully take into account the utilization of the equipment. Such that M1 idled from t = 18 to 29, so did M3. This led to having an overall impact on the processing process of complex products.

6. Conclusions

An improved Dijkstra algorithm is used to schedule each process according to their path values in a descending order.
Its essence is “longitudinal optimization”, that is, priority scheduling the process with a longer longitudinal path to shorten the overall processing time. On this basis, we used the layer priority strategy for “horizontal optimization”, that is, reducing the processing time intervals between processes. And the leaf node priority strategy is “idle optimization”, that is, making full use of the idle time on the device. Although most of the current scheduling algorithms have better optimized the effect of comprehensive scheduling, there is a problem of taking one into account and losing the other in horizontal and vertical optimization. The proposed algorithm optimizes the overall processing time of complex product scheduling from three perspectives. Compared with integrated scheduling algorithms for working group linkages and the time-selecting algorithm, which considers the tightness of serial process, the equipment utilization ratio is increased by 7.3% and 16.3%, respectively, thus achieving a better scheduling effect. Therefore, this algorithm is better. It provides a new method to solve the integrated scheduling of complex products and expands new ideas. It has a certain theoretical and practical significance.

Author Contributions

Conceptualization, W.Z. and Z.X.; writing original draft preparation, Z.T. and W.Z.; validation, Z.T. and P.Z.; data curation, P.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported in part by the National Natural Science Foundation of China (61772160); The “New Generation Information Technology Innovation Project” of the China University Industry, University and Research Innovation Fund (ITA05024, ITA05034); Jilin Normal University Doctoral Program (2022014).

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Wen, X.; Qian, Y.; Lian, X.; Zhang, Y. Improved genetic algorithm based on multi-layer encoding approach for integrated process planning and scheduling problem. Robot. Comput.-Integr. Manuf. 2023, 84, 102593. [Google Scholar] [CrossRef]
  2. Li, X.; Guo, X.; Tang, H.; Wu, R.; Wang, L.; Pang, S.; Liu, Z.; Xu, W.; Li, X. Survey of integrated flexible job shop scheduling problems. Comput. Ind. Eng. 2022, 174, 108786. [Google Scholar] [CrossRef]
  3. Wang, G.H.; Yang, D.J.; Xu, C.Y. Research on Distributed ETL Tasks Scheduling Strategy Based on ISE Algorithm. Comput. Sci. 2019, 46, 1–7. [Google Scholar] [CrossRef]
  4. Kim, Y.J.; Kim, B.S. Population-Based Meta-Heuristic Algorithms for Integrated Batch Manufacturing and Delivery Scheduling Problem. Mathematics 2022, 10, 4127. [Google Scholar] [CrossRef]
  5. Saleh, H.; Nashaat, H.; Saber, W.; Harb, H.M. IPSO Task Scheduling Algorithm for Large Scale Data in Cloud Computing Environment. IEEE Access 2019, 7, 5412–5420. [Google Scholar] [CrossRef]
  6. Islam, T.; Hashem, M.M.A. Task Scheduling for Big Data Management in Fog Infrastructure; ICCIT: Istanbul, Turkey, 2018. [Google Scholar]
  7. Luo, X.; Guo, S.; Du, B.; Guo, J.; Jiang, P.; Tan, T. Multi-criteria decision-making of manufacturing resources allocation for complex product system based on intuitionistic fuzzy information entropy and TOPSIS. Complex Intell. Syst. 2023, 9, 5013–5032. [Google Scholar] [CrossRef]
  8. Tian, Z.; Jiang, X.; Yang, G.; Liu, W.; Suo, Y.; Chen, K.; Xing, F. Energy Efficient Scheduling of Flexible Job Shop with Aerospace Complex Components. J. Mech. Eng. 2023, 59, 273–287. [Google Scholar]
  9. Xie, Z.Q.; Liu, S.H.; Qiao, P.L. Dynamic job-shop scheduling algorithm based on ACPM and BFSM. J. Comput. Res. Dev. 2003, 40, 977–983. [Google Scholar]
  10. Xie, Z.Q.; Yang, J.; Yang, G.; Tan, G.Y. Dynamic Job-Shop Scheduling Algorithm with Dynamic Set of Operation Having Priority. Chin. J. Comput. 2008, 31, 502–508. [Google Scholar] [CrossRef]
  11. Xie, Z.Q.; Yang, J.; Zhou, Y.; Zhang, D.L.; Tan, G.Y. Dynamic critical paths multi-product manufacturing scheduling algorithm based on operation set. Chin. J. Comput. 2011, 34, 406–412. [Google Scholar] [CrossRef]
  12. Xie, Z.Q.; Teng, Y.Z.; Yang, J. Integrated Scheduling Algorithm with No-wait Constraint Operation Group. Autom. Sin. 2011, 37, 371–379. [Google Scholar] [CrossRef]
  13. Xie, Z.Q.; Zhang, X.H.; Gao, Y.L.; Xin, Y. Time selective integrated scheduling algorithm considering the compactness of serial processes. J. Mech. Eng. 2018, 54, 191–202. [Google Scholar]
  14. Jia, Z.H.; Huo, S.Y.; Li, K.; Chen, H.P. Integrated scheduling on parallel batch processing machines with non-identical capacities. Eng. Optim. 2020, 52, 715–730. [Google Scholar] [CrossRef]
  15. Fu, Y.P.; Wang, H.F.; Huang, M. Integrated scheduling for a distributed manufacturing system: A stochastic multi-objective model. Enterp. Inf. Syst. 2019, 3, 557–573. [Google Scholar] [CrossRef]
  16. Jiang, X.; Tian, Z.; Liu, W.; Suo, Y.; Chen, K.; Xu, X.; Li, Z. Energy-efficient scheduling of flexible job shops with complex processes: A case study for the aerospace industry complex components in China. J. Ind. Inf. Integr. 2022, 27, 100293. [Google Scholar] [CrossRef]
  17. Chen, K.; Jiang, X.; Liu, W.; Tian, Z.; Xu, X.; Li, S.; Suo, Y. Quality Control Method of Key Processes in Multi Variety and Small Batch Manufacturing Process Based on NAD-EWMA Control Chart. J. Mech. Eng. 2023, 59, 232–248. [Google Scholar] [CrossRef]
  18. Bigham, B.S. Minimum constraint removal problem for line segments is NP-hard. Discret. Math. Algorithms Appl. 2023, 15, 2250055. [Google Scholar] [CrossRef]
  19. Garey, M.R.; Johnson, D.S. Computers and Intractability: A Guide to the Theory of NP-Completeness; W.H. Freeman & Co.: New York, NY, USA, 1979. [Google Scholar]
  20. Xu, J.R.; Zhu, H.J. Multi-objective scheduling algorithm of DAG tasks in cloud computing. J. Comput. Res. Dev. 2019, 36, 31–36. [Google Scholar]
  21. Yan, X.; Ye, C.M. Hybrid Grasshopper Optimization Algorithm for Job-Shop Scheduling Problem. Comput. Eng. Appl. 2019, 6, 257–264. [Google Scholar] [CrossRef]
  22. Pei, L.R. Research on Multi-Workshop Flexible Integrated Scheduling Algorithm Considering Migration and Double Objectives. Master’s Thesis, Harbin University of Science and Technology, Harbin, China, 2019. [Google Scholar]
  23. Zhu, G.Y.; Xu, W.J. Multi-objective flexible job shop scheduling method for machine tool component production line considering energy consumption and quality. Control Decis. 2019, 34, 31–39. [Google Scholar]
  24. Zhou, X.; Yan, J.; Yan, M.; Mao, K.; Yang, R.; Liu, W. Path Planning of Rail-Mounted Logistics Robots Based on the Improved Dijkstra Algorithm. Appl. Sci. 2023, 13, 9955. [Google Scholar] [CrossRef]
  25. Mohammad, P.; Aritra, M.; Shreyas, S. Graph-theoretic approaches for analyzing the resilience of distributed control systems: A tutorial and survey. Automatica 2023, 157, 111264. [Google Scholar] [CrossRef]
  26. Lu, Y.Z. A Water Scheduling System Based on Improved Dijkstra Algorithm and Genetic Algorithm. Master’s Thesis, Jilin University, Changchun, China, 2020. [Google Scholar]
  27. Chen, Y.J. Application of Improved Dijkstra Algorithm in Coastal Tourism Route Planning. J. Coast. Res. 2020, 106 (Suppl. 1), 251–254. [Google Scholar] [CrossRef]
  28. Jiang, C.K.; Li, Z.; Pan, S.B.; Wang, Y. Collision-free Path Planning of AGVs Based on Improved Dijkstra Algorithm. Comput. Sci. 2020, 47, 272–277. [Google Scholar]
  29. Edsger, W.D. A Note on Two Problems in Connexion With Graphs. Numer. Math. 1959, 1, 269–271. [Google Scholar]
  30. Wang, Y.J.; Liu, X.Q.; Leng, J.Y.; Wang, J.J.; Meng, Q.N.; Zhou, M.J. Study on scheduling and path planning problems of multi-AGVs based on a heuristic algorithm in intelligent manufacturing workshop. Adv. Prod. Eng. Manag. 2022, 17, 505–513. [Google Scholar] [CrossRef]
  31. Zhang, Z.; Wu, F.; Qian, B.; Hu, R.; Wang, L.; Jin, H. A Q-learning-based hyper-heuristic evolutionary algorithm for the distributed flexible job-shop scheduling problem with crane transportation. Expert Syst. Appl. 2023, 234, 121050. [Google Scholar] [CrossRef]
  32. Wu, W.; Ito, M.; Hu, Y.; Goko, H.; Sasaki, M.; Yagiura, M. Heuristic algorithms based on column generation for an online product shipping problem. Comput. Oper. Res. 2023, 161, 106403. [Google Scholar] [CrossRef]
  33. Liu, K.H.; Zhong, P.S.; Chen, L.; Li, S. Research on Flexible Job Shop Scheduling Based on Dijkstra Algorithm. Mach. Tools Hydraul. 2017, 45, 105–109+157. [Google Scholar] [CrossRef]
  34. Liu, Z.Y.; Wang, Y.L.; Zhou, P.R. Research on Dynamic Scheduling Algorithm of Aviation Weapon Automatic Production Line Based on Dijkstra Algorithm. Aero Weapon. 2019, 26, 94–98. [Google Scholar] [CrossRef]
  35. Xiang, M.; Chen, C. Traffic scheduling strategy based on improved Dijkstra algorithm for power distribution and utilization communication network. J. Comput. Appl. 2018, 38, 1715–1720. [Google Scholar] [CrossRef]
  36. Aqel, G.A.; Ausaf, M.F.; Li, X.; Gao, L. Algorithm for Integrated Process Planning and Scheduling. Int. J. Model. Optim. 2013, 3, 226–231. [Google Scholar] [CrossRef]
Figure 1. Flow chart of the algorithm in this paper.
Figure 1. Flow chart of the algorithm in this paper.
Electronics 12 04189 g001
Figure 2. Flow chart of the improved Dijkstra algorithm.
Figure 2. Flow chart of the improved Dijkstra algorithm.
Electronics 12 04189 g002
Figure 3. The process tree of complex product.
Figure 3. The process tree of complex product.
Electronics 12 04189 g003
Figure 4. Directed path graph of complex product process tree.
Figure 4. Directed path graph of complex product process tree.
Electronics 12 04189 g004
Figure 5. Gantt chart of the algorithm in this paper with 25 man-hours.
Figure 5. Gantt chart of the algorithm in this paper with 25 man-hours.
Electronics 12 04189 g005
Figure 6. Gantt chart of integrated scheduling algorithm with working group linkages with 28 man-hours.
Figure 6. Gantt chart of integrated scheduling algorithm with working group linkages with 28 man-hours.
Electronics 12 04189 g006
Figure 7. Gantt chart of the time-selecting integrated scheduling algorithm considering serial process tightness with 31 man-hours.
Figure 7. Gantt chart of the time-selecting integrated scheduling algorithm considering serial process tightness with 31 man-hours.
Electronics 12 04189 g007
Figure 8. Results of HIS-IDA, TS, and WGL for integrated scheduling 40 product instances: (a) 20 operations, (b) 50 operations, (c) 100 operations, and (d) 200 operations.
Figure 8. Results of HIS-IDA, TS, and WGL for integrated scheduling 40 product instances: (a) 20 operations, (b) 50 operations, (c) 100 operations, and (d) 200 operations.
Electronics 12 04189 g008
Figure 9. Optimal solution ratio of HIS-IDA, TS, and WGL for integrated scheduling 40 product instances.
Figure 9. Optimal solution ratio of HIS-IDA, TS, and WGL for integrated scheduling 40 product instances.
Electronics 12 04189 g009
Figure 10. Variance curves of HIS-IDA, TS, and WGL for integrated scheduling 40 product instances.
Figure 10. Variance curves of HIS-IDA, TS, and WGL for integrated scheduling 40 product instances.
Electronics 12 04189 g010
Table 1. Statistics of path and path value from root node operation to each node operation.
Table 1. Statistics of path and path value from root node operation to each node operation.
Process NodePath from Root Node Process to Each ProcessPath
Value
LayerLeaf Node
A1------01N
A2{A1, A2}32N
A3{A1, A2, A3}43N
A4{A1, A2, A3, A4}74N
A5{A1, A2, A3, A4, A5}115N
A6{A1, A2, A3, A4, A5, A6}146N
A7{A1, A2, A3, A4, A5, A6, A7}167N
A8{A1, A2, A3, A4, A5, A6, A7, A8}178Y
A9{A1, A2, A9}74Y
A10{A1, A2, A3, A4, A5, A6, A10}157Y
A11{A1, A2, A11}63N
A12{A1, A2, A11, A12}94N
A13{A1, A2, A11, A12, A13}105N
A14{A1, A2, A11, A12, A13, A14}116N
A15{A1, A2, A11, A12, A13, A14, A15}127N
A16{A1, A2, A11, A12, A13, A14, A15, A16}148N
A17{A1, A2, A11, A12, A13, A14, A15, A16, A17}159Y
A18{A1, A2, A11, A12, A13, A14, A15, A18}158Y
A19{A1, A2, A11, A12, A13, A14, A15, A16, A19}169N
A20{A1, A2, A11, A12, A13, A14, A15, A16, A17, A20}1810N
A21{A1, A2, A11, A12, A13, A14, A15, A16, A17, A20, A21}2211Y
A22{A1, A2, A11, A12, A13, A14, A15, A16, A17, A20, A22}2011Y
A23{A1, A2, A11, A12, A13, A23}126N
A24{A1, A2, A11, A12, A13, A23, A24}147N
A25{A1, A2, A11, A12, A13, A23, A24, A25}168N
A26{A1, A2, A11, A12, A13, A23, A24, A26}158Y
A27{A1, A2, A11, A12, A13, A23, A24, A25, A27}199Y
Table 2. Statistics of path and path value from root node operation to each node operation.
Table 2. Statistics of path and path value from root node operation to each node operation.
Scheduling TimeDevice
M1M2M3M4
t = 0 to t = 1Processing A21Processing A22Processing A27Processing A17
t = 1 to t = 2Processing A21Processing A22Processing A27Processing A18
t = 2 to t = 3Processing A21Processing A26Processing A27Processing A18
t = 3 to t = 4Processing A21------Processing A8Processing A18
t = 4 to t = 5Processing A7Processing A20------Processing A10
t = 5 to t = 6Processing A7Processing A20------------
t = 6 to t = 8------Processing A25Processing A19------
t = 8 to t = 10Processing A16Processing A6------------
t = 10 to t = 11Processing A24Processing A6------------
t = 11 to t = 12Processing A24Processing A15------------
t = 12 to t = 14Processing A5Processing A9------Processing A23
t = 14 to t = 15Processing A5Processing A9------Processing A14
t = 15 to t = 16Processing A5------Processing A13------
t = 16 to t = 19------------Processing A4Processing A12,
Processing finished
t = 19 to t = 20------Processing A3,
Processing finished
Processing A11
t = 20 to t = 22------ Processing A11
t = 22 to t = 23------ Processing A2,
Processing finished
t = 23 to t = 25Processing A1,
Processing finished
Table 3. Comparative analysis of equipment utilization of three algorithms.
Table 3. Comparative analysis of equipment utilization of three algorithms.
M1, M2, M3, M4
Total Idle Time
Total Processing Time of Product AEquipment Utilization RatioRelative Improvement Ratio of Equipment Utilization
Integrated Scheduling Algorithms for Working Group Linkages392859.4%7.3%
Time-Selecting Integrated Scheduling Algorithm Considering Serial Process Tightness563150.4%16.3%
The proposed algorithm292566.7%------
Table 4. Comparison and analysis of scheduling results of three algorithms.
Table 4. Comparison and analysis of scheduling results of three algorithms.
Integrated Scheduling Algorithms for Working Group LinkagesTime-Selecting Integrated Scheduling Algorithm Considering Serial Process TightnessThe Proposed Algorithm
IdeaThe first adaptive scheduling strategy is used in the priority scheduling process (group), and the non-tightly connected processes are scheduled according to the ACPM.The time-selecting strategy is used to analyze the scheduled process, the subsequent process strategy is considered to analyze the unscheduled process, and the starting time point of the process is determined synthetically.By using the inverse sequence idea of the shortest path of Dijkstra algorithm, the scheduling strategies of larger path value priority, layer priority, and leaf node process priority are adopted.
Schedule plan{A27, A26, A21, A22, A20, A19, A17, A18, A16, A15, A14, A25, A24, A23, A13, A8, A10, A7, A6, A5, A4, A9, A3, A12, A11, A2, A1}{A1, A2, A3, A11, A9, A4, A12, A5, A13, A23, A6, A14, A15, A16, A17, A19, A18, A20, A21, A10, A22, A7, A24, A8, A25, A26, A27}{A21, A22, A27, A20, A8, A7, A19, A25, A10, A17, A18, A26, A6, A16, A24, A15, A23, A5, A14, A13, A12, A4, A9, A11, A3, A2, A1}
Total processing time283125
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

Zhou, P.; Xie, Z.; Zhou, W.; Tan, Z. A Heuristic Integrated Scheduling Algorithm Based on Improved Dijkstra Algorithm. Electronics 2023, 12, 4189. https://doi.org/10.3390/electronics12204189

AMA Style

Zhou P, Xie Z, Zhou W, Tan Z. A Heuristic Integrated Scheduling Algorithm Based on Improved Dijkstra Algorithm. Electronics. 2023; 12(20):4189. https://doi.org/10.3390/electronics12204189

Chicago/Turabian Style

Zhou, Pengwei, Zhiqiang Xie, Wei Zhou, and Zhenjiang Tan. 2023. "A Heuristic Integrated Scheduling Algorithm Based on Improved Dijkstra Algorithm" Electronics 12, no. 20: 4189. https://doi.org/10.3390/electronics12204189

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

Article Metrics

Back to TopTop