A two-stage hybrid flow shop production scheduling method and system

By optimizing the machine allocation and sorting of workpieces in a hybrid assembly line workshop through an improved variable neighborhood search algorithm, the problems of inconsistent workpiece cycle processing times and the impact of position setting time in the traditional model are solved, thereby improving production efficiency and intelligence level.

CN118244716BActive Publication Date: 2026-01-13HEFEI UNIV OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410330507.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-03-22
Publication Date
2026-01-13
Estimated Expiration
2044-03-22

AI Technical Summary

Technical Problem

Traditional hybrid flow shop scheduling models struggle to simultaneously account for the inconsistent number of processing cycles due to different workpiece types and the impact of location setting time, resulting in low production efficiency. Furthermore, variable neighborhood search algorithms are ill-suited for complex production problems.

Method used

An improved variable neighborhood search algorithm is adopted. An initial solution is generated through a heuristic algorithm, and a new solution is searched in multiple neighborhood structures. The scheduling rules are used to optimize the machine allocation and sorting of the workpieces. Iterative optimization is performed by combining a two-stage setting time matrix, and finally the global optimal solution is output.

Benefits of technology

It improves the production efficiency of hybrid assembly line workshops in chip manufacturing, ensures that the production capacity of each machine is fully utilized, and supports the intelligentization process of chip companies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118244716B_ABST
    Figure CN118244716B_ABST
Patent Text Reader

Abstract

The application discloses a two-stage mixed flow shop production scheduling method and system, and relates to the field of workshop scheduling.The production scheduling method comprises the following steps: setting algorithm parameters;generating an initial solution according to a heuristic algorithm;searching for a new solution in multiple neighborhood structures;adjusting the workpiece processing sequence on each machine, updating the solution set;judging whether a termination condition is met, and outputting a global optimal solution if the termination condition is met.The two-stage mixed flow shop production scheduling method and system are used for solving the two-stage reentrant mixed flow shop scheduling problem considering the position-based setting time, and the improved variable neighborhood search algorithm is used, the workpieces are encoded according to the proposed heuristic sorting and are distributed to the machines, then the scheduling rules are proposed according to the characteristics of the problem to optimize the sorting, and the final optimal solution is obtained through the neighborhood search and the iterative updating of the solution.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of workshop scheduling, and in particular to a production scheduling method and system for a two-stage hybrid assembly line workshop. Background Technology

[0002] Against the backdrop of the rapid expansion of the electronics and information industry, chip manufacturing has become a key area of ​​significant national strategic importance. Chips have a wide range of applications, including data centers, high-performance computing, and industrial robots. During chip assembly, each chip needs to undergo a series of processing steps, including water rinsing, pre-baking, primer evaporation, photoresist coating, soft baking, alignment and exposure, development, and hard baking. For example, in the coating stage, a thin layer of photoresist material is applied to the chip to prepare for the subsequent photolithography process. Subsequently, the baking stage involves multiple baking machines, with each chip passing through one of them. The arrangement of these machines forms a mixed assembly line environment.

[0003] In traditional hybrid flow shop scheduling models, it is generally assumed that the number of times a workpiece is processed is the same. However, in complex production environments, the number of cycles required varies depending on the type of workpiece. Although many studies have begun to investigate reentrant hybrid flow shop scheduling in recent years, few studies simultaneously consider location-based scheduling time, the number of cycles for different workpieces, and the same number of parallel machines to construct complex scheduling models. In real production environments, these factors may coexist. Solving this complex problem is key to overcoming enterprise production challenges, and traditional scheduling models cannot address this issue. Furthermore, traditional variable neighborhood search algorithms are difficult to apply to solving current complex production problems. Therefore, based on a thorough understanding of the problem, we need to improve the variable neighborhood search algorithm to ultimately solve the problem. Summary of the Invention

[0004] The purpose of this invention is to provide a production scheduling method and system for a two-stage hybrid assembly line workshop, which overcomes the shortcomings of the prior art and solves the problems existing in the prior art.

[0005] To solve the above problems, the technical solution adopted by the present invention is as follows:

[0006] A production scheduling method for a two-stage hybrid assembly line workshop, the production scheduling method comprising:

[0007] S1: Set algorithm parameters;

[0008] Let J = {J1, ..., Jn} be a set containing n workpieces. n Each workpiece has a different number of processing cycles q. iIt can be considered as jointly owned. There are 1 workpiece, with m1 parallel machines in stage 1 and m2 parallel machines in stage 2. A time matrix is ​​set for each stage, where the time matrix for stage 1 is... The second phase sets the time matrix as follows: Number of iterations t, maximum number of iterations t of the algorithm max ;

[0009] S2: Generate an initial solution based on a heuristic algorithm;

[0010] The first stage is determined based on the proposed heuristic algorithm. In the second stage, each workpiece is assigned to the earliest available machine, and the machine with the shortest completion time is considered the earliest available machine. The processing sequence of the workpieces in the second stage is determined, and an initial solution is generated.

