A method and system for scheduling hybrid flow workshops based on neighborhood structure

By designing a neighborhood structure of NF1, NF2, NF3, and NF4 suitable for hybrid flow workshops, and adjusting the sequence and position of processes on the critical path, the problem that the neighborhood structure in the existing technology fails to fully consider the characteristics of the workshop is solved, thus improving the efficiency and quality of solving the scheduling problem of hybrid flow workshops.

CN116449780BActive Publication Date: 2026-04-03HUAZHONG UNIV OF SCI & TECH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-03
Publication Date
2026-04-03

AI Technical Summary

Technical Problem

In existing mixed flow shop scheduling problems, the neighborhood structure design fails to fully consider the characteristics of the shops, resulting in increased computational load and low solution efficiency, making it difficult to quickly obtain a better solution.

Method used

A set of hybrid flow shop scheduling methods based on neighborhood structure was designed, including NF1, NF2, NF3, and NF4 neighborhood structures. By adjusting the process sequence and position on the critical path, unnecessary calculations are reduced and search efficiency is improved.

Benefits of technology

By designing a neighborhood structure suitable for hybrid flow workshops, unnecessary calculations are reduced, solution efficiency is improved, and the probability of obtaining a better solution is increased, making it suitable for different practical needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116449780B_ABST
    Figure CN116449780B_ABST
Patent Text Reader

Abstract

This invention belongs to the technical field of workshop production scheduling. It discloses a hybrid flow shop scheduling method and system based on neighborhood structure, including the following steps: (1) taking the hybrid flow shop scheduling solution to be optimized as the current solution and the historical best solution, and selecting a neighborhood structure; (2) solving the head and tail lengths of each process; (3) recursively calculating the critical path; (4) dividing the critical path into critical blocks; (5) sequentially using the neighborhood structure on the critical blocks to obtain neighborhood solutions; (6) using the head and tail lengths to estimate the maximum completion time of all neighborhood solutions; (7) selecting the solution with the smallest maximum completion time from the neighborhood solutions as the new current solution. If the maximum completion time of the current solution is less than the historical best solution, the historical best solution is updated with the current solution; (8) determining whether the termination condition is met. If it is met, the historical best solution is output. If the termination condition is not met, the process returns to step (2). This invention improves search efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the technical field of workshop production scheduling, and more specifically, relates to a method and system for scheduling hybrid flow workshops based on neighborhood structure. Background Technology

[0002] Shop floor scheduling refers to the rational allocation of resources within a production workshop, including adjusting the usage and sequence of materials, personnel, and equipment, to achieve certain goals or optimize specific performance indicators. The most common shop floor scheduling goal is to reduce the maximum completion time, which is the completion time of the last product in a batch. Because maximum completion time is often positively correlated with labor and equipment costs, reducing maximum completion time directly lowers production costs.

[0003] Hybrid flow workshops are one of the most common types of workshops. They refer to a production workshop where all workpieces follow the same technological path, but the processing time for each step varies. Multi-variety, high-volume production models based on assembly lines generally fall under the category of hybrid flow workshops.

[0004] The hybrid flow shop scheduling problem, with the objective of minimizing the maximum completion time, can generally be described as follows:

[0005] 1. Basic assumptions: Each workpiece can only be processed in one operation at a time, and once processing begins, it cannot be interrupted; each processing equipment can only process one workpiece in one operation at a time.

[0006] 2. Given conditions: There are n workpieces to be processed in the workshop. Each workpiece has m processing steps (stages). The processing equipment required for the same step is the same for different workpieces, and the processing time is not exactly the same but is known. At least one step has two or more identical processing machines available for workpieces to choose from.

[0007] 3. Problem: Arrange the processing sequence of workpieces on each processing machine and determine the start and end times of each process for each workpiece, so that the completion time of the last completed process is minimized.

[0008] The mixed flow shop scheduling problem is NP-hard, meaning a polynomial algorithm cannot obtain an optimal solution in a finite time. Therefore, approximate algorithms are often used in practical applications to find near-optimal solutions. Intelligent optimization algorithms are a commonly used class of approximate algorithms, with wide applicability and strong solution capabilities. How to use intelligent optimization algorithms to find a near-optimal solution that meets production requirements in a short time has become a research hotspot. Commonly used intelligent optimization algorithms include genetic algorithms, particle swarm optimization, simulated annealing, and tabu search.

[0009] Local search enables refined solutions and is often embedded in other algorithmic frameworks to significantly improve overall performance. The most crucial aspect of local search algorithms is the design of the neighborhood structure. The neighborhood structure refers to a small perturbation of a known solution. This perturbation can yield one or a set of new solutions similar to the known solution. These new solutions are called neighborhood solutions. If the quality of the known solution is already high, the quality of its neighborhood solution set is often also high, and it is likely that even better solutions will be found within it. However, existing research on local search algorithms in the hybrid flow shop scheduling problem is limited and insufficient. Furthermore, many studies directly apply the neighborhood structure from the flexible job shop scheduling problem without considering the characteristics of the hybrid flow shop itself, resulting in significant computational waste. Therefore, designing a neighborhood structure that leverages the properties of the hybrid flow shop to reduce unnecessary computation and increase the probability of obtaining better solutions is key to further enhancing the performance of local search algorithms. Summary of the Invention

[0010] To address the aforementioned shortcomings or improvement needs of existing technologies, this invention provides a hybrid flow shop scheduling method and system based on neighborhood structure. Addressing the issue that existing neighborhood structures for hybrid flow shop scheduling problems are often unsystematic and neglect the specific characteristics of each shop, resulting in unnecessary computation and hindering further research, this invention designs a neighborhood structure for the hybrid flow shop scheduling problem, specifically including four neighborhood structures. These neighborhood structures are progressively related and each has a different applicable scope, allowing for selection based on actual needs. Using local search algorithms based on these neighborhood structures to solve the hybrid flow shop scheduling problem can save unnecessary computation, increase the probability of obtaining a better solution, and improve solution efficiency.

[0011] To achieve the above objectives, according to one aspect of the present invention, a hybrid flow shop scheduling method based on a neighborhood structure is provided, the method comprising the following steps:

[0012] (1) The solution to be optimized for the mixed flow workshop scheduling is taken as the current solution and the historical best solution, and a neighborhood structure is selected, including NF1 neighborhood structure, NF2 neighborhood structure, NF3 neighborhood structure and NF4 neighborhood structure.

[0013] (2) Determine the lengths of the beginning and end of each process;

[0014] (3) Starting from the last completed process in the current solution, calculate the critical path forward recursively;

[0015] (4) Divide the critical path into critical blocks;

[0016] (5) Apply neighborhood structures sequentially to the key blocks to obtain neighborhood solutions; where...

[0017] NF1 Neighborhood Structure: For the first critical block, swap the processing order of the two operations at the end of the block; for the last critical block, swap the processing order of the two operations at the beginning of the block; for the remaining critical blocks, swap the processing order of the two operations at the beginning of the block or the processing order of the two operations at the end of the block.

[0018] NF2 Neighborhood Structure: For the first critical block, move a non-end-of-block operation to be processed after the end-of-block operation; for the last critical block, move a non-beginning-of-block operation to be processed before the beginning-of-block operation; for the remaining critical blocks, move a non-end-of-block operation to be processed after the end-of-block operation or move a non-beginning-of-block operation to be processed before the beginning-of-block operation.

[0019] NF3 Neighborhood Structure: For the first critical block, move the end-of-block operation to before a non-end-of-block operation, or move a non-end-of-block operation to after the end-of-block operation; For the last critical block, move the beginning-of-block operation to after a non-beginning-of-block operation, or move a non-beginning-of-block operation to before the beginning-of-block operation; For the remaining critical blocks, move the beginning-of-block operation to after a non-beginning-of-block operation, or move the end-of-block operation to before a non-end-of-block operation, or move the intermediate operation to before the beginning-of-block operation, or move the intermediate operation to after the end-of-block operation.

[0020] NF4 Neighborhood Structure: For the first critical block, move the end operation to before a non-end operation, or move a non-end operation to after the end operation or any subsequent operation; For the last critical block, move the beginning operation to after a non-beginning operation, or move a non-beginning operation to before the beginning operation or any preceding operation; For the remaining critical blocks, move the beginning operation backward to after any operation, or move the end operation forward to before any operation, or move the middle operation to before the beginning operation or any preceding operation, or move the middle operation to after the end operation or any subsequent operation.

[0021] (6) Use the head and tail lengths to estimate the maximum completion time of all neighborhood solutions;

[0022] (7) Select the solution with the smallest maximum completion time from the neighborhood solutions as the new current solution. If the maximum completion time of the current solution is less than that of the historical best solution, then update the historical best solution with the current solution.

[0023] (8) Determine whether the termination condition is met. If it is met, output the historical optimal solution. If the termination condition is not met, go to step (2).

[0024] Further, in step (2), the start time of all processes in the current solution is the head length of the process; then, taking the maximum completion time as the right baseline of the current solution, under the premise of satisfying the process sequence constraints of each workpiece and without changing the processing order on the same machine, all processes are moved to the right of the baseline to obtain the latest start and completion time of each process of each workpiece.

[0025] Furthermore, the maximum completion time minus the latest start time is the tail length of each process.

[0026] Further, in step (3), firstly, the last completed process is obtained as the current process. If there are multiple processes, one is randomly selected and the current process is placed in the critical path. Then, the machine leading process and the workpiece leading process of the current process are searched, and it is determined whether the completion time of the two processes is the same as the start time of the current process. If both completion times are the same as the start time of the current process, one of the machine leading process and the workpiece leading process is selected as the current process. If only one is the same, the corresponding process is selected as the current process. After that, the new current process is placed in the critical path, and the above process is repeated until the start time of the current process is 0.

[0027] Further, in step (4), starting from the first process, the critical block is calculated recursively backward: the first process is placed into the current critical block; the processing equipment used for each subsequent process on the critical path is checked one by one. If the processing equipment used for the process is the same as the processing equipment used for the previous process, then the process is placed into the current critical block; otherwise, the current critical block has ended, a new critical block is generated, the process is placed into the new critical block, and the new critical block is set as the current critical block, and then the processing equipment used for the subsequent processes is checked again.

