Semiconductor production scheduling method, system and computer readable storage medium
By using mathematical optimization model and target attribute priority calculation method in semiconductor production, the problems of large amount of calculation and low resource utilization in the prior art are solved, and rapid optimization of semiconductor production scheduling and efficient resource utilization are achieved.
Patent Information
- Application Number
- CN202111608382.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-27
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2041-12-27
AI Technical Summary
The existing semiconductor production scheduling methods require the construction of large-scale populations and performing large-scale calculations, which leads to large-scale calculations and time-consuming, making it difficult to effectively and rationally allocate production capacity and improve resource utilization.
A semiconductor production scheduling method is proposed, which determines the mathematical optimization model by obtaining the scale of production data, generates the initial scheduling sequence sequence, and optimizes the scheduling sequence with the largest adaptation value through iterative calculations under constraints. At the same time, the evaluation value of the product is calculated based on the priority of the target attributes, the target product is determined, and rapid target optimization is achieved.
The rapid target optimization of semiconductor production scheduling has been achieved, the production capacity has been effectively allocated reasonably, the resource utilization rate has been improved, and the production cost has been reduced.
Smart Images

Figure CN114462770B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of semiconductor production and manufacturing technology, and in particular to a semiconductor production scheduling method, system and computer-readable storage medium. Background Art
[0002] Semiconductor manufacturing is one of the complex industrial manufacturing chains, which usually includes four production stages: wafer manufacturing, wafer sorting, packaging and product testing. Among them, wafer manufacturing is a complex job, and the manufacture of machines and silicon wafers requires hundreds of process steps. A small part of the products exists in hundreds of processes in the factory. Therefore, it is necessary to create complex capacity allocation and job scheduling problems, that is, scheduling problems are closely concerned in semiconductor manufacturing production. Scheduling problems generally refer to n workpieces being processed on m machines in an assembly line. Each workpiece takes a different amount of time to run on each machine, and each machine can only process one workpiece at a time. The goal of scheduling is to determine the processing order of the workpiece on each machine and the start time of each process, so that the maximum completion time is minimized or other indicators are optimized.
[0003] At present, there is an existing semiconductor production scheduling method that uses an intelligent optimization algorithm constructed based on evolutionary laws, such as a genetic algorithm, for query. However, this method requires constructing a sequence population and performing optimization iterations in the population. It is necessary to calculate each individual in the population separately. The larger the population, the greater the amount of calculation, which results in a lot of time required to solve the problem once. Summary of the invention
[0004] The purpose of the present invention is to provide a semiconductor production scheduling method, system and computer-readable storage medium, which can achieve effective and reasonable allocation of production capacity, improve resource utilization and reduce production costs.
[0005] To achieve the above object, the present invention provides a semiconductor production scheduling method, which comprises the following steps:
[0006] Obtaining the data scale of semiconductor production scheduling, and determining a mathematical optimization model according to the data scale;
[0007] Generate a first scheduling sequence according to the mathematical optimization model, and obtain a second scheduling sequence by iteratively calculating the first scheduling sequence under constraints through the mathematical optimization model, wherein the second scheduling sequence is a scheduling sequence with the maximum fitness value under the constraints, and the constraints include a maximum number of iterations;
[0008] Determine at least one target attribute and its priority of the product in the second scheduling sequence, calculate the evaluation value of each product in the second scheduling sequence at the current moment according to the priority of the at least one target attribute, and determine the product corresponding to the extreme value of the evaluation value as the target product at the current moment; and so on, calculate and obtain multiple target products at all moments in the process period, and arrange the multiple target products into a third scheduling sequence in chronological order;
[0009] The scheduling operation is performed according to a third scheduling order sequence.
[0010] Furthermore, in the above-mentioned semiconductor production scheduling method, the data scale includes the number of products to be processed.
[0011] Furthermore, in the semiconductor production scheduling method, the step of iteratively calculating the first scheduling sequence under constraints using the mathematical optimization model to obtain the second scheduling sequence specifically includes:
[0012] When the data size does not exceed a preset threshold, two random integers are generated, where the two random integers are different integers between 1 and N, and N is the length of the first scheduling sequence;
[0013] Interchanging the values of the sequence positions corresponding to the two random integers in the first scheduling sequence to obtain a first comparison sequence;
[0014] Calculate and compare the fitness value of the first scheduling order sequence with the fitness value of the first comparison order sequence; when the fitness value of the first comparison order sequence is greater than the fitness value of the first scheduling order sequence, repeat the step of exchanging the numerical values for the first comparison order sequence until the maximum number of iterations in the constraint condition is met, and obtain the second scheduling order sequence, which is the scheduling order sequence with the largest fitness value under the constraint condition.
[0015] Furthermore, in the semiconductor production scheduling method, the step of iteratively calculating the first scheduling sequence under constraints using the mathematical optimization model to obtain the second scheduling sequence specifically includes:
[0016] When the data scale exceeds a preset threshold, a plurality of preferred sequences are obtained by performing roulette wheel screening, crossover operation and mutation operation on the first scheduling sequence under constraint conditions, wherein the constraint conditions include a maximum number of iterations, the number of individuals in the population, a crossover probability and a mutation probability;
[0017] The second scheduling order sequence is determined according to a plurality of preferred sequences, and the second scheduling order sequence is a preferred sequence having the largest fitness value among the plurality of preferred sequences.
[0018] Furthermore, in the semiconductor production scheduling method, the step of performing roulette wheel screening on the first scheduling sequence under constraints specifically includes:
[0019] Calculating fitness values of multiple random order sequences in the first scheduling order sequence respectively, constructing a normalized interval according to the ratio of the fitness value of each random order sequence to the sum of the fitness values of all random order sequences, wherein the normalized interval includes multiple sub-intervals corresponding to each fitness value, and the value range of the normalized interval is [0, 1];
[0020] Generate a plurality of different random numbers between 0 and 1, wherein the number of the random numbers is the same as the number of the plurality of random order sequences;
[0021] In the normalized interval, the subinterval into which each random number falls is determined, and the corresponding random order sequence is selected according to the fitness value of the subinterval into which the random number falls, so as to obtain a plurality of random order sequences after screening.
[0022] Furthermore, in the semiconductor production scheduling method, the step of performing a crossover operation on the first scheduling sequence under a constraint condition specifically includes:
[0023] Determine the random sequence sequences to be crossed according to the crossover probability and the multiple random sequence sequences after screening, and pair the random sequence sequences to be crossed in pairs to obtain multiple pairs of sequence groups, each pair of sequence groups includes two random sequence sequences;
[0024] Generate a random integer between 1 and N, where N is the length of the first scheduling sequence, and swap the forward or reverse values of two random sequence sequences in the sequence group starting from the random integer position to obtain multiple random sequence sequences after crossing.
[0025] Furthermore, in the semiconductor production scheduling method, the step of performing a mutation operation on the first scheduling sequence under a constraint condition specifically includes:
[0026] Determine the random sequence to be mutated according to the mutation probability and multiple random sequence sequences after crossover;
[0027] Generate two random integers between 1 and N, where N is the length of the first scheduling sequence, and randomly sort the subsequences between the corresponding positions of the two random integers in the random sequence to be mutated to obtain a plurality of mutated random sequence sequences;
[0028] A preferred sequence is calculated based on the multiple mutated random order sequences, and the preferred sequence is a sequence with the largest fitness value among the multiple mutated random order sequences.
[0029] Furthermore, in the semiconductor production scheduling method, the step of calculating the evaluation value of each product in the second scheduling sequence at the current moment according to the priority of the at least one target attribute, and determining the product corresponding to the extreme value of the evaluation value as the target product at the current moment specifically includes:
[0030] For the second scheduling sequence L=[l 0 , l 1 , l 2 ,…l N-1 ], and its evaluation value V is:
[0031]
[0032] Where N is the length of the second scheduling sequence; l 0 , l 1 , l 2 ,…l N-1 is the product of the second scheduling sequence; ε is an adjustable parameter; E(l i ) is the first target attribute, D(l i ) is the second target attribute, A(li) is the third target attribute, the first target attribute has the highest priority, the third target attribute has the lowest priority, Now is the current time, l k The product corresponding to the minimum evaluation value V.
[0033] In addition, the present invention also provides a semiconductor production scheduling system for implementing the above-mentioned semiconductor production scheduling method, comprising:
[0034] A first determination unit, configured to determine a mathematical optimization model according to the data scale of semiconductor production scheduling;
[0035] a first calculation unit, configured to generate a first scheduling sequence according to the mathematical optimization model, and to obtain a second scheduling sequence by iteratively calculating the first scheduling sequence under constraints using the mathematical optimization model, wherein the second scheduling sequence is a scheduling sequence with a maximum fitness value under the constraints, wherein the constraints include a maximum number of iterations;
[0036] A second determination unit, used to determine the target attribute priority of the product to be processed;
[0037] A second calculation unit is used to determine at least one target attribute and its priority of the product in the second scheduling sequence, and to calculate the evaluation value of each product in the second scheduling sequence at the current moment according to the priority of the at least one target attribute, and to determine the product corresponding to the extreme value of the evaluation value as the target product at the current moment; and so on, to calculate and obtain multiple target products at all moments in the process period, and to arrange the multiple target products into a third scheduling sequence in chronological order;
[0038] The scheduling unit is used to perform scheduling operations according to a third scheduling order sequence.
[0039] In addition, the present invention also provides a computer-readable storage medium on which a computer program is stored, and the program is executed by a processor to implement the above-mentioned semiconductor production scheduling method.
[0040] The present invention realizes rapid target optimization of semiconductor production scheduling by combining the global search capability of intelligent algorithms with the local optimization techniques of heuristic algorithms, effectively and reasonably allocates production capacity, improves resource utilization, and reduces production costs. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 is a flow chart of a semiconductor production scheduling method according to an embodiment of the present invention;
[0042] Figure 2 It is a schematic diagram of the calculation and estimation of the fitness value of the scheduling sequence in the present invention;
[0043] Figure 3 is a schematic diagram of a first mathematical optimization model in the present invention;
[0044] Figure 4 is a schematic diagram of a second mathematical optimization model in the present invention;
[0045] Figure 5 is a schematic diagram of semiconductor production scheduling in the present invention;
[0046] Figure 6 is a schematic structural diagram of a semiconductor production scheduling system of a semiconductor production scheduling method according to an embodiment of the present invention;
[0047] Figure 7 yes Figure 6 Schematic diagram of the structure of the first computing unit in . DETAILED DESCRIPTION
[0048] This embodiment takes a semiconductor production scheduling method and system as an example, and the present invention will be described in detail below in conjunction with specific embodiments and drawings.
[0049] An embodiment of the present invention provides a semiconductor production scheduling method, comprising the following steps:
[0050] The data scale of semiconductor production scheduling is obtained, and a mathematical optimization model is determined according to the data scale; a first scheduling sequence is generated according to the mathematical optimization model, and the first scheduling sequence is iteratively calculated under constraints by the mathematical optimization model to obtain a second scheduling sequence, wherein the second scheduling sequence is a scheduling sequence with the largest fitness value under constraints, and the constraints include the maximum number of iterations; at least one target attribute and its priority of the product in the second scheduling sequence are determined, and the evaluation value of each product in the second scheduling sequence at the current moment is calculated according to the priority of the at least one target attribute, and the product corresponding to the extreme value of the evaluation value is determined as the target product at the current moment; and so on, multiple target products at all moments in the process period are calculated in sequence, and the multiple target products are arranged in chronological order into a third scheduling sequence; and scheduling operations are performed according to the third scheduling sequence. The present invention realizes rapid target optimization of semiconductor production scheduling through the combination of the global search capability of the intelligent algorithm and the local optimization technique of the heuristic algorithm, effectively and reasonably allocates production capacity, improves resource utilization, and reduces production costs.
[0051] See also Figures 1 to 6 , an embodiment of the present invention provides a semiconductor production scheduling method, the method specifically comprising the following steps:
[0052] Step S11: Initializing the simulation of the semiconductor production scene;
[0053] In specific implementation, when semiconductor production and processing is in progress, for example, the entire process from crystal rods to silicon wafers is scheduled, the real environment can be abstracted into an entry for releasing products, an exit for counting completed products, two buffers for storing products, and various processing machines. The entry is the order generation module, the exit is the confluence of completed products, and the idle machines in different plant areas obtain suitable products from the same buffer. It can be understood that the various components and quantities of each scene may be inconsistent.
[0054] Step S12: Acquire the data scale of semiconductor production scheduling, and determine a mathematical optimization model according to the data scale;
[0055] See also Figure 2In the specific implementation, the present invention achieves the optimal strategy for semiconductor scheduling through two-level optimization, wherein the first-level optimization is to try to find a better sequence by calculating the size of the fitness value corresponding to each sequence of semiconductor scheduling through an intelligent algorithm, and the calculation amount of the intelligent algorithm is related to the data scale of semiconductor production scheduling. Therefore, it is necessary to first obtain the data scale for evaluating semiconductor production scheduling, and determine the mathematical optimization model based on the data scale. In this embodiment, the data scale is the number of products to be processed. Of course, the data scale can also be other conditional data such as the total processing time of the product. In the semiconductor production process, the number of products to be processed in a batch is determined in advance according to the production plan, mainly based on the short-term production plan or the medium-term production plan. For example, production is carried out in batches and according to customer demand. Before a batch of 500 products is scheduled for production as scheduled, the number of products, 500, is determined in advance. According to the different quantities of products, the calculation amount of the scheduling calculation adaptation value F1 is different, and the mathematical optimization model applied is also different. Specifically, a threshold can be set according to experience or big data. If the data scale does not exceed the threshold, the first mathematical optimization model is selected for application. If the data scale exceeds the threshold, the second mathematical optimization model is selected for application.
[0056] That is, the step of determining the mathematical optimization model according to the data scale specifically includes:
[0057] When the data scale does not exceed the preset threshold, the first mathematical optimization model is selected for application; when the data scale exceeds the preset threshold, the second mathematical optimization model is selected for application.
[0058] In this embodiment, the threshold is 500, the first mathematical optimization model is a hill climbing algorithm model, and the second mathematical optimization model is a genetic algorithm model. That is, in this embodiment, when the number of products to be processed does not exceed 500, the hill climbing algorithm model is selected for application; when the number of products to be processed exceeds 500, the genetic algorithm model is selected for application. In this way, the appropriate mathematical optimization model can be selected according to different data scales and calculation amounts, so that model optimization and production scheduling are the fastest and most effective.
[0059] Step S13: generating a first scheduling sequence according to the mathematical optimization model;
[0060] In a specific implementation, when the data scale does not exceed a preset threshold, the first mathematical optimization model is selected for application. In this embodiment, the first mathematical optimization model is a hill climbing algorithm model, the data scale is the number of products to be processed, and a first scheduling sequence is generated according to the number of products to be processed. The length of the first scheduling sequence is the number of products to be processed. Specifically, when the hill climbing algorithm model is selected for application, a first scheduling sequence P with a length of N is generated according to the number of products to be processed N. 0, the first scheduling sequence P 0 A random sequence.
[0061] When the data scale exceeds a preset threshold, the second mathematical optimization model is selected for application. In this embodiment, the second mathematical optimization model is a genetic algorithm model, the data scale is the number of products to be processed, and a first scheduling sequence is generated according to the number of products to be processed and the number of individuals in the population. The first scheduling sequence includes multiple random sequence sequences, the number of random sequence sequences is the number of individuals in the population, and the length of the random sequence sequence is the number of products to be processed. Specifically, when the genetic algorithm model is selected for application, m random sequence sequences L with a length of N are generated according to the number of products to be processed N and the number of individuals in the population m. 11 , L 12 , …, L 1m ;Remember i=1.
[0062] Step S14: performing iterative calculation on the first scheduling sequence under constraint conditions by the mathematical optimization model to obtain a second scheduling sequence, wherein the second scheduling sequence is a scheduling sequence with the maximum fitness value under the constraint conditions, and the constraint conditions include a maximum number of iterations;
[0063] For specific implementation, please refer to Figure 3 When the data size does not exceed the preset threshold, the first mathematical optimization model is a hill climbing algorithm model. At this time, the constraint condition is the maximum number of iterations n, which is the number estimated based on experience and target accuracy. 0 After that, for example, the first scheduling sequence P 0 is 2-3-1-7-6-4-8-5; generate two random integers between 1 and N, and then 0 The corresponding values of the two random integer serial positions are swapped, denoted by P 1 , for example, generate two random integers 3 and 4, and then change the first scheduling sequence P 0 The values at the 3rd and 4th positions are swapped to obtain the first comparison sequence P 1 Next, calculate and compare the first scheduling sequence P 0 The fitness value F 0 and the first comparison sequence P 1 The fitness value F 1 .
[0064] If F 0 F 1 , then the first comparison sequence P 1 Not better than the first scheduling sequence P 0, at this time, it is necessary to repeat the above two random integer position numerical swapping steps until a sequence P that is better than the first scheduling sequence is found 0 The first comparison sequence P 1 .
[0065] If F 0 <F 1 , then the first comparison sequence P 1 Better, at this time, continue to select two random integers between 1 and N, and then 1 The corresponding values of the two random integer serial positions are swapped, denoted by P 2 , for example, generate two random integers 6 and 7, and then change the first scheduling sequence P 1 The values at the 6th and 7th positions are swapped to obtain the second comparison sequence P 2 Next, calculate and compare the first comparison sequence P 1 The fitness value F 1 and the second comparison sequence P 2 The fitness value F 2 , . . . And so on, choose to generate two random integers between 1 and N, and then set P i The corresponding values of the two random integer serial positions are swapped, denoted by P i+1 , until the maximum number of iterations n (i>n) of the constraint condition is met, the iteration is stopped, and the second scheduling sequence P is calculated. n , the second scheduling sequence P n is the scheduling order sequence with the largest fitness value under the maximum number of iterations n.
[0066] For the first scheduling sequence L=[l 0 , l 1 , l 2 , ..., l N-1 ], its fitness function F[L] is:
[0067]
[0068] Where P(li) is the total processing time of the product batch, D(li) is the delivery date of the product batch, Begin is the initial time, N is the length of the first scheduling sequence, l 0 , l 1 , l 2 , ..., l N-1 is the product in the first scheduling order sequence.
[0069] When other conditions are the same, the larger the fitness value of a product batch sequence is, the higher its scheduling efficiency is and the more optimized and reasonable it is.
[0070] That is, the step S14 specifically includes:
[0071] When the data size does not exceed a preset threshold, two random integers are generated, where the two random integers are different integers between 1 and N, where N is the length of the first scheduling sequence;
[0072] Interchanging the values of the sequence positions corresponding to the two random integers in the first scheduling sequence to obtain a first comparison sequence;
[0073] Calculate and compare the fitness value of the first scheduling order sequence with the fitness value of the first comparison order sequence; when the fitness value of the first comparison order sequence is greater than the fitness value of the first scheduling order sequence, repeat the step of exchanging the numerical values for the first comparison order sequence until the maximum number of iterations in the constraint condition is met, and obtain the second scheduling order sequence, which is the scheduling order sequence with the largest fitness value under the constraint condition.
[0074] The step S14 further includes:
[0075] When the fitness value of the first comparison order sequence is not greater than the fitness value of the first scheduling order sequence, the above steps of generating the first comparison order sequence are repeated until the fitness value of the obtained first comparison order sequence is greater than the fitness value of the first scheduling order sequence.
[0076] See also Figure 4 , when the data scale does not exceed the preset threshold, the second mathematical optimization model is a genetic algorithm model. At this time, the constraints are the maximum number of iterations n, the number of individuals in the population m, the crossover probability pc and the mutation probability pm. The constraints are the number of times estimated based on experience and target accuracy. When m random order sequences of length N are generated, i.e., the first scheduling order sequence L 11 , L 12 , …, L 1m After that, the individuals in the population are screened through the roulette model, specifically: the random order sequence L of the m individuals is calculated respectively 11 , L 12 , …, L 1m The fitness value F 11 , F 12 , …, F 1m , with the m fitness values F 11 , F 12 , …, F 1m , construct a normalized roulette wheel, that is, first calculate m fitness values F 11 , F 12 , …, F 1m sum , and then calculate m fitness values F respectively 11 , F 12 , …, F 1m ,and The ratio of , thus constructing the interval [0, 1], with m fitness values F 11 , F 12 , …, F 1m ,and The interval [0, 1] is divided into m subintervals according to the ratio of ; then, m random numbers between 0 and 1 are generated, and the individuals in the m subintervals corresponding to the m random numbers are selected to form a screened population. For example, a random number is 0.05, which falls into F 11 In the subinterval of 11 The corresponding random order sequence L 11 ; By analogy, m random order sequences can be selected, and the m random order sequences may have the same sequence (falling into the same sub-interval).
[0077] Next, the m random sequence sequences of the screened population are crossover operated, that is, the individuals to be crossovered are selected according to the crossover probability pc, and they are paired in pairs. For example, the screened population has 100 random sequence sequences, and the crossover probability pc is 0.8, then 0.8*100=80 random sequence sequences are selected, and they are paired in pairs to form 40 pairs of sequence groups; then for each pair of sequence groups, a random integer between 1 and N is generated respectively, and the values of the two random sequence sequences in the sequence group starting from the position of the random integer are exchanged. When the numbers are repeated or conflicting, they are exchanged at the end of the conflict to form m random sequence sequences of the population after the crossover; for example, a sequence group to be crossed includes two random sequence sequences P 1 =2, 3, 1, 7, 5, 6, 4, 8; P 2 =3, 2, 4, 8, 7, 6, 1, 5; the generated random integer is 3, that is, the two random order sequences P 1 , P 2 The values from the third digit to the left (or right) are swapped in sequence, and after the swap, P 1 The third digit value 4 of the number P conflicts with the seventh digit value 4. 1 , P 2 The 7th digit values 4 and 1 are swapped to avoid the problem of repeated value conflicts in the same sequence.
[0078] Finally, the mutation operation is performed on the m random sequence sequences of the population after the crossover: the individuals to be mutated are selected according to the mutation probability pm, and two random integers between 1 and N are generated for each selected random sequence sequence. The subsequences between the corresponding positions of the two random numbers of this sequence are randomly sorted, and finally the latest population m random sequence sequence L is formed. i1 , L i2 , …, L im For example, after crossover, a population has 100 random order sequences, and the mutation probability pc is 0.05. Then, 0.05*100=5 random order sequences are selected for mutation operation. For each pair of sequences in these 5 random order sequences, two random integers between 1 and N are generated respectively, and the subsequence values between the corresponding positions of the two random integers are randomly sorted. For example, a sequence is 2, 3, 1, 7, 5, 6, 4, 8, and the two random integers generated are 3 and 5. Then the subsequence values (1, 7, 5) of the 3rd to 5th positions in the sequence are randomly sorted, and the mutated sequence is 2, 3, 5, 1, 7, 6, 4, 8. In this way, after m random order sequences L are processed, 11 , L 12 , …, L 1m After roulette screening, crossover, and mutation operations, m sequences L' are obtained 11 , L' 12 , ..., L' 1m , calculate the m sequences L' 11 , L' 12 , ..., L' 1m The fitness value of the optimal sequence F with the largest fitness value is obtained 1 , thus completing one iterative calculation through the genetic algorithm model.
[0079] Next, regenerate m new random order sequences, continue to perform roulette screening, crossover, and mutation operations on the m new random order sequences to obtain another m sequences, calculate the fitness values of the other m sequences, and obtain the preferred sequence F with the largest fitness value 2 In this way, multiple iterations are completed through the genetic algorithm model until the number of iterations reaches the maximum number of iterations n, then the iteration is stopped and the fitness value F of n optimal sequences is obtained. 1 , F 2 , …, F n , select the sequence with the largest fitness value as the optimal sequence, that is, the second scheduling sequence. The second scheduling sequence is the scheduling sequence with the largest fitness value under the constraints. The constraints include the maximum number of iterations, the number of individuals in the population, the crossover probability and the mutation probability.
[0080] The step S14 specifically includes:
[0081] When the data scale exceeds a preset threshold, a plurality of preferred sequences are obtained by performing roulette wheel screening, crossover operation and mutation operation on the first scheduling sequence under constraint conditions, wherein the constraint conditions include a maximum number of iterations, the number of individuals in the population, a crossover probability and a mutation probability;
[0082] The second scheduling order sequence is determined according to a plurality of preferred sequences, and the second scheduling order sequence is a preferred sequence having the largest fitness value among the plurality of preferred sequences.
[0083] The step of performing roulette selection on the first scheduling sequence under the constraint condition specifically includes:
[0084] Calculating fitness values of multiple random order sequences in the first scheduling order sequence respectively, constructing a normalized interval according to the ratio of the fitness value of each random order sequence to the sum of the fitness values of all random order sequences, wherein the normalized interval includes multiple sub-intervals corresponding to each fitness value, and the value range of the normalized interval is [0, 1];
[0085] Generate a plurality of different random numbers between 0 and 1, wherein the number of the random numbers is the same as the number of the plurality of random order sequences;
[0086] In the normalized interval, the subinterval into which each random number falls is determined, and the corresponding random order sequence is selected according to the fitness value of the subinterval into which the random number falls, so as to obtain a plurality of random order sequences after screening.
[0087] The step of performing a crossover operation on the first scheduling sequence under a constraint condition specifically includes:
[0088] Determine the random sequence sequences to be crossed according to the crossover probability and the multiple random sequence sequences after screening, and pair the random sequence sequences to be crossed in pairs to obtain multiple pairs of sequence groups, each pair of sequence groups includes two random sequence sequences;
[0089] Generate a random integer between 1 and N, where N is the length of the first scheduling sequence, and swap the forward or reverse values of two random sequence sequences in the sequence group starting from the random integer position to obtain multiple random sequence sequences after crossing.
[0090] The step of performing a mutation operation on the first scheduling sequence under a constraint condition specifically includes:
[0091] Determine the random sequence to be mutated according to the mutation probability and multiple random sequence sequences after crossover;
[0092] Generate two random integers between 1 and N, where N is the length of the first scheduling sequence, and randomly sort the subsequences between the corresponding positions of the two random integers in the random sequence to be mutated to obtain a plurality of mutated random sequence sequences;
[0093] A preferred sequence is calculated based on the multiple mutated random order sequences, and the preferred sequence is a sequence with the largest fitness value among the multiple mutated random order sequences.
[0094] The step of performing roulette screening, crossover operation and mutation operation on the first scheduling sequence under constraint conditions to obtain multiple preferred sequences also includes:
[0095] Repeat the steps of generating the first scheduling order sequence and roulette wheel screening, crossover operation and mutation operation to obtain multiple preferred sequences until the maximum number of iterations in the constraint condition is met.
[0096] Step S15: determining at least one target attribute and its priority of the product in the second scheduling sequence, calculating the evaluation value of each product in the second scheduling sequence at the current moment according to the priority of the at least one target attribute, and determining the product corresponding to the extreme value of the evaluation value as the target product at the current moment; and so on, sequentially calculating and obtaining multiple target products at all moments in the process period, and arranging the multiple target products into a third scheduling sequence in chronological order;
[0097] For specific implementation, please refer to Figure 5 ,After getting the second scheduling sequence of the products, the products enter the buffer to be processed in turn, and the ,processing of a process is completed by matching the product with the machine working ,status of the process. The product is actually processed or retrieved in ,each buffer and machine, completing the processing simulation scheduling until the ,processing process ends. When a machine is idle, if there are suitable products in the ,corresponding buffer, one of them can be selected for processing on the machine.
[0098] Here, a comprehensive evaluation needs to be performed based on at least one target attribute of the product to be processed and its priority. The target attribute includes processing time, product delivery date, time for the product to arrive at the buffer zone, customer level, etc. Multiple optimization targets can be flexibly set as needed. For example, if the project completion date has the highest priority, the product delivery date needs to be used as the first factor to calculate the product evaluation value.
[0099] The step of calculating the evaluation value of each product in the second scheduling sequence at the current moment according to the priority of the at least one target attribute, and determining the product corresponding to the extreme value of the evaluation value as the target product at the current moment specifically includes:
[0100] For the second scheduling sequence L=[l 0 , l 1 , l 2 ,…l N-1 ], and its evaluation value V is:
[0101]
[0102] Where N is the length of the second scheduling sequence; l 0 , l 1 , l 2 ,…l N-1 is the product of the second scheduling sequence; ε is an adjustable parameter; E(l i ) is the first target attribute, D(l i ) is the second target attribute, A(li) is the third target attribute, the first target attribute has the highest priority, the third target attribute has the lowest priority, Now is the current time, l k The product corresponding to the minimum evaluation value V.
[0103] In this embodiment, ε is set to 8, and the first target attribute E(l i ) product customer level; the second target attribute D(l i ) is the product delivery date; A(li) is the time when the product arrives at the buffer zone. For the product l corresponding to the minimum evaluation value, k , so that in the evaluation value calculation formula, the product delivery date is given priority; when the product delivery date conditions are the same, the product customer level is considered, and finally the time when the product arrives at the buffer zone is considered. For example, at the current moment, the evaluation value of each product in the second scheduling sequence is obtained through the evaluation value function, and the product l corresponding to the minimum evaluation value is k Determine the target product A at the current moment 0 , that is, the target product A 0 is the product with the optimal timing at the current moment; and after the target product at the current moment is processed, the above process is repeated at the next moment, and the evaluation value of each product in the second scheduling sequence is calculated again, and the product l corresponding to the minimum evaluation value is k Determine the target product A for the next moment 1 , . . . Similarly, multiple target products at all times in the process period are calculated in sequence, and the multiple target products are arranged in chronological order (the order of the process period) into a third scheduling sequence [A 0 , A 1 , . . . A N-1 ].
[0104] It can be understood that, depending on the evaluation value formula, the extreme value of the evaluation value may also be the maximum value, that is, the product corresponding to the maximum value of the evaluation value is determined as the target product at the current moment.
[0105] The existing methods such as multiple sorting need to sort the importance or different states of multiple optimization targets of all products in the sequential sequence at each moment, which requires huge amount of calculation and low efficiency. The present invention adopts a method (heuristic algorithm) to calculate the current evaluation value of multiple target attribute priorities and take the extreme value for sorting, which greatly reduces the amount of calculation, improves scheduling efficiency, reduces production time, balances production lines, reduces enterprise costs, etc.
[0106] Step S16: Perform scheduling operations according to the third scheduling sequence.
[0107] In a specific implementation, after obtaining the optimally ordered third scheduling sequence, scheduling operations can be performed according to the third scheduling sequence, thereby realizing rapid optimization of semiconductor production scheduling.
[0108] Please refer to Table 1, which is a comparison of the effects of applying the scheduling method of the present invention to a certain embodiment project. The scheduling results use on-time delivery rate, OEE (equipment utilization rate) and CT (average production cycle) of various categories as evaluation indicators. It can be seen from Table 1 that compared with the irregular ones, the scheduling result indicators after optimization by the scheduling method of the present invention are significantly improved.
[0109]
[0110] Table 1
[0111] See also Figure 6 The present invention also provides a semiconductor production scheduling system for implementing the semiconductor production scheduling method, the system comprising:
[0112] A first determination unit 10 is used to determine a mathematical optimization model according to the data scale of semiconductor production scheduling;
[0113] A first calculation unit 20 is used to generate a first scheduling sequence according to the mathematical optimization model, and to obtain a second scheduling sequence by iteratively calculating the first scheduling sequence under constraints through the mathematical optimization model, wherein the second scheduling sequence is a scheduling sequence with a maximum fitness value under the constraints, and the constraints include a maximum number of iterations;
[0114] A second determination unit 30, used to determine the target attribute priority of the product to be processed;
[0115] The second calculation unit 40 is used to determine at least one target attribute and its priority of the product in the second scheduling sequence, and calculate the evaluation value of each product in the second scheduling sequence at the current moment according to the priority of the at least one target attribute, and determine the product corresponding to the extreme value of the evaluation value as the target product at the current moment; and so on, calculate and obtain multiple target products at all moments in the process period, and arrange the multiple target products into a third scheduling sequence in chronological order;
[0116] The scheduling unit 50 is used to perform scheduling operations according to a third scheduling sequence.
[0117] Among them, see Figure 7 , the first computing unit 20 further comprises:
[0118] A generating subunit 201, configured to generate two random integers when the data size does not exceed a preset threshold, wherein the two random integers are different integers between 1 and N, where N is the length of the first scheduling sequence;
[0119] The swap subunit 202 is used to swap the values of the sequence positions corresponding to the two random integers in the first scheduling order sequence to obtain a first comparison order sequence;
[0120] The iterator unit 203 is used to calculate and compare the fitness value of the first scheduling order sequence with the fitness value of the first comparison order sequence; when the fitness value of the first comparison order sequence is greater than the fitness value of the first scheduling order sequence, repeat the step of exchanging the numerical values for the first comparison order sequence until the maximum number of iterations in the constraint condition is met, and obtain the second scheduling order sequence, which is the scheduling order sequence with the largest fitness value under the constraint condition.
[0121] The evaluation value calculation method in the second calculation unit 40 is:
[0122] For the second scheduling sequence L=[l 0 , l 1 , l 2 ,…l N-1 ], and its evaluation value V is:
[0123]
[0124] Where N is the length of the second scheduling sequence; l 0 , l 1 , l 2 ,…l N-1 is the product of the second scheduling sequence; ε is an adjustable parameter; E(l i ) is the first target attribute, D(l i) is the second target attribute, A(li) is the third target attribute, the first target attribute has the highest priority, the third target attribute has the lowest priority, Now is the current time, l k The product corresponding to the minimum evaluation value V.
[0125] In addition, the present invention also provides a computer-readable storage medium having a computer program stored thereon, wherein the program is executed by a processor to implement the semiconductor production scheduling method as described above.
[0126] Compared with the prior art, the present invention has the following beneficial effects:
[0127] 1. By changing the traditional manual production scheduling method, it is easy to deal with complex high-mix production environments. The running time is short, and the cost of handling emergencies such as insertion failures is low, making the company's production more flexible and efficient.
[0128] 2. Production planning based on real production capacity synchronizes supplier delivery with factory scheduling, thereby reducing inventory and transportation costs caused by ordering production raw materials in advance.
[0129] 3. Through the combination of the global search capability of the mathematical optimization model (model intelligent algorithm) and the local optimization techniques of the evaluation method of multiple target attributes (heuristic algorithm), the search process of the intelligent algorithm is equivalent to finding an estimate of the approximate solution of the global optimal solution, and the scheduling of the heuristic algorithm is an optimization based on this, and the purpose is also to be closer to the global optimal solution, thereby achieving effective and reasonable allocation of production capacity, improving resource utilization, and reducing production costs.
[0130] In summary, the present invention realizes rapid target optimization of semiconductor production scheduling by combining the global search capability of intelligent algorithms with the local optimization techniques of heuristic algorithms, effectively and reasonably allocates production capacity, improves resource utilization, and reduces production costs.
[0131] The description and application of the present invention here are illustrative and are not intended to limit the scope of the present invention to the above-described embodiments. The deformation and changes of the embodiments disclosed here are possible, and the replacement of the embodiments and the various components equivalent to those of ordinary skill in the art are well known. It should be clear to those skilled in the art that the present invention can be realized in other forms, structures, arrangements, proportions, and with other components, materials and parts without departing from the spirit or essential characteristics of the present invention. Other deformations and changes can be made to the embodiments disclosed here without departing from the scope and spirit of the present invention.
Claims
1. A semiconductor production scheduling method, characterized in that: The method comprises the following steps: Obtaining the data scale of semiconductor production scheduling, and determining a mathematical optimization model according to the data scale; A first scheduling sequence is generated according to the mathematical optimization model, and a second scheduling sequence is obtained by iteratively calculating the first scheduling sequence under constraints through the mathematical optimization model, wherein the second scheduling sequence is a scheduling sequence with the largest fitness value under the constraints, and the constraints include a maximum number of iterations; the data scale includes the number of products to be processed, and when the number of products to be processed does not exceed 500, the mathematical optimization model is a hill climbing algorithm model; when the number of products to be processed exceeds 500, the mathematical optimization model is a genetic algorithm model; Determine at least one target attribute and its priority of the product in the second scheduling sequence, calculate the evaluation value of each product in the second scheduling sequence at the current moment according to the priority of the at least one target attribute, and determine the product corresponding to the extreme value of the evaluation value as the target product at the current moment; and so on, calculate and obtain multiple target products at all moments in the process period, and arrange the multiple target products into a third scheduling sequence in chronological order; The scheduling operation is performed according to a third scheduling order sequence.
2. The semiconductor production scheduling method according to claim 1, wherein: The step of iteratively calculating the first scheduling sequence under the constraint condition by the mathematical optimization model to obtain the second scheduling sequence specifically includes: When the data size does not exceed a preset threshold, two random integers are generated, where the two random integers are different integers between 1 and N, where N is the length of the first scheduling sequence; Interchanging the values of the sequence positions corresponding to the two random integers in the first scheduling sequence to obtain a first comparison sequence; Calculate and compare the fitness value of the first scheduling order sequence with the fitness value of the first comparison order sequence; when the fitness value of the first comparison order sequence is greater than the fitness value of the first scheduling order sequence, repeat the step of exchanging the numerical values for the first comparison order sequence until the maximum number of iterations in the constraint condition is met, and obtain the second scheduling order sequence, which is the scheduling order sequence with the largest fitness value under the constraint condition.
3. The semiconductor production scheduling method according to claim 1, wherein: The step of iteratively calculating the first scheduling sequence under the constraint condition by the mathematical optimization model to obtain the second scheduling sequence specifically includes: When the data scale exceeds a preset threshold, a plurality of preferred sequences are obtained by performing roulette wheel screening, crossover operation and mutation operation on the first scheduling sequence under constraint conditions, wherein the constraint conditions include a maximum number of iterations, the number of individuals in the population, a crossover probability and a mutation probability; The second scheduling order sequence is determined according to a plurality of preferred sequences, and the second scheduling order sequence is a preferred sequence having the largest fitness value among the plurality of preferred sequences.
4. The semiconductor production scheduling method according to claim 3, wherein: The step of performing roulette selection on the first scheduling sequence under the constraint condition specifically includes: Calculating fitness values of multiple random order sequences in the first scheduling order sequence respectively, constructing a normalized interval according to the ratio of the fitness value of each random order sequence to the sum of the fitness values of all random order sequences, wherein the normalized interval includes multiple sub-intervals corresponding to each fitness value, and the value range of the normalized interval is [0, 1]; Generate a plurality of different random numbers between 0 and 1, wherein the number of the random numbers is the same as the number of the plurality of random order sequences; In the normalized interval, the subinterval into which each random number falls is determined, and the corresponding random order sequence is selected according to the fitness value of the subinterval into which the random number falls, so as to obtain a plurality of random order sequences after screening.
5. The semiconductor production scheduling method according to claim 4, wherein: The step of performing a crossover operation on the first scheduling sequence under a constraint condition specifically includes: Determine the random sequence sequences to be crossed according to the crossover probability and the multiple random sequence sequences after screening, and pair the random sequence sequences to be crossed in pairs to obtain multiple pairs of sequence groups, each pair of sequence groups includes two random sequence sequences; Generate a random integer between 1 and N, where N is the length of the first scheduling sequence, and swap the forward or reverse values of two random sequence sequences in the sequence group starting from the random integer position to obtain multiple random sequence sequences after crossing.
6. The semiconductor production scheduling method according to claim 5, wherein: The step of performing a mutation operation on the first scheduling sequence under a constraint condition specifically includes: Determine the random sequence sequence to be mutated according to the mutation probability and multiple random sequence sequences after crossover; Generate two random integers between 1 and N, where N is the length of the first scheduling sequence, and randomly sort the subsequences between the corresponding positions of the two random integers in the random sequence to be mutated to obtain a plurality of mutated random sequence sequences; A preferred sequence is calculated based on the multiple mutated random order sequences, and the preferred sequence is a sequence with the largest fitness value among the multiple mutated random order sequences.
7. The semiconductor production scheduling method according to claim 1, wherein: The step of calculating the evaluation value of each product in the second scheduling sequence at the current moment according to the priority of the at least one target attribute, and determining the product corresponding to the extreme value of the evaluation value as the target product at the current moment specifically includes: For the second scheduling sequence L = [l0, l1, l2, ...l N-1 ], and its evaluation value V is: V=[v1,v2,v3,...,v N-1 ]=[v(l i ),v(l2),v(l3),...,v(l N-1 )], l k =arg min(V), Where N is the length of the second scheduling sequence; l0, l1, l2, ... l N-1 is the product of the second scheduling sequence; ε is an adjustable parameter; E(l i ) is the first target attribute, D(l i ) is the second target attribute, A(li) is the third target attribute, the first target attribute has the highest priority, the third target attribute has the lowest priority, Now is the current time, l k The product corresponding to the minimum evaluation value V.
8. A semiconductor production scheduling system implementing the semiconductor production scheduling method according to any one of claims 1 to 7, characterized in that: The system comprises: A first determination unit, configured to determine a mathematical optimization model according to the data scale of semiconductor production scheduling; a first calculation unit, configured to generate a first scheduling sequence according to the mathematical optimization model, and to obtain a second scheduling sequence by iteratively calculating the first scheduling sequence under constraints using the mathematical optimization model, wherein the second scheduling sequence is a scheduling sequence with a maximum fitness value under the constraints, wherein the constraints include a maximum number of iterations; A second determination unit, used to determine the target attribute priority of the product to be processed; A second calculation unit is used to determine at least one target attribute and its priority of the product in the second scheduling sequence, and to calculate the evaluation value of each product in the second scheduling sequence at the current moment according to the priority of the at least one target attribute, and to determine the product corresponding to the extreme value of the evaluation value as the target product at the current moment; and so on, to calculate and obtain multiple target products at all moments in the process period, and to arrange the multiple target products into a third scheduling sequence in chronological order; The scheduling unit is used to perform scheduling operations according to a third scheduling order sequence.
9. A computer-readable storage medium having a computer program stored thereon, wherein the program is executed by a processor to implement the semiconductor production scheduling method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Semiconductor workshop production scheduling method based on genetic algorithm
CN111079987A
Multi-target flexible job shop scheduling method based on improved ecological niche genetic algorithm
CN111222642A