[0011] The specific steps of the heuristic algorithm are as follows:

[0012] S21: In phase one, utilize the minimum setup time rule to... Arrange the workpieces in order, and calculate the manufacturing span C of the sequence S. max (S), the first stage of the parallel machine set is Calculate d * =C max (S) / m1;

[0013] S22: Assign index k to the workpiece in sequence S. This represents the basic processing time of workpiece j in the first stage. k * Assign k and put the first k * Each workpiece is assigned to any one of the machines in M, and then the first k... * Remove one workpiece from sequence S and repeat the above allocation steps;

[0014] S23: If k * Assign k, calculate If d * <e * , will the first k * -1 workpieces are assigned to any machine in M, and then the first k... * -1 workpieces are removed from sequence S and the above allocation steps are repeated; otherwise, the first k workpieces are removed. * Each workpiece is assigned to any machine and removed from the sequence; the assignment operation is then repeated.

[0015] S24: After completing the above allocation steps, adjust the misaligned cyclic workpieces, traverse the workpieces on each machine, and if the workpiece that needs to be processed in a cycle is not assigned to the machine that was processed in the first cycle, move the cyclic workpiece to the end of the machine that was processed in the first cycle. After the adjustment is completed, obtain the allocation of all machines and the sorting of workpieces in the first stage.

[0016] S25: In the second stage, each workpiece is assigned to the earliest available machine, at which point the machine with the shortest completion time is considered the earliest available machine.

[0017] S3: Search for new solutions in multiple neighborhood structures;

[0018] Define α neighborhood structures and search for new solutions within these neighborhood structures;

[0019] There are six neighborhood structures in total, namely:

[0020] (1) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage one, and then randomly select a workpiece that only needs to be processed once on other machines and swap the positions of the two workpieces.

[0021] (2) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage two, and then randomly select a workpiece that only needs to be processed once on other machines and swap the positions of the two workpieces.

[0022] (3) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage one, and assign this workpiece to any machine.

[0023] (4) Randomly select a workpiece that only needs to be processed once from the machine with the longest completion time in stage two, and assign this workpiece to any machine.

[0024] (5) Select all the workpieces that need to be processed in cycles on the machine with the longest completion time in stage one, and transfer these workpieces to the adjacent machine for processing.

[0025] (6) Select all the workpieces that need to be processed in cycles on the machine with the longest completion time in stage two, and transfer these workpieces to the adjacent machine for processing.

[0026] S4: Adjust the workpiece processing sequence on each machine and update the solution set.

[0027] Adjust the workpiece processing sequence on each machine using scheduling rule one and scheduling rule two, update the solution set, and output the machine allocation and processing order for each workpiece in the two stages.

[0028] S5: Determine if the termination condition is met. If it is met, output the global optimal solution.

[0029] Judgment t≤t max If the condition is met, return to S3; otherwise, terminate the algorithm and output the global optimal solution, outputting the machine allocation and processing order for each workpiece in both stages.

[0030] Preferably, the minimum setting time rule in S21 is: in stage one, the set is set. The time matrix set in Phase 1 Find the minimum value, determine the row a and column b where the minimum value is located, place workpiece a in the first position of σ, and workpiece b in the second position of σ. At this time, σ = {a, b}. Continue searching for the minimum value in row b. The value determines the column r in which that value is located. If the workpiece J has index k = r... k If it has already been determined, then search for the second minimum. Find the value and determine its column r, put r into σ, at this time σ = {a, b, r}, repeat the above steps until all the workpieces are sorted.

[0031] Preferably, the scheduling rule in S4 is as follows: In the two stages, for a machine that only processes workpieces that do not require cyclic processing, all workpieces on the machine are reordered, the setting times of two adjacent workpieces are compared and the smaller value is retained, these values ​​are arranged and combined and the manufacturing span is calculated, and the sequence with the smallest manufacturing span is selected.

[0032] Preferably, the second scheduling rule in S4 is as follows: In the two stages, for a machine that processes workpieces that require cyclic processing, after all workpieces that do not require cyclic processing are processed on the machine, the position of all cyclic workpieces is determined, and the set time plus basic processing time of the previous workpiece and the set time plus basic processing time of the cyclic workpiece are compared. If the cyclic workpiece has arrived at this time and the set time plus basic processing time is less than that of the previous workpiece, then the positions of the two workpieces are swapped.

[0033] A production scheduling system for a two-stage hybrid assembly line workshop, characterized in that the production scheduling system includes the following modules:

[0034] The parameter setting module is used to set algorithm parameters;

[0035] Let J = {J1, ..., Jn} be a set containing n workpieces. n Each workpiece has a different number of processing cycles q. i It can be considered as jointly owned. There are 1 workpiece, with m1 parallel machines in stage 1 and m2 parallel machines in stage 2. A time matrix is ​​set for each stage, where the time matrix for stage 1 is... The second phase sets the time matrix as follows: Number of iterations t, maximum number of iterations t of the algorithm max ;

[0036] The initial solution generation module is used to generate initial solutions based on heuristic algorithms.

[0037] The first stage is determined based on the proposed heuristic algorithm. In the second stage, each workpiece is assigned to the earliest available machine, and the machine with the shortest completion time is considered the earliest available machine. The processing sequence of the workpieces in the second stage is determined, and an initial solution is generated.

[0038] The specific steps of the heuristic algorithm are as follows:

[0039] S21: In phase one, utilize the minimum setup time rule to... Arrange the workpieces in order, and calculate the manufacturing span C of the sequence S. max (S), the first stage of the parallel machine set is Calculate d * =C max (S) / m1;

[0040] S22: Assign index k to the workpiece in sequence S. This represents the basic processing time of workpiece j in the first stage. k * Assign k and put the first k * Each workpiece is assigned to any one of the machines in M, and then the first k... * Remove one workpiece from sequence S and repeat the above allocation steps;

[0041] S23: If k * Assign k, calculate If d * <e * , will the first k * -1 workpieces are assigned to any machine in M, and then the first k... * -1 workpieces are removed from sequence S and the above allocation steps are repeated; otherwise, the first k workpieces are removed. * Each workpiece is assigned to any machine and removed from the sequence; the assignment operation is then repeated.

[0042] S24: After completing the above allocation steps, adjust the misaligned cyclic workpieces, traverse the workpieces on each machine, and if the workpiece that needs to be processed in a cycle is not assigned to the machine that was processed in the first cycle, move the cyclic workpiece to the end of the machine that was processed in the first cycle. After the adjustment is completed, obtain the allocation of all machines and the sorting of workpieces in the first stage.

[0043] S25: In the second stage, each workpiece is assigned to the earliest available machine, at which point the machine with the shortest completion time is considered the earliest available machine.

[0044] The new solution search module is used to search for new solutions in multiple neighborhood structures;

[0045] Define α neighborhood structures and search for new solutions within these neighborhood structures;

[0046] There are six neighborhood structures in total, namely:

[0047] (1) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage one, and then randomly select a workpiece that only needs to be processed once on other machines and swap the positions of the two workpieces.

[0048] (2) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage two, and then randomly select a workpiece that only needs to be processed once on other machines and swap the positions of the two workpieces.

[0049] (3) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage one, and assign this workpiece to any machine.

[0050] (4) Randomly select a workpiece that only needs to be processed once from the machine with the longest completion time in stage two, and assign this workpiece to any machine.

[0051] (5) Select all the workpieces that need to be processed in cycles on the machine with the longest completion time in stage one, and transfer these workpieces to the adjacent machine for processing.

[0052] (6) Select all the workpieces that need to be processed in cycles on the machine with the longest completion time in stage two, and transfer these workpieces to the adjacent machine for processing.

[0053] The solution set update module is used to adjust the workpiece processing sequence on each machine and update the solution set;

[0054] Adjust the workpiece processing sequence on each machine using scheduling rule one and scheduling rule two, update the solution set, and output the machine allocation and processing order for each workpiece in the two stages.

[0055] The optimal solution output module is used to determine whether the termination condition is met. If it is met, the global optimal solution is output.

[0056] Judgment t≤t max If the condition is met, return to S3; otherwise, terminate the algorithm and output the global optimal solution, outputting the machine allocation and processing order for each workpiece in both stages.

[0057] Preferably, the minimum setup time rule in the initial solution generation module is: in stage one, set the... The time matrix set in Phase 1 Find the minimum value, determine the row a and column b where the minimum value is located, place workpiece a in the first position of σ, and workpiece b in the second position of σ. At this time, σ = {a, b}. Continue searching for the minimum value in row b. The value determines the column r in which that value is located. If the workpiece J has index k = r... k If it has already been determined, then search for the second minimum. Find the value and determine its column r, put r into σ, at this time σ = {a, b, r}, repeat the above steps until all the workpieces are sorted.

[0058] Preferably, the scheduling rule one in the solution set update module is as follows: In the two stages, for a machine that only processes workpieces that do not require cyclic processing, all workpieces on the machine are reordered, the setting times of two adjacent workpieces are compared and the smaller value is retained, these values ​​are arranged and combined and the manufacturing span is calculated, and the sequence with the smallest manufacturing span is selected.

[0059] Preferably, the second scheduling rule in the solution update module is as follows: In the two stages, for a machine that processes workpieces that need to be processed cyclically, after all workpieces that do not need to be processed cyclically are processed on the machine, the position of all cyclic workpieces is determined, and the set time plus basic processing time of the previous workpiece and the set time plus basic processing time of the cyclic workpiece are compared. If the cyclic workpiece has arrived at this time and the set time plus basic processing time is less than that of the previous workpiece, then the positions of the two workpieces are swapped.

