Dispatching method, electronic equipment and storage medium

The particle swarm algorithm constructs membrane structure and optimizes the dispatch information, which solves the problem of waiting for processing too long in the existing dispatch methods, and achieves efficient dispatch list generation and product yield improvement.

CN120494744APending Publication Date: 2025-08-15BEIJING YANDONG MICROELECTRONICS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510598511.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-09
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

The existing dispatch methods rely on manual experience and are difficult to make rational use of machine production capacity, resulting in too long waiting time for products in-processing, affecting processing efficiency and product yield.

Method used

The particle swarm algorithm is used to build a membrane structure. Through iterative optimization and communication rules of the surface film and basic film, the dispatch information is optimized to shorten the total processing time, including initializing the particle population, iterative optimization and inter-membrane communication to obtain the optimal dispatch list.

Benefits of technology

It effectively shortens the waiting processing time of products in-products, improves processing efficiency and ensures product yield, avoids manual intervention and local optimal solutions, and improves the accuracy and efficiency of the dispatched list.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120494744A_ABST
    Figure CN120494744A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of product production, in particular to a dispatching method, electronic equipment and a storage medium, and aims to solve the problem of how to dispatch a work-in-process so as to shorten the processing waiting time of the work-in-process. The method comprises the steps that particle populations of a surface layer film and all basic films in a film structure are initialized, particles represent a set of dispatching information, and the dispatching information comprises the machining starting time of all batches of in-process products in all procedures and machining machines; on the basis of an optimization target and the processing duration of each batch of in-process products by adopting different machines in each working procedure, a surface layer film and each basic film are controlled to respectively adopt respective particle swarm algorithms to carry out iterative optimization on respective particle populations; after each iterative optimization is completed, inter-film communication is carried out between the surface layer film and each basic film based on a communication rule; and obtaining optimal particles in all the particle populations, and determining a work dispatching list of the work in process according to the optimal particles. Through the method, the processing waiting time of each batch of in-process products is shortened.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of product production technology, and in particular to a work dispatching method, electronic equipment and storage medium. Background Art

[0002] In the field of product production technology, semi-finished products that are being or are about to be processed are called Work in Process (WIP). The allowed retention time (or queue time) of the WIP during processing is crucial to improving product processing efficiency and product yield. The allowed retention time refers to the total time that the WIP lasts from the completion of the first process of a certain processing step (Job Out) to the completion of the last process of this step (Job In). For example, see the attached Figure 1 , Figure 1 This example illustrates a WIP processing process, consisting of six steps, Step 1 through Step 6. Taking Steps 1 and 2 as examples, Step 1 can only be processed on Machine 1, while Step 2 can be processed on Machines 2 and 3. The permitted retention time for a WIP during this process is the total time from the end of Step 1 to the start of Step 6.

[0003] The allowable retention time is not only related to the process itself, but also to the machine processing time and waiting time. Different machines may have different processing times for the same work-in-progress. The waiting time mainly depends on whether the production line dispatch is reasonable. When dispatching, it is necessary to select the most suitable processing machine for each batch of work-in-progress to shorten the waiting time and thus shorten the allowable retention time. Currently, there are two main methods for dispatching work-in-progress: (1) On-site engineers use reports to query the busyness of the machines in each process, and schedule the work-in-progress based on experience and the priority of work-in-progress processing. This method requires on-site engineers to pay attention to the processing and operation of the production line at all times, and relies on manual experience and judgment. It not only wastes manpower, but also increases the risk of exceeding the allowable time (i.e., the upper limit of the allowable retention time). If the allowable time is exceeded, the product yield may decrease or even be scrapped. (2) Using RTD (Real Time Dispatching), engineers input parameter a into RTD based on their experience and production line processing capacity. RTD generates a dispatch list and dispatches work based on the constraints of input parameter a. Input parameter a can be the maximum number of work-in-progress processed or to be processed in each process. This method is more difficult to determine input parameter a, which will affect the rationality of dispatching work. In addition, this method mainly generates a dispatch list based on the idle time of the machine and the processing technology. However, practice has shown that this dispatching method cannot fully utilize the production capacity of the machine.

[0004] Accordingly, this field requires a new technical solution to solve the above problems. Summary of the Invention

[0005] In order to overcome the above-mentioned defects, the present application is proposed to solve or at least partially solve the following technical problem: how to dispatch work in progress to shorten the waiting time for work in progress, improve processing efficiency and ensure product yield.

[0006] In a first aspect, a method for dispatching work is provided, the method comprising:

[0007] Initializing a membrane structure, the membrane structure including a surface membrane and multiple basic membranes, the surface membrane and each basic membrane respectively running a different particle swarm algorithm;

[0008] Initializing particle populations corresponding to the surface film and each basic film respectively, wherein each particle in the particle population represents a set of work dispatch information, wherein the work dispatch information includes the processing start time and processing machine of each batch of work-in-progress in each process;

[0009] Obtaining preset processing time information, wherein the processing time information includes the time required for each batch of work-in-progress to be processed using different machines in each process;

[0010] Based on the processing time information and the optimization target, the surface film and each basic film are controlled to respectively use the particle swarm algorithm to perform M1 iterative optimization on the particles in their corresponding particle populations, M1>1, and after each iterative optimization is completed, inter-membrane communication is performed between the surface film and each basic film based on the communication rule;

[0011] After completing the M1 iterations of optimization, the optimal particle in all particle populations is obtained, and a work order list for the work in progress is determined based on the optimal particle.

[0012] Among them, the optimization goal is to minimize the total time required to process all work-in-progress based on the particles; the communication rule is: if the first optimal particle in the particle population corresponding to the basic membrane is better than the second optimal particle in the particle population corresponding to the surface membrane, then the second optimal particle is replaced by the first optimal particle.

[0013] In one technical solution of the above-mentioned dispatching method, the search space dimension of the particle population is D=N w ×S,N w represents the total number of batches of work-in-progress, S represents the total number of processes, and the spatial position of the particle in the search space represents the work dispatch information;

[0014] Replacing the second optimal particle with the first optimal particle includes: replacing the spatial position of the second optimal particle with the spatial position of the first optimal particle.

[0015] In one technical solution of the above-mentioned dispatching method, the surface film and each basic film are controlled to perform M1 iterations of optimization on particles in their corresponding particle populations using their own running particle swarm algorithms, including:

[0016] Dividing the M1 iterative optimization into n consecutive groups of iterative optimization, each group of iterative optimization includes multiple iterative optimizations, n is the total number of the basic membranes, n≥2;

[0017] For the 1st to n-1th iterative optimization groups, after completing each group of iterative optimization, respectively obtain the basic membrane with the smallest memory factor and control the basic membrane to stop running the particle swarm algorithm in all subsequent iterative optimizations;

[0018] The memory factor is used to record the number of times the first optimal particle in the particle population corresponding to the basic membrane is replaced in the particle population corresponding to the surface membrane in each set of iterative optimization.

[0019] In one technical solution of the above-mentioned work dispatching method, before performing the M1 iteration optimization, the method further includes:

[0020] The surface film and each basic film are controlled to use their own running particle swarm algorithm to perform M0 iteration optimization on the particles in their corresponding particle populations, 1 <M0<M1;

[0021] Wherein, the inter-membrane communication is not performed after each iterative optimization of the M0 iterative optimization is completed.

