A clustering-based unmanned vehicle task allocation method

By combining clustering and genetic algorithms, a task allocation method for autonomous vehicles was developed, which solved the problem of low path planning efficiency under the spatial distribution clustering characteristics of task points in autonomous vehicles, and achieved efficient task allocation and resource utilization.

CN122175281APending Publication Date: 2026-06-09ZHONGBING INTELLIGENT INNOVATION RES INST CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ZHONGBING INTELLIGENT INNOVATION RES INST CO LTD
Filing Date
2026-03-16
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

Existing technologies suffer from low path planning efficiency and low resource utilization when dealing with task allocation for autonomous vehicles, especially when the spatial distribution of task points is clustered. Traditional algorithms such as greedy algorithms, genetic algorithms, and auction algorithms are inefficient or difficult to optimize when dealing with large-scale clustered tasks.

Method used

Clustering algorithms are used to group spatially adjacent task points into the same cluster, and genetic algorithms and simulated annealing algorithms are combined for iterative updates to generate the optimal task point allocation scheme. Considering the constraints of the maximum load and maximum driving range of the autonomous vehicle, the task point sequence is generated through the nearest neighbor algorithm, and various crossover and mutation operations are designed to optimize task allocation.

Benefits of technology

It improves the efficiency of path planning at task points, avoids unmanned vehicles moving blindly across areas, increases task completion rate and resource utilization, effectively avoids premature convergence, and optimizes loading allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122175281A_ABST
    Figure CN122175281A_ABST
Patent Text Reader

Abstract

The present application relates to a kind of unmanned vehicle task allocation method based on clustering, belong to unmanned vehicle task allocation and path planning technical field, solve the low efficiency of the path planning of the task point with obvious clustering characteristics in prior art, the low resource utilization problem.The task allocation method includes: the task point of spatial proximity is divided into same cluster, obtains the task point included in each cluster;Based on the task point included in each cluster, each unmanned vehicle is assigned task point sequence and task point load, obtains multiple task point allocation scheme;Multiple task point allocation scheme is used as initial population, initial population is updated multiple times by genetic algorithm until meeting iteration termination condition, and optimal population is obtained;The task point allocation scheme corresponding to the individual of the maximum fitness function value in optimal population is used as final task point allocation scheme.High efficiency of generating task point allocation and path planning under limited computing resources is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of autonomous vehicle task allocation and path planning technology, and in particular to a clustering-based autonomous vehicle task allocation method. Background Technology

[0002] With the rapid development of artificial intelligence and autonomous driving technology, unmanned vehicles have been widely used in industrial parks, smart factories, warehousing and logistics and other scenarios. Unmanned vehicles usually need to perform tasks such as patrol inspection, material replenishment and security monitoring in designated areas. The rationality of their task allocation and path planning directly affects patrol efficiency, resource utilization and response speed.

[0003] In actual patrol scenarios, the spatial distribution of task points usually exhibits obvious clustering characteristics: within the same time period, a large number of tasks may be concentrated in a few popular key areas, such as important facilities, entrances and exits, and material storage points, while tasks in other areas are relatively sparse. This characteristic of "large number, wide spatial distribution, and relatively clustered distribution of targets in the same space" poses a challenge to traditional task allocation algorithms.

[0004] Currently, scholars both domestically and internationally have proposed various solutions to the task allocation problem for autonomous vehicles, mainly including: 1. Task allocation based on greedy algorithm: The greedy algorithm selects the current optimal solution for task allocation in each step. It has the advantages of simple calculation and fast response. However, the greedy algorithm is prone to getting trapped in local optima and cannot effectively handle large-scale clustered tasks, resulting in high empty driving rate of autonomous vehicles, frequent cross-regional driving, and low overall task completion efficiency. 2. Path optimization based on genetic algorithm: Genetic algorithm performs global search by simulating the natural evolution process and has strong global optimization ability. However, standard genetic algorithm has two prominent problems when dealing with aggregation tasks: first, the convergence speed is slow and it is difficult to obtain high-quality solutions in a limited time; second, it is prone to premature convergence, and the population diversity is lost too quickly, making it impossible to fully explore the solution space. 3. Task allocation based on auction algorithm: The auction algorithm realizes dynamic task allocation through the bidding mechanism between tasks and vehicles. It is suitable for dynamic scenarios where tasks arrive in real time. However, for large-scale static task allocation, the auction algorithm has insufficient computational efficiency and does not fully consider the spatial clustering characteristics of tasks, making it difficult to obtain a globally optimized allocation scheme.

[0005] 4. Reinforcement learning-based scheduling methods can adaptively learn optimal scheduling strategies through interaction with the environment, exhibiting good adaptability and learning capabilities. However, these methods suffer from high training costs, demanding hardware requirements, difficulty in rapid deployment within existing patrol systems, and poor model interpretability, hindering practical engineering applications.

[0006] Therefore, there is an urgent need for a new technical solution for allocating task points with spatial distribution characteristics. Summary of the Invention

[0007] Based on the above analysis, the embodiments of the present invention aim to provide a clustering-based task allocation method for unmanned vehicles, in order to solve the problems of low efficiency and low resource utilization in the existing technology for path planning of task points with obvious clustering characteristics.

[0008] This invention provides a clustering-based task allocation method for autonomous vehicles, the task allocation method comprising: A pre-defined clustering algorithm is used to cluster all task points, grouping spatially adjacent task points into the same cluster, thus obtaining the task points included in each cluster; Based on the task points included in each cluster, task point sequences and task point loads are assigned to each autonomous vehicle to obtain multiple task point allocation schemes. Multiple task point allocation schemes are used as the initial population. A genetic algorithm is used to iterate and update the initial population multiple times until the iteration termination condition is met, and the optimal population is obtained. The task point allocation scheme corresponding to the individual with the maximum fitness function value in the optimal population is taken as the final task point allocation scheme.

