Method, device and equipment for distributing workers in multi-stage mixed flow shop

Through the improved NSGA-II algorithm, the multi-layer chromosome coding and adaptive mutation strategy are used to solve the problem of unreasonable workers' allocation in the multi-stage mixed flow workshop, achieving more efficient production and more stable product quality.

CN119671122APending Publication Date: 2025-03-21BEIJING INST OF TECH +1
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411719806.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-28
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

The prior art is difficult to effectively allocate workers in multi-stage mixed flow workshops, resulting in low production efficiency, unstable product quality and high production costs.

Method used

Using the improved NSGA-II algorithm, local search and adaptive selection are performed to optimize worker allocation through a multi-layer chromosome encoding worker allocation scheme, combining the cross-operation of worker skill types and adaptive mutation strategies.

Benefits of technology

It improves the rationality of the worker allocation plan, improves the production efficiency of the workshop, ensures product quality, and reduces production costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119671122A_ABST
    Figure CN119671122A_ABST
Patent Text Reader

Abstract

The invention provides a method, a device and equipment for distributing workers in a multi-stage hybrid flow shop. The method comprises the following steps: constructing a scheduling optimization model; initializing a population and an external population of the scheduling optimization model, and encoding individuals in the population and the external population through multiple layers of chromosomes; respectively carrying out crossover operation based on worker skill types and adaptive mutation operation based on various mutation operators to obtain a combined offspring set; performing local search on the combined offspring set through a local search strategy based on a mutation operator to obtain a target offspring set; performing individual selection according to an adaptive selection strategy based on the number of iterations, determining and updating a population and an external population of the next iteration, and adding one to the number of iterations; if the number of iterations is smaller than the preset number of iterations, returning to execute the step of obtaining the combined offspring set; and if the number of iterations is equal to the preset number of iterations, determining the Pareto frontier solution of the population as the output of the scheduling optimization model. And the worker allocation rationality is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of production scheduling, and in particular to a method, device and equipment for allocating workers in a multi-stage mixed flow workshop. Background Art

[0002] In modern manufacturing workshops, especially discrete production workshops dominated by manual assembly, workers' tasks involve all aspects of workshop production tasks, such as product material preparation, production, transportation, inspection, packaging, etc.

[0003] Generally, a hybrid flow-shop (HFS) has multiple production stages, each stage has at least one or more machines for processing, and at least one stage has multiple machines. All workpieces are processed in the same order, and each workpiece can be processed on any machine in its production stage. Since this shop also has multiple production stages, it has parallel production lines and parallel teams in the assembly stage and the debugging stage. The products go through all production stages in the same order, and any team can be selected to perform debugging work in the debugging stage. Therefore, this shop can be regarded as an HFS. However, at this stage, research on HFS mainly focuses on job sequencing and machine selection. Few researchers consider the allocation of workers in HFS, and often ignore the impact of workers on the production process.

[0004] At present, in the actual production process of HFS, the allocation of workers mainly depends on the experience of managers, who assign workers with different skill types to corresponding production stages, and assign workers in each stage to specific workstations. Due to factors such as workers' skill level, age, and learning, different workers need different actual production time to complete the same job. The existing worker allocation method that relies on manual experience is highly subjective and has low accuracy. It is difficult to give a more reasonable worker allocation plan in a short time, especially when facing the multi-stage hybrid flow-shop worker assignment problem (Multi-stage Hybrid Flow-shop Worker Assignment Problem, MHFS-WAP) in a specific multi-stage hybrid flow-shop (such as Figure 7As shown in the figure, it has the characteristics of order-oriented production, multiple production stages, multiple production lines, parallel teams and manual assembly, and has three different types of production stages: (1) Assembly stage. There are multiple parallel production lines in this stage, which are responsible for assembling different types of products; (2) Debugging stage. There are multiple parallel teams in this stage, and any team can be selected for debugging; (3) Packing stage. There is an assembly line in this stage, and workers are responsible for sorting, packing, and packing products in this stage. Therefore, in view of the existing problems in this workshop, it is necessary to study a worker allocation method that is more in line with actual needs and can ensure the rationality of the worker allocation plan, so as to improve the production efficiency of the workshop, ensure product quality and reduce production costs. Summary of the invention

[0005] The technical purpose to be achieved by the embodiments of the present application is to provide a method, device and equipment for allocating workers in a multi-stage mixed assembly line workshop, so as to solve the problem of unreasonable allocation of workers in current mixed assembly line workshops, especially in multi-stage mixed assembly line workshops.

[0006] In order to solve the above technical problems, the embodiment of the present application provides a method for allocating workers in a multi-stage mixed flow shop, including:

[0007] A scheduling optimization model is constructed with minimizing order completion time and worker load balance as the objective function;

[0008] Initializing a population and an external population of the scheduling optimization model, wherein each individual in the population and the external population is a worker allocation scheme and is encoded by a multi-layer chromosome, wherein each layer of chromosomes corresponds to a production stage;

[0009] Performing a crossover operation based on worker skill types and an adaptive mutation operation based on multiple mutation operators on the population and the external population respectively, to obtain a merged offspring set of the population and the external population;

[0010] By using a local search strategy based on the mutation operator, a local search is performed on the merged offspring set to obtain a target offspring set;

[0011] Selecting the target offspring set and the parent generation corresponding to each target offspring in the target offspring set according to an adaptive selection strategy based on the number of iterations, determining and updating the population and the external population for the next iteration, and increasing the number of iterations by one;

[0012] If the number of iterations is less than the preset number of iterations, returning to the step of performing the crossover operation and the adaptive mutation operation on the population and the external population based on the worker skill type to obtain a merged offspring set of the population and the external population;

[0013] If the number of iterations is equal to the preset number of iterations, the Pareto front solution of the population is determined as the output of the scheduling optimization model.

[0014] Specifically, in the allocation method as described above, the population and external population of the initialization scheduling optimization model include:

[0015] Initializing the population by random generation;

[0016] Decoding and calculating the individuals in the population to obtain order completion time and worker load balancing value of each individual in the population;

[0017] Based on the order completion time and the worker load balancing value, fast non-dominated sorting and congestion allocation are performed on the individuals;

[0018] According to the crowding degree of the individuals and the first Pareto front set after the fast non-dominated sorting, a preset number of the individuals are obtained to form the external population.

[0019] Specifically, in the allocation method described above, the adaptive mutation operation includes:

[0020] According to the current arrangement order of the mutation operators, the mutation operator in the first position is selected to perform a mutation operation on the first parent generation to be mutated to obtain a first mutated child generation, wherein the mutation operators are sorted from large to small according to the selection probability, and the initial selection probability of the mutation operators is the same;

[0021] Based on decoding and fast non-dominated sorting, determining whether the first mutant offspring dominates the first parent;

[0022] If it is determined that the first mutant offspring dominates the first parent generation, outputting the first mutant offspring and increasing the selection probability of the mutation operator;

[0023] If the first mutant child does not dominate the first parent, and the corresponding mutation operator is not the last one, then select the next mutation operator to perform a mutation operation on the first parent to obtain an updated first mutant child, and return to the step of determining whether the first mutant child dominates the first parent based on decoding and fast non-dominated sorting;

[0024] If the first mutant offspring does not dominate the first parent, and the corresponding mutation operator is the last one, the first mutant offspring is output, and the selection probability of the mutation operator is maintained.

[0025] Preferably, in the allocation method as described above, the step of performing a local search on the merged offspring set by using a local search strategy based on the mutation operator to obtain a target offspring set comprises:

[0026] According to the preset arrangement order of the mutation operators, the mutation operator in the first position is selected to perform a mutation operation on the second parent generation to be searched in the merged offspring set to obtain a second mutant offspring, where the second parent generation is any offspring in the merged offspring set;

[0027] Based on decoding and fast non-dominated sorting, determining whether the second variant offspring dominates the second parent generation;

[0028] If it is determined that the second variant offspring dominates the second parent, the second parent is replaced with the second variant offspring as the target offspring, and the local search for the second parent is terminated;

[0029] If it is determined that the second mutant child does not dominate the second parent, and the corresponding mutation operator is not the last one, then select the mutation operator of the next one to perform a mutation operation on the second parent to obtain an updated second mutant child, and return to the step of determining whether the second mutant child dominates the second parent based on decoding and fast non-dominated sorting;

[0030] If the second mutant child generation does not dominate the second parent generation, and the corresponding mutation operator is the last one, then the number of searches is increased by one, and it is determined whether the number of searches reaches a preset number;

[0031] If the search times reaches a preset number, the second parent generation is used as the target child generation, and the search for the second parent generation ends;

[0032] If the search times do not reach the preset times, the local search is performed again on the second parent generation.

[0033] Specifically, the allocation method as described above, selecting the target offspring set and the parent generation corresponding to each target offspring in the target offspring set according to an adaptive selection strategy based on the number of iterations, and determining and updating the population and the external population for the next iteration, includes:

[0034] Performing a fast non-dominated sorting process on the target offspring set and the parent generations corresponding to each target offspring in the target offspring set to obtain a Pareto frontier set and a remaining individual set;

[0035] Obtaining a ratio of the number of iterations to the preset number of iterations;

[0036] Determine the population from the Pareto front set, or from the Pareto front set and the remaining individual set, according to a relationship between the ratios and at least one preset ratio;

[0037] A preset proportion of the individuals is preferentially selected from the population to form the external population.

[0038] Furthermore, in the allocation method as described above, the obtaining the individuals constituting the population from the Pareto front set, or from the Pareto front set and the remaining individual set, according to the relationship between the ratios and at least one preset ratio, comprises:

[0039] If the ratio is less than or equal to the first ratio, preferentially selecting a first number of individuals from the Pareto front set, and randomly selecting a second number of individuals from the remaining individual set to form the population, wherein the sum of the first number and the second number is equal to the population size;

[0040] If the ratio is greater than the first ratio and less than or equal to the second ratio, a third number of individuals are preferentially selected from the Pareto front set, and a fourth number of individuals are randomly selected from the remaining individual set to form the population, wherein the sum of the first number and the second number is equal to the population size, and the first number is less than the third number;

[0041] If the ratio is greater than the second ratio, the individuals of the population size are preferentially selected from the Pareto front set.

[0042] Another embodiment of the present application further provides a control device, including:

[0043] Model building module, used to build a scheduling optimization model with minimization of order completion time and worker load balance as the objective function;

[0044] An initialization module, used for initializing the population and the external population of the scheduling optimization model, wherein each individual in the population and the external population is a worker allocation scheme and is encoded by a multi-layer chromosome, wherein each layer of chromosomes corresponds to a production stage;

[0045] A first processing module is used to perform a crossover operation based on worker skill types and an adaptive mutation operation based on multiple mutation operators on the population and the external population, respectively, to obtain a merged offspring set of the population and the external population;

[0046] A second processing module is used to perform a local search on the merged offspring set by using a local search strategy based on the mutation operator to obtain a target offspring set;

[0047] A third processing module is used to select the target offspring set and the parent generation corresponding to each target offspring in the target offspring set according to an adaptive selection strategy based on the number of iterations, determine and update the population and the external population for the next iteration, and increase the number of iterations by one;

[0048] A fourth processing module, configured to return to the step of performing a crossover operation and an adaptive mutation operation on the population and the external population based on the skill type of workers to obtain a merged offspring set of the population and the external population if the number of iterations is less than a preset number of iterations;

[0049] The fifth processing module is used to determine the Pareto front solution of the population as the output of the scheduling optimization model if the number of iterations is equal to the preset number of iterations.

[0050] Yet another embodiment of the present application provides an electronic device, comprising a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein when the computer program is executed by the processor, the steps of the method for allocating workers in a multi-stage mixed flow workshop as described above are implemented.

[0051] Another embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the computer program implements the steps of the method for allocating workers in a multi-stage mixed flow shop as described above.

[0052] Yet another embodiment of the present application provides a computer program product, comprising computer instructions, which, when executed by a processor, implement the steps of the method for allocating workers in a multi-stage hybrid flow shop as described above.

[0053] Compared with the prior art, the method, device and equipment for allocating workers in a multi-stage mixed flow workshop provided in the embodiment of the present application have at least the following beneficial effects:

[0054] The method for allocating workers in a multi-stage hybrid flow shop provided in this application is actually an improved NSGA-II algorithm for solving MHFS-WAP. In the encoding stage, a worker encoding method with a multi-layer chromosome structure is used to realize the encoding of workers at different stages; in the crossover mutation stage, a chromosome crossover method considering worker skills and an adaptive mutation strategy based on multiple mutation operators are set to ensure the effectiveness and population diversity of individuals after crossover mutation; local optimization is also performed through a local search strategy based on mutation operators to avoid falling into a local optimal solution, and an adaptive selection method based on the iteration stage is adopted in the selection stage to enrich the population diversity in the population evolution process. This is conducive to ensuring that the output worker allocation plan is more reasonable, thereby helping to improve workshop production efficiency, ensure product quality and reduce production costs. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] Figure 1 One of the flow charts of the method for allocating workers in a multi-stage mixed flow shop of the present application;

[0056] Figure 2 The second flowchart of the method for allocating workers in a multi-stage mixed flow shop of the present application;

[0057] Figure 3 The third flowchart of the method for allocating workers in a multi-stage mixed flow shop of the present application;

[0058] Figure 4 The fourth flowchart of the method for allocating workers in a multi-stage mixed flow shop of the present application;

[0059] Figure 5 The fifth flowchart of the method for allocating workers in a multi-stage mixed flow shop of the present application;

[0060] Figure 6 This is a schematic diagram of the structure of the control device of the present application;

[0061] Figure 7 It is a schematic diagram of the structure of a three-stage multi-stage hybrid flow shop;

[0062] Figure 8 The Gantt chart of the production process of the three-stage production workshop;

[0063] Fig. 9 Schematic diagram of IGD standard deviation of four NSGA-Ⅱ algorithms;

[0064] Fig.10 Schematic diagram of HV standard deviation of four NSGA-Ⅱ algorithms;

[0065] Fig.11This is the Pareto front distribution diagram of the four NSGA-Ⅱ algorithms corresponding to case W70L3B4N2.

[0066] Fig.12 Schematic diagram of IGD standard deviation of four compared algorithms;

[0067] Fig.13 Schematic diagram of HV standard deviation of four compared algorithms;

[0068] Fig.14 This is the Pareto front distribution diagram of the four algorithms corresponding to case W70L3B3N2. DETAILED DESCRIPTION

[0069] In order to make the technical problems, technical solutions and advantages to be solved by the application clearer, the following will be described in detail in conjunction with the accompanying drawings and specific embodiments. In the following description, specific details such as specific configurations and components are provided only to help fully understand the embodiments of the application. Therefore, it should be clear to those skilled in the art that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the application. In addition, for clarity and brevity, the description of known functions and structures has been omitted.

[0070] It should be understood that the references to "one embodiment" or "an embodiment" throughout the specification mean that the specific features, structures, or characteristics associated with the embodiment are included in at least one embodiment of the present application. Therefore, the references to "in one embodiment" or "in an embodiment" appearing throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0071] In the various embodiments of the present application, it should be understood that the size of the serial numbers of the following processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0072] It should be understood that the term "and / or" in this application is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this application generally indicates that the associated objects before and after are in an "or" relationship.

[0073] In the embodiments provided in the present application, it should be understood that "B corresponding to A" means that B is associated with A, and B can be determined according to A. However, it should also be understood that determining B according to A does not mean determining B only according to A, and B can also be determined according to A and / or other information.

[0074] When describing the embodiments of the present application, some concepts used in the following description and related prior arts are first explained.

[0075] MHFS-WAP is described as follows: There are m orders O j (j=1, 2, ..., m), each order contains n products J i (i=1, 2, ..., n), each product has p production operations P k (k=1,2,...,p) in t production stages S h (h = 1, 2, ..., t) to complete the processing. In the assembly stage, there are L (L = n) parallel production lines, each of which is responsible for one type of product J i (i = 1, 2, ..., n) production, and each production line contains q serial stations G a (a=1,2,...,q), each workstation has a worker responsible for the production operation of the product at that workstation. During the debugging phase, there are r parallel teams B b (b=1,2,...,r), each team is responsible for debugging the products of one order in the assembly stage, and the number of workers in each team depends on the number of product types. There is an assembly line in the packing stage, which has s serial stations G c (c=1, 2, ..., s), each workstation has a worker responsible for the production operation of a product of an order at that workstation.

[0076] In this application, a three-stage production workshop including assembly stage, debugging stage and packaging stage is used as an example. In the case of three orders, two products and two shifts, the predefined production operation time of each stage and each workstation is shown in Table 1. Without considering the constraints of workers, the Gantt chart of its production process is as follows Figure 8 shown.

[0077] Table 1 Example of three orders, two products and two shifts

[0078]

[0079] In the actual production process, each production operation time of the product is PT hik It is often not fixed. Especially in the assembly line process, different workers need different time to handle the same production operation. At the same time, workers need skills corresponding to the production stage to work in that stage. MHFS-WAP can be divided into three highly coupled sub-problems:

[0080] (1) Allocate workshop workers to multiple production stages;

[0081] (2) Assign workers to each workstation in each production stage;

[0082] (3) For each order, select a team to carry out debugging during the debugging phase.

[0083] The following assumptions are considered for the production workshop in this application:

[0084] (1) Products are produced strictly according to the process route, and no stage skipping is allowed;

[0085] (2) The production operation time of the product includes the setup time and the transportation time. The production operation time is predefined but is affected by human factors;

[0086] (3) Product production cannot be interrupted after it begins, and product production operations are independent of each other;