[0022] In one technical solution of the above-mentioned dispatching method, the method further comprises controlling the surface film and the basic film to optimize the particles in the following manner:

[0023] Using a particle swarm algorithm, the particles are optimized based on preset constraints, the processing time information, and the optimization goal;

[0024] The constraint condition includes at least one of the following conditions:

[0025] The first condition is used to constrain that at each moment, the same batch of work-in-progress can only be processed on one machine in a process;

[0026] The second condition is used to constrain each batch of work-in-progress to be processed on only one machine at a time;

[0027] The third condition is used to constrain the same batch of work-in-progress to be processed in the order of the two adjacent processes;

[0028] The fourth condition is used to constrain the allowed retention time of each work-in-progress to not exceed a preset time. The allowed retention time is the total time from the completion of the first process to the start of the last process of the work-in-progress.

[0029] In one technical solution of the above-mentioned work dispatching method, the first condition is expressed as: N w and v represent the total number of batches and batch numbers of products, respectively; S and u represent the total number of processes and process numbers, respectively; x v,u =1 means the vth batch of work-in-progress is in the uth process, x v,u =0 means that the vth batch of work-in-progress is not in the uth process;

[0030] The second condition is expressed as: m u and k represent the total number of machines and machine serial numbers in the u-th process, respectively. v,u,k =1 means the vth batch of work-in-progress is processed on the kth machine in the uth process, y v,u,k =0 means that the vth batch of work-in-progress is not processed on the kth machine in the uth process;

[0031] The third condition is expressed as: It represents the time when the processing of the vth batch of work-in-progress is completed on the kth machine in the uth process. represents the processing start time of the k′th machine in the u+1th process of the vth batch of work-in-progress, k′=1,…,m u+1 , m u+1 is the total number of machines in the u+1th process, u=1,…,S-1;

[0032] The fourth condition is expressed as: It represents the processing start time of the vth batch of work-in-progress on the kth machine in the u=Sth process. represents the time when the processing of the vth batch of work-in-progress is completed on the kth machine in the u=1th process, and T represents the preset time.

[0033] In one technical solution of the above-mentioned work dispatching method, the constraint condition further includes at least one of the following conditions:

[0034] The fifth condition is used to constrain that the earlier the WIP is ranked in the first process, the earlier its processing start time will be. The ranking is formed by arranging the processing start times of each batch of WIP in the first process from earliest to latest.

[0035] The sixth condition is used to constrain the work-in-progress with a later ranking in the same process to be processed only after the work-in-progress with an earlier ranking is completed. The ranking is formed by arranging the processing start time of each batch of work-in-progress in the same process from first to last.

[0036] In one technical solution of the above-mentioned work dispatching method, the fifth condition is expressed as: N w and v represent the total number of batches and batch numbers of products in process, respectively. v=l,u =1 and x v=l+1,u =1 respectively means that the v=l and v=l+1 batches of work-in-progress are in the uth process, x v=l,u =0 and x v=l+1,u =0 respectively means that the v=l and v=l+1 batches of work-in-progress are not in the uth process, u=1, l=1,…,N w -1; and They represent the processing start time of the v=l and v=l+1 batches of work-in-progress on the kth machine in the first process respectively;

[0037] The sixth condition is expressed as:

[0038] and They represent the v=l1 and v=l2 batches of work-in-progress in the uth process, and They respectively indicate that the v=l1 and v=l2 batches of work-in-progress are not in the uth process, l1≤l2, l1,l2=1,…,N w ;

[0039] It means that the batch v=l1 of work-in-progress is processed by the kth machine in the uth process. It means that the v=l1th batch of work-in-progress is not processed by the kth machine in the uth process;

[0040] It means that the batch v=l2 of work-in-progress is processed by the k″th machine in the uth process. Indicates that the v=l2th batch of work-in-progress is not processed on the k″th machine in the uth process, k, k″=1,…,m u , m u is the total number of machines in the u-th process;

[0041] It represents the time when the v=l1th batch of work-in-progress is completed by the kth machine in the uth process. It represents the processing start time of the v=l2th batch of work-in-progress on the k″th machine in the uth process;

[0042] W represents a constant and W is greater than a set threshold.

[0043] In a second aspect, an electronic device is provided, comprising at least one processor; and a memory communicatively connected to the at least one processor; wherein a computer program is stored in the memory, and when the computer program is executed by the at least one processor, the method described in any one of the technical solutions provided in the first aspect is implemented.

[0044] In a third aspect, a computer-readable storage medium is provided, wherein a plurality of program codes are stored in the computer-readable storage medium, wherein the program codes are suitable for being loaded and run by a processor to execute the method described in any one of the technical solutions provided in the first aspect.

[0045] The above one or more technical solutions of this application have at least one or more of the following beneficial effects:

[0046] In a technical solution for implementing the dispatching method provided by the present application, the method includes the following steps: initializing a membrane structure, the membrane structure includes a surface membrane and multiple basic membranes, and the surface membrane and each basic membrane respectively run different particle swarm algorithms; respectively initializing the particle populations corresponding to the surface membrane and each basic membrane, and each particle in the particle population represents a set of dispatching information, and the dispatching information includes the processing start time and processing machine of each batch of work-in-progress in each process; obtaining preset processing time information, and the processing time information includes the time for each batch of work-in-progress to complete processing using different machines in each process; based on the processing time information and the optimization target, controlling the surface membrane and each basic membrane The basic membranes use their own particle swarm algorithms to perform M1 iterative optimization on the particles in their corresponding particle populations, M1>1, and after each iterative optimization is completed, inter-membrane communication is performed between the surface membrane and each basic membrane based on the communication rule; after completing M1 iterative optimization, the optimal particle in all particle populations is obtained, and the work list of the work-in-progress is determined based on the optimal particle; the optimization goal is to minimize the total time required to complete the processing of all work-in-progress based on the particles; the communication rule is that if the first optimal particle in the particle population corresponding to the basic membrane is better than the second optimal particle in the particle population corresponding to the surface membrane, the second optimal particle is replaced by the first optimal particle.

[0047] The above implementation scheme optimizes particles with the goal of minimizing the total processing time (i.e., the optimization goal), and particles represent a group of dispatching information. Therefore, the above implementation scheme optimizes each group of dispatching information with the goal of minimizing the total processing time, thereby determining the optimal dispatching information, that is, processing the work-in-progress according to the optimal dispatching information, and the total time consumed is minimized. This is equivalent to shortening the waiting time for processing of each batch of work-in-progress. The shortening of the waiting time for processing will reduce the allowable retention time, thereby improving processing efficiency and ensuring product yield.

[0048] The above implementation scheme performs inter-membrane communication between the surface membrane and each basic membrane based on the communication rules after each iterative optimization is completed, which can prevent the optimal particles in the surface membrane from falling into the local optimal solution, improve the accuracy and efficiency of the surface membrane in obtaining the optimal particles, and thus improve the accuracy and efficiency of determining the work dispatch list; in addition, since there is no inter-membrane communication between the basic membranes, this can ensure the evolutionary diversity of the optimal particles in each basic membrane, improve the accuracy and efficiency of the entire membrane structure in obtaining the optimal particles, and further improve the accuracy and efficiency of determining the work dispatch list.

