A Medical Drone Scheduling Model and Solution Algorithm Considering Sample Timeliness
By establishing a mixed-integer linear programming model and a branch-pricing algorithm, the drone path and battery swapping location were optimized, solving the problems of low drone delivery efficiency and sample timeliness, and realizing efficient sample delivery to multiple community service points.
Patent Information
- Application Number
- CN202211454497.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-21
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2042-11-21
AI Technical Summary
Traditional drone-based testing methods are inefficient, have low battery utilization, and cannot guarantee sample timeliness, thus failing to efficiently meet the scheduling needs of multiple community service points.
A mixed-integer linear programming model is established, combining branch pricing algorithm and heuristic algorithm, and a pattern combining label algorithm and heuristic algorithm is designed to optimize the path planning and battery swapping location of UAVs. Considering sample timeliness and energy consumption constraints, efficient scheduling of UAVs is achieved.
This improved the efficiency and timeliness of sample delivery by drone, reduced testing costs, and enabled efficient sample delivery to multiple community service points.
Smart Images

Figure CN116258311B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a medical drone scheduling model and solution algorithm that takes into account the timeliness of samples. Technical Background
[0002] With the continuous development of science and technology, unmanned equipment is gradually being applied to various industries. Samples to be tested need to be delivered to designated testing institutions within a specific timeframe. As the number of community service points increases, the traditional method of vehicle-based testing delivery is inefficient and often limited by ground transportation constraints. Considering the time-sensitive nature of samples, the traditional model typically allows one delivery vehicle to serve only one community service point. This model is costly and inefficient. Drones, due to their advantages such as high flight speed, low operating costs, and high maneuverability, are being applied in the medical industry. Drones land at community service points, and samples are collected by medical personnel and then delivered for testing using the drones. Between each community service point, a drone can serve multiple points at a time. After delivery, the drone plans its service route based on the sample delivery requirements, thus achieving efficient testing services.
[0003] In practical medical drone dispatching, multiple community service points often have dispatching needs simultaneously. Each community service point generates a dispatching request for samples to be tested, and each dispatching request includes the timeliness requirements of the samples and the corresponding hospital to which they are being sent. Energy consumption is a key factor affecting the flight range of drones used for sample testing. Traditional drone delivery or truck-drone combined delivery dispatching problems often assume that the drone's battery power is sufficient to handle all orders after each takeoff until it returns to the warehouse or truck. Furthermore, it often assumes that the drone will swap batteries or recharge after each order, without considering the actual remaining battery power. While this model can accomplish the dispatching task, the battery utilization efficiency is very low. Moreover, each battery swap adds time, which increases the overall delivery time, impacting delivery efficiency and the timeliness of the samples.
[0004] By establishing service points in various communities throughout the city, medical personnel collect samples for testing on-site and then transport them to various testing institutions. After collecting samples at each community service point, drones are used to deliver the samples from each community to the designated testing institutions sequentially. Furthermore, since the validity of samples gradually decreases over time, this paper considers the timeliness of the samples to ensure the quality of the delivered samples. This application introduces medical drone delivery considering sample timeliness in a battery swapping scenario. Each community service point has a corresponding unmanned station, where drones can collect samples for testing. By considering the capacity and energy consumption constraints of the drones, the system enables drones to collect samples for testing at multiple community service points. Based on sample delivery information, payload, and the drone's remaining battery power, the optimal battery swapping location for the drone is determined, thereby achieving simultaneous sample collection and battery swapping, improving efficiency. Under the constraint of sample timeliness, the overall testing efficiency and service quality are improved. This application models this problem as a mixed-integer linear programming model and designs a branch-pricing algorithm for solving it. The main problem is a set-covering model, and the subproblems are constrained basic shortest path problems. In solving the subproblems, a combination of exact and heuristic algorithms was employed. The designed labeling and heuristic algorithms were able to solve the problems effectively. Summary of the Invention
[0005] To address the aforementioned technical problems in the existing technology, the purpose of this invention is to provide a medical drone scheduling model and solution algorithm that takes into account the timeliness of samples.
[0006] The aforementioned medical drone scheduling model, which considers sample timeliness, includes the following steps in its establishment:
[0007] 3.1 Symbol Definition:
[0008] U: = {1,..,k} set of drone IDs;
[0009] H: = {1,..,h} is the set of initial positions of the UAV;
[0010] C: = {h+1,…,h+n} is the set of community service points, which is the set of points where the demand for the collection of the sample to be tested is generated;
[0011] D: = {h+n+1,…,h+2n} is the set of locations of the units submitting samples for testing;
[0012] E: = {h+2n+1} Virtual endpoint of the drone;
[0013] N: = the set of all nodes of {H∪C∪D∪E};
[0014] A: = {(i,j)|i∈N\{E},j∈N\M,i≠j} is the set of arcs between nodes;
[0015] G:=(N,A) set of directed graphs;
[0016] d i The payload requirements for drones to be inspected;
[0017] L i :Drone leaving node i with payload;
[0018] F: Weight of the drone;
[0019] L: Maximum payload of the drone (kg);
[0020] [e i ,l i [The time window for drone delivery of medical supplies is specified; the drone must complete the pickup and delivery of medical supplies within this time window. Among these, e] i ,l i These represent the earliest and latest service start times, respectively.
[0021] [η min ,η max ]: Sample timeliness; where η min ,η max These represent the shortest and longest effective times for the sample, respectively.
[0022] t ij : Flight time from node i to node j;
[0023] ρ: Drone's full battery level;
[0024] α: Energy consumption factor;
[0025] t bs Battery swapping time for drones;
[0026] The time it takes for drone k to arrive at node i;
[0027] The drone consumes power upon reaching node i;
[0028] The drone consumes power when it leaves node i;
[0029] δ: Sample timeliness factor;
[0030] γ: Energy consumption time factor
[0031] M: A very large positive integer (e.g., M is greater than or equal to 100,000);
[0032] 3.2 Variables:
[0033] If drone k flies from node i to node j, then otherwise
[0034] y i If the drone performs a battery swap at node i, then y i =1, otherwise y i =0;
[0035] 3.3 Model Objective Function:
[0036] The problem is defined in a directed graph G = (N, A), where N = {1, 2, ..., h + 2n} is the set of all nodes, and A = {(i, j) | i ∈ N\E, j ∈ N\H, i ≠ j} is the set of arcs between nodes. We define H = {1, ..., h} as the initial position of the UAV, and U = {1, ..., k} as the set of UAV numbers. We define C = {h + 1, ..., h + n} as the set of community service points, which are the points where the demand for sample collection arises. D = {h + n + 1, ..., h + 2m} is the set of sample delivery unit locations; each demand includes a sample collection location and a delivery unit location. We define E = k + 2n + 1 as the virtual endpoint of the UAV.
[0037] There is a sample delivery weight requirement for each service point. The load capacity at the point of demand generation is defined as follows: The requirements of the corresponding testing units are Requirements for setting the initial node of the drone. Every requirement has a time window requirement; let's define the time window for requirement i as... The drones must complete the pickup and delivery of medical supplies within a specified timeframe. Furthermore, each sample has its own specific time-sensitive requirements, defined as follows: For the timeliness of samples arriving at point i from drone k, each sample must meet the timeliness requirements. Let L be the maximum effective payload of the drone, and F be the weight of the drone's own frame. The payload of the drone when it leaves node i. The time it takes for drone k to reach node i (that is...) Let ρ represent the time when drone k starts serving node i, and the arrival time of each node must satisfy the time window constraint. Let ρ be the full charge level of the drone. Define η as the time unit factor, δ as the timeliness factor, and t as the time factor. ij Let t be the time it takes to fly from node i to node j. bs Battery swapping time for drones. Definition The power consumption of the drone when it reaches node i. The power consumption for the drone to leave node i. iLet ∈{0,1} be the decision variable for whether the drone should swap batteries at service point i. i When = 1, it indicates that the drone swapped its battery at service point i. otherwise definition As a decision variable, when The symbol represents that drone k has flown through arc (i,j); otherwise, it represents that drone k has not flown through arc (i,j). Based on the above symbol definitions, this section establishes a drone scheduling model considering energy consumption constraints in a battery swapping scenario. The specific model description is as follows:
[0038]
[0039] The objective function in this design model is to minimize the time it takes for the drone to complete all inspection orders.
[0040] 3.4 Determine the constraints:
[0041]
[0042]
[0043] Constraint expression (2) indicates that samples for any given requirement must be served by the same drone. Constraint expression (3) indicates that the drone must start from the starting position. Constraint expression (4) ensures that each sample collection and delivery is served by exactly one drone. Constraint expression (5) indicates the flow balance constraint for nodes. Constraint expression (6) indicates that each drone must eventually return to the virtual rendezvous point, i.e., return to the drone's virtual endpoint. Constraint expressions (7)-(8) indicate the timeliness constraint of samples after sample decay. Constraint expression (9) indicates the time order of visits before and after a node. Constraint expression (10) indicates the logical constraint of the effective payload of drones before and after a node. Constraint expression (11) indicates that for the same delivery requirement, the drone must first collect samples at the community service point before delivery. Constraint expression (12) indicates the power constraint of the node access order. Constraint expressions (13)-(16) indicate the logical constraint of the power after battery swapping. Constraint expression (17) indicates the time window constraint of drone access to nodes. Constraint expression (18) indicates the node payload upper limit constraint. Constraint expressions (19)-(20) represent variable type constraints.
[0044] 3.5 Branch Pricing Algorithm Design:
[0045] The mixed-integer linear programming models (1)-(20) designed above can be solved directly using the commercial solver CPLEX. However, CPLEX can only solve the sample delivery drone scheduling problem for small-scale community service points. When the number of community service points is medium to large, the solver CPLEX cannot obtain a feasible solution within a given time. Based on this, a branch-pricing algorithm is designed to solve the medium to large-scale medical drone scheduling problem. In the branch-pricing algorithm, the problem is first modeled as a set-covering model and a pricing subproblem. In the pricing subproblem, a combination of exact algorithm and heuristic algorithm is designed. In the process of solving the subproblem, the heuristic algorithm can effectively improve the solution speed, speed up the finding of paths with negative reduction costs, and then add them to the subject problem until no path with negative reduction costs can be found in the subproblem. In this step, the exact algorithm based on dynamic programming can guarantee that the subproblem is solved to the optimal value, but the solution speed of the exact algorithm is not fast. Heuristic algorithms offer fast solution speeds and facilitate the rapid discovery of paths with negative reduce costs, but they do not guarantee optimal solutions. Combining exact and heuristic algorithms not only improves solution speed but also ensures that subproblems are solved optimally.
[0046] The modeling process for the set coverage model is as follows:
[0047] 3.5.1 Symbol Definition:
[0048] Table 1. Symbols and meanings of set covering models
[0049]
[0050] 3.5.2 Set Covering Model:
[0051] The following set covering model is constructed: Since the solution set R corresponding to path r is very large, it cannot be solved directly. Adopting a column generation framework, the set covering model is first considered in a partial solution space, and then the solution space is gradually expanded by solving pricing subset problems. Based on this constraint, the solution set in the set covering model is restricted, resulting in a restricted master problem model. R' is defined as a subset of set Ω. Let the variable e in the restricted principal problem r Relaxation yields the following linear relaxation models for the restricted principal problem (21)-(24).
[0052] (RMLP)minC r e r (twenty one)
[0053]
[0054] definition For the dual variable of constraint (22), As the dual variable of constraint (23), it can be analyzed that the set covering model is superior to the set partitioning model.
[0055] 3.5.3 Pricing Issues:
[0056] In the pricing subproblem, it is necessary to find all paths where the reduce cost is negative. Then, this path is added to the restricted master problem, and the subproblem is updated using the dual variables obtained after solving the restricted master problem. This process is repeated until all paths with negative reduce costs are found. Solving the pricing subproblem is essentially solving an Elementary Shortest Path Problem with Resource Constraints (ESPPRC).
[0057] Based on the above definition, the reduce cost of path r in the subproblem can be constructed using the dual variable in RMLP. In solving the subproblem, the cost of the arcs in the subproblem is updated using the dual variable. The reduce cost of path r is defined as:
[0058]
[0059] in:
[0060]
[0061] Equation (25) is updated and rewritten as Equation (28) below:
[0062]
[0063] in
[0064] A ′ The set of arcs representing the nodes of a subproblem;
[0065] N ′ Represents the set of all nodes of a subproblem.
[0066] After constructing the pricing subproblem, an algorithm needs to be designed to solve it. This paper presents a model combining a labeling algorithm based on dynamic programming and two heuristic algorithms for the ESPPRC problem.
[0067] 3.6 Subproblem Labeling Algorithm:
[0068] In current understanding, ESPPRC is widely considered an NP-hard problem. This paper employs a combination of dynamic programming and heuristic algorithms to solve it. First, a labeling algorithm based on dynamic programming is designed. The solution framework can be represented as follows: starting from a source node, several labels are generated for each node along the path. During the expansion process, many different labels exist for the same node, requiring pruning using dominant rules to reduce the search space.
[0069] First, define tag L. The information in tag L mainly includes the current node position of the tag: p(L); t(L) is the time tag L arrived at its current position; w(L) is the cumulative load of tag L; b(L) is the current remaining power of tag L; c(L) is the cumulative cost of tag L; and s(L) is the sample timeliness of tag L. Furthermore, define O(L) as the set of nodes in tag L that have only completed pickup but not delivery; V(L) as the set of nodes that have completed service; and UR(L) as the nodes in tag L that cannot be expanded. The pseudocode for the tag algorithm is shown in Algorithm 1 below. The expansion and dominance rules of the tag algorithm will be explained in the following sections.
[0070] 3.6.1 Tag Expansion:
[0071] When label L extends backward to node j, label L can extend to node j if and only if the following condition is met:
[0072] t(L)+t p(L),j ≤l j (29)
[0073] w(L)+d j ≤L (30)
[0074] b(L)-ep p(L),j ≥0 (31)
[0075] s(L)-sc p(L),j ≥η min (32)
[0076] Where ep a(L),j This represents the power consumption from the current label position p(L) to node j, sc p(L),j t represents the timeliness of subsequent samples from the current label position p(L) to node j. p(L),j The meaning is the time from label p(L) to node j; Formula (29) indicates that the expansion needs to meet the time window constraint of the node; Formula (30) indicates that the load limit of the UAV is not allowed to be exceeded in the expansion; Formula (31) indicates that the power constraint needs to be met in the expansion; Formula (32) indicates that the sample timeliness constraint needs to be met in the expansion.
[0077] If extending from the current label L to node j is a feasible extension, then a new label L′ will be generated at node j. The information of label L′ is as follows:
[0078] p(L′)=j (42)
[0079] t(L′)=max{p j ,t(L)+t p(L),j} (43)
[0080] l(L′)=l(L)+d j (44)
[0081] c(L′)=c(L)+t p(L),j (45)
[0082] b(L′)=b(L)-ec p(L),j (46)
[0083]
[0084] Formulas (42)-(46) set the node location, time, load, cost and power of the new tag; formulas (47) and (48) are used to update the set O and V of tag L′.
[0085] 3.6.2 Tag Dominance Rule:
[0086] In solving the pricing subproblem using the labeling algorithm, each node generates a large number of labels. If these labels are not properly pruned, the difficulty of solving the subproblem increases. Based on the previously designed label information, each label carries its own resource information. At the same node, a label dominance rule is designed to reduce the number of labels. A reasonable label dominance rule can effectively reduce the difficulty of solving the subproblem, thereby improving the solution efficiency.
[0087] p(L)=p(L′) (49)
[0088] c(L)≤c(L′) (50)
[0089] t(L)≤t(L ′ (51)
[0090] b(L)≥b(L′) (52)
[0091] Formula (49) indicates that the current positions of tag L and tag L′ are the same; Formula (50) indicates that the cost of tag L is lower than that of tag L′; Formula (51) indicates that the cumulative time of tag L is shorter than that of tag L′; Formula (52) indicates that the remaining power of tag L is greater than that of tag L′.
[0092] Pseudocode for the tag algorithm:
[0093]
[0094] 3.7 Subproblem-based heuristic algorithm:
[0095] When solving the pricing subproblem, the labeling algorithm can guarantee an optimal solution, but it is slow. To improve the speed of solving the subproblem, a heuristic algorithm is designed. It is well known that while heuristic algorithms can improve speed, they cannot guarantee that all paths with negative reduce costs in the subproblem are found. Based on the advantages of both the labeling algorithm and the heuristic algorithm, this paper adopts a combined approach. In the initial stage of solving the subproblem, the heuristic algorithm is used first. As long as the heuristic algorithm finds a path with a negative reduce cost, that path is added to the restricted main problem. As the subproblem is solved, the heuristic algorithm begins to converge and can no longer quickly find columns with negative reduce costs. However, at this point, there may still be paths with negative reduce costs in the subproblem that the heuristic algorithm cannot find. At this point, the labeling algorithm begins to solve the subproblem, using the labeling algorithm to ensure that all paths with negative reduce costs are found.
[0096] When solving subproblems, a heuristic algorithm is first applied. Nodes are randomly selected from the path for removal, and then randomly reinserted. The removal and insertion factors are generated randomly, and the acceptance criterion uses the Metropolis standard. Given an initial solution `sol` and a search size `scal`, the initial optimal solution is initially set to `sol`. best =sol, defines the current solution sol cur =sol. Then start the algorithm iteration. Define cur sol This is a temporary solution, and then a random number is generated from the solution cur. sol Select scal nodes for removal. Insert the removed nodes into the path randomly. After insertion, compare the target obj(sol) heuristically with the subproblems. best ) and obj(cur sol If obj(sol) best obj(cur) sol ), then the current optimal solution sol best =cur sol Otherwise, the Metropolis standard is used to accept the current solution. Repeat the above steps until the algorithm meets the termination condition, then output the optimal solution sol.best The pseudocode for the heuristic algorithm is shown below.
[0097] Heuristic algorithm pseudocode:
[0098]
[0099] The branch-and-bound algorithm consists of a column generation algorithm and a branch-and-bound algorithm. After the column generation algorithm solves the problem, a linearly relaxed solution is obtained. This solution is the solution at the root node in the branch-and-bound algorithm, and is often not an integer solution. For an integer programming problem, branching is usually used to handle non-integer solutions. In the branching process, the non-integer solution is divided into two subproblems, and then the subproblems are solved again until an integer solution is obtained. In the branch-and-bound solution, each integer solution and each non-integer solution is an upper bound and a lower bound. Through continuous iteration of the algorithm, the integer solution obtained when the gap between the upper and lower bounds is 0 is the optimal solution. The solution process of the branch-and-bound algorithm is as follows: Figure 1 As shown, it mainly consists of column generation and branch delimitation. Attached Figure Description
[0100] Figure 1 Flowchart of the branch pricing algorithm;
[0101] Figure 2 This is a diagram illustrating the dispatching of medical drones. Detailed Implementation
[0102] To facilitate understanding by those skilled in the art, the present invention will be further described below with reference to examples and accompanying drawings. The content mentioned in the embodiments is not intended to limit the present invention.
[0103] An algorithm for optimizing drone delivery networks for urban on-demand delivery is proposed, and the modeling process is as follows:
[0104] 4.1 Symbol Definition:
[0105] U: = {1,..,k} set of drone IDs;
[0106] H: = {1,..,h} is the set of initial positions of the UAV;
[0107] C: = {(h+1,…,h+n}, which is the set of community service points that generate the demand for the collection of the sample to be tested;
[0108] D: = {h+n+1,…,h+2n} is the set of locations of the units submitting samples for testing;
[0109] E: = {(h+2n+1} Virtual endpoint of the drone;
[0110] N: = The set of all nodes of {H∪P∪D∪S};
[0111] A: = {(i,j)|i∈N\{E},j∈N\H,i≠j} is the set of arcs between nodes;
[0112] G:=(N,A) set of directed graphs;
[0113] d i The payload requirements for drones to be inspected;
[0114] L i :Drone leaving node i with payload;
[0115] F: Weight of the drone;
[0116] L: Maximum payload of the drone (kg);
[0117] [e i ,l i The time window for drone delivery of medical supplies is defined; the drone must complete the pickup and delivery of medical supplies within this time window.
[0118] e i ,l i These represent the earliest and latest service start times, respectively.
[0119] [η min ,η max ]: Sample timeliness; where η min ,η max These represent the shortest and longest effective times for the sample, respectively.
[0120] t ij : Flight time from node i to node j;
[0121] ρ: Drone's full battery level;
[0122] α: Energy consumption factor;
[0123] t bs Battery swapping time for drones;
[0124] The time it takes for drone k to arrive at node i;
[0125] The drone consumes power upon reaching node i;
[0126] The drone consumes power when it leaves node i;
[0127] δ: Sample timeliness factor;
[0128] γ: Energy consumption time factor
[0129] M: A very large positive integer (e.g., M is greater than or equal to 100,000);
[0130] 4.2 Variables:
[0131] If drone k flies from node i to node j, then otherwise
[0132] y i If the drone performs a battery swap at node i, then y i =1, otherwise y i =0;
[0133] 4.3 Model Objective Function:
[0134]
[0135] The objective function in this design model is to minimize the time it takes for the drone to complete all inspection orders.
[0136] 4.4 Constraints:
[0137]
[0138]
[0139] Constraint (2) means that samples for any demand must be serviced by the same drone;
[0140] Constraint (3) means that the drone must start from the initial position;
[0141] Constraint (4) ensures that each sample collection and delivery is handled by one and only one drone;
[0142] Constraint (5) represents the flow balance constraint for the node;
[0143] Constraint (6) means that each drone must eventually return to the virtual rendezvous point;
[0144] Constraints (7)-(8) represent the time-related constraints of the sample after its decay;
[0145] Constraint (9) indicates the temporal order of node visits;
[0146] Constraint (10) represents the effective payload constraint logic of the UAV before and after the node;
[0147] Constraint (11) means that for the same inspection request, the drone must first go to the community service point to collect the sample before it can be inspected; Constraint (12) means the power constraint of the node access order.
[0148] Constraints (13)-(16) represent the logical constraints on the amount of electricity after battery swapping;
[0149] Constraint (17) represents the time window constraint for UAV access to nodes;
[0150] Constraint (18) represents the upper limit constraint on the node load;
[0151] Constraints (19)-(20) represent variable type constraints.
[0152] 4.5 Set Covering Model:
[0153] Based on the symbol definition, the following set covering model is constructed:
[0154] (RMLP)min C r e r (twenty one)
[0155]
[0156] 4.5 Pricing Quantity Problem:
[0157]
[0158] 4.6 Tag Expansion:
[0159] t(L)+t p(L),j ≤l j (29)
[0160] w(L)+d j ≤L (30)
[0161] b(L)-ep p(L),j ≥0 (31)
[0162] s(L)-sc p(L),j ≥η min (32)
[0163] Implementation Case 1
[0164] This Example 1 serves as a computational case to verify the scientific validity and effectiveness of the above-mentioned algorithm for optimizing drone delivery networks for urban on-demand delivery:
[0165] as follows Figure 2As shown, community service point C1 needs to send samples to testing unit H1 for testing. At the same time, service point C5 also needs to send samples to testing unit H1 for testing. However, there is currently no drone available for delivery service at service point C5. Therefore, drone D1 departs from service point C1, travels to service point C5, and finally delivers the samples from both service points C1 and C5 to testing unit H1 for testing. Since the remaining battery power of drone D1 is sufficient for this service, drone D1 does not need to undergo battery swapping at service point C5. Similarly, service points C2 and C3 both need to send samples to testing unit H2 for testing. In this case, drone D2 departs from service point C2, but its battery power after arriving at service point C3 is insufficient to support drone D2's flight to testing unit H2. Therefore, drone D2 undergoes battery swapping at service point C3, and the accumulated battery swapping time does not affect the timeliness requirements of the samples. Service point C4 requires testing unit H2 to deliver a batch of medical testing supplies to it. Therefore, drone D3 departs from testing unit H2, carrying the medical supplies to service point C4, while meeting C4's time window requirements. During the medical drone scheduling process, the time window of the demand and the timeliness constraints of the samples must be considered. The drone's flight route and battery swapping will affect the completion time of the demand; therefore, battery swapping must be considered during route planning.
Claims
1. An algorithm for solving a medical drone scheduling model that considers sample timeliness, characterized in that, The model building process includes the following steps: 1) Define the state parameters and variables of the UAV. The parameter symbols are defined as follows: U: = {1,..,k} set of drone IDs; H: = {1,..,h} is the set of initial positions of the UAV; C: = {h+1,…,h+n} is the set of community service points, which is the set of points where the demand for the collection of the sample to be tested is generated; D: = {h+n+1,…,h+2n} is the set of locations of the units submitting samples for testing; E: = {h+2n+1} Virtual endpoint of the drone; N: = the set of all nodes of {H∪C∪D∪E}; A: = {(i,j)|i∈N\{E},j∈N\H,i≠j} is the set of arcs between nodes; G:=(N,A) set of directed graphs; d i The payload requirements for drones to be inspected; L i :Drone leaving node i with payload; F: Weight of the drone; L: Maximum payload of the drone, in kg; [e i ,l i The time window for drone delivery of medical supplies is defined; the drone must complete the pickup and delivery of medical supplies within this time window. e i ,l i These represent the earliest and latest service start times, respectively. [η min ,η max ]: Sample timeliness; where η min ,η max These represent the shortest and longest effective times for the sample, respectively. t ij : Flight time from node i to node j; ρ: Drone's full battery level; α: Energy consumption factor; t bs Battery swapping time for drones; The time it takes for drone k to arrive at node i; The drone consumes power upon reaching node i; The drone consumes power when it leaves node i; δ: Sample timeliness factor; β i k The timeliness of the sample arriving at point i by UAV k; γ: Energy consumption time factor; M: A very large positive integer; If drone k flies from node i to node j, then otherwise y i If the drone performs a battery swap at node i, then y i =1, otherwise y i =0; 2) Determine the objective function of the model: The objective function of the model is to minimize the time it takes for the drone to complete all inspection orders, and the calculation method is shown in formula (1): 3) Determine the constraints, including the following constraint process. ① The constraint is that any sample submitted for testing must be served by the same drone. That is, each testing request has its own pick-up point and delivery point, and these two locations must be served by one drone. ② The drone must depart from its starting position; ③ Each sample to be tested must be collected and delivered by only one drone. ④ Constrain the flow balance of nodes; ⑤ Each drone must eventually return to its virtual endpoint; ⑥ Since the effectiveness of the test sample will gradually decrease over time, the timeliness of the sample after decay is constrained. ⑦ Constrain the time order of accessing nodes, that is, the earliest service time of the later node must be greater than or equal to the service time of the earlier node plus the flight time of the drone. ⑧ Establish the effective payload constraint logic for the UAV before and after the node; ⑨ Drones with the same testing requirement must first collect samples from a community service point before they can be submitted for testing; ⑩ Constrain the power consumption of the node access order; Establish logical constraints on the battery power of the drone after battery swapping; Establish time window constraints for drone access nodes; Establish a maximum load limit constraint for nodes; The solution algorithm includes the following process: A branch-pricing algorithm was designed to solve the medium-to-large-scale medical drone scheduling problem. In the branch-pricing algorithm, the medical drone scheduling model is first re-optimized and modeled into a set-covering model and a pricing subproblem. In the pricing subproblem, a combination of exact and heuristic algorithms is designed for solution. 1) The modeling process for the set coverage model is as follows: First, define the symbols and meanings for the set coverage model. R: The set of all feasible paths; C r The cost of path r; n ir The number of times node i is visited by path r; A variable representing 0 or 1, which is 1 if path r visits arc (i,j), and 0 otherwise; e r : A variable representing 0 or 1, which is 1 if path r is selected, and 0 otherwise; Second, establish a set covering model: Since the solution set R corresponding to path r is very large, it cannot be solved directly. A column-based generation framework is adopted, first considering the set-covering model in a partial solution space, and then gradually expanding the solution space by solving pricing subproblems. Based on this constraint, the solution set in the set-covering model is restricted, resulting in a restricted master problem model. R′ is defined as a subset of set R. Let the variable e in the restricted principal problem r Relaxing the problem, we obtain the following linear relaxation model formulas for the restricted principal problem: (21)-(24) (RMLP)minC r and r (21) definition For the dual variable of constraint (22), As the dual variable of constraint (23), it can be analyzed that the set covering model is superior to the set partitioning model; Third, the issue of pricing: In the pricing subproblem, it is necessary to find all paths where the reduce cost is negative. Then, the path is added to the restricted master problem, and the subproblem is updated by solving the dual variable obtained after solving the restricted master problem; the solution is repeated until all paths with negative reduce costs are found; solving the pricing subproblem is actually solving a basic shortest path problem with resource constraints. Based on the above definition, the reduce cost of path r in the subproblem can be constructed using the dual variable in RMLP; in solving the subproblem, the cost of the arc in the subproblem is updated using the dual variable; the reduce cost of path r is defined as: in: Equation (25) is updated and rewritten as Equation (28) below: in A′ represents the set of arcs between nodes of a subproblem; N′ represents the set of all nodes of the subproblem; 2) A method combining dynamic programming-based labeling algorithms and heuristic algorithms is used to solve the pricing sub-problem.
2. The solution algorithm for a medical drone scheduling model considering sample timeliness as described in claim 1, characterized in that, In step 3), the basic constraints on the UAV's movement path are shown in formulas (2)-(6): Expression (2) indicates that samples for any demand must be serviced by the same drone; Expression (3) indicates that the drone must start from the initial position; Expression (4) ensures that each sample collection and delivery is handled by one and only one drone; Expression (5) represents the flow balance constraint for the node; Expression (6) indicates that each drone must eventually return to the virtual rendezvous point, that is, return to the drone's virtual endpoint.
3. The algorithm for solving a medical drone scheduling model considering sample timeliness as described in claim 1, characterized in that, In step 3), the basic constraints on the timeliness of the sample are shown in formulas (7)-(8): Expressions (7)-(8) represent the time constraints of the sample after sample decay.
4. The algorithm for solving a medical drone scheduling model considering sample timeliness as described in claim 1, characterized in that, In step 3), the basic constraints on the time sequence, payload, and battery power of the UAV accessing the node are shown in formulas (9)-(18), and the constraints on the types of variables involved are shown in formulas (19)-(20): Expression (9) represents the temporal order of node visits. This indicates the time when drone k starts serving node i; Expression (10) represents the effective payload constraint logic of the UAV before and after the node; Expression (11) means that for the same testing request, the drone must first collect samples at the community service point before it can be submitted for testing; Expression (12) represents the power constraint of the node access order; Expressions (13)-(16) represent the logical constraints on the power consumption after battery swapping; Expression (17) represents the time window constraint for UAV access to nodes; Expression (18) represents the node load limit constraint; Expressions (19)-(20) represent variable type constraints.
5. The solution algorithm for a medical drone scheduling model considering sample timeliness as described in claim 1, characterized in that, The labeling algorithm for the subproblem is as follows: Design a labeling algorithm based on dynamic programming. The solution framework algorithm can be represented as follows: starting from a source node, each node along the way will generate several labels. During the expansion process, there are many different labels on the same node, which need to be pruned using the dominant rule to reduce the search space; First, we define tag L. The information of tag L mainly includes the current node position of the tag: p(L); t(L) is the time when tag L arrived at the current position; w(L) is the cumulative load of tag L; b(L) is the current remaining power of tag L; c(L) is the cumulative consumption cost of tag L; s(L) is the sample timeliness of tag L; in addition, we define O(L) as the set of nodes in tag L that have only completed pickup but not delivery; V(L) is the set of nodes that have completed service; UR(L) is the node that tag L cannot expand. 1) Tag expansion: When label L extends backward to node j, label L can extend to node j if and only if the following condition is met: t(L)+t p(L),j ≤l j (29) w(L)+d j ≤L (30) b(L)-ep p(L),j ≥0 (31) s(L)-sc p(L),j ≥η min (32) Where ep a(L),j This represents the power consumption from the current label position p(L) to node j, sc p(L),j t represents the timeliness of subsequent samples from the current label position p(L) to node j. p(L),j The meaning is the time from label p(L) to node j; Formula (29) indicates that the expansion needs to meet the time window constraint of the node; Formula (30) indicates that the load limit of the UAV is not allowed to be exceeded during the expansion; Formula (31) indicates that the power constraint needs to be met during the expansion; Formula (32) indicates that the sample timeliness constraint needs to be met during the expansion. If extending from the current label L to node j is a feasible extension, then a new label L′ will be generated at node j. The information of label L′ is as follows: p(L′)=j (42) t(L′)=max{p j ,t(L)+t p(L),j } (43) l(L′)=l(L)+d j (44) c(L′)=c(L)+t p(L),j (45) b(L′)=b(L)-ec p(L),j (46) Formulas (42)-(46) set the node location, time, load, cost, and power of the new tag; Formulas (47) and (48) are used to update the set O and V of tag L′; 2) Tag dominance rule: In the process of solving the pricing subproblem using the label setting algorithm, a large number of labels are generated at each node. If the labels on the nodes are not properly pruned, the difficulty of solving the subproblem will increase. According to the label information designed earlier, each label carries its own resource information. At the same node, label reduction is carried out by designing label dominance rules; reasonable label dominance rules can effectively reduce the difficulty of solving subproblems, thereby improving the solution efficiency. p(L)=p(L′) (49) c(L)≤c(L′) (50) t(L)≤t(L′) (51) b(L)≥b(L′) (52) Formula (49) indicates that the current positions of tag L and tag L′ are the same; Formula (50) indicates that the cost of tag L is lower than that of tag L′; Formula (51) indicates that the cumulative time of tag L is shorter than that of tag L′; Formula (52) indicates that the remaining power of tag L is greater than that of tag L′.
6. The solution algorithm for a medical drone scheduling model considering sample timeliness as described in claim 5, characterized in that, The heuristic algorithm for the subproblem is as follows: When solving the pricing subproblem, the labeling algorithm can guarantee an optimal solution, but it is slow. To improve the speed of solving subproblems, a heuristic algorithm is designed. While the heuristic algorithm can improve the speed, it cannot guarantee that all paths with negative reduce costs in the subproblems will be found. Based on the advantages of both the labeling and heuristic algorithms, a combined approach is adopted. In the initial stage of the solution, the heuristic algorithm is used first. As long as the heuristic algorithm finds a path with a negative reduce cost, the found path is added to the restricted main problem. As more subproblems are solved, the heuristic algorithm begins to converge and can no longer quickly find columns with negative reduce costs. At this point, there may still be paths with negative reduce costs in the subproblems, but the heuristic algorithm can no longer find them. At this point, the labeling algorithm begins to solve the subproblems, using the labeling algorithm to ensure that all paths with negative reduce costs are found. When solving subproblems, a heuristic algorithm is first applied; nodes are randomly selected from the path for removal, and then randomly reinserted; removal and insertion factors are generated randomly, and the acceptance criterion adopts the Metropolis standard; given an initial solution sol and a search size scal, the initial optimal solution is first set to the initial solution sol. best =sol, defines the current solution sol cur =sol; then start the algorithm iteration; define cur sol This is a temporary solution, and then a random number is generated from the solution cur. sol Select scal nodes for removal; randomly insert the removed nodes into the path, and after insertion, compare the target obj(sol) heuristically with the subproblems. best ) and obj(cur sol If obj(sol) best obj(cur) sol ), then the current optimal solution sol best =cur sol Otherwise, the Metropolis standard is used to accept the current solution; repeat the above steps until the algorithm meets the termination condition, and then output the optimal solution sol. best ; The heuristic algorithm's operation process is as follows: Input: Initial feasible solution: sol; Search size: scal; 1) Initialize the optimal solution and the current solution: sol best =sol,cur sol =sol; 2) While loop, the algorithm termination condition is not met: 3) Set the current solution cur sol Copy: cur′ sol =cur sol ; 4) Solution cur′ sol Perform the removal operation; 5) Solution to cur′ sol Perform the insertion operation; 6) If the subproblem heuristically targets obj(sol) best obj(cur′) sol If so, then update the current optimal solution: sol best =cur′ sol ; 7) If step 6) is not satisfied, then the Metropolis standard is used to receive the current solution cur′. sol ; Output: Optimal solution sol best The branch-and-bound algorithm consists of a column generation algorithm and a branch-and-bound algorithm. After the column generation algorithm solves the problem, a linearly relaxed solution is obtained. This solution is the solution at the root node in the branch-and-bound algorithm, and it is often not an integer solution. For an integer programming problem, when a non-integer solution is obtained, branching is usually used. In the branching process, the non-integer solution is divided into two subproblems, and then the subproblems are solved again until an integer solution is obtained. In the branch-and-bound solution, each integer solution and non-integer solution is an upper bound and a lower bound. Through continuous iteration of the algorithm, the integer solution obtained when the gap between the upper and lower bounds is 0 is the optimal solution.
Citation Information
Patent Citations
Distribution route optimization method based on vehicle and unmanned aerial vehicle cooperation
CN114462693A
Solving algorithm of unmanned aerial vehicle distribution network optimization for urban instant distribution
CN114511272A