[0028] Furthermore, in step (5), the new connection generated by the selected neighborhood structure is taken as the neighborhood solution.

[0029] Further, in step (6), if the neighborhood solution is formed by moving the process forward, first estimate the head length of each process in the new solution; then estimate the tail length of each process in the new solution; finally estimate the maximum completion time of the neighborhood solution: for each process, add the head length and tail length estimates to obtain the maximum completion time estimate centered on that process, and the largest of the maximum completion time estimates is the final estimate of the maximum completion time of the neighborhood solution.

[0030] Further, in step (6), if the neighborhood solution is formed by shifting the process, first estimate the tail length of each process in the new solution; then estimate the head length of each process in the new solution; finally estimate the maximum completion time of the neighborhood solution: for each process, add the head length and tail length estimates to obtain the maximum completion time estimate centered on that process, where the largest one is the final estimate of the maximum completion time of the neighborhood solution.

[0031] Furthermore, in step (8), the termination condition is that the number of iterations reaches a predetermined value.

[0032] The present invention also provides a hybrid assembly line scheduling system based on a neighborhood structure. The system includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to perform the hybrid assembly line scheduling method based on a neighborhood structure as described above.

[0033] In summary, compared with the prior art, the hybrid flow shop scheduling method and system based on neighborhood structure provided by the present invention have the following advantages:

[0034] 1. This invention designs a set of neighborhood structures for the hybrid flow shop scheduling problem. Existing neighborhood structures for hybrid flow shop scheduling are generally directly transferred from the neighborhood structures of the flexible job shop scheduling problem, without forming an independent system that incorporates their own characteristics, and are difficult to further develop and optimize. This invention draws on the existing neighborhood structure system for the hybrid flow shop scheduling problem, incorporating the properties of the hybrid flow shop scheduling problem itself into the design, and initially constructs a hybrid flow shop neighborhood structure system. Compared with directly using the N5-N8 neighborhood structure of the flexible job shop, it eliminates the need for movement feasibility and improveability determination, improving the efficiency of neighborhood search. In particular, for the NF4 neighborhood structure, in the similar N8 neighborhood structure of the flexible job shop scheduling problem, moving the process to other critical blocks on the same machine cannot improve the current solution. However, considering the characteristics of the hybrid flow shop scheduling problem, there are no other critical blocks on the same machine, so this determination can be omitted, improving search efficiency.

[0035] 2. The neighborhood structure of the present invention only makes adjustments to the processes on the critical path, and each adjustment necessarily changes the first or last process of a critical block, thereby reducing the generation of non-improved neighborhood solutions and improving search efficiency.

[0036] 3. The neighborhood structure of a group of hybrid flow shop scheduling problems of the present invention has an increasing neighborhood scale, where the neighborhood scale is NF1 < NF2 < NF3 < NF4; the solving speed is NF1 > NF2 > NF3 > NF4, and the solving quality is NF1 < NF2 < NF3 < NF4; the NF1 neighborhood structure is not connected and cannot guarantee the existence of a transformation path from a random solution to the optimal solution; however, it most directly utilizes the gaps before and after the key block, which not only breaks the bottleneck in the existing critical path but also minimizes the movement of other processes as much as possible, and the possibility of generating a worse neighborhood solution is small. Therefore, the possibility of improving the current solution is great. So the NF1 neighborhood not only has a small solution space scale and high speed but also can guarantee a certain solving quality; the NF2 neighborhood structure is connected, and other movements that can improve the current solution are considered within the key block. The neighborhood solution space scale is larger than that of NF1, so the solving speed is average and the solving quality is better; the NF3 neighborhood structure has better connectivity than the NF2 neighborhood structure. Although it cannot generate a better neighborhood solution than the NF2 neighborhood solution set, in the tabu search algorithm, it can ensure that a better neighborhood solution is selected as the next generation when the NF2 neighborhood solution set is tabu; the NF4 neighborhood structure completely breaks through the limitation of the key block. It can not only move processes within the key block but also move the processes on the key block to non-critical paths, and the scale of the neighborhood solution space is extremely large, so the speed is also slower.

[0037] 4. The neighborhood structure of the present invention can be selected according to different specific actual requirements. For example, if you want to quickly obtain a better solution without being very concerned about its quality, you can use the NF1 neighborhood structure; if you want to improve the solving quality as much as possible without being very concerned about the speed, you can use the NF4 neighborhood structure; if you need to balance the speed and quality, you can consider the NF2 neighborhood structure or the NF3 neighborhood structure. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1 is a schematic diagram of the NF1 neighborhood structure constructed by the present invention;

[0039] Figure 2 is a schematic diagram of the NF2 neighborhood structure constructed by the present invention;

[0040] Figure 3 is a schematic diagram of the NF3 neighborhood structure constructed by the present invention;

[0041] Figure 4 is a schematic diagram of the NF4 neighborhood structure constructed by the present invention;

[0042] Figure 5 is a schematic diagram of the inclusion relationship of the solution spaces of the four neighborhood structures constructed by the present invention;

[0043] Figure 6 is a proof diagram for the determination of no movement in the hybrid flow shop scheduling problem;

[0044] Figure 7 This is a proof diagram showing that there are no multiple critical blocks in the same process of the mixed flow workshop door scheduling problem;

