Multi-robot task allocation method based on multi-dimensional variable neighborhood search algorithm
By optimizing the robot path and charging behavior through a multi-dimensional variable neighborhood search algorithm, the problem of power and charging pile constraints in multi-robot task allocation is solved, efficient task allocation and time minimization are achieved, and computing efficiency is improved.
Patent Information
- Application Number
- CN202510318715.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-18
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2045-03-18
AI Technical Summary
Existing multi-robot task allocation algorithms have difficulty finding high-quality solutions when dealing with large-scale, complex tasks with charging pile constraints, and have high computational overhead. Especially when there are power constraints and a limited number of charging piles, how to efficiently allocate tasks to minimize the time it takes for robots to complete tasks and return to the warehouse is a challenge.
A multi-dimensional variable neighborhood search algorithm is adopted, combined with the multi-dimensional neighborhood idea. By designing a neighborhood structure suitable for the problem characteristics, the robot path and charging behavior are optimized, including the charging pile exchange neighborhood, 2-opt neighborhood, reordering neighborhood, destruction-repair neighborhood and charging pile insertion and deletion neighborhood, and a multi-dimensional search is performed to find a near-optimal task allocation solution.
Under the conditions of meeting power constraints and the upper limit of the number of charging piles, the global search capability and solution efficiency of task allocation are significantly improved, the calculation time is reduced, and the total time for the robot to complete the task and return to the warehouse is optimized.
Smart Images