[0009] A further improvement to the above task allocation method, the allocation of task point sequences and task point loads to each autonomous vehicle based on the task points included in each cluster, includes: Calculate the distance between the center position of each cluster and the initial position of each autonomous vehicle, and take the cluster corresponding to the shortest distance as the primary responsible cluster for each autonomous vehicle; The task points for each autonomous vehicle are first selected from the primary responsibility cluster. If the number of task points in the primary responsibility cluster is less than the maximum number of tasks for that autonomous vehicle, then the task points for each autonomous vehicle are randomly selected from the remaining task points in other clusters. Based on the task points of each autonomous vehicle, the nearest neighbor algorithm is used to generate the task point sequence of each autonomous vehicle, and a load is assigned to each task point to ensure that the total task point load of each autonomous vehicle does not exceed the maximum load of that autonomous vehicle.

[0010] Based on the further improvement of the above task allocation method, the maximum number of tasks for each autonomous vehicle is determined through the following steps: The first task number for each autonomous vehicle is determined based on the average Euclidean distance between all task points and the maximum driving range of each autonomous vehicle. A fixed load is assigned to each task point, and the number of second tasks for each autonomous vehicle is determined based on the maximum load of each autonomous vehicle. Compare the first and second number of tasks for each autonomous vehicle, and take the smaller value as the maximum number of tasks for each autonomous vehicle.

[0011] Based on the further improvement of the above task allocation method, if the number of task points in the primary responsibility cluster exceeds the maximum number of tasks for the autonomous vehicle, the task points with the maximum number of tasks are selected from the primary responsibility cluster of the autonomous vehicle through the following steps: Determine the value of each task point in the primary responsibility cluster when assigned a fixed load, and obtain the fixed load value of each task point in the primary responsibility cluster; Select the task point with the largest number of tasks from all task points in the primary responsibility cluster, in descending order of fixed load value.

[0012] Based on the further improvement of the above task allocation method, the step of generating a sequence of task points for each autonomous vehicle using a nearest neighbor algorithm, based on the task points of each autonomous vehicle, includes: Starting from the initial position of each autonomous vehicle, find the point among the task points of each autonomous vehicle that has the shortest distance to the initial position and use it as the first task point in the sequence; Set the first sequence task point as the current task point; Calculate multiple distances between the current task point and the remaining task points, select the task point corresponding to the shortest distance as the next sequence task point, and repeat this step with the next sequence task point as the current task point until the remaining task points are empty. Specifically, when the next sequence task point is obtained, the path length from the initial position of the autonomous vehicle to the next sequence task point is calculated; if the path length is greater than the maximum driving range of the autonomous vehicle, the next sequence task point is not added to the task point sequence of the autonomous vehicle, and the task point sequence of the autonomous vehicle is obtained.

[0013] Based on the further improvement of the task allocation method described above, each iteration update is achieved through the following steps: Select the individuals with the highest fitness function values ​​from the previous iteration of the population and directly use them as the elite individuals in the current iteration of the population. Based on the crossover rate and mutation rate, crossover and mutation are performed on the population updated in the previous iteration to generate all ordinary individuals in the population of the current iteration. Optimize the task point sequence of the autonomous vehicle for a portion of the ordinary individuals in the current iteration population, and merge the optimized ordinary individuals, unoptimized ordinary individuals, and elite individuals into the updated population for the current iteration. Based on the fitness function value of each individual in the population after the current iteration update, determine whether the iteration termination condition is met. If the iteration termination condition is met, the population after the current iteration update is taken as the optimal population. If the iteration termination condition is not met, the next iteration update begins.

[0014] Based on a further improvement to the above task allocation method, the step of generating all ordinary individuals in the current iteration's population by performing crossover and mutation on the population updated in the previous iteration based on the crossover rate and mutation rate includes: Two parent individuals are selected from the population after the previous iteration using a roulette wheel selection method; Based on the crossover rate, two parent individuals are subjected to sequential crossover and single-point crossover to obtain two offspring individuals after crossover. At the same time, duplicate task points in the two offspring individuals after crossover are deleted. Based on the mutation rate, the two offspring individuals after crossover are mutated, and the two mutated offspring individuals are taken as two ordinary individuals in the population of the current iteration. By repeating the above steps in a loop, all ordinary individuals in the population of the current iteration are obtained.

[0015] Based on the further improvement of the above task allocation method, the task point sequence of the selected ordinary individuals is optimized by the following steps: Randomly select an autonomous vehicle from the selected ordinary individuals, take the continuous task point sequence of each cluster of the autonomous vehicle as the task sequence to be optimized, and calculate the initial path length of the task sequence to be optimized. Based on the simulated annealing algorithm, during each iteration at a certain temperature, a neighborhood operation is randomly performed on the task sequence to be optimized in the previous iteration, and the task sequence to be optimized is updated according to the path length before and after the neighborhood operation, until the optimized task sequence is output.

[0016] Based on a further improvement to the above task allocation method, the step of updating the sequence of tasks to be optimized according to the path length before and after the neighborhood operation includes: If the path length after the neighborhood operation is less than the path length before the neighborhood operation, then the sequence of tasks to be optimized after the neighborhood operation is accepted. If the path length after the neighborhood operation is greater than or equal to the path length before the neighborhood operation, then the task sequence to be optimized after the neighborhood operation is accepted with the probability of the following formula: ; in, Indicates the probability of acceptance. This indicates the path length after the neighborhood operation. This indicates the path length before the neighborhood operation. This indicates the temperature corresponding to the iteration.

