Method and device for determining AGV task allocation strategy, equipment, medium and product

Through the combination of Hungarian algorithm and genetic algorithm, the AGV task allocation strategy is dynamically adjusted, which solves the efficiency problems of traditional systems in demand fluctuations and complex task allocation, realizes real-time and efficient task allocation, and optimizes the operational efficiency of the logistics system.

CN119323326APending Publication Date: 2025-01-17青岛华晟智能装备股份有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411364686.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2025-01-17

AI Technical Summary

Technical Problem

Traditional AGV task allocation systems rely on static scheduling strategies and are difficult to cope with demand fluctuations and environmental changes. When the number and task types of AGVs increase, task allocation problems become complicated, resulting in low system efficiency.

Method used

Using a combination of Hungarian algorithms and genetic algorithms, we dynamically adjust the task allocation strategy by obtaining task allocation lists, classifying tasks, calculating cost matrix and fitness functions to achieve real-time and efficient task allocation.

Benefits of technology

It reduces the complexity of task calculation, improves the data convergence speed, solves the problem that AGV cannot be scheduled, realizes real-time and efficient task allocation, and optimizes the operational efficiency of the logistics system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119323326A_ABST
    Figure CN119323326A_ABST
Patent Text Reader

Abstract

The invention discloses an AGV task allocation strategy determination method and device, equipment, a medium and a product, and relates to the field of task allocation. The method comprises the following steps: acquiring a current task allocation list; performing classification based on the current task allocation list, a set regional route and the type of the AGV to obtain a current classification task list; determining a current bicycle distribution strategy according to the current cost matrix by adopting a Hungary algorithm; determining a current task allocation result by adopting a genetic algorithm according to the current single-vehicle allocation strategy and the current inter-task cost matrix; judging whether the current task allocation result is a pre-allocated task or not; if yes, storing the current task allocation result to the task list, and returning to obtain the current task allocation list; and if not, outputting the current task allocation result as a task allocation strategy so as to perform task allocation on the AGV. The method and the device aim at realizing real-time and efficient task allocation, so that the operation efficiency is optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of task allocation, and in particular to a method, device, equipment, medium and product for determining an AGV task allocation strategy. Background Art

[0002] In today's rapidly developing industrial automation and smart logistics fields, automated guided vehicles (AGVs) have become an indispensable part. In warehouses, factories, and other logistics centers, they significantly improve logistics efficiency and reduce labor costs with their efficient automatic handling capabilities. With the advancement of technology, the application scenarios of AGVs are constantly expanding. How to effectively allocate tasks and ensure that each AGV can perform at its maximum efficiency has become an urgent problem to be solved.

[0003] Many current traditional task allocation systems rely on static scheduling strategies, which are not flexible enough when facing demand fluctuations or environmental changes. Secondly, some methods may only focus on local optimal solutions and ignore the exploration of global optimal solutions. In addition, as the number of AGVs and the types of tasks increase, the task allocation problem becomes extremely complex and traditional algorithms are difficult to handle. Summary of the invention

[0004] The purpose of this application is to provide a method, device, equipment, medium and product for determining an AGV task allocation strategy, which can realize real-time and efficient task allocation, thereby optimizing operational efficiency.

[0005] To achieve the above objectives, this application provides the following solutions:

[0006] In a first aspect, the present application provides a method for determining an AGV task allocation strategy, the method for determining an AGV task allocation strategy comprising:

[0007] Obtaining a current task allocation list; the task allocation list is determined based on the stored task list and the tasks to be allocated selected according to the task status;

[0008] Based on the current task assignment list, the set regional route and the type of AGV, a current classified task list is obtained; the classified task list includes a plurality of classified tasks and a plurality of AGVs corresponding to the classified tasks;

[0009] The Hungarian algorithm is used to determine the current bicycle allocation strategy according to the current cost matrix; the cost matrix is ​​determined based on the classification task and the corresponding task cost; the task cost is determined according to the time for each AGV to complete the classification task and the actual distance moved; the task cost is used to characterize the matching degree between each AGV and the classification task; the bicycle allocation strategy is used to characterize the one-to-one matching relationship between a single AGV and the classification task;