Figure CN119886732B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of robot task allocation, and in particular relates to the design of a multi-robot task allocation method based on a multi-dimensional variable neighborhood search algorithm. Background Art
[0002] Multi-Robot Task Allocation (MRTA) is a core research topic in robotics, widely used in industrial production, logistics, intelligent warehousing, and other scenarios. As the number of robots increases and the complexity of tasks increases, effectively allocating tasks to improve overall system efficiency and reduce energy consumption has become a key research topic.
[0003] The multi-robot task allocation problem with charging stations is an extension of MRTA, addressing the issue of robots potentially needing to recharge mid-task due to battery limitations. This problem typically involves multiple constraints, such as the timeliness of task execution, the limited number of charging stations, and the varying capacities of robots' batteries. Furthermore, the proper arrangement of charging behavior directly impacts task completion time and overall system performance, further complicating the problem.
[0004] Traditional task allocation algorithms, such as auction-based algorithms, distributed allocation methods, and heuristic algorithms, perform well for smaller tasks with simple constraints. However, they often struggle to find high-quality solutions for large-scale, complex tasks with charging station constraints. To address this, intelligent optimization methods such as genetic algorithms, ant colony optimization, particle swarm optimization, and simulated annealing have been introduced. These methods offer advantages in global search capabilities by simulating natural evolution or swarm behavior. However, these methods can become stuck in local optima during the solution process and have high computational overhead.
[0005] The Variable Neighborhood Search (VNS) algorithm is a global optimization method based on neighborhood structure switching. It has been widely used in combinatorial optimization problems in recent years. VNS dynamically adjusts the neighborhood structure to prevent the search process from falling into local optima, thereby improving the algorithm's solving capabilities. In light of the characteristics of the multi-robot task allocation problem with charging stations, the VNS algorithm can balance the conflict between task allocation and charging behavior by designing a neighborhood structure tailored to the problem characteristics, and find a near-optimal solution in a relatively short time.
[0006] Multi-Dimensional means that each solution is treated as an independent dimension, and all solutions are searched simultaneously. Each solution independently performs a variable neighborhood search, exploring its possible optimization direction from different neighborhood structures.
[0007] The Multi-Dimensional Variable Neighborhood Search (MD-VNS) algorithm, which incorporates multidimensional neighborhood concepts, offers a novel approach to solving the multi-robot task allocation problem with charging stations. By leveraging the interplay between independent solutions within a variable neighborhood search and multi-dimensional interactions, the multi-dimensional neighborhood search significantly improves global search capabilities and solution efficiency. This approach not only holds significant theoretical significance but also effectively solves task allocation and charging scheduling problems in multi-robot systems in practical scenarios, offering a highly effective solution for applications in industries such as industry, logistics, and smart warehousing. Summary of the Invention
[0008] The purpose of this invention is to propose a multi-robot task allocation method based on a multi-dimensional variable neighborhood search algorithm. Under the constraints of power constraints and the upper limit of the number of charging piles, multiple scattered task points can be efficiently and reasonably allocated to multiple robots, while minimizing the time it takes for the last robot to complete the task and return to the warehouse. On this basis, the total time it takes for all robots to complete the task and return to the warehouse can be further optimized.
[0009] The technical solution of the present invention is: a multi-robot task allocation method based on a multi-dimensional variable neighborhood search algorithm, comprising the following steps:
[0010] S1. Initialize and set the relevant parameters for multi-robot task allocation.
[0011] S2. Based on relevant parameters, the k-means algorithm is used to obtain the optimal charging pile distribution plan.
[0012] S3. Define a set of task points to be inserted, and construct a set of charging piles and warehouses according to the optimal charging pile distribution plan. Based on the set of task points to be inserted and the set of charging piles and warehouses, the initial robot path is obtained as the initial solution according to the power constraint and the minimum cost increase algorithm.
[0013] S4. Determine whether the set of task points to be inserted is an empty set. If so, proceed to step S5; otherwise, return to step S3.
[0014] S5. Use the multi-dimensional variable neighborhood search algorithm to optimize the initial solution and obtain the multi-robot task allocation solution.
[0015] Furthermore, the relevant parameters for multi-robot task allocation in step S1 include the set of m robots , robot initial position set , need service Mission point collection , task point location set , the robot's constant driving speed ,Robot's maximum battery life 、 A collection of charging stations , the robot's charging efficiency and the fixed charging costs of the robot .
[0016] Furthermore, step S2 includes the following sub-steps:
[0017] S21. According to the location of the task point And a collection of charging piles , the k-means algorithm is used to obtain the charging pile location set .
[0018] S22, take the charging pile location as the clustering object, and divide all task points into The center point of each cluster is the location of the charging pile.
[0019] S23. Continuously adjust the center point of each cluster to make it equal to the average position of all task points in the cluster until the center point position no longer changes, and obtain the optimal charging pile distribution plan.
[0020] Furthermore, step S3 includes the following sub-steps:
[0021] S31. Define a set of task points to be inserted , and build a collection of charging piles and warehouses based on the optimal charging pile distribution plan ,in Represents a collection of repositories.
[0022] S32. Determine whether the robot path violates the power constraint. If so, proceed to step S33; otherwise, proceed to step S34.
[0023] The specific power constraints are:
[0024]
[0025] S33, using charging pile insertion and deletion neighborhood to aggregate charging piles and warehouses The charging piles and warehouses in the robot are inserted into the infeasible robot path, and the process returns to step S32.
[0026] S34, execute the minimum cost increase algorithm, and insert the task point set Insert the task points to be inserted into the position with the smallest cost increase in all robot paths, and update the set of task points to be inserted , the output is the initial robot path as the initial solution; the cost increases The calculation formula is:
[0027]
[0028] in Indicates the The robot goes to The remaining power after charging.
[0029] Furthermore, step S5 includes the following sub-steps:
[0030] S51, the initial solution Copy it into multiple copies so that each dimension corresponds to an independent solution, and the initial solution Assign value to the current optimal solution , let the number of outer loops be .
[0031] S52, start the outer loop, and make the current execution dimension .
[0032] S53, the The solution in the dimension is assigned to the dimension solution , let the number of inner loops be .
[0033] S54, solve the dimension Assign to the current solution , start the inner loop and execute the neighborhood variables , randomly assign numbers 1 to 4 to the swap charging pile neighborhood, 2-opt neighborhood, reordering neighborhood, and damage-repair neighborhood, and assign number 5 to the charging pile insertion and deletion neighborhood.
[0034] S55, the execution value is equal to the execution neighborhood variable Neighborhood, and according to the execution result, the Boolean value will be executed Set to 0 or 1, when Current solution Changes occur when Current solution No change occurs.
[0035] S56, determine the execution Boolean value Is it 1? If so, go to step S57; otherwise, go to step S58.
[0036] S57, execute the neighborhood variable , and re-assign numbers 1 to 4 randomly to the exchange charging pile neighborhood, 2-opt neighborhood, reordering neighborhood and damage-repair neighborhood to determine the current solution Is it better than the dimensional solution? If so, solve the dimension Update to current solution , return to step S55, otherwise return directly to step S55.
[0037] S58, execute the neighborhood variable Add 1 to determine the execution neighborhood variable Is it greater than the number of neighbors? If so, go to step S59, otherwise return to step S55.
[0038] S59, the number of internal loops Add 1 to determine the number of inner loops Whether the maximum number of inner loops has been reached If so, go to step S510, otherwise return to step S54.
[0039] S510, Determine Dimension Solution Is it better than the current optimal solution? If so, update the current optimal solution Solution for dimension , go to step S511, otherwise go directly to step S511.
[0040] S511, set the current execution dimension Add 1 to determine the current execution dimension Check whether the maximum number of dimensions is exceeded. If so, proceed to step S512; otherwise, return to step S53.
[0041] S512 , probabilistically performing a dimension assimilation operation, that is, assigning the dimension where the optimal solution is located to the solutions of other dimensions according to a preset probability.
[0042] S513, command external loop times Add 1 to determine the number of outer loops Whether the maximum number of external loops has been reached If yes, a multi-robot task allocation solution is obtained, otherwise return to step S52.
[0043] Furthermore, the replacement of charging pile neighborhood is specifically as follows: traverse the charging pile nodes in each robot path and calculate the change in the total cost of the path after replacing them with other charging piles. If there are multiple charging pile distribution replacement schemes that meet the power constraint and can reduce the total cost of the path, the Boolean value will be executed. Set to 1, select the charging pile distribution replacement scheme with the largest path cost reduction to update the current solution If there is only one charging pile distribution replacement solution that meets the power constraint and can reduce the total cost of the path, the Boolean value will be executed. Set to 1 and execute the charging pile distribution replacement plan to update the current solution If there is no alternative solution that meets the power constraint and can reduce the total cost of the path, the Boolean value will be executed Set to 0 to keep the current solution constant;
[0044] Changes in total path cost after replacing with other charging piles Specifically:
[0045]
[0046] in Indicates the Mission points and The Euler distance of the charging pile, Indicates the Charging pile and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the charging pile, Indicates the Charging pile and The Euler distance between the task points.
[0047] Furthermore, the 2-opt neighborhood is specifically as follows: swap the positions of any two task points in the path, calculate the change in the total cost of the path before and after the swap, and if there is a swap solution that meets the power constraint and can reduce the total cost of the path, then the Boolean value will be executed Set to 1 and update the current solution according to the exchange scheme , otherwise the Boolean value will be executed Set to 0 to keep the current solution constant;
[0048] Changes in total path cost before and after the switch Specifically:
[0049]
[0050]
[0051] in Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance between the task points.
[0052] Furthermore, the reordering neighborhood is specifically as follows: randomly select a robot and randomly select a subpath from the robot's path. The starting point and end point of the subpath are any task points in the path that do not include the starting point and end point. The subpaths are reordered to form a new path, and the total path cost of the new path is calculated. If the new path meets the power constraint and the total path cost is lower than the original path, the Boolean value will be executed. Set to 1 and update the current solution according to the new path , otherwise the Boolean value will be executed Set to 0 to keep the current solution constant.
[0053] Ways to reorder subpaths include randomly shuffling the subpath order, flipping the subpath order, and heuristic sorting based on the shortest distance.
[0054] The specific steps of randomly disrupting the subpath order are as follows: taking all nodes from the subpath, generating a randomly arranged index, and rearranging the nodes in the subpath according to the index.
[0055] Reversing the subpath order is specifically as follows: taking all nodes from the subpath and reversing the order of the nodes in the subpath from left to right.
[0056] The heuristic sorting based on the shortest distance is as follows: select the first node in the subpath as the starting point and remove it from the subpath, then repeat the following steps until the subpath is empty: calculate the distance from the last node of the current subpath to all removed nodes in the removed node set, add the closest removed node to the subpath, and remove the closest removed node from the removed node set.
[0057] Furthermore, the destruction-repair neighborhood is specifically as follows: randomly select a robot path, or select the current longest robot path, randomly select a subpath from the robot path and delete it from the robot path, and add the task points in the deleted subpath to the deleted task point set; then traverse all robot paths, insert the task points in the deleted task point set in sequence to the position where the robot path meets the power constraint, calculate the insertion cost increase, and insert each task point in the deleted task point set in sequence to the position where the insertion cost increase is the smallest, and remove it from the deleted task point set at the same time; in response to the deleted task point set being an empty set, if the total cost of the robot path at this time is lower than the total cost of the robot path without adopting the destruction-repair neighborhood, the Boolean value will be executed. Set to 1 and update the current solution according to the robot path at this time , otherwise the Boolean value will be executed Set to 0 to keep the current solution constant.
[0058] Insertion cost added value Specifically:
[0059]
[0060] in Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance between the task points.
[0061] Furthermore, the charging pile insertion and deletion neighborhood includes a charging pile minimum marginal cost insertion phase and a charging pile maximum saving cost deletion phase.
[0062] The minimum marginal cost insertion phase of the charging pile is as follows: the power of each robot in the current path is calculated. If the power does not meet the power constraint, the Boolean value will be executed. Set to 1, and continuously insert charging piles into the robot path that does not meet the power constraint through the minimum marginal cost method until the robot path meets the power constraint and enters the charging pile maximum saving cost deletion phase, otherwise the Boolean value will be executed Set to 0 to keep the current solution constant.
[0063] Marginal cost The calculation formula is:
[0064]
[0065]
[0066] in Indicates that the Insert the charging pile into the The first robot path The additional cost required for the location of each mission point, represents the proportionality coefficient, Indicates the mission point Hedi The Euler distance of the charging pile, Indicates the Charging stations and mission points The Euler distance of Indicates the mission point and mission points The Euler distance of Indicates the The first robot path Mission points, Indicates the The first robot path A mission point.
[0067] The maximum saving cost of charging pile removal phase is as follows: Calculate the saving cost of removing each charging pile in the robot path If the robot path no longer meets the power constraint after removing the charging pile, the saving cost of the charging pile is Set as , delete the charging pile with the largest cost saving in the robot path in sequence until the cost saving When it is less than or equal to 0, the charging pile maximum saving cost deletion phase ends.
[0068] Cost savings The calculation formula is:
[0069]
[0070] in Indicates the mission point Hedi The Euler distance of the charging pile, Indicates the mission point and mission points The Euler distance of Indicates the The first robot path A mission point.
[0071] The beneficial effects of the present invention are: the present invention innovatively designs the charging pile insertion and deletion neighborhood in the multi-dimensional variable neighborhood search algorithm, optimizes other neighborhood operations, and introduces a neighborhood random sorting strategy, solving from multiple dimensions, and has superior performance in solving the multi-robot task allocation problem with power constraints. While ensuring the quality of the solution, it reduces the calculation time and improves the overall calculation efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0072] Figure 1 The figure shows a flow chart of a multi-robot task allocation method based on a multi-dimensional variable neighborhood search algorithm provided by an embodiment of the present invention.
[0073] Figure 2 FIG2 is a schematic diagram of a heuristic sorting method based on the shortest distance provided by an embodiment of the present invention.
[0074] Figure 3 The figure shows a schematic diagram of the neighborhood of charging pile insertion and deletion provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0075] The exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be understood that the embodiments shown and described in the accompanying drawings are merely exemplary and are intended to illustrate the principles and spirit of the present invention, rather than to limit the scope of the present invention.
[0076] The embodiment of the present invention provides a multi-robot task allocation method based on a multi-dimensional variable neighborhood search algorithm, such as Figure 1 As shown, the following steps S1 to S5 are included:
[0077] S1. Initialize and set the relevant parameters for multi-robot task allocation.
[0078] In the embodiment of the present invention, the relevant parameters of multi-robot task allocation include a set of m robots , robot initial position set , need service Mission point collection , task point location set , the robot's constant driving speed ,Robot's maximum battery life 、 A collection of charging stations , the robot's charging efficiency and the fixed charging costs of the robot .
[0079] S2. Based on relevant parameters, the k-means algorithm is used to obtain the optimal charging pile distribution plan.
[0080] Step S2 includes the following sub-steps S21 to S23:
[0081] S21. According to the location of the task point And a collection of charging piles , the k-means algorithm is used to obtain the charging pile location set .
[0082] S22, take the charging pile location as the clustering object, and divide all task points into The center point of each cluster is the location of the charging pile.
[0083] S23. Continuously adjust the center point of each cluster to make it equal to the average position of all task points in the cluster until the center point position no longer changes, and obtain the optimal charging pile distribution plan.
[0084] S3. Define a set of task points to be inserted, and construct a set of charging piles and warehouses according to the optimal charging pile distribution plan. Based on the set of task points to be inserted and the set of charging piles and warehouses, the initial robot path is obtained as the initial solution according to the power constraint and the minimum cost increase algorithm.
[0085] Step S3 includes the following sub-steps S31 to S34:
[0086] S31. Define a set of task points to be inserted , and build a collection of charging piles and warehouses based on the optimal charging pile distribution plan ,in Represents a collection of repositories.
[0087] In the embodiment of the present invention, since the warehouse can also be charged, and the warehouse is set at the initial position of the robot and has a one-to-one correspondence with the robot, the warehouse set Assemble with robots same.
[0088] S32. Determine whether the robot path violates the power constraint. If so, proceed to step S33; otherwise, proceed to step S34.
[0089] In the embodiment of the present invention, the power constraint is specifically:
[0090]
[0091] S33, using charging pile insertion and deletion neighborhood to aggregate charging piles and warehouses The charging piles and warehouses in the robot are inserted into the infeasible robot path, and the process returns to step S32.
[0092] S34, execute the minimum cost increase algorithm, and insert the task point set Insert the task points to be inserted into the position with the smallest cost increase in all robot paths, and update the set of task points to be inserted , the initial robot path is output as the initial solution.
[0093] Increased costs The calculation formula is:
[0094]
[0095] in Indicates the The robot goes to The remaining power after charging.
[0096] S4. Determine whether the set of task points to be inserted is an empty set. If so, it means that all task points are inserted into the robot path, and go to step S5. Otherwise, return to step S3.
[0097] S5. Use the multi-dimensional variable neighborhood search algorithm to optimize the initial solution and obtain the multi-robot task allocation solution.
[0098] Step S5 includes the following sub-steps S51 to S513:
[0099] S51, the initial solution Copy it into multiple copies so that each dimension corresponds to an independent solution, and the initial solution Assign value to the current optimal solution , let the number of outer loops be .
[0100] S52, start the outer loop, and make the current execution dimension .
[0101] S53, the The solution in the dimension is assigned to the dimension solution , let the number of inner loops be .
[0102] S54, solve the dimension Assign to the current solution , start the inner loop and execute the neighborhood variables , randomly assign numbers 1 to 4 to the swap charging pile neighborhood, 2-opt neighborhood, reordering neighborhood, and damage-repair neighborhood, and assign number 5 to the charging pile insertion and deletion neighborhood.
[0103] S55, the execution value is equal to the execution neighborhood variable Neighborhood, and according to the execution result, the Boolean value will be executed Set to 0 or 1, when Current solution Changes occur when Current solution No change occurs.
[0104] In the embodiment of the present invention, the specific method of exchanging the charging pile neighborhood is as follows: traverse the charging pile nodes in each robot path and calculate the change in the total cost of the path after replacing them with other charging piles. If there are multiple charging pile distribution replacement schemes that meet the power constraint and can reduce the total cost of the path, the Boolean value will be executed. Set to 1, select the charging pile distribution replacement scheme with the largest path cost reduction to update the current solution If there is only one charging pile distribution replacement solution that meets the power constraint and can reduce the total cost of the path, the Boolean value will be executed. Set to 1 and execute the charging pile distribution replacement plan to update the current solution If there is no alternative solution that meets the power constraint and can reduce the total cost of the path, the Boolean value will be executed Set to 0 to keep the current solution constant.
[0105] Changes in total path cost after replacing with other charging piles Specifically:
[0106]
[0107] in Indicates the Mission points and The Euler distance of the charging pile, Indicates the Charging pile and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the charging pile, Indicates the Charging pile and The Euler distance between the task points.
[0108] In the embodiment of the present invention, the 2-opt neighborhood is specifically as follows: the positions of any two task points in the exchange path are calculated, and the change in the total cost of the path before and after the exchange is calculated. If there is an exchange solution that meets the power constraint and can reduce the total cost of the path, the Boolean value is executed. Set to 1 and update the current solution according to the exchange scheme , otherwise the Boolean value will be executed Set to 0 to keep the current solution constant.
[0109] Changes in total path cost before and after the switch Specifically:
[0110]
[0111]
[0112] in Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance between the task points.
[0113] In the embodiment of the present invention, the reordering neighborhood is specifically as follows: randomly select a robot and randomly select a sub-path from the robot's path, the starting point and the end point of the sub-path are any task points in the path that do not include the starting point and the end point, reorder the sub-paths to form a new path, and calculate the total path cost of the new path. If the new path meets the power constraint and the total path cost is lower than the original path, the Boolean value is executed. Set to 1 and update the current solution according to the new path , otherwise the Boolean value will be executed Set to 0 to keep the current solution constant.
[0114] In the embodiment of the present invention, the manner of reordering the subpaths includes randomly disrupting the order of the subpaths, reversing the order of the subpaths, and heuristic sorting based on the shortest distance.
[0115] The random disruption of the subpath order is specifically as follows: taking all nodes from the subpath, generating a randomly arranged index, and rearranging the nodes in the subpath according to the index.
[0116] Reversing the subpath order is specifically as follows: taking all nodes from the subpath and reversing the order of the nodes in the subpath from left to right.
[0117] The heuristic sorting based on the shortest distance is as follows: select the first node in the subpath as the starting point and remove it from the subpath, and then repeat the following steps until the subpath is empty: select the first node in the subpath as the starting point and remove it from the subpath, and then repeat the following steps until the subpath is empty: calculate the distance from the last node of the current subpath to all removed nodes in the removed node set, add the removed node with the closest distance to the subpath, and remove the removed node with the closest distance from the removed node set.
[0118] by Figure 2 For example, Figure 2 (a) is the original robot path, Figure 2 (b) is the robot path obtained after using the heuristic sorting based on the shortest distance. The initial path of a robot is: 1-2-3-4-5-6-7-1, and the selected sub-path is 2-3-4-5-6. Node 2 is used as the new starting point of the sub-path, and the other nodes are added to the removed node set [3, 4, 5, 6]. In the removed node set, the node closest to node 2 is 6, so the sub-path becomes 2-6, and the removed node set becomes [3, 4, 5]. Then, the node closest to the last node 6 in the sub-path is 4 in the removed node set, so the sub-path becomes 2-6. The path becomes 2-6-4, and the set of removed nodes becomes [3, 5]. In the sub-path, find the nearest node of the last node 4 in the set of removed nodes is 3. Then insert node 3 after the sub-path, and the sub-path becomes 2-6-4-3. After that, only node 5 is left, which can be added directly. The sub-path becomes 2-6-4-3-5. Put the sub-path back into the robot path, and it becomes 1-2-6-4-3-5-7-1. This path is a certain improvement over the original path.
[0119] In the embodiment of the present invention, the destruction-repair neighborhood is specifically as follows: randomly select a robot path, or select the current longest robot path, randomly select a sub-path from the robot path and delete it from the robot path, and add the task points in the deleted sub-path to the deleted task point set; then traverse all robot paths, insert the task points in the deleted task point set in sequence to the position where the robot path meets the power constraint, calculate the insertion cost increase, and insert each task point in the deleted task point set in sequence to the position where the insertion cost increase is the smallest, and remove it from the deleted task point set at the same time; in response to the deleted task point set being an empty set, if the total cost of the robot path at this time is lower than the total cost of the robot path without adopting the destruction-repair neighborhood, the Boolean value will be executed Set to 1 and update the current solution according to the robot path at this time , otherwise the Boolean value will be executed Set to 0 to keep the current solution constant.
[0120] Insertion cost added value Specifically:
[0121]
[0122] in Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance between the task points.
[0123] In the destruction-repair neighborhood, the total cost of the robot path is the time it takes for the robot to complete the task and return to the warehouse.
[0124] In the embodiment of the present invention, Figure 3 As shown in FIG, the charging pile insertion and deletion neighborhood includes the charging pile minimum marginal cost insertion stage and the charging pile maximum saving cost deletion stage.
[0125] The minimum marginal cost insertion phase of the charging pile is as follows: the power of each robot in the current path is calculated. If the power does not meet the power constraint, the Boolean value will be executed. Set to 1, and continuously insert charging piles into the robot path that does not meet the power constraint through the minimum marginal cost method until the robot path meets the power constraint and enters the charging pile maximum saving cost deletion phase, otherwise the Boolean value will be executed Set to 0 to keep the current solution constant.
[0126] Marginal cost The calculation formula is:
[0127]
[0128]
[0129] in Indicates that the Insert the charging pile into the The first robot path The additional cost required for the location of each mission point, represents the proportionality coefficient, Indicates the mission point Hedi The Euler distance of the charging pile, Indicates the Charging stations and mission points The Euler distance of Indicates the mission point and mission points The Euler distance of Indicates the The first robot path Mission points, Indicates the The first robot path A mission point.
[0130] In the embodiment of the present invention, the power is greater than When the robot does not need to be plugged into the charging station, the proportional coefficient Set to a larger value; When the robot needs to charge, but it is not urgent, the proportional coefficient exist arrive The less power, The smaller; the power is less than When the robot is in a high charging state, Set to a smaller value, .
[0131] The maximum saving cost of charging pile removal phase is as follows: Calculate the saving cost of removing each charging pile in the robot path If the robot path no longer meets the power constraint after removing the charging pile, the saving cost of the charging pile is Set as , delete the charging pile with the largest cost saving in the robot path in sequence until the cost saving When it is less than or equal to 0, the charging pile maximum saving cost deletion phase ends.
[0132] Cost savings The calculation formula is:
[0133]
[0134] in Indicates the mission point Hedi The Euler distance of the charging pile, Indicates the mission point and mission points The Euler distance of Indicates the The first robot path A mission point.
[0135] like Figure 3 As shown in the figure, when it is found that the robot path does not meet the power constraint, it is necessary to add a charging pile (the warehouse is also considered a charging pile because the warehouse can also be charged), enter the charging pile insertion phase, and find the marginal cost of adding in the path The smallest charging pile is 25, plug in Figure 3 However, when checking the robot path, it is found that the robot path still violates the power constraint, so it is necessary to use the minimum marginal cost to insert the charging pile. The calculation formula to find the current marginal cost of joining The smallest charging pile is 26. It is added to the robot path. If the robot path does not violate the power constraint, it can enter the charging pile deletion phase. In the charging pile deletion phase, the charging piles in each path are deleted and the cost saving of deleting charging piles is found in turn. Delete the charging pile that is the largest and will not cause the robot's power to violate the power constraint. For example, first find a charging pile that can be deleted and saves cost. The largest charging pile 24, after being deleted, becomes the second to last path, and the same strategy is used to delete charging piles (although the saving cost of charging pile 26 is is greater than charging station 25, but because deleting charging station 26 will cause the robot to violate the power constraint, the saving cost of deleting charging station 26 is 0). When there is no charging station, the saving cost is When it is greater than 0, the charging pile deletion phase is completed.
[0136] S56, determine the execution Boolean value Is it 1? If so, go to step S57; otherwise, go to step S58.
[0137] S57, execute the neighborhood variable , and re-assign numbers 1 to 4 randomly to the exchange charging pile neighborhood, 2-opt neighborhood, reordering neighborhood and damage-repair neighborhood to determine the current solution Is it better than the dimensional solution? If so, solve the dimension Update to current solution , return to step S55, otherwise return directly to step S55.
[0138] S58, execute the neighborhood variable Add 1 to determine the execution neighborhood variable Is it greater than the number of neighbors? If so, go to step S59, otherwise return to step S55.
[0139] S59, the number of internal loops Add 1 to determine the number of inner loops Whether the maximum number of inner loops has been reached If so, go to step S510, otherwise return to step S54.
[0140] S510, Determine Dimension Solution Is it better than the current optimal solution? If so, update the current optimal solution Solution for dimension , go to step S511, otherwise go directly to step S511.
[0141] S511, set the current execution dimension Add 1 to determine the current execution dimension Check whether the maximum number of dimensions is exceeded. If so, proceed to step S512; otherwise, return to step S53.
[0142] S512 , probabilistically performing a dimension assimilation operation, that is, assigning the dimension where the optimal solution is located to the solutions of other dimensions according to a preset probability.
[0143] S513, command external loop times Add 1 to determine the number of outer loops Whether the maximum number of external loops has been reached If yes, a multi-robot task allocation solution is obtained, otherwise return to step S52.
[0144] Those skilled in the art will appreciate that the embodiments described herein are intended to help readers understand the principles of the present invention, and it should be understood that the scope of protection of the present invention is not limited to such specific descriptions and embodiments. Those skilled in the art can make various other specific variations and combinations based on the technical teachings disclosed in the present invention without departing from the essence of the present invention, and such variations and combinations are still within the scope of protection of the present invention.
Claims
1. A multi-robot task allocation method based on a multi-dimensional variable neighborhood search algorithm, characterized in that: The following steps are involved: S1. Initialize and set the relevant parameters of multi-robot task allocation; S2. Based on relevant parameters, the k-means algorithm is used to obtain the optimal charging pile distribution plan; S3. Define a set of task points to be inserted, and construct a set of charging piles and warehouses based on the optimal charging pile distribution plan. Based on the set of task points to be inserted and the set of charging piles and warehouses, obtain an initial robot path as an initial solution according to the power constraint and the minimum cost increase algorithm; S4, determine whether the set of task points to be inserted is an empty set, if so, proceed to step S5, otherwise return to step S3; S5. Use a multi-dimensional variable neighborhood search algorithm to optimize the initial solution and obtain a multi-robot task allocation solution; The relevant parameters for multi-robot task allocation in step S1 include m A collection of robots , robot initial position set , need service Mission point collection , task point location set , the robot's constant driving speed ,Robot's maximum battery life 、 A collection of charging stations , the robot's charging efficiency and the fixed charging costs of the robot ; The step S3 includes the following sub-steps: S31. Define a set of task points to be inserted , and build a collection of charging piles and warehouses based on the optimal charging pile distribution plan ,in Represents a collection of warehouses; S32, determine whether the robot path violates the power constraint, if so, proceed to step S33, otherwise proceed to step S34; The power constraints are specifically: S33, using charging pile insertion and deletion neighborhood to aggregate charging piles and warehouses The charging pile and warehouse are inserted into the infeasible robot path, and the process returns to step S32; S34, execute the minimum cost increase algorithm, and insert the task point set Insert the task points to be inserted into the position with the smallest cost increase in all robot paths, and update the set of task points to be inserted , the output is the initial robot path as the initial solution; The cost increase The calculation formula is: in Indicates the The robot goes to The remaining power after charging the battery; The step S5 comprises the following sub-steps: S51, the initial solution Copy it into multiple copies so that each dimension corresponds to an independent solution, and the initial solution Assign value to the current optimal solution , let the number of outer loops be ; S52, start the outer loop, and make the current execution dimension ; S53, the The solution in the dimension is assigned to the dimension solution , let the number of inner loops be ; S54, solve the dimension Assign to the current solution , start the inner loop and execute the neighborhood variables , randomly assign numbers 1 to 4 to the swap charging pile neighborhood, 2-opt neighborhood, reordering neighborhood, and damage-repair neighborhood, and assign number 5 to the charging pile insertion and deletion neighborhood; S55, the execution value is equal to the execution neighborhood variable Neighborhood, and according to the execution result, the Boolean value will be executed Set to 0 or 1, when Current solution Changes occur when Current solution No change occurs; S56, determine the execution Boolean value Is it 1? If so, go to step S57; otherwise, go to step S58; S57, execute the neighborhood variable , and re-assign numbers 1 to 4 randomly to the exchange charging pile neighborhood, 2-opt neighborhood, reordering neighborhood and damage-repair neighborhood to determine the current solution Is it better than the dimensional solution? If so, solve the dimension Update to current solution , return to step S55, otherwise directly return to step S55; S58, execute the neighborhood variable Add 1 to determine the execution neighborhood variable Is it greater than the number of neighbors? If so, go to step S59, otherwise return to step S55; S59, the number of internal loops Add 1 to determine the number of inner loops Whether the maximum number of inner loops has been reached If yes, go to step S510, otherwise return to step S54; S510, Determine Dimension Solution Is it better than the current optimal solution? If so, update the current optimal solution Solution for dimension , go to step S511, otherwise go directly to step S511; S511, set the current execution dimension Add 1 to determine the current execution dimension Whether the maximum number of dimensions is exceeded, if so, proceed to step S512, otherwise return to step S53; S512, probabilistically performing the assimilation dimension operation, that is, assigning the dimension where the optimal solution is located to the solutions of other dimensions according to the preset probability; S513, command external loop times Add 1 to determine the number of outer loops Whether the maximum number of external loops has been reached If yes, then a multi-robot task allocation solution is obtained, otherwise, return to step S52; The charging pile insertion and deletion neighborhood includes a charging pile minimum marginal cost insertion phase and a charging pile maximum saving cost deletion phase; The minimum marginal cost insertion phase of the charging pile is as follows: the power of each robot in the current path is calculated. If the power does not meet the power constraint, the Boolean value will be executed. Set to 1, and continuously insert charging piles into the robot path that does not meet the power constraint through the minimum marginal cost method until the robot path meets the power constraint and enters the charging pile maximum saving cost deletion phase, otherwise the Boolean value will be executed Set to 0 to keep the current solution constant; The marginal cost The calculation formula is: in Indicates that the Insert the charging pile into the The first robot path The additional cost required for the location of each mission point, represents the proportionality coefficient, Indicates the mission point Hedi The Euler distance of the charging pile, Indicates the Charging stations and mission points The Euler distance of Indicates the mission point and mission points The Euler distance of Indicates the The first robot path Mission points, Indicates the The first robot path Mission points; The maximum saving cost deletion phase of the charging pile is specifically as follows: Calculate the saving cost of removing each charging pile in the robot path If the robot path no longer meets the power constraint after removing the charging pile, the saving cost of the charging pile is Set as , delete the charging pile with the largest cost saving in the robot path in sequence until the cost saving When it is less than or equal to 0, the charging pile maximum saving cost deletion phase ends; The cost savings The calculation formula is: in Indicates the mission point Hedi The Euler distance of the charging pile, Indicates the mission point and mission points The Euler distance of Indicates the The first robot path A mission point.
2. The multi-robot task allocation method based on the multi-dimensional variable neighborhood search algorithm according to claim 1 is characterized in that: The step S2 comprises the following sub-steps: S21. According to the location of the task point And a collection of charging piles , the k-means algorithm is used to obtain the charging pile location set ; S22, take the charging pile location as the clustering object, and divide all task points into Clusters, the center of each cluster is the location of the charging pile; S23. Continuously adjust the center point of each cluster to make it equal to the average position of all task points in the cluster until the center point position no longer changes, and obtain the optimal charging pile distribution plan.
3. The multi-robot task allocation method based on the multi-dimensional variable neighborhood search algorithm according to claim 1 is characterized in that: The specific method of exchanging charging pile neighborhood is to traverse the charging pile nodes in each robot path and calculate the change in the total cost of the path after replacing them with other charging piles. If there are multiple charging pile distribution replacement schemes that meet the power constraint and can reduce the total cost of the path, the Boolean value will be executed. Set to 1, select the charging pile distribution replacement scheme with the largest path cost reduction to update the current solution If there is only one charging pile distribution replacement solution that meets the power constraint and can reduce the total cost of the path, the Boolean value will be executed. Set to 1 and execute the charging pile distribution replacement plan to update the current solution If there is no alternative solution that meets the power constraint and can reduce the total cost of the path, the Boolean value will be executed Set to 0 to keep the current solution constant; The change in total path cost after replacing the charging pile with another one Specifically: in Indicates the Mission points and The Euler distance of the charging pile, Indicates the Charging pile and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the charging pile, Indicates the Charging pile and The Euler distance between the task points.
4. The multi-robot task allocation method based on the multi-dimensional variable neighborhood search algorithm according to claim 1 is characterized in that: The 2-opt neighborhood is specifically: swap the positions of any two task points in the path, calculate the change in the total cost of the path before and after the swap, and if there is a swap solution that meets the power constraint and can reduce the total cost of the path, then execute the Boolean value Set to 1 and update the current solution according to the exchange scheme , otherwise the Boolean value will be executed Set to 0 to keep the current solution constant; The change of the total cost of the path before and after the exchange Specifically: in Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance between the task points.
5. The multi-robot task allocation method based on the multi-dimensional variable neighborhood search algorithm according to claim 1 is characterized in that: The reordering neighborhood is specifically as follows: randomly select a robot and randomly select a subpath from the robot's path. The starting point and end point of the subpath are any task points in the path that do not include the starting point and end point. The subpaths are reordered to form a new path, and the total path cost of the new path is calculated. If the new path meets the power constraint and the total path cost is lower than the original path, the Boolean value is executed. Set to 1 and update the current solution according to the new path , otherwise the Boolean value will be executed Set to 0 to keep the current solution constant; The method of reordering the subpaths includes randomly disrupting the subpath order, reversing the subpath order, and heuristic sorting based on the shortest distance; The random disruption of the subpath order is specifically as follows: taking all nodes from the subpath, generating a randomly arranged index, and rearranging the nodes in the subpath according to the index; The reversing subpath order is specifically as follows: taking all nodes from the subpath and reversing the order of the nodes in the subpath from left to right; The heuristic sorting based on the shortest distance is specifically as follows: select the first node in the subpath as the starting point and remove it from the subpath, and then repeat the following steps until the subpath is empty: calculate the distance from the last node of the current subpath to all removed nodes in the removed node set, add the closest removed node to the subpath, and remove the closest removed node from the removed node set.
6. The multi-robot task allocation method based on the multi-dimensional variable neighborhood search algorithm according to claim 1 is characterized in that: The destruction-repair neighborhood is specifically as follows: randomly selecting a robot path, or selecting the current longest robot path, randomly selecting a subpath from the robot path and deleting it from the robot path, and adding the task points in the deleted subpath to the deleted task point set; Then, all robot paths are traversed, and the task points in the deleted task point set are inserted into the position where the robot path satisfies the power constraint in sequence. The insertion cost increase is calculated, and each task point in the deleted task point set is inserted into the position where the insertion cost increase is the smallest, and at the same time, it is removed from the deleted task point set. In response to the deleted task point set being an empty set, if the total cost of the robot path at this time is lower than the total cost of the robot path without the destruction-repair neighborhood, the Boolean value is executed. Set to 1 and update the current solution according to the robot path at this time , otherwise the Boolean value will be executed Set to 0 to keep the current solution constant; The insertion cost increases Specifically: in Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance of the task points, Indicates the Mission points and The Euler distance between the task points.
Citation Information
Patent Citations
Self-adaptive large neighborhood search method for AEOS (agile earth observation satellite) scheduling
CN107025363A
Distribution optimization method for continuous multi-time replenishment of gas station in push-type distribution mode
CN116843259A