[0049] In addition, the above implementation plan does not require on-site engineers to always pay attention to the processing and operation of the production line, nor does it rely on manual experience and judgment, which can avoid waste of manpower. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] The disclosure of this application will become more easily understood with reference to the accompanying drawings. Those skilled in the art will readily understand that these drawings are for illustrative purposes only and are not intended to limit the scope of protection of this application. in:

[0051] Figure 1 This is a schematic diagram of the allowed retention time of the product during processing;

[0052] Figure 2 This is a flow chart of the main steps of a method for dispatching work according to an embodiment of the present application;

[0053] Figure 3 is a schematic diagram of the membrane structure evolution according to one embodiment of the present application;

[0054] Figure 4 1 is a flow chart of the main steps of a particle optimization method according to an embodiment of the present application;

[0055] Figure 5 This is a flowchart of the main steps for obtaining optimal work dispatch information according to an embodiment of the present application;

[0056] Figure 6 is a schematic diagram of the operation of a membrane structure according to an embodiment of the present application;

[0057] Figure 7 is a schematic diagram of inter-membrane communication according to one embodiment of the present application;

[0058] Figure 8 is a schematic diagram of an application scenario according to an embodiment of the present application;

[0059] Figure 9 It is a schematic diagram of the main structure of an electronic device according to an embodiment of the present application.

[0060] Reference numerals:

[0061] 11: Memory; 12: Processor. DETAILED DESCRIPTION

[0062] Some embodiments of the present application are described below with reference to the accompanying drawings. Those skilled in the art should understand that these embodiments are only used to explain the technical principles of the present application and are not intended to limit the scope of protection of the present application.

[0063] Here we first explain some terms involved in this application.

[0064] The original PSO (Particle Swarm Optimization) algorithm, the standard PSO algorithm, the MPSO (Median-oriented PSO) algorithm, and the MFPSO (MultiForce Particle Swam Optimization) algorithm are all conventional particle swarm optimization algorithms. The original PSO algorithm is an evolutionary computing technique proposed by Dr. Eberhart and Dr. Kennedy in 1995 based on the predatory behavior of bird flocks. The standard PSO algorithm is a particle swarm algorithm based on the original PSO algorithm. The standard PSO algorithm can adaptively adjust the inertia weight to improve computational performance. The MPSO algorithm uses the median position information of particles to average the attractive forces between particle swarms, accelerating the global search of the entire search space and improving the algorithm's convergence speed. The MFPSO algorithm is divided into three periods: the early, middle, and late periods. It uses a staged multi-force rule. The corresponding three periods adopt three force rules: single repulsion, balanced repulsion, and single attraction. The algorithm's optimization performance is improved by the force rule. The algorithm has great advantages in solving problems with high population dimensions.

[0065] Membrane computing (MC) was proposed in 1998 by Romanian scientist Pǎun, a member of the European Academy of Sciences. It is also known as a membrane system or P-system. The outermost layer of membrane computing is a surface membrane, and the single membrane within the surface membrane is called a basic membrane.

[0066] The following describes an embodiment of the work dispatching method provided in this application.

[0067] See attached Figure 2 , Figure 2 This is a flow chart of the main steps of the dispatching method according to an embodiment of the present application. Figure 2 As shown, the work dispatching method in the embodiment of the present application mainly includes the following steps S101 to S105.

[0068] Step S101: Initialize the membrane structure, which includes a surface membrane and multiple basic membranes. The surface membrane and each basic membrane run different particle swarm algorithms.

[0069] The membrane structure in this embodiment is constructed based on membrane calculation, that is, the membrane structure refers to the material exchange model between blood and tissue cells. Figure 3 As shown in the material exchange model between blood and tissue cells, red blood cells and tissue cells exchange oxygen, nutrients, carbon dioxide and other waste substances. Based on this material exchange model, a membrane structure consisting of a surface membrane and multiple basic membranes is obtained. For example, Figure 3 The middle surface membrane is membrane 1, and the multiple basic membranes are membrane 2, membrane 3 and membrane 4.

[0070] Each particle swarm algorithm in this embodiment adopts a conventional particle swarm optimization algorithm. In some embodiments, the surface membrane runs the standard PSO algorithm, and the number of basic membranes is 3. These three basic membranes run the original PSO algorithm, the MPSO algorithm, and the MFPSO algorithm respectively. Since the standard PSO algorithm has a high computational effect, applying it to the surface membrane can coordinate the computational effect of the entire membrane structure; the original PSO algorithm has the characteristics of randomness and diversity. Applying it to a basic membrane can effectively prevent the basic membrane from falling into a local optimal solution; the MPSO algorithm has the characteristics of fast convergence speed. Applying it to a basic membrane can enable the basic membrane to quickly find the optimal solution; the MFPSO algorithm has great advantages in solving problems with high particle population dimensions. When the number of work-in-progress is relatively large, applying the MFPSO algorithm to a basic membrane can enable the MFPSO algorithm to reliably find the optimal solution. For example, the work-in-progress is a semiconductor device (such as a wafer).

[0071] Step S102: Initialize the particle populations corresponding to the surface film and each basic film. Each particle in the particle population represents a set of work dispatch information, which includes the start time and processing machine for each process step of each batch of WIP. For example, if the WIP is a wafer, the processes may include photolithography, etching, film formation, ion implantation, etc. A machine may be undergoing maintenance, during which time the WIP cannot be processed. The processing machine in the work dispatch information refers to the machine not under maintenance.

[0072] In some embodiments, the search space dimension of the particle population is D=N w ×S,N w represents the total number of batches of work-in-progress, S represents the total number of processes, and the spatial position of the particle in the search space represents the dispatch information. The spatial position of the particle can be expressed as a matrix P in the following form.

[0073] v is the batch number of the work in progress, u is the process number, p uv In some embodiments, the dispatch information also includes the processing completion time of each batch of work-in-progress in each process, that is, p uv The displayed information also includes the time when the processing is completed.

[0074] Step S103: obtaining preset processing time information, where the processing time information includes the time required for each batch of work-in-progress to be processed using different machines in each process.

[0075] The processing time of the work-in-progress may be different when it is processed in different processes. Even in the same process, if it is processed on different machines, the processing time may also be different. When obtaining the preset processing time information, it is possible to determine which machines are used in each process, and then obtain the time required for the work-in-progress to be processed on each machine in each process. For each machine, the time required by the machine can be the average time the machine has taken to process the work-in-progress in the past preset time. For example, the preset time can be 3 months. In the embodiment provided in the present application, after the work-in-progress is started on the machine, the entire process cannot be stopped without special circumstances. Therefore, the processing delay time caused by the machine abnormality has been reflected in the above-mentioned preset time, that is, the preset time includes the processing delay time.

[0076] Step S104: Based on the processing time information and the optimization target, the surface film and each basic film are controlled to use their own running particle swarm algorithm to perform M1 iterative optimization on the particles in their corresponding particle populations, M1>1, and after each iterative optimization is completed, inter-membrane communication is performed between the surface film and each basic film based on the communication rules.

[0077] Particles represent work dispatch information, and particle optimization includes optimizing this dispatch information. The goal of iterative optimization is to minimize the total time required to process all work-in-process (WIP) based on the particles. Particle-based processing involves processing each batch of WIP according to the dispatch information represented by the particles.

