The strategy design in this paper is based on the scheduling results of multiple-devices-process integrated scheduling algorithm with time-selective strategy for process sequence. on this basis, several new product scheduling schemes are generated by using the multi-device adjacent parallel process interchange strategy and the multi-device adjacent parallel process interchange adjustment strategy, and select the scheduling scheme with the best scheduling result.
The multi-device adjacent parallel process interchange strategy and the multi-device adjacent parallel process interchange adjustment strategy are respectively introduced below.
3.1 Multi-device adjacent parallel process interchange strategy
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. 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. Pre-tightening processes are common processes, post-tightening processes are multi-deivce- processes
Assume that in the current parallel adjacent processes in the same device, the pre-tightening process is process A, it is common process, and the post-tightening process is process B, it 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. 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. 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 algorithm steps 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 algorithm flow chart is shown in Figure 5.
Fig. 5 Algorithm flow chart of multi-device adjacent parallel process interchange strategy
3.2 Multi-device adjacent parallel process interchange adjustment strategy
According to the analysis in Section 2.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 preprocess F will shift to the back, The 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, making the processing scheme unfeasible, so 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-deivce-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 equipment 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-deivce-process
If the adjustment process is a multi-device-process, first of all, it is determined that it contains parallel sub-processes, and then separately check the post-tightening process in its process tree and the post-tightening process on the devices of each parallel sub-process to determine whether it is affected. If affected, rescheduling is required.
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 procedure 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, so 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 Figure 6 (a). 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 Figure 6 (b).If so, adjust them separately and put them into the queue so as to check and adjust the subsequent sequence processes affected by them.
Fig. 6 Schematic diagram of multi-device adjacent parallel process interchange adjustment strategy
The algorithm steps 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 algorithm flow chart of multi-device adjacent parallel process interchange adjustment strategy is shown in Figure 7.