[0045] Figure 8 This is a flowchart of a method for obtaining a better solution using a local search algorithm based on the present invention, based on an existing mixed flow workshop scheduling solution;

[0046] Figure 9 This is a Gantt chart of a hybrid flow shop scheduling solution constructed in this invention;

[0047] Figure 10 yes Figure 9 The Gantt chart of the latest start and completion times obtained after the solution in the middle is shifted to the right;

[0048] Figure 11 This is a schematic diagram of a method for approximating the quality of neighborhood solutions when the neighborhood structure is shifted forward.

[0049] Figure 12 This is a schematic diagram of a method for approximating the quality of neighborhood solutions when the neighborhood structure is shifted to the next process step. Detailed Implementation

[0050] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention. Furthermore, the technical features involved in the various embodiments of this invention described below can be combined with each other as long as they do not conflict with each other.

[0051] Tabu search is an improved local search algorithm that simulates the human brain's thought process. By restricting the selection of some neighborhood solutions in the local search, it can effectively avoid getting trapped in local optima too early and enhance global search capabilities. It is a powerful intelligent optimization algorithm, and its key is still the neighborhood structure design.

[0052] To address the problems existing in the prior art, this invention designs a set of neighborhood structures for the mixed flow shop scheduling problem. Applying the local search method using these neighborhood structures to solve the mixed flow shop scheduling problem can reduce unnecessary computations, increase the probability of obtaining a better solution, and improve solution efficiency. Furthermore, these neighborhood structures have different applicable ranges, allowing for selection based on actual needs.

[0053] Please see Figure 8 This invention provides a hybrid flow shop scheduling method based on a neighborhood structure, the method mainly includes the following steps:

[0054] Step 1: The mixed flow shop scheduling solution to be optimized is taken as the current solution and the historical best solution, and a neighborhood structure is selected. The neighborhood structures include NF1 neighborhood structure, NF2 neighborhood structure, NF3 neighborhood structure, and NF4 neighborhood structure, where...

[0055] NF1 Neighborhood Structure: For the first critical block, swap the processing order of the two operations at the end of the block; for the last critical block, swap the processing order of the two operations at the beginning of the block; for the remaining critical blocks, swap the processing order of the two operations at the beginning of the block or the processing order of the two operations at the end of the block.

[0056] Figure 1 This is a schematic diagram of the NF1 neighborhood structure. In this diagram, u→v represents an intermediate critical block, where u is the first operation and v is the last operation. The neighborhood action in the NF1 neighborhood structure is to swap the processing order of either the first two operations or the last two operations. Furthermore, for the first critical block of the critical path, only the processing order of the last two operations is swapped. For the last critical block, only the processing order of the first two operations is swapped.

[0057] NF2 Neighborhood Structure: For the first critical block, move a non-end-of-block operation to be processed after the end-of-block operation; for the last critical block, move a non-beginning-of-block operation to be processed before the beginning-of-block operation; for the remaining critical blocks, move a non-end-of-block operation to be processed after the end-of-block operation or move a non-beginning-of-block operation to be processed before the beginning-of-block operation.

[0058] Figure 2 This is a schematic diagram of the NF2 neighborhood structure. In this diagram, u→v represents an intermediate critical block, where u is the first operation and v is the last operation. The neighborhood action in the NF2 neighborhood structure is to move a non-last operation to the end of the block for processing or to move a non-first operation to the beginning of the block for processing. Furthermore, for the first critical block of the critical path, only a non-last operation is moved to the end of the block for processing. For the last critical block, only a non-first operation is moved to the beginning of the block for processing.

[0059] NF3 Neighborhood Structure: For the first critical block, move the end-of-block operation to before a non-end-of-block operation, or move a non-end-of-block operation to after the end-of-block operation; for the last critical block, move the beginning-of-block operation to after a non-beginning-of-block operation, or move a non-beginning-of-block operation to before the beginning-of-block operation; for the remaining critical blocks, move the beginning-of-block operation to after a non-beginning-of-block operation, or move the end-of-block operation to before a non-end-of-block operation, or move the intermediate operation to before the beginning-of-block operation, or move the intermediate operation to after the end-of-block operation.

[0060] Figure 3This is a schematic diagram of the NF3 neighborhood structure. In this diagram, u→v represents an intermediate critical block, where u is the first action and v is the last action. The neighborhood actions in the NF3 neighborhood structure are: moving the first action after a non-first action, moving the last action before a non-last action, moving an intermediate action before the first action, or moving an intermediate action after the last action. Furthermore, for the first critical block on the critical path, only the last action is moved before a non-last action, or after the last action. For the last critical block, only the first action is moved after a non-first action, or before the first action.

[0061] NF4 Neighborhood Structure: For the first critical block, move the end-of-block operation before a non-end-of-block operation, or move a non-end-of-block operation after the end-of-block operation or any subsequent operation; for the last critical block, move the beginning-of-block operation after a non-beginning-of-block operation, or move a non-beginning-of-block operation before the beginning-of-block operation or any preceding operation; for the remaining critical blocks, move the beginning-of-block operation backward to any subsequent operation, or move the end-of-block operation forward to any preceding operation, or move the intermediate operation to the beginning-of-block operation or any preceding operation, or move the intermediate operation to the end-of-block operation or any subsequent operation.