[0078] The exchange rule is: if the first best particle in the particle population corresponding to the basic membrane is better than the second best particle in the particle population corresponding to the surface membrane, then the second best particle is replaced by the first best particle; if the first best particle is not better than the second best particle, then there is no need to replace the second best particle with the first best particle. Figure 3 The surface membrane and the basic membrane can communicate with each other through the carrier. The basic membrane can give its own first optimal particle to the carrier for replication, and the carrier will transport the replicated first optimal particle to the surface membrane; if the first optimal particle is better than the second optimal particle, the surface membrane will absorb the first optimal particle and replace the second optimal particle of the surface membrane with the first optimal particle; if the first optimal particle is not better than the second optimal particle, the carrier can swallow (or eliminate) the first optimal particle it carries.

[0079] The first-best particle is superior to the second-best particle if the total processing time for all work-in-progress using the first-best particle is less than the total processing time for all work-in-progress using the second-best particle. Furthermore, since there are multiple base membranes, inter-membrane communication can be performed sequentially between the surface membrane and each base membrane. If the second-best particle in the surface membrane is replaced by the first-best particle after a certain inter-membrane communication, a new second-best particle is formed. This new second-best particle will then be used for inter-membrane communication with the next base membrane during the next inter-membrane communication.

[0080] Through inter-membrane communication, the surface membrane can have the optimal particle in the entire membrane structure after each iterative optimization, that is, the total time to process all work-in-progress based on this particle is the shortest.

[0081] Step S105: After completing M1 iterations of optimization, the optimal particle in all particle populations is obtained, and the work dispatch list of the work in progress is determined based on the optimal particle.

[0082] The dispatch list contains the dispatch information represented by the optimal particle. In addition, the dispatch list can also include the processing completion time of each batch of work-in-progress in each process.

[0083] The method described in steps S101 to S105 above has the following technical effects:

[0084] (1) The particles are optimized with the goal of minimizing the total processing time, and the particles represent a set of dispatching information. Therefore, the above method actually optimizes each set of dispatching information with the goal of minimizing the total processing time, thereby determining the optimal dispatching information, shortening the waiting processing time of each batch of work-in-progress, and shortening the waiting processing time will reduce the allowed retention time, thereby improving processing efficiency and ensuring product yield. The work-in-progress that is dispatched using the dispatching method provided by this application can be understood as work-in-progress with an allowed retention time limit. Attribute marks (such as mark B) can be added to these work-in-progress, while work-in-progress without an allowed retention time limit will not have attribute marks added. For these work-in-progress, RTD (Real Time Dispatching) can be used to uniformly dispatch work, wherein the work-in-progress with the attribute mark added has the highest priority. At the beginning of processing, the work-in-progress with the attribute mark added has the same right to be processed. After all the work-in-progress with the highest priority are processed or dispatched, the work-in-progress without the attribute mark added will be processed. For those work-in-progress products that do not have attribute flags added, RTD can also add attribute flags to them so that they also have the highest priority.

[0085] (2) After each iterative optimization is completed, inter-membrane communication is performed between the surface membrane and each basic membrane based on the communication rules, which can prevent the optimal particles in the surface membrane from falling into the local optimal solution, improve the accuracy and efficiency of the surface membrane in obtaining the optimal particles, and thus improve the accuracy and efficiency of determining the work list; in addition, no inter-membrane communication is performed between the basic membranes, which can ensure the evolutionary diversity of the optimal particles in each basic membrane, improve the accuracy and efficiency of the entire membrane structure in obtaining the optimal particles, and further improve the accuracy and efficiency of determining the work list.

[0086] The following continues to describe an embodiment of the work dispatching method provided in this application, specifically describing the above-mentioned step S104.

[0087] According to the aforementioned step S102, in some embodiments, the spatial position of the particle in the search space represents the dispatch information. Based on this, in some embodiments of the aforementioned step S104, when the second optimal particle is replaced by the first optimal particle, the spatial position of the second optimal particle can be replaced by the spatial position of the first optimal particle. However, the speed of the second optimal particle in the search space (i.e., the search space of the particle population corresponding to the surface membrane) is still the speed of the second optimal particle itself, and is not the speed of the first optimal particle in the search space (i.e., the search space of the particle population corresponding to the basic membrane). Please refer to the attached Figure 3The carrier in the membrane structure can only copy the spatial position of the first optimal particle and communicate the spatial position of the first optimal particle to the surface membrane. The speed of the particle in the search space is a common concept in the particle swarm algorithm, and this embodiment will not be repeated in detail.

[0088] Through the above implementation, when the surface membrane runs the particle swarm algorithm, the second optimal particle of the surface membrane can still be optimized according to the original speed, so that the second optimal particle can represent better dispatching information while minimizing the change to the second optimal particle.

[0089] In some embodiments of the above step S104, when the surface film and each basic film are controlled by using the particle swarm algorithm to perform M1 iterations on the particles in their respective particle populations, the following method can be used: Figure 4 The following steps S1041 to S1042 are shown.

[0090] Step S1041: Divide the M1 iteration optimization into n consecutive groups of iteration optimization, each group of iteration optimization including multiple iteration optimizations, where n is the total number of basic membranes, and n≥2. The number of iterations in each group of iteration optimization can be the same or different.

[0091] For example, M1=450, n=3, the first group includes M11=100 iterative optimizations, the second group includes M12=200 iterative optimizations, and the third group includes M13=150 iterative optimizations.

[0092] Step S1042: For the 1st to n-1th groups of iterative optimization, after completing each group of iterative optimization, obtain the basic membrane with the smallest memory factor and control the basic membrane to stop running the particle swarm algorithm in all subsequent iterative optimizations. This operation can also be understood as performing membrane elimination processing on the basic membrane with the smallest memory factor.

[0093] The memory factor is used to record the number of times the first optimal particle in the particle population corresponding to the basic membrane is replaced in the particle population corresponding to the surface membrane in each set of iterative optimization.

[0094] In some embodiments, for the nth group of iterative optimizations, after each iterative optimization is completed, no inter-membrane communication may be performed between the surface membrane and the base membrane.

[0095] See the attached Figure 3Similar to the example in step S1041, the basic membranes include membrane 1, membrane 2, and membrane 3. After completing the first set of iterative optimizations, the first optimal particle of membrane 1 in 5 iterative optimizations is replaced into the corresponding particle population of the surface membrane. That is, the memory factor of membrane 1 is 10. Similarly, the memory factor of membrane 2 is 5, and the memory factor of membrane 3 is 6. It can be seen that after completing the first set of iterative optimizations, the memory factor of membrane 2 is the smallest. Then, in the second and third sets of iterative optimizations, membrane 2 will not run the particle swarm algorithm to optimize the particles in the corresponding particle population of membrane 2.

[0096] In some embodiments, there may be multiple basic membranes with the smallest memory factor. For example, the memory factors of membrane 2 and membrane 3 are both 5. Then, one can be randomly selected from these basic membranes for membrane elimination processing. Alternatively, different priorities can also be set for each basic membrane. The higher the priority, the more important it is. One with the smallest priority is selected from these basic membranes for membrane elimination processing.

[0097] Based on the method described in the above steps S1041 to S1042, membrane elimination processing can be performed on basic membranes with poor capabilities in a timely manner, thereby shortening the time for the membrane structure to obtain the optimal particle as much as possible, and then improving the efficiency of obtaining the optimal dispatching information.