[0017] Based on the further improvement of the task allocation method described above, the fitness function value of each individual is calculated using the following formula: ; , ; in, Representing each individual, This represents the fitness function value for each individual. Indicates the number of driverless cars. This refers to each driverless car. Indicates the first A sequence of task points for an autonomous vehicle. Indicates the first The first driverless car One task point, Indicates the first The first driverless car The carrying capacity of each task point This represents the distance penalty coefficient. Indicates the first The total driving distance of the driverless vehicles This represents the penalty coefficient for constraint violation. This indicates a penalty for exceeding the driving distance limit. This indicates a penalty for exceeding the load limit. Indicates the first The maximum range of an autonomous vehicle. Indicates the first The payload value of an autonomous vehicle Indicates the first The maximum payload of an unmanned vehicle.

[0018] Compared with the prior art, the present invention can achieve at least one of the following beneficial effects: 1. By clustering, spatially adjacent task points are grouped into the same cluster. The task points included in each cluster are used to assign task point sequences and task point loads to each unmanned vehicle, avoiding the blind cross-regional movement of the same unmanned vehicle and improving the path planning efficiency of task points. 2. By utilizing the global search capability of genetic algorithms and the local fine-grained search capability of simulated annealing, and designing diverse crossover and mutation operations, the solution space is fully explored while maintaining the stability of the solution structure, effectively avoiding premature convergence and improving the task completion rate to a certain extent. 3. In task allocation, take into account the maximum load and maximum range constraints of each unmanned vehicle, optimize the loading allocation, avoid unmanned vehicles exceeding the maximum load or maximum range, and improve the overall resource utilization rate.

[0019] In this invention, the above-described technical solutions can be combined with each other to achieve more preferred combinations. Other features and advantages of this invention will be set forth in the following description, and some advantages may become apparent from the description or be learned by practicing the invention. The objects and other advantages of this invention can be realized and obtained from what is particularly pointed out in the description and drawings. Attached Figure Description

[0020] The accompanying drawings are for illustrative purposes only and are not intended to limit the invention. Throughout the drawings, the same reference numerals denote the same parts.

[0021] Figure 1 A flowchart illustrating a clustering-based unmanned vehicle task allocation method provided in an embodiment of the present invention; Figure 2 A schematic diagram of sequential intersection provided in an embodiment of the present invention; Figure 3 A schematic diagram of a single-point intersection provided in an embodiment of the present invention; Figure 4 This is a schematic diagram of path switching provided in an embodiment of the present invention. Detailed Implementation

[0022] Preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings, which form part of this application and are used together with the embodiments of the present invention to illustrate the principles of the present invention, but are not intended to limit the scope of the present invention.

[0023] A specific embodiment of the present invention discloses a clustering-based method for assigning tasks to unmanned vehicles, such as... Figure 1 As shown, the task allocation method includes: Step S1: Use a preset clustering algorithm to cluster all task points, grouping spatially adjacent task points into the same cluster, and obtain the task points included in each cluster; Step S2: Assign task point sequences and task point loads to each unmanned vehicle based on the task points included in each cluster, and obtain multiple task point allocation schemes; Step S3: Use multiple task point allocation schemes as the initial population, and use a genetic algorithm to iterate and update the initial population multiple times until the iteration termination condition is met to obtain the optimal population; Step S4: The task point allocation scheme corresponding to the individual with the maximum fitness function value in the optimal population is taken as the final task point allocation scheme.

[0024] Specifically, such as Figure 1As shown, in step S1, the geographical information of each task point is determined, such as its two-dimensional coordinates. Simultaneously, based on the channel network between all task points, the distance between any two task points can be determined. The distance calculation method uses existing technology and will not be elaborated further here.

[0025] Specifically, such as Figure 1 As shown, when clustering all task points, clustering is performed based on the spatial distribution characteristics of the task points, and one or more spatially adjacent task points are grouped into the same cluster.

[0026] Preferably, the preset clustering algorithm in step S1 adopts any one of the following: K-means clustering algorithm; Hierarchical clustering algorithm; DBSCAN clustering algorithm.

[0027] Specifically, in the K-means clustering algorithm, the number of clusters to be obtained can be set in advance, thus obtaining a preset number of clusters, each of which includes one or more task points.

[0028] Specifically, in the hierarchical clustering algorithm, the minimum distance between any two clusters is set in advance, and then all task points are divided into multiple clusters, with each cluster including one or more task points.

[0029] Specifically, the density-based clustering algorithm DBSCAN (Density-Based Spatial Clustering of Applications with Noise) is used to cluster all task points to identify dense regions in the spatial distribution, thereby dividing spatially adjacent task points into the same cluster. The DBSCAN clustering algorithm can automatically discover clusters of arbitrary shapes and effectively identify noise points, making it very suitable for handling patrol task points with the characteristics of "large number, wide distribution, and local clustering".

[0030] Specifically, such as Figure 1 As shown, after step S1 is completed, all task points are divided into multiple clusters, each containing several task points. The center position of each cluster is calculated by combining the location information of each task point.

[0031] It is worth noting that after step S1 is completed, the number of clusters obtained is greater than the number of unmanned vehicles.

[0032] Specifically, such as Figure 1As shown, in step S2, based on the task points included in each cluster obtained after clustering, some or all of the task points are assigned to each unmanned vehicle, so that each unmanned vehicle is assigned to a set of task points with a sequence as the task point sequence of the unmanned vehicle. At the same time, a load is assigned to each sequence of task points, resulting in a task point allocation scheme for each unmanned vehicle. Multiple task point allocation schemes can be obtained by repeating the process. Different task point allocation schemes are obtained by executing them independently.