[0010] A genetic algorithm is used to determine the current task allocation result according to the current bicycle allocation strategy and the current inter-task cost matrix; the task allocation result includes: the allocated task and the AGV corresponding to the allocated task; the inter-task cost matrix is ​​determined based on the cost between any two classification tasks; the cost is determined based on the time and actual distance from the end point of one classification task to the starting point of another classification task;

[0011] Determine whether the current task assignment result is a pre-assigned task; the pre-assigned task is an AGV that has already performed a task corresponding to the assigned task, and the assigned task is issued in the form of a pre-task;

[0012] If yes, store the current task assignment result into the task list and return “Get current task assignment list”;

[0013] If not, the current task allocation result is output as the task allocation strategy to allocate tasks to the AGV.

[0014] Optionally, classification is performed based on the current task assignment list, the set regional route, and the type of AGV to obtain a current classified task list, specifically including:

[0015] Group the current task assignment list according to the set regional routes to obtain the current grouped task assignment list;

[0016] According to the current grouping task allocation list and the type of AGV, the current classified task list is obtained.

[0017] Optionally, a genetic algorithm is used to determine the current task allocation result according to the current bicycle allocation strategy and the current inter-task cost matrix, specifically including:

[0018] Determine initial information data; the initial information data includes: initial parameters and initial position of the individual; the individual is a single AGV; the initial parameters include: set number of iterations;

[0019] Determine an initial population based on the current bicycle allocation strategy; the initial population consists of a plurality of individuals;

[0020] Determine the fitness function based on the current inter-task cost matrix;

[0021] Determine the real-time position of each individual in the initial population at the current iteration number according to the parameter combination at the current iteration number; the parameter combination includes: a gene segment and a mutation factor; the gene segment is used to characterize the selection relationship between the AGV and the classification task;

[0022] Determine the fitness at the current number of iterations according to the fitness function and the real-time position;

[0023] Determine whether a termination condition is met; the termination condition is that the current number of iterations reaches a set number of iterations or the fitness under the current number of iterations reaches a preset threshold;

[0024] If the iteration stop condition is met, the real-time position corresponding to the fitness under the current iteration number is determined as the current task allocation result;

[0025] If the iteration stop condition is not met, the parameter combination at the current iteration number is updated according to the fitness at the current iteration number, and the updated parameter combination is used as the parameter combination at the next iteration number, and returns "determine the real-time position of each individual in the initial population at the current iteration number according to the parameter combination at the current iteration number".

[0026] Optionally, determining the real-time position of each individual in the initial population at the current iteration number according to the parameter combination at the current iteration number specifically includes:

[0027] Perform cross processing according to the gene fragments at the current iteration number to obtain the processed gene fragments at the current iteration number;

[0028] The processed gene fragment at the current iteration number is corrected by using the mutation factor at the current iteration number to obtain the corrected gene fragment at the current iteration number;

[0029] The position of each individual in the initial population is updated according to the corrected gene fragment at the current iteration number, so as to obtain the real-time position of each individual in the initial population at the current iteration number.

[0030] Optionally, the Hungarian algorithm is used to determine the current bicycle allocation strategy according to the current cost matrix, specifically including:

[0031] Determine minimum element information; the minimum element information is the element with the smallest value in each row and the element with the smallest value in each column in the current cost matrix;

[0032] Processing the current cost matrix according to the minimum element information to obtain a current processed cost matrix;

[0033] Based on the current processing cost matrix, the number of lines is determined by using lines covering rows and columns with values ​​of 0; the lines are horizontal lines or vertical lines;

[0034] Determining whether the number of lines is less than a preset value;

[0035] If yes, then determine the element with the smallest value in the rows and columns of the current processing cost matrix that are not covered by the lines to obtain the benchmark value;

[0036] Subtracting the reference value from each element in the row and column not covered by the line, and adding the reference value to the intersection of the line to obtain a calculated processing cost matrix;

[0037] The calculated processing cost matrix is ​​used as the next processing cost matrix, and "based on the current processing cost matrix, the number of lines is determined by using lines to cover the rows and columns with a value of 0" is returned;

[0038] If not, the elements with a value of 0 are filtered according to the set method to obtain the current bicycle allocation strategy.

[0039] Optionally, before determining whether the current task allocation result is a pre-allocated task, the method further includes:

[0040] Decode the current task allocation result.

[0041] In a second aspect, the present application provides a device for determining an AGV task allocation strategy, the device for determining an AGV task allocation strategy comprising:

[0042] A task assignment list acquisition module is used to acquire a current task assignment list; the task assignment list is determined based on the stored task list and the tasks to be assigned are selected according to the task status;

[0043] A classification module, used for classifying based on the current task assignment list, the set regional route and the type of AGV to obtain a current classified task list; the classified task list includes multiple classified tasks and multiple AGVs corresponding to the classified tasks;

[0044] The single-vehicle allocation strategy determination module is used to determine the current single-vehicle allocation strategy according to the current cost matrix using the Hungarian algorithm; the cost matrix is ​​determined based on the classification task and the corresponding task cost; the task cost is determined based on the time for each AGV to complete the classification task and the actual distance moved; the task cost is used to characterize the matching degree between each AGV and the classification task; the single-vehicle allocation strategy is used to characterize the one-to-one matching relationship between a single AGV and the classification task;

[0045] The task allocation result determination module is used to determine the current task allocation result according to the current bicycle allocation strategy and the current inter-task cost matrix by using a genetic algorithm; the task allocation result includes: the allocated task and the AGV corresponding to the allocated task; the inter-task cost matrix is ​​determined based on the cost between any two classified tasks; the cost is determined based on the time and actual distance from the end point of one classified task to the starting point of another classified task;

[0046] A judgment module is used to judge whether the current task assignment result is a pre-assigned task; the pre-assigned task is an AGV that has already performed a task corresponding to the assigned task, and the assigned task is issued in the form of a pre-task;

[0047] A return module, used for storing the current task assignment result into the task list and returning to the "task assignment list acquisition module" when the result of the judgment module is yes;

[0048] The output module is used to output the current task allocation result as the task allocation strategy to allocate tasks to the AGV when the result of the judgment module is no.

[0049] In a third aspect, the present application provides a computer device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the above-mentioned method for determining the AGV task allocation strategy.

[0050] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the above-mentioned method for determining the AGV task allocation strategy.

[0051] In a fifth aspect, the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the above-mentioned method for determining the AGV task allocation strategy.

[0052] According to the specific embodiments provided in this application, this application discloses the following technical effects:

[0053] The present application provides a method, device, equipment, medium and product for determining an AGV task allocation strategy, which reduces the complexity of task calculations through grouping and classification, and greatly reduces invalid calculations. The Hungarian algorithm is used to generate the initialization population, so that the overall data converges faster. Then, task allocation is performed based on a genetic algorithm. The pre-allocation mechanism in task allocation solves the problem that when the end point of the AGV's current task is near the starting point of a new task, the AGV that is performing the task cannot be scheduled, resulting in low overall system efficiency. The present application provides a global optimization solution and proposes a pre-allocation strategy to dynamically pre-allocate tasks to the optimal vehicle. The pre-task will be adjusted according to real-time dynamics to achieve real-time and efficient task allocation. As a result, the present application can achieve real-time and efficient task allocation, thereby optimizing operational efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0055] Figure 1 A flowchart of a method for determining an AGV task allocation strategy;

[0056] Figure 2 A flowchart of the operation steps of the method for determining the AGV task allocation strategy in practical application;

[0057] Figure 3 Schematic diagram of the task cost matrix;

[0058] Figure 4 This is a schematic diagram of the results of processing using the Hungarian algorithm;

[0059] Figure 5 It is a schematic diagram of the crossover process of the genetic algorithm;

[0060] Figure 6 Schematic diagram of the cost matrix between tasks;

[0061] Figure 7 A schematic diagram of the structure of a computer device provided in one embodiment of the present application. DETAILED DESCRIPTION

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

[0063] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.

[0064] In a dynamically changing environment, the existing technology has no pre-allocation mechanism, which can easily lead to wasted AGV resources and affect the overall efficiency of the warehousing logistics system.

[0065] In order to solve this problem, this application proposes an AGV task allocation method based on genetic algorithm. Genetic algorithm is a search algorithm that simulates natural selection and genetic mechanism, which can search in the entire solution space and increase the possibility of finding the global optimal solution. And it can adapt to environmental changes and dynamically adjust the search strategy. In addition, this application also proposes a pre-allocation strategy that can dynamically pre-allocate tasks to the optimal AGV based on real-time data, thereby reducing empty driving and waiting time, realizing real-time and efficient task allocation, and optimizing the operating efficiency of the entire logistics system.