[0098] In some embodiments of the above step S104, before controlling the surface membrane and each basic membrane to perform M1 iterative optimizations, the surface membrane and each basic membrane can also be controlled to perform M0 iterative optimizations on the particles in their respective corresponding particle populations using their respective running particle swarm algorithms, where 1 < M0 < M1. After each iterative optimization in the M0 iterative optimizations, membrane - to - membrane communication is not performed. For example, M1 = 450 and M0 = 50. Among them, the method of membrane - to - membrane communication is the same as the method of membrane - to - membrane communication based on the communication rules in the前述 step S104. During the 1st to M0th iterative optimizations, there is no membrane - to - membrane communication. This process can be understood as the early stage of evolution. The surface membrane and each basic membrane evolve separately in the early stage of evolution, giving full play to the advantages of their respective running particle swarm algorithms. When the M0th iterative optimization is completed, the surface membrane and each basic membrane can reflect the advantages of their respective algorithms. During the (M0 + 1)th to M1th iterative optimizations, membrane - to - membrane communication will be performed. This process can be understood as the late stage of evolution. The surface membrane and each basic membrane exchange their optimal particles in the late stage of evolution.

[0099] Next, the embodiments of the dispatching method provided by this application will be further described. It is still a description of the above step S104.

[0100] In some embodiments of the above step S104, when controlling the surface membrane and each basic membrane to perform each iterative optimization on the particles, the particles can also be optimized in the following manner:

[0101] A particle swarm algorithm (PSO) is used to optimize particles based on preset constraints, processing time information, and optimization objectives. For a surface membrane, the PSO algorithm is used to control the surface membrane. Based on preset constraints, processing time information, and optimization objectives, the particles in the corresponding particle population are optimized. For a base membrane, the PSO algorithm is used to control the base membrane. Based on preset constraints, processing time information, and optimization objectives, the particles in the corresponding particle population are optimized. Similar methods are used for other base membranes.

[0102] Applying these constraints during optimization can further improve the efficiency of obtaining optimal particles for both the surface film and each base film. This also facilitates obtaining better optimal particles, meaning that the total time required to complete all work-in-progress products based on the optimal particles is shortened. Constraints include at least one of the first, second, third, and fourth conditions, each of which is described below.

[0103] The first condition is to constrain that at each moment, the same batch of work-in-progress can only be processed on one machine in a process. In other words, at each moment, the same batch of work-in-progress cannot appear in different processes, nor can it be processed on different machines in the same process.

[0104] The second condition is used to constrain that each batch of work-in-progress can only be processed on one machine at a time, that is, each work-in-progress in the same batch cannot be processed on different machines at any time.

[0105] The third condition constrains the same batch of work-in-progress to be processed sequentially between two adjacent processes. In other words, for two adjacent processes, the same batch of work-in-progress must be processed in the previous process before being processed in the next process.

[0106] The fourth condition is used to constrain the allowed retention time of each work-in-progress to not exceed the preset time. The allowed retention time is the total time from the completion of the first process to the start of the last process. The preset time can also be understood as the upper limit of the allowed retention time. Figure 1 Taking the 6 steps shown as an example, the first step is Step 1 and the last step is Step 6. The allowed retention time is the total time between Job Out and Job In.

[0107] In some embodiments of step S104, to facilitate particle optimization based on preset constraints for the surface film and each basic film, the constraints can be expressed as mathematical expressions. This allows the mathematical representation of each constraint to be directly used during particle optimization. The representation of the first through fourth constraints is described below.

[0108] 1. Explain how to express the first condition.

[0109] The first condition can be expressed as the following formula (1).

[0110]

[0111] Where v = 1, 2, ..., N w ,u=1,2,…,S。 N w and v represent the total number of batches and batch numbers of products, respectively; S and u represent the total number of processes and process numbers, respectively; x v,u =1 means the vth batch of work-in-progress is in the uth process, x v,u =0 means that the vth batch of work-in-progress is not in the uth process.

[0112] 2. Explain how to express the second condition.

[0113] The second condition can be expressed as the following formula (2).

[0114]

[0115] Where v = 1, 2, ..., N w ,u=1,2,…,S,k=1,2,…,m u .

[0116] m u and k represent the total number of machines and machine serial numbers in the u-th process, respectively. v,u,k =1 means the vth batch of work-in-progress is processed on the kth machine in the uth process, y v,u,k =0 means that the vth batch of work-in-progress is not processed on the kth machine in the uth process.

[0117] 3. Explain how to express the third condition.

[0118] The third condition can be expressed as the following formula (3).

[0119]

[0120] Where v = 1, 2, ..., N w ,u=1,…,S-1,k=1,2,…,m u , k′=1,…,m u+1 , m u+1 is the total number of machines in the u+1th process. It represents the time when the processing of the vth batch of work-in-progress is completed on the kth machine in the uth process. It represents the processing start time of the k′th machine in the u+1th process of the vth batch of work-in-progress.

[0121] In some embodiments, It represents the processing start time of the kth machine in the uth process of the vth batch of work-in-progress. It represents the processing time of the vth batch of work-in-progress on the kth machine in the uth process. It represents the adjustment time of the vth batch of work-in-progress on the kth machine in the uth process, This represents the processing time of batch v of work-in-process (WIP) on the kth machine in the uth process. Before a machine can process WIP, it must be debugged. The time spent on debugging is considered the machine setup time. For example, if debugging involves warming up a machine, the time spent on warming up is considered the machine setup time.

[0122] 4. Explain how to express the fourth condition.

[0123] The fourth condition can be expressed as the following formula (4).

[0124]

[0125] Where v = 1, 2, ..., N w ,u=1,…,S-1,k=1,2,…,m u .

[0126] It represents the processing start time of the vth batch of work-in-progress on the kth machine in the u=Sth process. It represents the time when the processing of the vth batch of work-in-progress is completed on the kth machine in the u=1th process. Indicates the allowed retention time, and T indicates the preset time.

[0127] The following continues to describe the embodiment of the work dispatching method provided in this application, still describing the above-mentioned step S104.

[0128] In some implementations of the above step S104, when optimizing particles based on preset constraints and according to processing time information and optimization objectives, the constraints may further include at least one of a fifth condition and a sixth condition, which are described below.

[0129] The fifth condition is used to constrain that the earlier the ranking of the work-in-process in the first process, the earlier the processing start time of the work-in-process. The ranking is formed by arranging the processing start times of each batch of work-in-process in the first process from early to late, that is, the earliest the processing start time, the earlier the ranking.

[0130] The sixth condition constrains that later-ranked WIP within the same process can only be processed after earlier-ranked WIP has completed. This ranking is determined by arranging the processing start times of each batch of WIP within the same process from earliest to latest. This same process includes the first process. For any two batches of WIP, regardless of whether they are processed on the same machine or on different machines within the same process, the later-ranked WIP can only be processed after the earlier-ranked WIP has completed processing.

[0131] In some implementations of the above step S104, in order to facilitate the optimization of particles based on preset constraints for the surface film and each basic film, the fifth and sixth conditions may also be expressed. The fifth and sixth expressions are described below.

[0132] 1. Explain how to express the fifth condition.

[0133] The fifth condition can be expressed as the following formula (5).