[0062] Figure 4 This is a schematic diagram of the NF4 neighborhood structure. Here, u→v represents an intermediate critical block, u is the first operation, and v is the last operation. The neighborhood actions in the NF4 neighborhood structure are: moving the first operation backward to any operation after it, moving the last operation forward to any operation before it, moving the intermediate operation to the first operation or any operation before it, or moving the intermediate operation to the last operation or any operation after it. Furthermore, for the first critical block on the critical path, only the last operation is moved to the first operation before a non-last operation, or a non-last operation is moved to the last operation or any operation after it. For the last critical block, only the first operation is moved to the first operation or any operation before it.

[0063] Figure 5 This diagram illustrates the solution space relationships of the NF1, NF2, NF3, and NF4 neighborhood structures. The NF4 solution space contains the NF3 solution space, the NF3 solution space contains the NF2 solution space, and the NF2 solution space contains the NF1 solution space.

[0064] Compared to the neighborhood structure of the flexible workshop scheduling problem, NF1-NF4 do not perform a move feasibility assessment. Figure 6The proof diagram for the neighborhood structure of the mixed flow shop scheduling problem does not require a move feasibility determination. Let H[u] represent the head length of operation u, T[u] represent the tail length of operation u, P[u] represent the processing time of operation u, JP(u) represent the preceding operation of operation u, JS(u) represent the following operation of operation u, JP(u) represent the preceding operation of operation u, and JS(u) represent the following operation of operation u.

[0065] In the flexible job shop scheduling problem, when moving a process on a machine, it is necessary to check whether it can generate a feasible solution. For example, if process u is moved after process v, and T[v] is less than T[JS(u)]-P[JS(u)], then there may be a path JS(u)→v in the current solution. And since the current solution is feasible, u→JS(u). Then, after the move, a cycle v→u→JS(u)→v will appear, and the corresponding neighborhood solution is infeasible. Therefore, a move determination is required: only when T[v]≥T[JS(u)]-P[JS(u)] can process u be moved after process v. Similarly, only when H[u]+P(u)≥T[JP(v)] can process v be moved before process u.

[0066] However, this situation does not exist in a mixed flow shop because the path JS(u)→v is impossible. Since JS(u) and v are processed on different machines, for JS(u)→v to occur, it can only be JS(u)→JP(v)→v or JS(u)→JP(w)→w→v. In a mixed flow shop, all workpieces have the same processing route, and since processes u and v are on the same machine in process n+1, JS(u) must be processed on the machine corresponding to the subsequent process, and JP(v) can only be processed on the machine corresponding to the previous process. These two machine sets have no intersection, so the path JS(u)→JP(v)→v is impossible. In another case, process w cannot return to the machine used by processes u and v, so the path JS(u)→JP(w)→w→v is impossible. Similarly, the path u→JP(v) is also impossible in a mixed flow shop. Therefore, in a mixed flow shop, moving processes on the same machine will always produce a feasible solution, without needing to determine whether movement is possible.

[0067] NF4 does not consider the possibility of inserting into other critical blocks after moving, because for any critical path in a mixed flow shop scheduling solution, it is impossible for a processing stage to have multiple critical blocks, and NF4 can only move within the processing stage. Figure 7This is a proof diagram for the mixed flow shop scheduling problem, demonstrating that there are no multiple critical blocks in the same processing stage (operation) on a single critical path. In a mixed flow shop, for a selected critical path, if there are two critical blocks u→v and y→z in stage n, then there must exist a path u→v→JS(v)→JP(y)→y→z. In a mixed flow shop, since v and y are in operation n, JS(v) is in operation n+1, and JP(y) is in operation n-1. Therefore, it is impossible for a path JS(v)→JP(y) to exist, and there are no multiple critical blocks in the same processing stage on a single critical path.

[0068] In this implementation, the hybrid flow shop scheduling solution that needs improvement is used as both the current solution and the historical best solution. A neighborhood structure NFx is selected, and algorithm termination conditions are set, such as the maximum number of iterations or the maximum number of consecutive no-improvement iterations. If it is a tabu search algorithm, the tabu object and tabu length also need to be set.

[0069] Figure 9 This is a Gantt chart for a mixed flow shop scheduling solution, with 3 jobs, each with 3 processes. Stage 1 has 2 candidate machines, Stage 2 has 2 candidate machines, and Stage 3 has only 1 candidate machine. To improve this solution, we set it as the current solution and the historical best solution, choosing the neighborhood structure NF1. The algorithm termination condition is set as no improvement to the historical best solution for 5 consecutive iterations. Due to the simplicity of the case, tabu search is not used.

[0070] Step 2: Calculate the lengths of the beginning and end of each process.

[0071] The start time of all operations in the current solution is the head length of that operation. Then, using the maximum completion time as the baseline on the right side of the current solution, and under the premise of satisfying the sequence constraints of operations for each workpiece and without changing the processing order on the same machine, all operations are shifted to the right of the baseline to obtain the latest start and completion times of each operation for each workpiece. The maximum completion time minus the latest start time is the tail length of each operation.