[0066] Specifically, Figure 1 As shown, an embodiment of the present application provides a method for determining an AGV task allocation strategy, the method comprising:

[0067] Step 100: Obtain the current task allocation list. The task allocation list is determined based on the stored task list and the tasks to be allocated selected according to the task status.

[0068] Step 200: Classify based on the current task allocation list, the set regional route and the type of AGV to obtain a current classified task list. The classified task list includes multiple classified tasks and multiple AGVs corresponding to the classified tasks.

[0069] Step 300: Determine the current bicycle allocation strategy based on the current cost matrix using the Hungarian algorithm. The cost matrix is ​​determined based on the classification task and the corresponding task cost; the task cost is determined based on the time for each AGV to complete the classification task and the actual distance moved; the task cost is used to characterize the matching degree between each AGV and the classification task; the bicycle allocation strategy is used to characterize the one-to-one matching relationship between a single AGV and the classification task.

[0070] Step 400: Using a genetic algorithm, determine the current task allocation result according to the current bicycle allocation strategy and the current inter-task cost matrix. The task allocation result includes: the allocated task and the AGV corresponding to the allocated task; the inter-task cost matrix is ​​determined based on the cost between any two classified tasks; the cost is determined based on the time and actual distance from the end point of one classified task to the starting point of another classified task.

[0071] Step 500: Determine whether the current task assignment result is a pre-assigned task. A pre-assigned task is an AGV that has already performed a task corresponding to the assigned task, and the assigned task is issued in the form of a pre-assigned task.

[0072] If yes, execute step 600 : store the current task allocation result in the task list, and return to step 100 .

[0073] If not, then execute step 700: output the current task allocation result as a task allocation strategy to allocate tasks to the AGV.

[0074] In one embodiment, classification is performed based on the current task assignment list, the set regional route, and the type of AGV to obtain the current classified task list, which specifically includes:

[0075] The current task assignment list is grouped according to the set area route to obtain the current grouped task assignment list.

[0076] According to the current grouping task allocation list and the type of AGV, the current classified task list is obtained.

[0077] As an optional implementation method, a genetic algorithm is used to determine the current task allocation result according to the current bicycle allocation strategy and the current inter-task cost matrix, specifically including:

[0078] Determine the initial information data; the initial information data includes: initial parameters and initial position of the individual; the individual is a single AGV; the initial parameters include: set the number of iterations.

[0079] The initial population is determined based on the current bicycle allocation strategy; the initial population consists of multiple individuals.

[0080] The fitness function is determined based on the current inter-task cost matrix.

[0081] According to the parameter combination under the current iteration number, the real-time position of each individual in the initial population under the current iteration number is determined; the parameter combination includes: gene fragments and mutation factors; the gene fragments are used to characterize the selection relationship between AGV and classification tasks.

[0082] The fitness at the current iteration number is determined based on the fitness function and the real-time position.

[0083] Determine whether the termination condition is met; the termination condition is that the current number of iterations reaches the set number of iterations or the fitness under the current number of iterations reaches the preset threshold.

[0084] If the iteration stop condition is met, the real-time position corresponding to the fitness under the current iteration number is determined as the current task allocation result.

[0085] If the iteration stop condition is not met, the parameter combination at the current iteration number is updated according to the fitness at the current iteration number, and the updated parameter combination is used as the parameter combination at the next iteration number, and returns "Based on the parameter combination at the current iteration number, determine the real-time position of each individual in the initial population at the current iteration number".

[0086] In one embodiment, determining the real-time position of each individual in the initial population at the current iteration number according to the parameter combination at the current iteration number specifically includes:

[0087] The gene fragments at the current iteration number are cross-processed to obtain the processed gene fragments at the current iteration number.

[0088] The processed gene fragment at the current iteration number is corrected by using the mutation factor at the current iteration number to obtain the corrected gene fragment at the current iteration number.

[0089] The position of each individual in the initial population is updated according to the corrected gene fragments at the current iteration number, and the real-time position of each individual in the initial population at the current iteration number is obtained.