[0134]

[0135] Where v = 1, 2, ..., N w , u=1,l=1,…,N w -1, k=1,2,…,m1, m1 is the total number of machines in the first process.

[0136] N w and v represent the total number of batches and batch numbers of products in process, respectively. v=l,u =1 and x v=l+1,u =1 respectively means that the v=l and v=l+1 batches of work-in-progress are in the uth process, x v=l,u =0 and x v=l+1,u =0 respectively means that the v=l and v=l+1 batches of work-in-progress are not in the uth process, l=1,…,N w -1; and They represent the processing start time of the v=l and v=l+1 batches of work-in-progress on the kth machine in the first process respectively.

[0137] 2. Explain how to express the sixth condition.

[0138] The sixth condition can be expressed as the following formula (6).

[0139]

[0140] Where v = 1, 2, ..., N w , u=1,…,S, l1≤l2, l1,l2=1,…,Nw ,k,k″=1,…,m u , m u is the total number of machines in the u-th process.

[0141] and They represent the v=l1 and v=l2 batches of work-in-progress in the uth process, and It respectively indicates that the v=l1 and v=l2 batches of work-in-progress are not in the uth process.

[0142] It means that the batch v=l1 of work-in-progress is processed by the kth machine in the uth process. It means that the v=l1th batch of work-in-progress is not processed by the kth machine in the uth process. It means that the batch v=l2 of work-in-progress is processed by the k″th machine in the uth process. It means that the v=l2th batch of work-in-progress is not processed on the k″th machine in the uth process.

[0143] It represents the time when the v=l1th batch of work-in-progress is completed by the kth machine in the uth process. It indicates the processing start time of the v=l2th batch of work-in-progress on the k″th machine in the uth process.

[0144] W represents a constant and W is greater than a set threshold. W can be understood as a large number in the field of mathematical technology, that is, W is a number with a very large value.

[0145] The following is combined with Figure 5 To the attached Figure 7 , an embodiment of the work dispatching method provided in this application is described. Specifically, in this embodiment, there are 8 batches of work-in-process (i.e., Lot1 to Lot8) with a permitted retention time limit, with an upper limit of 500 minutes. These 8 batches of work-in-process must go through processes 1 to 6 (i.e., Step 1 to Step 6). The machines used in each process, as well as the processing time required for each batch of work-in-process to be completed using different machines in each process (i.e., the processing time information preset in the aforementioned step S103), are shown in Table 1 below. Table 1

[0146] Based on the processing times shown in Table 1, if we use the existing method of assigning work based on machine idle time (i.e., whichever machine becomes idle first is assigned to the first machine to process), we can obtain the results shown in Table 2 below. Here, Ts represents the start time, and Te represents the end time, both in minutes. Table 2

[0147] As shown in Table 2, according to the existing method, it takes 535 minutes to complete the processing of 8 batches of work-in-progress. The processing time of Lot7 in Step 6 (Step 6) is completed at 517 minutes, and the processing time of Lot8 in Step 6 (Step 6) is completed at 535 minutes. The processing time of Lot7 and Lot8 exceeds the upper limit of the allowable retention time of 500 minutes. Both batches of products will be scrapped due to exceeding this limit.

[0148] The following describes the process of determining the work list using the work dispatching method of this application. The initialized membrane structure includes 1 surface membrane and 3 basic membranes. The surface membrane runs the standard PSO algorithm, and the 3 basic membranes run the original PSO algorithm, MPSO algorithm and MFPSO algorithm respectively. Figure 5 As shown, an optimal set of work dispatch information is obtained through the following steps S201 to S211.

[0149] Step S201: Initialize the particle populations corresponding to the surface film and the three basic films respectively.

[0150] Each particle population includes 10 examples, and the search space dimension of the particle population is D = N w ×s = 8 × 6 = 48. Each particle has a position vector, a velocity vector, and a fitness value. The position vector represents the particle's spatial position within the search space, the velocity vector represents the particle's movement speed within the search space, and the fitness value indicates the particle's quality. The position vector, velocity vector, and fitness value are all common concepts in the particle swarm algorithm and will not be explained here. The upper limit of a particle's spatial position in the search space is popmax = 0.5, the lower limit is popmax = -0.5, the upper limit of its velocity is Vmax = 0.5, and the lower limit is Vmax = -0.5.

[0151] The dispatch information represented by the particles includes the start time and processing machine for each process step of each batch of work-in-process. Taking the processing machine as an example, the processing machine for each batch of work-in-process represented by the particles can be represented as the matrix A in the following form.

[0152] v is the batch number of the work in progress, u is the process number, auv Indicates the processing machine of the vth batch of work-in-progress in the uth process.

[0153] Step S202: The surface film and each basic film respectively use their own running particle swarm algorithm to iteratively optimize the particles in their corresponding particle populations.

[0154] Specifically, for any one of the surface films and the basic films, the particle swarm algorithm running on its own is used to iteratively optimize the particles based on the processing time information shown in expression 1, the constraints shown in formulas (1) to (6), and the optimization goal (based on the total time for the particles to process all the work-in-progress to be the shortest).

[0155] Step S203: Determine whether the number of iterations reaches M0, M0=50; if so, go to step S204; if not, go to step S202 and continue iterative optimization.

[0156] Step S204: Control the surface membrane and each basic membrane to iteratively optimize the particles in their respective particle populations using their own running particle swarm algorithms, and perform inter-membrane communication between the surface membrane and each basic membrane based on the communication rules after each iterative optimization is completed.

[0157] Step S205: Record the memory factor of each basic membrane.

[0158] Step S206: Determine whether the number of iterations reaches M11, where M11=100; if so, go to step S207; if not, go to step S204 and continue iterative optimization.

[0159] Step S207: performing a de-membrane process on the basic membrane with the smallest memory factor.

[0160] like Figure 6 As shown, the surface membrane is membrane 1, and the three basic membranes are membranes 2 through 4. For the surface membrane, the particle population corresponding to membrane 1 can be initialized and optimized M1 times. After each optimization iteration, the particle population communicates with membranes 2 through 4, and the optimization stops after M1 optimization iterations. For the basic membrane, taking membrane 2 as an example, the particle population corresponding to membrane 2 can be initialized and optimized M1 times. After each optimization iteration, the particle population communicates with membrane 1. If the membrane is eliminated, the optimization stops; if the membrane is not eliminated, the optimization stops after M1 iterations.

[0161] Step S208: Control the surface membrane and the remaining two basic membranes to perform iterative optimization on the particles in their respective particle populations using their own running particle swarm algorithms, and perform inter-membrane communication between the surface membrane and the remaining two basic membranes after each iterative optimization is completed.

[0162] like Figure 7 As shown, Figure 6 As shown, the surface membrane is membrane 1, and the three basic membranes are membranes 2 to 4. During inter-membrane communication, the basic membrane can transfer the spatial position of its own first-best particle to the carrier for replication, and the carrier will transport the replicated spatial position to the surface membrane. If the first-best particle is superior to the spatial position of the second-best particle in the surface membrane, the spatial position of the second-best particle is replaced by the spatial position of the first-best particle. Otherwise, the carrier can engulf (or eliminate) the first-best particle it carries.

[0163] Step S209: Determine whether the number of iterations reaches M12, where M12=200; if so, go to step S207; if not, go to step S210 to continue iterative optimization.

