The strategy design in this paper is based on the scheduling results of MISATPS. On this basis, several new product scheduling schemes are generated by using the interchange strategy and the interchange adjustment strategy of multi-device adjacent parallel process, and select the scheduling scheme with the best scheduling result.
The interchange strategy and the interchange adjustment strategy of multi-device adjacent parallel process are introduced, respectively.
The interchange strategy of multi-device adjacent parallel process
This strategy will look for adjacent parallel processes on each processing device, since the problem studied in this paper is the integrated scheduling problem involving multi-device-process, the parallel process will be divided into two kinds, namely common process and multi-device-process.
Therefore, the following four situations need to be discussed in the adjacent parallel processes:
-
(1)
Situation 1: Both the pre-tightening and post-tightening processes are common processes
Assume that in the current parallel adjacent processes in the same device, the pre-tightening process is process A, and the post-tightening process is process B. They are all common processes.
As shown in Fig. 1, first cancel the scheduling of process A and then reschedule B, compare the maximum finishing time of all processes of process B in the pre-tightening process set in the process tree with the finishing time of the pre-tightening process on its device, the maximum value is set as the processing start time of process B. Then process A is rescheduled, and the finishing time of process B is taken as the starting time of process A.
-
(2)
Situation 2: Pre-tightening processes are common processes, and post-tightening processes are multi-device-processes
Assume that in the current parallel adjacent processes in the same device, the pre-tightening process is process A which is common process, and the post-tightening process is process B which is multi-device-process and contains several parallel sub-processes.
As shown in Fig. 2, first cancel the scheduling of process A and then reschedule B, compare the maximum finishing time of all processes in the pre-tightening process set of each parallel sub-process included in process B in its process tree and the finishing time of the pre-tightening process on its device, respectively. The maximum of all the above times is set as the processing start time of process B. Then process A is rescheduled, and the finishing time of process B is taken as the starting time of process A.
-
(3)
Situation 3: The pre-tightening process is multi-device process, and the post-tightening process is common processes
Assume that in the current parallel adjacent processes in the same device, the pre-tightening process is process B, it is multi-device-process and contains several parallel sub-processes, the post-tightening process is process A, it is common process.
As shown in Fig. 3, first of all, cancel the scheduling of all parallel sub-processes contained in process B. Then process A is rescheduled, compare the maximum finishing time of all processes in the pre-tightening process set of process A in the processing process tree with the finishing time of the pre-tightening process set of process A on its processing device.
The maximum of all the above times is set as the processing start time of process A. Then process B is rescheduled, the finishing time of process A is, respectively, taken as the starting time of each parallel sub-process in process B.
-
(4)
Situation 4: Both the pre-tightening and post-tightening processes are multi-device-processes
Assume that in the current parallel adjacent processes in the same device, the pre-tightening process is process B, and the post-tightening process is process A. They are all multi-device-processes and contain several parallel sub-processes.
As shown in Fig. 4, cancel the scheduling of all parallel sub-processes contained in process B. Then process A is rescheduled, compare the maximum finishing time of all processes in the pre-tightening process set of each parallel sub-process included in process A in its process tree and the finishing time of the pre-tightening process on its device, respectively. The maximum of all the above times is set as the processing start time of process A. Then process B is rescheduled, the finishing time of process A is, respectively, taken as the starting time of each parallel sub-process in process B.
The steps of this strategy are as follows:
Step 1. Assume that in the current parallel adjacent processes in the same device, the pre-tightening process is process A, and the post-tightening process is process B;
Step 2. Determine whether the pre-tightening process A is a common process; if true, go to step 3, otherwise go to step 4;
Step 3. Cancel the scheduling of process A, then go to Step 5;
Step 4. Cancels the scheduling of all parallel sub-processes contained in process A;
Step 5. Determine whether the post-tightening process B is a common process, go to step 6, otherwise go to step 7;
Step 6. Rescheduling Process B, compare the maximum finishing time of all processes in the pre-tightening process set of process B in the process tree with the finishing time of the pre-tightening process set of process B on its device, The maximum of all the above times is set as the processing start time of process B;
Step 7. Rescheduling Process B, compare the maximum finishing time of all processes in the pre-process set of process B in the process tree with the finishing time of the pre-tightening process set of each parallel sub-process included in the process B on their device, the maximum of all the above times is set as the processing start time of process B;
Step 8. Determine whether the pre-tightening process A is a common process; if true, go to step 9, otherwise go to step 10;
Step 9. Take the finishing time of process B as the starting time of process A, go to step 11;
Step 10. The finishing time of process B is, respectively, taken as the starting time of each parallel sub-process in process A;
Step 11. End.
The implementation process of Multi-device adjacent parallel process interchange strategy is shown in Fig. 5.
Multi-device adjacent parallel process interchange adjustment strategy
According to the analysis in Sect. 3.1,
the interchange process is divided into two kinds: common process and multi-device process.
In the interchange process, the post-tightint process P will be changed to the front, the processing start time is earlier,
Therefore, the scheduling of post-tightening process P may advance the processing time of post-tightening process in its process tree and post-tightening process of device.
At the same time, the tight pre-process F will shift to the back and the he processing start time will be delayed, which may affect other processes. The influence mentioned here means that the rescheduling of the previous process will result in overlapping time with the scheduling of the subsequent processes and making the processing scheme unfeasible. It is necessary to adjust the affected subsequent processes.
Rescheduling the post-tightint process P can be divided into two situations:
-
(1)
Process P is common process
If the adjustment process is a common process, the processes affected are divided into two categories: One is the post-tightening process in the process tree; the other is the post-tightening process in the processing device. It is necessary to check whether the processing time of these two types of processes needs to be advanced.
-
(2)
Process P is multi-device-process
If the process is adjusted to a multi-device process, the number of parallel sub-processes contained in the process is first determined, then check the post-tightening process in the process tree and the post-tightening process of processing device of each parallel sub-process, determine whether the processing time of these two kinds of processes needs to be advanced.
The methods to advance the processing time of the above processes are as follows:
-
(1)
For the common process
Starting from the rescheduling end time of process P, the first available time point was found to be the starting time of the post-tightening of process P in the process tree, taking the end time of process P rescheduling as the starting time of the post-tightening of process P in its device.
-
(2)
For the multi-device-process
Starting from the rescheduling end time of process P, the first available time point on each device is found as the starting time of the post-tightening process in process tree of process P. The end time of process P rescheduling is taken as the start time of post-tightening process on the device.
Rescheduling the pre-tightint process F can be divided into two situations:
-
(1)
Process F is common process
If the adjustment process is a common process, there are two kinds of processes affected. One is the post-tightening process in the process tree; the other is the post-tightening process in the processing device. The two kinds of processes need to be inspected, respectively, to determine whether they are affected.
-
(2)
Process F is multi-device-process
When the adjustment process is a multi-device process, the parallel sub processes should be determined first. Then, check the next process of F in the process tree and the post-process of each parallel sub process in its processing device to determine whether it is affected. If it is affected, reschedule it.
The above-mentioned processes involved in the adjustment are divided into two situations:
-
(1)
For the common process
For the post-processing process in the process tree of F, set its processing start time as the maximum of the processing end time of the pre-tightening process on the device and the processing end time of process F in the current scheme, for the post-tightening process on the device, its processing start time is set as the processing end time of the process F.
-
(2)
For the multi-device-process
Due to the multi-device-process includes several parallel sub-processes, adjust the post-tightening process of process F in the process tree to ensure that the starting time of each sub-process is consistent. Calculate the finishing time of process F and the finishing time of the pre-processing process of each sub-process on its processing device in the current scheme, respectively. Then, the maximum value is set as the processing start time of the multi-device process. For the post-tightening process on the device, the finishing time of process F is set as the starting time of each parallel sub-process contained in it.
In addition, the adjustment of the above processes may affect other processes, and then the adjustment will affect their subsequent processes. It is necessary to check all the processes that may be affected in turn until all the affected processes are adjusted, and finally generate the scheduling scheme.
The implementation of this policy relies on the queue data structure, first set up the adjustment process queue. Initially, the pre-tightening and post-tightening processes that need to be interchanged are separately queued, and then determine whether the process is a common process or a multi-device-process. If it is a common process, then judge whether the post-tightening process in its process tree and the post-tightening process of the same device are affected, as shown in Fig. 6a. If so, adjust them separately and put them into the queue so as to check and adjust the subsequent sequence processes affected by them;
If it is a multi-device-process, then judge whether the post-tightening process in its process tree and the post-tightening process of each parallel sub-process on their device are affected, as shown in Fig. 6b. If so, adjust them separately and put them into the queue so as to check and adjust the subsequent sequence processes affected by them.
The steps of this strategy are as follows:
Step 1. Adjacent interchange processes on the same device are, respectively, added to the adjustment queue;
Step 2. The adjustment queue is queued and the result is stored in P;
Step 3. Judge whether P is empty; if not, go to step 4, otherwise go to step 32;
Step 4. Determine whether P is a common process; if it is, go to step 5; otherwise, go to step 18;
Step 5. Judge whether P is processed in advance; if it goes to step 6, otherwise, go to step 12;
Step 6. Look for the post-tightening process FT of P in the process tree; if any, go to step 7, otherwise go to step 9;
Step 7. Taking the end time of process P rescheduling as the starting point, the first available time point was found as the starting time of process FT;
Step 8. Add process FT into the adjustment queue; if it is a multi-device-process, then add each parallel sub-procedure into the adjustment queue in turn;
Step 9. Look for the post-tightening process TD of P on the device; if any, go to step 10, otherwise go to step 12;
Step 10. Taking the end time of process P rescheduling as the starting point, the first available time point was found as the starting time of process TD;
Step 11. Add process TD into the adjustment queue; if it is a multi-device-process, then add each parallel sub-process into the adjustment queue in turn, go to step 2;
Step 12. Look for the post-tightening process AT of P in the process tree; if any, go to step 13, otherwise go to step 15;
Step 13. The maximum value of the finishing time of pre-tightening process of AT and the finishing time of process P is set as the starting time of process AT;
Step 14. Add process AT into the adjustment queue; if it is a multi-device-process, then add each parallel sub-process into the adjustment queue in turn;
Step 15. Look for the post-tightening process AD of P on the device; if any, go to step 16, otherwise go to step 18;
Step 16. The finishing time of the current process is set as the processing start time of AD process;
Step 17. Add process AD into the adjustment queue; if it is a multi-device-process, then add each parallel sub-process into the adjustment queue in turn, go to step 2;
Step 18. Judge whether P is processed in advance; if it is, go to step 19; otherwise, go to step 25;
Step 19. Look for the post-tightening process MFT of P in the process tree; if any, go to step 20, otherwise go to step 22;
Step 20. Taking the end time of process P rescheduling as the starting point, the first available time point was found as the starting time of process MFT;
Step 21. Add process MFT into the adjustment queue; if it is a multi-device-process, then add each parallel sub-process into the adjustment queue in turn;
Step 22. Look for the post-tightening processes on the device of each parallel sub-process included in the process P, and store it in MFD[]; if any, go to step 23, otherwise go to step 25;
Step 23. The finishing time of each parallel sub-process in procedure P is taken as the starting time of each process in its corresponding process MFD[];
Step 24. Add each process in MFD[] to the adjustment queue; if one of the process is a multi-device procedure, it is necessary to add each parallel sub-process into the adjustment queue successively, go to step 2;
Step 25. Look for the post-tightening process MAT of P in the process tree; if any, go to step 26, otherwise go to step 28;
Step 26. Calculate the finishing time of the pre-processing process on the device and the finishing time of the pre-processing process in the process tree of each parallel sub-process, respectively. Then, the maximum value is set as the start time of MAT;
Step 27. Add process MAT into the adjustment queue; if it is a multi-device-process, then add each parallel sub-process into the adjustment queue in turn;
Step 28. Look for the post-tightening processes on the device of each parallel sub-process included in the process P, and store it in MAD[]; if any, go to step 29, otherwise go to step 31;
Step 29. The finishing time of each parallel sub-process in procedure P is taken as the starting time of each process in its corresponding process MAD[];
Step 30. Add each process in MAD[] to the adjustment queue; if one of the process is a multi-device procedure, it is necessary to add each parallel sub-process into the adjustment queue successively;
Step 31. Go to step 2;
Step 32. End the adjustment, calculate the total processing time of the current scheme, exit.
The implementation process of multi-device adjacent parallel process interchange adjustment strategy is shown in Fig. 7.