[0090] In one embodiment, the Hungarian algorithm is used to determine the current bicycle allocation strategy according to the current cost matrix, specifically including:

[0091] Determine the minimum element information; the minimum element information is the element with the smallest value in each row and the element with the smallest value in each column in the current cost matrix.

[0092] The current cost matrix is ​​processed according to the minimum element information to obtain the current processed cost matrix.

[0093] Based on the current processing cost matrix, the number of lines is determined by using lines to cover rows and columns with values ​​of 0; the lines are horizontal or vertical.

[0094] Determine whether the number of lines is less than a preset value; if so, determine the element with the smallest value in the rows and columns of the current processing cost matrix that are not covered by the lines to obtain a benchmark value; subtract the benchmark value from each element in the rows and columns that are not covered by the lines, and add the intersection of the lines to the benchmark value to obtain the calculated processing cost matrix.

[0095] The calculated processing cost matrix is ​​used as the next processing cost matrix, and "based on the current processing cost matrix, use lines to cover rows and columns with values ​​of 0 to determine the number of lines" is returned.

[0096] If not, the elements with a value of 0 are filtered according to the set method to obtain the current bicycle allocation strategy.

[0097] As an optional implementation manner, before determining whether the current task allocation result is a pre-allocated task, the method further includes: decoding the current task allocation result.

[0098] In practical applications, such as Figure 2 As shown, the specific operation steps of the method mentioned in this application can also be as follows:

[0099] Step 1: Get the task list from the task manager and filter out the tasks whose status is to be assigned, and save them in the task assignment list.

[0100] Step 2: First, group the given task list according to the map name, which can be the set regional route, to isolate the tasks of different maps, and then further classify the tasks of different maps according to the executable AGV type to reduce the computational complexity of task allocation.

[0101] The set area route means: suppose a factory has 3 floors, doing different businesses, and there is no connection between the floors, so 3 different maps can be divided by floor, and the tasks of each map may require different types of AGV operations. Further classification is to classify the tasks of this map according to the type of AGV that can perform this task.

[0102] Step 3: Based on the tasks classified in step 2, obtain the list of AGVs that can perform such tasks, and then calculate the task cost of each task and each AGV to generate a cost matrix. The schematic diagram of the cost matrix is ​​shown in Figure 3 , Figure 3 The red color in the matrix indicates that the AGV cannot perform the target task. The numbers in the matrix are the task cost (time + actual distance) for the AGV to complete this task. The smaller the task cost, the closer the task is or the higher the matching degree is. For example, after calculating the actual distance and execution time of AGV2 doing TASK1, the task cost is 6. The specific determination process is to calculate the task cost of AGV1 doing TASK1, i.e. task 1, the task cost of AGV1 doing TASK2, i.e. task 2, and then calculate the task cost of all AGVs and each task in this way.

[0103] Step 4: Use the Hungarian algorithm to bring the generated matrix into the calculation to obtain the optimal bicycle allocation, such as Figure 4As shown, AGV2 is selected for task 1 and AGV1 is selected for task 2. The one-to-one assignment of tasks is preliminarily completed.

[0104] Step 5: Calculate the cost from each task to the starting point of another task to generate the inter-task cost matrix. Generate the initial population of the genetic algorithm based on the results of the Hungarian algorithm. This step can simplify the problem of high number of iterations caused by the random population. Figure 6 The numbers in the matrix are the cost (time + actual distance) from the end point of task 1 to the starting point of task 2. The smaller the cost, the closer the tasks are or the higher the matching degree. Figure 6 The red position indicates that the distance to itself is set to unavailable.

[0105] according to Figure 6 It can be seen that the cost is 6, calculated based on the actual distance from the end point of TASK2 to TASK1 and the execution time.

[0106] The cost calculation process may specifically be: calculating the cost from TASK1 to TASK1, calculating the cost from TASK1 to TASK2 as 3, and then calculating the costs of all tasks and tasks in this way.

[0107] The results of the Hungarian algorithm are as follows Figure 4 As shown, green is selected, AGV2 selects task 1, and AGV1 selects task 2, which can generate the AGV array [A1, A2]; task array [T1, T2].