[0033] Specifically, such as Figure 1 As shown, after step S2 is executed, multiple task point allocation schemes are obtained. Each task point allocation scheme includes the task point sequence and task point load for each unmanned vehicle.

[0034] Preferably, the step of assigning task point sequences and task point loads to each autonomous vehicle based on the task points included in each cluster includes: Calculate the distance between the center position of each cluster and the initial position of each autonomous vehicle, and take the cluster corresponding to the shortest distance as the primary responsible cluster for each autonomous vehicle; The task points for each autonomous vehicle are first selected from the primary responsibility cluster. If the number of task points in the primary responsibility cluster is less than the maximum number of tasks for that autonomous vehicle, then the task points for each autonomous vehicle are randomly selected from the remaining task points in other clusters. Based on the task points of each autonomous vehicle, the nearest neighbor algorithm is used to generate the task point sequence of each autonomous vehicle, and a load is assigned to each task point to ensure that the total task point load of each autonomous vehicle does not exceed the maximum load of that autonomous vehicle.

[0035] Specifically, when determining each task point allocation scheme, an unmanned vehicle is first randomly selected, and then the distance between the center position of each cluster and the initial position of the unmanned vehicle is calculated. The cluster corresponding to the shortest distance is taken as the primary responsibility cluster of the unmanned vehicle.

[0036] Specifically, after obtaining the primary responsibility cluster of each autonomous vehicle, the task points of each autonomous vehicle are determined. It can be understood that the number of task points for each autonomous vehicle is at least 1.

[0037] Preferably, the maximum number of tasks for each autonomous vehicle is determined through the following steps: The first task number for each autonomous vehicle is determined based on the average Euclidean distance between all task points and the maximum driving range of each autonomous vehicle. A fixed load is assigned to each task point, and the number of second tasks for each autonomous vehicle is determined based on the maximum load of each autonomous vehicle. Compare the first and second number of tasks for each autonomous vehicle, and take the smaller value as the maximum number of tasks for each autonomous vehicle.

[0038] Specifically, the maximum driving range of each autonomous vehicle can be the same or different. The Euclidean distance between any two task points is calculated, and then averaged to obtain the average Euclidean distance between all task points. The first task number for each autonomous vehicle is determined using the following formula: ; in, This indicates the first task number of the autonomous vehicle. This indicates the maximum driving range of the autonomous vehicle. This represents the average Euclidean distance between all task points.

[0039] Specifically, when determining the number of second tasks for each autonomous vehicle, by default, each task point is assigned at least one fixed load capacity. The number of second tasks for each autonomous vehicle is determined based on its maximum load capacity. ; in, This indicates the second task of the autonomous vehicle. This indicates the maximum payload of the driverless vehicle. This indicates the minimum load assigned to each task point, i.e., the fixed load.

[0040] Specifically, the first and second task counts of each autonomous vehicle are compared, and the smaller value is taken as the maximum number of tasks for each autonomous vehicle. ; in, This indicates the maximum number of tasks each autonomous vehicle can perform.

[0041] Specifically, each autonomous vehicle is first assigned the maximum number of task points, and each vehicle's task points are preferentially selected from its primary responsibility cluster. Understandably, some clusters may contain more task points than the maximum number of tasks for some autonomous vehicles.

[0042] Specifically, compare the maximum number of tasks for each autonomous vehicle with the number of task points in each autonomous vehicle's primary responsibility cluster: If the number of task points in the primary cluster is less than the maximum number of tasks for the autonomous vehicle, then task points for each autonomous vehicle are randomly selected from the remaining task points in other clusters.

[0043] Preferably, if the number of task points in the primary responsibility cluster exceeds the maximum number of tasks for the autonomous vehicle, the task points with the maximum number of tasks are selected from the primary responsibility cluster of the autonomous vehicle through the following steps: Determine the value of each task point in the primary responsibility cluster when assigned a fixed load, and obtain the fixed load value of each task point in the primary responsibility cluster; Select the task point with the largest number of tasks from all task points in the primary responsibility cluster, in descending order of fixed load value.

[0044] It's worth noting that, using the minimum fixed load as the unit, the load allocated to each task point is always an integer multiple of this unit. Furthermore, the value of the same load allocated to each task point varies. A mapping table or function is pre-set to determine the load and value allocated to each task point; that is, once the load allocated to each task point is known, the corresponding value can be obtained using the mapping table or function.

[0045] Specifically, when the number of task points in the primary responsibility cluster of each autonomous vehicle exceeds the maximum number of tasks for that autonomous vehicle, there are surplus task points in the primary responsibility cluster. At this time, based on the mapping table or mapping function of each task point, the value of all task points in the primary responsibility cluster when assigned a fixed load is known. The fixed load values ​​of all task points are sorted, and the task points with the highest number of tasks for that autonomous vehicle are assigned to that autonomous vehicle.

[0046] Specifically, after allocating enough task points to each autonomous vehicle, the nearest neighbor algorithm is used to sort all task points of each autonomous vehicle to obtain the task point sequence of each autonomous vehicle, and a load is assigned to each task point to ensure that the total task point load of each autonomous vehicle does not exceed the maximum load of that autonomous vehicle.

[0047] It is worth noting that when assigning load to each task point, you can assign only a unit load or assign load randomly to each task point.