[0087] (4) All workers are available at time zero, and there is no material shortage;

[0088] (5) Each worker can only process one product at a time, and the workers are independent of each other;

[0089] (6) The number of workers should be consistent with the number of workstations in the workshop.

[0090] The following is an explanation of the worker constraints involved in worker allocation in this application:

[0091] 1) Skill Type

[0092] In the actual production process, workers need to have the skills of the corresponding production stage before they can be assigned to work in that stage. In the assembly stage, due to the wide variety of products, each product contains many production operations in this stage, so only workers who have undergone rigorous skills training can work in the assembly stage. In the debugging stage, workers need to debug the products of an order, and workers can be assigned to work in the debugging stage after receiving skills training. In the packing stage, since the processing operation is simple, only one order product needs to be inspected, classified, and packaged, so workers can start work without skills training.

[0093] Taking the above three-stage production workshop as an example, the workshop contains four types of workers, which are described by the production skill matrix: W1 = [1 1 1], W2 = [1 0 1], W3 = [0 1 1], W4 = [0 0 1]. W1 means that this type of worker can work in any of the three stages; W2 means that this type of worker can work in the first and third stages; W3 means that this type of worker can work in the second and third stages; W4 means that this type of worker can only work in the third stage.

[0094] The expression of production skill matrix can clearly show which production stages each worker can work in, which helps to reasonably allocate workers to different stages. After completing the allocation of workers to each stage, we can further consider the impact of human factors on production operation time and reasonably allocate workers to specific workstations in each stage.

[0095] 2) Human factors

[0096] (1) Skill level

[0097] Generally speaking, workers who perform production operations in manufacturing companies have different skill levels and can be roughly divided into the following three categories: a. skilled workers, b. semi-skilled workers, and c. unskilled workers. In the actual production process, skilled workers have been doing a certain job for a long time and are familiar with any link of the job, so they can complete the job quickly. Semi-skilled workers have not been in contact with a certain job for a long time and are not familiar with some links of the job, so they strictly complete the work within the specified time. Unskilled workers have just started a certain job and are not familiar with all links of the job, so they need to spend more time to complete the work.

[0098] (2) Age

[0099] Generally speaking, manufacturing companies will hire workers of different ages to complete the same or different types of production tasks. This application divides workers of different ages into four types, as follows: a. 20-30 years old, b. 30-40 years old, c. 40-50 years old, d. 50 years old and above. In the actual production process, workers of different ages require different production operation times when handling the same production operation. By analyzing workers of different ages in a soldier equipment production workshop, it was found that workers under 40 years old can complete a certain task faster.

[0100] (3) Learning factors

[0101] The learning factor of workers is related to their age and skill level. For young workers, it is easy to learn a certain production operation for a certain product, so it takes less time to handle the same production operation than older workers. On the other hand, the learning factor also depends on the skill level of workers. When skilled workers and unskilled workers learn new production operations, skilled workers tend to master new production operations faster.

[0102] (4) Forgetting Factor

[0103] When workers perform different types of production operations, they may forget other production operations they have learned before. This phenomenon of forgetting old production operations due to performing new production operations is called the forgetting effect. The forgetting factor of workers depends largely on the age of the workers, that is, as the age of workers increases, it is easier to forget a certain production operation. At the same time, as the age of workers increases, the ability of workers to complete a production operation will decrease, that is, older workers need more time to complete a production operation than younger workers.

[0104] In the actual production process, the actual production operation time of the product should comprehensively consider the above four factors, namely the influence of skill level, age, learning factors, and forgetting factors. The size of the objective function value is determined by the actual production operation time of the product.

[0105] The following is an explanation of the symbols that may be used in this application, where the symbols related to the index include:

[0106] a: assembly stage station index, a = 1, 2, ..., q;

[0107] b: group index in the debugging phase, b = 1, 2, ..., r;

[0108] c: index of the station in the packing stage, c = 1, 2, ..., s;

[0109] d: worker index, d = 1, 2, ..., w;

[0110] h: phase index, h = 1, 2, ..., t;

[0111] i: product index: i=1, 2, ..., n;

[0112] j: order index, j = 1, 2, ..., m;

[0113] k: production operation index, k = 1, 2, ..., p.

[0114] The symbols for parameters include:

[0115] m: number of orders;

[0116] p: number of product types;

[0117] q i : The number of workstations in the ith production line during the assembly phase;

[0118] r: number of teams in the commissioning phase;

[0119] s: number of workstations in the packing stage;

[0120] t: number of production stages;

[0121] W all : total number of workers;

[0122] W h : The total number of workers who can perform production operations at stage h;

[0123] PT hik : The predefined production time of the kth operation of the i-th type product in the hth stage;

[0124] The actual production time of the kth operation of the i-type product in the hth stage;

[0125] C jh : Completion time of the hth stage of the jth order;

[0126] C j : Completion time of the jth order.

[0127] Notations for decision variables include:

[0128] x hd : Whether worker d is assigned to the hth production stage,

[0129] : Whether worker d is assigned to the production stage a of the i-th production line station in the assembly stage,

[0130] y bd : Whether worker d is assigned to team b during the debugging phase,

[0131] y cd Whether worker d is assigned to station c during the packing phase,

[0132] z bj : Whether order j is assigned to team b in the debugging phase,

[0133] Based on the above problems, the embodiments of the present application provide a method, device and equipment for allocating workers in a multi-stage mixed flow workshop. The following is a detailed description in conjunction with the accompanying drawings and specific embodiments:

[0134] See also Figure 1 A preferred embodiment of the present application provides a method for allocating workers in a multi-stage mixed flow shop, comprising:

[0135] Step S101, constructing a scheduling optimization model with minimizing order completion time and worker load balance as the objective function; in this step, order completion time refers to the individual completion time of each order, and worker load balance refers to the fact that the working hours of each worker are basically the same. In one embodiment, the objective function of minimizing order completion time in the scheduling optimization model can be expressed as: Z1=min(maxC j ), the objective function of worker load balancing is expressed as:

[0136] The constraints of the above objective function can be expressed as:

[0137] The completion time of each order is the completion time of the order in all production stages.

[0138] The order completion time in the assembly stage is the maximum completion time of n production lines.

[0139] The order completion time during the debugging phase is the maximum actual production operation time of the workers in the corresponding team.

[0140] The order completion time in the packing stage is the actual production operation time of each workstation in this stage.

[0141] The actual production operation time of each production operation of the product is affected by the worker's skill level, age, learning factors, and forgetting factors. Among them, α is the coefficient corresponding to the skill level, β is the coefficient corresponding to the age, γ is the coefficient corresponding to the learning factor, and δ is the coefficient corresponding to the forgetting factor;

[0142] Ensure that the number of workers with skills in the three production stages is not less than the number of workers in that stage,

[0143] The total number of workers is the same as the total number of workstations in the production workshop.

[0144] Ensure that each worker is assigned to a stage with the corresponding processing skills and is only assigned once,

[0145] Ensure that workers in each production stage are assigned to any workstation in that stage and only once.

[0146] Ensure that each order is assigned to a team during the commissioning phase and only once.

[0147] Step S102, initialize the population and external population of the scheduling optimization model, each individual in the population and the external population is a worker allocation scheme, and is encoded by a multi-layer chromosome, in which each layer of chromosomes corresponds to a production stage; in this step, the worker allocation scheme is assigned through the designed multi-layer chromosome, wherein each layer of chromosomes corresponds to a worker allocation scheme for a production stage. Taking the aforementioned three-stage production workshop as an example, if the four types of workers in the workshop are distributed as follows: W1 = [w1, w2, w3, w4, w5], W2 = [w6], W3 = [w7, w8, w9, w10], W1 = [w1, w2, w3, w4, w5], W2 = [w6], W3 = [w7, w8, w9, w11], W1 = [w1, w2, w3, w4, w5], W1 = [w1, w2, w3, w4, w5], W2 = [w6], W3 = [w7, w8, w9, w12], W1 = [w1, w2, w3, w4, w5 ... 10 , w 11 ]、W4=[w 12 ], a feasible encoding scheme can be: the first layer of chromosomes (S1) are w2, w1, w4, w3, w5, and the second layer of chromosomes (S2) are w8, w9, w7, w 10 , the third layer of chromosomes (S3) are w6, w 11 , w 12 , where the worker allocation plan for J1 production line during the assembly phase is [w2, w1, w4], and the worker allocation plan for J2 production line is [w3, w5]; the worker allocation plan for group B1 during the debugging phase is [w8, w9], and the worker allocation plan for group B2 is [w7, w 10 ]; the allocation plan for line workers in the packing stage is [w6, w 11 , w 12 ].