[0072] Figure 9 The head length can be obtained from the start time of each process. The head lengths of each process of workpiece 1 are 0, 5, and 7 respectively; the head lengths of each process of workpiece 2 are 0, 2, and 11 respectively; and the head lengths of each process of workpiece 3 are 5, 7, and 8 respectively.

[0073] Figure 10 According to the preferred embodiment of the present invention Figure 9The Gantt chart constructed by shifting the processing machines and the processing order on each machine to the right is simpler in this example, with only the first and second processes of workpiece 2 shifted to the right, each shifting by 2 units of time. The tail length of each process is obtained by subtracting the start time of each process from the maximum completion time. The tail lengths of each process for workpiece 1 are 13, 8, and 6; the head lengths of each process for workpiece 2 are 11, 9, and 2; and the head lengths of each process for workpiece 3 are 8, 6, and 5.

[0074] Step 3: Solve for the critical path of the current solution.

[0075] Starting with the last completed operation in the current solution, recursively calculate the critical path forward. First, obtain the last completed operation as the current operation. If multiple operations exist, randomly select one and add it to the critical path. Then, find the machine-leading and workpiece-leading operations of the current operation and determine if their completion times are the same as the start time of the current operation. If both completion times are the same, select either the machine-leading or workpiece-leading operation as the current operation; if only one is the same, select that operation as the current operation; it is impossible for both to be different. Add the new current operation to the critical path, and repeat the above process until the start time of the current operation is 0.

[0076] Following this method, Figure 9 The critical paths in the example are determined in sequence as follows: process (2,3), process (3,3), process (3,2), process (3,1), process (1,1).

[0077] Step 4: Divide the critical path into critical blocks.

[0078] Starting with the first process, the critical blocks are calculated recursively backward: the first process is placed into the current critical block. For each subsequent process on the critical path, the processing equipment used is checked. If the processing equipment used in a process is the same as that used in the previous process, then that process is placed into the current critical block; otherwise, the current critical block is finished, a new critical block is generated, the process is placed into the new critical block, and the new critical block is set as the current critical block. The process of checking the processing equipment used in subsequent processes continues. This process is repeated until all processes on the entire critical path have been placed into critical blocks. The critical path is then divided into several critical blocks, with adjacent critical blocks using different processing equipment.

[0079] Following this method, Figure 9 The critical path (1,1)→(3,1)→(3,2)→(3,3)→(2,3) can be divided into three critical blocks: the critical block (1,1)→(3,1) on M1, the critical block (3,2) on M4, and the critical block (3,3)→(2,3) on M5.

[0080] Step 5: Apply the neighborhood structure to the key blocks sequentially to obtain neighborhood solutions.

[0081] A new solution is generated as a neighborhood solution using the NFx method. For example... Figure 9 Using the NF1 neighborhood structure, there are two neighborhood solutions: move (1,1) to (3,1) and then process it, or move (3,3) to (2,3) and then process it.

[0082] Step 6: Use the head and tail lengths to estimate the maximum completion time of all neighborhood solutions.

[0083] Please see Figure 10 In approximate evaluation of neighborhood solutions, generally all neighborhood solutions are candidate solutions. However, in the tabu search algorithm, it is also necessary to query the tabu list to determine whether a neighborhood solution is tabu. If a neighborhood solution is already tabu and does not meet the pardon criterion, it cannot be considered a candidate solution.

[0084] Figure 11 This diagram illustrates a method for approximating the quality of a neighborhood solution when a neighborhood action is moved forward. In a mixed flow shop scheduling solution, if process v is moved to be processed before process u, regardless of whether processes u and v are on the critical path, the maximum completion time of the solution after the move can be estimated using the following method.

[0085] Assume that on the machine where process u is located, processes u, o1, o2, ... o k v processes sequentially (for two consecutive processes, the completion time of the preceding process and the start time of the following process are not necessarily the same, but there are no other processes in between).

[0086] First, estimate the head length of each process in the new solution:

[0087] The header length of v is: H'(v) = max{H[JP(v)], H[MP(u)]}. If JP(v) or MP(u) does not exist, the corresponding header length is 0.

[0088] u, o1, ... o k Head length: H'(w) = H'[MP(w)] + P[MP(w)], where w represents u, o1, ..., o k Any one of the processes in it.

[0089] Then estimate the tail length of each process in the new solution:

[0090] o k Tail length: T'(v)=P(o) k )+max{T[JS(o k )],T[MS(v)]},If JS(o kIf MS(v) does not exist, the corresponding tail length is 0;

[0091] o k-1 The tail lengths of o1, u, and v are: T'(w) = max{T'[MS(w)], T[JS(w)]} + P[w].

[0092] w represents o k-1 Any one of the processes in ... o1, u, v.

[0093] Finally, estimate the maximum completion time of the neighborhood solution: For each process, add the head length and tail length estimates to obtain the maximum completion time estimate centered on that process. The largest of the maximum completion time estimates is the final estimate of the maximum completion time of the neighborhood solution.

[0094] Figure 12 This diagram illustrates a method for approximating the quality of a neighborhood solution when the neighborhood action is a process relocation. In a mixed flow shop scheduling solution, if process u is moved to be processed after process v, regardless of whether processes u and v are on the critical path, the maximum completion time of the moved solution can be estimated using the following method.

