A genetic algorithm optimization method for a stacker picking sequence
By using a genetic algorithm optimization method, combined with single-load constraints and priority guarantees, the efficiency of the picking sequence and the response to urgent orders in panel furniture warehousing were solved, achieving efficient utilization of loading segments and path optimization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TAICANG TONGSHENG IND AUTOMATION CO LTD
- Filing Date
- 2026-03-11
- Publication Date
- 2026-05-29
AI Technical Summary
In the production and warehousing of panel furniture, existing technologies struggle to balance the efficiency of the picking sequence with the priority of urgent orders while meeting loading constraints, resulting in low loading utilization, increased stacker crane round trips, and reduced response time.
The genetic algorithm optimization method is adopted. By establishing single-load constraints and priority constraints, a fitness function is constructed to prioritize the first priority goods and keep them from participating in crossover and mutation operations during the iteration process. Combined with the trip splitting and penalty mechanism, it is ensured that urgent goods are processed first in the preceding trip.
It improved the responsiveness to urgent orders and overall outbound efficiency, reduced the probability of unfeasible solutions, and increased loading segment utilization and path efficiency.
Smart Images

Figure CN121836582B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of warehouse control and management technology, and in particular to a genetic algorithm optimization method for stacker crane picking sequences. Background Technology
[0002] In the production and warehousing of panel furniture, panel goods are typically shipped in batches by order, and automated storage and retrieval systems (AS / RS) and stacker cranes are widely used for storage and retrieval operations. In such systems, the upper-level warehouse management system maintains order, inventory, and storage location information, while the lower-level warehouse control system converts outbound tasks into executable equipment action sequences and distributes them to equipment such as stacker cranes for execution. Because outbound tasks are often characterized by batch processing, time sensitivity, and volatility, generating efficient picking sequences and loading trip plans while meeting equipment and loading physical constraints is a key issue affecting outbound throughput and response time.
[0003] Unlike general-purpose boxed or standard palletized goods, panel furniture varies significantly in length, and the stacker crane's loading platform can typically be abstracted into several loading segments along its length. Different lengths of panels occupy different segments on the loading platform, and the combination of goods that can be loaded in the same trip is constrained by loading rules formed by the number of loading segments on the platform, the number of segments occupied by the goods, and the requirement for continuous segment occupation. When multiple lengths of goods are present in a batch outbound task, if the picking order is generated solely based on storage location distance or simple rules, it is easy to encounter situations such as low loading utilization, increased empty segments, and increased number of trips in some trips, leading to an increase in the number of stacker crane round trips and a decrease in overall operational efficiency. Furthermore, in actual business operations, there are often urgent orders or high-priority outbound needs. If only the overall path length or overall completion time is optimized without a constraint mechanism adapted to priority, high-priority goods may not be retrieved in earlier trips, thus affecting order response time and production cycle time.
[0004] While existing solutions may employ intelligent optimization algorithms for stacker crane scheduling or picking path optimization, and incorporate capacity or load constraints into the optimization model, in the context of panel furniture outbound operations, issues may still arise such as insufficient loading constraints, mismatch between loading schemes and picking sequences, difficulty in balancing path costs and loading segment utilization during optimization, and insufficient guarantee of priority picking for priority goods. Consequently, the generated solutions may fail to simultaneously meet the comprehensive requirements of "executability, low cost, high utilization, and priority guarantee."
[0005] Therefore, there is a need for an optimization method that can integrate loading platform constraints and priority assurance into the picking sequence optimization process in the scenario of batch outbound picking by stacker cranes, and take into account path cost and loading platform utilization while ensuring executability. Summary of the Invention
[0006] The purpose of this invention is to provide a genetic algorithm optimization method for stacker crane picking sequences, so as to solve the problem in the prior art that it is impossible to balance priority guarantee function and picking efficiency under loading constraints.
[0007] To solve the above-mentioned technical problems, the technical solution provided in this application is: a genetic algorithm optimization method for a stacker crane picking sequence, comprising: obtaining a set of goods to be picked up, wherein each element in the set of goods has a goods identifier, a storage location coordinate, a number of segments occupied, and a priority, wherein the priority is at least divided into a first priority and other priorities; determining a single loading constraint based on the number of segments occupied and the number of loading segments on the stacker crane's loading platform, wherein the single loading constraint indicates that the total number of segments occupied by the goods in a single loading does not exceed the number of loading segments; using the goods identifier as a gene, wherein the gene is associated with the corresponding storage location coordinate, number of segments occupied, and priority, and optimizing the picking sequence based on a genetic algorithm. Optimal solution search: In population initialization, a priority segment is preset for the initial chromosome. The priority segment is located before the non-priority segment and prioritizes the genes with the first priority. In population iteration, a fitness function is constructed based on the path length corresponding to the chromosome and the utilization rate of the loading segment. Selection operation is performed based on the fitness function to drive population iteration, and the genes with the first priority are kept from participating in crossover and / or mutation operations. When the population iteration reaches the preset termination condition, the optimal solution is output. The optimal solution is split into trips based on the single loading constraint, and priority is checked for each trip. Genes whose loading sequence is adjusted to the first priority are assigned to the preceding trip.
[0008] Furthermore, the location coordinates include aisle number, shelf level number, and shelf column number; during population initialization, genes with the same aisle number and shelf level number are arranged consecutively to form a region segment; during population iteration, the path length is calculated using Manhattan distance.
[0009] Furthermore, in the population iteration, the pickup sequence corresponding to the chromosome is simulated by trip splitting, and the loading segment utilization rate represents the average loading segment utilization rate per trip obtained in the simulation calculation; when the result of the trip splitting simulation contains a trip that violates the single loading constraint, and / or, when the first priority gene is not assigned to the preceding trip, a preset penalty term is applied to the chromosome fitness corresponding to the result.
[0010] Furthermore, in the population initialization, the preset priority segment includes: combining the genes of the first priority according to the loading segment full load priority strategy, and when there are remaining genes of the first priority that are not fully loaded, randomly selecting genes of other priorities so that the combination formed by them and the remaining genes of the first priority satisfies the single loading constraint, and inserting them into the priority segment for priority segment full load matching.
[0011] Furthermore, the selection operation includes: determining elite chromosomes based on fitness and directly retaining the elite chromosomes to the next generation population; applying a fitness boost to non-elite chromosomes based on the proportion of consecutive adjacent genes in the chromosomes; randomly selecting a first preset number of chromosomes from the non-elite chromosomes after fitness correction, and using the chromosome with the highest corrected fitness in the selection results as the parent candidate.
[0012] Furthermore, the crossover operation includes: randomly selecting any region segment in the first parent chromosome as a crossover unit; the offspring chromosome inherits the preferred segment and crossover unit in the first parent chromosome, and other gene positions are sequentially filled and deduplicated according to the gene sequence of the second parent chromosome.
[0013] Furthermore, when the improvement in the optimal fitness of the first consecutive preset generations is less than the first preset magnitude during the population iteration process, the mutation operation is triggered for each chromosome with a preset mutation probability, including: in a region segment with more than a second preset number of genes, randomly selecting two genes with non-adjacent coordinates and swapping their positions; and / or, in a region segment with fewer than or equal to the second preset number of genes, randomly selecting a gene and moving it before or after the gene with the closest Manhattan distance to it.
[0014] Furthermore, the preset termination conditions include: the number of iterations reaches the preset maximum number of iterations, or the improvement in optimal fitness for consecutive preset generations is less than the second preset magnitude, or the optimal fitness is greater than the preset threshold.
[0015] Furthermore, during the population iteration process, when the number of iterations reaches the first preset number of iterations, if the improvement in the optimal fitness is less than the third preset value, then the chromosomes with a higher fitness preset proportion are retained and new chromosomes are randomly generated to supplement the population.
[0016] Furthermore, during population iteration, the path length and loading segment utilization rate are fused according to preset weights to construct the fitness function; when the number of iterations reaches a second preset number of iterations, the weight of the path length is reduced.
[0017] Compared with the prior art, the technical solution provided by the present invention has at least the following beneficial effects: By establishing a single loading constraint based on the number of segments occupied by the goods to be shipped and the number of loading segments on the stacker crane loading platform, and constructing a fitness function by combining path length and loading segment utilization rate in the population iteration of the genetic algorithm, the search process of the picking sequence can be driven by both path cost and loading efficiency, reducing the risk of increased trips, empty loading segments, and decreased overall efficiency caused by only aiming at the shortest path; At the same time, by presetting priority segments and prioritizing the first priority genes in the population initialization, and keeping the first priority genes from participating in the genetic operation during crossover and / or mutation operations, and splitting the trips based on the single loading constraint after outputting the optimal solution and performing priority verification and adjustment for each trip, the first priority goods can be stably assigned to the preceding trips under the dual guarantee of the sequence layer and the trip layer, thereby improving the responsiveness and execution determinism of emergency outbound tasks.
[0018] Furthermore, the above technical solution also has the following advantages: In population iteration, trip splitting simulation can identify violations of single-load constraints or failure to prioritize the first priority, and penalize the corresponding fitness, thus suppressing candidate solutions that are detrimental to executability during the evolutionary process, thereby improving the executability and convergence stability of the final output solution; by dividing the region and using Manhattan distance to calculate the path length, it can better reflect the typical movement of stacker cranes between aisles and levels, making the path cost evaluation more consistent with engineering practice and promoting a more spatially continuous picking sequence, thereby reducing backtracking and invalid movements; by introducing trip splitting simulation in the iteration stage, and applying fitness penalty terms when trips violating single-load constraints or failure to prioritize the first priority are found, infeasible or priority-deficient solutions can be suppressed more promptly under the premise of controllable computational complexity and limited computational resources, further improving the solution's performance. The algorithm improves the quality and executability of its algorithms. By preprocessing and replenishing the first-priority genes according to the full-load priority strategy during population initialization, the utilization rate of the loading segment in the previous trip can be improved while ensuring priority, reducing the number of transport trips and waiting time for urgent goods. By retaining elites and adjusting fitness, and by adopting segmented ordered crossover, the inheritance of local optimal solutions can be strengthened while maintaining population diversity, reducing the risk of premature convergence and improving search efficiency. By conditionally triggering mutation operations, appropriate perturbations can be introduced near local optima to expand the search range and improve the ability to escape local optima. By setting multi-condition termination criteria, triggering population refresh and replenishing random chromosomes in the middle of the iteration, and reducing the path length weight after a preset number of iterations, better convergence speed and result balance can be achieved under different scale tasks and different length distributions, thereby further improving the robustness and applicability of the algorithm. Attached Figure Description
[0019] The present invention will be further described below with reference to the accompanying drawings and embodiments:
[0020] Figure 1 A flowchart of a genetic algorithm for optimizing a stacker crane picking sequence is provided in this application. Detailed Implementation
[0021] The technical solution of this application will be further described below with reference to the accompanying drawings. It should be noted that the term "acquisition" generally refers to the process of obtaining data or information, which can be obtained directly through hardware acquisition or by reading stored data. The term "based on" generally refers to a relational description that uses certain data, conditions, rules, or models as input or basis for processing, calculation, deduction, or judgment, and does not exclude the simultaneous processing in conjunction with other data, conditions, rules, or models. The term "association" generally refers to the process of establishing a correspondence or mapping relationship, which can be manifested as binding an object to its attributes, identifiers, parameters, or data structures for subsequent calling, retrieval, or calculation. The terms "first," "second," and "third," etc., are used to distinguish identical or similar objects, not to limit a specific order or sequence, and can be used interchangeably in appropriate circumstances without affecting the implementation of the technical solution of this application. The term "comprising" is intended to cover non-exclusive inclusion, that is, a process, method, system, or device that includes a series of elements is not limited to the explicitly listed elements, but may also include other elements not explicitly listed or inherent. The term "at least" is used to indicate a minimum quantity or minimum level, but it does not exclude situations where there is more than that minimum quantity or higher than that minimum level. The term "and / or" is used to express an optional parallel relationship, indicating that the multiple objects connected can be true simultaneously, or only one of them or any combination thereof.
[0022] Furthermore, in the description of this application, the term "preceding trip" refers to the set of trips that, after splitting the pickup sequence into trips, are located at the beginning of the trip execution order and are used to prioritize the pickup and loading of first-priority goods; wherein, each trip in the preceding trip is a trip consisting entirely of first-priority goods or a trip containing at least one first-priority item, and the preceding trips are ordered before other trips that do not contain first-priority goods in the trip sequence. The term "Manhattan distance" refers to a metric for distance in a discrete coordinate system, characterized by the sum of the absolute values of the coordinate differences in each dimension, which can be used to measure the cost of movement or path length between two locations.
[0023] In this application, the genetic algorithms used in each technical solution are a type of swarm intelligence optimization method that simulates the mechanisms of natural selection and genetic evolution in organisms. They are typically used to search for optimal solutions to an objective function in large-scale combinatorial or continuous spaces. Genetic algorithms generally start with a population of candidate solutions as the search starting point. Each candidate solution is encoded as a chromosome composed of several genes, and the quality of the candidate solutions is evaluated using a fitness function. During iteration, selection operations are performed based on fitness to increase the probability of superior individuals entering the next generation. Crossover and / or mutation operations can be performed on individuals. Crossover is typically used to recombine parental information to generate new individuals, while mutation is used to introduce random perturbations and maintain population diversity. The newly generated individuals are then used to update the population and enter the next round of evaluation and evolution until a preset termination condition is met, at which point the candidate solution with the best current fitness is output. The advantage of genetic algorithms is that they can perform global searches without relying on gradient information and can achieve a balance between exploration and utilization through population diversity and genetic operations. However, their performance is usually related to factors such as encoding method, fitness design, parameter settings, and termination conditions.
[0024] In bulk outbound scenarios for panel furniture and other panel goods, stacker cranes typically need to retrieve and move multiple items within a limited loading platform space. Due to significant differences in the length specifications of various goods, the loading platform can be divided into several loading sections along its length. The number of sections occupied by each item varies, and the combination of goods that can be loaded simultaneously in a single load is limited by the upper limit of the number of loading sections, the prohibition of stacking goods, and the resulting loading constraints. Furthermore, in actual operations, there are often urgent outbound tasks requiring priority response. If the picking order is generated solely based on storage location distance or a single rule, problems such as priority goods not being completed in earlier trips, low utilization of loading sections, and increased stacker crane round trips can easily arise, thus affecting overall throughput and response time.
[0025] To address this, this application proposes a genetic algorithm optimization method for stacker crane picking sequences. This method incorporates single-load constraints and priority constraints into the encoding and iterative evaluation process of the genetic algorithm. Furthermore, in the output stage, the optimal solution is split into trips and its priority is checked and adjusted to balance path cost and loading efficiency while ensuring executability.
[0026] Figure 1 A genetic algorithm optimization flowchart for a stacker crane picking sequence is provided in this application, as shown below. Figure 1As shown in this exemplary embodiment, the process for determining the pickup sequence is based on an optimized genetic algorithm. This process includes at least the following steps: S1, obtaining a set of goods to be shipped, with each goods having a priority; S2, determining single-load constraints; S3, associating goods information with genes, initializing the population, and setting priority segments during initialization; S4, constructing a fitness function and iterating the population; S5, after terminating the iteration, outputting the optimal solution obtained by the genetic algorithm, and performing priority verification and adjustment after splitting the optimal solution into multiple passes. The above exemplary process will be described in detail below.
[0027] In step S1, the set of goods to be dispatched can be obtained from the warehouse management system. Each element in the set, i.e. each item, is associated with at least the following pickup information: item identifier, location coordinates, number of segments occupied, and priority. The location coordinates are used to represent the position of the goods in the automated warehouse, the number of segments occupied is used to represent the amount of goods occupied on the loading platform, and the priority is at least divided into first priority and other priorities to distinguish between goods that need priority response and regular goods, so as to ensure priority pickup of first priority goods in subsequent sequence sorting and trip splitting.
[0028] In step S2, the single-load constraint is determined based on the number of segments occupied and the number of loading segments on the stacker crane's loading platform. The single-load constraint characterizes that the total number of segments occupied by goods loaded on the stacker crane's loading platform in a single trip does not exceed the number of loading segments. It should be noted that the single-load constraint can serve as a constraint rule for determining the loadability of a single trip, or it can be further concretized as a set of combinations of segments that can be loaded in a single trip. This allows for the combination and splitting of goods during subsequent trip splitting or loading simulation, preventing unexecutable scenarios that exceed the loading platform's capacity.
[0029] In step S3, the genetic algorithm uses the cargo identifier of each element in the cargo set as a gene during the programming phase. This gene is associated with the corresponding cargo location coordinates, segment number, and priority, enabling the genetic algorithm to carry necessary attributes related to cargo retrieval at the gene level. Furthermore, genes are arranged to form chromosomes, which represent candidate retrieval sequences. During population initialization, multiple initial chromosomes are generated to form the initial population. Priority segments are preset within these initial chromosomes, placing them before non-priority segments and prioritizing the arrangement of genes with the highest priority within these segments. This ensures, at the encoding level, the pre-order status of the first-priority cargo in the retrieval sequence. Furthermore, in some embodiments, other priority genes in non-priority segments can be combined with storage location coordinates for region division. For example, in an automated warehouse, storage location coordinates are composed of aisle numbers, shelf level numbers, and shelf column numbers. Region division is performed by arranging genes from the same aisle and shelf level consecutively to form region segments. During encoding, multiple region segments are concatenated after the priority segments according to a preset strategy to reduce invalid backtracking within the same aisle and level and improve the spatial continuity of the sequence. To ensure the randomness of the initial population and avoid premature convergence of the algorithm, the preset strategy can adopt random sorting of region segments or sorting region segments in ascending order of aisle number and shelf level number and rotating them. Furthermore, during initialization, the gene order within the same region segment can be sorted in ascending order of shelf column number to further improve the quality of the initial population.
[0030] In some preferred embodiments, the initial chromosome priority segment setting further includes: combining first-priority genes according to a loading segment full-load priority strategy; and when there are remaining first-priority genes that do not form a full-load sequence, randomly selecting genes of other priorities so that the combination formed by these genes and the remaining first-priority genes satisfies the single-load constraint, and inserting them into the priority segment for priority segment full-load matching. Priority segment full-load matching further improves overall loading efficiency and increases population diversity, thereby enhancing the coordination between priority pickup assurance and overall outbound efficiency.
[0031] In step S4, a fitness function is constructed for each chromosome in the population, and population iteration is performed. During fitness function construction, the path length and loading segment utilization rate can be calculated based on the picking sequence corresponding to the chromosome. The path length measures the movement cost of the stacker crane when completing the picking sequence, and the loading segment utilization rate measures the utilization of resources in a single loading trip. In some embodiments, the path length can be calculated using Manhattan distance. The path length is denoted as L(C), and the storage location coordinates are denoted as (X, Y, Z), where X, Y, and Z are the aisle number, shelf level number, and shelf column number, respectively. The formula for the path length is: , where (X) i Y i Z i Let (X) be the coordinates of the cargo location corresponding to the i-th gene. i-1Y i-1 Z i-1 Let be the coordinates of the cargo location corresponding to the (i-1)th gene, and n be the total number of goods to be shipped. Using Manhattan distance calculation can better reflect the typical movement of the stacker crane in the aisle direction and lifting direction. The loading segment utilization rate is calculated based on the trip split simulation of the picking sequence, and can be characterized as the average loading segment utilization rate per trip obtained from the trip split simulation. That is, under the premise of satisfying the single loading constraint, the picking sequence is divided into multiple trips and the ratio of the number of occupied segments to the number of loading segments in each trip is counted. Then, the utilization rate of each trip is averaged or weighted averaged. For example, if the average loading segment utilization rate per trip is denoted as U(C), then when the number of loading segments on the loading platform is 3, and the cargo set includes goods occupying 1, 2, and 3 segments respectively, and the utilization rate is calculated using the average, Where K represents the total number of trips, L k Let be the number of segments occupied by the loading platform in the k-th trip. In some embodiments, the fitness function can be constructed using a preset weighted fusion of path length and loading segment utilization, so that the candidate sequence is driven by both path cost and loading efficiency during the optimization process, thus balancing the efficiency of a single loading trip with the overall efficiency of the picking task. During population iteration, selection operations are performed based on fitness to drive population evolution, and crossover and / or mutation operations are further performed to generate offspring to update the population; to ensure the preorder protection of first-priority goods, genes with first-priority are kept out of crossover and / or mutation operations, so that the first-priority genes maintain their preorder position in the overall gene sequence and their order arrangement within the priority segments during the iteration process. Furthermore, in some embodiments, to improve executability and suppress the diffusion of candidate solutions that do not meet loading constraints, the single-load constraint can be checked during the pass-by-pass splitting simulation. When the simulation results show passes that violate the single-load constraint, and / or, genes of the first priority are not assigned to previous passes, a preset penalty term is applied to the chromosome fitness corresponding to that result. This reduces the retention probability of chromosomes that do not meet the loading constraint or the priority pass guarantee during the selection process, thereby making the population more inclined to candidate sequences that meet the constraints and have better overall performance. For example, the fitness function can be constructed as follows: Among them, W PATH W represents the weight of the path length term. UTLL The weight of the loading section utilization term is 1, and the sum of the two is 1. Preset penalty items, It is a very small positive number used to prevent division by zero errors; specifically, the preset penalty term adopts a multiplicative weighted penalty factor, for example, the penalty factor is taken as 1 / α, where α is a preset penalty coefficient greater than 1; when multiple types of constraints are violated simultaneously, a tiered penalty can also be used to increase the suppression strength, for example, multiplying by 1 / α when only one type of constraint is violated, and multiplying by 1 / α² or a smaller factor when multiple types of constraints are violated simultaneously, so that candidate solutions that seriously fail to meet executability or priority guarantees are suppressed more strongly. It should be understood that the penalty term can also be implemented in the form of additive deduction, threshold truncation, etc., but the multiplicative weighted form is more conducive to maintaining a relative proportional relationship between the path length term and the loading segment utilization term at different scales.
[0032] It should be noted that the meaning of the preset penalty term is related to the strategy adopted in the trip splitting simulation. In some embodiments, the trip splitting simulation adopts a strategy that strictly follows the single-trip loading constraint, that is, only trip partitioning results that satisfy the single-trip loading constraint are generated during the simulation process. For example, by sequential scanning and directly starting a new trip when the constraint cannot be satisfied, the total number of segments occupied by the cargo in each simulated trip does not exceed the number of loading segments. Under this strategy, the situation of violating the single-trip loading constraint usually does not occur or has a low probability of occurrence in the simulation results. Therefore, the penalty term is more often used to reduce the weight of priority guarantee constraints. For example, when the first priority gene is not assigned to the previous trip, a penalty is imposed, thereby prompting the genetic algorithm to still tend to generate candidate sequences that can complete the first priority cargo in an earlier trip while comprehensively optimizing the path length and loading segment utilization. In addition, even with a strict splitting strategy, the penalty term can also be used to cover boundary anomalies introduced by random initialization, crossover deduplication and padding, or mutation perturbation, so that individuals that do not meet the preset guarantee rules are suppressed in the selection phase.
[0033] In other embodiments, to reduce the computational overhead of the fitness evaluation phase and improve the iteration speed, the trip splitting simulation can adopt an approximation strategy biased towards fast computation. For example, the sequence can be quickly grouped according to a preset scanning window, or a coarse-grained judgment can be made by summing the number of segments to reduce the computational load on local rearrangement and repair. Under this type of approximation strategy, the simulation results may be inconsistent with the single-trip loading constraints. For example, cargo combinations that should be split into different trips may be temporarily assigned to the same trip, or the sum of the number of segments may exceed the number of loading segments due to insufficient boundary checks. In this case, the preset penalty term plays a key corrective role. That is, by imposing a strong penalty on the chromosome corresponding to the "trip that violates the single-trip loading constraint detected in the simulation", the genetic algorithm will not take advantage of the evaluation bias caused by the approximate simulation to misjudge the actually unexecutable or poorly executable sequences as high-fitness solutions, thereby maintaining the consistency between the search direction and the final executable solution. In other words, when the pass-by-pass split simulation adopts an approximation strategy, the penalty term is not only used to reduce the weight of the priority guarantee constraint, but also to embed the executability constraint into the fitness evaluation in the form of a soft constraint, so as to achieve a balance between speed and accuracy.
[0034] Furthermore, in some embodiments, the strength of the penalty term can be configured in conjunction with the trip splitting simulation strategy. For example, when a strict splitting strategy is adopted, the weight of the penalty term for single-trip loading constraints can be reduced or used only as an anomaly fallback; when an approximate splitting strategy is adopted or a coarser-grained scanning method is used in large-volume scenarios, the penalty strength for single-trip loading constraints can be increased (e.g., increasing α or using a steeper hierarchical penalty) to offset the bias caused by approximate evaluation. Through the above settings, the fitness evaluation can maintain high computational efficiency while continuously suppressing unexecutable solutions and ensuring the preceding trip requirements of first-priority goods during the evolution process, thereby improving the executability and priority guarantee effect of the final output solution.
[0035] In step S5, when the population iteration reaches a preset termination condition, the optimal solution is output, and the optimal solution is split into trips based on the single-load constraint to form an executable trip plan. In the trip splitting during the output stage, the goods are divided into trips according to the order of the picking sequence corresponding to the optimal solution, so that the combination of goods in each trip satisfies the single-load constraint. After the trip splitting is completed, the priority of the goods is checked and adjusted for each trip to ensure that the goods corresponding to the first priority are given priority in the previous trip in the trip sequence. Specifically, the trip sequence can be checked first to determine if there are trips that do not contain first-priority goods preceding those that do. If such a situation exists, a "trip reconstruction" approach is preferred. This involves re-executing the trip rules without changing the overall order of the segments in the optimal solution. Each trip prioritizes loading first-priority goods while meeting the single-trip loading constraint, and then selects other priority goods according to the original pickup sequence within the remaining loading capacity. This avoids other priority goods occupying the loading capacity of previous trips and delaying the first-priority goods. If trip reconstruction still fails to meet the requirements of previous trips, a local order adjustment is performed on the small number of other priority goods that cause the "non-first-priority trips to be prioritized." This local order adjustment is limited to their respective segments. The process maintains the relative order of first-priority goods. Adjustments include: moving other priority goods with larger segment sizes or those that prevent previous trips from loading first-priority goods to the back of the current segment to free up capacity for previous trips; and / or moving other priority goods with smaller segment sizes used to fill full loads to the front of the current segment and inserting them after the first-priority goods, so that when trips are split, the first-priority goods can form a loading combination that satisfies the single-load constraint with the subsequent filler goods. Furthermore, for first-priority goods located outside of previous trips, other priority goods with compatible segment sizes within their respective segments can be swapped or replaced with some other priority goods from previous trips, allowing the first-priority goods to be absorbed into previous trips without violating the single-load constraint, while the replaced priority goods are carried over to subsequent trips. After each adjustment, trip splitting is re-executed and priority verification is performed again until all first-priority goods are allocated to previous trips and all trips satisfy the single-load constraint, thus outputting the final trip plan that can be deployed and executed. Through the above processing, without changing the global picking sequence optimization objective output by the genetic algorithm, the pre-emptiveness and executability of the first priority goods at the execution level can be further guaranteed, thereby improving emergency outbound response and overall outbound efficiency.
[0036] Based on the exemplary embodiments described above, this application provides the following preferred embodiments of the population iteration process.
[0037] In some embodiments, the selection operation includes: determining the elite chromosomes of the current population based on fitness, and directly retaining the elite chromosomes to the next generation population; applying a fitness boost to non-elite chromosomes based on the proportion of consecutive adjacent genes at the cargo position coordinates in the chromosomes; randomly selecting a first preset number of chromosomes from the non-elite chromosomes after fitness correction, and using the chromosome with the highest corrected fitness in the selection results as the parent candidate. Specifically, the top 15% of chromosomes in fitness ranking can be selected as elite chromosomes; in large-scale scenarios, the proportion of elite chromosomes can be increased to 20% to reduce the probability of losing high-quality solutions during crossover and mutation. Fitness correction can be in the following form: Fitness′(C) = Fitness(C) × (1 + wL), where Fitness(C) is the original fitness, Fitness′(C) is the corrected fitness, wL is the reward weight, wL can be 0.2 × rL, and rL is the proportion of consecutive adjacent genes at the cargo position coordinates. The adjacent genes refer to genes that are sequentially adjacent on the same chromosome. The continuity of the cargo location coordinates can be determined according to preset adjacency conditions, such as two genes corresponding to goods located in the same aisle and shelf layer, and the absolute value of the difference in shelf column numbers is 1. Furthermore, the first preset quantity can be 7, thereby achieving tournament-style selection, that is, each time 7 chromosomes are randomly selected from the non-elite set, and the one with the highest corrected fitness is selected as the parent candidate. It should be understood that the above proportions, coefficients, and quantities are only illustrative examples, and those skilled in the art can adjust them according to factors such as task scale, constraint strength, and computing resources.
[0038] In some embodiments, the crossover operation employs a segmented, ordered crossover method, i.e., selecting a region segment as the crossover unit to maintain the regional structure. Specifically, after determining the first and second parent chromosomes, any region segment can be randomly selected from the non-priority segments of the first parent chromosome as the crossover unit; the offspring chromosome inherits the priority segments and the crossover unit from the first parent chromosome, maintaining the relative order of genes within the crossover unit; subsequently, genes already included in the offspring chromosome are removed from the second parent chromosome (i.e., deduplication is performed), and the remaining genes from the second parent chromosome are sequentially filled into the remaining positions of the offspring chromosome according to their sorting order, ensuring that the offspring chromosome covers all the genes without duplicates. Furthermore, a preset crossover probability can be set for the crossover operation, for example, a crossover probability of 0.85; when the crossover triggering condition is not met, the parent chromosome can be directly replicated to form offspring to maintain the population size. To improve the feasibility of generating offspring, in some embodiments, a rapid compliance check can be performed on the offspring after crossover. This check includes verifying for gene deletions or duplications, and whether trips violating single-load constraints have occurred in trip-based splitting simulations. If the check fails, the crossover unit can be reselected or the filling process can be re-executed within a preset number of retries, for example, 3. If the check still fails after exceeding the preset number of retries, the offspring can revert to inheriting from the parent. It should be understood that the crossover probability, number of retries, and checking strategies described above are merely illustrative examples and can be adjusted according to actual needs.
[0039] In some embodiments, mutation operations are used to introduce perturbations when the population iteration shows a stagnant trend, thereby improving the algorithm's ability to escape local optima. Specifically, the improvement of optimal fitness over a first consecutive preset number of generations can be monitored. When the improvement of optimal fitness over the first consecutive preset number of generations is less than a first preset magnitude, the population is determined to have entered a stagnant state, and a mutation operation is triggered for each chromosome with a preset mutation probability. For example, the first consecutive preset number of generations can be 5, the first preset magnitude can be 0.001, and the preset mutation probability can be 0.1. The mutation operation is preferably implemented within a region segment: when the number of genes in a region segment exceeds a second preset number, two genes with non-adjacent coordinates can be randomly selected within that region segment and their positions can be swapped; when the number of genes in a region segment is less than or equal to the second preset number, a gene can be randomly selected within that region segment and moved to the position before or after the gene with the closest Manhattan distance to it, thereby preferentially forming shorter local path lengths within small-scale regions. For example, the second preset number can be 5. The non-adjacent location coordinates can be determined using a method opposite to the adjacency condition described above. For example, two genes may not meet the conditions of sharing the same aisle number, the same shelf layer number, and adjacent column numbers. To ensure that the first priority is not compromised, when performing crossover and mutation operations, genes with the first priority can be kept out of the crossover and / or mutation operations, thus maintaining their pre-order arrangement within the priority segment during iteration. It should be understood that the above-mentioned algebra threshold, amplitude threshold, mutation probability, and second preset quantity are merely illustrative examples, and those skilled in the art can adjust them according to actual convergence speed and diversity requirements.
[0040] The following is a simplified example of crossover and mutation operations. For ease of understanding, assume the quantity of goods to be shipped is 30, the priority is divided into first priority P0 and second priority P1, the quantity of goods in P0 is 4, the number of loading segments on the loading platform is 3, and the number of segments occupied by the goods is divided into 1 segment, 2 segments, and 3 segments, labeled l1, l2, and l3 respectively. The location coordinates are represented by XYZ in the above example to represent aisle number-shelf layer number-shelf column number. The population size is set to 100, the crossover probability is 0.85, the mutation probability is 0.1, and the tournament size is 7. Genes with the same aisle number and the same shelf layer number are arranged continuously in the chromosome to form a region segment, and the priority segment where the first priority gene is located does not participate in rearrangement during crossover and mutation.
[0041] In one example, the 30 goods are: G1=(1, P1, 1-2-4, l2), G2=(2, P1, 1-2-6, l1), G3=(3, P1, 1-2-2, l1), G4=(4, P0, 1-2-9, l2), G5=(5, P1, 1-2-1, l1), G6=(6, P1, 1-2-5, l1), G7=(7, P0, 1-2-10, l2), G8=(8, P0, 1-2-11, l1). G9=(9, P0, 1-2-12, l1), G10= (10, P1, 1-2-7, l2), G11= (11, P1, 1-2-3, l1), G12= (12, P1, 1-2- 8, l1), G13=(13, P1, 2-3-1, l1), G14= (14, P1, 2-3-2, l1), G15= (15, P1, 2-3-3, l2), G16= (16, P1, 2-3-4, l1), G17= (17, P1, 2-3-5, l1), G18= (18, P1, 2-3-6, l1), G19= (19, P1, 2-3-7, l1), G 20=(20, P1, 2-3-8, l2), G21= (21, P1, 2-3-9, l1), G22= (22, P1, 2-3-10, l1), G23= (23, P1, 3-1 -1, l1), G24=(24, P1, 3-1-2, l1), G25=(25, P1, 3-1-3, l2), G26=(26, P1, 3-1-4, l1), G27=(27, P1, 3-1-5, l1), G28=(28, P1, 3-1-6, l2), G29=(29, P1, 3-1-7, l1), G30=(30, P1, 3-1-8, l1). In this example, the priority segment is marked as R0 and the number of genes is preset to 6, while the number of P0 goods is 4, namely G4, G7, G8 and G9. Therefore, in addition to containing all P0 genes, R0 also needs to be supplemented with 2 P1 genes to meet the length requirement of R0.
[0042] Let the first paternal chromosome P1 and the second paternal chromosome P2 be respectively: P1 = R0[4, 7, 9, 8, 1, 2] + R1-2[3, 5, 6, 10, 11, 12] + R2-3[13, 14, 15, 16, 17, 18, 19, 20, 21, 22] + R3-1[23, 24, 25, 26, 27, 28, 29, 30]; P2 = R0[4, 7, 9, 8, 1, 3] + R2-3[15, 14, 13, 16, 17, 18, 19, 20, 21, 22] + R3-1[25, 23, 24, 26, 27, 28, 29, 30] + R1-2[2, 5, 6, 10, 11, 12]. In this case, R0 of P1 supplements P1 goods 1 and 2, while R0 of P2 supplements P1 goods 1 and 3, resulting in different choices of P1 goods in R0 between the two parent generations.
[0043] In the crossover operation described above, assuming that segmented ordered crossover is used with regions as crossover units, and R2-3 is randomly selected from the first parent P1 as the crossover unit, then the offspring chromosome C first inherits the priority segment R0 from the first parent P1, i.e., C's R0 is [4, 7, 9, 8, 1, 2], and inherits the crossover unit R2-3 from the first parent P1, i.e., C's R2-3 is [13, 14, 15, 16, 17, 18, 19, 20, 21, 22], thus maintaining the relative order of the P0 gene and the genes within the selected region. Subsequently, the remaining positions in the offspring chromosome, excluding R0 and R2-3, are filled and deduplicated according to the gene appearance order of the second parent P2. Specifically, during filling, if a scanned gene has already appeared in the offspring, it is skipped; if a scanned gene has not appeared in the offspring, it is written into the next empty position in the offspring. Since the offspring already contains gene 2, gene 2 in P2's R1-2 is identified as a duplicate and skipped during filling. Since the offspring does not contain gene 3, but P2 contains gene 3 in its R0, gene 3 will be written into the vacant position of the offspring during scanning in the order of P2. Furthermore, since the offspring inherits genes 13-22 from R2-3, genes 13-22 appearing in P2's R2-3 will all be identified as duplicates and skipped during filling, preventing the crossover unit from being overwritten. Therefore, the offspring chromosome C = R0[4, 7, 9, 8, 1, 2] + R1-2[3, 5, 6, 10, 11, 12] + R2-3[13, 14, 15, 16, 17, 18, 19, 20, 21, 22] + R3-1[25, 23, 24, 26, 27, 28, 29, 30]; where gene 3 in segment R1-2 can be considered as being introduced from the second parent through "sequential filling and deduplication", while segment R3-1 can be formed by filling in the order of appearance of the second parent in this region. The above example clearly demonstrates that when the P1 genes supplemented in the priority segment R0 of the two parents are different, the sequential filling and deduplication process will add P1 genes that did not appear in the offspring in the second parent to the offspring, while skipping duplicate genes, thus ensuring that the offspring genes are not duplicated and cover all goods.
[0044] In the mutation operations described above, mutations only apply to non-priority segments and are performed within the segment to preserve the segment structure as much as possible. For example, if an exchange mutation is performed within segment R3-1 of P1, two genes with non-adjacent coordinates can be randomly selected from R3-1 and their positions swapped. "Adjacent" is determined by "being in the same lane and layer, and the absolute value of the column number difference is 1". For instance, G23=(23, P1, 3-1-1, l1) and G28=(28, P1, 3-1-6, l2) are in the same lane and layer, but the absolute value of their column number difference is 5, which does not meet the adjacent condition. Therefore, they can be swapped as a non-adjacent gene pair. After the swap, the positions of the corresponding two genes within R3-1 are interchanged, thus forming a new local access order. Similarly, when performing a move mutation within segment R2-3, a gene can be randomly selected and moved before or after the gene with the closest Manhattan distance. The Manhattan distance can be calculated as |lane difference| + |layer difference| + |column difference|. Taking G20=(20, P1, 2-3-8, l2) as an example, its Manhattan distance to G19=(19, P1, 2-3-7, l1) is |2-2|+|3-3|+|8-7|=1. G20 can be moved before or after G19 to improve the spatial continuity of adjacent genes within the segment. After mutation, fitness assessment combined with trip splitting simulation and penalty term mechanism is still used to evaluate whether there are trips that violate the single-trip loading constraint and whether the requirements of the preceding trip are met, so that adverse perturbations are suppressed in the selection process and iterative stability is maintained.
[0045] In some embodiments, the preset termination condition can be set in parallel using multiple conditions to balance convergence speed and result quality. Specifically, the termination condition may include the number of iterations reaching a preset maximum number of iterations; or the optimal fitness improvement for consecutive preset generations being less than a second preset magnitude; or the optimal fitness being greater than a preset threshold. For example, the preset maximum number of iterations may be 200, the consecutive preset generations may be 20, the second preset magnitude may be 0.001, and the preset threshold may be 0.8. Further, when any termination condition is met, the optimal chromosome obtained throughout the iteration process can be output as the optimal solution, and the process of trip splitting and priority verification and adjustment in the output stage can begin. It should be understood that the threshold, generation, and number of iterations in the above termination conditions are only illustrative examples, and those skilled in the art can adjust them according to the task scale, time constraints, and computing resources.
[0046] Based on the above exemplary embodiments, this application also provides a preferred embodiment of the population refresh mechanism. In some embodiments, during the population iteration process, when the number of iterations reaches a first preset number of iterations, if the improvement in optimal fitness is less than a third preset amplitude, a population refresh operation is triggered to alleviate the premature convergence problem caused by insufficient population diversity. The first preset number of iterations can be a preset proportion of the preset maximum number of iterations, for example, 50% of the preset maximum number of iterations. In an example where the preset maximum number of iterations is 200, the first preset number of iterations can be 100. The third preset amplitude can be 0.3 × BestFitness0, where BestFitness0 is the optimal fitness of the initial generation (or the first few generations), or it can be a preset absolute threshold. Those skilled in the art can set it according to the task scale and convergence speed. For ease of understanding, in a specific example, the "improvement of optimal fitness" can be defined as BestFitness(t) - BestFitness(t-Δt), where t is the current iteration number, BestFitness(t) is the optimal fitness corresponding to the current iteration number, Δt is the preset window generation, for example, 10, and BestFitness(t-Δt) is the optimal fitness corresponding to the preset window generation before the current iteration number; when this improvement is less than the third preset magnitude, it is determined that the improvement in the current iteration stage is insufficient and a refresh is triggered.
[0047] After triggering a population refresh, a preset proportion of chromosomes with high fitness can be retained as retained individuals, and new chromosomes can be randomly generated to supplement the population and restore diversity. Specifically, the preset proportion can be 50%, that is, the top 50% of chromosomes in the current population in terms of fitness are retained as retained individuals, and the remaining 50% of individuals are filled by newly generated random chromosomes; in large-scale scenarios, the preset proportion can also be adjusted to 40% or 60%, etc., to achieve a balance between retaining excellent structures and introducing new exploration space. The randomly generated chromosomes can follow the same initialization rules as the initial population, that is, a priority segment is set at the front of the chromosome and the first priority gene is prioritized, and in the non-priority segment, the chromosomes are grouped according to the cargo location coordinate region to form a region segment, and each region segment is arranged according to a preset strategy; at the same time, a basic legality check can be performed on the newly generated chromosomes, such as checking whether there are missing or duplicate genes, and whether there are trips that obviously violate the single cargo loading constraint in the trip split simulation. If the check fails, the chromosomes are regenerated until the preset legality requirements are met.
[0048] By introducing a new batch of random chromosomes during the mid-cycle or pre-defined stage of the population refresh mechanism, the homogenization of genes caused by the long-term reliance on a limited number of parental candidates can be effectively broken, reducing the probability of getting trapped in local optima. Furthermore, while maintaining the structure of relatively good solutions, the search range is expanded, making subsequent crossovers and mutations more likely to generate new high-fitness candidate solutions, thereby improving the overall optimization effect and convergence robustness. It should be understood that the parameters such as the first pre-defined number of iterations, the third pre-defined amplitude, the retention ratio, and the number of regenerated chromosomes are merely illustrative examples, and those skilled in the art can adjust them according to the actual task scale, constraint strength, and computational resources.
[0049] In the scenario of bulk outbound shipment of panel furniture, when the stacker crane loading platform has 3 loading segments and the number of segments occupied by goods varies, the single-load constraint and priority guarantee mechanism are introduced into the encoding and iterative evaluation process of the genetic algorithm. This expands the optimization objective from simply finding the shortest path to "the comprehensive optimality of path cost and loading segment utilization," thereby improving overall operational efficiency while ensuring executability and prioritizing the retrieval of priority goods. Using a set of exemplary scenario parameters, when the number of goods to be shipped is 50, the population size is 100, the maximum number of iterations is 200, the crossover probability is 0.85, the mutation probability is 0.1, the tournament size is 7, the path weight is 0.6, the utilization weight is 0.4, the dynamic convergence threshold is 0.001, and the constraint penalty coefficient is 5, the algorithm, in the initialization phase, sets priority segments and locks the first priority gene to not participate in crossover and mutation, ensuring the stability of high-priority goods at the sequence level. In the iteration phase, it simulates and calculates the average loading segment utilization per trip by splitting the trip. The fitness is constructed by weighting and fusing the path length, prompting the population to converge towards "fewer backtracking movements and higher loading utilization" during evolution. Simultaneously, individuals violating single-load constraints or failing to meet prior trip guarantees are penalized, significantly suppressing unexecutable or insufficiently prioritized candidate solutions during the selection phase, thus reducing ineffective searches and erroneous convergence. When the optimal fitness improvement over several consecutive generations falls below a threshold, mutation is triggered, combined with segmented ordered crossover to maintain regional structure. This maintains population diversity and reduces the risk of getting trapped in local optima without compromising priority segment stability. Furthermore, in large-volume outbound scenarios (e.g., 100 or more items to be outbound), parameters such as increasing the elite retention rate, increasing the population size, or adjusting path and utilization weights can be used to adapt to a larger search space. This allows the algorithm to still output a pickup sequence and trip plan that satisfies single-load constraints and prioritizes priority goods within a controllable number of iterations. This maintains good convergence stability and engineering feasibility under different task scales and length distributions, and reduces the overall efficiency loss caused by the number of trips and empty segments.
[0050] The above embodiments are merely illustrative of the technical concept and features of the present invention, intended to enable those skilled in the art to understand the content of the present invention and implement it accordingly, and should not be construed as limiting the scope of protection of the present invention. It will be apparent to those skilled in the art that the present invention is not limited to the details of the above exemplary embodiments, and that the present invention can be implemented in other specific forms without departing from the spirit or essential characteristics of the present invention. Therefore, the embodiments should be considered exemplary and non-limiting in all respects. The scope of the present invention is defined by the appended claims rather than the foregoing description, and thus all changes falling within the meaning and scope of the equivalents of the claims are intended to be included within the present invention.
Claims
1. A genetic algorithm optimization method for stacker crane picking sequences, characterized in that, include: Obtain a set of goods to be shipped out, wherein each element in the set of goods has a goods identifier, storage location coordinates, number of segments occupied, and priority, and the priority is at least divided into first priority and other priorities; The single loading constraint is determined based on the number of segments occupied and the number of loading segments on the stacker crane's loading platform. The single loading constraint indicates that the total number of segments occupied by the goods loaded in a single load does not exceed the number of loading segments. The cargo identifier is used as a gene, and the gene is associated with the corresponding cargo location coordinates, number of segments occupied and priority. The optimal solution for the cargo retrieval sequence is searched based on a genetic algorithm. In population initialization, a priority segment is preset for the initial chromosome. The priority segment is located before the non-priority segment and prioritizes the genes with the first priority. In population iteration, a fitness function is constructed based on the path length and loading segment utilization rate corresponding to the chromosome. Selection operation is performed based on the fitness function to drive population iteration, and genes with the first priority are kept from participating in crossover and / or mutation operations. When the population iterates to the preset termination condition, the optimal solution is output. The optimal solution is then split into trips based on the single cargo loading constraint, and priority is checked for each trip. Genes whose cargo picking sequence is adjusted to the first priority are all assigned to the previous trip. in, In the population iteration, the pickup sequence corresponding to the chromosome is simulated by trip splitting, and the loading segment utilization rate represents the average loading segment utilization rate per trip obtained in the simulation calculation; When the result of the trip splitting simulation contains a trip that violates the single-load constraint, and / or when a gene of the first priority is not assigned to a preceding trip, a preset penalty term is applied to the chromosome fitness corresponding to that result.
2. The genetic algorithm optimization method for the stacker crane picking sequence according to claim 1, characterized in that, The location coordinates include aisle number, shelf level number, and shelf column number; In population initialization, genes with the same aisle number and shelf layer number are arranged consecutively to form a region segment; In population iteration, the path length is calculated using Manhattan distance.
3. The genetic algorithm optimization method for the stacker crane picking sequence according to claim 1, characterized in that, In population initialization, the preset priority segment includes: Genes of the first priority are combined according to the full-load priority strategy of the loading segment. When there are remaining genes of the first priority that are not fully loaded, genes of other priorities are randomly selected so that the combination formed by them and the remaining genes of the first priority satisfies the single-load constraint, and they are inserted into the priority segment for priority segment full-load matching.
4. The genetic algorithm optimization method for the stacker crane picking sequence according to claim 1, characterized in that, The selection operation includes: Elite chromosomes are determined based on fitness and then directly retained to the next generation of the population. A fitness boost is applied to non-elite chromosomes based on the proportion of adjacent genes with continuous position coordinates in the chromosome. A first preset number of chromosomes are randomly selected from the non-elite chromosomes after fitness correction, and the chromosome with the highest fitness after correction in the selection results is selected as the parent candidate.
5. The genetic algorithm optimization method for the stacker crane picking sequence according to claim 2, characterized in that, The crossover operation includes: Randomly select any region segment from the first parent chromosome as a crossing unit; The offspring chromosomes inherit the priority segments and crossing units from the first parent chromosome, while other gene positions are filled and deduplicated according to the gene sequence of the second parent chromosome.
6. The genetic algorithm optimization method for the stacker crane picking sequence according to claim 2, characterized in that, When, during population iteration, the improvement in optimal fitness for the first consecutive preset generations is less than a first preset magnitude, the mutation operation is triggered for each chromosome with a preset mutation probability, including: In a region where the number of genes exceeds a second preset number, two genes with non-adjacent coordinates are randomly selected and their positions are swapped. And / or, in a region segment with fewer than or equal to a second preset number of genes, randomly select a gene and move it before or after the gene that is closest to it in terms of relative Manhattan distance.
7. The genetic algorithm optimization method for the stacker crane picking sequence according to claim 1, characterized in that, The preset termination conditions include: the number of iterations reaches the preset maximum number of iterations, or the improvement of the optimal fitness for consecutive preset generations is less than the second preset amplitude, or the optimal fitness is greater than the preset threshold.
8. The genetic algorithm optimization method for the stacker crane picking sequence according to claim 1, characterized in that, During the population iteration process, when the number of iterations reaches the first preset number of iterations, if the improvement in the optimal fitness is less than the third preset value, then the chromosomes with a higher fitness preset proportion are retained and new chromosomes are randomly generated to supplement the population.
9. The genetic algorithm optimization method for the stacker crane picking sequence according to claim 1, characterized in that, In the population iteration, the path length and loading segment utilization rate are fused according to a preset weight to construct the fitness function; When the number of iterations reaches the second preset number of iterations, the weight of the path length is reduced.