Storage multi-load AGV task scheduling method based on position relation

Through the task scheduling method based on positional relationship in the warehousing system, using clustering, genetic operations and local search to optimize task scheduling, the problem of excessively long task scheduling calculation time in large-scale warehousing systems is solved, and more efficient task scheduling and lower operating costs are achieved.

CN119916800APending Publication Date: 2025-05-02HUNAN UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411887637.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-20
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

The existing task scheduling methods take too long to calculate the scheduling results in large-scale warehousing systems, resulting in long-term stagnation of the warehousing system and reducing operational efficiency.

Method used

A warehousing multi-load AGV task scheduling method based on positional relationship is proposed, and initial population is constructed through clustering, and genetic operations and local search optimization solutions are used to narrow the understanding space and improve computing efficiency.

Benefits of technology

Generate better task scheduling schemes in a shorter time, reduce calculation time, reduce task completion time and energy consumption, and reduce the number of AGV usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119916800A_ABST
    Figure CN119916800A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of intelligent warehousing, in particular to a warehousing multi-load AGV task scheduling method based on a position relation, and the method comprises the following steps: (1) building a task scheduling problem model, and defining the target and constraint of a task scheduling problem; (2) generating an initial solution in a clustering mode; and (3) generating a filial generation population through genetic manipulation, and combining the filial generation population with the parent population. And (4) sorting the combined populations according to fitness values, and reserving individuals with high fitness values. And (5) executing local search operation to form a final population. And (6) judging a termination condition and selecting an optimal scheduling scheme. The method has the advantages that the position relation between tasks is fully utilized in the processes of population initialization, new solution generation and local search, the size of the understanding space is effectively reduced, and the convergence speed is increased; the task scheduling scheme with the minimum AGV number usage amount, the shortest task completion time and the minimum total energy consumption can be generated for the warehousing system in a shorter time, and the order picking task execution efficiency is greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of intelligent warehousing, and in particular relates to a warehouse multi-load AGV task scheduling method based on position relationship. Background Art

[0002] With the development of robotics and IoT technologies, AGVs have been widely used in automated warehousing systems. Automated warehousing systems use AGVs to complete picking tasks, solving the problems of low efficiency and high economic costs of manual picking.

[0003] For warehouse operators, maximizing benefits requires reducing picking time and operating costs, and how to allocate picking tasks becomes the key to improving warehouse system efficiency. The task scheduling problem of AGVs in warehousing systems involves allocating tasks to multiple AGVs and determining the order in which each AGV performs tasks. AGVs in automated warehousing systems are divided into single-load AGVs and multi-load AGVs. Single-load AGVs can only perform one picking task at a time, while multi-load AGVs can perform multiple picking tasks at a time. With the expansion of warehousing scale and the continuous improvement of task completion efficiency requirements, more and more warehousing systems choose to use multi-load AGVs.

[0004] However, existing task scheduling methods are only applicable to small-scale warehousing systems. Because they use a random approach to generate and optimize solutions, the solution space becomes larger as the number of tasks increases, and the convergence speed of the algorithm also slows down, resulting in a longer time to calculate the task scheduling results. Calculating the scheduling results without considering time constraints will cause the warehousing system to stagnate for a long time, thereby reducing the benefits of warehouse operators. Summary of the invention

[0005] The present invention proposes a warehouse multi-load AGV task scheduling method based on position relationship, which aims to solve the above-mentioned technical problems. By making full use of the position relationship between tasks in the process of generating the initial population and the new solution, the size of the solution space can be effectively reduced. In each round of iteration, local search is also introduced to optimize the solution, speed up the improvement of solution quality, and thus generate a better task scheduling solution in a shorter time.