[0148] Step S103, respectively perform a crossover operation based on the worker skill type and an adaptive mutation operation based on multiple mutation operators on the population and the external population to obtain a merged offspring set of the population and the external population; in this step, since the number of workers and the number of workstations in MHFS-WAP remain consistent, a worker may be reused during the chromosome crossover process. In order to avoid the use of duplicate workers and ensure that the worker skills meet the skill type requirements of the production stage after the crossover operation is completed, a random single-layer random single-point crossover method is preferably used. The specific steps are as follows:

[0149] Step 1: Select parents P1 and P2, i.e. two different encoding schemes;

[0150] Step 2: Copy the parent generations P1 and P2 to obtain the initial children C1 and C2;

[0151] Step 3: Randomly select a cross layer and find the indexes of different workers in that layer;

[0152] Step 4: Randomly select intersection points based on different worker indexes;

[0153] Step 5: Exchange the workers at the intersection of C1 and C2 to perform the crossover operation;

[0154] Step 6: After the crossover operation is completed, replace the duplicate workers in the offspring;

[0155] Step 7: Determine whether the skills of the offspring workers meet the requirements of the production stage. If not, replace the workers. When replacing, the workers are replaced according to the order of genes in the multi-layer chromosomes while retaining the positions of the workers after the crossover.

[0156] Step 8: Output offspring C1 and C2 to complete the crossover operation.

[0157] When performing mutation operations, in order to improve the diversity of solutions, adaptive mutation is performed based on multiple mutation operators. In some embodiments, the mutation operators include:

[0158] Random single-layer random single-point mutation operator, that is, randomly select mutation layers and mutation points, replace the workers at the mutation point with workers with the smallest total labor factor, and after the replacement, perform skill checks on all workers to meet the production skill requirements of workers at different production stages;

[0159] Random single-layer random two-point crossover mutation operator, that is, randomly select the mutation layer and randomly select two mutation points, and then exchange the worker positions of the two mutation points;

[0160] Random single-layer random fragment exchange operator, that is, randomly select the mutation layer and select two non-repeating worker fragments, and then exchange the workers of the two fragments;

[0161] Random single-layer random fragment reversal operator, which randomly selects the mutation layer and worker fragment, and then reverses the fragment.

[0162] Step S104, through the local search strategy based on the mutation operator, the merged offspring set is locally searched to obtain the target offspring set; in this step, optimization is performed by locally searching each offspring in the merged offspring set, which is beneficial to improving the efficiency and effect of the entire algorithm. Preferably, the local search strategy based on the mutation operator is also beneficial to avoid falling into the local optimum.

[0163] Step S105, select the target offspring set and the parent generation corresponding to each target offspring in the target offspring set according to the adaptive selection strategy based on the number of iterations, determine and update the population and the external population for the next iteration, and increase the number of iterations by one; in this step, when determining the population and the external population for the next iteration, selection will be made from the target offspring set and the parent generation corresponding to each target offspring in the target offspring set, and by increasing the parent generation corresponding to each target offspring (the parent generation of the target offspring before the local search is performed), the selection range of the population in the next iteration is increased, and by selecting based on the adaptive selection strategy based on the number of iterations, different selection strategies can be used at different stages of the iteration, which is conducive to ensuring the diversity of the population during the entire iteration process and avoiding falling into the local optimum.

[0164] Step S106, if the number of iterations is less than the preset number of iterations, then return to execute the step of performing the crossover operation and the adaptive mutation operation based on the worker skill type on the population and the external population respectively to obtain the merged offspring set of the population and the external population; in this step, if the current number of iterations is less than the preset number of iterations, it means that the preset iteration effect has not been achieved at present, so it is necessary to continue to iterate, that is, return to execute the step of performing the crossover operation and the adaptive mutation operation based on the worker skill type on the population and the external population respectively to obtain the merged offspring set of the population and the external population, and the population at this time is the population updated by the previous step, and the external population at this time is the external population updated by the previous step.

[0165] Step S107, if the number of iterations is equal to the preset number of iterations, the Pareto front solution of the population is determined as the output of the scheduling optimization model. In this step, if the current number of iterations is equal to the preset number of iterations, it means that the preset iteration effect has been achieved, so the Pareto front solution of the current population is determined as the output of the scheduling optimization model, wherein the Pareto front solution is determined by performing fast non-dominated sorting on the individuals in the population.

[0166] In summary, the method for allocating workers in a multi-stage mixed flow shop provided by the present application realizes the encoding of workers at different stages through a worker encoding method with a multi-layer chromosome structure in the encoding stage; in the crossover mutation stage, a chromosome crossover method considering worker skills and an adaptive mutation strategy based on multiple mutation operators are set to ensure the effectiveness and population diversity of individuals after crossover mutation; local optimization is also performed through a local search strategy based on mutation operators to avoid falling into a local optimal solution, and an adaptive selection method based on the iteration stage is adopted in the selection stage to enrich the population diversity in the population evolution process. This is conducive to ensuring that the output worker allocation plan is more reasonable, thereby improving workshop production efficiency, ensuring product quality and reducing production costs.

[0167] See also Figure 2 Specifically, in the allocation method as described above, the population and external population of the initialization scheduling optimization model include:

[0168] Step S201, initialize the population by random generation. In one embodiment, when initializing the population, workers with corresponding skill types are randomly selected in sequence based on each production stage. For the above three-stage production workshop, the steps of initializing the population can be expressed as follows:

[0169] Step 1: Select all workers with assembly-stage skills, and randomly select a worker for each workstation in the order of the workstations. The worker can only be selected once.

[0170] Step 2: After the assembly phase is completed, the remaining workers are assigned to the workers to be assigned in the debugging phase and the packaging phase according to their skill types;

[0171] Step 3: Select workers with debugging skills from the workers to be assigned, and randomly select a worker for each workstation in the order of the workstations. The worker can only be selected once;

[0172] Step 4: Assign the remaining workers after the debugging phase is completed to the workers to be assigned in the packing phase;

[0173] Step 5: Select the workers to be assigned. Randomly select a worker for each workstation according to the workstation order. The worker can only be selected once.

[0174] Step6: Repeat Step1 until the population size is equal to the set size.

[0175] Step S202, decoding and calculating the individuals in the population to obtain the order completion time and worker load balancing value of each individual in the population; in one embodiment, the worker allocation plan for the J1 production line during the assembly phase is [w1, w2, w4], and the worker allocation plan for the J2 production line is [w3, w5]; the worker allocation plan for the B1 team during the debugging phase is [w8, w9], and the worker allocation plan for the B2 team is [w7, w10]; the worker allocation plan for the packing phase is [w6, w11, w12].

[0176] After completing the allocation of workers in each stage, it is necessary to combine the impact of the workers' own human factors on the production operation time and use the formula in the constraints of the objective function mentioned above: Calculate the actual production operation time of each workstation. Regarding the question of how to select a team for orders during the debugging phase, this application adopts the FSPT rule, that is, select the team with the shortest production operation time from the idle teams during the debugging phase to process the order. If there is no idle team, select the team with the shortest production operation time among all teams. The production operation time of a team is determined by the maximum production operation time of the team workers. The specific decoding calculation steps can be expressed as:

[0177] Step 1: Considering the impact of the worker's own human factors on the processing time, calculate the actual production operation time of each workstation in each stage. The human factors include the worker's skill level, age, learning factors and forgetting factors mentioned above;

[0178] Step 2: Calculate the start and end processing time of each stage order, and calculate the completion time of the order. The first order is not affected by the previous order, but the subsequent orders are affected by the previous order. That is, a certain station can only start the production operation of the current order after completing the processing of the previous order.

[0179] Step 3: Repeat Step 2 until the completion time calculation of all orders is completed;

[0180] Step 4: Calculate the order completion time of the solution, that is, the maximum value of all order completion times;

[0181] Step 5: Calculate the worker load balance of the solution, that is, the standard deviation of the actual production operation time of all workers at the workstations.

[0182] Step 6: Output the order completion time and worker load balancing value of the solution to complete the decoding.

[0183] Step S203, based on the order completion time and the worker load balance value, the individuals are subjected to fast non-dominated sorting and congestion distribution, wherein the fast non-dominated sorting is to judge the dominance relationship between the individuals based on the order completion time and / or the worker load mean value, and the non-dominated solution is included in the Pareto front set, and the congestion distribution is to determine the congestion corresponding to each individual according to the distance between the individuals;

[0184] Step S204, according to the crowding degree of the individuals and the first Pareto front set after the fast non-dominated sorting, a preset number of the individuals are obtained to form the external population. In this step, the relationship between the number of the external population and the number of the population can be expressed as: in: Indicates the number of external populations, i.e. the preset number; N pIndicates the number of populations; α indicates the external population size factor, preferably a ratio. When obtaining individuals from the external population, start from the optimal frontier of the sorted population and take a preset number of individuals. If taking all individuals from a certain frontier will cause the number of individuals in the external population to exceed the preset number, then sort the frontier from large to small according to the degree of crowding, and take the individuals that meet the preset number according to the sorting.

[0185] See also Figure 3 Specifically, in the allocation method described above, the adaptive mutation operation includes:

[0186] Step S301, according to the current arrangement order of the mutation operators, select the mutation operator in the first place to perform a mutation operation on the first parent generation to be mutated, to obtain a first mutated child generation, wherein the mutation operators are sorted from large to small according to the selection probability, and the initial selection probability of the mutation operators is the same, and the first parent generation is any individual in the population or an external population;

[0187] Step S302, judging whether the first mutant offspring dominates the first parent generation based on decoding and fast non-dominated sorting;

[0188] Step S303: if it is determined that the first mutant offspring dominates the first parent generation, the first mutant offspring is output, and the selection probability of the mutation operator is increased;

[0189] Step S304: if the first mutant child does not dominate the first parent, and the corresponding mutation operator is not the last one, select the next mutation operator to perform a mutation operation on the first parent to obtain an updated first mutant child, and return to the step of determining whether the first mutant child dominates the first parent based on decoding and fast non-dominated sorting;

[0190] Step S305: If the first mutant offspring does not dominate the first parent generation, and the corresponding mutation operator is the last one, output the first mutant offspring and maintain the selection probability of the mutation operator.

[0191] In this embodiment, when performing mutation, the arrangement order of each mutation operator is first determined, wherein each mutation operator is sorted from large to small according to the corresponding selection probability. If there are at least two mutation operators with the same selection probability, they are sorted according to the index order of the mutation operators. Then, the first parent generation to be mutated is mutated from front to back according to the arrangement order of the mutation operators to obtain the first mutation child, and based on decoding and fast non-dominated sorting, the dominance relationship between the first mutation child and the first parent generation is determined until the first mutation child that dominates the first parent generation is obtained, or all mutation operators are calculated, wherein, if there is a first mutation child that dominates the first parent generation, the first mutation child is output as the result of the mutation operation, and the selection probability corresponding to the mutation operator is increased; if there is no first mutation child that dominates the first parent generation, the first mutation child corresponding to the last mutation operator is output as the result of the mutation operation, and the selection probability corresponding to each mutation operator is kept unchanged. This is conducive to improving the diversity of mutation solutions in the population.

[0192] In one embodiment, taking the above four mutation operators as an example, the initial identification of the mutation operator can be represented as [1, 1, 1, 1], where the index of each mutation operator is its position in the identification. When it is necessary to increase the selection probability of a mutation operator, the corresponding value in the identification is increased by one, thereby increasing the selection probability of the mutation operator from n / m to (n+1) / (m+1), where n represents the current value of the mutation operator in the identification, and m is the total value in the identification.

[0193] See also Figure 4 Preferably, in the allocation method as described above, the local search strategy based on the mutation operator is used to perform a local search on the merged offspring set to obtain the target offspring set, including:

[0194] Step S401, according to the preset arrangement order of the mutation operators, select the mutation operator in the first place to perform a mutation operation on the second parent generation to be searched in the merged offspring set to obtain a second mutant offspring, where the second parent generation is any offspring in the merged offspring set;

[0195] Step S402: Based on decoding and fast non-dominated sorting, determine whether the second variant child generation dominates the second parent generation. The decoding and fast non-dominated sorting have been exemplified above, so they will not be described again here.

[0196] Step S403: if it is determined that the second variant offspring dominates the second parent, the second variant offspring is used to replace the second parent as the target offspring, and the local search for the second parent is terminated;

[0197] Step S404: if it is determined that the second mutant child does not dominate the second parent, and the corresponding mutation operator is not the last one, then select the mutation operator of the next one to perform a mutation operation on the second parent to obtain an updated second mutant child, and return to the step of determining whether the second mutant child dominates the second parent based on decoding and fast non-dominated sorting;

[0198] Step S405, if the second mutant child generation does not dominate the second parent generation, and the corresponding mutation operator is the last one, then the number of searches is increased by one;

[0199] Step S406, if the search times reaches a preset number, the second parent generation is used as the target child generation, and the search for the second parent generation ends;

[0200] Step S407: If the search times do not reach the preset times, the local search is performed again on the second parent generation.

[0201] In this embodiment, local search is performed based on a mutation operator, and the number of searches is limited, thereby reducing redundant local search steps, avoiding long local searches that increase the overall running time of the algorithm, improving local optimization efficiency, and helping to prevent the algorithm from falling into a local optimum.

[0202] In one embodiment, the steps of executing the local search strategy based on the mutation operator can be expressed as:

[0203] Step 1: Select the solution P1 for local search;

[0204] Step 2: Use mutation operator 1 to obtain offspring C1, and determine whether C1 is better than the current solution P1 through the dominance relationship. If the mutation solution C1 dominates P1, replace P1 and end the local search. Otherwise, go to Step 3;

[0205] Step 3: Use mutation operator 2 to obtain offspring C2, and determine whether C2 is better than the current solution P1 through the dominance relationship. If the mutation solution C2 dominates P1, replace P1 and end the local search. Otherwise, go to Step 4;

[0206] Step 4: Use mutation operator 3 to obtain offspring C3, and determine whether C3 is better than the current solution P1 through the dominance relationship. If the mutation solution C3 dominates P1, replace P1 and end the local search. Otherwise, go to Step 4;

[0207] Step 5: Use mutation operator 4 to obtain offspring C4, and determine whether C4 is better than the current solution P1 through the dominance relationship. If the mutated solution C4 dominates P1, replace P1 and end the local search. Otherwise, determine whether the set number of local searches has been reached. If not, go to Step 2, otherwise go to Step 6;

[0208] Step 6: If there is no solution that dominates P1, output P1 and complete the local search.

[0209] See also Figure 5 Specifically, the allocation method as described above, selecting the target offspring set and the parent generation corresponding to each target offspring in the target offspring set according to the adaptive selection strategy based on the number of iterations, determining and updating the population and the external population for the next iteration, includes:

[0210] Step S501, performing fast non-dominated sorting on the target offspring set and the parent generations corresponding to each target offspring in the target offspring set to obtain a Pareto front set and a remaining individual set, wherein the remaining individual set is a set consisting of individuals other than the Pareto front set. As can be seen from the foregoing, the individuals in the target offspring set, as well as the individuals in the population and the external population have been decoded, so in this step, fast non-dominated sorting can be directly performed based on the decoding result to obtain the Pareto front set and the remaining individual set;

[0211] Step S502, obtaining a ratio of the number of iterations to the preset number of iterations;

[0212] Step S503, determining the population from the Pareto front set, or from the Pareto front set and the remaining individual set, according to a relationship between the ratio and at least one preset ratio;

[0213] Step S504, preferentially selecting a preset proportion of the individuals from the population to form the external population, wherein the specific method of obtaining the external population based on the population has been described above, so it will not be repeated here.

[0214] This embodiment adopts the method of determining the population from the Pareto front set or from the Pareto front set and the remaining individual set based on the iteration stage in the selection stage, and uses different selection strategies in different stages of iteration, which not only retains the better individuals in the population, but also randomly selects other inferior individuals. This ensures the diversity of the population in the entire iteration process and prevents the algorithm from falling into a local optimum.

[0215] Furthermore, in the allocation method as described above, when there are two preset ratios, obtaining the individuals constituting the population from the Pareto front set, or from the Pareto front set and the remaining individual set, according to the relationship between at least one of the preset ratios, comprises:

[0216] If the ratio is less than or equal to the first ratio, preferentially selecting a first number of individuals from the Pareto front set, and randomly selecting a second number of individuals from the remaining individual set to form the population, wherein the sum of the first number and the second number is equal to the population size;

[0217] If the ratio is greater than the first ratio and less than or equal to the second ratio, a third number of individuals are preferentially selected from the Pareto front set, and a fourth number of individuals are randomly selected from the remaining individual set to form the population, wherein the sum of the first number and the second number is equal to the population size, and the first number is less than the third number;

[0218] If the ratio is greater than the second ratio, the individuals of the population size are preferentially selected from the Pareto front set.

[0219] In this embodiment, the first ratio and the second ratio are different preset ratios, and the first ratio is smaller than the second ratio, for example, the first ratio is 40%, and the second ratio is 60%. The first quantity is 60% of the population quantity, and the second quantity is 80% of the population quantity.

[0220] It should be noted that the preferential selection from the Pareto front set described in the present application is to perform sequential selection according to the priority order of each individual in the Pareto front set.

[0221] In a specific embodiment, the above steps can also be expressed as: determine the relationship between the current number of iterations and the total number of iterations, if the current number of iterations is less than or equal to 40% of the total number of iterations, select 60% of the individuals of the population size from the optimal frontier of the offspring, and randomly select 40% of the individuals of the population size from the remaining offspring individuals; if the current number of iterations is less than or equal to 60% of the total number of iterations, select 80% of the individuals of the population size from the optimal frontier of the offspring, and randomly select 20% of the individuals of the population size from the remaining offspring individuals; if the current number of iterations is greater than 60% of the total number of iterations, select individuals of the population size starting from the optimal frontier of the offspring.