[0060] Compared with the prior art, the present invention has the following beneficial effects:

[0061] This invention addresses the two-stage reentrant hybrid flow shop scheduling problem that considers location-based time settings. Through an improved variable neighborhood search algorithm, the workpieces are first encoded, sorted according to a proposed heuristic, and assigned to various machines. Then, scheduling rules are proposed based on the characteristics of the problem to optimize the sorting. Finally, the optimal solution is obtained through neighborhood search and iterative update.

[0062] The improved variable neighborhood search algorithm of this invention is a highly efficient algorithm in terms of convergence speed and convergence results. It solves the two-stage reentrant hybrid flow shop scheduling problem considering location-based time setting, improves the production efficiency of chip companies in real complex environments, provides effective decision support for chip companies, and helps accelerate the intelligentization process of chip companies.

[0063] This invention proposes a machine allocation and sequencing method for each workpiece in a two-stage reentrant hybrid flow shop scenario that takes into account location-based setup time, ensuring that the production capacity of each machine can be fully utilized, i.e., optimizing the processing progress on each machine. Attached Figure Description

[0064] Figure 1 This is a schematic diagram of the overall process of a two-stage hybrid flow workshop production scheduling method and system.

[0065] Figure 2 This is an algorithmic framework diagram of a two-stage hybrid flow workshop production scheduling method and system. Detailed Implementation

[0066] To make the technical means, creative features, objectives and effects of this invention easier to understand, the invention will be further described below in conjunction with specific embodiments.

[0067] The problem described in this embodiment is: given a set J = {J1, ..., Jn} containing n workpieces. n The workpiece needs to be processed on m1 parallel machines in Phase 1 and m2 parallel machines in Phase 2. Each workpiece has the same basic processing time on different machines. The time matrix is ​​set for Phase 1 as follows. The second phase sets the time matrix as follows: Taking stage one as an example, the actual processing time of the workpiece at position e on machine i is expressed as: The basic processing time is determined by p. [e][i] express, This represents the actual processing time of the workpiece at position e-1;

[0068] Please refer to Figure 1 As shown in Figure 2, this embodiment is a production scheduling method for a two-stage hybrid assembly line workshop. The production scheduling method includes:

[0069] S1: Set algorithm parameters;

[0070] Let J = {J1, ..., Jn} be a set containing n workpieces. n Each workpiece has a different number of processing cycles q. i It can be considered as jointly owned. There are 1 workpiece, with m1 parallel machines in stage 1 and m2 parallel machines in stage 2. A time matrix is ​​set for each stage, where the time matrix for stage 1 is... The second phase sets the time matrix as follows: Number of iterations t, maximum number of iterations t of the algorithm max ;

[0071] S2: Generate an initial solution based on a heuristic algorithm;

[0072] The first stage is determined based on the proposed heuristic algorithm. In the second stage, each workpiece is assigned to the earliest available machine, and the machine with the shortest completion time is considered the earliest available machine. The processing sequence of the workpieces in the second stage is determined, and an initial solution is generated.

[0073] The specific steps of the heuristic algorithm are as follows:

[0074] S21: In phase one, utilize the minimum setup time rule to... Arrange the workpieces in order, and calculate the manufacturing span C of the sequence S. max (S), the first stage of the parallel machine set is Calculate d * =C max (S) / m1;

[0075] The minimum setup time rule in S21 is as follows: In phase one, the set is set. The time matrix set in Phase 1 Find the minimum value, determine the row a and column b where the minimum value is located, place workpiece a in the first position of σ, and workpiece b in the second position of σ. At this time, σ = {a, b}. Continue searching for the minimum value in row b. The value determines the column r in which that value is located. If the workpiece J has index k = r... k If it has already been determined, then search for the second minimum. Find the value and determine its column r, put r into σ, at this time σ = {a, b, r}, repeat the above steps until all the workpieces are sorted.

[0076] S22: Assign index k to the workpiece in sequence S. This represents the basic processing time of workpiece j in the first stage. k * Assign k and put the first k * Each workpiece is assigned to any one of the machines in M, and then the first k... * Remove one workpiece from sequence S and repeat the above allocation steps;

[0077] S23: If k * Assign k, calculate If d * <e * , will the first k * -1 workpieces are assigned to any machine in M, and then the first k... *-1 workpieces are removed from sequence S and the above allocation steps are repeated; otherwise, the first k workpieces are removed. * Each workpiece is assigned to any machine and removed from the sequence; the assignment operation is then repeated.

[0078] S24: After completing the above allocation steps, adjust the misaligned cyclic workpieces, traverse the workpieces on each machine, and if the workpiece that needs to be processed in a cycle is not assigned to the machine that was processed in the first cycle, move the cyclic workpiece to the end of the machine that was processed in the first cycle. After the adjustment is completed, obtain the allocation of all machines and the sorting of workpieces in the first stage.