[0048] Preferably, the step of generating a sequence of task points for each autonomous vehicle using a nearest neighbor algorithm based on the task points of each vehicle includes: Starting from the initial position of each autonomous vehicle, find the point among the task points of each autonomous vehicle that has the shortest distance to the initial position and use it as the first task point in the sequence; Set the first sequence task point as the current task point; Calculate multiple distances between the current task point and the remaining task points, select the task point corresponding to the shortest distance as the next sequence task point, and repeat this step with the next sequence task point as the current task point until the remaining task points are empty. Specifically, when the next sequence task point is obtained, the path length from the initial position of the autonomous vehicle to the next sequence task point is calculated; if the path length is greater than the maximum driving range of the autonomous vehicle, the next sequence task point is not added to the task point sequence of the autonomous vehicle, and the task point sequence of the autonomous vehicle is obtained.

[0049] Specifically, for all task points assigned to each autonomous vehicle, the nearest neighbor algorithm is used to generate the access order: starting from the starting point of the autonomous vehicle, each time the task point that is closest to the current position and has not yet been visited is selected and added to the path until all task points are added; and if the total distance of the path exceeds the maximum driving range of the autonomous vehicle, the excess task points are truncated.

[0050] Specifically, such as Figure 1 As shown, by repeatedly executing step S2, multiple task point allocation schemes can be obtained.

[0051] Specifically, such as Figure 1 As shown, in step S3, the various task point allocation schemes obtained in step S2 are used as multiple individuals in the initial population involved in the genetic algorithm in step 3.

[0052] Specifically, such as Figure 1 As shown, in step S3, a genetic algorithm is used to iteratively update the initial population multiple times until the iteration termination condition is met, thus obtaining the optimal population.

[0053] Preferably, each iterative update is achieved through the following steps: Select the individuals with the highest fitness function values ​​from the previous iteration of the population and directly use them as the elite individuals in the current iteration of the population. Based on the crossover rate and mutation rate, crossover and mutation are performed on the population updated in the previous iteration to generate all ordinary individuals in the population of the current iteration. Optimize the task point sequence of the autonomous vehicle for a portion of the ordinary individuals in the current iteration population, and merge the optimized ordinary individuals, unoptimized ordinary individuals, and elite individuals into the updated population for the current iteration. Based on the fitness function value of each individual in the population after the current iteration update, determine whether the iteration termination condition is met. If the iteration termination condition is met, the population after the current iteration update is taken as the optimal population. If the iteration termination condition is not met, the next iteration update begins.

[0054] Specifically, in a genetic algorithm, each iteration updates the population based on the population updated in the previous iteration, and the resulting population is the population updated in the current iteration.

[0055] Specifically, the fitness function value of each individual in the population after the previous iteration is calculated, and all individuals are sorted. A subset of individuals with larger fitness function values ​​are selected as elite individuals in the current iteration.

[0056] Preferably, the fitness function value of each individual is calculated using the following formula: ; , ; in, Representing each individual, This represents the fitness function value for each individual. Indicates the number of driverless cars. This refers to each driverless car. Indicates the first A sequence of task points for an autonomous vehicle. Indicates the first The first driverless car One task point, Indicates the first The first driverless car The carrying capacity of each task point This represents the distance penalty coefficient. Indicates the first The total driving distance of the driverless vehicles This represents the penalty coefficient for constraint violation. This indicates a penalty for exceeding the driving distance limit. This indicates a penalty for exceeding the load limit. Indicates the first The maximum range of an autonomous vehicle. Indicates the first The payload value of an autonomous vehicle Indicates the first The maximum payload of an unmanned vehicle.

[0057] Specifically, each individual represents a task point allocation scheme, which includes a sequence of task points and the load at each task point for multiple autonomous vehicles. The fitness function value of each individual is calculated using the fitness function mentioned above.

[0058] Specifically, a subset of individuals with the highest fitness function values ​​from the previous iteration are selected as elite individuals in the current iteration.

[0059] Specifically, set the crossover rate and mutation rate.

[0060] Cross rate Initial value It decreases linearly with increasing algebraic degree.

[0061] ; in, For the current generation, This represents the maximum number of iterations.

[0062] Preferably, let , .

[0063] Variation rate Initial value It increases linearly with increasing algebraic degree to The calculation formula is: ; Preferred, , .

[0064] Specifically, the crossover rate and mutation rate are different in each iteration, and they adapt to the number of iterations.

[0065] Specifically, based on the crossover rate and mutation rate, crossover and mutation are performed on the population updated in the previous iteration to generate all ordinary individuals in the current iteration's population.

[0066] Preferably, the step of generating all ordinary individuals in the current iteration's population by performing crossover and mutation on the population updated in the previous iteration based on the crossover rate and mutation rate includes: Two parent individuals are selected from the population after the previous iteration using a roulette wheel selection method; Based on the crossover rate, two parent individuals are subjected to sequential crossover and single-point crossover to obtain two offspring individuals after crossover. At the same time, duplicate task points in the two offspring individuals after crossover are deleted. Based on the mutation rate, the two offspring individuals after crossover are mutated, and the two mutated offspring individuals are taken as two ordinary individuals in the population of the current iteration. By repeating the above steps in a loop, all ordinary individuals in the population of the current iteration are obtained.

[0067] Specifically, a roulette wheel selection method is used to select parent individuals from the current population. For example, the selection probability of each individual is calculated based on its fitness function value using the following formula: ; in, Indicates the first The probability of an individual's choice , Indicates the first The, the The fitness function value of an individual. This represents the total number of individuals in the population.

[0068] It is worth noting that during each iteration, a fixed number of individuals need to be generated as the population after the iteration update, which is the total number of individuals in the aforementioned population. .

[0069] Specifically, after selecting two parent individuals, the two parent individuals are crossed to obtain two child individuals after the crossover. Duplicate task points in each of the crossed child individuals are then deleted.

[0070] Specifically, this invention provides two crossover methods to adapt to different parent individuals. The crossover operation is performed between two parent individuals at a crossover rate. implement.