[0222] In another embodiment, when the preset ratio is one, the obtained ratio can be compared with the preset ratio. If it is less than or equal to the preset ratio, it is selected from the Pareto front set and the remaining individual set, and the number of preferential selections from the Pareto front set is greater than 50% of the population size. If it is greater than the preset ratio, it is preferentially selected from the Pareto front set.

[0223] In another embodiment, when the preset ratio is greater than two, the preset ratio and the number of preferential selections from the Pareto front set corresponding to each interval can be adaptively adjusted based on the preset value being two, which will not be repeated here.

[0224] See also Figure 6 Another embodiment of the present application further provides a control device, comprising:

[0225] Model building module 601, used to build a scheduling optimization model with minimization of order completion time and worker load balance as the objective function;

[0226] Initialization module 602, used to initialize the population and external population of the scheduling optimization model, each individual in the population and the external population is a worker allocation scheme, and is encoded by a multi-layer chromosome, in which each layer of chromosome corresponds to a production stage;

[0227] The first processing module 603 is used to perform a crossover operation based on worker skill types and an adaptive mutation operation based on multiple mutation operators on the population and the external population, respectively, to obtain a merged offspring set of the population and the external population;

[0228] A second processing module 604 is configured to perform a local search on the merged offspring set by using a local search strategy based on the mutation operator to obtain a target offspring set;

[0229] The third processing module 605 is used to select the target offspring set and the parent generation corresponding to each target offspring in the target offspring set according to the adaptive selection strategy based on the number of iterations, determine and update the population and the external population for the next iteration, and increase the number of iterations by one;

[0230] The fourth processing module 606 is used for returning to the step of performing the crossover operation and the adaptive mutation operation based on the worker skill type on the population and the external population to obtain a merged offspring set of the population and the external population if the number of iterations is less than the preset number of iterations;

[0231] The fifth processing module 607 is used to determine the Pareto front solution of the population as the output of the scheduling optimization model if the number of iterations is equal to the preset number of iterations.

[0232] Specifically, in the control device as described above, the initialization module includes:

[0233] A first processing unit, configured to initialize the population by random generation;

[0234] A second processing unit is used to perform decoding calculation on the individuals in the population to obtain the order completion time and worker load balancing value of each individual in the population;

[0235] A third processing unit, configured to perform fast non-dominated sorting and congestion allocation on the individuals based on the order completion time and the worker load balancing value;

[0236] The fourth processing unit is used to obtain a preset number of the individuals to form the external population according to the crowding degree of the individuals and the first Pareto front set after the fast non-dominated sorting.

[0237] Specifically, in the control device as described above, the adaptive variation operation includes:

[0238] According to the current arrangement order of the mutation operators, the mutation operator in the first position is selected to perform a mutation operation on the first parent generation to be mutated to obtain a first mutated child generation, wherein the mutation operators are sorted from large to small according to the selection probability, and the initial selection probability of the mutation operators is the same;

[0239] Based on decoding and fast non-dominated sorting, determining whether the first mutant offspring dominates the first parent;

[0240] If it is determined that the first mutant offspring dominates the first parent generation, outputting the first mutant offspring and increasing the selection probability of the mutation operator;

[0241] If the first mutant child does not dominate the first parent, and the corresponding mutation operator is not the last one, then select the next mutation operator to perform a mutation operation on the first parent to obtain an updated first mutant child, and return to the step of determining whether the first mutant child dominates the first parent based on decoding and fast non-dominated sorting;

[0242] If the first mutant offspring does not dominate the first parent, and the corresponding mutation operator is the last one, the first mutant offspring is output, and the selection probability of the mutation operator is maintained.

[0243] Preferably, in the control device as described above, the second processing module comprises:

[0244] a fifth processing unit, configured to select the mutation operator in the first position according to the preset arrangement order of the mutation operators, perform a mutation operation on the second parent generation to be searched in the merged offspring set, and obtain a second mutant offspring, where the second parent generation is any offspring in the merged offspring set;

[0245] A sixth processing unit, configured to determine whether the second variant child generation dominates the second parent generation based on decoding and fast non-dominated sorting;

[0246] a seventh processing unit, configured to replace the second parent generation with the second mutant child as the target child if it is determined that the second mutant child dominates the second parent generation, and terminate the local search for the second parent generation;

[0247] an eighth processing unit, configured to select the mutation operator of the next digit to perform a mutation operation on the second parent generation to obtain an updated second mutant child generation if it is determined that the second mutant child generation does not dominate the second parent generation and the corresponding mutation operator is not the last digit, and return to the step of determining whether the second mutant child generation dominates the second parent generation based on decoding and fast non-dominated sorting;

[0248] a ninth processing unit, configured to increase the number of searches by one if the second mutant child generation does not dominate the second parent generation and the corresponding mutation operator is the last one;

[0249] a tenth processing unit, configured to use the second parent generation as the target child generation and terminate the search for the second parent generation if the search times reaches a preset number;

[0250] An eleventh processing unit is configured to perform the local search on the second parent generation again if the number of searches does not reach the preset number of searches.

[0251] Specifically, in the control device as described above, the third processing module includes:

[0252] A twelfth processing unit is used to perform a fast non-dominated sorting process on the target offspring set and the parent generations corresponding to each target offspring in the target offspring set to obtain a Pareto frontier set and a remaining individual set;

[0253] A thirteenth processing unit, used to obtain a ratio of the number of iterations to the preset number of iterations;

[0254] A fourteenth processing unit, configured to determine the population from the Pareto front set, or from the Pareto front set and the remaining individual set, according to a relationship between the ratios and at least one preset ratio;

[0255] A fifteenth processing unit is used for preferentially selecting a preset proportion of the individuals from the population to constitute the external population.

[0256] Furthermore, in the control device as described above, the fourteen processing units include:

[0257] If the ratio is less than or equal to the first ratio, preferentially selecting a first number of individuals from the Pareto front set, and randomly selecting a second number of individuals from the remaining individual set to form the population, wherein the sum of the first number and the second number is equal to the population size;

[0258] If the ratio is greater than the first ratio and less than or equal to the second ratio, a third number of individuals are preferentially selected from the Pareto front set, and a fourth number of individuals are randomly selected from the remaining individual set to form the population, wherein the sum of the first number and the second number is equal to the population size, and the first number is less than the third number;

[0259] If the ratio is greater than the second ratio, the individuals of the population size are preferentially selected from the Pareto front set.

[0260] The control device embodiment of the present application is a device corresponding to the embodiment of the method for allocating workers in the multi-stage mixed flow shop described above. All the implementation means in the above method embodiment are applicable to the embodiment of the device and can achieve the same technical effect. The above control device provided in the embodiment of the present application can implement all the method steps implemented in the above method embodiment and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as those in the method embodiment will not be described in detail here.

[0261] Another embodiment of the present application also provides an electronic device, including a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the steps of the method for allocating workers in a multi-stage mixed assembly line workshop as described above are implemented, and therefore will not be described in detail here.

[0262] Another embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method for allocating workers in a multi-stage mixed assembly line workshop as described above are implemented, so they are not repeated here.

[0263] Another embodiment of the present application further provides a computer program product, including computer instructions, which, when executed by a processor, implement the steps of the method for allocating workers in a multi-stage mixed flow workshop as described above, and are therefore not described in detail here.

[0264] It should be noted that in order to verify the performance of the improved NSGA-Ⅱ algorithm for solving MHFS-WAP in order to verify the allocation method of workers in the multi-stage hybrid flow workshop proposed in this application. The following test data set of this application is constructed based on a soldier equipment production workshop, and the inverted generational distance (IGD) and hypervolume (HV) are used as performance indicators. A large number of numerical experiments were carried out on the basis of the constructed test data set to analyze the performance of the improved NSGA-Ⅱ algorithm of this application, and compare it with three other widely used multi-objective optimization algorithms. In order to make a reasonable comparison between different algorithms, all algorithms are implemented in Python language, using Python 3.10.2 version interpreter, and building a code running environment in PyCharm 2023.3.4.0, citing common third-party libraries such as numpy, matplotlib, tqdm, etc. The experiment was carried out on a computer with Windows 11 operating system, Intel (R) Core (TM) i5-10200H CPU main frequency 2.40GHz, and 16G running memory (RAM).

[0265] About the test dataset

[0266] A soldier equipment production workshop is a three-stage production workshop including assembly stage, debugging stage and packaging stage. The application cases are named in the format of W*L*B*N*, where * represents a positive integer. For example, case W40L2B3N1 means that there are 40 workers in the three stages of the production workshop, two production lines in the assembly stage, and three teams in the debugging stage. N1 represents the first case of this type of case.