[0108] The initial individual can be represented as a two-dimensional array [[T2][T1]], where the row is the index of the AGV array and the column is the task to be performed by the current index AGV. Based on the Hungarian algorithm, N such individuals can be generated to form a population.

[0109] Step 6: Calculate the fitness of each individual in the population. Use the elite selection algorithm to obtain 10% of the elite individuals as the initial population for the next iteration. Then perform crossover and mutation processing.

[0110] The fitness is sorted from small to large, and the top 10% is retained. A small fitness means a lower cost and better task allocation.

[0111] Step 7: Select two parent individuals. Convert the two-dimensional integer vectors of parent 1 and parent 2 into one-dimensional integer vectors, and then randomly select two different intersection points. The two-dimensional integer vector represents the selection relationship between AGV and task.

[0112] In the region between the crossover points, the offspring inherits the gene fragments of parent 1. In the region outside the crossover points, the offspring selects genes from parent 2, but ensures that these genes are not in the selected gene fragments. According to the structure of parent 1, the one-dimensional offspring genes are recombined into a two-dimensional vector to generate offspring, such as Figure 5 shown.

[0113] Step 8: When the generated offspring random value (value of 0-1) is less than the mutation factor, trigger mutation. Use the random function to select the index of an AGV in the offspring. If the selected AGV currently has no tasks (i.e., its task list is empty), add the task with the lowest cost to it. If the selected AGV has tasks, get the index of the last task of the current AGV, and based on this task, find the index of the task closest to it and add it to the task list of the selected AGV.

[0114] Step 9: If the termination condition is met (such as reaching the maximum number of iterations or the quality of the solution reaches the preset threshold), the algorithm ends; otherwise, return to step 6 to continue iterating. The optimal individual generated by the genetic algorithm is decoded into the assignment result of the task and AGV. If the dispatched vehicle currently has a task, the current assignment result task will be attached to the current AGV in the form of a pre-task. The pre-task will continue to select a better AGV for dynamic assignment in the next task assignment.

[0115] This application first reduces the complexity of task calculations by grouping, which greatly reduces invalid calculations. The Hungarian algorithm generates an initialized population to enable faster convergence of the overall data. The pre-allocation mechanism in task allocation solves the problem that when the end point of the AGV's current task is near the starting point of a new task, the AGV that is performing the task cannot be scheduled, resulting in low overall system efficiency. This application provides a global optimization solution and proposes a pre-allocation strategy to dynamically pre-allocate tasks to the optimal vehicle. The pre-task will be adjusted according to real-time dynamics to achieve real-time and efficient task allocation.

[0116] Based on the same inventive concept, the embodiment of the present application also provides a device for determining an AGV task allocation strategy for implementing the above-mentioned method for determining an AGV task allocation strategy. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above-mentioned method, so the specific limitations in the embodiments of one or more AGV task allocation strategy determination devices provided below can refer to the limitations of the AGV task allocation strategy determination method in the above text, and will not be repeated here.

[0117] In an exemplary embodiment, a device for determining an AGV task allocation strategy is provided, and the device for determining an AGV task allocation strategy includes:

[0118] The task allocation list acquisition module is used to acquire the current task allocation list; the task allocation list is determined based on the stored task list and the tasks to be allocated are selected according to the task status.

[0119] The classification module is used to classify based on the current task assignment list, the set area route and the type of AGV to obtain the current classified task list; the classified task list includes multiple classified tasks and multiple AGVs corresponding to the classified tasks.

[0120] The bicycle allocation strategy determination module is used to determine the current bicycle allocation strategy according to the current cost matrix using the Hungarian algorithm; the cost matrix is ​​determined based on the classification task and the corresponding task cost; the task cost is determined based on the time for each AGV to complete the classification task and the actual distance moved; the task cost is used to characterize the matching degree between each AGV and the classification task; the bicycle allocation strategy is used to characterize the one-to-one matching relationship between a single AGV and the classification task.

[0121] The task allocation result determination module is used to determine the current task allocation result based on the current bicycle allocation strategy and the current inter-task cost matrix using a genetic algorithm; the task allocation result includes: the allocated task and the AGV corresponding to the allocated task; the inter-task cost matrix is ​​determined based on the cost between any two classified tasks; the cost is determined based on the time and actual distance from the end point of one classified task to the starting point of another classified task.