[0071] The first type of crossover, sequential crossover, is suitable when two parent individuals have the same task point for the same autonomous vehicle, such as... Figure 2 As shown, if two parent individuals share at least two identical task points with the same autonomous vehicle, one of these identical task points is randomly selected as the starting point, and the other as the ending point. The path segments between these two tasks in the two parent individuals are swapped, while the order of the remaining tasks remains unchanged, resulting in two crossed child individuals. This sequential crossing method can preserve the excellent inter-cluster order in the parent individuals.

[0072] The second type of crossover is single-point crossover, which is suitable when there are few instances of the same task for the same autonomous vehicle between the two parent individuals, such as... Figure 3 As shown, a random intersection point is selected, which corresponds to a task point of a certain autonomous vehicle. All task sequences after that point are swapped between the two parent individuals.

[0073] It is worth noting that after crossover, task points may be duplicated within the same individual, requiring conflict resolution: delete duplicate task points, delete task points appearing in the crossover offspring, and update the crossover offspring.

[0074] Specifically, after deleting duplicate task points, the load corresponding to the retained task point can be replaced with the load corresponding to the deleted task point.

[0075] Specifically, the mutation operation is based on the mutation rate. Individuals are disturbed to increase population diversity.

[0076] For example, the present invention provides five mutation methods, one of which is randomly selected and executed each time a mutation occurs: Method 1: Path swapping, such as Figure 4 As shown, a randomly selected autonomous vehicle randomly chooses two path segments from different clusters in its task sequence, and swaps the order of these two segments. This mutation changes the access order between clusters. Figure 4In the diagram, 1234 belong to the first cluster of four task points of the same unmanned vehicle, 56 belong to the second cluster of task points of the same unmanned vehicle, 78 belong to the third cluster of task points of the same unmanned vehicle, and 9 and 10 belong to the fourth cluster of task points of the same unmanned vehicle. In this unmanned vehicle, the paths of the task points involved in the second cluster and the task points involved in the third cluster are swapped and mutated to obtain the mutated order. Method 2: Add a task. Randomly select an autonomous vehicle. If its current number of tasks is less than the maximum number of tasks for that autonomous vehicle, randomly select a task point from the globally unassigned task points and insert it into the vehicle's task sequence. The insertion position should preferably be an adjacent position in the same cluster as the task point to maintain the cluster structure. This ensures that when the autonomous vehicle is executing tasks in the same cluster, they are executed sequentially. If the insertion causes the autonomous vehicle to travel a distance exceeding its maximum range, then the mutation is abandoned. Method 3: Remove a task. Randomly select an autonomous vehicle, randomly remove a task point from the task point sequence of the autonomous vehicle, and put the task point back into the globally unassigned task points. If the autonomous vehicle still has remaining load after removal, the saved load can be used for other task points.

[0077] Method 4: Load allocation. Without changing the task point sequence of each autonomous vehicle, the load of each autonomous vehicle is reallocated. For autonomous vehicles that exceed the maximum load, some task points are randomly discarded until the maximum load constraint is met. For autonomous vehicles with load margin, task points are randomly added from the global unallocated task points, prioritizing task points in the same cluster as the existing task points of the autonomous vehicle. Method 5: Task point sequence exchange. Randomly select two unmanned vehicles from the offspring individuals after the crossover and exchange their entire task point sequence and task point load. This mutation can achieve complete interchange of task points between different unmanned vehicles, which helps to escape local optima.

[0078] Specifically, the offspring individuals after the crossover are mutated, and the mutated offspring individuals are used as two ordinary individuals in the current iteration of the population.

[0079] By iteratively performing selection, mutation, and crossover, all ordinary individuals in the population for the current iteration are obtained, with two ordinary individuals obtained in each iteration.

[0080] Specifically, after obtaining all ordinary individuals in the current iteration of the population, a portion of ordinary individuals are randomly selected to optimize the task point sequence of the autonomous vehicle. The remaining ordinary individuals are treated as unoptimized ordinary individuals. Finally, the optimized ordinary individuals, unoptimized ordinary individuals, and elite individuals are merged to form the updated population for the current iteration.

[0081] Preferably, the task point sequence of the autonomous vehicle is optimized for selected ordinary individuals through the following steps: Randomly select an autonomous vehicle from the selected ordinary individuals, take the continuous task point sequence of each cluster of the autonomous vehicle as the task sequence to be optimized, and calculate the initial path length of the task sequence to be optimized. Based on the simulated annealing algorithm, during each iteration at a certain temperature, a neighborhood operation is randomly performed on the task sequence to be optimized in the previous iteration, and the task sequence to be optimized is updated according to the path length before and after the neighborhood operation, until the optimized task sequence is output.

[0082] Specifically, an autonomous vehicle is randomly selected from a random individual, and the sequence of task points included in the autonomous vehicle is determined. The sequence is divided into clusters to obtain multiple clusters of task point sequences included in the autonomous vehicle. The continuous task point sequence of each cluster is selected as the task sequence to be optimized, and the distance between the first task point and the last task point in the task sequence to be optimized is calculated as the initial path length of the task sequence to be optimized.

[0083] Understandably, in the process of optimizing a normal individual, it is necessary to optimize the task point sequence of multiple clusters of an autonomous vehicle within that individual until the optimized task point sequence of multiple clusters is obtained, which serves as the optimized task point sequence of the autonomous vehicle.

[0084] Specifically, the simulated annealing algorithm is used to optimize and update the task sequence to be optimized until an optimized task sequence is obtained, which is then used as a replacement sequence for the task sequence to be optimized.

