Reentrant hybrid flow shop scheduling problem optimization method
By arranging the set of processable machines in the reentrant mixed flow workshop according to machine performance and workpiece reentry process, and using an optimized foraging algorithm to optimize the scheduling arrangement, the problems of workpiece reentry and competition for equipment access rights are solved, and high efficiency is achieved. scheduling and production efficiency improvement.
Patent Information
- Application Number
- CN202411462880.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-19
- Publication Date
- 2025-01-21
Smart Images

Figure CN119335978A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of reentrant hybrid flow shop scheduling, in particular to a method for optimizing the scheduling problem of a reentrant hybrid flow shop. Background Art
[0002] The reentrant hybrid flowshop scheduling problem (RHFSP) is an extension of the traditional hybrid flowshop scheduling problem. Workpieces in this type of workshop can flexibly and repeatedly access any machine at different production stages. It is widely used in key industries such as semiconductor manufacturing. In semiconductor front-end manufacturing, workpieces are hierarchical structures. Each layer of circuits needs to go through process stages such as thin film deposition, lithography, and etching. The workpieces completely or partially repeat the above process stages to form different circuit layers. Due to the reentrant nature of RHFSP and the scarcity of expensive semiconductor equipment, the number of workpieces processed by the same equipment has increased dramatically, resulting in fierce competition between workpieces for equipment access rights. In addition, the reentrant reflux of workpieces may cause frequent changes in the machine state. The processing state of the machine (such as temperature, pressure, and pH) must be switched from the current state of the machine to the state required for processing the workpiece to be processed. This machine state switching process is a waste of time and resources and should be minimized as much as possible. Solving such problems requires not only considering arranging appropriate machines for each process, but also considering the workpieces processed on each machine and the order of their processes. Whether the state of the machine is consistent with the state of the workpiece is an even more difficult NP-hard problem. Summary of the invention
[0003] In view of this, the purpose of the present invention is to provide a re-entrant hybrid flow shop scheduling problem optimization method to provide an efficient scheduling solution for workshop production to improve the production efficiency of the enterprise.
[0004] To achieve the above object, the present invention adopts the following technical solution: a reentrant hybrid flow shop scheduling problem optimization method, comprising the following steps:
[0005] Step S1, arranging a set of processable machines for each process of each workpiece according to machine performance and workpiece reentry process, taking into account the process preset time;
[0006] Step S2, formulating corresponding optimization goals according to production efficiency requirements;
[0007] Step S3, encoding the scheduling arrangement by a three-segment encoding method;
[0008] Step S4, obtaining a processing list of each code;
[0009] Step S5, optimizing the scheduling arrangement by using an improved optimized foraging algorithm;
[0010] Step S6: Obtain the best scheduling arrangement.
[0011] In a preferred embodiment, the specific implementation process of step S3 is as follows:
[0012] For any scheduling scheme X (job processing order 1, 2, ...j, ...J), j is the job index; i is the production stage index, i = 1, 2, ..., I; l is the machine index of production stage i, l = 1, 2, ..., m i ;s ij is the index of the number of reentry times of workpiece j in stage i, which is determined according to the process file, s ij =1,2,...,S i According to the three-stage coding method from workpiece to process, process to stage, and stage to machine, the machine set M can be selected from the stage i of each workpiece and process ji Select a machine as the processing machine at the current stage of the process, forming a line with a length of The machine code, N j is the total number of processes of job j;
[0013] Table 1:
[0014]
[0015] In Table 1:
[0016] O jk : The kth process of workpiece j, 1≤k≤N j , k is the process index of workpiece j, k = 1, 2, ..., N j ;
[0017] M jkIl : Arrange the corresponding production stage for the kth process of workpiece j, the optional machine set M jI The first processing machine.
[0018] In a preferred embodiment, the specific implementation process of step S4 is as follows:
[0019] A time counter is used to simulate the production process. At the initial moment, the processing status of the first process of each workpiece is set to 0, indicating that the process is processable at the current moment; the processing status of other processes of each workpiece is set to -1, indicating that the process is not processable at the current moment; when a process is completed, the start processing time and the end processing time are updated accordingly; and the process status is set to 1, indicating that the current process is completed; at the same time, the next process status of the workpiece is updated to 0, indicating that the next process is allowed to be processed; at the same time, the maximum value tp of the workpiece process transportation time and the machine state switching time is determined jk , that is, the preset time; in this way, the machine encoding is completed Processing list;
[0020] Table 2:
[0021]
[0022] In Table 2:
[0023] N j : The total number of processes of workpiece j;
[0024] O jk : The kth process of workpiece j, 1≤k≤N j ;
[0025] M jkIl : Arrange the corresponding production stage for the kth process of workpiece j, the optional machine set M jI The first processing machine;
[0026] T jkIl :The kth process of workpiece j on machine M ijIk The processing time on, even if the same workpiece j is processed on the same machine at the same stage i, the processing time will change due to the different number of reentry;
[0027] tp jk : The preset time of the kth process of workpiece j, that is, the maximum value of the transportation time and the machine state switching time; the transportation time is the time when workpiece j is transferred from processing O j(k-1) Machine transportation processing O jk The machine state switching time is the processing time of O jk The machine switches from the state of the previous process to the state of processing O jk The time of the desired state;
[0028] B jk : The time when the kth process of workpiece j starts processing;
[0029] te jk : The time when the kth process of workpiece j is completed.
[0030] In a preferred embodiment, the specific implementation process of step S5 is as follows:
[0031] The Optimal Foraging Algorithm (OFA) is a population-based optimization technique. In the workshop scheduling problem, the scheduling scheme X is the machine code corresponding to the processing order of the workpieces [M 111l , ..., M jkIl , M j(k+1)1l , ..., M JkIl ] is considered as an individual in the population of the optimized foraging algorithm and is described as That is, a solution to the optimized foraging algorithm, where N represents the population size, d represents the number of iterations, is the fitness function value of individual r in the population, is the maximum value of the individual fitness function in the population.
[0032] In a preferred embodiment, the optimization process of the optimized foraging algorithm OFA is described as follows:
[0033] 1) For each individual will recruit a better individual; there are two types of individual recruitment: Not equal to When , randomly select an individual from all individuals make sure Greater than And apply formula (1) to update when equal When , the individual with the worst fitness is selected from all individuals Update using formula (2)
[0034]
[0035] Where: τ1=-π+(1-ω)×2π, τ2=-π+ω×2π, is a random number between 0 and 2π, is a random number from 0 to π; ω is the golden ratio coefficient: It can effectively reduce the algorithm's exploration space and improve the algorithm's local search capability;
[0036]
[0037] Where: Levy(j)=r3×δ / (r4) 1 / β , r1, r2 and r3 are random numbers between 0 and 1, β is a constant of 1.5, Γ is the gamma function; k is the scale factor, k = d / dmax , d max is the maximum number of iterations of the algorithm;
[0038] 2) The number calculated by formula (1) or (2) is a real number, which should be converted into an integer according to the following rules and should not conflict with the optional machine set of each process;
[0039]
[0040] Among them, M ji represents the set of optional machines for workpiece j in stage i; len(M ji ) represents the number of machines in the machine set; [*] represents the rounding function; mod(*) represents the remainder function; this converts the real number into an integer that meets the requirements; therefore, the candidate solution It is also a feasible solution for the optimized foraging algorithm;
[0041] 3) Based on the candidate solution Obtain the corresponding processing list (as shown in Table 2) and calculate the fitness function value of the candidate solution
[0042] 4) By judging individual retention conditions Greater than Whether it is established to judge the candidate individual Is it a better individual? is a random number between 0 and 1; if it is, the individual is retained as the individual in the population of the next iteration; otherwise, the original individual is used as the individual in the population of the next iteration;
[0043] 5) The population is continuously updated in the above manner until the iteration termination condition is met, and the optimized population and the corresponding processing list are output.
[0044] In a preferred embodiment, the specific implementation process of step S6 is as follows:
[0045] 1) For single-objective problems
[0046] The best scheduling arrangement is the solution with the best fitness value;
[0047] 2) For multi-objective problems
[0048] Assuming there are H targets to be optimized, the entropy weight method is used to generate the weight w of each target: h , the multi-objective problem is transformed into a single-objective problem using the linear weighted sum method. The transformed single-objective is expressed as:
[0049]
[0050] Compared with the prior art, the present invention has the following beneficial effects: the present invention arranges processing machines for each process of the workpiece to be processed, reasonably arranges the order of the processing processes on each machine, and can quickly and effectively obtain a better scheduling plan. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] Figure 1 Flowchart of a preferred embodiment of the present invention. DETAILED DESCRIPTION
[0052] The present invention will be further described below in conjunction with the accompanying drawings and embodiments.
[0053] It should be noted that the following detailed descriptions are illustrative and are intended to provide further explanation of the present application. Unless otherwise specified, all technical and scientific terms used herein have the same meanings as those commonly understood by those skilled in the art to which the present application belongs.
[0054] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit the exemplary embodiments according to the present application; as used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that when the terms "comprise" and / or "include" are used in this specification, they indicate the presence of features, steps, operations, devices, components and / or their combinations.
[0055] The present invention provides a reentrant hybrid flow shop scheduling problem optimization method, referring to Figure 1 , including the following steps:
[0056] Step S1, arranging a set of processable machines for each process of each workpiece according to machine performance and workpiece reentry process, taking into account the process preset time;
[0057] Step S2, formulating corresponding optimization goals according to production efficiency requirements;
[0058] Step S3, encoding the scheduling arrangement by a three-segment encoding method;
[0059] Step S4, obtaining a processing list of each code;
[0060] Step S5, optimizing the scheduling arrangement by using an improved optimized foraging algorithm;
[0061] Step S6: Obtain the best scheduling arrangement.
[0062] The following is a specific implementation process of the present invention. The method of the present invention includes six steps:
[0063] 1. Obtain the processing data of each workpiece and each process on the machine
[0064] Table 1:
[0065]
[0066] In Table 1:
[0067] O jk : The kth process of workpiece j, 1≤k≤N j ;
[0068] T jlil : The kth process of workpiece j is on the lth machine M in stage i il Processing time on
[0069] Among them, T jlil is a positive real number indicating that the process O jk Can be used in machine M il Upper processing, T jlil Does not exist means that the process cannot be performed on machine M il Then process O jk The set of optional machines M at stage i ji T jlil The existing machine M il A collection of .
[0070] 2. Set optimization goals
[0071] In actual production, there are many optimization objectives for re-entrant mixed flow workshops: maximum completion time, quality, maximum machine load, processing cost, processing energy consumption, delay and inventory cost, etc. The objective functions that usually need to be optimized are maximum completion time, processing quality, delay and inventory cost:
[0072]
[0073] For any scheduling scheme X (the processing order of the workpieces), the optimization objective is as follows:
[0074] 1) Maximum completion time
[0075]
[0076] Among them C j is the completion time of job j, r ijkl A constant of 0 or 1, 1 means O jk Run on machine l at stage i, 0 otherwise.
[0077] 2) Processing quality
[0078]
[0079] in For workpiece j in the sth ijThe failure rate of workpiece j processed in stage i when re-entering stage i for the first time.
[0080] 3) Minimize delays and inventory costs
[0081]
[0082] Where D j is the latest delivery time of workpiece j, is the delay cost, is the inventory cost.
[0083] 3. Machine encoding method
[0084] For any scheduling scheme X (job processing order 1, 2, ...j, ...J), j is the job index. i is the production stage index, i = 1, 2, ..., I. l is the machine index of production stage i, l = 1, 2, ..., m i .s ij is the index of the number of reentry times of workpiece j in stage i, which is determined according to the process file, s ij =1,2,...,S i From the stage i of each workpiece and each process, a machine set M can be selected ji Select a machine as the processing machine for the current stage of the process, forming a line with a length of The machine code, N j is the total number of processes for job j.
[0085] Table 1:
[0086]
[0087]
[0088] In Table 1:
[0089] O jk : The kth process of workpiece j, 1≤k≤N j , k is the process index of workpiece j, k = 1, 2, ..., N j ;
[0090] M jkIl : Arrange the corresponding production stage for the kth process of workpiece j, the optional machine set M jI The first processing machine.
[0091] 4. Get the coded processing list
[0092] A time counter is used to simulate the production process. At the initial moment, the processing status of the first process of each workpiece is set to 0, indicating that the process is processable at the current moment; the processing status of other processes of each workpiece is set to -1, indicating that the process is not processable at the current moment; when a process is completed, the start processing time and the end processing time are updated accordingly; and the process status is set to 1, indicating that the current process is completed. At the same time, the status of the next process of the workpiece is updated to 0, indicating that the next process is allowed to be processed. When workpiece j enters the last stage each time, process O is completed. jk After the processing of one circuit layer is completed, workpiece j re-enters stage 1, and a re-entry workpiece occurs. jI Not an empty set, select machine set M jI One of the machines starts to complete process O j(k+1) If the current state of the selected machine is processing operation O j(k+1) If the machine is in the required state, the machine state does not need to be switched and the workpiece can be processed directly on the machine. Otherwise, the machine needs to switch the processing state. At the same time, determine the maximum value of the workpiece process transportation time and the machine state switching time, that is, the preset time of the workpiece process. If there is no idle machine, wait for the earliest idle machine as the processing machine. If there is no idle machine and other workpieces are competing for the machine's resources, the machine will give priority to the workpiece with the shortest sum of processing time and preset time as the processing workpiece. Complete machine coding in this way Processing list.
[0093] Table 2:
[0094]
[0095]
[0096] In Table 2:
[0097] N j : The total number of processes of workpiece j;
[0098] O jk : The kth process of workpiece j, 1≤k≤N j ;
[0099] M jkIl : Arrange the corresponding production stage for the kth process of workpiece j, the optional machine set M jI The first processing machine.
[0100] T jkIl :The kth process of workpiece j on machine M ijIk The processing time on, even if the same workpiece j is processed on the same machine at the same stage i, the processing time will change due to the different number of reentry;
[0101] tp jk : The preset time of the kth process of workpiece j, that is, the maximum value of the transportation time and the machine state switching time; the transportation time is the time when workpiece j is transferred from processing O j(k-1) Machine transportation processing O jk The machine state switching time is the time for processing O jk The machine switches from the state of the previous process to the state of processing O jk The time of the desired state.
[0102] B jk : The time when the kth process of workpiece j starts processing;
[0103] te jk : The k-th process processing end time of workpiece j;
[0104] 5. Optimize the foraging algorithm to optimize the scheduling
[0105] The Optimal Foraging Algorithm (OFA) is a population-based optimization technique that draws inspiration from the communication and cooperation behaviors observed in animal populations during foraging, aiming to achieve optimal search. The algorithm has the characteristics of simple structure, strong search capability, and affine invariance. In the workshop scheduling problem, the machine code corresponding to the processing order of the workpieces [M 111l , ..., M jkIl , M 1j(k+1)1l , ..., M Jkll ] is considered as an individual in the population of the optimized foraging algorithm and is described as That is, a solution to the optimized foraging algorithm, where N represents the population size, d represents the number of iterations, is the fitness function value of individual r, is the maximum value of the individual fitness function in the population. The optimization process of the algorithm is described as:
[0106] 1) For each individual There are two types of individual recruitment: Not equal to When , randomly select an individual from all individuals make sure Greater than And apply formula (1) to update when equal When , the individual with the worst fitness is selected from all individuals Update using formula (2)
[0107]
[0108] Where: τ1=-π+(1-ω)×2π, τ2=-π+ω×2π, is a random number between 0 and 2π, is a random number between 0 and π. ω is the golden ratio: It can effectively reduce the algorithm's exploration space and improve the algorithm's local search capability.
[0109]
[0110] Where: Levy(j)=r3×δ / (r4) 1 / β , r1, r2 and r3 are random numbers between 0 and 1, β is a constant of 1.5, Γ is the gamma function, k is the scale factor, k = d / d max , d max is the maximum number of iterations of the algorithm.
[0111] 2) The value calculated by formula (1) or (2) is a non-integer. It should be converted into an integer according to the following rules and should not conflict with the optional machine set of each process.
[0112]
[0113] Among them, M ji represents the set of optional machines for workpiece j in stage i; len(M ji ) represents the number of machines in the machine set; [*] represents the rounding function; mod(*) represents the remainder function. This converts a real number into an integer that meets the requirements. Therefore, the candidate solution It is also a feasible solution.
[0114] 3) Based on the candidate solution Obtain the corresponding processing list (as shown in Table 2) and calculate the fitness function value of the candidate solution
[0115] 4) By judging individual retention conditions Greater than Whether it is established to judge the candidate individual Is it a better individual? Is a random number between 0 and 1. If yes, then the individual is retained as the individual in the population of the next iteration; otherwise, the original individual is used as the individual in the population of the next iteration.
[0116] 5) The population is continuously updated in the above manner until the iteration termination condition is met, and the optimized population and the corresponding processing list are output.
[0117] 6. Best Scheduling
[0118] 1) For single-objective problems
[0119] The optimal scheduling arrangement is the solution with the best fitness value.
[0120] 2) For multi-objective problems
[0121] Assuming there are H targets to be optimized, the entropy weight method is used to generate the weight w of each target: h , the multi-objective problem is transformed into a single-objective problem using the linear weighted sum method. The transformed single-objective is expressed as:
[0122]
[0123] The above are preferred embodiments of the present invention. Any changes made according to the technical solution of the present invention, as long as the resulting functions do not exceed the scope of the technical solution of the present invention, belong to the protection scope of the present invention.
Claims
1. A reentrant hybrid flow shop scheduling problem optimization method, characterized in that: The steps include: Step S1, arranging a set of processable machines for each process of each workpiece according to machine performance and workpiece reentry process, taking into account the process preset time; Step S2, formulating corresponding optimization goals according to production efficiency requirements; Step S3, encoding the scheduling arrangement by a three-segment encoding method; Step S4, obtaining a processing list of each code; Step S5, optimizing the scheduling arrangement by using an improved optimized foraging algorithm; Step S6: Obtain the best scheduling arrangement.
2. The method for optimizing the reentrant hybrid flow shop scheduling problem according to claim 1, characterized in that: The specific implementation process of step S3 is as follows: For any scheduling scheme X (job processing order 1, 2, ...j, ...J), j is the job index; i is the production stage index, i = 1, 2, ..., I; l is the machine index of production stage i, l = 1, 2, ..., m i ;s ij is the index of the number of reentry times of workpiece j in stage i, which is determined according to the process file, s ij =1,2,…,S i According to the three-stage coding method from workpiece to process, process to stage, and stage to machine, the machine set can be selected from the stage i of each workpiece and process. Mj Select a machine on i as the processing machine at the current stage of the process, forming a line with a length of The machine code, N j is the total number of processes of job j; Table 1: In Table 1: O jk : The kth process of workpiece j, 1≤k≤N j , k is the process index of workpiece j, k = 1, 2, ..., N j ; N jkIl :Assign the optional machine set M corresponding to the production stage I to the kth process of workpiece j jI The first processing machine.
3. The method for optimizing the reentrant hybrid flow shop scheduling problem according to claim 2, characterized in that: The specific implementation process of step S4 is as follows: A time counter is used to simulate the production process. At the initial moment, the processing status of the first process of each workpiece is set to 0, indicating that the process is processable at the current moment; the processing status of other processes of each workpiece is set to -1, indicating that the process is not processable at the current moment; when a process is completed, the start processing time and the end processing time are updated accordingly; and the process status is set to 1, indicating that the current process is completed; at the same time, the next process status of the workpiece is updated to 0, indicating that the next process is allowed to be processed; at the same time, the maximum value tp of the workpiece process transportation time and the machine state switching time is determined jk , that is, the preset time; in this way, the machine encoding is completed Processing list; Table 2: In Table 2: N j : The total number of processes of workpiece j; O jk : The kth process of workpiece j, 1≤k≤N j ; M jkIl :Assign the optional machine set M corresponding to the production stage I to the kth process of workpiece j jI The first processing machine; T jkIl :The kth process of workpiece j on machine M ijIk The processing time on, even if the same workpiece j is processed on the same machine at the same stage i, the processing time will change due to the different number of reentry; tp jk : The preset time of the kth process of workpiece j, that is, the maximum value of the transportation time and the machine state switching time; the transportation time is the time when workpiece j is transferred from processing O j(k-1) Machine transportation processing O jk The machine state switching time is the processing time of O jk The machine switches from the state of the previous process to the state of processing O jk The time of the desired state; B jk : The time when the kth process of workpiece j starts processing; te jk : The time when the kth process of workpiece j is completed.
4. The method for optimizing the reentrant hybrid flow shop scheduling problem according to claim 3 is characterized in that: The specific implementation process of step S5 is as follows: The Optimal Foraging Algorithm (OFA) is a population-based optimization technique. In the workshop scheduling problem, the scheduling scheme X is the machine code corresponding to the processing order of the workpieces [M 111l ,…,M jkIl ,M j(k+1)1l ,…,M Jkll ] is considered as an individual in the population of the optimized foraging algorithm and is described as That is, a solution to the optimized foraging algorithm, where N represents the population size, d represents the number of iterations, is the fitness function value of individual r in the population, is the maximum value of the individual fitness function in the population.
5. The method for optimizing the reentrant hybrid flow shop scheduling problem according to claim 4, characterized in that: The optimization process of the optimized foraging algorithm OFA is described as: 1) For each individual will recruit a better individual; there are two types of individual recruitment: Not equal to When , randomly select an individual from all individuals make sure Greater than And apply formula (1) to update when equal When , the individual with the worst fitness is selected from all individuals Update using formula (2) Where: τ1=-π+(1-ω)×2π, τ2=-π+ω×2π, is a random number between 0 and 2π, is a random number from 0 to π; ω is the golden ratio coefficient: It can effectively reduce the algorithm's exploration space and improve the algorithm's local search capability; Where: Levy(j)=r3×δ / (r4) 1 / β , r1, r2 and r3 are random numbers between 0 and 1, β is a constant of 1.5, Γ is the gamma function; k is the scale factor, k = d / d max , d max is the maximum number of iterations of the algorithm; 2) The number calculated by formula (1) or (2) is a real number, which should be converted into an integer according to the following rules and should not conflict with the optional machine set of each process; Among them, M ji represents the set of optional machines for workpiece j in stage i; len(M ji ) represents the number of machines in the machine set; [*] represents the rounding function; mod(*) represents the remainder function; this converts the real number into an integer that meets the requirements; therefore, the candidate solution It is also a feasible solution for the optimized foraging algorithm; 3) Based on the candidate solution Obtain the corresponding processing list (as shown in Table 2) and calculate the fitness function value of the candidate solution 4) By judging individual retention conditions Greater than Whether it is established to judge the candidate individual Is it a better individual? is a random number between 0 and 1; if it is, the individual is retained as the individual in the population of the next iteration; otherwise, the original individual is used as the individual in the population of the next iteration; 5) The population is continuously updated in the above manner until the iteration termination condition is met, and the optimized population and the corresponding processing list are output.
6. The method for optimizing the reentrant hybrid flow shop scheduling problem according to claim 5, characterized in that: The specific implementation process of step S6 is as follows: 1) For single-objective problems The best scheduling arrangement is the solution with the best fitness value; 2) For multi-objective problems Assuming there are H targets to be optimized, the entropy weight method is used to generate the weight w of each target: h ,The multi-objective problem is transformed into a single-objective problem using the linear weighted sum method. The transformed single objective is expressed as: