Virtual cell scheduling method and system based on grouping technology and improved CS algorithm
By improving the CS algorithm and using adaptive flight step size and variable neighborhood search with bird nest discovery probability, the virtual unit scheduling model was optimized, solving the problem of difficulty in obtaining the optimal solution in multi-variety small-batch production, and achieving rapid and low-cost production efficiency improvement.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- WUHAN UNIV OF SCI & TECH
- Filing Date
- 2022-12-23
- Publication Date
- 2026-05-05
AI Technical Summary
Existing virtual unit scheduling methods struggle to obtain optimal solutions when dealing with multi-variety, small-batch production, resulting in low production efficiency and high reconfiguration costs.
By employing group technology and an improved CS algorithm, a variable neighborhood search with adaptive flight step size and adaptive bird nest discovery probability is used, combined with four-segment coding and bird nest repair strategy, to optimize the virtual unit scheduling model and construct a mixed integer mathematical programming model to minimize the maximum completion time.
Without altering the physical layout of production equipment, rapid and low-cost production of multiple varieties of small-batch orders was achieved, improving production efficiency and reducing restructuring costs.
Smart Images

Figure CN115829425B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of virtual cell scheduling, and more specifically, relates to a virtual cell scheduling method and system based on grouping technology and improved CS algorithm. Background Technology
[0002] As domestic and international market orders become increasingly diverse, the demand for large-scale production is gradually decreasing. Therefore, to meet the needs of diverse, small-batch products, group technology is widely used in the manufacturing industry, most notably cell manufacturing. However, switching between product orders inevitably requires cell reconfiguration, and production efficiency and reconfiguration costs affect the orderly progress of actual production. Therefore, this paper proposes a hybrid integer mathematical programming model for virtual cell scheduling, which can improve production efficiency, increase equipment utilization, and reduce reconfiguration costs during cell reconfiguration.
[0003] Compared to traditional virtual cell scheduling, this approach draws upon three key aspects of modular manufacturing: cell construction, cell layout, and cell scheduling. In modular manufacturing, most researchers optimize only a single aspect. Bai Chaoyang et al. addressed the transition from assembly lines to cells, aiming to minimize the number of employees and completion time, considering the relationship between workpieces and cells during cell construction. Ding Xianghai et al. addressed the U-shaped cell reconfiguration problem, considering multiple objectives such as logistics, construction, and time costs. Lian Yongwei et al. studied the cell scheduling problem considering the logistics costs of inter-cell movement and the total system completion time. Zhao Zian et al. incorporated machine failures into cell scheduling, aiming to minimize the overall cost and completion time caused by machine failures. In practical manufacturing systems, integrated optimization of virtual cell scheduling yields better solutions than independent decision-making and can effectively and quickly respond to changes in market demand for multi-variety, small-batch production. This approach dynamically integrates and optimizes virtual cell scheduling, eliminating the reconfiguration costs associated with cell layout and proposing a new virtual cell scheduling model.
[0004] The virtual cell scheduling problem is NP-hard. Exact algorithms have limitations and are often used to solve small-scale cases. Heuristic algorithms and intelligent optimization algorithms have achieved fruitful results in this field, but improving their performance remains a key research focus as problem complexity increases. Summary of the Invention
[0005] In view of the shortcomings of the prior art, the purpose of this invention is to provide a virtual cell scheduling method and system based on grouping technology and improved CS algorithm, which aims to solve the problem that the solution obtained by the existing method is not the optimal solution.
[0006] To achieve the above objectives, in a first aspect, the present invention provides a virtual cell scheduling method based on grouping technology and an improved CS algorithm, comprising:
[0007] Obtain the number of workpieces, the number of machines, the number of AGVs, the number of manufacturing units, the number of processes for each workpiece, the processing time for each process on different machines, and the processing sequence of the processes;
[0008] The system receives the division of workpiece groups, machine groups, and manufacturing units. All components in the workpiece group have similar processes. All machines in the machine group process the same workpiece group. The manufacturing unit corresponds one-to-one with the machine group. The AGV is responsible for transporting workpieces that need to be processed across units.
[0009] The objective function for constructing the virtual unit scheduling is to minimize the maximum completion time of all workpiece processing processes;
[0010] The workpiece processing sequence, AGV allocation, and machine configuration within the unit are coded on different machines.
[0011] An improved CS algorithm is used to solve the coded virtual cell scheduling problem. The improved CS algorithm introduces Levy flight with adaptive flight step size and variable neighborhood search with adaptive bird nest discovery probability.
[0012] The optimal solution is decoded, and the virtual unit scheduling result is output.
[0013] Preferably, the objective function is:
[0014]
[0015] The objective function must satisfy the following constraints:
[0016] a. Constraints between preceding and following processes for the workpiece:
[0017]
[0018] b. Each machine is assigned to a designated unit:
[0019]
[0020] c. The same workpiece can only be processed on one machine at a time:
[0021]
[0022] d. Time constraints for AGVs transporting designated workpieces:
[0023]
[0024] e. The difference in the total number of machines in any unit cannot exceed 2:
[0025]
[0026] Among them, ME pkmPE represents the end time of the k-th operation on machine m for workpiece p. pkm D represents the end time of the k-th operation of workpiece p on machine m. mc This indicates whether machine m is assigned to unit c, where c represents the manufacturing unit number, C represents the number of manufacturing units, p represents the workpiece number, N represents the number of workpieces, k represents the operation number of workpiece p, and OP... p V represents the number of operations for workpiece p. pkm Indicates whether the k-th process of workpiece p is processed on machine m, AS pka AT represents the start time of the k-th operation of workpiece p using AGV number a. pka AE represents the running time of AGV number a for the k-th operation of workpiece p. pka The time of the k-th process of workpiece p using AGV number a is represented by m, where m represents the machine number and M represents the number of machines.
[0027] Preferably, the encoding of the workpiece processing sequence, AGV allocation, and machine configuration within the unit on different machines includes:
[0028] A four-segment coding system is adopted, namely, process segment, machine segment, AGV segment, and unit segment;
[0029] According to the Bird's Nest to process segment reference sequence, the Bird's Nest segment is converted into a process segment. The length of the Bird's Nest segment is the total number of processes, and its value ranges from 0 to 1 (a decimal).
[0030] For the machine section, one machine is randomly selected from the group of machines available for the corresponding process.
[0031] For the AGV segment, randomly generate an integer in the range [1-V], where V represents the total number of AGVs;
[0032] For a unit segment, the value is determined by the machine corresponding to the process and the machine-unit allocation scheme, and the value range is an integer in the range of [1-C], where C represents the number of units.
[0033] Preferably, the formula for calculating the adaptive flight step size is as follows:
[0034]
[0035] Where L represents the actual flight step size, step represents the random step size proposed by Mantegna, s represents the current bird's nest, best represents the bird's nest with the best number of iterations, α represents the control step size, Q represents the total number of iterations, and j represents the current number of iterations.
[0036] Preferably, the formula for calculating the adaptive bird's nest discovery probability is as follows:
[0037]
[0038] Where FP represents the probability of discovery, P s P represents the minimum probability of discovery. c Let Q represent the transformation probability magnitude, Q represent the total number of iterations, and j represent the current iteration number.
[0039] Preferably, the variable neighborhood search is a swap, transpose, or prepend search.
[0040] To achieve the above objectives, in a second aspect, the present invention provides a virtual cell scheduling system based on grouping technology and an improved CS algorithm, comprising: a processor and a memory; the memory for storing computer execution instructions; and the processor for executing the computer execution instructions such that the method described in the first aspect is executed.
[0041] In summary, the technical solutions conceived by this invention have the following beneficial effects compared with the prior art:
[0042] This invention addresses the virtual unit scheduling problem in a multi-variety, small-batch environment. With the goal of minimizing the maximum completion time, a mixed-integer mathematical programming model is constructed. This model enables rapid, low-cost production of small-batch, multi-variety orders without altering the physical layout of production equipment. Based on the Cuckoo Algorithm, improvements are made. First, the encoding is a four-segment structure, and a nest repair strategy is implemented during the decoding process to ensure the feasibility of the decoding solution. Second, an adaptive flight step size and discovery probability are designed to improve overall search performance. Three neighborhood pairs are designed to update the solution, and a unit construction rule is used to perturb the construction scheme. Finally, the improved Cuckoo Algorithm is used to solve the problem, yielding a superior solution. Compared to other intelligent optimization algorithms, this model more effectively solves the virtual unit scheduling problem and obtains a production scheme with the shortest completion time as the objective, effectively addressing a practical problem in a production assembly workshop. Attached Figure Description
[0043] Figure 1 This is a flowchart of the improved CS algorithm provided by the present invention.
[0044] Figure 2 This is a schematic diagram of the bird's nest coding provided by the present invention.
[0045] Figure 3 This is the virtual unit scheduling Gantt chart provided by the present invention.
[0046] Figure 4 This is a schematic diagram of the improved cuckoo algorithm provided by the present invention, showing the number of iterations and the maximum completion time.
[0047] Figure 5 This is a schematic diagram of the optimal virtual unit construction provided by the present invention. Detailed Implementation
[0048] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0049] Description and Mathematical Modeling of Virtual Unit Scheduling Problem
[0050] Assume a production workshop has N workpieces, M machines, v AGVs, and C manufacturing cells. Using group technology, workpieces with similar processes are grouped into workpiece groups, and machines processing the same workpiece group are grouped into machine groups. Workpieces within the same machine group are assigned to a manufacturing cell. Workpieces are processed within the cell according to sequential constraints. When a process requires processing across cells, AGVs are used for transportation. Here, workpiece p has Op... p Each process involves multiple steps, and different machines can be selected for each step.
[0051] By planning the workpiece processing sequence on different machines, AGV allocation, and machine configuration within a unit, a virtual unit scheduling integration optimization scheme that meets the decision-maker's expectations can be obtained. This reduces ineffective workpiece movement between machines, improves production efficiency, and ultimately minimizes workpiece completion time. The assumptions are as follows:
[0052] (1) Ignore all production interruptions, such as machine and AGV malfunctions, staff absences, etc.
[0053] (2) The processing time of all workpiece processes on the selectable machines is known;
[0054] (3) All cross-unit preparation time is included in the processing time;
[0055] (4) Intra-unit transportation time is negligible, and inter-unit transportation time is a fixed value;
[0056] (5) The machine can only process one process at a time;
[0057] (6) The workpiece is subject to process sequence constraints, and all processes have the same processing priority.
[0058] The meanings of all variables involved in this invention are shown in Table 1.
[0059] Table 1
[0060] variable definition p Workpieces p, p = 1, 2…N k <![CDATA[The k-th process of workpiece p, k = 1, 2... OP p > m Machine serial number, m = 1, 2…M c Manufacturing unit number, c = 1, 2…C a The AGV's serial number, a = 1, 2...v <![CDATA[PS pkj ]]> The start time of the k-th operation of workpiece p on machine j <![CDATA[PT pkj ]]> The processing time of the k-th operation of workpiece p on machine j <![CDATA[PE pkj ]]> The end time of the k-th operation of workpiece p on machine j <![CDATA[MS pkj ]]> When the k-th operation of workpiece p is performed on machine j, the machine's start time is... <![CDATA[ME pkj ]]> When the k-th operation of workpiece p is performed on machine j, the end time of the machine is... <![CDATA[AS pka ]]> The start time of AGV a is used for the k-th process of workpiece p. <![CDATA[AT pka ]]> The running time of AGV a for the k-th process of workpiece p <![CDATA[AE pka ]]> The end time of the k-th process of workpiece p is determined by AGV number a. <![CDATA[V pkm ]]> 0-1 variables: 1 for the k-th operation of workpiece p on machine m, and 0 for all others. <![CDATA[D jc ]]> 0-1 variables: machine j is assigned a value of 1 to cell c, and 0 to other cells.
[0061] Objective function: Minimize the maximum completion time of all workpiece processing processes, as shown in equation (1).
[0062]
[0063] The constraints include:
[0064] a. Constraints between preceding and following processes for the workpiece:
[0065]
[0066] b. All machines are assigned to units:
[0067]
[0068]
[0069] c. AGV constraints:
[0070]
[0071] d. Cell construction constraints:
[0072]
[0073] Equation (2) indicates that the next process for the same workpiece must be completed before the previous process can be processed;
[0074] Equation (3) indicates that each machine is assigned to a designated unit;
[0075] Equation (4) indicates that the same workpiece can only be processed on one machine at the same time;
[0076] Equation (5) represents the time constraint of the AGV when transporting the specified workpiece;
[0077] Equation (6) indicates that the difference in the total number of machines in any unit cannot exceed 2.
[0078] The Cuckoo Search (CS) algorithm mimics the natural behavior of cuckoos, which do not raise their own chicks but instead lay their eggs in other birds' nests, thus creating a parasitic environment. While the Cuckoo Search algorithm boasts advantages such as few parameters and strong search capabilities, its flight step size is predominantly short and rarely long in the early and later stages of iteration, and the nest discovery probability remains fixed. This makes the algorithm prone to getting trapped in local optima. Therefore, this invention introduces an adaptive flight step size and an adaptive nest discovery probability. Furthermore, it incorporates variable neighborhood search when updating nests to improve the algorithm's search effectiveness. Finally, it updates the unit construction scheme according to rules, thereby optimizing the virtual unit scheduling integration.
[0079] like Figure 1 As shown, the specific steps of the algorithm are as follows:
[0080] A four-segment coding system is adopted: process code, machine code, AGV code, and unit code. For example, Figure 2As shown, the process code for the "Bird's Nest" segment in the first row is a set of decimals with a length equal to the total number of processes, ranging from 0 to 1. The "Bird's Nest" segment in the first row is converted into the process segment in the third row based on the reference sequence of the "Bird's Nest" to process segment in the second row. Detailed steps are shown in the decoding process. Each gene in the "Machine" segment in the fourth row selects a machine from the selectable machine group in the same process column. Each gene in the "AGV" segment in the fifth row selects a machine from the total number of AGVs (1 to the total number of AGVs). The "Unit" segment in the sixth row requires two points to be generated: the machine number selected for the process and the machine-unit allocation scheme. Because the unit reconstruction scheme may change in each iteration, the unit segment in each iteration is determined by both the machine corresponding to the same process column and the machine-unit allocation scheme.
[0081] The coding process is explained using a case of 3 workpieces, 3 machines, 2 AGVs, and 2 unit sizes. The case data is randomly generated in two ways: first, the number of processes for each workpiece and the selectable machine groups for each process are random; second, the processing time of each process on the selected machine is random. Specifically, the second row contains three 1s, indicating that workpiece 1 has three processes; two 2s, indicating that workpiece 2 has two processes; and three 3s, indicating that workpiece 3 has three processes. Figure 2 This is one of the cases.
[0082] To decode the above encoding, firstly, based on the known number of processes for each workpiece, we obtain the sequence [1 1 1 2 23 3 3]. Then, we convert the bird's nest segment in the first row into a process segment based on the second row. Specifically, the first number in the bird's nest segment from left to right is 0.1, which is 1 in the entire segment. This corresponds to the first column in the second row, and its value is "1". Since the process segment and the bird's nest segment are converted in the same column, the first column in the process segment in the third row is 1. At this point, "1" appears only once in the process segment in the third row, which represents the first process of workpiece one. "1" appears twice, which represents the second process of workpiece one, and so on. The third row, from left to right, represents the processing order priority. A value appearing in the first column indicates it's processed first. The second number from left to right in the "Bird's Nest" segment is 0.7, which ranks 7 in the entire segment. This corresponds to the 7th column of the second row, with a value of "3". Since the process segment and the "Bird's Nest" segment are converted within the same column, the second column of the process segment in the third row is "3". At this point, "3" appears only once in the process segment of the third row, representing the first process of workpiece three; if "3" appears twice, it represents the second process of workpiece three, and so on. The third row, from left to right, represents the processing order priority. A value appearing in the second column indicates it's processed second. The final corresponding process segment is [1 3 2 3 2 1 1 3].
[0083] The process code, machine code, AGV code, and unit code are all interconnected. Different columns in the same row of a process segment indicate the processing priority of the process. Different columns in the same row of machine and AGV segments are bound to the process segment and have a priority order. The unit segment requires two points to be generated: first, the machine number selected for the process; and second, the machine-unit allocation scheme. The following decoding process is based on this and will not be elaborated further.
[0084] In the fourth row of machine segments, the first column from left to right is "1", which means that the same process is processed on machine "1". The second number is "3", which means that the same process is processed on machine "3". The fourth number is "2", which means that the same process is processed on machine "2", and so on.
[0085] In the fifth row of AGVs, the first column from left to right is "2", which means that if the same process is finished and needs to be moved, AGV "2" will be used for transportation; the second column is "1", which means that if the same process is finished and needs to be moved, AGV "1" will be used for transportation, and so on.
[0086] Within a unit segment, a machine can only belong to one unit. According to the machine-unit allocation scheme, machine 1 is allocated to unit 2, machine 2 is allocated to unit 1, and machine 3 is allocated to unit 3.
[0087] For a randomly generated case with 3 workpieces, 3 machines, 2 AGVs, and 2 unit sizes, multiple intelligent optimization algorithms were used in various implementations to generate the optimal scheduling scheme, as shown in the figure above. Figure 3 As shown, the horizontal axis represents processing time, and the vertical axis represents machines and AGVs. From bottom to top, they represent machines "1" to machines "3" and AGVs "1" to AGVs "2". Taking the bottom leftmost workpiece 1 as an example, [1,1] represents the first process of workpiece 1, and [1,2] represents the second process of workpiece 1. [1,1] on the vertical axis M1 indicates that it is processed on machine 1. After processing, it is transported to machine 3 by AGV 2 for the second process, and then transported to machine 2 by AGV 2 for the third process.
[0088] The method of initializing the population affects whether the entire algorithm can quickly and comprehensively search for the optimal solution. The length of the bird's nest segment is the total number of processes, and its value ranges from 0 to 1. If the same bird's nest appears, the bird's nest is repaired. That is, each time it is determined whether there is a same bird's nest segment in the population. If the same bird's nest exists once in the population, n = n + 1. The initial value of n is 0. Until there is no same bird's nest in the population, a bird's nest x(i) is randomly selected, x(i) = x(i) + 0.001*n, where i is an integer and is randomly selected from 1 to the total number of process lengths. The reference sequence for bird's nest to process segment is determined according to the number of processes of each workpiece. If workpiece one has "3" processes, then there are "3" 1s. If workpiece two has "3" processes, then there are "3" 2s, and so on. If the implementation is fixed, the reference sequence for the Bird's Nest to Bird's Nest process segment is fixed; process segments are generated based on the Bird's Nest segment and the reference sequence for the Bird's Nest to Bird's Nest process segment; for the machine segment, one machine is randomly selected from the group of machines available for the corresponding process; for the AGV segment, an integer in the range of [1-V] is randomly generated, where V is the total number of AGVs; for the unit segment, the value is determined by the machine corresponding to the process and the machine-unit allocation scheme, and the value range is an integer in the range of [1-C], where C is the number of units.
[0089] Levi Flight with Adaptive Step Size
[0090] The step size generated by Levi's flight is random. A larger step size allows for a wider search range, making it easier to find the global optimum. Conversely, a smaller step size results in a smaller search range, making it easier to find a local optimum. Probabilistic step size changes ensure that short-distance movements are performed most of the time, with a lower probability of long-distance movements. The combination of these two factors improves the algorithm's search performance. As shown in equation (7), to better improve the early search range and find the global optimum as much as possible, the step size is increased with a higher probability. Therefore, in the early stages of the algorithm, when the number of iterations is smaller, the quotient of the current iteration number divided by the total number of iterations is used. The smaller, The larger the step size L, the better it is at finding the global search. In later stages, to improve the algorithm's convergence, the probability of short-step searches should be increased. Therefore, in the later stages of the algorithm, i.e., when the number of iterations is larger, the quotient j / Q (current iteration number divided by the total number of iterations) should be larger. The smaller the step size L is, the smaller the step size L becomes, thereby improving local search capability. Therefore, adopting a method of dynamically changing the step size with the number of iterations can effectively improve the overall search performance.
[0091]
[0092] Where L is the actual flight step size, Step is the random step size proposed by Mantegna, s is the current bird's nest, best is the bird's nest with the best result in the current iteration, α is the control step size with a value of 0.5, Q is the total number of iterations, and j is the current iteration.
[0093] Variable Neighborhood Search with Adaptive Discovery Probability
[0094] In the Cuckoo Algorithm, nests in all populations have a certain probability of being discovered by the host. Nest probability update refers to a method where a nest is discovered by the host with a certain probability, thus leading to the construction of a new nest nearby. Building a new nest involves searching for neighboring nests and updating the nest count. First, it is determined whether the nest has been discovered. If the discovery probability is greater than a random number in the range of 0-1, the nest is considered discovered. Next, the discovered nest is abandoned, and a new nest is searched for in its vicinity. The search method is a variable neighborhood search, using three neighborhood search methods: swap, transpose, and pre-insertion. Taking transpose as an example, see... Figure 4 The original bird nests were [0.1 0.7 0.5 0.8 0.4 0.2 0.3 0.6]. A new bird nest was generated by randomly selecting one of the neighborhoods with a probability of [0.1 0.7 0.5 0.2 0.4 0.8 0.3 0.6]. Simultaneously, the machine and unit codes corresponding to the process were changed, while the AGV segments were generated uniformly and randomly according to [1 - total number of AGVs]. Finally, the target value of the new bird nest was calculated. If it was better than the previous solution, it was replaced; otherwise, the original solution was retained.
[0095] The dynamic discovery probability is shown in the following formula, where FP represents the discovery probability, P s P represents the minimum probability of discovery. c Let P represent the transformation probability magnitude, Q be the total number of iterations, and j be the current iteration number. Based on multiple experiments, it was found that when P... s =0.15,P c The performance is optimal when the value is 0.1.
[0096]
[0097] Bird's Nest Restoration
[0098] During initialization and Levi's flight, nests in the same location may appear, resulting in invalid nests and reducing the overall search efficiency of the algorithm. Therefore, a nest repair method is implemented: when nests in the same location appear in a segment, other identical nests are randomly rearranged within a small range until no more duplicate locations are found. This repair method effectively avoids invalid searches.
[0099] Unit build update
[0100] First, the machines are randomly assigned to units, such as 3 units and 6 machines, generating a 1*6 matrix. Each position is randomly generated with a number from 1 to 3, resulting in [3 2 1 2 3 1]. From left to right, the first number is 3, indicating the first machine is assigned to unit 3; the second number is 2, indicating the second machine is assigned to unit 2; the fourth number is 2, indicating the fourth machine is assigned to unit 2, and so on. However, this randomly generated scheme can lead to situations where one unit has too many machines and another has too few, ultimately causing various problems such as logistics and material disorder. Therefore, it is corrected by adhering to the rule that the difference in the total number of machines in any unit cannot exceed 2, resulting in a well-performing unit allocation scheme.
[0101] Subsequently, the machine segment is updated by randomly generating [1 - total number of selectable machines], and the AGV segment is updated by uniformly randomly generating [1 - total number of AGVs]. Finally, based on the above construction scheme, the target value of the optimal nest in the population is calculated. If it is better than the previous unit construction scheme, that is, the target value is better than the previous one, then the updated unit construction scheme replaces the previous scheme; otherwise, it remains unchanged.
[0102] The implementation examples employ ICS, CS, Whale Optimization Algorithm (WOA), Simulated Annealing (SA), and Genetic Algorithm (GA) to solve the virtual cell scheduling ensemble optimization problem. Based on the conclusions of multiple test cases, the parameters are set as follows: 500 iterations, 100 population size, and programming using Matlab 2019a software with a runtime environment of 16GB memory.
[0103] Using a real-world case from a production assembly workshop, detailed production data is shown in Table 2. There are 10 workpieces processed on 12 machines, with each workpiece having 10 processing steps. The first row and first column indicate that for workpiece one, the first processing step has two machine options: machine 1 and machine 11, with processing times of 29 and 29 respectively. The first row and second column indicate that for workpiece one, the second processing step has one machine option: machine 2, with a processing time of 25. The second row and first column indicate that for workpiece two, the first processing step has two machine options: machine 1 and machine 11, with processing times of 43 and 43 respectively. The same logic applies to the subsequent steps.
[0104] Table 2
[0105]
[0106]
[0107] For the above case, this embodiment introduces adaptive step size and adaptive discovery probability on the basis of the original Cuckoo algorithm. New nests are generated through variable neighborhood search, and then new unit construction schemes are regenerated according to rules. Finally, the optimal virtual unit scheduling integration optimization scheme is obtained through continuous iteration. The improved Cuckoo algorithm's iteration count minus maximum completion time is as follows: Figure 4 As shown, the optimal unit construction scheme is as follows: Figure 5 As shown.
[0108] To address the differences in the problems and better demonstrate the comprehensive performance of the improved Cuckoo algorithm, and to ensure its superior performance, in addition to the previous practical cases, nine additional cases were set up: 2*5*5, 3*15*8, 3*20*8, 5*20*20, 5*40*25, 8*30*20, 8*40*25, 8*50*30, and 9*40*24. These nine cases correspond to cases 1 to 9 from left to right. The data for cases 3 and 4 were obtained from relevant literature, while the data for the remaining cases were randomly generated. The processing time was also randomly generated, ranging from 30 to 60 seconds. Five algorithms—ICS, CS, WOA, SA, and IGA—were compared. A total of 500 iterations were set, with a population size of 100. Each algorithm was run 10 times, and the average value was calculated. The results are shown in Table 3. It can be clearly seen that in small-scale cases, the five algorithms have the same results. The SA algorithm performs well in small cases, the WOA algorithm is better in large-scale cases, the CS algorithm has balanced performance, the GA algorithm has poor overall performance, and the ICS algorithm is better than or equal to the other four algorithms in all cases.
[0109] Table 3
[0110]
[0111]
[0112] To verify the effectiveness of the virtual unit scheduling integration optimization, the ICS algorithm was used to calculate the above nine cases, and the average of the results from 10 trials was taken. The results of all embodiments show that the virtual unit scheduling integration optimization is superior to the unit scheduling optimization. The results of the embodiments are shown in Table 4.
[0113] Table 4
[0114] Case size Case number Virtual Unit Scheduling Unit scheduling 2*5*5 1 304 308.5 3*15*8 2 535 536.3 3*20*8 3 635.7 641 5*20*20 4 572.3 586.1 5*40*25 5 659.8 689.3 8*30*20 6 931.6 964.1 8*40*25 7 925.9 931.4 8*50*30 8 1059.7 1101.1 9*40*24 9 1056.1 1106
[0115] Those skilled in the art will readily understand that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A virtual cell scheduling method based on grouping technology and an improved CS algorithm, characterized in that, include: Obtain the number of workpieces, the number of machines, the number of AGVs, the number of manufacturing units, the number of processes for each workpiece, the processing time for each process on different machines, and the processing sequence of the processes; The system receives the division of workpiece groups, machine groups, and manufacturing units. All components in the workpiece group have similar processes. All machines in the machine group process the same workpiece group. The manufacturing unit corresponds one-to-one with the machine group. The AGV is responsible for transporting workpieces that need to be processed across units. The objective function for constructing the virtual unit scheduling is to minimize the maximum completion time of all workpiece processing processes; The workpiece processing sequence, AGV allocation, and machine configuration within the unit are coded on different machines. An improved CS algorithm is used to solve the coded virtual cell scheduling problem. The improved CS algorithm introduces Levy flight with adaptive flight step size and variable neighborhood search with adaptive bird nest discovery probability. Decode the optimal solution and output the virtual unit scheduling result; The objective function is: The objective function must satisfy the following constraints: ① Constraints between preceding and following processes for the workpiece: ② Each machine is assigned to a designated unit: ③ The same workpiece can only be processed on one machine at a time: ④ Time constraints for AGVs transporting designated workpieces: ⑤ The difference in the total number of machines in any unit cannot exceed 2: in, Indicates workpiece The The process is done on the machine The end processing time of the machine. Indicates workpiece The The process is done on the machine End time on Indicates workpiece The The process is done on the machine The start time on Indicates machine Whether to assign to a manufacturing unit , Indicates the manufacturing unit number. Indicates the number of manufacturing units. Indicates the workpiece serial number. Indicates the number of workpieces. Indicates workpiece Process sequence number, Indicates workpiece The number of processes, Indicates workpiece The Is the process carried out on the machine? Upward processing, Indicates workpiece The The process uses the serial number as follows The start time of the AGV. Indicates workpiece The The process uses the serial number as follows The running time of the AGV, Indicates workpiece The The process uses the serial number as follows The end time of the AGV. Indicates the serial number of the processing machine. Indicates the number of machines; The encoding of the workpiece processing sequence, AGV allocation, and machine configuration within the unit on different machines includes: A four-segment coding system is adopted, namely, process segment, machine segment, AGV segment, and unit segment; According to the Bird's Nest to process segment reference sequence, the Bird's Nest segment is converted into a process segment. The length of the Bird's Nest segment is the total number of processes, and its value ranges from 0 to 1 (a decimal). For the machine section, one machine is randomly selected from the group of machines available for the corresponding process. For the AGV segment, the random generation range is: Integers, where, Indicates the total number of AGVs; For a unit segment, the value is determined by both the machine corresponding to the process and the machine-unit allocation scheme, and the range is [value range missing]. Integers.
2. The method as described in claim 1, characterized in that, The formula for calculating the adaptive flight step size is as follows: in, Indicates the actual flight step length. This represents the random step size proposed by Mantegna. Indicates the current Bird's Nest. This represents the optimal Bird's Nest stadium after the current number of iterations. Indicates the control step size. This represents the total number of iterations. This indicates the current iteration number.
3. The method as described in claim 1, characterized in that, The formula for calculating the adaptive bird's nest discovery probability is as follows: in, Indicates the probability of discovery. This represents the minimum probability of discovery. Indicates the magnitude of the transformation probability. This represents the total number of iterations. This indicates the current iteration number.
4. The method as described in claim 1, characterized in that, The variable neighborhood search can be performed by swapping, transposing, or prepending.
5. A virtual cell scheduling system based on grouping technology and an improved CS algorithm, characterized in that, include: Processor and memory; The memory is used to store computer-executed instructions; The processor is configured to execute the computer execution instructions, such that the method described in any one of claims 1 to 4 is executed.
Citation Information
Patent Citations
An optimization scheduling method of a vehicle body module production process during automobile production and manufacturing
CN108681313A
Machining workpiece virtual unit construction method based on mixed NSGA-II
CN111461911A