[0267] Combined with the actual situation of the workshop, this application considers that the number of workers has four types: [40 70 100 150], the number of production lines in the first stage has three types: [2 3 4], and the number of teams in the second stage has three types: [3 4 5]. Since the third stage is responsible for sorting, packing, and packaging of products, the production process is fixed, so the number of workstations in the third stage is fixed to 15. Through the investigation and analysis of the existing workers in the workshop, the distribution ratio of the number of workers of the four types in the workshop is [W1 W2 W3 W4] = [0.6 0.2 0.1 0.1]. Except for the W4 type workers, the age distribution ratio of the other three types of workers is [0.4 0.3 0.2 0.1], corresponding to 20-30 years old, 30-40 years old, 40-50 years old and over 50 years old, respectively. The W4 type workers are all 20-30 years old. At the same time, the skill proficiency distribution ratio of the four types of workers in the workshop is [0.6 0.3 0.1], corresponding to skilled workers, semi-skilled workers and unskilled workers respectively. The predefined production operation time of all workstations is randomly generated by taking integers between [40, 50], in seconds. It is worth noting that considering that the number of workstations on each production line should be kept within a certain range in the first stage, the case with 40 workers only considers the situation of two production lines in the first stage, and the case with 100 and 150 workers only considers the situation of four production lines in the first stage. Among them, the case with 150 workers only considers the situation of five teams in the second stage.

[0268] At the same time, by comparing the actual production operation time of each workstation with the predefined production operation time, the value of the worker's skill factor, age factor, learning factor and forgetting factor is determined with respect to the performance index.

[0269] This application selects two common multi-objective optimization algorithm performance indicators to evaluate the performance of the comparison algorithm, namely IGD and HV. The two indicators will be introduced below.

[0270] IGD is a comprehensive evaluation index that can evaluate the convergence and distribution of solutions. IGD represents the optimal Pareto frontier (P * ) to the obtained Pareto frontier (P), calculate P * The average distance from each solution in to the nearest solution in P. The smaller the IGD value, the closer P is to P * , indicating that the algorithm performance is better.

[0271] The IGD calculation method is:

[0272]

[0273] Where: |P * | indicates P * The size of P *The number of solutions in ; d(x, y) represents the Euclidean distance between x and y. In general, it is difficult to accurately obtain the optimal Pareto frontier P * Therefore, this application takes the approximate optimal Pareto front P′ from the non-dominated solution set obtained by all compared algorithms.

[0274] HV is also a comprehensive evaluation indicator that takes into account the convergence and distribution of the solution. HV represents the volume of the hypercube formed by all solutions in the Pareto front P and the reference point r. The larger the HV value, the larger the solution space covered by the solution in P, indicating that the quality of the solution in P is better.

[0275] The calculation method of HV is:

[0276] HV(P, r) = volume(U f∈P [f1, r1]×[f2, r2]×…×[f p , r p ])

[0277] Where: r = (r1, r2, ..., r p ) is the reference point for all targets, dominated by all target vectors. For the same solution set P, different HV values ​​are obtained by selecting different reference points. In this application, 1.1 times the maximum value of each target in P′ is selected as the reference point, that is,

[0278] In addition, this application uses a normalization operation for the objective function values ​​of all solutions used to calculate IGD and HV. The normalization algorithm is:

[0279]

[0280] Where: f i (x) is the i-th (i=1, 2, 3, ..., p) objective function value of the solution, p represents the target number, and in this application, p=2; f i max and f i min are the maximum and minimum values ​​of the i-th target respectively.

[0281] Effectiveness analysis of improvement strategies

[0282] For ease of understanding, the allocation method for the multi-stage hybrid flow shop proposed in this application, namely the improved NSGA-II algorithm, is named NSGA2_III. In order to verify the effectiveness of various improved strategies in NSGA2_III proposed in this application, four NSGA-II algorithms with different configurations are used for comparative experiments. The configurations of the four NSGA-II algorithms are: NSGA2 (standard NSGA-II algorithm), NSGA2_I (NSGA2+adaptive mechanism), NSGA2_II (NSGA2_I+external population) and NSGA2_III (NSGA2_II+local search).

[0283] In order to obtain better algorithm performance, the parameters of the comparison algorithms were selected based on experiments, and the running time of each algorithm was controlled to 3 minutes.

[0284] In order to reduce the impact of randomness of the algorithm running results, each algorithm is set to run 10 times, and the union of the Pareto fronts of each running result is taken, and all non-dominated solutions in the union are found to form the final Pareto front of each algorithm. The statistical results of the mean and standard deviation of IGD and HV are obtained.

[0285] Based on the statistical results, it can be seen that in all cases, the IGD mean and HV mean of NSGA2_III are the best, indicating that under the condition of the same running time, the three improvement strategies can make the solution of NSGA-II move towards the direction of the approximate Pareto front. In order to compare the stability of the four NSGA-II during operation, the IGD standard deviation and HV standard deviation of the four NSGA-II are shown in Fig. 9 and Fig.10 shown.

[0286] from Fig. 9 From the IGD index shown, the mean of NSGA2_III in all cases is significantly smaller than that of NSGA2, NSGA2_I and NSGA2_II, indicating that the Pareto front obtained by NSGA2_III is closer to the approximate Pareto front. Although the means of NSGA2_I and NSGA2_II are smaller than that of NSGA2 in most cases, there is no significant difference, indicating that the local search strategy based on the mutation method has a more positive effect on improving the quality of the NSGA2 algorithm solution. The standard deviation of NSGA2_III is smaller than that of NSGA2 in all cases. At the same time, from Fig. 9 It can be seen that although the standard deviations of NSGA2_I and NSGA2_II are less than or equal to the standard deviation of NSGA2_III in some cases, there is no significant difference, and the mean of NSGA2_III in these cases is much smaller than the mean of NSGA2_I and NSGA2_II, indicating that NSGA2_III has better stability than other algorithms.

[0287] from Fig.10 From the HV indicators shown, the mean of NSGA2_III in all cases is significantly greater than that of NSGA2, NSGA2_I and NSGA2_II. And the standard deviation of NSGA2_III in all cases is much smaller than that of NSGA2. Although the standard deviation of NSGA2_III is greater than that of NSGA2_I and NSGA2_II in some cases, the difference is not large.

[0288] In order to directly compare the Pareto front distribution of the four NSGA-Ⅱ algorithms, some test cases are randomly selected for representation. Fig.11 The Pareto frontiers of the four NSGA-Ⅱ algorithms corresponding to case W70L3B4N2. Fig.11 It can be seen that the Pareto front distribution obtained by NSGA2_III is relatively more uniform and closest to the approximate Pareto front.

[0289] Based on the above analysis, it can be seen that the adaptive mechanism, external population and local search strategy can significantly improve the quality, convergence and diversity of the proposed NSGA2_III solution under the same running time and number of runs. The local search strategy based on the mutation method seems to contribute more to improving the algorithm performance than the other two strategies.

[0290] Through the above experiments, we can conclude that the adaptive mechanism, external population and local search strategy are crucial for the proposed NSGA2_III algorithm to solve the workshop worker allocation problem. In order to further prove the effectiveness of the NSGA2_III algorithm, this application compares it with other well-known algorithms for solving multi-objective optimization problems: Strength Pareto Evolutionary Algorithm-II (SPEA2), Multiobjective Evolutionary Algorithm Based on Decomposition (MOEA / D) and Nondominated Neighbor Immune Algorithm (NNIA).

[0291] The reasons for choosing to compare with these three algorithms are as follows: (1) These three algorithms are widely used in solving multi-objective optimization problems; (2) These three algorithms have similar evolutionary mechanisms to NSGA2_III; (3) These three algorithms have different performances in solving different multi-objective optimization problems. Based on the above three reasons, choosing to compare NSGA2_III with SPEA2, MOEA / D and NNIA can more comprehensively evaluate the performance of NSGA2_III in terms of convergence and distribution of solutions obtained in solving different cases.

[0292] Appropriate algorithm parameters were selected through statistical analysis and Taguchi experimental design. The running time of each algorithm was controlled to be 3 minutes. Similarly, in order to reduce the impact of randomness of the algorithm running results, each algorithm was set to run 10 times, and the union of the Pareto front of each running result was taken, and all non-dominated solutions in the union were found to form the final Pareto front of each algorithm.

[0293] Obtain the statistical results of the mean and standard deviation of IGD and HV. Based on the statistical results, it can be seen that in all cases, the IGD mean and HV mean of NSGA2_III are the best. This shows that under the same running time, the NSGA2_III proposed in this application can obtain a solution closer to the approximate Pareto frontier than the other three comparison algorithms. In order to compare the stability of the four algorithms during operation, the IGD standard deviation and HV standard deviation of the four comparison algorithms are shown in Figure 2. Fig.12 and Fig.13 shown.

