Joint optimization method and product for split Seru production construction and scheduling strategy

By establishing a nonlinear integer programming model and a two-layer planning model in the segmented Seru production system, and using a hybrid genetic variable neighborhood search algorithm and greedy heuristic algorithm optimization strategy, the collaborative optimization problem of segmented Seru production system construction and scheduling is solved, and the goal of minimizing Makespan and running time is achieved.

CN118095733BActive Publication Date: 2025-03-25NANJING UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202410235640.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-03-01
Publication Date
2025-03-25
Estimated Expiration
2044-03-01

AI Technical Summary

Technical Problem

The prior art has failed to effectively optimize the construction and scheduling of segmented Seru production systems, especially when considering factors such as process sequence constraints, workers' skill combinations and skill level differences, batch segmentation and replacement time, it is difficult to achieve the goal of minimizing maximum completion time (Makespan) and the shortest running time.

Method used

A joint optimization method for construction and scheduling strategies for segmented Seru production is proposed. By establishing a nonlinear integer programming model, combining the two-layer planning model with a hybrid genetic variable neighborhood search algorithm (HGVNSA) and greedy heuristic algorithm (GHA), the worker-Seru allocation, Seru production scheduling and worker-operation allocation strategies are optimized.

Benefits of technology

It achieves the goal of minimizing maximum completion time and shortest running time in a split Seru production system, with good robustness and scalability, and provides scientific production operation decision-making guidance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118095733B_ABST
    Figure CN118095733B_ABST
Patent Text Reader

Abstract

The present invention discloses a joint optimization method and product for split Seru production construction and scheduling strategy, the method comprising: constructing a nonlinear integer programming model with the goal of minimizing the maximum completion time, converting the constructed nonlinear integer programming model into a two-level programming model including an upper-level programming model and a lower-level programming model; obtaining the production data of producers in the split Seru production mode; solving the two-level programming model according to the production data of the producers, and obtaining a production construction strategy including a worker-Seru allocation strategy and a worker-operation allocation strategy, and a Seru production scheduling strategy. The maximum completion time Makespan of the present invention is small and the running time is relatively short.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to production strategy optimization technology, and in particular to a joint optimization method and product for split Seru production construction and scheduling strategy. Background Art

[0002] With the development of science and technology and the increasing progress of economic globalization, the market environment is changing rapidly, and the market competition faced by the manufacturing industry is more challenging than ever before. In order to cope with the current turbulent market environment, shortening product delivery time and achieving rapid response are widely regarded by the manufacturing industry as another demand dimension in addition to product quantity and product variety. In this context, in 1992, a factory under Sony created a new production model with both flexibility and efficiency and named it Seru. Seru is the Japanese pronunciation of cell. Unlike cell production, Seru is a relatively low-automation production model that is widely used in assembly production, often including only three processes: assembly, testing and packaging. A Seru production system consists of multiple Seru production units, and each Seru production unit is a small and compact production unit composed of some simple, low-cost, easy-to-copy and easy-to-move equipment and one or more multi-skilled workers dedicated to the production of one or more products.

[0003] From the development trend and evolution of the Seru production system, Seru includes three basic types: Divisional Seru, Rotating Seru and Yatai Seru. In the Divisional Seru, according to the process requirements and the types and levels of skills mastered by the workers, the production tasks in the Seru are divided into several parts, each of which is responsible for one or more workers. Therefore, this type of Seru production does not require overly complicated worker training. There is no strict superiority or inferiority among these three types of Seru. Under certain specific demand conditions and production conditions, the Divisional Seru may be more practical than the Yatai Seru.

[0004] In actual Seru production practice, the Just-in-Time Organization System (JIT-OS) controls and manages Seru production. The implementation of JIT-OS includes two basic decisions: Seru construction and Seru scheduling. The Seru construction process needs to determine the type, quantity, layout and scale of Seru, including relevant preparations such as the allocation plan of corresponding workers, equipment and other production resources. Through Seru construction, a Seru production system containing single or multiple Seru units of appropriate types and quantities can be created. Seru scheduling requires allocating product production tasks to each Seru and determining the processing order of products in each Seru to ensure the orderly progress of the production plan.

[0005] Researchers have made many optimizations to the split Seru, but either they study the Seru production system construction problem based on specific scheduling rules, or they study the Seru scheduling problem based on the Seru production system construction decision. No scholar has yet studied the split Seru construction and scheduling collaborative optimization problem considering process sequence constraints. Summary of the invention

[0006] In view of the problems existing in the prior art, the present invention provides a joint optimization method and product for split Seru production construction and scheduling strategy with a small maximum completion time Makespan and a relatively short running time.

[0007] In order to achieve the above-mentioned object of the invention, in a first aspect, the present invention provides a joint optimization method for split Seru production construction and scheduling strategy, comprising the following steps:

[0008] (1) A nonlinear integer programming model is constructed with the goal of minimizing the maximum completion time. The nonlinear integer programming model is centered on the producer based on the split Seru production model and comprehensively considers the optionality of workers' skill combinations, the differences in workers' skill levels, process sequence constraints, batch splitting, and changeover time;

[0009] (2) The constructed nonlinear integer programming model is converted into a two-level programming model including an upper-level programming model and a lower-level programming model, wherein the upper-level programming model is used to determine whether the result of the lower-level programming model in the last iteration meets the preset convergence condition. If so, the planning result is output; if not, the worker-Seru allocation strategy and the Seru production scheduling strategy are solved according to the production data of the producer and the result of the lower-level programming model in the last iteration. The lower-level programming model is used to solve the worker-operation allocation strategy according to the production data of the producer and the upper-level planning result, and feed it back to the upper-level planning model;

[0010] (3) Obtain production data of producers in the split Seru production model;

[0011] (4) Solving the bi-level programming model according to the producer's production data, obtaining a production construction strategy including a worker-Seru allocation strategy and a worker-operator allocation strategy, as well as a Seru production scheduling strategy.

[0012] Furthermore, the nonlinear integer programming model in step (1) is specifically:

[0013]

[0014]

[0015] CT ij =BT ij +ST ij +PT ij

[0016]

[0017]

[0018]

[0019]

[0020]

[0021]

[0022]

[0023]

[0024]

[0025]

[0026]

[0027]

[0028]

[0029] Where Makespan is the maximum completion time; CT j represents the completion time of product j, J represents the product set, CT ij represents the completion time of the sub-batch of product j assigned to Seru i; BT ijrepresents the production start time of the sub-batch of product j assigned to Seru i, Represents the Seru production scheduling strategy element. When the production assembly sequence of the sub-batch of product j in Seru i is k, the value is 1, otherwise it is 0; ST ij represents the time required for the sub-batch of product j to be assigned to Seru i, s j Indicates the time required for product j to be replaced; PT ij represents the production time required for the sub-batch of product j assigned to Seru i, K is the production assembly sequence set of the product sub-batch in Seru i, It represents the production time required for Seru i to perform operation o on product j. represents the worker-operation allocation strategy element, which has a value of 1 when worker w is responsible for processing operation o of product j in Seru i, and 0 otherwise. jo Indicates product operation parameters. When assembly product j needs to process operation o, the value is 1, otherwise it is 0. wo represents the worker skill parameter, which is 1 if worker w can process operation o, otherwise it is 0. wi Represents the worker-Seru allocation strategy element, which is 1 when worker w is assigned to Seru i, otherwise it is 0. wo represents the time required for worker w to perform operation o, and T wo =t o / E wo , t o Indicates the minimum or standard time required for operation o, E wo represents the skill level of worker w in processing operation o, Q ij represents the product allocation parameter, which is 1 when product j is allocated to the sub-batch of Seru i, otherwise it is 0, O represents the operation set, and W is the worker set; W i L , W i U They represent the lower and upper bounds of the number of workers assigned to Seru i, respectively, and Q j represents the demand for product j, N + is a set of positive integers.

[0030] Furthermore, the upper-level planning model is specifically as follows:

[0031]

[0032]

[0033]

[0034]

[0035]

[0036]

[0037] Furthermore, the lower-level planning model is specifically:

[0038]

[0039]

[0040]

[0041]

[0042]

[0043]

[0044] Furthermore, when solving the upper-level programming model of the two-level programming model, a hybrid genetic variable neighborhood search algorithm (HGVNSA) is used, which specifically includes:

[0045] (3.1.1) All production scheduling strategies and worker-Seru allocation strategies are encoded into chromosomes, and the initial population is randomly generated; when encoding chromosomes, the upper chromosome represents the worker-Seru allocation strategy, and the lower chromosome represents the production scheduling strategy;

[0046] (3.1.2) Check whether the generated population satisfies the constraints of the upper-level planning model. If not, modify it to satisfy them.

[0047] (3.1.3) Calculate the fitness value of the population and take out the optimal individual S with the highest fitness value opt , saved in the elite library; where the fitness function is the maximum completion time calculation function;

[0048] (3.1.4) Randomly generate an integer NK between 1 and NS, where NS is the number of neighborhood structures;

[0049] (3.1.5) Select the NKth neighborhood structure pair S opt Perform a neighborhood search and if you find a opt The solution S with a larger fitness value opt ′, then let S opt =S opt', update the elite database and return to step (3.1.4), otherwise directly return to step (3.1.4) until the search times reach the preset search threshold and execute step (3.1.6);

[0050] (3.1.6) Perform genetic operations on the population and compare the best individual S with the highest fitness value in the new population generated after the genetic operation with S opt Compare, if S has a higher fitness value, then let S opt =S, update the elite database and return to step (3.1.2), otherwise directly return to step (3.1.2) until the number of iterations reaches the preset value and then execute step (3.1.7);

[0051] (3.1.7) The optimal individual S in the elite pool at the end of the iteration opt Output as the optimal solution.

[0052] Furthermore, the population correction method in step (3.1.2) specifically includes:

[0053] (3.1.2.1) Set i = 1;

[0054] (3.1.2.2) Determine whether the number of workers in Seru i is greater than W i U If yes, execute step (3.1.2.3), if no, execute (3.1.2.4);

[0055] (3.1.2.3) Randomly select a production unit Seru i′, if the number of workers in Seru i′ is less than W i U , then randomly select a worker w from Seru i and assign it to Seru i′, and return to step (3.1.2.2), otherwise loop through this step;

[0056] (3.1.2.4) Set i=i+1 and determine whether i is greater than the total number of Seru n I If not, return to step (3.1.2.2); if yes, go to step (3.1.2.5);

[0057] (3.1.2.5) Set i = 1;

[0058] (3.1.2.6) Determine whether the number of workers in Seru i is less than W i L If yes, execute step (3.1.2.7), if no, execute (3.1.2.8);

[0059] (3.1.2.7) Randomly select a production unit Seru i′, if the number of workers in Seru i′ is greater than Wi L , then randomly select a worker w from Seru i′ and assign it to Seru i, and return to step (3.1.2.6), otherwise loop through this step;

[0060] (3.1.2.8) Set i=i+1 and determine whether i is greater than the total number of Seru n I If not, return to step (3.1.2.6); if yes, go to step (3.1.2.9);

[0061] (3.1.2.9) Get the population that does not satisfy ∑ i∈I Q ij =Q j The sub-batch of the first Seru that is not 0 will be corrected to the current allocation plus the demand minus the sum of the sub-batches allocated to all Serus, that is, Q 1j =Q 1j +Q j -∑ i∈I Q ij .

[0062] Furthermore, the method for generating the neighborhood structure includes:

[0063] A. Randomly select the gene values ​​of two positions on the upper chromosome and exchange them;

[0064] B. Randomly select a position on the upper chromosome and change its gene value;

[0065] C. Randomly select two products in the lower chromosome and exchange their production scheduling strategies;

[0066] D. Randomly select two Seru in the lower chromosome and exchange their production scheduling strategies;

[0067] E. Randomly select a product from the lower chromosome and change its distribution ratio in each Seru.

[0068] Furthermore, when solving the lower-level programming model of the two-level programming model, a greedy heuristic algorithm (GHA) is used, which specifically includes

[0069] (3.2.1) Sort the set of operations O required by the product according to the standard / minimum processing time and use W i represents the set of workers assigned to Seru i, set o = 1;

[0070] (3.2.2) Let W o =W i , and W oWorkers that cannot perform operation o are deleted;

[0071] (3.2.3) Find W o The workers who need the shortest time to perform operation o form a worker set N, and n represents the number of elements in the worker set N; if the worker set N is an empty set, execute step (3.2.9); otherwise, execute step (3.2.4);

[0072] (3.2.4) Set x = 1;

[0073] (3.2.5) Determine whether the x-th element N(x) in the worker set N is assigned to an adjacent operation of operation o. If so, assign worker N(x) to operation o and execute step (3.2.9); otherwise, execute step (3.2.6);

[0074] (3.2.6) Determine whether the x-th element N(x) in the worker set N is assigned to a non-adjacent operation of operation o. If so, remove N(x) from the worker set N. Otherwise, execute step (3.2.7);

[0075] (3.2.7) Set x=x+1. If x>n is not satisfied, return to step (3.2.5). If it is satisfied, go to step (3.2.8).

[0076] (3.2.8) If the set of workers N is an empty set, and W o If it is not an empty set, return to execute step (3.2.3); otherwise, randomly assign a worker from the set N to operation o and execute step (3.2.9);

[0077] (3.2.9) Set o=o+1. If o is less than or equal to the number of elements in the operation set O, return to step (3.2.2), otherwise, execute step (3.2.10).

[0078] (3.2.10) If all workers have been assigned to operations, but there are still operations that have not been assigned to workers, then execute step (3.2.11), otherwise execute step (3.2.12);

[0079] (3.2.11) For each operation q that has not been assigned to a worker, compare the time required for the worker assigned to the operation immediately before and after operation q to perform operation q, and assign the worker with the shorter time to operation q;

[0080] (3.2.12) Calculate the unit production time and the actual working time of each worker, and find the worker with the longest actual working time. In order to maximize the reduction of unit production time, the front-end or back-end operation that the worker is responsible for shall be assigned to the worker responsible for the adjacent operation.

[0081] In a second aspect, the present invention further provides a computer program product, comprising a computer program / instruction, wherein the computer program / instruction, when executed by a processor, implements the method as described in any one of claims 1 to 8.

[0082] In a third aspect, the present invention further provides a computer-readable storage medium having a computer program / instruction stored thereon, wherein the computer program / instruction implements the above method when executed by a processor.

[0083] Compared with the prior art, the present invention has the following beneficial effects: the present invention proposes a single-cycle Seru production system construction and scheduling joint optimization technology, which takes into account the process sequence constraints for the first time, and also comprehensively considers factors such as the differences in workers' skill combinations and skill levels, batch segmentation, and changeover time, so as to minimize the maximum completion time of the system and solve the collaborative optimization of single-cycle segmented Seru construction and scheduling. The present invention has good robustness and scalability in solving the joint optimization problem of Seru production construction and scheduling, and provides a scientific guiding basis for actual production operation decisions. BRIEF DESCRIPTION OF THE DRAWINGS

[0084] Figure 1 A flow chart of a joint optimization method for split Seru production construction and scheduling strategy provided by an embodiment of the present invention;

[0085] Figure 2 A schematic diagram of the HGVNSA-GHA algorithm framework provided by an embodiment of the present invention;

[0086] Figure 3 A flow chart of the HGVNSA algorithm provided by an embodiment of the present invention;

[0087] Figure 4 An example diagram of double-layer chromosome encoding provided by an embodiment of the present invention;

[0088] Figure 5 A schematic diagram of the partial correction process for infeasible solutions that do not satisfy the constraints;

[0089] Figure 6 A flow chart of the GHA algorithm provided by an embodiment of the present invention;

[0090] Figure 7 A flow chart of the HGVNSA-GHA algorithm provided by an embodiment of the present invention;

[0091] Figure 8 A schematic diagram of the iterative convergence process of the double-layer nested heuristic algorithm provided in an embodiment of the present invention;

[0092] Fig. 9 It is a schematic diagram of the Seru production scheduling strategy of the example of the present invention;

[0093] Fig.10 To improve the iterative process of GA algorithm - lower level optimization;

[0094] Fig.11 Comparison of algorithm operation results - upper layer optimization;

[0095] Fig.12 Comparison of algorithm running time - upper level optimization. DETAILED DESCRIPTION

[0096] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0097] Assume there is a split Seru production system with n w Multi-skilled workers with different skill sets and skill levels, n J products that require different skill combinations. Among them, each worker's proficiency level for each skill, the demand for each product, the type of skills required, and the changeover time are known and remain unchanged during this cycle. Usually, after receiving the product demand, the first-line manager will formulate a Seru construction strategy, that is, determine the number of Serus and the worker-Seru allocation strategy. Based on the Seru construction results, the production planning department will make a production scheduling strategy. In fact, the Seru construction results and the production scheduling strategy interact and influence each other, and jointly determine the worker-product operation allocation plan. Therefore, producers need to make a joint strategy that includes the Seru construction strategy and the production scheduling strategy.

[0098] Based on the above problems, the embodiment of the present invention establishes a split Seru construction and scheduling mathematical model with the goal of minimizing Makespan, and considers batch segmentation to make the production scheduling plan more balanced and flexible. Specifically, a joint optimization method for split Seru production construction and scheduling strategy is provided, such as Figure 1 As shown, the following steps are included:

[0099] S1. Construct a nonlinear integer programming model with the goal of minimizing the maximum completion time. The nonlinear integer programming model is centered on the producer based on the segmented Seru production model, and comprehensively considers the optionality of workers' skill combinations, differences in workers' skill levels, process sequence constraints, batch segmentation and changeover time.

[0100] Among them, the basic assumptions of the nonlinear integer programming model are as follows:

[0101] (1) During this period, the number of Seru is a given constant;

[0102] (2) The standard processing time for each operation is known;

[0103] (3) All operations required for a product batch or sub-batch assigned to a Seru must be completed within that Seru;

[0104] (4) The number of workers in Seru is constant, and the skill level of multi-skilled workers is not affected by physical condition, environment, mood, etc., and learning and forgetting effects are not considered;

[0105] (5) Considering the compact layout of workstations in Seru, the distance and time that multi-skilled workers need to move between workstations when performing different operations are ignored;

[0106] (6) Assuming that an operation can only be performed by one worker, one worker can be responsible for multiple consecutive operations;

[0107] (7) The transfer of multi-skilled workers between Serus is not considered;

[0108] (8) Since most processes in Seru use simple and low-cost equipment, the replication cost is usually small, so equipment constraints are not considered;

[0109] (9) The reloading time of the first product batch in each Seru is not taken into account, and the reloading time related to the product type is estimated and given in advance by experts based on historical data or experience.

[0110] The nonlinear integer programming model is specifically:

[0111]

[0112]

[0113] CT ij =BT ij +ST ij +PT ij

[0114]

[0115]

[0116]

[0117]

[0118]

[0119]

[0120]

[0121]

[0122]

[0123]

[0124]

[0125]

[0126]

[0127] Where Makespan is the maximum completion time; CT j represents the completion time of product j, J represents the product set, CT ij represents the completion time of the sub-batch of product j assigned to Seru i; BT ij represents the production start time of the sub-batch of product j assigned to Seru i, Represents the Seru production scheduling strategy element. When the production assembly sequence of the sub-batch of product j in Seru i is k, the value is 1, otherwise it is 0; ST ij represents the time required for the sub-batch of product j to be assigned to Seru i, s j Indicates the time required for product j to be replaced; PT ij represents the production time required for the sub-batch of product j assigned to Seru i, K is the production assembly sequence set of the product sub-batch in Seru i, It represents the production time required for Seru i to perform operation o on product j. represents the worker-operation allocation strategy element, which has a value of 1 when worker w is responsible for processing operation o of product j in Seru i, and 0 otherwise. jo Indicates product operation parameters. When assembly product j needs to process operation o, the value is 1, otherwise it is 0. wo represents the worker skill parameter, which is 1 if worker w can process operation o, otherwise it is 0. wi Represents the worker-Seru allocation strategy element, which is 1 when worker w is assigned to Seru i, otherwise it is 0. wo represents the time required for worker w to perform operation o, and T wo =t o / E wo , t o Indicates the minimum or standard time required for operation o, E worepresents the skill level of worker w in processing operation o, Q ij represents the product allocation parameter, which is 1 when product j is assigned to the sub-batch of Serui, otherwise it is 0. O represents the operation set, and W is the worker set. i L , W i U They represent the lower and upper bounds of the number of workers assigned to Seru i, respectively, and Q j represents the demand for product j, N + is a set of positive integers.

[0128] S2. Convert the constructed nonlinear integer programming model into a two-level programming model including an upper-level programming model and a lower-level programming model.

[0129] The split Seru production construction and scheduling nonlinear integer programming model considering process sequence constraints established by the present invention is a large-scale discrete optimization problem including worker-Seru allocation, Seru production scheduling, and worker-operation allocation. Both the worker-Seru allocation problem and the Seru production scheduling problem are NP-hard problems. After determining the worker-Seru allocation and the Seru production scheduling plan, the workers of each Seru are assigned to each operation of each product, which is similar to the assignment problem with process sequence constraints, and the generalized assignment problem is a typical NP-hard problem. Therefore, the problem studied is also an NP-hard problem. In view of the multi-decision nature of the research problem and the differences between decisions, the present invention converts the established model into a two-level programming model, and the upper and lower level planning cooperate with each other to minimize Makespan as the goal. The upper-level planning model is used to determine whether the results of the lower-level planning model in the last iteration meet the preset convergence conditions. If so, the planning results are output; if not, the worker-Seru allocation strategy and Seru production scheduling strategy are solved based on the producer's production data and the results of the lower-level planning model in the last iteration. The lower-level planning model is used to solve the worker-operation allocation strategy based on the producer's production data and the upper-level planning results, and feed it back to the upper-level planning model.

[0130] Specifically, the upper-level planning model is as follows:

[0131]

[0132]

[0133]

[0134]

[0135]

[0136]

[0137] The lower-level planning model is specifically:

[0138]

[0139]

[0140]

[0141]

[0142]

[0143]

[0144] S3. Obtain production data of producers in the split Seru production model.

[0145] Among them, the production data includes the proficiency level of each worker in each skill, the demand for each product, the type of skills required, the changeover time, the demand for each product, the upper and lower limits of the number of workers allocated in each Seru, etc.

[0146] S4. Solve the two-level programming model according to the production data of the producer to obtain a production construction strategy including a worker-Seru allocation strategy and a worker-operation allocation strategy, as well as a Seru production scheduling strategy.

[0147] The present invention designs a double-layer nested heuristic algorithm HGVNSA-GHA based on a hybrid genetic variable neighborhood search algorithm. The algorithm adopts a hybrid genetic variable neighborhood search algorithm (HGVNSA) for upper-level planning, and designs a greedy heuristic algorithm (GHA) for lower-level planning. Therefore, the entire algorithm is called HGVNSA-GHA. The basic framework is as follows Figure 2 As shown, the relationship between the upper and lower layer algorithms is shown in detail.

[0148] like Figure 3 As shown, HGVNSA specifically includes:

[0149] (3.1.1) All production scheduling strategies and worker-Seru allocation strategies are chromosomally encoded, and the initial population is randomly generated.

[0150] Among them, when chromosomes are encoded, the upper chromosomes represent the worker-Seru allocation strategy, and the lower chromosomes represent the production scheduling strategy. In order to meet the constraints, the permutation encoding method is used to represent the worker-Seru allocation strategy. The gene position represents the worker's code, and the gene value represents the Seru code assigned to the worker. Before making a production plan, the products can be encoded with natural numbers from large to small according to the changeover time, so that the scheduling problem can be converted into an allocation problem. In order to meet the demand constraints, the allocation ratio will be introduced to represent the allocation solution through real number encoding. This encoding method can ensure that the same Seru can only process one sub-batch of the same product. In fact, in order to save changeover time, when multiple sub-batches of the same product are assigned to a certain Seru, multiple sub-batches of the same product will be produced successively and continuously, so they can be regarded as one sub-batch. Therefore, the designed encoding method is efficient and feasible. Figure 4 The example in Figure 1 shows the two-layer encoding method intuitively. It can be seen that in the upper chromosome, worker 1 is assigned to Seru 2, worker 2 is assigned to Seru 3, and so on. In the lower chromosome, r 11 ×Q1 is the quantity of product 1 produced in Seru 1, r 12 ×Q2 is the quantity of product 2 produced in Seru 1, and so on.

[0151] (3.1.2) Check whether the generated population satisfies the constraints of the upper-level planning model. If not, modify it to satisfy them.

[0152] Among them, the population correction method is as follows Figure 5 As shown, specifically including:

[0153] (3.1.2.1) Set i = 1;

[0154] (3.1.2.2) Determine whether the number of workers in Seru i is greater than W i U If yes, execute step (3.1.2.3), if no, execute (3.1.2.4);

[0155] (3.1.2.3) Randomly select a production unit Seru i′, if the number of workers in Seru i′ is less than W i U , then randomly select a worker w from Seru i and assign it to Seru i′, and return to step (3.1.2.2), otherwise loop through this step;

[0156] (3.1.2.4) Set i=i+1 and determine whether i is greater than the total number of Seru n I If not, return to step (3.1.2.2); if yes, go to step (3.1.2.5);

[0157] (3.1.2.5) Set i = 1;

[0158] (3.1.2.6) Determine whether the number of workers in Seru i is less than W i L If yes, execute step (3.1.2.7), if no, execute (3.1.2.8);

[0159] (3.1.2.7) Randomly select a production unit Seru i′, if the number of workers in Seru i′ is greater than W i L , then randomly select a worker w from Seru i′ and assign it to Seru i, and return to step (3.1.2.6), otherwise loop through this step;

[0160] (3.1.2.8) Set i=i+1 and determine whether i is greater than the total number of Seru n I If not, return to step (3.1.2.6); if yes, go to step (3.1.2.9);

[0161] (3.1.2.9) Get the population that does not satisfy ∑ i∈I Q ij =Q j The sub-batch of the first Seru that is not 0 will be corrected to the current allocation plus the demand minus the sum of the sub-batches allocated to all Serus, that is, Q 1j =Q 1j +Q j -∑ i∈I Q ij .

[0162] (3.1.3) Calculate the fitness value of the population and take out the optimal individual S with the highest fitness value opt , saved to the elite library.

[0163] Among them, fitness function is an indicator used by genetic algorithm to judge the quality of individuals in the population, and is also the basis for genetic operation. The complexity of fitness function will have a greater impact on the complexity of genetic algorithm. Therefore, the designed fitness function should be as simple as possible to minimize the complexity of calculation time. In this case, the present invention directly represents the fitness function with the objective function of the maximum completion time calculation function.

[0164] (3.1.4) Randomly generate an integer NK between 1 and NS, where NS is the number of neighborhood structures.

[0165] Among them, the method for generating the neighborhood structure includes: A. randomly selecting the gene values ​​of two positions on the upper chromosome and exchanging them; B. randomly selecting a position on the upper chromosome and changing its gene value; C. randomly selecting two products on the lower chromosome and exchanging their production scheduling strategies; D. randomly selecting two Serus on the lower chromosome and exchanging their production scheduling strategies; E. randomly selecting a product on the lower chromosome and changing its distribution ratio in each Seru.

[0166] (3.1.5) Select the NKth neighborhood structure pair S opt Perform a neighborhood search and if you find a opt The solution S with a larger fitness value opt ′, then let S opt =S opt ', update the elite database and return to step (3.1.4), otherwise directly return to step (3.1.4) until the search times reach the preset search threshold and execute step (3.1.6).

[0167] (3.1.6) Perform genetic operations on the population and compare the best individual S with the highest fitness value in the new population generated after the genetic operation with S opt Compare, if S has a higher fitness value, then let S opt =S, update the elite database and return to step (3.1.2), otherwise directly return to step (3.1.2) until the number of iterations reaches the preset value and execute step (3.1.7).

[0168] The binary tournament selection method is used to select offspring individuals from the parent population during genetic operations. Due to the use of a double-layer chromosome encoding method, the upper and lower layers of the chromosome need to be crossover and mutation operations separately. The upper layer of the chromosome uses a two-point crossover and a single-point mutation method. The lower layer of the chromosome uses a matrix column crossover and a matrix column mutation method.

[0169] (3.1.7) The optimal individual S in the elite pool at the end of the iteration opt Output as the optimal solution.

[0170] According to the worker-Seru allocation strategy and Seru production scheduling strategy provided by HGVNSA, the greedy heuristic algorithm GHA needs to solve n J worker-operation allocation subproblems, where n J is the number of product types. Figure 6 As shown, specifically including:

[0171] (3.2.1) Sort the set of operations O required by the product according to the standard / minimum processing time and use W i represents the set of workers assigned to Seru i, set o = 1;

[0172] (3.2.2) Let W o =W i , and W o Workers that cannot perform operation o are deleted;

[0173] (3.2.3) Find W o The workers who need the shortest time to perform operation o form a worker set N, and n represents the number of elements in the worker set N; if the worker set N is an empty set, execute step (3.2.9); otherwise, execute step (3.2.4);

[0174] (3.2.4) Set x = 1;

[0175] (3.2.5) Determine whether the x-th element N(x) in the worker set N is assigned to an adjacent operation of operation o. If so, assign worker N(x) to operation o and execute step (3.2.9); otherwise, execute step (3.2.6);

[0176] (3.2.6) Determine whether the x-th element N(x) in the worker set N is assigned to a non-adjacent operation of operation o. If so, remove N(x) from the worker set N. Otherwise, execute step (3.2.7);

[0177] (3.2.7) Set x=x+1. If x>n is not satisfied, return to step (3.2.5). If it is satisfied, go to step (3.2.8).

[0178] (3.2.8) If the set of workers N is an empty set, and W o If it is not an empty set, return to execute step (3.2.3); otherwise, randomly assign a worker from the set N to operation o and execute step (3.2.9);