[0095] Assume that on the machine where process u is located, processes u, o1, o2, ... o k v processes sequentially (for two consecutive processes, the completion time of the preceding process and the start time of the following process are not necessarily the same, but there are no other processes in between).

[0096] First, estimate the tail length of each process in the new solution:

[0097] The tail length of u is: T'[u] = P[u] + max{T[JS(u)], T[MS(v)]}. If JS(u) or MS(v) does not exist, the corresponding tail length is 0.

[0098] v,o k The tail length to o1: T'[w] = P[w] + T'[MS(w)], where w represents v, o k To any one of the processes in o1.

[0099] Then estimate the head length of each process in the new solution:

[0100] The length of the head of o1 is: H'[o1] = H[JP(o1)] + P[JP(o1)]. If JP(o1) does not exist, then H'[o1] is 0.

[0101] o2, ...o k The head lengths of v and u are: H'[w] = max{H'[MP(w)] + P[MP(w)],

[0102] H[JP(w)]+P[JP(w)]}, w is o2,...o k Any one of the processes in v and u;

[0103] Finally, estimate the maximum completion time of the neighborhood solution: For each process, add the head length and tail length estimates to obtain the maximum completion time estimate centered on that process, where the largest one is the final estimate of the maximum completion time of the neighborhood solution.

[0104] Using this method, an approximate evaluation is performed. Figure 9 Maximum completion time of two neighborhood solutions:

[0105] After moving (1,1) to (3,1), the estimated head length of (3,1) is 0, and the estimated tail length is 15. The estimated head length of (1,1) is 2, and the estimated tail length is 13. The estimated maximum completion time for the neighborhood solution is max(0+15,2+13)=15.

[0106] After moving (3,3) to (2,3), the estimated head length of (3,3) is 11, and the estimated tail length is 3. The estimated head length of (2,3) is 9, and the estimated tail length is 5. The estimated maximum completion time for the neighborhood solution is max(11+3,9+5)=14.

[0107] Step 7: Select the solution with the smallest maximum completion time from the neighborhood solutions as the new current solution. If the maximum completion time of the current solution is less than that of the historical best solution, then update the historical best solution with the current solution.

[0108] In this implementation, the estimated maximum completion time of the two neighborhood solutions is 15 and 14. Therefore, it is chosen to move (3,3) to (2,3) and process it as the new current solution. The new current solution does not improve the historical best solution.

[0109] Step 8: Determine if the termination condition is met. If it is, output the historical optimal solution. If the termination condition is not met, proceed to step 2.

[0110] This example has only iterated once. Steps two through seven need to be repeated until the set number of iterations is reached.

[0111] To verify the practical application effect of this invention, simulation experiments were conducted. Ten examples (10_5_1 to 10_5_10) from the Jose standard test case of the hybrid flow-shop scheduling problem were simulated under different neighborhood structures. In the experiment, each example was calculated five times, with ten initial scheduling solutions randomly generated each time. Improved local search algorithms (tabu search algorithms) based on existing neighborhood structures (Fan J, Li X, Xie J, et al. A Hybrid Evolutionary Algorithm Using Two Solution Representations for Hybrid Flow-Shop Scheduling Problem.[J].IEEE transactions on cybernetics, 2021, PP.), NF1 neighborhood structure, NF2 neighborhood structure, NF3 neighborhood structure, and NF4 neighborhood structure were used to calculate the average maximum completion time and computation time. Note that to avoid interference from the randomness caused by machine mutation of the neighborhood structure in the evaluation, machine mutation was not performed during the tabu search process.

[0112] Table 1. Results of Jose benchmark 10.5.1 to 10.5.10 examples

[0113]

[0114] The average of all 50 experiments above shows that the computation time of the NF1, NF2, NF3, and NF4 neighborhood structures is significantly shorter than that of the existing neighborhood structures. Furthermore, the solution speed ranking is NF1 > NF2 > NF3 > NF4 > existing, while the solution quality ranking is NF4 > NF3 > NF2 > existing > NF1. This demonstrates that the four designed neighborhood structures significantly improve both solution speed and quality, and each structure has its own advantages, allowing for selection based on specific needs.