[0294] from Fig.12 From the IGD index shown in , the mean of NSGA2_III is smaller than that of SPEA2, MOEA / D and NNIA, indicating that the Pareto front obtained by NSGA2_III is closer to the approximate Pareto front. In addition, the standard deviation of NSGA2_III is only slightly larger than the standard deviation of MOEA / D in case W100L4B5N1, and is less than or equal to the standard deviation of the other three algorithms in other cases. Therefore, it can be concluded that NSGA2_III has better convergence and stability than the other three comparison algorithms.

[0295] Similar conclusions can be drawn from Fig.13 In all cases, NSGA2_III performs best in terms of HV mean. Its standard deviation is only slightly larger than that of MOEA / D in case W70L2B3N1, and is less than or equal to the standard deviations of the other three algorithms in other cases. Therefore, it can be concluded that NSGA2_III has better convergence and distribution than the other three comparison algorithms.

[0296] In order to directly compare the Pareto front distribution of the four algorithms, some test cases are randomly selected for representation. Fig.14 The Pareto frontiers of the four algorithms corresponding to case W70L3B3N2. Fig.14 It can be seen that the Pareto front distribution obtained by NSGA2_III is relatively more uniform, and the number of solutions in most cases is larger, providing more options for decision makers.

[0297] By comparing NSGA2_III with SPEA2, MOEA / D and NNIA, we can clearly see that the proposed NSGA2_III outperforms the other three algorithms in solving MHFS-WAP under the same running time and number of runs. Therefore, it can be concluded that NSGA2_III shows obvious advantages in stability, convergence and distribution.

[0298] In addition, the present application may repeat reference numerals and / or letters in different examples. This repetition is for the purpose of simplicity and clarity, and does not in itself indicate the relationship between the various embodiments and / or settings discussed.

[0299] It should also be noted that, in this application, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusions.

[0300] The above is a preferred embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles described in the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A method for allocating workers in a multi-stage mixed flow shop, characterized in that: include: A scheduling optimization model is constructed with minimizing order completion time and worker load balance as the objective function; Initializing a population and an external population of the scheduling optimization model, wherein each individual in the population and the external population is a worker allocation scheme and is encoded by a multi-layer chromosome, wherein each layer of chromosomes corresponds to a production stage; Performing a crossover operation based on worker skill types and an adaptive mutation operation based on multiple mutation operators on the population and the external population respectively, to obtain a merged offspring set of the population and the external population; By using a local search strategy based on the mutation operator, a local search is performed on the merged offspring set to obtain a target offspring set; Selecting the target offspring set and the parent generation corresponding to each target offspring in the target offspring set according to an adaptive selection strategy based on the number of iterations, determining and updating the population and the external population for the next iteration, and increasing the number of iterations by one; If the number of iterations is less than the preset number of iterations, returning to the step of performing the crossover operation and the adaptive mutation operation on the population and the external population based on the worker skill type to obtain a merged offspring set of the population and the external population; If the number of iterations is equal to the preset number of iterations, the Pareto front solution of the population is determined as the output of the scheduling optimization model.

2. The distribution method according to claim 1, characterized in that: The population and external population for initializing the scheduling optimization model include: Initializing the population by random generation; Decoding and calculating the individuals in the population to obtain order completion time and worker load balancing value of each individual in the population; Based on the order completion time and the worker load balancing value, fast non-dominated sorting and congestion allocation are performed on the individuals; According to the crowding degree of the individuals and the first Pareto front set after the fast non-dominated sorting, a preset number of the individuals are obtained to form the external population.

3. The distribution method according to claim 1, characterized in that: The adaptive mutation operation includes: According to the current arrangement order of the mutation operators, the mutation operator in the first position is selected to perform a mutation operation on the first parent generation to be mutated to obtain a first mutated child generation, wherein the mutation operators are sorted from large to small according to the selection probability, and the initial selection probability of the mutation operators is the same; Based on decoding and fast non-dominated sorting, determining whether the first mutant offspring dominates the first parent; If it is determined that the first mutant offspring dominates the first parent generation, outputting the first mutant offspring and increasing the selection probability of the mutation operator; If the first mutant child does not dominate the first parent, and the corresponding mutation operator is not the last one, then select the next mutation operator to perform a mutation operation on the first parent to obtain an updated first mutant child, and return to the step of determining whether the first mutant child dominates the first parent based on decoding and fast non-dominated sorting; If the first mutant offspring does not dominate the first parent, and the corresponding mutation operator is the last one, the first mutant offspring is output, and the selection probability of the mutation operator is maintained.

4. The distribution method according to claim 1, characterized in that: The local search strategy based on the mutation operator is used to perform a local search on the merged offspring set to obtain a target offspring set including: According to the preset arrangement order of the mutation operators, the mutation operator in the first position is selected to perform a mutation operation on the second parent generation to be searched in the merged offspring set to obtain a second mutant offspring, where the second parent generation is any offspring in the merged offspring set; Based on decoding and fast non-dominated sorting, determining whether the second variant offspring dominates the second parent generation; If it is determined that the second variant offspring dominates the second parent, the second parent is replaced with the second variant offspring as the target offspring, and the local search for the second parent is terminated; If it is determined that the second mutant child does not dominate the second parent, and the corresponding mutation operator is not the last one, then select the mutation operator of the next one to perform a mutation operation on the second parent to obtain an updated second mutant child, and return to the step of determining whether the second mutant child dominates the second parent based on decoding and fast non-dominated sorting; If the second mutant child generation does not dominate the second parent generation, and the corresponding mutation operator is the last one, then the number of searches is increased by one, and it is determined whether the number of searches reaches a preset number; If the search times reaches a preset number, the second parent generation is used as the target child generation, and the search for the second parent generation ends; If the search times do not reach the preset times, the local search is performed again on the second parent generation.

5. The distribution method according to claim 1, characterized in that: The step of selecting the target offspring set and the parent generation corresponding to each target offspring in the target offspring set according to the adaptive selection strategy based on the number of iterations, and determining and updating the population and the external population for the next iteration includes: Performing a fast non-dominated sorting process on the target offspring set and the parent generations corresponding to each target offspring in the target offspring set to obtain a Pareto frontier set and a remaining individual set; Obtaining a ratio of the number of iterations to the preset number of iterations; Determine the population from the Pareto front set, or from the Pareto front set and the remaining individual set, according to a relationship between the ratios and at least one preset ratio; A preset proportion of the individuals is preferentially selected from the population to form the external population.

6. The distribution method according to claim 5, characterized in that: The step of acquiring the individuals constituting the population from the Pareto front set, or from the Pareto front set and the remaining individual set, according to the relationship between the ratios and at least one preset ratio comprises: If the ratio is less than or equal to the first ratio, preferentially selecting a first number of individuals from the Pareto front set, and randomly selecting a second number of individuals from the remaining individual set to form the population, wherein the sum of the first number and the second number is equal to the population size; If the ratio is greater than the first ratio and less than or equal to the second ratio, a third number of individuals are preferentially selected from the Pareto front set, and a fourth number of individuals are randomly selected from the remaining individual set to form the population, wherein the sum of the first number and the second number is equal to the population size, and the first number is less than the third number; If the ratio is greater than the second ratio, the individuals of the population size are preferentially selected from the Pareto front set.

7. A control device, characterized in that: include: Model building module, used to build a scheduling optimization model with minimization of order completion time and worker load balance as the objective function; An initialization module, used for initializing the population and the external population of the scheduling optimization model, wherein each individual in the population and the external population is a worker allocation scheme and is encoded by a multi-layer chromosome, wherein each layer of chromosomes corresponds to a production stage; A first processing module is used to perform a crossover operation based on worker skill types and an adaptive mutation operation based on multiple mutation operators on the population and the external population, respectively, to obtain a merged offspring set of the population and the external population; A second processing module is used to perform a local search on the merged offspring set by using a local search strategy based on the mutation operator to obtain a target offspring set; A third processing module is used to select the target offspring set and the parent generation corresponding to each target offspring in the target offspring set according to an adaptive selection strategy based on the number of iterations, determine and update the population and the external population for the next iteration, and increase the number of iterations by one; A fourth processing module, configured to return to the step of performing a crossover operation and an adaptive mutation operation on the population and the external population based on the skill type of workers to obtain a merged offspring set of the population and the external population if the number of iterations is less than a preset number of iterations; The fifth processing module is used to determine the Pareto front solution of the population as the output of the scheduling optimization model if the number of iterations is equal to the preset number of iterations.

8. An electronic device, characterized in that: The method comprises a processor, a memory and a computer program stored in the memory and executable on the processor, wherein when the computer program is executed by the processor, the steps of the method for allocating workers in a multi-stage mixed flow shop as described in any one of claims 1 to 6 are implemented.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the method for allocating workers in a multi-stage hybrid flow shop according to any one of claims 1 to 6.

10. A computer program product, characterized in that The method comprises computer instructions, which, when executed by a processor, implement the steps of the method for allocating workers in a multi-stage mixed flow shop as described in any one of claims 1 to 6.

Citation Information

Cited By

  • Data service-oriented computing platform distribution method

    CN122137879A