[0079] S25: In the second stage, each workpiece is assigned to the earliest available machine, at which point the machine with the shortest completion time is considered the earliest available machine.

[0080] S3: Search for new solutions in multiple neighborhood structures;

[0081] Define α neighborhood structures and search for new solutions within these neighborhood structures;

[0082] There are six neighborhood structures in S3, namely:

[0083] (1) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage one, and then randomly select a workpiece that only needs to be processed once on other machines and swap the positions of the two workpieces.

[0084] (2) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage two, and then randomly select a workpiece that only needs to be processed once on other machines and swap the positions of the two workpieces.

[0085] (3) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage one, and assign this workpiece to any machine.

[0086] (4) Randomly select a workpiece that only needs to be processed once from the machine with the longest completion time in stage two, and assign this workpiece to any machine.

[0087] (5) Select all the workpieces that need to be processed in cycles on the machine with the longest completion time in stage one, and transfer these workpieces to the adjacent machine for processing.

[0088] (6) Select all the workpieces that need to be processed in cycles on the machine with the longest completion time in stage two, and transfer these workpieces to the adjacent machine for processing.

[0089] S4: Adjust the workpiece processing sequence on each machine and update the solution set.

[0090] Adjust the workpiece processing sequence on each machine using scheduling rule one and scheduling rule two, update the solution set, and output the machine allocation and processing order for each workpiece in the two stages.

[0091] The first scheduling rule in S4 is as follows: In the two stages, for a machine that only processes workpieces that do not require cyclic processing, all workpieces on the machine are reordered, the setting times of two adjacent workpieces are compared and the smaller value is retained, these values ​​are arranged and combined and the manufacturing span is calculated, and the sequence with the smallest manufacturing span is selected.

[0092] The second scheduling rule in S4 is as follows: In the two stages, for a machine that processes workpieces that need to be processed cyclically, after all workpieces that do not need to be processed cyclically are processed on the machine, the position of all cyclic workpieces is determined, and the set time plus basic processing time of the previous workpiece and the set time plus basic processing time of the cyclic workpiece are compared. If the cyclic workpiece has arrived at this time and the set time plus basic processing time is less than that of the previous workpiece, then the positions of the two workpieces are swapped.

[0093] S5: Determine if the termination condition is met. If it is met, output the global optimal solution.

[0094] Judgment t≤t max If the condition is met, return to S3; otherwise, terminate the algorithm and output the global optimal solution, outputting the machine allocation and processing order for each workpiece in both stages.

[0095] This embodiment also provides a production scheduling system for a two-stage hybrid assembly line workshop, characterized in that the production scheduling system includes the following modules:

[0096] The parameter setting module is used to set algorithm parameters;

[0097] Let J = {J1, ..., Jn} be a set containing n workpieces. n Each workpiece has a different number of processing cycles q. i It can be considered as jointly owned. There are 1 workpiece, with m1 parallel machines in stage 1 and m2 parallel machines in stage 2. A time matrix is ​​set for each stage, where the time matrix for stage 1 is... The second phase sets the time matrix as follows: Number of iterations t, maximum number of iterations t of the algorithm max ;

[0098] The initial solution generation module is used to generate initial solutions based on heuristic algorithms.

[0099] The first stage is determined based on the proposed heuristic algorithm. In the second stage, each workpiece is assigned to the earliest available machine, and the machine with the shortest completion time is considered the earliest available machine. The processing sequence of the workpieces in the second stage is determined, and an initial solution is generated.

[0100] The specific steps of the heuristic algorithm are as follows:

[0101] S21: In phase one, utilize the minimum setup time rule to... Arrange the workpieces in order, and calculate the manufacturing span C of the sequence S. max (S), the first stage of the parallel machine set is Calculate d * =C max (S) / m1;

[0102] The minimum setup time rule is: in phase one, set up the collection. The time matrix set in Phase 1 Find the minimum value, determine the row a and column b where the minimum value is located, place workpiece a in the first position of σ, and workpiece b in the second position of σ. At this time, σ = {a, b}. Continue searching for the minimum value in row b. The value determines the column r in which that value is located. If the workpiece J has index k = r... k If it has already been determined, then search for the second minimum. Find the value and determine its column r, then put r into σ. At this time, σ = {a, b, r}. Repeat the above steps until all workpieces are sorted.

[0103] S22: Assign index k to the workpiece in sequence S. This represents the basic processing time of workpiece j in the first stage. k * Assign k and put the first k * Each workpiece is assigned to any one of the machines in M, and then the first k... * Remove one workpiece from sequence S and repeat the above allocation steps;

[0104] S23: If k * Assign k, calculate If d * <e * , will the first k * -1 workpieces are assigned to any machine in M, and then the first k... * -1 workpieces are removed from sequence S and the above allocation steps are repeated; otherwise, the first k workpieces are removed. * Each workpiece is assigned to any machine and removed from the sequence; the assignment operation is then repeated.