[0006] In order to achieve the above object, the present invention adopts a technical solution of a warehouse multi-load AGV task scheduling method based on position relationship, which specifically includes the following steps: S1: Establish a task scheduling problem model based on warehouse system information and picking task information, and define the objectives and constraints of the task scheduling problem. The warehouse system information includes a warehouse map and multi-load AGV information; The warehouse is divided into a set of grids, and the locations of all components in the storage system can be represented by two-dimensional coordinates, including shelves, AGVs, and distribution stations. There are many AGVs in the warehouse, A = {A k |k=1, 2, ..., K} is the set of AGVs, K is the maximum number of AGVs available. All AGVs have the same characteristics, V is the driving speed, and L is the maximum load. When using AGV otherwise Indicates AGV A k The number of items loaded. S = {S i |i=0, 1, ..., X} represents all the shelves in the warehouse, and X is the number of shelves. G={G j |||j=1, 2, ..., M, station} represents the tasks that the current storage system needs to complete, and M is the number of tasks. In addition to the pickup task, G station represents the delivery task, and the AGV delivers all the items currently picked up to the nearest delivery station. We store the same items on the same shelf, so task G j Can directly correspond to shelf S i Location; The objectives F(x) of the task scheduling problem include minimizing the total completion time of the task, minimizing the number of AGVs used, and minimizing the total energy consumption required for AGVs to complete all tasks; F(x)=(f 1 (x), f 2 (x), f 3 (x) Among them, A k represents the Kth AGV, Indicates whether the Kth AGV is selected to perform the picking task, and K represents the number of all AGVs in the current storage system; in, represents the total time for the Kth AGV to complete all the tasks assigned to it, Indicates the time required by the AGV with the longest time to complete the task in the current system; in, represents the total energy consumption of the Kth AGV to complete all the tasks assigned to it; The target F(x) is expressed as: minF(x) The constraints include: Among them, K represents the maximum number of AGVs available in the current storage system, and L represents the maximum load of the AGV; in, Represents the sorting task G j Is it assigned to AGVA? k implement; Among them, M represents the total number of tasks that the warehousing system needs to perform.

[0007] S2: According to the positional relationship between tasks, the initial population is constructed by clustering, and the fitness values ​​of individuals in the initial population are calculated; The S2 specifically includes the following steps: S21: Construct the initial population by clustering, including: S211: Using the warehouse map, multi-load AGV information, and picking task information, the population can be initialized by clustering according to the positional relationship between tasks. The average distance between all tasks is calculated and divided by the natural logarithm of the number of tasks to obtain the domain radius eps. The DBSCAN algorithm is run according to the domain radius eps to obtain the clusters after clustering; S212: Randomly shuffle the clusters after clustering, and also shuffle the order of tasks within each cluster; S213: Insert the delivery task after each cluster and connect all clusters, then randomly generate the number of AGVs to be used within the current system available number of AGVs to form a complete individual chromosome. The chromosome consists of three parts: the pickup gene, the delivery gene, and the AGV usage number gene; S214: Using delivery tasks, individual chromosomes can be divided into different task groups, and each task group is checked to not exceed the set AGV maximum load limit. If exceeded, a delivery task is inserted at a random position within the task group until the constraint condition is met; S215: Verify whether the generated individual chromosome already exists in the population. If not, add it to the population. If so, return to step S212 and continue to generate new individual chromosomes until the number of generated chromosomes reaches the preset population size. S22: First, the value of the individual optimization target is calculated, and then the fitness value of the individual is calculated according to the value of the optimization target, which specifically includes: S221: Calculate the value of the individual optimization target, first assign the task group in the individual chromosome to the AGV that performs the task, and then calculate the value of the optimization target F(x); S222: Calculate the fitness value of the individual, the fitness value F of individual i (i) It consists of the sum of two parts, namely the original fitness R (i)and density D (i) The original fitness R (i) is the amount of domination that the current individual has over other individuals, obtained by comparing the values ​​of the domination function; When comparing individuals, if the number of AGVs used is different, the dominance function is expressed as: Dominance = f 2 (x)+f 3 (x) Otherwise, the dominator function is expressed as: The density D (i) is the distance between the current individual and the surrounding individuals, expressed as: in, represents the distance from individual i to its kth nearest neighbor in the target space, and N is the size of the population.

[0008] S3: Select parent individuals from the initial population to perform genetic operations based on positional relationships to generate offspring individuals, calculate the fitness values ​​of offspring individuals and merge them with parent individuals to form a new population; The S3 specifically includes the following steps: S31: Use the roulette algorithm to select any two individuals from the initial population for crossover operation to obtain offspring individuals, specifically including: S311: Use the roulette wheel selection algorithm to select two parent individuals from the initial population for crossover to generate offspring individuals. In this process, individuals with higher fitness values ​​have a higher probability of being selected as parent individuals, which is conducive to passing on advantageous genes to the next generation, thereby improving the quality and fitness of the entire population; S312: Randomly generate two intersections, and divide the parent individuals into three parts through the two intersections. For the genes between the intersections, they are directly inherited to the offspring individuals. Due to the restrictions of gene constraints, each task can only be assigned once. Genes beyond the intersection cannot be directly inherited because they may be repeated, so the remaining positions are filled according to the mapping relationship, and finally the delivery task genes are inserted and the generated offspring individuals are verified to meet the AGV load requirements; S313: Repeat steps S311-S312 to obtain offspring individuals with the same number as the parent individuals; S32: Perform mutation operation on the offspring individuals generated after the crossover operation, specifically including: S321: Randomly select a pickup task gene and a delivery task gene, swap their positions, and change the number of tasks in the task group; S322: Randomly reduce a delivery task gene and merge the two task groups into one task group; S323: Considering the positional relationship between tasks, first randomly select a cargo-collecting task gene from the individual chromosome, and then exchange the position with another cargo-collecting task gene that is closest to the task; S324: Check the constraint relationship of the offspring individual after the mutation operation, if it is satisfied, keep it as the offspring individual after the mutation, if it is not satisfied, perform the mutation operation again; S33: Calculate the fitness value of the offspring individuals and merge them with the parent individuals to form a new population.

[0009] S4: Sort the individuals in the new population in descending order according to their fitness values, and retain the individuals with high fitness values; The S4 specifically includes the following steps: sorting the new population generated after the genetic operation in descending order according to the fitness values ​​of the individuals, and retaining the individuals with high fitness values.

[0010] S5: Perform local search operations based on position relationships on individuals with high fitness values ​​to form the final population; The S5 specifically includes the following steps: S51: Destroying an individual specifically refers to removing individual genes, including random removal and greedy removal. Random removal is to randomly remove the cargo-collecting task genes from individual chromosomes. Greedy removal is to remove cargo-collecting task genes with large execution costs, where the cost required to execute the task can be calculated from the distance between the task and the predecessor and successor tasks; S52: Repairing an individual specifically refers to adding operations to the damaged individual genes, including random addition and greedy addition. Random addition is to randomly insert the removed pickup task into the individual chromosome. Greedy addition is to calculate the execution cost of inserting the removed pickup task gene into different positions of the individual chromosome, and insert it into the position with the minimum execution cost; S53: After executing the repair operation, check whether the individual satisfies the constraint conditions. If so, retain it as a new individual after the local search; if not, retain the original individual.

[0011] S6: Determine whether the algorithm execution time exceeds a preset value. If not, use the final population as the initial population in a new round of iterations, and repeat steps S3-S5 for multiple rounds of iterations. If exceeded, determine the optimal task scheduling scheme based on the final population using a multi-criteria decision-making method, and assign tasks to be performed to each AGV using a task assignment method. The S6 specifically includes the following steps: S61: Check whether the running time of the algorithm exceeds the set value. If not, repeat steps S3-S5 for multiple iterations using the final population; S62: Based on the final population, the optimal task scheduling scheme is determined using a multi-criteria decision-making method. The pickup genes in the individual chromosomes are separated into task groups by the delivery genes. Each task group can only be assigned to one AGV for execution. First, the time required to complete each task group is calculated. Then, the task groups are sequentially assigned to the AGV with the shortest task execution time in the current system until all task groups are assigned, thereby generating the tasks that each AGV needs to perform.

[0012] Compared with the prior art, the advantages of the present invention are: (1) The present invention proposes an efficient task scheduling method that makes full use of the positional relationship between tasks to improve the task scheduling solution process. The proposed method first dynamically adjusts the neighborhood radius according to the positional distance between tasks for clustering, and then uses genetic operations designed based on positional relationships to generate new individuals. Finally, a local search operation designed based on positional relationships is used to optimize the optimal solution and speed up the calculation of scheduling results; (2) The task scheduling method proposed in the present invention takes into account the calculation time of the task scheduling results, and reduces the economic losses caused by the long-term stagnation of the warehouse system when calculating the scheduling results of large-scale tasks. It can simultaneously optimize under multiple objectives within the limited calculation time, reduce the task completion time and the total energy consumption required to complete the task, and also reduce the number of AGVs required to complete the task. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 It is a flow chart of a method for scheduling warehouse multi-load AGV tasks based on position relationship provided by an embodiment of the present invention; Figure 2 This is a schematic diagram of a multi-load AGV storage system environment provided by an embodiment of the present invention; Figure 3 It is a schematic diagram of the execution steps of generating an initial population provided by an embodiment of the present invention; Figure 4 is a schematic diagram of a crossover operation provided by an embodiment of the present invention; Figure 5 It is a schematic diagram of a variation operation provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0014] In order to make the purpose, technical scheme and advantages of the present invention clearer, the present invention is further described in detail below in conjunction with specific embodiments and with reference to the accompanying drawings. It should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present invention. In addition, in the following description, the description of known structures and technologies is omitted to avoid unnecessary confusion of the concept of the present invention. In addition, the technical features involved in the different embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other. The present invention will be described in more detail below with reference to the accompanying drawings. In each of the accompanying drawings, the same elements are represented by similar reference numerals. For clarity, the various parts in the accompanying drawings are not drawn to scale.

