Fast local search method for effective position insertion of necessary processes in hybrid flow workshop
By designing a fast local search method based on the effective position insertion of necessary processes in the mixed flow workshop scheduling, the problems of high computing costs and low optimization scheduling efficiency in the prior art are solved, and more efficient workshop scheduling is achieved.
Patent Information
- Application Number
- CN202411194605.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2044-08-29
AI Technical Summary
The existing local search method limits the search space of the scheduling scheme in the mixed flow workshop scheduling. The selection of the insertion process is unreasonable and the selection of the insertion position is inefficient, resulting in high calculation costs and low optimization scheduling efficiency.
A fast local search method based on the effective position insertion of necessary processes is designed. By obtaining the required process set, deleting and reinserting the required process, using the quick evaluation method to calculate the maximum completion time, and selecting the effective position insertion process to reduce invalid movement and calculation costs.
This method effectively reduces the number of processes involved in insertion and attempts to insert positions, avoids attempts to invalid positions, reduces the number of function evaluations and the time complexity of the algorithm, and improves the efficiency of workshop scheduling.
Smart Images

Figure CN118710026B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of workshop scheduling, and in particular to a fast local search method for inserting effective positions of necessary processes in a mixed flow workshop. Background Art
[0002] In the fields of automobile manufacturing, electronic product manufacturing, and furniture manufacturing, in order to increase production capacity or balance production capacity at various stages, it is necessary to obtain additional machines at certain stages, resulting in multiple machines being available at certain stages. Obviously, this production mode can improve production efficiency, increase production capacity, and make the production process more flexible. The process flow with parallel machine production mode mentioned above can be abstracted as a hybrid flow shop scheduling problem.
[0003] On the one hand, the existing local search methods limit the search space of scheduling solutions. On the other hand, the selection of inserted processes is unreasonable and the selection of insertion positions is inefficient, which greatly increases the computational cost. According to the characteristics of the hybrid flow shop scheduling problem, it is not difficult to find that there may be multiple critical paths in this problem, and the movement of some processes on these critical paths will not affect the maximum completion time. However, deleting the necessary processes can make the original completion time value smaller. In addition, only specific insertion positions can reduce the completion time of the changed sequence. In view of this, for the hybrid flow shop scheduling problem, designing a fast local search method based on the effective position insertion of the necessary processes has important practical significance, which can greatly reduce the computational cost and improve the efficiency of optimization scheduling.
[0004] Based on the above analysis, the present invention explores the characteristics of the hybrid flow shop scheduling problem, provides a method for representing the graph of the scheduling plan, proposes a non-recursive method for obtaining the set of necessary processes from the scheduling plan, and designs a fast evaluation method for whether the maximum completion time becomes smaller after deleting a necessary process and reinserting it into other positions, and a method for selecting the effective position when deleting a necessary process and reinserting it. Compared with the traditional calculation method, the present invention effectively avoids the invalid movement of the process by reducing the number of moving processes and the number of times the positions are inserted; the maximum completion time after moving the process is calculated by a fast evaluation method, which saves the calculation cost and improves the efficiency of the optimization scheduling. Summary of the invention
[0005] In order to address the shortcomings of existing local search technologies, the present invention provides a fast local search method for inserting effective positions of necessary processes in a hybrid flow shop. By inserting the effective positions of necessary processes, the number of processes involved in the insertion and the attempts at insertion positions are reduced, and many attempts at invalid positions are avoided, thereby greatly reducing the number of function evaluations and the time complexity of the algorithm, thereby improving the efficiency of shop scheduling.
[0006] The present invention provides a fast local search method for inserting effective positions of necessary processes in a hybrid flow shop, comprising the following steps:
[0007] A fast local search method for inserting effective positions of necessary processes in a hybrid flow shop comprises the following steps:
[0008] Step 1: Obtain the representation of the scheduling scheme in the solution space;
[0009] Step 2: Initialize the process and set the maximum completion time after local search Equal to the maximum completion time before the local search , improved marking parameters equal ;
[0010] Step 3: If equal , the local search method ends and the output is , otherwise, go to step 4;
[0011] Step 4: First Set to , and then obtain the necessary process set from the scheduling plan;
[0012] Step 5: Delete one of the necessary processes in turn and find an effective insertion position for the process. During the insertion process, use the fast evaluation method to calculate the longest path from the first process to the last process through the necessary process. , record The smallest position;
[0013] Step 6: If Less than , insert this necessary process into The smallest position, update the completion time and reverse completion time of all processes, and recalculate , and update for , execute step 3;
[0014] Step 7: If Greater than or equal to , insert the necessary process to the original position and execute step 3;
[0015] Furthermore, the solution space in step 1 is represented as follows: The processing of each workpiece is carried out in the same order. Each stage has parallel machines to process the process, a scheduling scheme for a hybrid flow shop is defined as: , in stage Identify unique machine ( ) to process the process and determine the processing order of the processes on each machine, where: is the number of workpieces, is the number of stages (processes), is the index of the artifact, , is the index of the stage, , For stage The collection of parallel machines in , For stage The parallel machines, = , :For workpiece In stage;
[0016] In the solution space, each node corresponds to a process , the weight of each node is equal to the process corresponding to the node Processing time , each stage Introducing two virtual processes and , respectively represent the start and end of all machine processing in each stage, and the processing time of all virtual processes is In addition, two virtual stages are introduced, namely stage 0 and stage , all artifacts must first be processed in stage 0, then in the normal stage, and finally in stage Each workpiece The virtual processes in the two virtual stages are and , the processing time is 0;
[0017] For operations on the same stage (non-virtual stage) and ,if and yes The direct successor of and There are two arcs between It's a machine The first operation on and There are two arcs between It's a machine The last operation on and There are two arcs in between.
[0018] Furthermore, the method to complete the forward completion time and the reverse completion time in the solution space is:
[0019] For all virtual steps in the non-virtual stage, let =0, , for all virtual processes in the virtual stage, let , , in the solution space, each non-virtual process There are four arcs , , and ,according to and Get the process Forward completion time ,according to and Get the process Reverse completion time ;
[0020] After completing the calculation of the forward completion time and the reverse completion time, the maximum completion time of the scheduling scheme is determined, which is recorded as ;
[0021] Furthermore, the set of necessary processes is obtained from the scheduling plan: First, the representation of the scheduling plan in the solution space is determined: For non-virtual processes ,if , process It is called the key process of the solution space. In the solution space, the nodes , The subset consisting of the key process nodes of the solution space and the arcs related to these nodes is called the solution space subset, denoted by , in the solution space subset, there is no gap between the continuous operations of all processes, that is, the completion time of the previous process in the solution space subset is the start time of the next process in the solution space subset; secondly, based on the solution space subset Get the required process set:
[0022] Step 4.1: Set the required process set to empty and set the timestamp to 1;
[0023] Step 4.2: Subset the solution space Each operation in ,set up and is 0, for a subset of the solution space For each edge in , set its access mark to 0 and construct a stack to store the node pair of the current node and its parent node;
[0024] Step 4.3: From the process Start a depth-first search for the process ,set up and is the current timestamp, add 1 to the timestamp, and Push into the stack, express There is no parent node;
[0025] Step 4.4: If the stack is not empty, go to step 5, otherwise go to step 9;
[0026] Step 4.5: Take a pair of nodes from the top of the stack , is the current node, is the parent node;
[0027] Step 4.6: Find a path starting from the current node Starting from the parent node The edge marked as 0 for the visit of the end point;
[0028] Step 4.7: If such an edge is found, record it as , set its access flag to 1, if discovery[ ] is equal to 0, then set and is the current timestamp, adds 1 to the timestamp, and sets the node pair Push to the stack, otherwise set equal , proceed to step 4;
[0029] Step 4.8: If no such edge is found, pop the stack. If the stack is not empty, and Not the same node and Less than or equal to If the three conditions are met at the same time, As a necessary process, merge it into the necessary process set and set equal , proceed to step 4;
[0030] Step 4.9: Based on the key subgraph The method of obtaining the necessary process set is completed, and the necessary process set is output.
[0031] A quick evaluation method to determine whether the maximum completion time is reduced after deleting a necessary process and reinserting it into another location is as follows:
[0032] remember It is a necessary step to delete and reinsert. The original processing machine is , delete the required process The maximum completion time after that is recorded as , obviously there is , reinsert process The maximum completion time after ,but ,here To reinsert the process After that, the scheduling scheme diagram changes from arrive go through The length of the longest path among all the paths, since we already know , so as long as , we can determine that the maximum completion time becomes optimal after deleting a necessary process and reinserting it into another position;
[0033] delete After that, On the machine, The forward completion time of the process after the original position and The reverse completion time of the process before the original position has changed, and the completion time of these changes is updated. Medium On machines other than the one in the previous example, the completion time and reverse completion time of the process will not change. After completing the above time update, when inserting at each position, remember the processes before and after the insertion position are and ,but is equivalent to .
[0034] The method for selecting a valid position when deleting a necessary process and reinserting it is described as follows:
[0035] remember It is a necessary step to delete and reinsert. The original processing machine is ,exist On the machine, update The forward completion time of the process after the original position and The reverse completion time of the process before the original position is sent to the solution space Re-insert When the machine to be inserted is considered , remember the machine The number of processing steps is , then in the machine Total Positions can be inserted, and each position is numbered with express, ;
[0036] machine Up, Location The previous and next processes are recorded as and ,Location The workpiece numbers corresponding to the previous and next processes are recorded as and ,if ,but ,express is a virtual process, if ,but ,express For virtual processes, machines The first one from right to left meets Location Recorded as ,Right now ,machine The first one from left to right is satisfied Location Recorded as ,Right now ;
[0037] For Location and It has the following features:
[0038] Feature 1: In the machine On, if , for location Any position on the left ,have , that is, insert the deleted process into position The left position is obtained Insert at position less than Have to wait , which means that when inserting and deleting operations, the position Better than location All positions on the left, positions All positions on the left do not need to attempt insertion;
[0039] Feature 2: In the machine On, if , for location Any position on the right ,have , that is, insert the deleted process into position The right position is obtained Insert at position less than Have to wait , which means that when inserting and deleting operations, the position Better than location All positions on the right, positions All positions on the right do not need to attempt insertion;
[0040] Feature 3: In the machine On, if , for location To location Any position between (include and ),have ,for Left or Any position on the right ,have , that is, insert the deleted process into position To location Any position between (include and ) to get the same , which is equal to , insert the deleted process into other positions to obtain Greater than , which means that when inserting and deleting operations, the position To location All positions between (including and ) have the same effect and are better than other positions;
[0041] Determine location and The strategy is selected from the following three strategies:
[0042] Strategy 1: If you delete the process is the first stage of the process, then , if the process is the last stage of the process, then ;
[0043] Strategy 2: If the inserted machine , that is, the deleted process Insert it into a machine other than the original processing machine, and remember the machine The completion time of the last process is , remember the machine The reverse completion time of the first process is ,if , which means the position and More likely to appear in machines On the left side, we determine the position from the leftmost side to the right and , otherwise it means the position and More likely to appear on the right side of the machine, we determine the position from the far right to the left and , when determining the position from the leftmost side to the right and If the location is first found , then it must be satisfied , terminate the search if the position is found first , then continue to the right until the position is determined , which satisfies , terminate the search, when the position is determined from the rightmost to the left and If the location is first found , then it must be satisfied , terminate the search if the position is found first , then continue to the right until the position is determined , which satisfies , terminate the search;
[0044] Strategy 3: If the inserted machine , that is, the deleted process Insert into the original processing machine and record the process exist The original position on ,if , there must be , then you need to change the position Position right , otherwise there must be , then from the position Position left ,if , there must be , then you need to change the position Position left , find the location In the process of updating the reverse completion time of the process, otherwise there will be , then from the position Position right .
[0045] The present invention provides a fast local search method for inserting effective positions of necessary processes in a hybrid flow shop, which has the following technical effects:
[0046] (1) Compared with the traditional local search method, the present invention only considers the insertion of necessary processes, and the non-necessary processes on the critical path are no longer considered for insertion, which reduces the number of processes involved in the disturbance, thereby shortening the calculation time and improving the calculation efficiency;
[0047] (2) Compared with the existing local search method, the present invention does not consider all positions for insertion, but proposes three strategies to find effective insertion positions. Only the insertion of these effective positions can reduce the makespan of the variable sequence. This method can greatly reduce the number of insertion positions and effectively avoid the invalid movement of the process, thereby saving computing costs and improving the efficiency of optimization scheduling.
[0048] In summary, the present invention can well solve the efficient local search process of the hybrid flow shop scheduling problem, and can provide a feasible local search method for the rapid solution of the hybrid flow shop scheduling problem. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Figure 1 It is a representation of the solution space of the scheduling scheme of the present invention taking 8 workpieces and 3 stages as an example. DETAILED DESCRIPTION
[0050] Embodiments of the present invention will now be described more fully below with reference to the accompanying drawings showing embodiments of the present invention. However, the present invention can be implemented in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and the scope of the present invention will be fully conveyed to those skilled in the art. Throughout the text, the same numerals represent the same elements.
[0051] like Figure 1 As shown, an embodiment of the present invention provides a fast local search method for inserting effective positions of necessary processes in a hybrid flow shop, comprising the following steps:
[0052] Step 1: Representation of the scheduling scheme in the solution space. The solution space is as follows: Figure 1 As shown, the details are as follows:
[0053] Mixed flow workshop The processing of each workpiece is carried out in the same order. Each stage has parallel machines to process the process, a scheduling solution for the hybrid flow shop problem is defined as: , in stage Identify unique machine ( ) to process the process and determine the processing order of the processes on each machine, where: is the number of workpieces, is the number of stages (processes), is the index of the artifact, , is the index of the stage, , For stage The collection of parallel machines in , For stage The parallel machines, = , :For workpiece In stage;
[0054] The scheduling solution for the hybrid flow shop scheduling problem is as follows: Figure 1 The solution space representation method shown in the figure, in the solution space, each node corresponds to a process , the weight of each node is equal to the process corresponding to the node Processing time , each stage Introducing two virtual processes and , respectively represent the start and end of all machine processing in each stage, and the processing time of all virtual processes is In addition, two virtual stages are introduced, namely stage 0 and stage , all artifacts must first be processed in stage 0, then in the normal stage, and finally in stage Each workpiece The virtual processes in the two virtual stages are and , the processing time is 0;
[0055] exist middle, and There are two arcs between them. , Similarly, for operations on the same stage (non-virtual stage) and ,if and yes If there are two arcs between the two operations, It's a machine The first operation on and There are two arcs between It's a machine The last operation on and There are two arcs between them. The forward completion time and reverse completion time are calculated in the figure:
[0056] For all virtual steps in the non-virtual stage, let =0, here , for all virtual processes in the virtual stage, let ,here , in the scheduling diagram, each non-virtual process There are four arcs , , and ,according to and Can calculate the process Forward completion time ,according to and Can calculate the process Reverse completion time ;
[0057] In the calculation process of forward completion time and reverse completion time, the calculation of forward completion time starts from the first stage and goes backwards, and the calculation of reverse completion time starts from the last stage and goes forwards. After completing the calculation of forward completion time and reverse completion time, the maximum completion time of the scheduling scheme can be determined, which is recorded as .
[0058] Step 2: Initialize the process and set the maximum completion time after local search Equal to the maximum completion time before the local search , improved marking parameters equal ;
[0059] Step 3: If equal , the local search method ends and the output is , otherwise go to step 4;
[0060] Step 4: First Set to , and then obtain the necessary process set from the scheduling plan. The steps for obtaining it are as follows:
[0061] Step 4.1: Determine a subset of the solution space: For non-virtual processes ,if , process called The key process is In the node , and The subgraph consisting of the key process nodes and the arcs related to these nodes is called The key process subgraph is denoted as , it is obvious that in the solution space subset, there is no gap between the continuous operations of all processes, that is, the completion time of the previous process in the solution space subset is the start time of the next process in the key process subgraph;
[0062] Step 4.2: Set the required process set to empty and set the timestamp to 1;
[0063] Step 4.3: Subset the solution space Each operation in ,set up and is 0, in the solution space subset For each edge in , set its access mark to 0 and construct a stack to store the node pair of the current node and its parent node;
[0064] Step 4.4: From the process Start a depth-first search for the process ,set up and is the current timestamp, add 1 to the timestamp, and Push into the stack, express There is no parent node;
[0065] Step 4.5: If the stack is not empty, go to step 4.6, otherwise go to step 4.10;
[0066] Step 4.6: Take a pair of nodes from the top of the stack , is the current node, is the parent node;
[0067] Step 4.7: Find a path starting from the current node Starting from the parent node The edge marked as 0 for the visit of the end point;
[0068] Step 4.8: If such an edge is found, record it as , set its access flag to 1, if discovery[ ] is equal to 0, then set and is the current timestamp, adds 1 to the timestamp, and sets the node pair Push to the stack, otherwise set equal , execute step 4.5;
[0069] Step 4.9: If no such edge is found, pop the stack. If the stack is not empty, and Not the same node and Less than or equal to If the three conditions are met at the same time, As a necessary process, merge it into the necessary process set and set equal , execute step 4.5;
[0070] Step 4.10: Based on the solution space subset The method of obtaining the necessary process set is completed, and the necessary process set is output.
[0071] Step 5: Delete a necessary process in turn and find an effective insertion position for the process. During the insertion process, use the fast evaluation method to calculate the longest path from the first process to the last process through the necessary process. , record The minimum position, the effective position selection process is as follows:
[0072] remember It is a necessary step to delete and reinsert. The original processing machine is ,exist On the machine, update The forward completion time of the process after the original position and The reverse completion time of the process before the original position is sent to the solution space Re-insert When the machine to be inserted is considered , remember the machine The number of processing steps is , then in the machine Total Positions can be inserted, and each position is numbered with express, ;
[0073] machine Up, Location The previous and next processes are recorded as and ,Location The workpiece numbers corresponding to the previous and next processes are recorded as and ,if ,but ,express is a virtual process, if ,but ,express For virtual processes, machines The first one from right to left meets Location Recorded as ,Right now ,machine The first one from left to right is satisfied Location Recorded as ,Right now ;
[0074] For Location and It has the following features:
[0075] Feature 1: In the machine On, if , for location Any position on the left ,have , that is, insert the deleted process into position The left position is obtained Insert at position less than Have to wait , which means that when inserting and deleting operations, the position Better than location All positions on the left, positions All positions on the left do not need to attempt insertion;
[0076] Feature 2: In the machine On, if , for location Any position on the right ,have , that is, insert the deleted process into position The right position is obtained Insert at position less than Have to wait , which means that when inserting and deleting operations, the position Better than location All positions on the right, positions All positions on the right do not need to attempt insertion;
[0077] Feature 3: In the machine On, if , for location To location Any position between (include and ),have ,for Left or Any position on the right ,have , that is, insert the deleted process into position To location Any position between (include and ) to get the same , which is equal to , insert the deleted process into other positions to obtain Greater than , which means that when inserting and deleting operations, the position To location All positions between (including and ) have the same effect and are better than other positions;
[0078] Use the following strategy to determine the location more efficiently and :
[0079] Strategy 1: If you delete the process is the first stage of the process, then , if the process is the last stage of the process, then ;
[0080] Strategy 2: If the inserted machine , that is, the deleted process Insert it into a machine other than the original processing machine, and remember the machine The completion time of the last process is , remember the machine The reverse completion time of the first process is ,if , which means the position and More likely to appear in machines On the left side, we determine the position from the leftmost side to the right and , otherwise it means the position and More likely to appear on the right side of the machine, we determine the position from the far right to the left and , when determining the position from the leftmost side to the right and If the location is first found , then it must be satisfied , terminate the search if the position is found first , then continue to the right until the position is determined , which satisfies , terminate the search, when the position is determined from the rightmost to the left and If the location is first found , then it must be satisfied , terminate the search if the position is found first , then continue to the right until the position is determined , which satisfies , terminate the search;
[0081] Strategy 3: If the inserted machine , that is, the deleted process Insert into the original processing machine and record the process exist The original position on ,if , there must be , then you need to change the position Position right , otherwise there must be , then from the position Position left ,if , there must be , then you need to change the position Position left , find the location In the process of updating the reverse completion time of the process, otherwise there will be , then from the position Position right
[0082] Step 6: If Less than , insert this necessary process into The smallest position, update the completion time and reverse completion time of all processes, and recalculate , and update for , execute step 3;
[0083] Step 7: If Greater than or equal to , insert the required process to the original position and execute step 3.
[0084] Table 1 is the comparison result between the present invention and the existing local search method. In Table 1, two existing local search methods are selected for comparison: the first is a local search based on the critical path, referred to as LSwS; the second is a classic local search method, referred to as LS. The fast local search method for inserting effective positions of the necessary processes in the hybrid flow workshop of the present invention is referred to as MOEIALS. The specific results are shown in Table 1 below:
[0085] Table 1 Comparison results between the present invention and the existing local search method
[0086]
[0087] In Table 1, the proposed MOEIALS method obtains the minimum maximum completion time in 26 instances, while LSwS and LS obtain the minimum maximum completion time in 15 and 22 instances, respectively. From the perspective of running time, the proposed MOEIALS method takes 0.46 milliseconds, which is less than 4.92 milliseconds of LSwS and 13024.7 milliseconds of LS. This clearly shows that the proposed MOEIALS method can greatly reduce the computation time.
[0088] The superiority of the proposed algorithm stems from the fast local search method based on the insertion of the effective position of the necessary process proposed in this invention. This method only considers the perturbation of the necessary processes and reinserts them into the effective insertion position where the maximum completion time is less than or equal to other insertion positions. This reduces the number of mobile processes and the number of insertion positions, saves computational costs, and improves the efficiency of optimization scheduling.
[0089] Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present invention rather than to limit it. After reading this application, technical personnel in the relevant field may make various modifications or changes to the present invention with reference to the above embodiments, which are all within the scope of protection claimed in the pending application of the present invention.
Claims
1. A fast local search method for inserting effective positions of necessary processes in a hybrid flow shop, characterized in that: The following steps are involved: Step 1: Obtain the representation of the scheduling scheme in the solution space; Step 2: Initialize the process and set the maximum completion time after local search Equal to the maximum completion time before the local search , improved marking parameters equal ; Step 3: If equal , then the local search method ends and outputs , otherwise, go to step 4; Step 4: Set to , and then obtain the necessary process set from the scheduling plan; Step 5: Delete one of the necessary processes in turn and find an effective insertion position for the process. During the insertion process, use the fast evaluation method to calculate the longest path from the first process to the last process through the necessary process. , record The smallest position; Step 6: If Less than , insert this necessary process into The smallest position, update the completion time and reverse completion time of all processes, and recalculate , and update for , then execute step 3; Step 7: If Greater than or equal to , insert the necessary process to the original position and execute step 3; The solution space in step 1 is expressed as: The processing of each workpiece goes through the same Each stage has parallel machine processing steps; One of the scheduling schemes for a hybrid flow shop is defined as: For each process , in stage Identify unique machine ( ) to process the process and determine the processing order of the processes on each machine, where: is the number of workpieces, is the number of stages, is the index of the artifact, , is the index of the stage, , For stage The collection of parallel machines in , For stage The parallel machines, = , For workpiece In stage Process; In the solution space, each node corresponds to a process , the weight of each node is equal to the process corresponding to the node Processing time , each stage Introducing two virtual processes and , respectively represent the start and end of all machine processing in each stage, and the processing time of all virtual processes is In addition, two virtual stages are introduced, namely stage 0 and stage , all artifacts must first be processed in stage 0, then in the normal stage, and finally in stage Each workpiece The virtual processes in the two virtual stages are and , the processing time is 0; For operations on the same non-virtual stage and ;if and yes The direct successor of and There are two arcs between It's a machine The first operation on and There are two arcs between It's a machine The last operation on and There are two arcs between; The method to complete the forward completion time and reverse completion time in the solution space is: For all virtual steps in the non-virtual stage, let =0, , for all virtual processes in the virtual stage, let , , in the solution space, each non-virtual process There are four arcs , , and ,according to and Get the process Forward completion time ,according to and Get the process Reverse completion time ; After completing the calculation of the forward completion time and the reverse completion time, the maximum completion time of the scheduling scheme is determined, which is recorded as ; The method for obtaining the necessary process set from the scheduling plan in step 4 is: Determine a subset of the solution space for scheduling solutions: Obtain the necessary process set based on the solution space subset; For non-virtual operations ,if , process It is the key process of the solution space. In the solution space, the nodes , The subset consisting of the key process nodes of the solution space and the arcs related to the above nodes is the solution space subset, denoted as , there is no gap between the continuous operations of all processes; The necessary process set is obtained based on the solution space subset, and is executed as follows: Step 4.1: Set the required process set to empty and set the timestamp to 1; Step 4.2: For each operation in the solution space subset ,set up and To 0, for each edge in the solution space subset, set the access mark to 0, construct a stack to store the node pair of the current node and its parent node; Step 4.3: From the process Perform a depth-first search for the process ,set up and is the current timestamp, add 1 to the timestamp, and Push into the stack, express There is no parent node; Step 4.4: If the stack is not empty, go to step 5, otherwise go to step 9; Step 4.5: Take a pair of nodes from the top of the stack , is the current node, is the parent node; Step 4.6: Find a path starting from the current node Starting from the parent node The edge marked as 0 for the visit of the end point; Step 4.7: If you find the edge in step 4.6, record the edge as , set its access flag to 1, if discovery[ ] is equal to 0, then set and is the current timestamp, adds 1 to the timestamp, and sets the node pair Push to the stack, otherwise set equal , execute step 4.4; Step 4.8: If the edge in step 4.6 is not found, pop the stack. If the stack is not empty, and Not the same node and Less than or equal to If the three conditions are met at the same time, As a necessary process, merge it into the necessary process set and set equal , execute step 4.4; Step 4.9: Based on the key subgraph The method of obtaining the necessary process set ends, and the necessary process set is output; The quick evaluation method for deleting one of the necessary processes in step 5 and reinserting it into another position to determine whether the maximum completion time is reduced is performed as follows: remember It is a necessary step to delete and reinsert. The original processing machine is , delete the required process The maximum completion time after that is recorded as , , reinsert process The maximum completion time after ,but ;Should To reinsert the process After that, the scheduling scheme diagram changes from arrive go through The length of the longest path among all paths; Known ,but , and then determine whether the maximum completion time becomes optimal after deleting a necessary process and reinserting it into another position; On Deletion After that, On the machine, The forward completion time of the process after the original position and The reverse completion time of the process before the original position changes and is updated; exist Medium On machines other than , the completion time and reverse completion time of the process will not change; after completing the update, when inserting at each position, the processes before and after the insertion position are recorded as and ,but equal ; The strategy of deleting one of the necessary processes in step 5 and reinserting it into a valid position is executed as follows: remember It is a necessary step to delete and reinsert. The original processing machine is ,exist On the machine, update The forward completion time of the process after the original position and The reverse completion time of the process before the original position; To the scheduling plan Re-insert When the machine is inserted , remember the machine The number of processing steps is , then in the machine Total Position insertion, each position number is express, ; machine Up, Location The previous and next processes are recorded as and ,Location The workpiece numbers corresponding to the previous and next processes are recorded as and ,if ,but ,express is a virtual process, if ,but ,express For virtual processes, machines The first one from right to left meets Location Recorded as ,Right now ,machine The first one from left to right is satisfied Location Recorded as ,Right now .
2. A fast local search method for inserting effective positions of necessary processes in a hybrid flow shop according to claim 1, characterized in that: Determine location and The strategy is selected from the following three strategies: Strategy 1: If you delete the process is the first stage of the process, then , if the process is the last stage of the process, then ; Strategy 2: If the inserted machine , delete the process Insert it into a machine other than the original processing machine, and remember the machine The completion time of the last process is , remember the machine The reverse completion time of the first process is ,if , indicating the location and More likely to appear in the machine , the position is determined from the leftmost side to the right. and Otherwise, the position and It is more likely to appear on the right side of the machine, so determine the position from the rightmost side to the left. and ; When determining the position from the leftmost side to the right and If the location is first found , then it must be satisfied , terminate the search if the position is found first , then continue to the right until the position is determined , which satisfies , terminate the search; When determining the position from the far right to the left and If the location is first found , then it must be satisfied , terminate the search; if the position is found first , then continue to the right until the position is determined , which satisfies , terminate the search; Strategy 3: If the inserted machine , delete the process Insert into the original processing machine and record the process exist The original position on ; if , there must be , then from the position Position right ; Otherwise, there must be , then from the position Position left ; if , there must be , then from the position Position left , find the location In the process, the reverse completion time of the process is updated; Otherwise, there must be , then from the position Position right .
Citation Information
Patent Citations
Scheduling optimization method based on iterative local search
CN115187045A
Workshop flexible job scheduling method based on tabu search genetic algorithm
CN115700647A