[0164] Step S210: performing a de-membrane process on a basic membrane with the smallest memory factor.

[0165] In addition, the control surface membrane and the remaining basic membrane respectively use their own running particle swarm algorithms to iteratively optimize the particles in their corresponding particle populations, and after each iterative optimization is completed, inter-membrane communication is performed between the surface membrane and the remaining basic membrane.

[0166] Step S211: Determine whether the number of iterations has reached M13, where M13 = 150. If so, obtain the optimal particle from all particle populations. Otherwise, go to step S210 and continue iterative optimization. The total number of iterative optimizations, M = M0 + M11 + M12 + M13 = 500.

[0167] The following describes the process of obtaining the work dispatch information represented by the optimal particle in matrix form. The processing machines for each process step of each batch of work-in-progress represented by the optimal particle are shown in the following matrix A.

[0168]

[0169] The integer digits of each element in the above matrix A represent the serial number of the processing machine. In order to conveniently represent the serial number of the processing machine, the matrix A can be rounded down to obtain the following matrix A′.

[0170]

[0171] Assume a machine matrix M of the following form:

[0172] N w and v represent the total number of batches and batch numbers of products, respectively; D and k represent the total number of machines and machine numbers, respectively; m kv =1 means the vth batch of work-in-progress is processed on the kth machine, mkv = 0 means that the vth batch of work-in-progress is not processed on the kth machine. In this embodiment, N w =8, D=12.

[0173] Based on the results of matrix A′, the machine matrix M can be obtained as shown in the following matrix.

[0174]

[0175] Set up a processing time matrix T as follows P :

[0176] t kv The processing time required for the vth batch of work-in-progress to be processed on the kth machine can be obtained from the processing time information preset in the aforementioned step S103 (as shown in the aforementioned Table 1). Based on the processing time shown in Table 1 and the aforementioned machine matrix M, the processing time matrix T can be obtained as shown in the following matrix: P .

[0177]

[0178] The above steps S201 to S211 are performed according to the optimization goal (the total time of all work-in-progress is minimized based on the particles), and the processing time matrix T is used. P By iteratively optimizing the particles, we can obtain the processing completion time matrix T of each batch of work-in-progress in each process. C .

[0179] t′ kv Indicates the time when the vth batch of work-in-progress is completed on the kth machine. Based on the above processing time matrix T P As a result, the processing completion time matrix T in this embodiment can be obtained. C The results are shown below.

[0180]

[0181] Based on the above processing completion time matrix T C The results of the work assignments are shown in Table 3 below. Ts represents the start time, Te represents the end time, and both are in minutes. Table 3

[0182] As shown in Table 3, the method provided by this application only takes 411 minutes to complete the processing of 8 batches of work-in-progress, which is 124 minutes less than the 535 minutes shown in Table 2. In addition, the processing time of all batches of work-in-progress does not exceed the upper limit of the allowed retention time of 500 minutes. In addition, when the dispatching method of the embodiment of this application is run on MATLAB, a total of 7.521×10 -5 min can get the results in Table 3.

[0183] The following is combined with Figure 8 , an application scenario according to an embodiment of the present application is described. In this application scenario, the work-in-progress is a wafer. This application scenario involves an MES system (Manufacturing Execution System), an RTD system (Real Time Dispatching), an AMA system, and an MCS system (Material Control System). Among them, the AMA system is a system for guiding MES to perform dispatch operations. Specifically, in this application scenario, the MES system is responsible for transmitting work-in-progress and machine information to the RTD system, and transmitting work-in-progress information with Qtime (i.e., allowed retention time) restrictions to the model. The model can run the dispatching method provided in this application, and the model is responsible for determining the dispatching list and transmitting the dispatching list to the RTD system. The RTD system is responsible for transmitting the dispatching results to the MES system based on the dispatching list. After the MES system obtains the dispatching results, it passes Figure 8 The following steps S301 to S303 are shown to dispatch work in progress.

[0184] Step S301: The AMA system accesses the MES system to determine the work-in-process (WIP) to be dispatched. Step S302: The MCS system transports the WIP to the appropriate machine. Step S303: After the WIP is processed, the MCS system transports it to the appropriate machine in the next process step for further processing. Subsequently, returning to step S301, the AMA system accesses the MES system to determine the next batch of WIP to be dispatched, and continues executing steps S302 to S303.

[0185] Based on the above method, the waiting time of each batch of work-in-progress in each process can be shortened, ensuring that the allowed retention time of each batch of work-in-progress is less than or equal to the upper limit. For semiconductor factories, the use of the work dispatching method provided in this application can promote the transformation of semiconductor factories into digital dark factories and meet the needs of semiconductor factories for real-time processing of large quantities of data.

[0186] In some application scenarios, the optimization objective can be modified based on the scenario's requirements. For example, the scenario might require dynamically adjusting the cycle time of work-in-progress (WIP) or adjusting machine capacity utilization. Furthermore, if particle optimization is also performed based on constraints, these constraints can also be modified based on the scenario's requirements.

[0187] It should be pointed out that although the various steps in the above embodiments are described in a specific order, those skilled in the art will understand that in order to achieve the effect of the present application, different steps do not have to be performed in such an order. They can be performed simultaneously (in parallel) or in other orders. These adjusted solutions are equivalent to the technical solutions described in this application, and therefore will also fall within the scope of protection of this application.

[0188] It will be understood by those skilled in the art that all or part of the processes in the method for implementing the above embodiment of the present application can also be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, it can implement the steps of the above-mentioned various method embodiments. The computer program includes computer program code, which can be in source code form, object code form, executable file or some intermediate form. The computer-readable storage medium may include: any entity or device, medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory, random access memory, electric carrier signal, telecommunication signal and software distribution medium, etc. that can carry the computer program code.

[0189] Another aspect of the present application provides a computer-readable storage medium.

[0190] In an embodiment of a computer-readable storage medium according to the present application, the computer-readable storage medium can be configured to store a program for executing the dispatching method of the above-mentioned method embodiment, and the program can be loaded and run by the processor to implement the above-mentioned dispatching method. For ease of explanation, only the parts related to the embodiment of the present application are shown. For specific technical details not disclosed, please refer to the method section of the embodiment of the present application. The computer-readable storage medium can be a storage device formed by various electronic devices. Optionally, the computer-readable storage medium in the embodiment of the present application is a non-transitory computer-readable storage medium.

[0191] Another aspect of the present application provides an electronic device.

[0192] In an embodiment of an electronic device according to the present application, the electronic device may include at least one processor; and a memory connected to the at least one processor; wherein the memory stores a computer program, and when the computer program is executed by the at least one processor, the method described in any of the above embodiments is implemented. Figure 9 , Figure 9 exemplarily shows that the memory 11 and the processor 12 are communicatively connected via a bus.

[0193] The electronic device described in this application may be, but is not limited to, a mobile phone, a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), a server, etc., and the embodiments of this application are not limited to this.

[0194] In the description of this application, a "processor" may include hardware, software, or a combination of both. A processor may be a central processing unit, a microprocessor, a digital signal processor, or any other suitable processor. A processor has data and / or signal processing capabilities. A processor may be implemented in software, hardware, or a combination of both.