[0015] See the flowchart of the embodiment of the present invention. Figure 1 This embodiment proposes a warehouse multi-load AGV task scheduling method based on position relationship, which is used to solve the problems existing in the prior art. The method includes the following steps: S1: Establish a task scheduling problem model based on warehouse system information and picking task information, and define the objectives and constraints of the task scheduling problem. The warehouse system information includes a warehouse map and multi-load AGV information; S2: According to the positional relationship between tasks, the initial population is constructed by clustering, and the fitness values ​​of individuals in the initial population are calculated; S3: Select parent individuals from the initial population to perform genetic operations based on positional relationships to generate offspring individuals, calculate the fitness values ​​of offspring individuals and merge them with parent individuals to form a new population; S4: Sort the individuals in the new population in descending order according to their fitness values, and retain the individuals with high fitness values; S5: Perform a local search operation based on position relationship on individuals with high fitness values ​​to form a final population; S6: Determine whether the algorithm execution time exceeds the preset value. If not, use the final population as the initial population in a new round of iterations, and repeat steps S3-S5 for multiple rounds of iterations. If exceeded, determine the optimal task scheduling plan based on the final population using a multi-criteria decision-making method, and assign tasks to be performed to each AGV through a task assignment method.

[0016] The above steps can be summarized as the following process: (1) Establish a task scheduling problem model and define the objectives and constraints of the task scheduling problem. (2) Generate an initial solution by clustering. (3) Generate a child population through genetic operations and merge it with the parent population. (4) Sort the merged population by fitness value and retain individuals with high fitness values. (5) Perform local search operations to form the final population. (6) Determine the termination condition and select the optimal scheduling solution.