[0115] Those skilled in the art will readily understand that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A hybrid flow shop scheduling method based on neighborhood structure, characterized in that, The method includes the following steps: (1) The solution to be optimized for the mixed flow workshop scheduling is taken as the current solution and the historical best solution, and a neighborhood structure is selected, including NF1 neighborhood structure, NF2 neighborhood structure, NF3 neighborhood structure and NF4 neighborhood structure. (2) Determine the lengths of the beginning and end of each process; (3) Starting from the last completed process in the current solution, calculate the critical path forward recursively; (4) Divide the critical path into critical blocks; (5) Apply neighborhood structures sequentially to the key blocks to obtain neighborhood solutions; where... NF1 Neighborhood Structure: For the first critical block, swap the processing order of the two operations at the end of the block; for the last critical block, swap the processing order of the two operations at the beginning of the block; for the remaining critical blocks, swap the processing order of the two operations at the beginning of the block or the processing order of the two operations at the end of the block. NF2 Neighborhood Structure: For the first critical block, move a non-end-of-block operation to be processed after the end-of-block operation; for the last critical block, move a non-beginning-of-block operation to be processed before the beginning-of-block operation; for the remaining critical blocks, move a non-end-of-block operation to be processed after the end-of-block operation or move a non-beginning-of-block operation to be processed before the beginning-of-block operation. NF3 Neighborhood Structure: For the first critical block, move the end-of-block operation to before a non-end-of-block operation, or move a non-end-of-block operation to after the end-of-block operation; For the last critical block, move the beginning-of-block operation to after a non-beginning-of-block operation, or move a non-beginning-of-block operation to before the beginning-of-block operation; For the remaining critical blocks, move the beginning-of-block operation to after a non-beginning-of-block operation, or move the end-of-block operation to before a non-end-of-block operation, or move the intermediate operation to before the beginning-of-block operation, or move the intermediate operation to after the end-of-block operation. NF4 Neighborhood Structure: For the first critical block, move the end operation to before a non-end operation, or move a non-end operation to after the end operation or any subsequent operation; For the last critical block, move the beginning operation to after a non-beginning operation, or move a non-beginning operation to before the beginning operation or any preceding operation; For the remaining critical blocks, move the beginning operation backward to after any operation, or move the end operation forward to before any operation, or move the middle operation to before the beginning operation or any preceding operation, or move the middle operation to after the end operation or any subsequent operation. (6) Use the head and tail lengths to estimate the maximum completion time of all neighborhood solutions; (7) Select the solution with the smallest maximum completion time from the neighborhood solutions as the new current solution. If the maximum completion time of the current solution is less than that of the historical best solution, then update the historical best solution with the current solution. (8) Determine whether the termination condition is met. If it is met, output the historical optimal solution. If the termination condition is not met, go to step (2).

2. The hybrid flow shop scheduling method based on neighborhood structure as described in claim 1, characterized in that: In step (2), the start time of all processes in the current solution is the head length of the process; then, taking the maximum completion time as the right baseline of the current solution, under the premise of satisfying the process sequence constraints of each workpiece and without changing the processing order on the same machine, all processes are moved to the right of the baseline to obtain the latest start and completion time of each process of each workpiece.

3. The hybrid flow shop scheduling method based on neighborhood structure as described in claim 2, characterized in that: The maximum completion time minus the latest start time is the tail length of each process.

4. The hybrid flow shop scheduling method based on neighborhood structure as described in claim 1, characterized in that: In step (3), the last completed process is first obtained as the current process. If there are multiple processes, one is randomly selected and the current process is placed in the critical path. Then, the machine leading process and the workpiece leading process of the current process are searched, and it is determined whether the completion time of the two processes is the same as the start time of the current process. If both completion times are the same as the start time of the current process, one of the machine leading process and the workpiece leading process is selected as the current process. If only one is the same, the corresponding process is selected as the current process. After that, the new current process is placed in the critical path, and the above process is repeated until the start time of the current process is 0.

5. The hybrid flow shop scheduling method based on neighborhood structure as described in claim 1, characterized in that: In step (4), starting from the first process, the critical block is calculated recursively backward: the first process is placed into the current critical block; the processing equipment used for each subsequent process on the critical path is checked one by one. If the processing equipment used for the process is the same as the processing equipment used for the previous process, then the process is placed into the current critical block; otherwise, the current critical block has ended, a new critical block is generated, the process is placed into the new critical block, and the new critical block is set as the current critical block. Then the processing equipment used for subsequent processes is checked again.

6. The hybrid flow shop scheduling method based on neighborhood structure as described in any one of claims 1-5, characterized in that: In step (5), the new connection generated by the selected neighborhood structure is taken as the neighborhood solution.

7. The hybrid flow shop scheduling method based on neighborhood structure as described in any one of claims 1-5, characterized in that: In step (6), if the neighborhood solution is formed by moving the process forward, first estimate the head length of each process in the new solution; then estimate the tail length of each process in the new solution; finally estimate the maximum completion time of the neighborhood solution. For each process, add the head length and tail length estimates to obtain the maximum completion time estimate centered on that process. The largest of the maximum completion time estimates is the final estimate of the maximum completion time of the neighborhood solution.

8. The hybrid flow shop scheduling method based on neighborhood structure as described in any one of claims 1-5, characterized in that: In step (6), if the neighborhood solution is formed by shifting the process, first estimate the tail length of each process in the new solution; then estimate the head length of each process in the new solution; finally estimate the maximum completion time of the neighborhood solution: for each process, add the head length and tail length estimates to obtain the maximum completion time estimate centered on that process, where the largest one is the final estimate of the maximum completion time of the neighborhood solution.

9. The hybrid flow shop scheduling method based on neighborhood structure as described in any one of claims 1-5, characterized in that: In step (8), the termination condition is that the number of iterations reaches a predetermined value.

10. A hybrid assembly line scheduling system based on a neighborhood structure, characterized in that: The system includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it performs the hybrid flow shop scheduling method based on the neighborhood structure as described in any one of claims 1-9.

Citation Information

Patent Citations

  • Multi-target flexible job shop scheduling method based on cooperative hybrid artificial fish swarm model

    CN104866898A

  • Hybrid flow shop scheduling model optimization method based on CART enhancement

    CN115660227A