[0195] Thus far, the technical solution of the present application has been described in conjunction with an embodiment shown in the accompanying drawings. However, it is readily understood by those skilled in the art that the scope of protection of the present application is obviously not limited to these specific embodiments. Without departing from the principles of the present application, those skilled in the art may make equivalent changes or substitutions to the relevant technical features, and the technical solutions after such changes or substitutions will fall within the scope of protection of the present application.

Claims

1. A method for dispatching work, characterized in that: The method comprises: Initializing a membrane structure, the membrane structure including a surface membrane and multiple basic membranes, the surface membrane and each basic membrane respectively running a different particle swarm algorithm; Initializing particle populations corresponding to the surface film and each basic film respectively, wherein each particle in the particle population represents a set of work dispatch information, wherein the work dispatch information includes the processing start time and processing machine of each batch of work-in-progress in each process; Obtaining preset processing time information, wherein the processing time information includes the time required for each batch of work-in-progress to be processed using different machines in each process; Based on the processing time information and the optimization target, the surface film and each basic film are controlled to respectively use the particle swarm algorithm to perform M1 iterative optimization on the particles in their corresponding particle populations, M1>1, and after each iterative optimization is completed, inter-membrane communication is performed between the surface film and each basic film based on the communication rule; After completing the M1 iterations of optimization, the optimal particle in all particle populations is obtained, and the work list of the work in progress is determined based on the optimal particle; in, The optimization goal is to minimize the total time required to process all work-in-progress based on the particles; The exchange rule is: if the first best particle in the particle population corresponding to the basic membrane is better than the second best particle in the particle population corresponding to the surface membrane, the second best particle is replaced by the first best particle.

2. The method according to claim 1, characterized in that The search space dimension of the particle population is D=N w ×S,N w represents the total number of batches of work-in-progress, S represents the total number of processes, and the spatial position of the particle in the search space represents the work dispatch information; Replacing the second optimal particle with the first optimal particle includes: replacing the spatial position of the second optimal particle with the spatial position of the first optimal particle.

3. The method according to claim 1, characterized in that The controlling of the surface film and each basic film respectively uses the particle swarm algorithm to perform M1 iteration optimization on the particles in the corresponding particle populations, including: Dividing the M1 iterative optimization into n consecutive groups of iterative optimization, each group of iterative optimization includes multiple iterative optimizations, n is the total number of the basic membranes, n≥2; For the 1st to n-1th iterative optimization groups, after completing each group of iterative optimization, respectively obtain the basic membrane with the smallest memory factor and control the basic membrane to stop running the particle swarm algorithm in all subsequent iterative optimizations; The memory factor is used to record the number of times the first optimal particle in the particle population corresponding to the basic membrane is replaced in the particle population corresponding to the surface membrane in each set of iterative optimization.

4. The method according to claim 1, wherein Before performing the M1 iteration optimization, the method further includes: The surface film and each basic film are controlled to use their own running particle swarm algorithm to perform M0 iteration optimization on the particles in their corresponding particle populations, 1 <M0<M1; in, After each iteration of the M0 iteration optimization is completed, the inter-membrane communication is not performed.

5. The method according to any one of claims 1 to 4, characterized in that The method further includes controlling the surface film and the basic film to optimize the particles by: Using a particle swarm algorithm, the particles are optimized based on preset constraints, the processing time information, and the optimization goal; The constraint condition includes at least one of the following conditions: The first condition is used to constrain that at each moment, the same batch of work-in-progress can only be processed on one machine in a process; The second condition is used to constrain each batch of work-in-progress to be processed on only one machine at a time; The third condition is used to constrain the same batch of work-in-progress to be processed in the order of the two adjacent processes; The fourth condition is used to constrain the allowed retention time of each work-in-progress to not exceed a preset time. The allowed retention time is the total time from the completion of the first process to the start of the last process of the work-in-progress.

6. The method according to claim 5, characterized in that The first condition is expressed as: N w and v represent the total number of batches and batch numbers of products, respectively; S and u represent the total number of processes and process numbers, respectively; x v,u =1 means the vth batch of work-in-progress is in the uth process, x v,u =0 means that the vth batch of work-in-progress is not in the uth process; The second condition is expressed as: m u and k represent the total number of machines and machine serial numbers in the u-th process, respectively. v,u,k =1 means the vth batch of work-in-progress is processed on the kth machine in the uth process, y v,u,k =0 means that the vth batch of work-in-progress is not processed on the kth machine in the uth process; The third condition is expressed as: It represents the time when the processing of the vth batch of work-in-progress is completed on the kth machine in the uth process. represents the processing start time of the k′th machine in the u+1th process of the vth batch of work-in-progress, k′=1,…,m u+1 , m u+1 is the total number of machines in the u+1th process, u=1,…,S-1; The fourth condition is expressed as: It represents the processing start time of the vth batch of work-in-progress on the kth machine in the u=Sth process. represents the time when the processing of the vth batch of work-in-progress is completed on the kth machine in the u=1th process, and T represents the preset time.

7. The method according to claim 5, characterized in that The constraint conditions also include at least one of the following conditions: The fifth condition is used to constrain that the earlier the WIP is ranked in the first process, the earlier its processing start time will be. The ranking is formed by arranging the processing start times of each batch of WIP in the first process from earliest to latest. The sixth condition is used to constrain the work-in-progress with a later ranking in the same process to be processed only after the work-in-progress with an earlier ranking is completed. The ranking is formed by arranging the processing start time of each batch of work-in-progress in the same process from first to last.

8. The method according to claim 7, characterized in that The fifth condition is expressed as: N w and v represent the total number of batches and batch numbers of products in process, respectively. v=l,u =1 and x v=l+1,u =1 respectively means that the v=l and v=l+1 batches of work-in-progress are in the uth process, x v=l,u =0 and x v=l+1,u =0 respectively means that the v=l and v=l+1 batches of work-in-progress are not in the uth process, u=1, l=1,…,N w -1; and They represent the processing start time of the v=l and v=l+1 batches of work-in-progress on the kth machine in the first process respectively; The sixth condition is expressed as: and They represent the v=l1 and v=l2 batches of work-in-progress in the uth process, and They respectively indicate that the v=l1 and v=l2 batches of work-in-progress are not in the uth process, l1≤l2, l1,l2=1,…,N w ; It means that the batch v=l1 of work-in-progress is processed by the kth machine in the uth process. It means that the v=l1th batch of work-in-progress is not processed by the kth machine in the uth process; It means that the batch v=l2 of work-in-progress is processed by the k″th machine in the uth process. Indicates that the v=l2th batch of work-in-progress is not processed on the k″th machine in the uth process, k, k″=1,…,m u , m u is the total number of machines in the u-th process; It represents the time when the v=l1th batch of work-in-progress is completed by the kth machine in the uth process. It represents the processing start time of the v=l2th batch of work-in-progress on the k″th machine in the uth process; W represents a constant and W is greater than a set threshold.

9. An electronic device, characterized in that: include: at least one processor; and, a memory communicatively coupled to the at least one processor; Wherein, a computer program is stored in the memory, and when the computer program is executed by the at least one processor, the work dispatching method according to any one of claims 1 to 8 is implemented.

10. A computer-readable storage medium storing a plurality of program codes, characterized in that: The program code is suitable for being loaded and run by a processor to execute the dispatching according to any one of claims 1 to 8.