[0085] Specifically, set the simulated annealing parameters: initial temperature, cooling coefficient, termination temperature, and number of iterations at each temperature. For example, the initial temperature is 100, the cooling coefficient is 0.95, the termination temperature is 0.001, and the number of iterations at each temperature is 100. Perform 100 iterations at each temperature. In each iteration, perform a neighborhood operation randomly. Neighborhood operations include, but are not limited to, swapping the positions of two task points, inverting a continuous segment of task points, or inserting a task point into a certain position. Update the sequence of tasks to be optimized based on the path length before and after the neighborhood operation.

[0086] Preferably, updating the sequence of tasks to be optimized based on the path lengths before and after the neighborhood operation includes: If the path length after the neighborhood operation is less than the path length before the neighborhood operation, then the sequence of tasks to be optimized after the neighborhood operation is accepted. If the path length after the neighborhood operation is greater than or equal to the path length before the neighborhood operation, then the task sequence to be optimized after the neighborhood operation is accepted with the probability of the following formula: ; in, Indicates the probability of acceptance. This indicates the path length after the neighborhood operation. This indicates the path length before the neighborhood operation. This indicates the temperature corresponding to the iteration.

[0087] Specifically, after each iteration, if the path length after the neighborhood operation is less than the path length before the neighborhood operation, then the task sequence to be optimized after the neighborhood operation is accepted as the new task sequence to be optimized.

[0088] Specifically, after each iteration, if the path length after the neighborhood operation is greater than or equal to the path length before the neighborhood operation, the task sequence to be optimized after the neighborhood operation is accepted as a new task sequence to be optimized with a certain probability.

[0089] It is worth noting that as the temperature changes, the acceptance probability decreases, resulting in a sequence of tasks to be optimized with increasingly shorter path lengths. The final sequence of tasks to be optimized is then used as the optimized task sequence.

[0090] Specifically, after obtaining optimized ordinary individuals, the optimized ordinary individuals, unoptimized ordinary individuals, and elite individuals are merged into the population after the current iteration update.

[0091] It is understandable that after each iteration of the genetic algorithm, the fitness function value of each individual in the population after the current iteration is calculated, and the individual with the largest fitness function value can be taken as the representative of the current iteration.

[0092] The iteration termination condition of a genetic algorithm can be set in two layers: one is the maximum number of iterations, and the other is whether the difference between multiple consecutive iterations is less than a threshold. For example, in 500 generations, it can be understood that when the difference between a certain iteration update and the previous 500 iteration updates is less than the threshold, and the number of iterations is less than the maximum number of iterations, the iteration of the genetic algorithm terminates, and the population after the current iteration update is taken as the optimal population; if the iteration termination condition is not met, the next iteration update begins.

[0093] Specifically, such as Figure 1 As shown, in step S3, the optimal population is obtained through multiple iterations using a genetic algorithm.

[0094] Specifically, such as Figure 1 As shown, in step S4, the final task point allocation scheme is selected based on the optimal population obtained in step S3.

[0095] Specifically, the fitness function value of each individual in the optimal population is calculated according to the individual's fitness function formula. The individual with the maximum fitness function value is selected as the optimal individual. That is, the task point sequence and task point load of each unmanned vehicle corresponding to the optimal individual are used as the final path planning and load allocation scheme for each unmanned vehicle.

[0096] Compared with existing technologies, the clustering-based autonomous vehicle task allocation method provided in this invention divides spatially adjacent task points into the same cluster through clustering. It then uses the task points included in each cluster to assign task point sequences and load capacities to each autonomous vehicle, avoiding blind cross-regional movement by the same autonomous vehicle and improving the path planning efficiency of task points. Simultaneously, it utilizes the global search capability of genetic algorithms and the local fine-grained search capability of simulated annealing, and designs diverse crossover and mutation operations to fully explore the solution space while maintaining the stability of the solution structure, effectively avoiding premature convergence and improving the task completion rate. Furthermore, the method comprehensively considers the maximum load capacity and maximum driving range constraints of each autonomous vehicle in task allocation, optimizing load allocation and preventing autonomous vehicles from exceeding their maximum load capacity or maximum driving range, thereby improving overall resource utilization.

[0097] Those skilled in the art will understand that all or part of the processes of the methods described in the above embodiments can be implemented by a computer program instructing related hardware, and the program can be stored in a computer-readable storage medium. The computer-readable storage medium may be a disk, optical disk, read-only memory, or random access memory, etc.

[0098] The above description is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention.

Claims

1. A clustering-based task allocation method for unmanned vehicles, characterized in that, The task allocation method includes: A pre-defined clustering algorithm is used to cluster all task points, grouping spatially adjacent task points into the same cluster, thus obtaining the task points included in each cluster; Based on the task points included in each cluster, task point sequences and task point loads are assigned to each autonomous vehicle to obtain multiple task point allocation schemes. Multiple task point allocation schemes are used as the initial population. A genetic algorithm is used to iterate and update the initial population multiple times until the iteration termination condition is met, and the optimal population is obtained. The task point allocation scheme corresponding to the individual with the maximum fitness function value in the optimal population is taken as the final task point allocation scheme.

2. The task allocation method according to claim 1, characterized in that, The process of assigning task point sequences and task point loads to each autonomous vehicle based on the task points included in each cluster includes: Calculate the distance between the center position of each cluster and the initial position of each autonomous vehicle, and take the cluster corresponding to the shortest distance as the primary responsible cluster for each autonomous vehicle; The task points for each autonomous vehicle are first selected from the primary responsibility cluster. If the number of task points in the primary responsibility cluster is less than the maximum number of tasks for that autonomous vehicle, then the task points for each autonomous vehicle are randomly selected from the remaining task points in other clusters. Based on the task points of each autonomous vehicle, the nearest neighbor algorithm is used to generate the task point sequence of each autonomous vehicle, and a load is assigned to each task point to ensure that the total task point load of each autonomous vehicle does not exceed the maximum load of that autonomous vehicle.