[0105] S24: After completing the above allocation steps, adjust the misaligned cyclic workpieces, traverse the workpieces on each machine, and if the workpiece that needs to be processed in a cycle is not assigned to the machine that was processed in the first cycle, move the cyclic workpiece to the end of the machine that was processed in the first cycle. After the adjustment is completed, obtain the allocation of all machines and the sorting of workpieces in the first stage.

[0106] S25: In the second stage, each workpiece is assigned to the earliest available machine, at which point the machine with the shortest completion time is considered the earliest available machine.

[0107] The new solution search module is used to search for new solutions in multiple neighborhood structures;

[0108] Define α neighborhood structures and search for new solutions within these neighborhood structures;

[0109] The new solution search module contains six neighborhood structures, namely:

[0110] (1) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage one, and then randomly select a workpiece that only needs to be processed once on other machines and swap the positions of the two workpieces.

[0111] (2) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage two, and then randomly select a workpiece that only needs to be processed once on other machines and swap the positions of the two workpieces.

[0112] (3) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage one, and assign this workpiece to any machine.

[0113] (4) Randomly select a workpiece that only needs to be processed once from the machine with the longest completion time in stage two, and assign this workpiece to any machine.

[0114] (5) Select all the workpieces that need to be processed in cycles on the machine with the longest completion time in stage one, and transfer these workpieces to the adjacent machine for processing.

[0115] (6) Select all the workpieces that need to be processed in cycles on the machine with the longest completion time in stage two, and transfer these workpieces to the adjacent machine for processing.

[0116] The solution set update module is used to adjust the workpiece processing sequence on each machine and update the solution set;

[0117] Adjust the workpiece processing sequence on each machine using scheduling rule one and scheduling rule two, update the solution set, and output the machine allocation and processing order for each workpiece in the two stages.

[0118] The scheduling rule one in the solution set update module is as follows: In the two stages, for a machine that only processes workpieces that do not require cyclic processing, all workpieces on the machine are reordered, the setting times of two adjacent workpieces are compared and the smaller value is retained, these values ​​are arranged and combined and the manufacturing span is calculated, and the sequence with the smallest manufacturing span is selected.

[0119] The second scheduling rule in the solution update module is as follows: In the two stages, for a machine that processes workpieces that need to be processed cyclically, after all workpieces that do not need to be processed cyclically are processed on the machine, the position of all cyclic workpieces is determined, and the set time plus basic processing time of the previous workpiece and the set time plus basic processing time of the cyclic workpiece are compared. If the cyclic workpiece has arrived at this time and the set time plus basic processing time is less than that of the previous workpiece, then the positions of the two workpieces are swapped.

[0120] The optimal solution output module is used to determine whether the termination condition is met. If it is met, the global optimal solution is output.

[0121] Judgment t≤t max If the condition is met, return to S3; otherwise, end the algorithm and output the global optimal solution, outputting the machine allocation and processing order for each workpiece in both stages.

[0122] This embodiment addresses the two-stage reentrant hybrid flow shop scheduling problem that considers location-based time settings. Through an improved variable neighborhood search algorithm, the workpieces are first encoded, sorted according to a proposed heuristic, and assigned to various machines. Then, scheduling rules are proposed based on the characteristics of the problem to optimize the sorting. Finally, the optimal solution is obtained through neighborhood search and iterative update.

[0123] The improved variable neighborhood search algorithm in this embodiment is a highly efficient algorithm in terms of convergence speed and convergence results. It solves the two-stage reentrant hybrid flow shop scheduling problem that considers location-based time setting, improves the production efficiency of chip companies in real complex environments, provides effective decision support for chip companies, and helps accelerate the intelligentization process of chip companies.

[0124] This embodiment proposes machine allocation and sequencing for each workpiece in a two-stage reentrant hybrid flow shop scenario that considers location-based setup time, ensuring that the production capacity of each machine can be fully utilized, i.e., optimizing the processing progress on each machine.

[0125] The foregoing has shown and described the basic principles, main features, and advantages of the present invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The embodiments and descriptions in the specification are merely illustrative of the principles of the invention. Various changes and modifications can be made to the invention without departing from its spirit and scope, and all such changes and modifications fall within the scope of the present invention as claimed. The scope of protection of this invention is defined by the appended claims and their equivalents.

Claims