[0122] The judgment module is used to judge whether the current task allocation result is a pre-allocated task; the pre-allocated task is that the AGV corresponding to the allocated task has already executed the task, and the allocated task is issued in the form of a pre-task.

[0123] The return module is used to store the current task assignment result into the task list and return to the "task assignment list acquisition module" when the result of the judgment module is yes.

[0124] The output module is used to output the current task allocation result as the task allocation strategy to allocate tasks to the AGV when the result of the judgment module is no.

[0125] In an exemplary embodiment, a computer device is provided. The computer device may be a server or a terminal. The internal structure diagram thereof may be as follows: Figure 7As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a method for determining an AGV task allocation strategy is implemented.

[0126] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0127] In an exemplary embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.

[0128] In an exemplary embodiment, a computer-readable storage medium is provided, storing a computer program, and when the computer program is executed by a processor, the steps in the above method embodiments are implemented.

[0129] In an exemplary embodiment, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps in the above method embodiments are implemented.

[0130] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.

[0131] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM may be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).

[0132] The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. The non-relational database may include a distributed database based on blockchain, etc., but is not limited thereto. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but is not limited thereto.

[0133] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0134] This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and core ideas of this application. At the same time, for those skilled in the art, according to the ideas of this application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.

Claims

1. A method for determining an AGV task allocation strategy, characterized in that: The method for determining the AGV task allocation strategy includes: Obtaining a current task allocation list; the task allocation list is determined based on the stored task list and the tasks to be allocated selected according to the task status; Based on the current task assignment list, the set regional route and the type of AGV, a current classified task list is obtained; the classified task list includes a plurality of classified tasks and a plurality of AGVs corresponding to the classified tasks; The Hungarian algorithm is used to determine the current bicycle allocation strategy according to the current cost matrix; the cost matrix is ​​determined based on the classification task and the corresponding task cost; the task cost is determined according to the time for each AGV to complete the classification task and the actual distance moved; the task cost is used to characterize the matching degree between each AGV and the classification task; the bicycle allocation strategy is used to characterize the one-to-one matching relationship between a single AGV and the classification task; A genetic algorithm is used to determine the current task allocation result according to the current bicycle allocation strategy and the current inter-task cost matrix; the task allocation result includes: the allocated task and the AGV corresponding to the allocated task; the inter-task cost matrix is ​​determined based on the cost between any two classification tasks; the cost is determined based on the time and actual distance from the end point of one classification task to the starting point of another classification task; Determine whether the current task assignment result is a pre-assigned task; the pre-assigned task is an AGV that has already performed a task corresponding to the assigned task, and the assigned task is issued in the form of a pre-task; If yes, store the current task assignment result into the task list and return "Get current task assignment list"; If not, the current task allocation result is output as the task allocation strategy to allocate tasks to the AGV.

2. The method for determining the AGV task allocation strategy according to claim 1, characterized in that: Based on the current task assignment list, the set regional route and the type of AGV, the current classified task list is obtained, including: Group the current task assignment list according to the set regional routes to obtain the current grouped task assignment list; According to the current grouping task allocation list and the type of AGV, the current classified task list is obtained.

3. The method for determining the AGV task allocation strategy according to claim 1, characterized in that: The genetic algorithm is used to determine the current task allocation result according to the current bicycle allocation strategy and the current inter-task cost matrix, including: Determine initial information data; the initial information data includes: initial parameters and initial position of the individual; the individual is a single AGV; the initial parameters include: set number of iterations; Determine an initial population based on the current bicycle allocation strategy; the initial population consists of a plurality of individuals; Determine the fitness function based on the current inter-task cost matrix; Determine the real-time position of each individual in the initial population at the current iteration number according to the parameter combination at the current iteration number; the parameter combination includes: a gene segment and a mutation factor; the gene segment is used to characterize the selection relationship between the AGV and the classification task; Determine the fitness at the current number of iterations according to the fitness function and the real-time position; Determine whether a termination condition is met; the termination condition is that the current number of iterations reaches a set number of iterations or the fitness under the current number of iterations reaches a preset threshold; If the iteration stop condition is met, the real-time position corresponding to the fitness under the current iteration number is determined as the current task allocation result; If the iteration stop condition is not met, the parameter combination at the current iteration number is updated according to the fitness at the current iteration number, and the updated parameter combination is used as the parameter combination at the next iteration number, and returns "according to the parameter combination at the current iteration number, determine the real-time position of each individual in the initial population at the current iteration number".