[0179] (3.2.9) Set o=o+1. If o is less than or equal to the number of elements in the operation set O, return to step (3.2.2), otherwise, execute step (3.2.10).

[0180] (3.2.10) If all workers have been assigned to operations, but there are still operations that have not been assigned to workers, then execute step (3.2.11), otherwise execute step (3.2.12);

[0181] (3.2.11) For each operation q that has not been assigned to a worker, compare the time required for the worker assigned to the operation immediately before and after operation q to perform operation q, and assign the worker with the shorter time to operation q;

[0182] (3.2.12) Calculate the unit production time and the actual working time of each worker, and find the worker with the longest actual working time. In order to maximize the reduction of unit production time, the front-end or back-end operation that the worker is responsible for shall be assigned to the worker responsible for the adjacent operation.

[0183] In summary, the overall framework of HGVNSA-GHA is as follows: Figure 7 shown.

[0184] In addition, an embodiment of the present invention further provides a computer program product, including a computer program / instruction, characterized in that the computer program / instruction implements the above method when executed by a processor.

[0185] An embodiment of the present invention further provides a computer-readable storage medium having a computer program / instruction stored thereon, wherein the computer program / instruction implements the above method when executed by a processor.

[0186] The storage medium of the embodiment of the present invention can adopt any combination of one or more computer-readable media. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of computer-readable storage media include: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. The code of the computer executable program for performing the operation of the present invention can be written in one or more programming languages ​​or a combination thereof, and the programming language includes an object-oriented programming language, such as Java, Smalltalk, C++, and also includes a conventional procedural programming language, such as "C" language or similar programming language.

[0187] The practicality and effectiveness of the proposed co-evolutionary algorithm will be verified by numerical examples. Based on the comparative experiments, Table 1 lists the HGVNSA-GHA algorithm parameters used to test the numerical examples. The algorithm is implemented by MATLAB R2020b on an i7-1165G7 CPU with 16G running memory.

[0188] Table 1 Algorithm parameter settings

[0189]

[0190] (1) Experimental setup

[0191] The parameters of the test case are shown in Table 2. Based on Table 2, numerical examples for testing are randomly generated. The generated numerical example data are shown in Tables 3 and 4. This example considers a split Seru production system with 15 multi-skilled workers. These 15 workers will be used to build 3 Serus to complete the production of 6 products. Among them, the number of workers in each Seru cannot exceed 6 and is not less than 4. Table 3 lists the parameters related to the products (the products are sorted in order from large to small according to the changeover time). Table 4 lists the worker skill level and the minimum / standard production time of each operation.

[0192] Table 2 Test example parameters

[0193]

[0194] Table 3 Product related data

[0195]

[0196] Table 4 Worker skill level and minimum / standard production time of operations

[0197]

[0198]

[0199] (2) Results Analysis

[0200] The HGVNSA-GHA algorithm designed by the present invention is used to solve the above example, and the following results are obtained: Figure 8 As shown in the figure, Makespan gradually decreases as the iteration process progresses, and the algorithm begins to converge around the 70th generation. The optimal Makepsan obtained by the algorithm this time is about 771min. Table 5 shows the producer's worker-Seru allocation strategy under this scheme. It can be seen that workers 1, 5, 6, 8, 10, and 11 are assigned to Seru 1, workers 7, 12, 13, and 14 are assigned to Seru 2, and the remaining workers 2, 3, 4, 9, and 15 are assigned to Seru 3. Table 6 is the corresponding product-Seru allocation strategy. Product 2 and product 6 are assigned to Seru 1, products 3 and 5 are assigned to Seru 3, and product 1 and product 4 are batch split, where product 1 is assigned to Seru 2 and Seru 3, and product 4 is assigned to Seru 1 and Seru 2. Fig. 9The Seru production scheduling strategy is intuitively displayed. It can be found that the total processing time of each Seru is 769min, 771min and 770min respectively. Among them, the Seru with the longest production time (i.e., Seru 2) is only 2min longer than the Seru with the shortest production time (i.e., Seru 1). Therefore, the task volume of the Seru production system is relatively balanced, that is, the production line is balanced. Table 7 lists the corresponding worker-operation task allocation strategies. Taking product 1 in Seru 2 as an example, it is known that the actual operations required for product 1 are 1, 2, 3, 6, 7 and 9, then operation 1 is assigned to worker 12, operation 2 and operation 3 are assigned to worker 13, operation 6 is assigned to worker 14, and operation 7 and operation 9 are assigned to worker 7. In addition, the results of 100 runs of this example are statistically analyzed. The average running time is about 360s, the Makespan average is about 784min, and the 95% confidence interval is [781.07, 787.30], indicating that the designed HGVNSA-GHA algorithm has good robustness.

[0201] Table 5 Worker-Seru allocation decision

[0202]

[0203] Table 6 Product-Seru allocation strategy

[0204]

[0205] Table 7 Worker-operation allocation strategy

[0206]

[0207]

[0208] Note: 'ith' indicates the ith operation actually required by the product

[0209] (3) GHA performance test

[0210] In order to illustrate the necessity of considering process sequence constraints, the present invention considers the following situations under a given worker-Seru allocation strategy and Seru scheduling scheme: the worker-operation allocation scheme without considering worker sequence constraints, that is, allowing workers to operate across workbenches, assuming that each operation is performed by only one person, and the worker with the shortest required operation time can be selected for the operation required by the product, and the completion time of a single product is the sum of the actual time taken by the actual production workers to perform each operation. Based on the worker-Seru allocation plan and Seru scheduling scheme proposed by the present invention, the optimal Makespan is about 2704.1min using the worker-operation allocation scheme without considering worker sequence constraints, which is about 3.5 times that under considering process sequence constraints. Therefore, it is very necessary to consider process sequence constraints.