3. The task allocation method according to claim 2, characterized in that, Determine the maximum number of tasks for each autonomous vehicle using the following steps: The first task number for each autonomous vehicle is determined based on the average Euclidean distance between all task points and the maximum driving range of each autonomous vehicle. A fixed load is assigned to each task point, and the number of second tasks for each autonomous vehicle is determined based on the maximum load of each autonomous vehicle. Compare the first and second number of tasks for each autonomous vehicle, and take the smaller value as the maximum number of tasks for each autonomous vehicle.

4. The task allocation method according to claim 2, characterized in that, If the number of task points in the primary responsibility cluster exceeds the maximum number of tasks for the autonomous vehicle, the task points with the maximum number of tasks are selected from the primary responsibility cluster of the autonomous vehicle through the following steps: Determine the value of each task point in the primary responsibility cluster when assigned a fixed load, and obtain the fixed load value of each task point in the primary responsibility cluster; Select the task point with the largest number of tasks from all task points in the primary responsibility cluster, in descending order of fixed load value.

5. The task allocation method according to claim 4, characterized in that, The process of generating a sequence of task points for each autonomous vehicle using a nearest neighbor algorithm, based on the task points of each vehicle, includes: Starting from the initial position of each autonomous vehicle, find the point among the task points of each autonomous vehicle that has the shortest distance to the initial position and use it as the first task point in the sequence; Set the first sequence task point as the current task point; Calculate multiple distances between the current task point and the remaining task points, select the task point corresponding to the shortest distance as the next sequence task point, and repeat this step with the next sequence task point as the current task point until the remaining task points are empty. Specifically, when the next sequence task point is obtained, the path length from the initial position of the autonomous vehicle to the next sequence task point is calculated; if the path length is greater than the maximum driving range of the autonomous vehicle, the next sequence task point is not added to the task point sequence of the autonomous vehicle, and the task point sequence of the autonomous vehicle is obtained.

6. The task allocation method according to claim 1, characterized in that, Each iteration update is achieved through the following steps: Select the individuals with the highest fitness function values ​​from the previous iteration of the population and directly use them as the elite individuals in the current iteration of the population. Based on the crossover rate and mutation rate, crossover and mutation are performed on the population updated in the previous iteration to generate all ordinary individuals in the current iteration population; Optimize the task point sequence of the autonomous vehicle for a portion of the ordinary individuals in the current iteration population, and merge the optimized ordinary individuals, unoptimized ordinary individuals, and elite individuals into the updated population for the current iteration. Based on the fitness function value of each individual in the population after the current iteration, determine whether the iteration termination condition is met; If the iteration termination condition is met, the population updated in the current iteration is taken as the optimal population; if the iteration termination condition is not met, the next iteration update begins.

7. The task allocation method according to claim 6, characterized in that, The process of generating all ordinary individuals in the current iteration's population by performing crossover and mutation on the population updated in the previous iteration based on the crossover rate and mutation rate includes: Two parent individuals are selected from the population after the previous iteration using a roulette wheel selection method; Based on the crossover rate, two parent individuals are subjected to sequential crossover and single-point crossover to obtain two offspring individuals after crossover. At the same time, duplicate task points in the two offspring individuals after crossover are deleted. Based on the mutation rate, the two offspring individuals after crossover are mutated, and the two mutated offspring individuals are taken as two ordinary individuals in the population of the current iteration. The above steps are repeated until all ordinary individuals in the population of the current iteration are obtained.

8. The task allocation method according to claim 6, characterized in that, The following steps are used to optimize the task point sequence of the selected ordinary individuals for the autonomous vehicle: Randomly select an autonomous vehicle from the selected ordinary individuals, take the continuous task point sequence of each cluster of the autonomous vehicle as the task sequence to be optimized, and calculate the initial path length of the task sequence to be optimized. Based on the simulated annealing algorithm, during each iteration at a certain temperature, a neighborhood operation is randomly performed on the task sequence to be optimized in the previous iteration, and the task sequence to be optimized is updated according to the path length before and after the neighborhood operation, until the optimized task sequence is output.

9. The task allocation method according to claim 8, characterized in that, The step of updating the sequence of tasks to be optimized based on the path lengths before and after the neighborhood operation includes: If the path length after the neighborhood operation is less than the path length before the neighborhood operation, then the sequence of tasks to be optimized after the neighborhood operation is accepted. If the path length after the neighborhood operation is greater than or equal to the path length before the neighborhood operation, then the task sequence to be optimized after the neighborhood operation is accepted with the probability of the following formula: ; in, Indicates the probability of acceptance. This indicates the path length after the neighborhood operation. This indicates the path length before the neighborhood operation. This indicates the temperature corresponding to the iteration.

10. The task allocation method according to claim 1, characterized in that, The fitness function value for each individual is calculated using the following formula: ; , ; in, Representing each individual, This represents the fitness function value for each individual. This indicates the number of driverless cars. This refers to each driverless car. Indicates the first A sequence of task points for an autonomous vehicle. Indicates the first The first driverless car One task point, Indicates the first The first driverless car The carrying capacity of each task point This represents the distance penalty coefficient. Indicates the first The total driving distance of the driverless vehicles This represents the penalty coefficient for constraint violation. This indicates a penalty for exceeding the driving distance limit. This indicates a penalty for exceeding the load limit. Indicates the first The maximum range of an autonomous vehicle. Indicates the first The payload value of an autonomous vehicle Indicates the first The maximum payload of an unmanned vehicle.