Large-scale search scheduling method based on key process block
Through the full arrangement and overall disturbance of key process blocks, the search space of work workshop scheduling is expanded, the search efficiency problem caused by the limitations of key process block movement in the prior art is solved, and more efficient production scheduling is achieved.
Patent Information
- Application Number
- CN202411765361.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-04
- Publication Date
- 2024-12-31
AI Technical Summary
The neighborhood structure of the existing work workshop scheduling method has limitations in the movement of key process blocks, resulting in reduced search efficiency and inability to make full use of machine idle time, which in turn affects the scheduling results.
A large-scale search scheduling method based on key process blocks is adopted to conduct overall disturbance through the full arrangement of key process blocks, expand the search space, realize a more comprehensive search of neighborhood solutions, and reduce the maximum completion time.
The production efficiency of operation workshop scheduling is improved, and when the neighborhood structure single process cannot be improved, the solution can be obtained, the deadlock can be broken, and the maximum completion time can be significantly reduced.
Smart Images

Figure CN119228096A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of job shop scheduling, and in particular to a large-scale search scheduling method based on key process blocks. Background Art
[0002] In manufacturing, scheduling refers to arranging the limited resources in the production system in a reasonable place so that production can be carried out efficiently and orderly. Reasonable scheduling is an effective means for enterprises to reduce costs and improve efficiency. The job shop scheduling problem (JSP) is a typical resource optimization problem. The problem mainly involves the sorting of each workpiece process on the machine. Through reasonable sorting, one or more scheduling performance indicators are optimized. At present, the mainstream method for solving the job shop scheduling problem is meta-heuristic methods, such as genetic algorithms, taboo search algorithms, differential evolution algorithms, simulated annealing algorithms, etc. In terms of global search, many algorithms can achieve global search through their own mechanisms, while for individual local search, the main tool is the neighborhood structure, which realizes individual local search by perturbing the processing order of the process on the machine. In algorithm design, the design of the neighborhood structure is the key to affecting the efficiency of algorithm optimization. At present, the mainstream neighborhood structures are N5, N6, and N7. The N5 neighborhood structure exchanges the first two processes and the last two processes of the key block. The N6 neighborhood structure moves the internal processes of the key block to the front of the block or the back of the block. The N7 neighborhood structure is based on the N6 neighborhood structure and adds the operation of moving the first and last processes of the block to the inside of the block. These three neighborhood structures are limited to the movement within the key process block. The document "A new neighborhood structure for job shop scheduling problems, International Journal of Production Research, 2023, vol61(7), p2147-2161" proposes an N8 neighborhood structure. Based on the N7 neighborhood structure, it expands the movement of processes within the key process block to outside the key process block, increasing the possibility of neighborhood solutions. The essence of the neighborhood structure is to guide the key process to use the idle time of the machine, thereby reducing the maximum completion time. Based on the scheduling Gantt chart, the structural characteristics of the job shop scheduling problem are analyzed, and it is found that there is usually machine idle time after the first critical process block with a start time of 0, before the last critical process block with a completion time of the maximum completion time, and before and after the remaining critical process blocks. How to make full use of this idle time and thus reduce the maximum completion time depends to a certain extent on the process sequence of the critical process blocks.
[0003] However, the current mainstream neighborhood structure only moves one key process at a time for the movement of key blocks and key processes, which sometimes causes some other possibilities to be missed, reducing the search efficiency of the neighborhood structure and thus restricting the final scheduling results. Summary of the invention
[0004] In order to solve the current situation that the existing neighborhood structure of the job shop scheduling problem does not search the neighborhood solution space thoroughly, the present invention proposes a large-scale search scheduling method based on key process blocks. Through the full arrangement of the key process blocks, a large-scale search of the overall disturbance of the key process blocks is performed, and a supplementary search is made for the neighborhood solutions missed by the existing neighborhood structure, so as to achieve a more comprehensive search of the neighborhood solution space and achieve the purpose of minimizing the maximum completion time.
[0005] The present invention provides a large-scale search scheduling method based on key process blocks, comprising the following steps: Step 1: Read the problem data, the initial number of workpieces, the number of machines and the workpiece process route; randomly initialize a machine-based coding individual; initialize the set Keyblock {}, used to store all key process blocks; initialize the collection Perm {}, used to store all the full arrangements of key process block processes; initialize the set Time {}, used to store the approximate maximum completion time of each arrangement and set the number of key process blocks Keyblock , set the historical optimal solution to Best sofa ; Among them, the workpiece process route includes the processing sequence of each process, the processing time of each process, and the processing machine corresponding to each process; the key process is defined as the process with the same earliest start and completion time and the latest start and completion time, and the key process block is a process block composed of two or more key processes closely connected on the same machine; the earliest start and completion time is the earliest time to start and complete the processing when the process meets the constraints, and the latest start and completion time is the latest time to start and complete the processing when the process meets the constraints; the approximate maximum completion time is the scheduling maximum completion time obtained using the approximate evaluation method; Step 2: Decode the initial coded individual in step 1 using a machine-based decoding method, and assign the scheduling solution to Best sofa , and the earliest start and finish time of each process will be obtained. Then the process right shift operation is performed on the obtained scheduling solution to obtain the latest start and finish time of the process. Step 3: Find the key process and key process block, and assign the number of the key process block found to Keyblock Each key process block uses i Indicates that from the first key process block i =1, and execute steps 4 to 7 in a loop; Step 4: Arrange the processing sequence of the key processes in the current key process block, obtain all the arrangements of the key processes, and store all the arrangements in the collection Perm {}middle; Step 5: Set Perm The scheduling solutions corresponding to all the arrangements in {} use the approximate evaluation method to quickly evaluate the maximum completion time of the scheduling solutions, and obtain the set Perm The approximate maximum completion time corresponding to all permutations in {}; Step 6: Assemble Perm All permutations in {} are sorted from small to large according to the corresponding approximate maximum completion time obtained in step 5, and stored in the set Time {}middle; Step 7, starting from the scheduling solution formed by the arrangement corresponding to the minimum approximate maximum completion time, the machine-based precise decoding includes the following process: If the current scheduling solution is a feasible solution, the current scheduling solution is accepted and the decoding is completed; if the current scheduling solution is an infeasible solution, the scheduling solution formed by the arrangement corresponding to the next smallest approximate maximum completion time is decoded based on the machine, and so on, until the decoding is completed; determine whether the exact maximum completion time of the current scheduling solution is less than Best sofa The exact maximum completion time of Best sofa The exact maximum completion time of Best sofa , stop decoding; otherwise, determine the key process block i Is it less than Keyblknum, joi < Keyblock ,but i = i +1, go to step 4; if i ≥ Keyblock , go to step 8; Step 8, Best sofa This is the final solution, and the corresponding process arrangement order is the final process sorting order searched.
[0006] Furthermore, in step 2, the machine-based decoding method is specifically as follows: starting from the first machine, the first process encoded on machine 1 is arranged for processing, and then according to the order of process processing in the process route, if the first process that is not arranged for processing on the code of machine 2 is allowed to be processed, then processing is arranged; if processing is not allowed, then the first process that is not arranged for processing on the code of machine 3 is judged, and so on, until all processes are arranged for processing.
[0007] Furthermore, in step 2, the scheduling solution obtained by decoding is based on the constraints of the processing sequence of the processes in the process route, and the processing sequence of the processes on the machine is not changed. The processes are arranged to be processed at the earliest time. There is idle time on the right side of non-critical processes, and later processing times can be found. The process right shift operation is to move the process to the right on the machine based on the scheduling solution obtained by machine decoding, without changing the processing sequence of the processes, until there is no room for right shift for all processes, and the latest start and completion time of the processes is obtained.
[0008] Furthermore, in step 4, the key process block is fully arranged to arrange the processing sequence of the processes in the key process block, and all processing sequences of the processes in the key process block are obtained, and each processing sequence corresponds to a new scheduling solution.
[0009] Further, in step 5, the process sequence in the key process block will form several arrangements after full arrangement, and the set Perm The scheduling solutions corresponding to all the arrangements in {} are the scheduling solutions formed by replacing the process processing sequence in the original key process block with the process processing sequence in the fully arranged key process block.
[0010] Furthermore, in step 5, the approximate evaluation method is to re-estimate the head length and tail length of the processes in the key process block according to the processing sequence constraints of the processes in the process route and without changing the processing sequence of the processes on the machine, and then add the head length and tail length of these processes respectively, and select the maximum sum as the approximate maximum completion time, where the head length is defined as the length from the zero time of the scheduling solution to the earliest start time of the process, and the tail length is defined as the length from the latest start time of the process to the maximum completion time of the scheduling solution. The re-estimated process u New head length r u The estimation formula of ' is as follows, r u '=max{ r JP[u] + p JP[u] , r MP[u] + p MP[u]}, in the formula r JP[u] For process PC [ u ]header length, r MP[u] For process MP [ u ]header length, p JP[u] For process PC [ u] processing time, p MP[u] For process MP [ u ] processing time, PC [ u ] represents the immediate preceding process of process u on the same workpiece process route, MP [ u ] indicates the process on the same machine u The immediate preceding process; process u New tail length q u The estimation formula of ' is, q u '=max{ q JS[u] , q MS[u]}+ p u ,in q JS[u] Indicates the process PC [ u ] tail length, q MS[u] Indicates the process MP [ u ] tail length, p u For process u The processing time, JS [ u ] indicates the process steps on the same workpiece process route u The subsequent process, MS [ u ] indicates the process on the same machine u The subsequent process.
[0011] The present invention provides a large-scale search scheduling method based on key process blocks. By fully arranging the key process blocks, a large-scale search of the key process blocks with overall disturbance is performed, and by making full use of the idle time before and after the key process blocks, the disturbance of multiple processes in the key process blocks is achieved. In particular, when the single process mobile search of the neighborhood structure is stuck in a dilemma and cannot improve the current solution, the method can obtain a good improved solution, which has a positive effect of improving the production efficiency of workshop scheduling. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1 It is a schematic diagram of the implementation process of the present invention; Figure 2 It is an initial coding scheduling Gantt chart provided in an embodiment of the present invention; Figure 3 It is the earliest start and finish time scheduling Gantt chart provided in the embodiment of the present invention; Figure 4 It is a latest start and finish time scheduling Gantt chart provided in an embodiment of the present invention; Figure 5 It is a Gantt chart for scheduling key processes and key process blocks provided in an embodiment of the present invention; Figure 6 It is a large-scale search scheduling Gantt chart provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0013] For the job shop scheduling problem, the number of processes in the key process block is usually not too large. Therefore, a large-scale search method for overall perturbation of the key process block is designed by fully permuting the processes in the key process block. In particular, when moving a single process cannot improve the current solution based on the neighborhood structure, the large-scale search method based on overall perturbation of the key process block can sometimes break the deadlock and obtain a better improved solution, which can be applied to related problems such as flexible job shop scheduling problems and distributed job shop scheduling problems.
[0014] like Figure 1 As shown, a large-scale search scheduling method based on key process blocks provided by the present invention is mainly implemented through the following steps.
[0015] Step 1: Read the problem data, the initial number of workpieces, the number of machines and the workpiece process route; randomly initialize a machine-based coding individual; initialize the set Keyblock {}, used to store all key process blocks; initialize the collection Perm {}, used to store all the full arrangements of key process block processes; initialize the set Time {}, used to store the approximate maximum completion time of each arrangement and set the number of key process blocks Keyblock , set the historical optimal solution to Bestsofar. Among them, the workpiece process route includes the processing sequence of each process, the processing time of each process and the processing machine corresponding to each process; the key process is defined as the process with the same earliest start and completion time and the latest start and completion time, and the key process block is a process block composed of two or more closely connected key processes on the same machine; the earliest start and completion time is the earliest time to start and complete the processing when the process meets the constraints, and the latest start and completion time is the latest time to start and complete the processing when the process meets the constraints; the approximate maximum completion time is the scheduling maximum completion time obtained using the approximate evaluation method.
[0016] Step 2: Decode the initial coded individual in step 1 using a machine-based decoding method, and assign the scheduling solution to Best sofa, and the earliest start and finish time of each process will be obtained, and then the process right shift operation will be performed on the obtained scheduling solution to obtain the latest start and finish time of the process. Among them, the machine-based decoding method is specifically as follows: starting from the first machine, the first process on the machine 1 code is arranged for processing, and then according to the process processing sequence constraint in the process route, if the first process that is not arranged for processing on the machine 2 code is allowed to be processed, it is arranged for processing; if it is not allowed to be arranged for processing, then the first process that is not arranged for processing on the machine 3 code is judged, and so on, until all processes are arranged for processing.
[0017] In addition, the scheduling solution obtained by decoding is based on the order of process processing in the process route, and does not change the processing order of the processes on the machine, so the processes are arranged to be processed at the earliest time. There is idle time on the right side of non-critical processes, and later processing times can be found. Therefore, the process right shift operation is to move the process to the right on the machine on the basis of the scheduling solution obtained by machine decoding, without changing the processing order of the processes, until there is no room for right shift for all processes, and the latest start and completion time of the process is obtained.
[0018] Step 3: Find the key process and key process block, and assign the number of the key process block found to Keyblock Each key process block uses i Indicates that from the first key process block i =1, and execute steps 4 to 7 in a loop.
[0019] Step 4: Arrange the processing sequence of the key processes in the current key process block, obtain all the arrangements of the key processes, and store all the arrangements in the collection Perm {}. Among them, the full arrangement of the key process block is to arrange the processing sequence of the processes in the key process block, and obtain all the processing sequences of the processes in the key process block, and each processing sequence corresponds to a new scheduling solution.
[0020] Step 5: Set Perm The scheduling solutions corresponding to all the arrangements in {} use the approximate evaluation method to quickly evaluate the maximum completion time of the scheduling solutions, and obtain the set Perm The approximate maximum completion time corresponding to all permutations in {}. Specifically, the processing sequence of the key process block will form several permutations after full permutation, and the set Perm The scheduling solutions corresponding to all the arrangements in {} are the scheduling solutions formed by replacing the process processing sequence in the original key process block with the process processing sequence in the fully arranged key process block.
[0021] The above approximate evaluation method is: according to the order constraints of the process processing in the process route, and without changing the processing order of the process on the machine, the head length and tail length of the process in the key process block are re-estimated, and then the head length and tail length of these processes are added respectively, and the maximum sum is selected as the approximate maximum completion time, where the head length is defined as the length from the zero time of the scheduling solution to the earliest start time of the process, and the tail length is defined as the length from the latest start time of the process to the maximum completion time of the scheduling solution. The re-estimated process u New head length r u The estimation formula of ' is as follows, r u '=max{ r JP[u] + p JP[u] , r MP[u] + p MP[u]}, in the formula r JP[u] For process PC [ u ]header length, r MP[u] For process MP [ u ]header length, p JP[u] For process PC [ u ] processing time, p MP[u] For process MP [ u ] processing time, PC [ u ] represents the immediate preceding process of process u on the same workpiece process route, MP [ u ] indicates the process on the same machine u The immediate preceding process; process u New tail length q u The estimation formula of ' is, q u '=max{ q JS[u] , q MS[u]}+ p u ,in q JS[u] Indicates the process PC [ u ] tail length, q MS[u] Indicates the process MP [u ] tail length, p u For process u The processing time, JS [ u ] indicates the process steps on the same workpiece process route u The subsequent process, MS [ u ] indicates the process on the same machine u The subsequent process.
[0022] Step 6: Assemble Perm All permutations in {} are sorted from small to large according to the corresponding approximate maximum completion time obtained in step 5, and stored in the set Time {}middle.
[0023] Step 7, starting from the scheduling solution formed by the arrangement corresponding to the minimum approximate maximum completion time, the machine-based precise decoding includes the following process: If the current scheduling solution is a feasible solution, the current scheduling solution is accepted and the decoding is completed; if the current scheduling solution is an infeasible solution, the scheduling solution formed by the arrangement corresponding to the next smallest approximate maximum completion time is decoded based on the machine, and so on, until the decoding is completed; determine whether the exact maximum completion time of the current scheduling solution is less than Best sofa The exact maximum completion time of Best sofa The exact maximum completion time of Best sofa , stop decoding; otherwise, determine the key process block i Is it less than Keyblknum, joi < Keyblock ,but i = i +1, go to step 4; if i ≥ Keyblock , go to step 8.
[0024] Step 8, Best sofa This is the final solution, and the corresponding process arrangement order is the final process arrangement order found. It is worth noting that after executing the above steps for all key process blocks, a scheduling solution will be obtained. Best sofa It is the solution with the smallest maximum completion time among these scheduling solutions, which is the final result obtained by this method.
[0025] The present invention is further described below through an embodiment of the present invention. This embodiment takes the standard example FT06 of the job shop scheduling problem as an example, which includes 6 workpieces and 6 machines, and the total number of processes is 36. The specific information of the job shop scheduling is shown in Table 1: Table 1 Example of FT06 job shop scheduling problem Step 1: Read the problem data, the initial number of workpieces, the number of machines, and the workpiece process route (including the processing sequence of each process, the processing time of each process, and the corresponding processing machine for each process), and randomly initialize a machine-based coding individual, as shown in Table 2: Table 2 Machine-based encoding In Table 2, row M1 indicates the process processed on machine 1. The number 1 indicates the process belonging to workpiece J1. After the machine-based decoding of this coded individual, in the order of the start time, it is process 1 to 6 of workpiece J1, and so on. Initialization set Keyblock {}, used to store all key process blocks. Initialize the collection Perm {}, used to store all the arrangements of key process blocks. Initialize the collection Time {}, used to store the approximate maximum completion time of each arrangement. The approximate maximum completion time is the scheduling maximum completion time obtained using the approximate evaluation method. Set the number of key process blocks Keyblock , set the historical optimal solution to Best sofa .
[0026] Step 2: Decode the initial code using a machine-based decoding method, and assign the scheduling solution to Best sofa At the same time, the earliest start and completion time of each process will be obtained, and then the process right shift operation will be performed on the obtained scheduling solution to obtain the latest start and completion time of the process.
[0027] Decode the code in Table 2 to form a scheduling Gantt chart as follows Figure 2 As shown in the figure, the vertical axis represents the machine number and the horizontal axis represents time. Take an example in the scheduling Gantt chart, for example, process 1,1 represents the first process of workpiece J1; process 1,2 represents the second process of workpiece J1; process 2,1 in the figure represents the first process of workpiece J2, and so on, no more details will be given.
[0028] For the convenience of comparison, the scheduling solution formed by this coding is continuously searched and optimized using the N8 neighborhood structure with the widest moving range to form a new scheduling solution, whose coding is shown in Table 3: Table 3 Coding after N8 neighborhood operation By decoding the code in Table 3, we can get the earliest start and finish time Gantt chart of the scheduling solution after N8 neighborhood operations as shown below: Figure 3 As shown, then decode the process right shift to get the latest start and finish time Gantt chart as shown Figure 4 shown.
[0029] Step 3: Find the key process and key process block, and assign the number of key process blocks found to Keyblock , each key process block number is i Indicates that the initial i =1, starting from the first critical process block, loop through steps 4 to 7. A critical process is defined as a process whose earliest start time is the same as the latest start time. A critical process block is a process block consisting of two or more closely connected critical processes on the same machine. The number of critical process blocks is recorded because all critical process blocks need to be fully arranged. Figure 3 , Figure 4 The key process and key process blocks of this scheduling solution can be found, such as Figure 5 As shown in the figure, the process with horizontal lines at the bottom is the key process, and the process blocks in the box are the key process blocks. Figure 5 Taking the scheduling shown as an example, it contains three key blocks: {6 3} on machine 1, {4 6 1 2 5} on machine 2, and {5 2 3 4 6 1} on machine 5. Each process is simply represented by the corresponding workpiece number.
[0030] right Figure 5 The scheduling shown continues to apply the N8 neighborhood structure to perform neighborhood search, and the neighborhood solution is shown in Table 4: Table 4 N8 neighborhood solutions Table 4 Process u In process v Processing was performed before, and the forward movement in the moving direction indicates the process v Move to process u Before, after the process u Move to process v after. C max represents the maximum completion time after the neighborhood solution is accurately decoded. It can be seen that the minimum maximum completion time in the neighborhood solution is 65, at which point the N8 neighborhood structure can no longer optimize the maximum completion time of the schedule.
[0031] Step 4: Arrange the processing sequence of the key processes in the current key process block, obtain all the arrangements of these key processes, and store all the arrangements in the collection Perm In {}, each process arrangement sequence will form a scheduling solution, which may be feasible or infeasible.
[0032] Taking the key block {4 6 1 2 5} on machine 2 in the scheduling as an example, its partial full arrangement is shown in formula (1): (1) In which, each row in the set of formula (1) represents a permutation situation.
[0033] Step 5: Set Perm The scheduling solutions corresponding to all the arrangements in {} use the approximate evaluation method to quickly evaluate the maximum completion time of the scheduling solutions, and obtain the set Perm The approximate maximum completion time for all permutations in {}.
[0034] Step 6: Assemble Perm All the permutations in {} are sorted from small to large according to the corresponding approximate maximum completion time obtained in step 5, and stored in the set Time {}, still with Figure 4 Taking the key block {4 61 2 5} on machine 2 in the scheduling shown in the figure as an example, its arrangement is sorted from small to large according to the approximate maximum completion time, as shown in Table 5: Table 5 N8 neighborhood solution The first row in the table indicates the approximate maximum completion time, and the second row indicates the corresponding arrangement row index, which is convenient for finding the corresponding process arrangement sequence.
[0035] Step 7, starting from the scheduling solution formed by the arrangement corresponding to the minimum approximate maximum completion time, the machine-based precise decoding includes the following process: If the current scheduling solution is a feasible solution, the current scheduling solution is accepted and the decoding is completed; if the current scheduling solution is an infeasible solution, the scheduling solution formed by the arrangement corresponding to the next smallest approximate maximum completion time is decoded based on the machine, and so on, until the decoding is completed; determine whether the exact maximum completion time of the current scheduling solution is less than Best sofa The exact maximum completion time of Best sofa The exact maximum completion time of Best sofa , stop decoding; otherwise, determine the key process block i Is it less than Keyblknum, joi < Keyblock ,but i = i +1, go to step 4; if i ≥ Keyblock , go to step 8. The reason for performing accurate decoding from small to large according to the approximate maximum completion time is that the accuracy of approximate evaluation is extremely high, and the second is that accurate decoding can minimize the omission of excellent feasible solutions. Therefore, when the scheduling solution can be decoded according to the approximate maximum completion time, it is generally the optimal feasible scheduling solution.
[0036] Step 8, Best sofaThis is the final solution, and its process arrangement order is the final process order searched. Each key process block selects an optimal scheduling solution, which can also better ensure the scientific nature of this method.
[0037] by Figure 5 Taking the key block {4 6 1 2 5} on machine 2 in the scheduling solution shown in the figure as an example, after searching in steps 4 to 7, the scheduling Gantt chart of the optimal scheduling solution is as follows Figure 6 As shown in FIG. 1 , this scheduling solution is also the optimal scheduling solution obtained by applying the large-scale search scheduling method based on key process blocks of the present invention. Figure 6 As shown, after a large-scale search based on overall perturbation of key blocks, the maximum completion time is reduced from 65 to 60, which fully proves the effectiveness of the present invention.
Claims
1. A large-scale search scheduling method based on key process blocks, characterized in that: The following steps are included: Step 1: Read the problem data, the initial number of workpieces, the number of machines and the workpiece process route; randomly initialize a machine-based coding individual; initialize the set Keyblk {}, used to store all key process blocks; initialize the collection Perms {}, used to store all the full arrangements of key process block processes; initialize the set Ctime {}, used to store the approximate maximum completion time of each arrangement and set the number of key process blocks Keyblknum , set the historical optimal solution to Bestsofar ; Among them, the workpiece process route includes the processing sequence of each process, the processing time of each process, and the processing machine corresponding to each process; the key process is defined as the process with the same earliest start and completion time and the latest start and completion time, and the key process block is a process block composed of two or more key processes closely connected on the same machine; the earliest start and completion time is the earliest time to start and complete the processing when the process meets the constraints, and the latest start and completion time is the latest time to start and complete the processing when the process meets the constraints; the approximate maximum completion time is the scheduling maximum completion time obtained using the approximate evaluation method; Step 2: Decode the initial coded individual in step 1 using a machine-based decoding method, and assign the scheduling solution to Bestsofar , and the earliest start and finish time of each process will be obtained. Then the process right shift operation is performed on the obtained scheduling solution to obtain the latest start and finish time of the process. Step 3: Find the key process and key process block, and assign the number of the key process block found to Keyblknum Each key process block uses i Indicates that from the first key process block i =1, and execute steps 4 to 7 in a loop; Step 4: Arrange the processing sequence of the key processes in the current key process block, obtain all the arrangements of the key processes, and store all the arrangements in the collection Perms {}middle; Step 5: Set Perms The scheduling solutions corresponding to all the arrangements in {} use the approximate evaluation method to quickly evaluate the maximum completion time of the scheduling solutions, and obtain the set Perms The approximate maximum completion time corresponding to all permutations in {}; Step 6: Assemble Perms All permutations in {} are sorted from small to large according to the corresponding approximate maximum completion time obtained in step 5, and stored in the set Ctime {}middle; Step 7, starting from the scheduling solution formed by the arrangement corresponding to the minimum approximate maximum completion time, the machine-based precise decoding includes the following process: If the current scheduling solution is a feasible solution, the current scheduling solution is accepted and the decoding is completed; if the current scheduling solution is an infeasible solution, the scheduling solution formed by the arrangement corresponding to the next smallest approximate maximum completion time is decoded based on the machine, and so on, until the decoding is completed; determine whether the exact maximum completion time of the current scheduling solution is less than Bestsofar The exact maximum completion time of Bestsofar The exact maximum completion time of Bestsofar , stop decoding; otherwise, determine the key process block i Is it less than Keyblknum, if i < Keyblknum ,but i = i +1, go to step 4; if i ≥ Keyblknum , go to step 8; Step 8, Bestsofar This is the final solution, and the corresponding process arrangement order is the final process sorting order searched.
2. The large-scale search scheduling method based on key process blocks as claimed in claim 1 is further characterized in that: In step 2, the machine-based decoding method is as follows: starting from the first machine, machine 1, the first process encoded on machine 1 is arranged for processing, and then according to the process processing sequence constraints in the process route, if the first process that is not arranged for processing on the machine 2 code is allowed to be processed, then the processing is arranged; if it is not allowed to be arranged, then turn to determine whether the first process that is not arranged for processing on the machine 3 code is allowed to be processed, and so on, until all processes are arranged for processing.
3. A large-scale search scheduling method based on key process blocks as claimed in claim 2, characterized in that: In step 2, the scheduling solution obtained by decoding is based on the order of process processing in the process route, and does not change the processing order of the processes on the machine. The processes are scheduled to be processed at the earliest time. There is idle time on the right side of non-critical processes, and later processing times can be found. The process right shift operation is based on the scheduling solution obtained by machine decoding. Under the premise of not changing the process processing order, the process is moved to the right on the machine until there is no space for right shift for all processes, and the latest start and completion time of the process is obtained.
4. The large-scale search scheduling method based on key process blocks as claimed in claim 3 is further characterized in that: In step 4, the key process block is fully arranged to arrange the processing sequence of the processes in the key process block, and all processing sequences of the processes in the key process block are obtained, and each processing sequence corresponds to a new scheduling solution.
5. The large-scale search scheduling method based on key process blocks as claimed in claim 4 is further characterized in that: In step 5, the process sequence in the key process block will form several arrangements after full arrangement. Perms The scheduling solutions corresponding to all the arrangements in {} are the scheduling solutions formed by replacing the process processing sequence in the original key process block with the process processing sequence in the fully arranged key process block.
6. A large-scale search scheduling method based on key process blocks as claimed in claim 5, characterized in that: In step 5, the approximate evaluation method is to re-estimate the head length and tail length of the processes in the key process block according to the processing sequence constraints of the processes in the process route and without changing the processing sequence of the processes on the machine, and then add the head length and tail length of these processes respectively, and select the maximum sum as the approximate maximum completion time, where the head length is defined as the length from the zero time of the scheduling solution to the earliest start time of the process, and the tail length is defined as the length from the latest start time of the process to the maximum completion time of the scheduling solution. The re-estimated process u New head length r u The estimation formula of ' is as follows, r u '=max{ r JP[u] + p JP[u] , r MP[u] + p MP[u] }, in the formula r JP[u] For process JP [ u ]header length, r MP[u] For process MP [ u ]header length, p JP[u] For process JP [ u ] processing time, p MP[u] For process MP [ u ] processing time, JP [ u ] represents the immediate preceding process of process u on the same workpiece process route, MP [ u ] indicates the process on the same machine u The immediate preceding process; process u New tail length q u The estimation formula of ' is, q u '=max{ q JS[u] , q MS[u] }+ p u ,in q JS[u] Indicates the process JP [ u ] tail length, q MS[u] Indicates the process MP [ u ] tail length, p u For process u The processing time, JS [ u ] indicates the process steps on the same workpiece process route u The subsequent process, MS [ u ] indicates the process on the same machine u The subsequent process.
Citation Information
Patent Citations
Job shop scheduling optimization method with sufficient necessary condition neighborhood structure
CN112330221A