[0211] To further illustrate the effectiveness of the GHA algorithm, an improved GA algorithm is designed, that is, an improved rule is introduced into the GA: (1) If there is a worker w who is not assigned to any operation, find the worker with the heaviest workload and assign the front-end or back-end operation that the worker is responsible for to w (provided that the production time of the product can be shortened); (2) Calculate and compare the actual production time of each worker, transfer the front-end or back-end operation of the worker with the heaviest workload to the worker responsible for the adjacent operation, and determine whether the transferred task can reduce the total production time. If it cannot reduce the production time, there is no need to transfer the task (the front-end and back-end operations need to be tested separately). Based on the worker-Seru allocation plan and Seru scheduling scheme results proposed in the present invention, the iterative process of the improved GA algorithm is as follows: Fig.10 As shown. It can be found that the result is worse than that of the GHA algorithm, and its single running time is about 80s, while the single running time of GHA does not exceed 1s. Therefore, it can be considered that the GHA algorithm designed by the present invention is relatively effective.

[0212] (4) HGVNSA performance test

[0213] In order to further verify the advancement of the designed algorithm, the present invention also designed SA, GA, PSO algorithms based on double-layer coding, and SA-SA, SA-GA, SA-PSO, GA-GA, GA-PSO and other algorithms using collaborative evolution to solve the upper-level planning, and the GHA algorithm is used for the lower-level planning. Fig.11 and 12 The running results and running time of these algorithms for 5 convergences are shown respectively. For the convenience of comparison, the running results and running time of each algorithm are processed in ascending order. It can be found that SA and GA have short running times, but poor running results. Although various types of co-evolutionary algorithms have good solution effects, they have long running times, while the HGVNSA algorithm has good running results and relatively short running time. In summary, it can be considered that the HGVNSA-GHA algorithm can effectively solve the problem under study.

[0214] The present invention studies the joint optimization problem of construction and scheduling of a split Seru production system, comprehensively considers factors such as the differences in workers' skill combinations and skill levels, process sequence constraints, batch segmentation, and changeover time, and constructs a nonlinear integer programming model with the goal of minimizing Makespan. Considering the complexity of the problem under study, the problem under study is transformed into a two-level programming problem with the goal of minimizing Makespan, in which the upper layer is used to solve the worker-Seru allocation and Seru production scheduling plan, and the lower layer is used to solve the worker-operation task allocation. In view of the problem and model under study, a two-layer nested heuristic algorithm based on a combination of a hybrid genetic variable neighborhood search and a greedy heuristic algorithm is designed, and a case test is carried out. The specific implementation results show that the two-layer nested heuristic algorithm can not only obtain a smaller Makespan, but also has a shorter operation time and good robustness and scalability.

[0215] In practice, due to the different product types and specifications, and the fact that some assembly operations have no mandatory order constraints, the operation execution order of all products may not be in ascending order according to the operation codes. However, by simply processing the original data, that is, encoding the operations required for each product according to the order in which the operations are actually executed, the heuristic algorithm of the present invention can still be used to achieve worker-operation allocation.

Claims

1. A joint optimization method for split Seru production construction and scheduling strategy, characterized in that: The steps include: (1) A nonlinear integer programming model is constructed with the goal of minimizing the maximum completion time. The nonlinear integer programming model is centered on the producer based on the split Seru production model and comprehensively considers the optionality of workers' skill combinations, the differences in workers' skill levels, process sequence constraints, batch splitting, and changeover time; (2) The constructed nonlinear integer programming model is converted into a two-level programming model including an upper-level programming model and a lower-level programming model, wherein the upper-level programming model is used to determine whether the result of the lower-level programming model in the last iteration meets the preset convergence condition. If so, the planning result is output; if not, the worker-Seru allocation strategy and the Seru production scheduling strategy are solved according to the production data of the producer and the result of the lower-level programming model in the last iteration. The lower-level programming model is used to solve the worker-operation allocation strategy according to the production data of the producer and the upper-level planning result, and feed it back to the upper-level planning model; (3) Obtaining production data of producers in the split Seru production model; the production data includes the proficiency level of each worker in each skill, the demand for each product, the type of skills required, the changeover time, the demand for each product, and the upper and lower limits of the number of workers assigned to each Seru; (4) solving the bi-level programming model according to the production data of the producer, and obtaining a production construction strategy including a worker-Seru allocation strategy and a worker-operator allocation strategy, as well as a Seru production scheduling strategy; The nonlinear integer programming model in step (1) is specifically: CT ij =BT ij +ST ij +PT ij Where Makespan is the maximum completion time; CT j represents the completion time of product j, J represents the product set, CT ij represents the completion time of the sub-batch of product j assigned to Seru i; BT ij represents the production start time of the sub-batch of product j assigned to Seru i, Represents the Seru production scheduling strategy element. When the production assembly sequence of the sub-batch of product j in Seru i is k, the value is 1, otherwise it is 0; ST ij represents the time required for the sub-batch of product j to be assigned to Seru i, s j Indicates the time required for product j to be replaced; PT ij represents the production time required for the sub-batch of product j assigned to Seru i, K is the production assembly sequence set of the product sub-batch in Seru i, It represents the production time required for Seru i to perform operation o on product j. represents the worker-operation allocation strategy element, which has a value of 1 when worker w is responsible for processing operation o of product j in Seru i, and 0 otherwise. jo Indicates product operation parameters. When assembly product j needs to process operation o, the value is 1, otherwise it is 0. wo represents the worker skill parameter, which is 1 if worker w can process operation o, otherwise it is 0. wi Represents the worker-Seru allocation strategy element, which is 1 when worker w is assigned to Seru i, otherwise it is 0. wo represents the time required for worker w to perform operation o, and T wo =t o / E wo , t o Indicates the minimum or standard time required for operation o, E wo represents the skill level of worker w in processing operation o, Q ij represents the product allocation parameter, which is 1 when product j is assigned to the sub-batch of Seru i, otherwise it is 0, O represents the operation set, and W is the worker set; They represent the lower and upper bounds of the number of workers assigned to Seru i, respectively, and Q j represents the demand for product j, N + is a set of positive integers; The upper-level planning model is specifically: The lower-level planning model is specifically:

2. The joint optimization method for split Seru production construction and scheduling strategy according to claim 1 is characterized in that: When solving the upper-level programming model of the two-level programming model, a hybrid genetic variable neighborhood search algorithm (HGVNSA) is used, which specifically includes: (3.1.1) All production scheduling strategies and worker-Seru allocation strategies are encoded into chromosomes, and the initial population is randomly generated; when encoding chromosomes, the upper chromosome represents the worker-Seru allocation strategy, and the lower chromosome represents the production scheduling strategy; (3.1.2) Check whether the generated population satisfies the constraints of the upper-level planning model. If not, modify it to satisfy them. (3.1.3) Calculate the fitness value of the population and take out the individual S with the highest fitness value opt , saved in the elite library; where the fitness function is the maximum completion time calculation function; (3.1.4) Randomly generate an integer NK between 1 and NS, where NS is the number of neighborhood structures; (3.1.5) Select the NKth neighborhood structure pair S opt Perform a neighborhood search and if you find a opt The solution S with a larger fitness value opt ′, then let S opt =S opt ', update the elite database and return to step (3.1.4), otherwise directly return to step (3.1.4) until the search times reach the preset search threshold and execute step (3.1.6); (3.1.6) Perform genetic operations on the population and compare the best individual S with the highest fitness value in the new population generated after the genetic operation with S opt Compare, if S has a higher fitness value, then let S opt =S, update the elite database and return to step (3.1.2), otherwise directly return to step (3.1.2) until the number of iterations reaches the preset value and then execute step (3.1.7); (3.1.7) The optimal individual S in the elite pool at the end of the iteration opt Output as the optimal solution.

3. The joint optimization method for split Seru production construction and scheduling strategy according to claim 2 is characterized in that: The population correction method in step (3.1.2) specifically includes: (3.1.2.1) Set i = 1; (3.1.2.2) Determine whether the number of workers in Seru i is greater than If yes, execute step (3.1.2.3); if no, execute (3.1.2.4); (3.1.2.3) Randomly select a production unit Seru i′, if the number of workers in Seru i′ is less than Then randomly select a worker w from Serui and assign it to Serui′, and return to execute step (3.1.2.2), otherwise loop to execute this step; (3.1.2.4) Set i=i+1 and determine whether i is greater than the total number of Seru n I If not, return to step (3.1.2.2); if yes, go to step (3.1.2.5); (3.1.2.5) Set i = 1; (3.1.2.6) Determine whether the number of workers in Seru i is less than If yes, proceed to step (3.1.2.7); if no, proceed to step (3.1.2.8); (3.1.2.7) Randomly select a production unit Seru i′, if the number of workers in Seru i′ is greater than Then randomly select a worker w from Serui′ and assign it to Serui, and return to step (3.1.2.6), otherwise loop through this step; (3.1.2.8) Set i=i+1 and determine whether i is greater than the total number of Seru n I If not, return to step (3.1.2.6); if yes, go to step (3.1.2.9); (3.1.2.9) Get the population that does not satisfy ∑ i∈I Q ij =Q j The sub-batch of the first Seru that is not 0 will be corrected to the current allocation plus the demand minus the sum of the sub-batches allocated to all Serus, that is, Q 1j =Q 1j +Q j -∑ i∈I Q ij .

4. The joint optimization method for split Seru production construction and scheduling strategy according to claim 2 is characterized in that: The method for generating the neighborhood structure comprises: A. Randomly select the gene values ​​of two positions on the upper chromosome and exchange them; B. Randomly select a position on the upper chromosome and change its gene value; C. Randomly select two products in the lower chromosome and exchange their production scheduling strategies; D. Randomly select two Seru in the lower chromosome and exchange their production scheduling strategies; E. Randomly select a product from the lower chromosome and change its distribution ratio in each Seru.

5. The joint optimization method for split Seru production construction and scheduling strategy according to claim 2 is characterized in that: When solving the lower-level programming model of the two-level programming model, a greedy heuristic algorithm (GHA) is used, which specifically includes (3.2.1) Sort the set of operations O required by the product according to the standard / minimum processing time and use W i represents the set of workers assigned to Seru i, set o = 1; (3.2.2) Let W o =W i , and W o The workers that cannot perform operation o are deleted; (3.2.3) Find W o The workers who need the shortest time to perform operation o form a worker set N, and n represents the number of elements in the worker set N; if the worker set N is an empty set, execute step (3.2.9); otherwise, execute step (3.2.4); (3.2.4) Set x = 1; (3.2.5) Determine whether the x-th element N(x) in the worker set N is assigned to an adjacent operation of operation o. If so, assign worker N(x) to operation o and execute step (3.2.9); otherwise, execute step (3.2.6); (3.2.6) Determine whether the x-th element N(x) in the worker set N is assigned to a non-adjacent operation of operation o. If so, remove N(x) from the worker set N. Otherwise, execute step (3.2.7); (3.2.7) Set x=x+1. If x>n is not satisfied, return to step (3.2.5). If it is satisfied, go to step (3.2.8). (3.2.8) If the set of workers N is an empty set, and W o If it is not an empty set, return to execute step (3.2.3); otherwise, randomly assign a worker from the set N to operation o and execute step (3.2.9); (3.2.9) Set o=o+1. If o is less than or equal to the number of elements in the operation set O, return to step (3.2.2), otherwise, execute step (3.2.10). (3.2.10) If all workers have been assigned to operations, but there are still operations that have not been assigned to workers, then execute step (3.2.11), otherwise execute step (3.2.12); (3.2.11) For each operation q that has not been assigned to a worker, compare the time required for the worker assigned to the operation immediately before and after operation q to perform operation q, and assign the worker with the shorter time to operation q; (3.2.12) Calculate the unit production time and the actual working time of each worker, and find the worker with the longest actual working time. In order to maximize the reduction of unit production time, the front-end or back-end operation that the worker is responsible for shall be assigned to the worker responsible for the adjacent operation.

6. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the method according to any one of claims 1 to 5 is implemented.

7. A computer-readable storage medium having a computer program / instruction stored thereon, characterized in that: The computer program / instructions, when executed by a processor, implement the method of any one of claims 1-5.

Citation Information

Patent Citations

  • Flexible manufacturing workshop optimization scheduling method and system

    CN113034047A