[0017] The following describes each step of the embodiment in detail: S1: Establish a task scheduling problem model and define the goals and constraints of the task scheduling problem In this embodiment, S1 includes: like Figure 2 As shown, the warehousing system of this embodiment is composed of shelves, AGVs and distribution stations. The warehouse map is displayed in the form of a grid map, each component occupies one grid in the grid map, and the AGV can only move between free grids. The warehousing system of this embodiment includes 9 groups of shelves, each group of shelves is composed of 10 shelves arranged closely together, in addition to 5 AGVs and 3 distribution stations. When the warehousing system receives a picking task, it executes a task scheduling method to distribute the picking task according to the available number and load of AGVs in the warehouse. The AGV goes to the shelf corresponding to the picking task to pick up the goods according to the received scheduling results. After completing a batch of continuous pickup tasks, the AGV will go to the nearest distribution station to perform the delivery task, and then continue to complete the assigned tasks until all assigned tasks are completed.

[0018] First, this embodiment mathematically models the task scheduling optimization problem to demonstrate the performance index. Specifically, there are many AGVs in the warehouse, A = {A k |k=1, 2, ..., K} is the set of AGVs, K is the maximum number of AGVs available. All AGVs have the same characteristics, V is the driving speed, and L is the maximum load. When using AGV otherwise Indicates AGV A k The number of items loaded. S = {S i |i=0, 1, ..., X} represents all the shelves in the warehouse, and X is the number of shelves. G={G j |||j=1, 2, ..., M, station} represents the tasks that the current storage system needs to complete, and M is the number of tasks. In addition to the pickup task, G station G represents the delivery task. The AGV delivers all the items currently picked up to the nearest distribution station. In this embodiment, the delivery task is represented by 0. We store the same items on the same shelf, so the task G j You can directly find the corresponding shelf S i Location; The warehousing system must assign all tasks to AGVs for execution. AGVA k With Task G j The relationship between When task G j By AGVA k Execute, otherwise it will be executed by other AGVs; When the AGV receives a set of tasks, the AGV moves to the shelves in sequence to pick up items stored on the shelves. Indicates execution of task G prej After AGV to the next task G j The distance moved is calculated by the heuristic search algorithm A*. Therefore, the AGV moves to task G j The travel time calculation formula for the shelf is: AGV A k Complete Mission G j The time of the previous task G prej Go to current task G j The moving time and loading and unloading time of items (the loading and unloading time of each item is defined as T Load ). When the task is a pickup task G j When , the calculation formula is: When the task is a delivery task G station When , the calculation formula is: Therefore, AGVA k The time to complete all the tasks assigned to it can be composed of two parts: pickup and delivery, and the calculation formula is: AGV consumes energy during driving, and the energy consumption is divided into two types: no-load energy consumption and loaded energy consumption. When the AGV is no-load, the energy consumption of each grid moved on the map is x. When the AGV is loaded with items, the energy consumption of the AGV moving on each grid is increased by E for each item loaded. Item AGVA k The total energy consumption to complete the task is calculated as: In this embodiment, the objective F(x) of the task scheduling problem includes minimizing the total completion time of the task, minimizing the number of AGVs used, and minimizing the total energy consumption required by the AGV to complete all tasks; F(x)=(f 1 (x), f 2 (x), f 3 (x) Among them, A k represents the Kth AGV, Indicates whether the Kth AGV is selected to perform the picking task, and K represents the number of all AGVs in the current storage system; in, represents the total time for the Kth AGV to complete all the tasks assigned to it, Indicates the time required by the AGV with the longest time to complete the task in the current system; in, represents the total energy consumption of the Kth AGV to complete all the tasks assigned to it; The target F(x) is expressed as: minF(x) In this embodiment, the constraints of the task scheduling problem include: Among them, K represents the maximum number of AGVs available in the current storage system, and L represents the maximum load of the AGV; in, Represents the sorting task G j Is it assigned to AGVA? k implement; Among them, M represents the total number of tasks that the warehousing system needs to perform.

[0019] S2: Generate initial solution by clustering In this embodiment, the specific process of S2 is as follows: Figure 3 As shown, including: S21: Construct the initial population by clustering, including: S211: Using the warehouse map, multi-load AGV information, and picking task information, the population can be initialized by clustering according to the positional relationship between tasks. The average distance between all tasks is calculated and divided by the natural logarithm of the number of tasks to obtain the domain radius eps. The DBSCAN algorithm is run according to the domain radius eps to obtain the clustered clusters. S212: Randomly disrupt the clusters after clustering, and also disrupt the order of tasks within each cluster. S213: Insert the delivery task after each cluster and connect all clusters, then randomly generate the number of AGVs to be used within the current system available number of AGVs to form a complete individual chromosome. The chromosome consists of three parts: the pickup gene, the delivery gene and the AGV usage number gene. S214: Using the delivery task, the individual chromosomes can be divided into different task groups, and each task group is checked to not exceed the set AGV maximum load limit. If exceeded, the delivery task is inserted at a random position within the task group until the constraint condition is met. S215: Verify whether the generated individual chromosome already exists in the population. If not, add it to the population. If so, return to step S212 and continue to generate new individual chromosomes until the generated number reaches the preset population size. S22: First, the value of the individual optimization target is calculated, and then the fitness value of the individual is calculated according to the value of the optimization target, which specifically includes: S221: Calculate the value of the individual optimization target, first assign the task group in the individual chromosome to the AGV that performs the task, and then calculate the value of the optimization target F(x). In this embodiment, the chromosome encoding cannot directly express the tasks that each AGV needs to perform, so an additional task allocation method must be performed. The tasks in the chromosome are assigned by task group, and each task group can only be assigned to one AGV. First, calculate the time required to complete each task group, and then assign the task groups to the AGV with the shortest task execution time in the system in turn until all task groups are assigned. S222: Calculate the fitness value of the individual, the fitness value F of individual i (i) It consists of the sum of two parts, namely the original fitness R (i) and density D (i) The original fitness R (i) It is the amount of domination that the current individual has over other individuals, obtained by comparing the value of the domination function. When comparing individuals, if the number of AGVs used is different, the dominance function is expressed as: Dominance = f 2 (x)+f 3 (x) Otherwise, the dominator function is expressed as: The density D (i) is the distance between the current individual and the surrounding individuals, expressed as: in, represents the distance from individual i to its kth nearest neighbor in the target space, and N is the size of the population.

[0020] S3: Generate offspring population through genetic operation and merge it with the parent population In this embodiment, S3 includes: S31: Use the roulette algorithm to select any two individuals from the initial population for crossover operation to obtain offspring individuals. In this embodiment, the crossover probability is set to 0.9. The crossover operation specifically includes: S311: Use the roulette wheel selection algorithm to select two parent individuals from the initial population for crossover to generate offspring individuals. In this process, individuals with higher fitness values ​​have a higher probability of being selected as parent individuals, which is conducive to passing on dominant genes to the next generation, thereby improving the quality and fitness of the entire population. S312: Figure 4 As shown, two intersections are randomly generated, and the parent individuals are divided into three parts through the two intersections. For the genes between the intersections, they are directly inherited to the offspring individuals. Due to the restrictions of gene constraints, each task can only be assigned once. Genes beyond the intersection cannot be directly inherited because they may be repeated, so the remaining positions are filled according to the mapping relationship, and finally the delivery task genes are inserted and the generated offspring individuals are verified to meet the AGV load requirements. S313: Repeat steps S311-S312 to obtain offspring individuals with the same number as the parent individuals. Exemplarily, the specific crossover process of S31 is as follows: Parent chromosome 1: T1,T2,T3,T4,T5,0,T6,T7,T8,T9,0 Parent chromosome 2: T9,T8,T7,T6,T5,0,T4,T3,T2,T1,0 Removing the delivery gene, we get: Parent chromosome 1: T1, T2, T3, T4, T5, T6, T7, T8, T9 Parent chromosome 2: T9, T8, T7, T6, T5, T4, T3, T2, T1 Two crossover points are randomly generated, 3 and 7, and the genes between the crossover points are directly inherited to the offspring individuals: Subchromosome 1: T6, T5, T4, T3, T2 Subchromosome 2: T4, T5, T6, T7, T8 Fill the remaining positions according to the mapping relationship: Subchromosome 1: T1, T8, T7, T6, T5, T4, T3, T2, T9 Subchromosome 2: T9, T2, T3, T4, T5, T6, T7, T8, T1 Insert the delivery task gene and check whether the load requirements are met: Subchromosome 1: T1, T8, T7, 0, T6, T5, T4, 0, T3, T2, T9, 0 Subchromosome 2: T9, T2, T3, T4, 0, T5, T6, T7, T8, T1, 0 S32: Perform mutation operation on the offspring individuals generated after the crossover operation. In this embodiment, the mutation probability is set to 0.2. Figure 5 As shown, specifically including: S321: Randomly select a pickup task gene and a delivery task gene, swap their positions, and change the number of tasks in the task group. Exemplarily, the specific mutation process of S321 is as follows: Chromosomes before mutation: T1, T2, T3, T4, T5, 0, T6, T7, T8, T9, 0, ..., 0 Chromosomes after mutation: T1, T2, T3, T4, T5, 0, T6, 0, T8, T9, T7, ..., 0 For the chromosomes before mutation, select the pickup task T7 with subscript 7 and the delivery task with subscript 10, and exchange their positions to obtain the chromosomes after mutation. The purpose is to change the number of tasks in different task groups. S322: Randomly reduce a delivery task gene and merge the two task groups into one task group. Exemplarily, the specific mutation process of S322 is as follows: Chromosomes before mutation: T1, T2, T3, 0, T4, T5, 0, T6, T7, T8, T9, 0, ..., 0 Chromosomes after mutation: T1, T2, T3, T4, T5, 0, T6, T7, T8, T9, 0, ..., 0 For the chromosome before mutation, we choose to remove the delivery task with subscript 3 to obtain the chromosome after mutation, with the aim of merging the two task groups into one task group. S323: Considering the positional relationship between tasks, first randomly select a pickup task gene from the individual chromosome, and then exchange its position with another pickup task gene that is closest to the task. Exemplarily, the specific mutation process of S323 is as follows: Chromosomes before mutation: T1, T2, T3, T4, T5, 0, T6, T7, T8, T9, 0, ..., 0 Chromosomes after mutation: T1, T2, T6, T4, T5, 0, T3, T7, T8, T9, 0, ..., 0 For the chromosome before mutation, randomly select the pickup task T3 with subscript 2. According to calculation, the pickup task T6 with subscript 6 is closer to it. Exchange their positions to obtain the mutated chromosome. The purpose is to exchange the two pickup task genes to make the task completion speed faster and the execution energy consumption less. S324: Check the constraint relationship of the offspring individuals after the mutation operation. If the constraint relationship is satisfied, it is retained as the offspring individuals after the mutation. If the constraint relationship is not satisfied, the mutation operation is performed again. S33: Calculate the fitness value of the offspring individuals and merge them with the parent individuals to form a new population.

[0021] S4: Sort the merged population by fitness value and retain individuals with high fitness values In this embodiment, S4 includes: The new population obtained by merging in S33 is sorted in descending order according to its fitness value, and then the individuals with the subscript [0:N-1] are selected as the final population.

[0022] S5: Perform local search operations to form the final population In this embodiment, S5 includes: S51: Destroying an individual specifically refers to removing individual genes, including random removal and greedy removal. Random removal is to randomly remove the cargo-collecting task genes from individual chromosomes. Greedy removal is to remove cargo-collecting task genes with large execution costs, where the cost required to execute the task can be calculated from the distance between the task and the predecessor and successor tasks. Exemplarily, the specific removal process of S51 is as follows: Random removal: Remove the front chromosome: T1, T2, T3, T4, T5, 0, T6, T7, T8, T9, 0, ..., 0 Remove the pickup task gene: T2 Chromosomes after removal: T1, T3, T4, T5, 0, T6, T7, T8, T9, 0, ..., 0 Greedy removal: Remove the front chromosome: T1, T2, T3, T4, T5, 0, T6, T7, T8, T9, 0, ..., 0 Remove the pickup task gene: T7 Chromosomes after removal: T1, T2, T3, T4, T5, 0, T6, T8, T9, 0, ..., 0 The random removal operation will randomly select a pickup task gene for removal. In the random removal example, the task gene removed is the pickup task T2 with subscript 2. The purpose of greedy removal is to remove the pickup task genes with higher execution costs in the task group. The cost required to execute a task can be obtained from the distance between its predecessor and successor tasks. In the example, the execution cost of task T2 is the energy consumption of the AGV moving from task T1 to task T2 plus the energy consumption of moving from task T2 to task T3. Therefore, we first traverse the chromosome and calculate the energy consumption between each task and its predecessor and successor tasks, and then remove the pickup task gene with the highest cost. In the example, the pickup task T7 is removed. S52: Repairing an individual specifically refers to adding operations to the damaged individual genes, including random addition and greedy addition. Random addition is to randomly insert the removed pickup task into the individual chromosome. Greedy addition is to calculate the execution cost of inserting the removed pickup task gene into different positions of the individual chromosome, and insert it into the position with the minimum execution cost. Exemplarily, the specific adding process of S52 is as follows: Random addition: Removed pickup task gene: T2 Chromosomes before adding: T1, T2, T3, T4, T5, 0, T6, T7, T8, T9, 0, ..., 0 Chromosomes after adding: T1, T3, T4, T5, 0, T6, T7, T2, T8, T9, 0, ..., 0 Greedy addition: Removed pickup gene: T7 Add pre-chromosome T1 T2 T3 T4 T5 0 T6 T7 T8 T9 0 0 After adding chromosomes: T1, T2, T3, T4, T5, 0, T6, T8, T7, T9, 0, ..., 0 The random addition operation will randomly select a position in the individual chromosome to insert the removed pickup task gene. In this example, the removed task gene T2 is randomly inserted after the task gene T7. The greedy addition operation is similar to the greedy removal operation. It calculates the execution cost of the removed pickup task gene when inserted into different positions of the individual chromosome and inserts it to the position with the lowest execution cost. In this example, the removed task gene T7 is inserted after the task gene T8, which means that the energy consumption of the AGV moving from task T8 to task T7 and then from task T7 to task T9 is the lowest. S53: After executing the repair operation, check whether the individual gene meets the constraint conditions. If so, retain it as a new individual after local search; if not, retain the original individual.

[0023] S6: Termination condition judgment and optimal scheduling solution selection In this embodiment, S6 includes: S61: The termination condition of the method is set to the execution time of the method. In this embodiment, the execution time of the method is related to the number of tasks for which the scheduling results need to be calculated. Specifically, the method is executed for as many seconds as the scheduling results of the tasks need to be calculated. When the set termination time is reached, the final population generated in the round of iteration will be handed over to the multi-criteria decision-making method to select the optimal scheduling solution. When the set termination time is not reached, a new round of iterative operation will continue. S62: The final population contains multiple scheduling solutions, but the system can only choose one to execute. In order to avoid the unfairness that may be caused by manual subjective selection, this embodiment uses the VIKOR method in multi-criteria decision-making to determine the optimal solution. The VIKOR method is mainly used to evaluate and rank the advantages and disadvantages of different solutions. Its core idea is to compromise between the optimal solution and the relatively worst solution to find a balanced solution. The specific steps are as follows: First, w k is the weight of the objective function. In this embodiment, w is defined as k =[0.2, 0.4, 0.4], For each individual I in the final population j ,Since the sizes of its three objective functions are different, we normalize these objective functions. Represents individual I j Its fitness function f x The normalized result is as follows: Then, based on the results of the above formula, a matrix N is established, which represents the normalized values ​​of all non-dominated solutions on the three objective functions. n is the number of non-dominated solutions. Based on the matrix N, determine the optimal value of each evaluation index score The maximum and worst values ​​of each column is the minimum value of each column, and the calculation formula is as follows: Next, calculate the group utility value and individual regret value Group utility value It measures how close the solution is to the optimal solution in each objective function, and the individual regret value Reflecting the worst performance of the solution on each objective function, the formula is as follows: Finally, after calculating the group utility value and individual regret value Based on this, the decision index value is further calculated. The smaller the index value, the higher the superiority of the scheme. The decision mechanism coefficient V is used to balance the group benefit and individual regret. This embodiment defines V = 0.5 to adjust the weights of the two in the comprehensive evaluation. Therefore, we can sort the individuals in the final population and select the optimal scheduling scheme to execute. The calculation formula is as follows: Obviously, the described embodiments are only some embodiments of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

Claims

1. A warehouse multi-load AGV task scheduling method based on position relationship, characterized in that: The following steps are involved: S1: Establish a task scheduling problem model based on warehouse system information and picking task information, and define the objectives and constraints of the task scheduling problem. The warehouse system information includes a warehouse map and multi-load AGV information; S2: According to the positional relationship between tasks, the initial population is constructed by clustering, and the fitness values ​​of individuals in the initial population are calculated; S21: Using the warehouse map, multi-load AGV information, and picking task information, the population can be initialized by clustering according to the positional relationship between tasks. The average distance between all tasks is calculated and divided by the natural logarithm of the number of tasks to obtain the domain radius eps. The DBSCAN algorithm is run according to the domain radius eps to obtain the clustering result, and the initial population is generated based on the clustering result. The individual chromosomes in the population are composed of three parts: the pickup gene, the delivery gene, and the AGV usage number gene, and they meet the constraints. Finally, verify whether the generated individual chromosome already exists in the population. If not, add it to the population. If it does, regenerate a new individual chromosome until the number of generated chromosomes reaches the preset population size. S22: First, the value of the individual optimization target is calculated, and then the fitness value of the individual is calculated according to the value of the optimization target, which specifically includes: S221: Calculate the value of the individual optimization target, first assign the task group in the individual chromosome to the AGV that performs the task, and then calculate the value of the optimization target F(x); S222: Calculate the fitness value of the individual, the fitness value F of individual i (i) It consists of the sum of two parts, namely the original fitness R (i) and density D (i) The original fitness R (i) is the amount of domination that the current individual has over other individuals, obtained by comparing the values ​​of the domination function; When comparing individuals, if the number of AGVs used is different, the dominance function is expressed as: Dominance=f2(x)+f3(x) Otherwise, the dominator function is expressed as: The density D (i) is the distance between the current individual and the surrounding individuals, expressed as: in, represents the distance from individual i to its kth nearest neighbor in the target space, and N is the size of the population; S3: Select parent individuals from the initial population to perform genetic operations based on positional relationships to generate offspring individuals, calculate the fitness values ​​of offspring individuals and merge them with parent individuals to form a new population; S4: Sort the individuals in the new population in descending order according to their fitness values, and retain the individuals with high fitness values; S5: Perform local search operations based on position relationships on individuals with high fitness values ​​to form the final population; S51: Destroying an individual specifically refers to removing individual genes, including random removal and greedy removal. Random removal is to randomly remove the cargo-collecting task genes from individual chromosomes. Greedy removal is to remove cargo-collecting task genes with large execution costs, where the cost required to execute the task can be calculated from the distance between the task and the predecessor and successor tasks; S52: Repairing an individual specifically refers to adding operations to the damaged individual genes, including random addition and greedy addition. Random addition is to randomly insert the removed pickup task into the individual chromosome. Greedy addition is to calculate the execution cost of inserting the removed pickup task gene into different positions of the individual chromosome, and insert it into the position with the minimum execution cost; S53: After performing the repair operation, check whether the individual satisfies the constraint condition. If so, keep it as the new individual after the local search. If not, keep the original individual. S6: Determine whether the algorithm execution time exceeds the preset value. If not, use the final population as the initial population in a new round of iterations, and repeat steps S3-S5 for multiple rounds of iterations. If exceeded, determine the optimal task scheduling plan based on the final population using a multi-criteria decision-making method, and assign tasks to be executed to each AGV through a task assignment method.

2. A method for scheduling warehouse multi-load AGV tasks based on position relationship according to claim 1, characterized in that: The step S1 specifically includes: The warehouse map is represented in the form of a grid map, which includes shelves, AGVs and distribution stations. Each component occupies one grid in the grid, and only one component can exist in the same grid at the same time point; The multi-load AGV information includes an AGV set A={A k |k=1,2,...,K}, where K is the maximum number of AGVs available; all AGVs have the same characteristics, V is the driving speed, and L is the maximum load; AGVA k The number of items loaded; The picking task information is represented by the task set G = {G j |||j=1, 2, ..., M, station}, M is the number of tasks, station is the delivery task, when executing the delivery task, the AGV will deliver all the currently picked up items to the nearest distribution station; The objectives F(x) of the task scheduling problem include minimizing the total completion time of the task, minimizing the number of AGVs used, and minimizing the total energy consumption required for AGVs to complete all tasks; F(x)=(f1(x), f2(x), f3(x)) Among them, A k represents the Kth AGV, AGVA k Whether it is selected to perform the picking task, K represents the number of all AGVs in the current storage system; in, AGVA k The total time to complete all tasks assigned to it, Indicates the time required by the AGV with the longest time to complete the task in the current system; in, AGVA k The total energy consumption to complete all tasks assigned to it; The target F(x) is expressed as: min F(x) The constraints include: Among them, K represents the maximum number of AGVs available in the current storage system, L represents the maximum load of the AGV, AGVA k Load; in, Represents the sorting task G j Is it assigned to AGVA? k implement; Among them, M represents the total number of tasks that the warehousing system needs to perform.

3. The method for scheduling warehouse multi-load AGV tasks based on position relationship according to claim 1 is characterized in that: The step S3 specifically includes: S31: Use the roulette algorithm to select any two individuals from the initial population for crossover operation to obtain offspring individuals, specifically including: S311: Use the roulette wheel selection algorithm to select two parent individuals from the initial population for crossover to generate offspring individuals. In this process, individuals with higher fitness values ​​have a higher probability of being selected as parent individuals, which is conducive to passing on advantageous genes to the next generation, thereby improving the quality and fitness of the entire population; S312: Randomly generate two intersections, and divide the parent individuals into three parts through the two intersections. For the genes between the intersections, they are directly inherited to the offspring individuals. Due to the restrictions of gene constraints, each task can only be assigned once. Genes beyond the intersection cannot be directly inherited because they may be repeated, so the remaining positions are filled according to the mapping relationship, and finally the delivery task genes are inserted and the generated offspring individuals are verified to meet the AGV load requirements; S313: Repeat steps S311-S312 to obtain offspring individuals with the same number as the parent individuals; S32: Perform mutation operation on the offspring individuals generated after the crossover operation, specifically including: S321: Randomly select a pickup task gene and a delivery task gene, swap their positions, and change the number of tasks in the task group; S322: Randomly reduce a delivery task gene and merge the two task groups into one task group; S323: Considering the positional relationship between tasks, first randomly select a cargo-collecting task gene from the individual chromosome, and then exchange the position with another cargo-collecting task gene that is closest to the task; S324: Check the constraint relationship of the offspring individual after the mutation operation, if it is satisfied, keep it as the offspring individual after the mutation, if it is not satisfied, perform the mutation operation again; S33: Calculate the fitness value of the offspring individuals and merge them with the parent individuals to form a new population.

4. The method for scheduling warehouse multi-load AGV tasks based on position relationship according to claim 1 is characterized in that: The step S6 specifically includes: S61: Check whether the running time of the algorithm exceeds the set value. If not, repeat steps S3-S5 for multiple iterations using the final population; S62: Based on the final population, the optimal task scheduling scheme is determined using a multi-criteria decision-making method. The pickup genes in the individual chromosomes are separated into task groups by the delivery genes. Each task group can only be assigned to one AGV for execution. First, the time required to complete each task group is calculated. Then, the task groups are sequentially assigned to the AGV with the shortest task execution time in the current system until all task groups are assigned, thereby generating the tasks that each AGV needs to perform.