1. A two-stage hybrid flow shop production scheduling method, characterized by, The production scheduling method comprises the following steps: S1: setting algorithm parameters; Let J = {J1, ..., Jn} be a set containing n workpieces. n Each workpiece has a different number of processing cycles q. i It can be considered as jointly owned. There are 1 workpiece, with m1 parallel machines in stage 1 and m2 parallel machines in stage 2. A time matrix is ​​set for each stage, where the time matrix for stage 1 is... The second phase sets the time matrix as follows: Number of iterations t, maximum number of iterations t of the algorithm max ; S2: generating an initial solution according to a heuristic algorithm; determining the first phase according to the proposed heuristic algorithm machine assignment and job sequencing of the jobs, in the second phase, each job is assigned to the earliest available machine, the machine with the shortest completion time is considered as the earliest available machine, determining the processing order of the jobs in the second phase, generating an initial solution; The specific steps of the heuristic algorithm are as follows: S21: In phase one, the jobs are sorted by the minimum setup time rule and the manufacturing span C(S) of the sequence S is calculated max (S) is calculated, and the parallel machine set in the first phase is d * = C max (S) / m1;​ S22: assign an index k to the workpiece in sequence S, denotes the basic processing time of the first stage workpiece j, if assign k * to the first k * workpieces in sequence S and assign them to any one of the M machines, then remove the first k * workpieces from sequence S and repeat the above assignment step; S23: If Assign k * to k, compute If d * < e * , assign the first k * -1 jobs to any of the machines in M and then remove the first k * -1 jobs from the sequence S and repeat the assignment step, else assign the first k * jobs to any of the machines and remove the jobs from the sequence and then repeat the assignment operation; S24: after the above allocation step is completed, the misaligned cyclic workpieces are adjusted, and the workpieces on each machine are traversed; if the misaligned cyclic workpiece that needs to be cyclically processed is not allocated on the machine for first processing, the misaligned cyclic workpiece is moved to the end of the machine for first processing; after the adjustment is completed, the allocation of all machines and the sorting of workpieces in the first stage are obtained; S25: in the second stage, each workpiece is allocated to the earliest available machine, and the machine with the shortest completion time is considered as the earliest available machine; S3: searching for a new solution in multiple neighborhood structures; The neighborhood structures are six in total, and are as follows: (1) randomly selecting a workpiece that needs to be processed only once on the machine with the longest completion time in the first stage, and then randomly selecting a workpiece that needs to be processed only once on another machine, and exchanging the positions of the two workpieces; (2) randomly selecting a workpiece that needs to be processed only once on the machine with the longest completion time in the second stage, and then randomly selecting a workpiece that needs to be processed only once on another machine, and exchanging the positions of the two workpieces; (3) randomly selecting a workpiece that needs to be processed only once on the machine with the longest completion time in the first stage, and allocating the workpiece to any machine; (4) randomly selecting a workpiece that needs to be processed only once on the machine with the longest completion time in the second stage, and allocating the workpiece to any machine; (5) selecting all cyclic workpieces on the machine with the longest completion time in the first stage, and transferring the workpieces to adjacent machines for processing; (6) selecting all cyclic workpieces on the machine with the longest completion time in the second stage, and transferring the workpieces to adjacent machines for processing; S4: adjusting the workpiece processing sequence on each machine and updating the solution set; The workpiece processing sequence on each machine is adjusted by using scheduling rule one and scheduling rule two, and the solution set is updated, and the machine allocation and processing sorting of each workpiece in the two stages are output; The scheduling rule one is as follows: in the two stages, for a machine that only processes workpieces that do not need to be cyclically processed, all workpieces on the machine are reordered, the setup times of two adjacent workpieces are compared and the smaller value is retained, the values are arranged and combined, the manufacturing span is calculated, and the sequence with the smallest manufacturing span is selected; The scheduling rule two is as follows: in the two stages, for a machine that processes workpieces that need to be cyclically processed, after all workpieces that do not need to be cyclically processed are processed on the machine, the positions of all cyclic workpieces are determined, the setup time plus the basic processing time of the previous workpiece and the setup time plus the basic processing time of the cyclic workpiece are compared, and if the cyclic workpiece has arrived and the setup time plus the basic processing time is smaller than the previous workpiece, the positions of the two workpieces are exchanged; S5: determining whether a termination condition is met, and outputting a global optimal solution if the termination condition is met; If t≤t max is true, go to S3, otherwise, end the algorithm and output the global optimal solution, output the machine assignment and processing sequence of each workpiece in two stages.

2. The two-stage hybrid flow shop production scheduling method according to claim 1, wherein, The minimum setup time rule in S21 is: in phase one, set the collection The time matrix set in phase one Find the minimum value, determine the row a and column b where the minimum value is located, put workpiece a in the first position of σ, put workpiece b in the second position of σ, at this time σ = {a, b}, continue to find the minimum value in row b, determine the column r where the value is located, if the workpiece J k with index k = r has been determined, find the second minimum value and determine the column r where the value is located, put r into σ, at this time σ = {a, b, r}, repeat the steps of S21 until all workpieces are sorted.

