An optimization method for drone door-to-door delivery routes for high-rise residential buildings
Through the optimization method of home delivery path for high-rise residential buildings, the problem of failure to effectively consider the high-altitude working conditions of drones in the existing technology is solved. The generated path plan is more in line with actual needs and improves the efficiency and effect of drone delivery.
Patent Information
- Application Number
- CN202210610746.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-31
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2042-05-31
AI Technical Summary
The existing drone distribution and scheduling methods fail to effectively consider the special working conditions of drones during high altitude flight, which makes it difficult for the generated scheduling scheme to meet the on-site implementation needs.
A method of optimization of the door-to-door delivery path for high-rise residential buildings is proposed. By obtaining the set of customer points to be delivered, a single delivery point set is gradually added and deleted, preset conditions are met, and the optimal drone path scheme is generated through operator optimization (such as insert, swap, reinsert, swapv).
The generated drone path scheme can more effectively meet the special working conditions during high-rise buildings and drone flights, improving the path optimization effect and implementation efficiency.
Smart Images

Figure CN115018414B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of logistics scheduling optimization, and in particular to a method for optimizing a drone door-to-door delivery route for high-rise residential buildings. Background Art
[0002] As drone technology matures, the field of logistics and distribution technology has also gradually begun to use drone-related technologies. For example, in some high-rise residential buildings, due to the difficulty of transportation, drones are gradually being used for transportation and distribution. In response to drone delivery, relevant logistics scheduling methods have appeared in the existing technology. However, since this method does not take into account the special working conditions of drones during high-altitude flight, the generated scheduling plan is difficult to meet the implementation needs on site. Summary of the invention
[0003] The purpose of the embodiment of the present invention is to provide a method for optimizing the delivery path of a drone to a high-rise residential building, the optimization method comprising:
[0004] Get the set of customer points to be delivered;
[0005] Taking a customer point from the set of customer points to be delivered and adding it to the current set of single delivery points;
[0006] Determine whether the current single delivery point set meets the preset conditions;
[0007] If it is determined that the current single delivery point set does not meet the preset condition, deleting the customer point currently added to the single delivery customer point set;
[0008] Determine whether the set of customer points to be delivered is an empty set;
[0009] If it is determined that the set of customer points to be delivered is not an empty set, returning to the step of taking a customer point from the set of customer points to be delivered and adding it to the current set of single delivery points;
[0010] When it is determined that the set of customer points to be delivered is an empty set, the current set of single delivery points of the drone is saved;
[0011] Reset the set of customer points to be delivered, delete all customer points that have been added to the set of single delivery points from the set of customer points to be delivered, select a new set of single delivery points, and return to the step of taking a customer point from the set of customer points to be delivered and adding it to the current set of single delivery points;
[0012] In the case where it is determined that the current single delivery point set meets the preset condition, determining whether the set of customer points to be delivered is an empty set;
[0013] When it is determined that the set of customer points to be delivered is not an empty set, returning to the execution again to take out a customer point from the set of customer points to be delivered and add it to the current single delivery point set;
[0014] In the case where it is determined that the set of customer points to be delivered is an empty set, determining whether all current sets of single delivery points already contain all customer points;
[0015] When it is determined that all current single delivery point sets do not include all customer points, returning to the step of resetting the set of customer points to be delivered, deleting all customer points that have been added to the single delivery point set from the set of customer points to be delivered, and selecting a new set of single delivery points;
[0016] When it is determined that all current single delivery point sets already include all customer points, combining each of the single delivery point sets to form a delivery set plan for the drone;
[0017] Connect each customer point in the delivery collection plan to form a drone path;
[0018] Determine whether the total number of customer points is greater than a preset value;
[0019] When it is determined that the number of customer points is less than or equal to the preset value, an insert operator is used to optimize the drone path;
[0020] Using a swap operator to optimize the UAV path;
[0021] Using the reinsert operator to optimize the UAV path;
[0022] When it is determined that the number of customer points is greater than the preset value, a reinsert operator is used to optimize the drone path;
[0023] The swapv operator is used to optimize the UAV path;
[0024] Calculate the target values of the drone path plans composed of multiple drone paths respectively, and select the drone path plan corresponding to the current minimum target value as the current optimal drone path plan;
[0025] Determine whether the current number of iterations is greater than or equal to a preset number threshold;
[0026] When it is determined that the current number of iterations is less than the number threshold, the pheromone concentration is updated according to the current optimal drone path plan, and the step of taking a customer point from the set of customer points to be delivered and adding it to the current drone path is returned again;
[0027] When it is determined that the current number of iterations is greater than or equal to a preset number threshold, the drone path plan with the smallest target value is selected from the historically generated drone path plans as the optimal solution output.
[0028] Optionally, taking out a customer point from the set of customer points to be delivered and adding it to the current set of single delivery points includes:
[0029] According to formula (1), the selection probability of each customer point is calculated:
[0030] p_value(iter) gk =(tau gk ) alpha *(Eta gk ) beta , 0 <g,k≤n, (1)
[0031] Among them, p_value(iter) gk is the selection probability from the kth customer point to the gth customer point, tau gk is the pheromone concentration between the kth customer point and the gth customer point, alpha is the pheromone importance factor, Eta gk is the heuristic function value between the kth customer point and the gth customer point, beta is the heuristic function importance factor, and n is the total number of customer points;
[0032] Generate a random number in the interval [0,1];
[0033] Determining whether the random number is less than or equal to a preset control transfer rule constant;
[0034] In the case where it is determined that the random number is less than or equal to the control transfer rule constant, selecting the customer point with the largest selection probability as the extracted customer point;
[0035] When it is determined that the random number is greater than the control transfer rule constant, a roulette wheel method is used to select the customer point to be taken out according to the selection probability.
[0036] Optionally, the preset conditions include formula (2) and formula (3),
[0037]
[0038] Z k =∑ i∈allow_usv weight i ≤ED, (3)
[0039] Among them, Q k is the cumulative energy consumption of the kth single delivery point set, allow_usv is the current single delivery point set, Pij is the average power of the UAV flying from the i-th customer point to the j-th customer point, d ij is the asymmetric distance between the i-th customer point and the j-th customer point, VD is the flight speed of the drone, TD j is the service time of the UAV at the jth customer point, P s0 is the average power consumption of the UAV from the last customer point in a single delivery point set to the initial delivery platform, d k0 is the asymmetric distance between the kth customer point and the initial delivery platform, QD is the maximum energy consumption of the UAV, and Z k is the cumulative load of the kth single delivery point set, weight i is the demand quality of the i-th customer point, ED is the maximum load of the UAV;
[0040] The optimization method further comprises:
[0041] The asymmetric distance is calculated according to formula (4):
[0042]
[0043] Among them, x vi ,y vi are the i-th customer points v i The horizontal and vertical coordinates, x vj ,y vj Point v for the jth customer j The horizontal and vertical coordinates of weight up is the compensation coefficient of the drone’s ascending distance, weight down is the descent distance compensation coefficient of the UAV;
[0044] The average power consumption is calculated according to formula (5):
[0045] P ij =engrate load ×weight for[j] +engrate frame , (5)
[0046] Among them, engrate load is the power consumption per unit mass when the drone is flying, engrate frame is the power consumption of the drone when it is unloaded, weight for[j] is the current load of the drone until it completes the delivery mission to the jth customer point.
[0047] Optionally, the optimization method further includes:
[0048] Select the first half of the drone path plans in order from small to large to execute at least one of the insert operator, swap operator, reinsert operator, and swapv operator.
[0049] Optionally, the insert operator includes:
[0050] Traversing each drone path plan, for any two drone paths in the drone path plan, randomly selecting a customer point from one of the two drone paths;
[0051] Insert the selected customer points into the gap between two customer points of the other of the two UAV paths in order;
[0052] Determine whether the target value of the optimized UAV path plan is less than the UAV path plan before optimization;
[0053] When it is determined that the target value of the optimized UAV path plan is less than that of the UAV path plan before optimization, the optimized UAV path plan is used to replace the UAV path plan before optimization.
[0054] Optionally, the swap operator includes:
[0055] Traverse each drone path plan, and for any two drone paths in the drone path plan, randomly select a customer point from each of the two drone paths in turn;
[0056] Exchange the two selected customer points with each other;
[0057] Determine whether the target value of the drone path plan after the exchange is less than the drone path plan before the exchange;
[0058] When it is determined that the target value of the drone path plan after the exchange is less than the drone path plan before the exchange, the drone path plan after the exchange is used to replace the drone path plan before the exchange.
[0059] Optionally, the reinsert operator includes:
[0060] Traversing each drone path plan, for any drone path in the drone path plan, selecting a customer point from the selected drone path in turn, and inserting it between two customer points in the drone path in turn;
[0061] Determine whether the target value of the UAV path plan after insertion is less than the UAV path plan before insertion;
[0062] When it is determined that the target value of the UAV path plan after insertion is smaller than the UAV path plan before insertion, the UAV path plan after insertion is used to replace the UAV path plan before insertion.
[0063] Optionally, the swapv operator includes:
[0064] Traversing each of the drone path plans, and randomly selecting a plurality of drone paths from the drone path plans;
[0065] Sequentially exchange a customer point on any two of the selected multiple drone paths;
[0066] Determine whether the target value of the drone path plan after the exchange is less than the drone path plan before the exchange;
[0067] When it is determined that the target value of the drone path plan after the exchange is less than the drone path plan before the exchange, the drone path plan after the exchange is used to replace the drone path plan before the exchange.
[0068] Optionally, updating the pheromone concentration according to the current optimal drone path plan includes:
[0069] Update the pheromone concentration according to formula (6),
[0070]
[0071] in, is the pheromone concentration between the i-th customer point and the j-th customer point in the iter-th generation, is the pheromone concentration between the i-th customer point and the j-th customer point in the iter-1th generation, rho is the pheromone volatility factor, Δtau iter is the pheromone concentration increment of the iter generation, Route iter The optimal UAV path solution.
[0072] Optionally, the optimization method comprises:
[0073] The target value is calculated according to formula (7):
[0074] obj = cost D *NV+cost eng *TEC, (7)
[0075] Where obj is the target value, cost D is the relative coefficient of a single flight of the UAV, NV is the number of flights of the UAV, and cost eng is the relative coefficient of energy consumption per unit of the UAV, and TEC is the total energy consumption of the UAV.
[0076] Through the above technical scheme, the present invention provides an optimization method for drone door-to-door delivery paths for high-rise residential buildings. By targeting the special working conditions of high-rise buildings and drones during flight, an improved path optimization method is used to generate a drone path plan.
[0077] Other features and advantages of the embodiments of the present invention will be described in detail in the subsequent detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0078] The accompanying drawings are used to provide a further understanding of the embodiments of the present invention and constitute a part of the specification. Together with the following specific implementations, they are used to explain the embodiments of the present invention, but do not constitute a limitation on the embodiments of the present invention. In the accompanying drawings:
[0079] Figure 1 is a flow chart of a method for optimizing a drone door-to-door delivery route for high-rise residential buildings according to one embodiment of the present invention;
[0080] Figure 2 is a partial flow chart of a method for optimizing a drone door-to-door delivery route for high-rise residential buildings according to one embodiment of the present invention;
[0081] Figure 3 is a flow chart of an insert operator according to one embodiment of the present invention;
[0082] Figure 4 is a flow chart of a swap operator according to one embodiment of the present invention;
[0083] Figure 5 is a flowchart of a reinsert operator according to one embodiment of the present invention;
[0084] Figure 6 is a flow chart of a swapv operator according to one embodiment of the present invention. DETAILED DESCRIPTION
[0085] The specific implementation of the embodiment of the present invention is described in detail below in conjunction with the accompanying drawings. It should be understood that the specific implementation described here is only used to illustrate and explain the embodiment of the present invention, and is not used to limit the embodiment of the present invention.
[0086] like Figure 1 FIG. 1 is a flow chart of a method for optimizing a delivery path of a drone to a high-rise residential building according to an embodiment of the present invention. Figure 1 In the optimization method, the optimization method may include:
[0087] In step S11, a set of customer points to be delivered is obtained;
[0088] In step S12, a customer point is taken from the set of customer points to be delivered and added to the current set of single delivery points;
[0089] In step S13, it is determined whether the current single delivery point set meets the preset conditions;
[0090] In step S14, when it is determined that the current single delivery point set does not meet the preset conditions, the customer point currently added to the single delivery point set is deleted;
[0091] In step S15, it is determined whether the set of customer points to be delivered is an empty set;
[0092] If it is determined that the set of customer points to be delivered is not an empty set, the process returns to the step of taking a customer point from the set of customer points to be delivered and adding it to the current set of single delivery points (i.e., returns to step S12);
[0093] In step S16, when it is determined that the set of customer points to be delivered is an empty set, the current single delivery point set is saved;
[0094] In step S17, the set of customer points to be delivered is reset, all customer points that have been added to the set of single delivery points are deleted from the set of customer points to be delivered, a new set of single delivery points is selected, and the process returns to the step of taking a customer point from the set of customer points to be delivered and adding it to the current set of single delivery points (i.e., returns to step S12);
[0095] In step S18, when it is determined that the current single delivery point set meets the preset conditions, it is determined whether the set of customer points to be delivered is an empty set;
[0096] If it is determined that the set of customer points to be delivered is not an empty set, the process returns to the step of taking a customer point from the set of customer points to be delivered and adding it to the current set of single delivery points (i.e., returns to step S12);
[0097] In step S19, when it is determined that the set of customer points to be delivered is an empty set, it is determined whether all current single delivery point sets already contain all customer points;
[0098] If it is determined that all current single delivery point sets do not include all customer points, returning to the step of resetting the set of customer points to be delivered, deleting all customer points that have been added to the single delivery point set from the set of customer points to be delivered, and selecting a new set of single delivery points (i.e. returning to step S17);
[0099] In step S20, when it is determined that all current single delivery point sets already include all customer points, each single flight point set is combined to form a delivery set plan for the drone;
[0100] In step S21, each customer point in the delivery collection plan is connected to form a drone path;
[0101] In step S22, it is determined whether the total number of customer points is greater than a preset value;
[0102] In step S23, when it is determined that the number of customer points is less than or equal to the preset value, the insert operator is used to optimize the drone path;
[0103] In step S24, the swap operator is used to optimize the UAV path;
[0104] In step S25, the UAV path is optimized using the reinsert operator;
[0105] In step S26, when it is determined that the number of customer points is greater than a preset value, the reinsert operator is used to optimize the drone path;
[0106] In step S27, the swapv operator is used to optimize the UAV path;
[0107] In step S28, the target values of the drone path plans are calculated respectively, and the drone path plan corresponding to the current minimum target value is selected as the current optimal drone path plan;
[0108] In step S29, it is determined whether the current number of iterations is greater than or equal to a preset number threshold;
[0109] In step S30, when it is determined that the current number of iterations is less than the number threshold, the process returns to the step of taking a customer point from the set of customer points to be delivered and adding it to the current set of single delivery points (i.e., returns to step S12).
[0110] In step S31, when it is determined that the current number of iterations is greater than or equal to a preset number threshold, the drone path plan with the smallest target value is selected from the historically generated drone path plans as the optimal solution output.
[0111] In this Figure 1 In the method shown, the set of customer points to be delivered obtained in step S11 includes multiple customer points distributed on high-rise residential buildings, and the horizontal position and vertical height of each customer point are different.
[0112] Steps S12 to S21 can be used to divide multiple customer points into a single delivery point set consisting of multiple customer points that can be completed by the drone in a single flight. Specifically:
[0113] Step S12 may be to select a customer point from the set of customer points to be delivered and add it to the current set of single delivery points. The method for selecting the customer point may be a method known to those skilled in the art, such as random selection. However, in order to improve the iteration efficiency of the algorithm, in a preferred example of the present invention, the method may include: Figure 2 In the steps shown in Figure 2 In, the method may include:
[0114] In step S40, the selection probability of each customer point is calculated according to formula (1):
[0115] p_value(iter) gk =(tau gk ) alpha *(Eta gk ) beta , 0 <g,k≤n, (1)
[0116] Among them, p_value(iter) gk is the selection probability from the kth customer point to the gth customer point, tau gk is the pheromone concentration between the kth customer point and the gth customer point, alpha is the pheromone importance factor, Eta gk is the heuristic function value between the kth customer point and the gth customer point, beta is the heuristic function importance factor, and n is the total number of customer points;
[0117] In step S41, a random number is generated in the interval [0,1];
[0118] In step S42, it is determined whether the random number is less than or equal to a constant of a preset control transfer rule;
[0119] In step S43, when it is determined that the random number is less than or equal to the control transfer rule constant, the customer point with the highest selection probability is selected as the customer point to be taken out;
[0120] In step S44, when it is determined that the random number is greater than the control transfer rule constant, the roulette method is used to select the customer point to be taken out according to the selection probability.
[0121] In this Figure 2In the method shown, the proportion of the roulette method in the iterative operation is controlled by using random number judgment, which accelerates the speed of algorithm iterative convergence; at the same time, the method of calculating the selection probability is combined with the pheromone method in the ant colony algorithm, so that as the number of iterations increases, the probability of generating the optimal solution becomes greater and greater, thereby further improving the iterative convergence speed of the algorithm.
[0122] After adding the selected customer point to the single delivery point set in step S12, it is necessary to determine whether the single delivery point set after adding the customer point meets the flight requirements of the drone itself, that is, the preset condition, in step S13. The specific form of the preset condition can be various forms known to those skilled in the art. However, in an example of the present invention, the preset condition can include the following formulas (2) and (3):
[0123]
[0124] Z k =∑ i∈allow_usv weight i ≤ED, (3)
[0125] Among them, Q k is the cumulative energy consumption of the kth single delivery point set, allow_usv is the current single delivery point set, P ij is the average power of the UAV flying from the i-th customer point to the j-th customer point, d ij is the asymmetric distance between the i-th customer point and the j-th customer point, i can be 0, j cannot be 0, and all asymmetric distances d ij Construct a path that can deliver to each customer point in the current single delivery point set, VD is the flight speed of the drone, TD j is the service time of the UAV at the jth customer point, P s0 is the average power consumption of the UAV from the last customer point in a single delivery point set to the initial delivery platform, d k0 is the asymmetric distance between the kth customer point and the initial delivery platform, QD is the maximum energy consumption of the drone, and Z k is the cumulative load of the kth single delivery point set, weight i is the demand quality of the i-th customer point, and ED is the maximum load of the drone.
[0126] In formula (2), the asymmetric distance can represent the one-way distance between two customer points. Since the heights between different customer points may be different in the method provided by the present invention, the energy consumption caused by the one-way flight of the drone between the two must also be different, so it is necessary to use the asymmetric distance for calculation. Specifically, the asymmetric distance can be calculated according to formula (4),
[0127]
[0128] Among them, x vi ,y vi are the i-th customer points v i The horizontal and vertical coordinates, x vj ,y vj Point v for the jth customer j The horizontal and vertical coordinates of weight up is the compensation coefficient of the drone’s ascending distance, weight down is the descent distance compensation coefficient of the UAV;
[0129] Furthermore, the average power consumption can be calculated according to formula (5):
[0130] P ij =engrate load ×weight for[j] +engrate frame , (5)
[0131] Among them, engrate load is the power consumption per unit mass when the drone is flying, engrate frame is the power consumption of the drone when it is unloaded, weight for[j] is the current load of the drone until it completes the delivery mission to the jth customer point.
[0132] In the case that the current single delivery point set does not meet the preset conditions in step S13, it is necessary to first delete the customer points added to the current set from the current single delivery point set, that is, step S14. Next, it is necessary to consider whether all customer points have been taken from the current set of customer points to be delivered, that is, step S15 determines whether the set of customer points to be delivered is an empty set. If the set of customer points to be delivered is not an empty set, it means that there may still be customer points in the current set of customer points to be delivered that can be put into the set of single delivery points, so it is necessary to return to execute step S12; otherwise, it means that the current set of single delivery points is saturated and it is impossible to add customer points, so it is necessary to execute step S17, that is: reset the set of customer points to be delivered, delete all customer points that have been added to the set of single delivery points from the set of customer points to be delivered, select a new set of single delivery points, and thus start the generation of a new set of single delivery points.
[0133] When judging that the current single delivery point set meets the preset conditions, two points need to be considered at this time: one is whether the current single delivery point set is saturated; the other is whether all the current customer points have been put into the single delivery point set. Therefore, it is necessary to execute step S18 and step S19. Among them, when step S18 judges that the set of customer points to be delivered is not an empty set, it means that the current single delivery point set is not saturated, so it is necessary to return to step S12 to continue to add customer points; otherwise, it means that the current single delivery point set is saturated, so it is necessary to use step S19 to judge whether all the current customer points have been put into the single delivery point set. When judging that all the current single delivery point sets do not contain all the customer points, it means that the current single delivery point set is saturated, but there are still customer points that have not been put into the single delivery point set, so it is necessary to return to execute step S17, that is, to start the generation of a new single delivery point set; otherwise, it means that all the current customer points have been planned, so step S20 can be executed.
[0134] Steps S20 and S21 are used to combine each single delivery point set and generate a corresponding drone path. Each single delivery point set will generate a corresponding drone path, and multiple drone paths will constitute a drone path plan.
[0135] Steps S23 to S28 are used to update and optimize the generated drone path plan. Before updating and optimizing, considering the complexity of the algorithm, it is necessary to first determine whether the number of customer points is too large, that is, whether the number of customer points is greater than a preset value in step S22. The preset value can be determined based on the complexity of the operator used. In this embodiment, the preset value can be 40.
[0136] Step S23 may be used to optimize the drone path using an insert operator. Although the specific method of the insert operator may be a variety of methods known to those skilled in the art, in a preferred embodiment of the present invention, the insert operator may include: Figure 3 In the method shown in Figure 3 In the example, the insert operator may include:
[0137] In step S50, each drone path plan is traversed, and for any two drone paths in the drone path plan, a customer point is randomly selected from one of the two drone paths;
[0138] In step S51, the selected customer point is inserted into the gap between two customer points of the other of the two drone paths in order;
[0139] In step S52, it is determined whether the target value of the optimized UAV path plan is less than the UAV path plan before optimization;
[0140] In step S53, when it is determined that the target value of the optimized UAV path plan is less than the UAV path plan before optimization, the optimized UAV path plan is used to replace the UAV path plan before optimization.
[0141] Step S24 can be used to optimize the drone path using a swap operator. Although the specific method of the swap operator can be a variety of methods known to those skilled in the art, in a preferred embodiment of the present invention, the swap operator can include: Figure 4 In the method shown in Figure 4 In the example, the swap operator may include:
[0142] In step S60, each drone path plan is traversed, and for any two drone paths in the drone path plan, a customer point is randomly selected from each of the two drone paths in turn;
[0143] In step S61, the two selected customer points are exchanged with each other;
[0144] In step S62, it is determined whether the target value of the drone path plan after the exchange is less than the drone path plan before the exchange;
[0145] In step S63, when it is determined that the target value of the drone path plan after the exchange is less than the drone path plan before the exchange, the drone path plan after the exchange is used to replace the drone path plan before the exchange.
[0146] Step S25 can be used to optimize the drone path using a reinsert operator. Although the specific method of the reinsert operator can be a variety of methods known to those skilled in the art, in a preferred embodiment of the present invention, the reinsert operator may include: Figure 5 In the method shown in Figure 5 In the example, the reinsert operator may include:
[0147] In step S70, each drone path plan is traversed, and for any drone path in the drone path plan, a customer point is selected from the selected drone path in turn, and inserted between two customer points in the drone path in turn;
[0148] In step S71, it is determined whether the target value of the drone path plan after insertion is less than the drone path plan before insertion;
[0149] In step S72, when it is determined that the target value of the drone path plan after insertion is less than the drone path plan before insertion, the drone path plan after insertion is used to replace the drone path plan before insertion.
[0150] Step S27 can be used to optimize the drone path using the swapv operator. Although the specific method of the swapv operator can be a variety of methods known to those skilled in the art, in a preferred embodiment of the present invention, the swapv operator may include: Figure 6 In the method shown in Figure 6 In the example, the swapv operator may include:
[0151] In step S80, each drone path plan is traversed, and a plurality of drone paths are randomly selected from the drone path plans;
[0152] In step S81, a customer point on any two of the selected multiple drone paths is exchanged in sequence;
[0153] In step S82, it is determined whether the target value of the drone path plan after the exchange is less than the drone path plan before the exchange;
[0154] In step S83, when it is determined that the target value of the drone path plan after the exchange is less than the drone path plan before the exchange, the drone path plan after the exchange is used to replace the drone path plan before the exchange.
[0155] After optimizing the drone path in steps S23 to S27, the target value of each drone path plan can be calculated respectively in step S28 to determine the pros and cons of each drone path plan. Finally, the optimal solution of the drone path plan with the smallest target value is selected. However, considering that the calculation of the selection probability depends on the pheromone concentration, and the pheromone concentration needs to be continuously iterated to make the output solution tend to be optimal, it is necessary to determine whether the preset number of iterations can be reached at present through step S29. If the number of iterations is not met, the pheromone concentration can be updated in step S30. On the contrary, if the number of iterations is met, the drone path plan with the smallest target value can be directly selected as the optimal solution output.
[0156] The specific method for updating the pheromone concentration may be any of a variety of methods known to those skilled in the art. However, in a preferred embodiment of the present invention, the method for updating the pheromone concentration may be based on formula (6):
[0157]
[0158] in, is the pheromone concentration between the i-th customer point and the j-th customer point in the iter-th generation, is the pheromone concentration between the i-th customer point and the j-th customer point in the iter-1th generation, rho is the pheromone volatility factor, Δtau iter is the pheromone concentration increment of the iter generation, Route iter It is the current optimal UAV path solution.
[0159] In this embodiment, the target value may be calculated in various ways known to those skilled in the art. However, in a preferred example of the present invention, the optimization method may include calculating the target value according to formula (7):
[0160] obj = cost D *NV+cost eng *TEC, (7)
[0161] Among them, obj is the target value, Cost D is the relative coefficient of a single flight of the UAV, NV is the number of flights of the UAV, and cost eng is the relative coefficient of energy consumption per unit of the UAV, and TEC is the total energy consumption of the UAV.
[0162] Through the above technical scheme, the present invention provides an optimization method for drone door-to-door delivery paths for high-rise residential buildings. By targeting the special working conditions of high-rise buildings and drones during flight, an improved path optimization method is used to generate a drone path plan.
[0163] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0164] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0165] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0166] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0167] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0168] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0169] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0170] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0171] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.
Claims
1. A method for optimizing the delivery path of drones to high-rise residential buildings, characterized in that: The optimization method comprises: Get the set of customer points to be delivered; Taking a customer point from the set of customer points to be delivered and adding it to the current set of single delivery points; Determine whether the current single delivery point set meets the preset conditions; If it is determined that the current single delivery point set does not meet the preset condition, deleting the customer point currently added to the single delivery customer point set; Determine whether the set of customer points to be delivered is an empty set; If it is determined that the set of customer points to be delivered is not an empty set, returning to the step of taking a customer point from the set of customer points to be delivered and adding it to the current set of single delivery points; When it is determined that the set of customer points to be delivered is an empty set, the current set of single delivery points of the drone is saved; Reset the set of customer points to be delivered, delete all customer points that have been added to the set of single delivery points from the set of customer points to be delivered, select a new set of single delivery points, and return to the step of taking a customer point from the set of customer points to be delivered and adding it to the current set of single delivery points; In the case where it is determined that the current single delivery point set meets the preset condition, determining whether the set of customer points to be delivered is an empty set; When it is determined that the set of customer points to be delivered is not an empty set, returning to the execution again to take out a customer point from the set of customer points to be delivered and add it to the current single delivery point set; In the case where it is determined that the set of customer points to be delivered is an empty set, determining whether all current sets of single delivery points already contain all customer points; When it is determined that all current single delivery point sets do not include all customer points, returning to the step of resetting the set of customer points to be delivered, deleting all customer points that have been added to the single delivery point set from the set of customer points to be delivered, and selecting a new set of single delivery points; When it is determined that all current single delivery point sets already include all customer points, combining each of the single delivery point sets to form a delivery set plan for the drone; Connect each customer point in the delivery collection plan to form a drone path; Determine whether the total number of customer points is greater than a preset value; When it is determined that the number of customer points is less than or equal to the preset value, an insert operator is used to optimize the drone path; Using a swap operator to optimize the UAV path; Using the reinsert operator to optimize the UAV path; When it is determined that the number of customer points is greater than the preset value, a reinsert operator is used to optimize the drone path; The swapv operator is used to optimize the UAV path; Calculate the target values of the drone path plans composed of multiple drone paths respectively, and select the drone path plan corresponding to the current minimum target value as the current optimal drone path plan; Determine whether the current number of iterations is greater than or equal to a preset number threshold; When it is determined that the current number of iterations is less than the number threshold, the pheromone concentration is updated according to the current optimal drone path plan, and the step of taking a customer point from the set of customer points to be delivered and adding it to the current drone path is returned again; When it is determined that the current number of iterations is greater than or equal to a preset number threshold, the drone path plan with the smallest target value is selected from the historically generated drone path plans as the optimal solution output; Taking a customer point from the set of customer points to be delivered and adding it to the current set of single delivery points includes: According to formula (1), the selection probability of each customer point is calculated: p_value(iter) gk =(tcu gk ) alpha *(Eta gk ) beta ,0<g,k≤n, (1) Among them, p_value(iter) gk is the selection probability from the kth customer point to the gth customer point, tau gk is the pheromone concentration between the kth customer point and the gth customer point, alpha is the pheromone importance factor, Eta gk is the heuristic function value between the kth customer point and the gth customer point, beta is the heuristic function importance factor, and n is the total number of customer points; Generate a random number in the interval [0,1]; Determining whether the random number is less than or equal to a preset control transfer rule constant; In the case where it is determined that the random number is less than or equal to the control transfer rule constant, selecting the customer point with the largest selection probability as the extracted customer point; In the case where it is determined that the random number is greater than the control transfer rule constant, a roulette method is used to select the customer point to be taken out according to the selection probability; The preset conditions include formula (2) and formula (3), Z k =Σ i∈allow_usv weight i ≤ED, (3) Among them, Q k is the cumulative energy consumption of the kth single delivery point set, allow_usv is the current single delivery point set, P ij is the average power of the UAV flying from the i-th customer point to the j-th customer point, d ij is the asymmetric distance between the i-th customer point and the j-th customer point, VD is the flight speed of the drone, TD j is the service time of the UAV at the jth customer point, P s0 is the average power consumption of the UAV from the last customer point in a single delivery point set to the initial delivery platform, d k0 is the asymmetric distance between the kth customer point and the initial delivery platform, QD is the maximum energy consumption of the UAV, and Z k is the cumulative load of the kth single delivery point set, weight i is the demand quality of the i-th customer point, ED is the maximum load of the UAV; The optimization method further comprises: The asymmetric distance is calculated according to formula (4): Among them, x vi ,y vi are the i-th customer points v i The horizontal and vertical coordinates, x vj ,y vj Point v for the jth customer j The horizontal and vertical coordinates of weight up is the compensation coefficient of the drone’s ascending distance, weight down is the descent distance compensation coefficient of the UAV; The average power consumption is calculated according to formula (5): P ij =ungrateful load ×weight for[j] +ungrateful frame , (5) Among them, engrate load is the power consumption per unit mass when the drone is flying, engrate frame is the power consumption of the drone when it is unloaded, weight for[j] is the current load of the drone until it completes the delivery mission to the jth customer point.
2. The optimization method according to claim 1, characterized in that: The optimization method further comprises: Select the first half of the drone path plans in order from small to large to execute at least one of the insert operator, swap operator, reinsert operator, and swapv operator.
3. The optimization method according to claim 1, characterized in that: The insert operator includes: Traverse each drone path plan, and for any two drone paths in the delivery set plan, randomly select a customer point from one of the two drone paths; Insert the selected customer points into the gap between two customer points of the other of the two UAV paths in order; Determine whether the target value of the optimized UAV path plan is less than the UAV path plan before optimization; When it is determined that the target value of the optimized drone path plan is less than the distribution collection plan before optimization, the optimized distribution collection plan is used to replace the drone path plan before optimization.
4. The optimization method according to claim 1, characterized in that: The swap operator includes: Traverse each drone path plan, and for any two drone paths in the drone path plan, randomly select a customer point from each of the two drone paths in turn; Exchange the two selected customer points with each other; Determine whether the target value of the drone path plan after the exchange is less than the drone path plan before the exchange; When it is determined that the target value of the drone path plan after the exchange is less than the drone path plan before the exchange, the drone path plan after the exchange is used to replace the drone path plan before the exchange.
5. The optimization method according to claim 1, characterized in that: The reinsert operator includes: Traversing each drone path plan, for any drone path in the drone path plan, selecting a customer point from the selected drone path in turn, and inserting it between two customer points in the drone path in turn; Determine whether the target value of the UAV path plan after insertion is less than the UAV path plan before insertion; When it is determined that the target value of the UAV path plan after insertion is smaller than the UAV path plan before insertion, the UAV path plan after insertion is used to replace the UAV path plan before insertion.
6. The optimization method according to claim 1, characterized in that: The swapv operator includes: Traversing each drone path plan, and randomly selecting a plurality of drone paths from the drone path plans; Sequentially exchange a customer point on any two of the selected multiple drone paths; Determine whether the target value of the drone path plan after the exchange is less than the drone path plan before the exchange; When it is determined that the target value of the drone path plan after the exchange is less than the drone path plan before the exchange, the drone path plan after the exchange is used to replace the drone path plan before the exchange.
7. The optimization method according to claim 1, characterized in that: Updating pheromone concentrations based on the current optimal drone path plan includes: Update the pheromone concentration according to formula (6), in, is the pheromone concentration between the i-th customer point and the j-th customer point in the iter-th generation, is the pheromone concentration between the i-th customer point and the j-th customer point in the iter-1th generation, rho is the pheromone volatility factor, Δtau iter is the pheromone concentration increment of the iter generation, Route iter The optimal UAV path solution.
8. The optimization method according to claim 1, characterized in that: The optimization method comprises: The target value is calculated according to formula (7): obj=cost D *NV+cost eng *TEC, (7) Where obj is the target value, cost D is the relative coefficient of a single flight of the UAV, NV is the number of flights of the UAV, and cost eng is the relative coefficient of energy consumption per unit of the UAV, and TEC is the total energy consumption of the UAV.
Citation Information
Patent Citations
Multi-center electric vehicle-unmanned aerial vehicle distribution path optimization method
CN113177762A
Unmanned aerial vehicle path planning method for minimizing number of unmanned aerial vehicles
CN113325875A