4. The method for determining the AGV task allocation strategy according to claim 3, characterized in that: According to the parameter combination at the current iteration number, the real-time position of each individual in the initial population at the current iteration number is determined, specifically including: Perform cross processing according to the gene fragments at the current iteration number to obtain the processed gene fragments at the current iteration number; The processed gene fragment at the current iteration number is corrected by using the mutation factor at the current iteration number to obtain the corrected gene fragment at the current iteration number; The position of each individual in the initial population is updated according to the corrected gene fragment at the current iteration number, so as to obtain the real-time position of each individual in the initial population at the current iteration number.

5. The method for determining the AGV task allocation strategy according to claim 1, characterized in that: The Hungarian algorithm is used to determine the current bicycle allocation strategy based on the current cost matrix, including: Determine minimum element information; the minimum element information is the element with the smallest value in each row and the element with the smallest value in each column in the current cost matrix; Processing the current cost matrix according to the minimum element information to obtain a current processed cost matrix; Based on the current processing cost matrix, the number of lines is determined by using lines covering rows and columns with values ​​of 0; the lines are horizontal lines or vertical lines; Determining whether the number of lines is less than a preset value; If yes, then determine the element with the smallest value in the rows and columns of the current processing cost matrix that are not covered by the lines to obtain the benchmark value; Subtracting the reference value from each element in the row and column not covered by the line, and adding the reference value to the intersection of the line to obtain a calculated processing cost matrix; The calculated processing cost matrix is ​​used as the next processing cost matrix, and "based on the current processing cost matrix, use lines to cover the rows and columns with values ​​of 0 to determine the number of lines" is returned; If not, the elements with a value of 0 are filtered according to the set method to obtain the current bicycle allocation strategy.

6. The method for determining the AGV task allocation strategy according to claim 1, characterized in that: Before determining whether the current task allocation result is a pre-allocated task, the following steps are also included: Decode the current task allocation result.

7. A device for determining an AGV task allocation strategy, characterized in that: The device for determining the AGV task allocation strategy includes: A task assignment list acquisition module is used to acquire a current task assignment list; the task assignment list is determined based on the stored task list and the tasks to be assigned are selected according to the task status; A classification module, used for classifying based on the current task assignment list, the set regional route and the type of AGV to obtain a current classified task list; the classified task list includes multiple classified tasks and multiple AGVs corresponding to the classified tasks; The single-vehicle allocation strategy determination module is used to determine the current single-vehicle allocation strategy according to the current cost matrix using the Hungarian algorithm; the cost matrix is ​​determined based on the classification task and the corresponding task cost; the task cost is determined based on the time for each AGV to complete the classification task and the actual distance moved; the task cost is used to characterize the matching degree between each AGV and the classification task; the single-vehicle allocation strategy is used to characterize the one-to-one matching relationship between a single AGV and the classification task; The task allocation result determination module is used to determine the current task allocation result according to the current bicycle allocation strategy and the current inter-task cost matrix by using a genetic algorithm; the task allocation result includes: the allocated task and the AGV corresponding to the allocated task; the inter-task cost matrix is ​​determined based on the cost between any two classified tasks; the cost is determined based on the time and actual distance from the end point of one classified task to the starting point of another classified task; A judgment module is used to judge whether the current task assignment result is a pre-assigned task; the pre-assigned task is an AGV that has already performed a task corresponding to the assigned task, and the assigned task is issued in the form of a pre-task; A return module, used to store the current task assignment result into the task list and return to the "task assignment list acquisition module" when the result of the judgment module is yes; The output module is used to output the current task allocation result as the task allocation strategy when the result of the judgment module is no, so as to allocate tasks to the AGV.

8. A computer device comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the method for determining the AGV task allocation strategy according to any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method for determining the AGV task allocation strategy described in any one of claims 1 to 6 is implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the method for determining the AGV task allocation strategy described in any one of claims 1 to 6 is implemented.