3. A two-stage hybrid flow shop production scheduling system, characterized by, The production scheduling system comprises the following modules: A parameter setting module for setting algorithm parameters; Let J = {J1,...,Jb} be a set of b jobs, each job has different cycle number q n i , which can be regarded as common , stage one has m1 parallel machines, stage two has m2 parallel machines, and time matrix is set for two stages, wherein the time matrix set for the first stage is The time matrix set for the second stage is The iteration number t is the maximum iteration number t max ;​ The initial solution generation module is used to generate initial solutions based on heuristic algorithms. determining the first phase according to the proposed heuristic algorithm machine assignment and job sequencing of the jobs, in the second phase, each job is assigned to the earliest available machine, the machine with the shortest completion time is considered as the earliest available machine, determining the processing order of the jobs in the second phase, generating an initial solution; The specific steps of the heuristic algorithm are as follows: S21: In phase one, the jobs are sorted by the minimum setup time rule and the manufacturing span C(S) of the sequence S is calculated max (S) is calculated, and the parallel machine set in the first phase is d * = C max (S) / m1;​ S22: assign an index k to the workpiece in sequence S, denotes the basic processing time of the first stage workpiece j, if assign k * to the first k * workpieces in sequence S and assign them to any one of the M machines, then remove the first k * workpieces from sequence S and repeat the above assignment step; S23: If Assign k * to k, compute If d * <e * , assign the first k * -1 jobs to any of the machines in M and then remove the first k * -1 jobs from the sequence S and repeat the assignment step, else assign the first k * jobs to any of the machines and remove the jobs from the sequence and then repeat the assignment operation; S24: After completing the above allocation steps, adjust the misaligned cyclic workpieces, traverse the workpieces on each machine, and if the misaligned cyclic workpiece that needs to be processed in cycles is not assigned to the machine that was processed in the first cycle, then move the misaligned cyclic workpiece to the end of the machine that was processed in the first cycle. After the adjustment is completed, obtain the allocation of all machines and the sorting of workpieces in the first stage. S25: In the second stage, each workpiece is assigned to the earliest available machine, at which point the machine with the shortest completion time is considered the earliest available machine. The new solution search module is used to search for new solutions in multiple neighborhood structures; There are six neighborhood structures in total, namely: (1) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage one, and then randomly select a workpiece that only needs to be processed once on other machines and swap the positions of the two workpieces. (2) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage two, and then randomly select a workpiece that only needs to be processed once on other machines and swap the positions of the two workpieces. (3) Randomly select a workpiece that only needs to be processed once on the machine with the longest completion time in stage one, and assign this workpiece to any machine. (4) Randomly select a workpiece that only needs to be processed once from the machine with the longest completion time in stage two, and assign this workpiece to any machine. (5) Select all the workpieces that need to be processed in cycles on the machine with the longest completion time in stage one, and transfer these workpieces to the adjacent machine for processing. (6) Select all the workpieces that need to be processed in cycles on the machine with the longest completion time in stage two, and transfer these workpieces to the adjacent machine for processing. The solution set update module is used to adjust the workpiece processing sequence on each machine and update the solution set; Adjust the workpiece processing sequence on each machine using scheduling rule one and scheduling rule two, update the solution set, and output the machine allocation and processing order for each workpiece in the two stages. The scheduling rule one is as follows: In the two stages, for a machine that only processes workpieces that do not require cyclic processing, all workpieces on the machine are reordered, the setting times of two adjacent workpieces are compared and the smaller value is retained, these values ​​are arranged and combined and the manufacturing span is calculated, and the sequence with the smallest manufacturing span is selected. The second scheduling rule is as follows: In the two stages, for a machine that processes workpieces that need to be processed cyclically, after all workpieces that do not need to be processed cyclically are processed on the machine, the position of all cyclic workpieces is determined, and the set time plus the basic processing time of the previous workpiece is compared with the set time plus the basic processing time of the cyclic workpiece. If the cyclic workpiece has arrived at this time and the set time plus the basic processing time is less than that of the previous workpiece, then the positions of the two workpieces are swapped. The optimal solution output module is used to determine whether the termination condition is met. If it is met, the global optimal solution is output. If t≤t max is true, go to S3, otherwise, end the algorithm and output the global optimal solution, output the machine assignment and processing sequence of each workpiece in two stages.

4. The two-phase hybrid flow shop production scheduling system according to claim 3, wherein, The minimum setup time rule in the initial solution generation module is as follows: In phase one, the set is set... The time matrix set in Phase 1 Find the minimum value, determine the row a and column b where the minimum value is located, place workpiece a in the first position of σ, and workpiece b in the second position of σ. At this time, σ = {a, b}. Continue searching for the minimum value in row b. The value determines the column r in which the value is located. If the workpiece J has index k=1... k If it has already been determined, then search for the second minimum. Find the value and determine its column r, put r into σ, at this time σ = {a, b, r}, repeat the initial solution generation module steps until all workpieces are sorted.

Citation Information

Patent Citations

  • Production and transportation cooperative scheduling method and system based on improved gravitational search algorithm

    CN107437138A

  • Distributed zero-waiting flow shop scheduling method and system with preparation time

    CN115249113A