Next Article in Journal
Vehicle Logo Detection Method Based on Improved YOLOv4
Previous Article in Journal
A Monocular Visual Localization Algorithm for Large-Scale Indoor Environments through Matching a Prior Semantic Map
Previous Article in Special Issue
Simulations of the Comparative Study of the Single-Phase Shift and the Dual-Phase Shift-Controlled Triple Active Bridge Converter
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Greedy Heuristic Based on Optimizing Battery Consumption and Routing Distance for Transporting Blood Using Unmanned Aerial Vehicles

College of Computer and Information Sciences, King Saud University, Riyadh 11543, Saudi Arabia
*
Author to whom correspondence should be addressed.
Electronics 2022, 11(20), 3399; https://doi.org/10.3390/electronics11203399
Submission received: 14 September 2022 / Revised: 16 October 2022 / Accepted: 18 October 2022 / Published: 20 October 2022
(This article belongs to the Special Issue Electronic Solutions for Artificial Intelligence Healthcare Volume II)

Abstract

:
Unmanned Aerial Vehicles (UAVs) play crucial roles in numerous applications, such as healthcare services. For example, UAVs can help in disaster relief and rescue missions, such as by delivering blood samples and medical supplies. In this work, we studied a problem related to the routing of UAVs in a healthcare approach known as the UAV-based Capacitated Vehicle Routing Problem (UCVRP). This is classified as an NP-hard problem. The problem deals with utilizing UAVs to deliver blood to patients in emergency situations while minimizing the number of UAVs and the total routing distance. The UCVRP is a variant of the well-known capacitated vehicle routing problem, with additional constraints that fit the shipment type and the characteristics of the UAV. To solve this problem, we developed a heuristic known as the Greedy Battery—Distance Optimizing Heuristic (GBDOH). The idea was to assign patients to a UAV in such a way as to minimize the battery consumption and the number of UAVs. Then, we rearranged the patients of each UAV in order to minimize the total routing distance. We performed extensive experiments on the proposed GBDOH using instances tested by other methods in the literature. The results reveal that GBDOH demonstrates a more efficient performance with lower computational complexity and provides a better objective value by approximately 27% compared to the best methods used in the literature.

1. Introduction

Natural disasters—such as earthquakes, volcanoes, avalanches, tornadoes, forest fires, and floods—rank among the greatest threats to humanity and the environment. They have a tragic impact on lives, where they leave behind critical injuries and change and affect the terrain. Patients in emergency or post-disaster situations often encounter difficulties obtaining medical help and supplies (especially blood) in a timely manner. Sending blood supplies to injured patients in inaccessible locations can prove indispensable in saving human lives. The greatest challenge in sending blood to patients is the difficulty or impossibility (in most cases) of using land transportation due to post-disaster environmental conditions and transportation infrastructures (e.g., roads might become obstructed, and bridges might be cracked [1]). Moreover, the blood temperature may change during transportation.
To transcend these challenges, it is crucial to design and implement an efficient algorithm to assist patients in emergency or post-disaster situations using transport that is not hampered by transportation infrastructure and is not much more expensive than land transportation. This aim can be accomplished by utilizing Unmanned Aerial Vehicles (UAVs). UAVs have proven suitable in various applications when used in harsh conditions, such as agriculture, transport, aerial photography, and data collection [2]. In addition, UAVs have been utilized in healthcare applications (Figure 1). For example, UAVs were used to deliver medicines and temperature-sensitive COVID-19 vaccines in Malawi [3], Zipline UAVs were used to transport vaccines and blood [4], UAVs were used to track malaria outbreaks in Africa [5], and Shenzhen Smart UAVs were used to spray chemical substances to reduce the prevalence of COVID-19 in China [6].
However, healthcare applications require distinct considerations related to their circumstances and how to maximize their services. For example, blood should be delivered to patients quickly while guaranteeing the blood’s viability [8]. In such instances, the compliance of healthcare applications with these considerations proves critical [8,9].
In light of the above points, this study investigates problems in emergency situations that healthcare workers may face—namely, the delivery of viable blood to patients using the smallest number of UAVs and the shortest routing distance [10]. In the literature, this problem is known as the UAV-based Capacitated Vehicle Routing Problem (UCVRP) [10], which is concerned with finding the optimal or a near-optimal solution for the UAV-based Capacitated Vehicle Routing Problem for delivering blood to patients in emergency situations. The UCVRP is a variant of the well-known Capacitated Vehicle Routing Problem (CVRP). The CVRP is a typical NP-hard combinatorial optimization problem [11]. Typically, NP-hard problems are solved by heuristic or metaheuristic algorithms [12,13,14], which can obtain optimal or near-optimal solutions in a fast time with a low computational cost compared to exact methods. In addition, large problem sizes cannot be solved to optimality using exact methods. Thus, since the problem size of the UCVRP is large and the optimal solution is not known, the most common approach in the literature is to use approximate methods (i.e., heuristics and metaheuristics) and compare the new obtained solutions with the best known solutions [11].
This paper contributes a novel heuristic that solves the UCVRP, referred to as the Greedy Battery—Distance Optimizing Heuristic (GBDOH). The innovative aspects of the GBDOH are as follows: (1) dealing with the problem as a single-objective problem to simplify the solution approach, (2) considering the lowest battery consumption as a factor in assigning patients to UAVs in order to minimize the number of UAVs used, and (3) reordering the patients of each UAV (considering the amount of water needed to keep the blood viable) in order to minimize the total routing distance.
Being an approximate method, the GBDOH does not guarantee the optimal solution, but it strives to provide a tradeoff between the quality of the current best solution and the computational time. When compared with the MOEA/D-N-UVRP (multi-objective evolutionary algorithm based on decomposition using a local search with random nearest neighbors to solve unmanned vehicle routing problems) method used in [10] to deliver valid blood samples to patients from a single depot, the GBDOH could solve the UCVRP with fewer UAVs within a short travel distance. In fact, when comparing greedy heuristics with iterative algorithms, complexity is typically lower for the former [11].
In summary, the principal idea of the GBDOH is to first assign patients to UAVs based on the lowest battery consumption while considering the UAV’s capacity constraint, in order to serve as many patients as possible with a single UAV. This approach, in turn, minimizes the number of UAVs used. After that, we can rearrange the patients of each UAV to minimize the fleet’s total routing distance.
The rest of this paper is organized as follows: Section 2 reviews related works on the UCVRP, Section 3 defines the problem formulation, Section 4 presents the proposed heuristic, Section 5 presents the computational experimentation and discusses the results, and Section 6 concludes with potential future research directions.

2. Literature Review

In this section, we investigate and discuss the literature that has attempted to solve the capacitated vehicle routing problem using UAVs. Few papers have worked on the CVRP and its variants using UAVs [14]. In reality, the CVRP using UAVs has crucial applications—especially for healthcare, in post-disaster scenarios, or when attempting to reach difficult-to-reach regions. However, many factors require consideration, including the UAV’s capacity, battery life, flying range, and other variables [15]. Minimizing the number of UAVs used and the total routing distance reduces operational costs and enhances the use of resources. Moreover, the short routing distance from the healthcare provider (depot) to patients proves crucial in responding swiftly to medical emergencies. In this section, we review recent studies that have attempted to solve problems related to the CVRP using UAVs and their variants in the delivery domain.
The UAV-based Capacitated Vehicle Routing Problem (UCVRP) was introduced by Wen et al. [10] and is the problem that we study in this paper. In this work, the authors addressed the Capacitated Vehicle Routing Problem of delivering blood to patients using UAVs. They implemented a multi-objective evolutionary algorithm based on decomposition using a local search with a random nearest neighbor to solve the unmanned vehicle routing problem (MOEA/D-N-UVRP). The aim was to minimize the routing distance between the depot and patients, as well as the number of UAVs used. The authors applied a multi-objective evolutionary algorithm with a local search method on a CVRP public benchmark dataset. What distinguishes this paper is that the authors studied blood temperature and considered appending heating or cooling objects to keep the blood suitable for use. However, dealing with the problem as a multi-objective optimization problem can cause difficulties as compared to splitting the objectives and dealing with each separately. In addition, evolutionary algorithms and local search need time to provide viable results, which does not prove suitable for emergency situations in healthcare, where the response time to patients constitutes a critical factor.
Wikarek et al. [16] used a binary integer linear programming model for solving the CVRP using drones. The model tries to minimize the distance between customers and the depot, which is a truck that moves. Kitjacharoenchaia et al. [17] solved the CVRP using trucks and drones with mixed integer programming. This approach sought to minimize the total traveling time. Both [16,17] used exact methods that limit the size of the instances tackled.
Other works addressed problems related to the CVRP using UAVs with different objectives, or did not rely on UAVs alone, i.e., they used a combination of trucks and drones. In [18], Ozkan studied the transfer of blood products from distribution centers (i.e., multiple depots) to hospitals in cities using UAVs. The problem involved two objectives: minimizing the number of UAVs, and minimizing the total traveling distances under the UAVs’ constraints. Ozkan attempted to solve this problem by implementing a Multi-Objective Integer Programming (MOIP) model and three multi-objective metaheuristics: the first relied on simulated annealing, the second relied on local search, and the last depended on genetic algorithms. The metaheuristic methods obtained better results than MOIP because of the nature of the dataset. In [8], the study dealt with optimal path planning for emergency medical deliveries using UAVs and vehicles with a single depot, using four distinct metaheuristic algorithms. However, in both [8,18], the metaheuristic methods required a long time to obtain suitable results since they tested numerous neighborhood moves, increasing the response time and proving inappropriate for emergency situations. Dorling et al. [19] investigated vehicle routing problems using UAVs; they considered the UAVs’ limited capacity and the effect of the weight of the drone on battery consumption. They found that if two UAVs with different weights travel the same distance, the heavier drone consumes more battery than the lighter one. Jiang et al. [20] studied vehicle routing problems with time windows for UAV task assignment considering a limited payload. They compared the proposed method (i.e., an improved particle swarm optimization algorithm) with a genetic algorithm and found that the proposed method proved suitable to solve the UAV task assignment problem. Chase and Ritwik [21] designed a new model for the multiple flying sidekicks traveling salesman problem, which was intended to minimize the time needed to deliver all parcels by drone and return to the depot. In [22], Wusheng Liu et al. proposed a delivery method to minimize the total delivery distance in mountain cities using a truck with UAVs. In [23], Mustapha Ouiss et al. attempted to solve the routing problem using drones to deliver medicine from multiple depots. The goal was to find optimal drone routes using genetic algorithms. Minh Nguyen et al. [24] invented a new optimization problem known as the min-cost Parallel Drone Scheduling Vehicle Routing Problem (PDSVRP) that attempted to minimize the package transporting costs using multiple trucks and drones, i.e., total traveling costs. Xinwei Chen et al. [25] built a deep Q-learning model to deliver packages to customers using drones and trucks. They assigned a customer to a truck and a drone to an order, aiming to maximize the number of served customers. Khin Thida San et al. [26] attempted to solve a drone routing problem in which the drones had different specifications and the flight served one location; the objective was to minimize the total time required.
UAV routing has become a burgeoning field of study. However, the healthcare domain—in comparison to other applications, such as parcel delivery—has received insufficient attention. Thus, the literature features few studies of using UAVs in healthcare, despite their importance in preserving human lives and easing the strain on healthcare facilities and individual patients. With the ongoing COVID-19 pandemic, the scarcity of studies in this field has become even more apparent, because UAV applications have made it simpler to supply services to remote and difficult-to-reach places while also being cheaper, safer, and faster than traditional methods of transportation. Another key finding of this review is that exact approaches lack suitability for solving huge datasets of the UCVRP and its variants. Since the UCVRP is an NP-hard problem [10,11], exact methods require extensive processing time to generate solutions. Therefore, existing research tends to use heuristics and metaheuristics to find near-optimal solutions (in terms of quality) with a reasonable processing time for real-world and healthcare emergency applications with enormous datasets.

3. Problem Formulation

The UCVRP is a problem for delivering blood to patients using UAVs from a single depot. It is a variant of the famous CVRP using UAVs rather than vehicles, with additional constraints related to the properties of the UAV and the blood shipment. The problem deals with serving patients’ demand for blood within a suitable temperature range using UAVs with limited, fixed, and identical capacities. The objective is to minimize the total distance traveled and the number of UAVs used. The blood is carried to the patients with an appendage to keep it from expiration. The appendage consists of water, which could be ice-cold or hot, depending on the destination environment [10]. The two crucial factors that decide the required weight of water to keep the blood viable for use are the demand for blood and the distance to the destination. These additional descriptions require thorough computation, making the UCVRP more complex than the classical CVRP.
This work seeks to implement a solution to enhance the results described by Wen et al. [10] to facilitate the delivery of blood to patients in emergency situations. The UCVRP is concerned with the optimal or near-optimal assignment of patients to UAVs while minimizing the number of UAVs used and the total routing distance.
Figure 2 provides an example of the locations of the central depot and the patients in need of service. Table 1 shows the UCVRP’s formulation in detail.
Formally, the UCVRP is an NP-hard combinatorial optimization problem. The solutions in combinatorial optimization problems are encoded with discrete variables. The UCVRP was formulated by Wen et al. [10] as a graph G = ( V , E , where V = { v 1 ,   v 2 , …,   v n } is a set of vertices; v 0 represents the depot (i.e., blood warehouse), which is a starting and ending point for each UAV; v 1 ,   v 2 ,…,   v n are the locations of patients; and E is a set of edges between vertices ( e i j is the traveling distance between   v i and   v j ). Each patient i has a blood demand   d i . U is a set of UAVs. Each UAV has a restricted load capacity q . UAVs with a limited capacity are responsible for transporting blood to patients. The blood temperature must remain in the range of 2–10 °C during transportation (i.e., according to the weather and environment, hot water or ice must be stored with the blood bags to keep the blood temperature within the prescribed range). The total demand weight of patient i ,   t i , is the total weight of the required blood with the amount of water needed to keep the blood viable, as calculated by Equation (11):
t i = d i + w i
There are two decision variables of the Boolean type: x i j k (1) and y i k (2). The objectives are to minimize the total traveling distance of UAVs Z (3), and the number of UAVs used m (4). Constraint (5) ensures that in each individual route, the total patient demands must be less than or equal to the UAV’s capacity q . Constraint (6) guarantees that the total number of UAVs used should not exceed m . Constraint (7) ensures that each patient is served by only one UAV. Constraint (8) ensures that each patient must be served only once. Constraint (9) ensures that there is only a single depot for all UAVs. Constraint (10) guarantees that all patients should be served. Together, Constraints (7)–(10), guarantee that each UAV launches from and returns to the depot, i.e., each route forms a loop.
Equation (12) calculates b i j , i.e., the battery needed by patient j [28], where a UAV travels to v j with a load t j :
b i j = μ t + μ b + t j θ s   η × e i j

4. Solution Method

This paper proposes a novel heuristic known as the GBDOH to solve the UCVRP. The objective of the UCVRP is to minimize the total routes (i.e., the number of UAVs) and the total distance. The GBDOH satisfies all of the constraints in Table 1. At the outset, the idea of the heuristic contains two main processes described in Algorithms 1 and 2. Algorithm 1 (i.e., find the initial solution) is used for selecting suitable patient demand weights (blood and water) that do not exceed the UAV’s capacity, while minimizing the number of operated UAVs. Algorithm 2 (i.e., improve the initial solution) enhances (i.e., minimizes) the total distance of the initial solution. Figure 3 shows a high-level flowchart of the GBDOH followed by an explanation for each algorithm.

4.1. Find Initial Solution

The idea is to build routes (i.e., assign patients to UAVs) according to the lowest battery consumption to operate as few UAVs as possible, i.e., if i is a current patient, we choose the next patient j with the lowest battery consumption ( b i j ) from   i .
First, the input is an instance file containing the number of patients, UAV capacity, depot and patient locations, and blood demand weight of each patient. Then, operate a new UAV u and sort unserved patients p P , where P V , in ascending order according to the battery power needed to reach each of them from the depot by   u , i.e., b v 0 p , p P , as shown in Equation (12), where the distance and the demand (blood and water) are variables. From the list of unserved patients, select patient p m with the minimum b v 0 p m , assign it to u and mark it as served, then make it as current patient p c . Then, sort unserved patients p P in ascending order according to b p c p , considering the mass of water needed to keep the blood usable according to the cumulative distance starting from the depot, i.e., from the depot to patient p P via all the assigned patients to this UAV and preceding p . After that, choose patient pm from the available and unserved patients with the lowest b p c p m . Then, we check the available capacity of u to see if it is possible to combine the blood demand of p m with the water needed for preservation before assigning p m to the current UAV ( u ) and marking them as current patient p c ; otherwise, mark p m as unavailable to add to this UAV, and perform the process again to choose another p m as mentioned above; this process is repeated until finishing all available patients. If all patients are served or the current UAV u is not available to add more patients, operate a new UAV u and repeat the processes above. Otherwise, the process ends.
Algorithm 1. Find initial solution
1P ← List of all potential patients ⊂ V
2U ← Set of the available UAVs
3Total_distance ← 0
4Initial_solution ← { }
5dist ← List of distances from depot to each patient p, distE
6Calculate b v 0   p = ( d p + w d i s t [ p ] ) d i s t [ p ]     p P \\The battery consumed from depot for all patients
7\\Build the solution: the routes (trips for the needed UAVs) and the total distance
8p ← 0
9Repeat
10   Select (new uU)
11   pm←Min(available P)\\according to minimum b v 0 p     p P (the minimum battery consumed from depot)
12   rd d i s t [ p m ] \\rd is the route distance of the current UAV u
13   Assign_to_UAV (u, pm)
14   MarkAsServed(pm, P)
15   Increment p
16   pcpm \\current patient
17   \\Add other patients to the route (UAV)
18   end_route = False
19   While (end_route = = False)
20      cumulative_dist ←List of distances from pc to p +rdpavailable P
21      \\The battery consumed from pc to all available patients
22      Calculate b p c p = (dp + wcumulative_dist[p]) ∗ cumulative_dist [p] ∀ pavailableP
23      found = False
24      pm← −1
25      \\Find next candidate patient
26      While (found = = False AND p < size of P)
27          pm← Min( b p c p ) \\pavailable P
28          IF pm ≠ −1 Then \\route does not end
29           IF capacity of the UAV u is available to add pm Then
30             Assign_ to_UAV(u, pm)
31             MarkAsServed(pm, P)
32             rdcumulative_dist [pm]
33              p c pm \\ current patient
34             Increment p
35             Found ← True
36           Else
37             MarkAsUnavailable(pm, u)
38          Else
39           end_route ← True
40           break
41      IF p = = size of P Then \\ if all patients are sarved
42         end_route ← True
43   Total_distance ← Total_distance + rd
44   Initial_solution ← Initial_solutionu
45Until U times OR all patients in P are served
46Output: Initial_solution, Total_distance

4.2. Improve the Initial Solution

The idea here is to rearrange each route (the patients assigned to UAVs, i.e., the output of Algorithm 1) of the initial solution according to the shortest distance from the depot in order to minimize the total consumed distance.
First, traverse the UAVs (routes) of the i n i t i a l _ s o l u t i o n one by one until completion, and carry out the subsequent steps for each round. Then, create a new temporary UAV, t e m p U A V , to keep the patients of the current UAV after sorting them based on distance. After that, sort the assigned patients of the current UAV, u , in ascending order according to the distance, d i s t , from the depot. Then, select patient   c with the lowest flight distance e v 0 c , add them to t e m p U A V as the first patient, and mark them as an arranged patient and p c . If the unarranged list of patients in the current UAV, u , is not empty, select patient c with the smallest distance from the last arranged patient   p c , i.e., e p c .   c . Then, check the availability of the t e m p U A V capacity; if it is available to add the blood demand of c along with the mass of water required to keep the blood usable, according to the cumulative distance starting from the depot to the patient   c , then add c to t e m p U A V , mark them as an arranged patient and as p c , and select another patient c ; otherwise, remove c from u , add them to the unserved list ( u n c o v e r d ) , save u ’s ID, and select another patient c . If the total distance of t e m p U A V is less than the total distance of the current UAV, u , add t e m p U A V to the i m p r o v e d S o l u t i o n ; otherwise, discard t e m p U A V and add the current UAV, u , to the i m p r o v e d S o l u t i o n (i.e., keep the current route as it was in the initial solution).
Go to the next UAV from the i n i t i a l _ s o l u t i o n and repeat the above processes again until all UAVs are traversed.
Traverse the unserved patients p u   ϵ   u n c o v e r e d one by one until completion and do the following. Find a UAV f i t U A V from the i m p r o v e d S o l u t i o n whose capacity is available to add the current unserved patient p u   ϵ   u n c o v e r e d , and the total route distance of f i t U A V (after adding   p u ) will be the shortest compared with the other available UAVs of the i m p r o v e d S o l u t i o n . If there is no UAV available to add p u , or if the total distance of the i m p r o v e d S o l u t i o n after adding p u to f i t U A V will be greater than the total distance of the i n i t i a l _ s o l u t i o n , then change the route in the i m p r o v e d S o l u t i o n of the UAV, o r i g i n a l _ U A V (to which the patient was assigned in the   i n i t i a l _ s o l u t i o n ), to be as it was in the i n i t i a l _ s o l u t i o n , and clear all unserved patients in u n c o v e r e d that came from the same UAV. Additionally, retrieve all other routes that took patients from o r i g i n a l _ U A V as they were in the i n i t i a l _ s o l u t i o n . Otherwise, assign u p to f i t U A V .
Algorithm 2. Improve the initial solution
1Input: Initial_solution, Total_distance
2improvedSolution ← { }
3changed_routes_IDs ← { }
4Total_distance ← 0
5For each UAV u in Initial_solution Do
6   tempUAVnew UAV
7   uncovered_1 ← { } \\To keep uncovered patients of the current route (UAV level)
8   uncovered_2 ← { } \\To keep uncovered patients by the improved solution (solution level)
9   All_coveredTrue
10   Route_distance ← 0
11   \\First patient
12   FindClosest (v0, c) \\Find the closest patient C to the depot from UAV u
13   Assign_to_UAV(tempUAV, c)
14    R o u t e _ d i s t a n c e R o u t e _ d i s t a n c e + e v 0   c
15   MarkAsUnavailable(c, tempUAV)
16   current_patientc
17   \\Rearrange other patients of the UAV u according to the shortest closest neighbor
18   i ← 1
19   While(i < number of patients of u)
20      FindClosest(pc, c)
21      IF capacity of tempUAV is available to add C Then
22         Assign_to_UAV(tempUAV, c)
23          R o u t e _ d i s t a n c e R o u t e _ d i s t a n c e + e p c   C
24         pcc
25         MarkAsServed(c)
26       Else
27          All_coveredFalse
28         uncovered_1 = uncovered_1 ∪ c
29         MarkAsUnavailable(c, tempUAV)
30       Increment i
31   IF tempUAV < urouteDistance Then \\The route distance is improved
32      improvedSolution = improvedSolutiontempUAV
33      IF size(uncovered_1) > 0 Then
34         uncovered_2 = uncovered_2 ∪ uncovered_1
35    Else
36      improvedSolution = improvedSolutionu\\Keep UAV as in initial solution
37    Total_distanceTotal_Distance + route_distance
38\\add uncovered patients
39IF size(uncovered_2) > 0 Then
40   For each uncovered patient pu in uncovered_2 Do
41       originalUAVUAV from initial_solution that pu was assigned to
42      fitUAV ← −1
43      fitUAV ← UAV d from improvedSolution of available capacity to add pu with minimum route distance
44      changed_routes_IDschanged_routes_IDsoriginal_UAV
45      IF fitUAV ≠ −1 Then
46         IF the total distance of improvedSolution after adding pu to fitUAV <the total distance of Initial_solution Then
47            Total_distance ←the total distance of i m p r o v e d S o l u t i o n after adding pu to fitUAV
48            changed_routes_IDschanged_routes_IDsFit_UAV
49          Else
50              improvedSolution[original_UAV] ← initial_solution[original_drone]
51       Else
52          For each chr in changed_routes_IDs Do
53            improvedSolution[chr] ← initial_solution[chr]
54          Clear other patients from uncovered_2 who are assigned to original UAV in the initial solution
55Output: improvedSolution

5. Experimental Results

This section describes the dataset used to test the proposed GBDOH, and then presents a detailed numerical analysis of the results.
The GBDOH was implemented using Python software. The experiments were conducted using a computer with an Intel Core i7 processor running at 3.1 GHz using 16 GB 2133 MHz LPDDR3 of RAM running Macintosh HD.

5.1. Dataset

For the sake of comparison, we tested the GBDOH on instances of the CVRP public dataset (Christofides and Eilon, Set E) benchmark [29] used in the related work [10]. Each instance is described by a notation that contains the characteristics of that instance: E-nx-ky, where the symbol ‘E’ stands for Eilon et al., who were the creators of the dataset, ‘nx’ is the number of the demands of the instance (i.e., patients), and ‘ky’ is the minimum number of trucks of the exact solution (UAVs). The tested instances were E-n23-k3, E-n30-k3, E-n22-k4, E-n30-k4, E-n33-k4, E-n51-k5, E-n76-k7, E-n76-k8, E-n76-k10, E-n76-k14, E-n101-k8, and E-n101-k14. To measure the average performance for different sizes of the problem, we divided the instances into three categories according to the number of patients n (depending on the range of patients that we observed in the dataset, which was 20–101)—small ( n < 50 ), medium ( 50 n < 100 ), and large ( 100 < n )—and calculated the average of the objective function for each category.
To extract the ratio that determines the amount of water needed from Table 2, we mapped the required weight of blood and the distance to the patient to the range [0, 20] according to Equations (13) and (14), as adjusted by [10]. For example, according to Table 2, when the flight distance to a patient is 3 units and the demanded weight of blood is 12 units, the ratio is 0.03; thus, the weight of water needed is 12 × 0.03.
b l o o d C o o r d = 20 × b l o o d W e i g h t m i n B l o o d m a x B l o o d m i n B l o o d
d i s t a n c e C o o r d = 20 × d i s t a n c e m i n D i s t a n c e m a x D i s t a n c e m i n D i s t a n c e
In Equation (13), b l o o d C o o r d is the value of the demanded weight of blood after mapping to 20, while m i n B l o o d is the minimum possible demanded weight of blood in a dataset instance, which equals 0. Additionally, m a x B l o o d is the maximum one demanded weight. To avoid exceeding the carrying capacity of the UAV, we set m a x B l o o d , as shown in Equation (15):
m a x B l o o d = the   maximum   demand   weight   of   blood   from   dataset ( 1 + 0.2 )
In Equation (14), d i s t a n c e C o o r d is the value of the distance after mapping to 20. The m i n D i s t a n c e is the minimum flight distance that can be set directly for any data instance; here, we set it once to 50 and another time to 100 for each instance to compare the results with those reported in [10]. We set m a x D i s t a n c e as the maximum distance from the distance matrix of an instance dataset.
Unlike the approach of [10], which is a population-based method and deals with the problem as a multi-objective one, our approach is a single-solution-based method and deals with the problem as a single-objective problem. To extract the objective value, we proceeded as follows:
  • Run the heuristic on each instance.
  • Normalize both the (i) number of routes (UAVs) and (ii) distance to a [ 0 , 1 ] interval for each.
  • Give weights for the normalized number of routes (UAVs) and distance, which indicate the importance of each term.
  • Merge them into a single value that represents the objective value (i.e., single objective).
The following are the equations and parameters used to extract the objective value. The min–max normalization equation is as follows [30]:
x m i n ( x ) m a x ( x ) m i n ( x )   × ( n e w   m a x n e w   m i n ) + n e w   m i n
For the number of UAVs, we use Equation (16) as follows: Suppose that x is the number of routes (UAVs) before normalization; m i n ( x ) is the baseline number of UAVs, which is the number of trucks taken from the instance file; and   m a x ( x ) is adjusted based on historical data observed in our work and the related work [10]. The m a x ( x ) is adjusted to 7, 26, and 30 for small, medium, and large size instances, respectively.
For the distance, we use Equation (16) as follows: Suppose that x is the distance before normalization. m i n ( x ) is the baseline distance, which is adjusted based on historical data observed in our work, the related work [10], and the instance file. The m i n ( x ) is adjusted to 370, 520, and 810 for small, medium, and large instance sizes, respectively.   m a x ( x ) is adjusted based on historical data observed in our work, the related work [10], and the instance file. The m a x ( x ) is adjusted to 1320, 1610, and 2020 for small, medium, and large distances, respectively.
The n e w   m a x   and   n e w   m i n are 1 and 0, respectively, since we intend to normalize to [ 0 ,   1 ] intervals.
For the objective values, we give weights of 0.5 for the normalized number of UAVs and 0.5 for the normalized distance, add them, and divide the sum by 2, as shown in Equation (17):
O b j e c t i v e   V a l u e = ( 0.5 × the   normalized   no .   of   UAVs ) + ( 0.5 × the   normalized   distance ) 2
In [10], the authors generated a Pareto optimal set with a tradeoff between the two objectives. To compare our results with the previous work [10], we applied the above steps to their results to convert the objective values to a single-objective function. We then compared our work with theirs. The next section provides a detailed explanation of the results and comparison.

5.2. Numerical Analysis

This study features a new heuristic (GBDOH) to solve the UCVRP [10]. We compared the results of the GBDOH with those of the MOEA/D-N-UVRP [10] to obtain the smallest number of UAVs within the shortest possible distance.
In terms of the number of UAVs used and the distance, the algorithm that accomplished the best results in [10] was the MOEA/D-N-UVRP. Section 2 explains that the MOEA/D-N-UVRP involves evolutionary algorithms and local search. In the evolutionary algorithm, random solutions are initialized before operations such as crossover and mutation are iteratively applied to them to generate new solutions. In the local search, the MOEA/D-N-UVRP applies the random nearest neighbor search to enhance the solution obtained by the evolutionary algorithm. However, the local search does not always enhance the solution. Moreover, each run gives a different solution, so we cannot guarantee the best solution provided by the algorithm.
In summary, the main difference between the GBDOH and the work in [10] is that the GBDOH progresses from a single solution method, while the work in [10] uses a population-based solution method (i.e., an evolutionary algorithm). In addition, the GBDOH uses two phases to solve the problem: The first phase works to obtain a solution that has the smallest possible number of routes (UAVs), by adding patients to each UAV who require the least battery for blood delivery compared with other patients. The second phase works to rearrange the order of patients in each route to minimize the distance while satisfying the problem constraints. On the other hand, the work in [10] used a multi-objective approach to solve the UCVRP and did not consider the battery consumption to minimize the number of routes.

5.2.1. Comparisons of the Results of the GBDOH and MOEA/D-N-UVRP

Table 3 shows the results of the GBDOH and MOEA/D-N-UVRP on 20 cases of nine different instances stated in [10] and in Section 5.1. In Table 3, the instances are grouped by the size of the instance, which depends on the number of patients (small, medium, or large). The table shows the baseline values of UAVs and the distances reported in the solutions of the benchmark instances. For each use of the MOEA/D-N-UVRP and GBDOH, Table 3 shows the number of UAVs (routes) and the distances before and after normalization, along with the objective value for each instance. It also shows the average of these items based on the instance size. In addition, Table 3 reports the average run time of each instance tested by the GBDOH. The bold typeface signifies better values.
Figure 4 compares the average results of each group size of instances tested by the GBDOH and MOEA/D-N-UVRP in terms of objective value, route % (i.e., percent deviation from the value of the baseline routes), and distance % (i.e., percent deviation from the value of the baseline distance).
According to Table 3 and Figure 4, the GBDOH has a better objective value than MOEA/D-N-UVRP with respect to the average instance size (i.e., improvement in small instances by 8.5%, medium instances by 44.3%, and large instances by 29%), as well as improving the total average of all instances by approximately 27%. However, the MOEA/D-N-UVRP has better distances (minimum distances) than the GBDOH in most cases. The reason behind the preponderance of objective values of the GBDOH is the limited number of routes (UAVs) used, which is a benefit of using the battery consumed as a factor when assigning patients to a UAV.
Figure 5 shows the best objective values obtained by the GBDOH and MOEA/D-N-UVRP using the nine instances from the Christofides and Eilon, Set E benchmark [29]. The GBDOH has better (minimum) objective values than the MOEA/D-N-UVRP in seven out of nine tested instances in which m i n D i s t a n c e   = 50.
To guarantee that the analysis relied on a solid statistical basis, we compared the objective values obtained by the GBDOH and MOEA/D-N-UVRP by applying the Wilcoxon signed-rank test as follows: The null hypothesis was that the population distributions of the GBDOH and MOEA/D-N-UVRP would be identical with respect to the objective values. The results showed that there were 16 negative and 4 positive ranks. Accordingly, most pairs were negative, meaning that the GBDOH outperformed the MOEA/D-N-UVRP in terms of objective values. Moreover, the p -value = 0.00318, where 0.00318 < 0.05; consequently, the null hypothesis was rejected. Thus, we can conclude that the GBDOH is better than the MOEA/D-N-UVRP with respect to objective values.
The GBDOH endeavors to outperform the MOEA/D-N-UVRP by focusing on elements that minimize the number of UAVs used and the total distance simultaneously, using fewer and more efficient processes in a greedy deterministic manner. To this end, in the initial solution of the GBDOH, a patient j with a minimal amount of required UAV battery b i j is assigned to the UAV. This approach works by reducing the amount of battery consumed by the UAV to serve patients, allowing the UAV to serve a large number of patients and minimizing the number of operated UAVs. In addition, this approach may also reduce the travel distance, since the amount b i j is based on two principal factors: weight and distance. Furthermore, the GBDOH aims to improve the initial solution by rearranging the order of patients based on a greedy closest-distance patient process without operating new UAVs, as explained in Section 4. This helps to accomplish the objective of minimizing the total distance. Thus, these features are the reason that the GBDOH outperforms the MOEA/D-N-UVRP.
Moreover, with respect to the computational time, our algorithm was fast, with an average runtime of 0.0052 s, as shown in Table 3. The reason for this could be that it focuses on a single solution and uses greedy deterministic methods. In contrast, the authors of [10] tried to solve the UCVRP using a method that combines an evolutionary algorithm with a local search method. The evolutionary algorithm primarily relies on blind operators (i.e., crossover and mutation); subsequently, the search process may return prematurely after converging to a locally optimal solution. Additionally, the evolutionary algorithm is one of the population-based metaheuristics, which are known in the literature for their slow processing time—especially given that the authors of [10] used a population size = 100 and a number of iterations = 15,000,000. We provide more details on the comparison of computational complexity between the GBDOH and MOEA/D-N-UVRP in Section 5.2.2.
Finally, Figure 6 and Figure 7 display the initial and improved solutions, respectively, when testing the GBDOH on instance E-n101-k14. The colors are used to distinguish the routes. The numbers are patients. Table 4 shows the details of the routes and distances. The left-hand side of the table shows the number of nodes of each route, the distance of each route, and the total distance of the initial solution. The right-hand side shows the same details but for the improved solution. The bold font indicates values that offer improvements from the initial solution to the improved solution.
In Table 4, we can observe the improvement of the distances of Route#1, Route#6, and Route#11 without adding more UAVs. The total distance of the complete solution decreases from 1700 to 1681 after applying the improved solution algorithm.

5.2.2. Comparison of the Computational Complexity of the GBDOH and MOEA/D-N-UVRP

In the MOEA/D-N-UVRP [10], the key computational costs are as follows:
  • Generate n random trail solutions, i.e., population, O ( n ) .
  • The number of generations g , i.e., iterations O ( g ) to carry out the following steps:
    Crossover is O ( p ) , where p is the number of patients.
    Mutation is O ( p ) .
    The random nearest neighbor search requires O ( p 2 m ) operations, where m is the number of UAVs used.
Thus, the time complexity of the MOEA/D-N-UVRP is O ( n g p 2 m ) .
In contrast, in the GBDOH, the major computational costs are as follows:
  • The algorithm to find the initial solution requires O ( m p 2 ), where m is the number of UAVs used and p is the number of patients. O ( m p 2 ) is derived from the worst-case performance of Algorithm 1, where it consists of a main loop (outer loop) along with two nested (inner) loops. The outer loop spans from line 9 to line 45. The first inner loop spans from line 19 to line 42, while the second spans from line 26 to line 40. The inner loop that takes the longest time (in the worst case) is on line 26, where it takes O ( p ) . Thus, the outer loop (Repeat-until) that is on lines 9–45 takes O ( m p 2 ) .
  • The algorithm to improve the initial solution requires O ( m r p 2 ), where r p is the number of patients in the route, i.e., r p < p . O ( m r p 2 ) is derived from the worst-case performance of Algorithm 2, where it consists of main loop (outer loop) from line 5 to line 37, along with a nested (inner) loop from line 19 to line 30. The inner loop takes in the worst case O ( r p 2 ). Thus, the outer loop on lines 5–37 takes O ( m r p 2 ) .
  • Thus, the time complexity of the GBDOH is O ( m p 2 ).
Therefore, if the GBDOH and MOEA/D-N-UVRP have the same number of patients p and UAVs used m , then the ratio between their computational complexities is as follows:
O ( m p 2 ) O ( n g p 2 m )   = O ( m 2 ) O ( n g )  
The parameter values used in [10] were n = 100 and g = 15,000,000. Consequently, since m 2 is smaller than n × g = 1,500,000,000, the GBDOH has lower computational complexity than the MOEA/D-N-UVRP.

5.2.3. Experiments on the XML100 Benchmark Dataset

To validate the benefit of the algorithm in improving the initial solution, and to further test the efficiency of our heuristic, we conducted experiments on 2844 instances of a new benchmark dataset of the CVRP named XML100, released in 2021 [29]. The tested instances comprise 108 groups based on their categories. The categories are as follows: depot positioning (centered), customer positioning (random, clustered, and random-clustered), demand distribution (small values with large CV, small values with small CV, large values with large CV, large values with small CV, values depending on quadrant, and numerous small values with few large values, where CV denotes the capacity of the vehicle), and average route size (very short, short, medium, long, very long, and ultra-long). Each instance comprises 100 customers. The tables in Appendix A show the details of the initial solution, the improved solution, the time of the whole process when applying the GBDOH on the XML100 dataset, and the improvement shown as a percentage. The bold font indicates values that offer improvements from the initial solution distance to the final solution distance.
Table A1 groups instance categories by centered depot positioning and random customer positioning in 36 groups, each with 27 instances (totaling 972). According to this table, the average total distance in the improved solution decreases by 2.6%, with a total average time of 0.0109 s and a p-value < 0.00001.
Table A2 groups instance categories by centered depot positioning and clustered customer positioning in 36 groups, each with 26 instances (totaling 936). This table shows that the average total route distance in the improved solution decreases by 2.4%, with a total average time of 0.0107 s and a p-value < 0.00001.
Table A3 groups instance categories by centered depot positioning and random-clustered customer positioning in 36 groups, each with 26 instances (totaling 936). According to this table, the average total route distance in the improved solution decreases by 2.6%, with a total average time of 0.0117 s and a p-value < 0.00001.
Thus, from Table A1, Table A2 and Table A3, we can conclude that in all of these cases the improved solution proves better than the initial solution with respect to the total route distance, helping to achieve better objective values.
The average route distances of the initial solutions of all categories amount to 19,906.78, whereas the total average of the improved solutions amounts to 19,403.88, indicating an improvement of approximately 2.5%. This development shows the improved algorithm’s effectiveness when applied to the initial solution, where the travel distance is decreased to achieve the second objective of minimizing the distance. Moreover, according to the Wilcoxon signed-rank test, the p-value is <0.00001, which makes the improved solution significantly better than the initial solution with respect to the total route distance, and also improves the objective value. Since the UCVRP is a real and NP-hard computational problem—especially in healthcare emergency situations—any small improvement in results will reflect huge cost savings in real settings.
In addition, the short processing time represents another advantage of the GBDOH that requires consideration, since the GBDOH will be used in healthcare emergency situations in which the response time constitutes a significant and critical factor.
Finally, it is worth noting that the results in Table A1, Table A2 and Table A3 provide new benchmark baseline results for other researchers working on the UCVRP to test their approaches and compare their results, in addition to the few instances tested in [10].

6. Conclusions

Healthcare services can be improved by utilizing UAVs to deliver blood to patients in emergency scenarios. This study sought to provide high-quality solutions for the UAV-based Capacitated Vehicle Routing Problem (UCVRP) in a reasonable time. The UCVRP is more complex than the traditional CVRP, as it requires additional constraints related to the UAV and blood viability conditions. The objective is to minimize the number of UAVs used and the total distance traveled by the UAVs. The best state-of-the-art approach to solve this problem is the MOEA/D-N-UVRP described in [10]. This multi-objective evolutionary algorithm offers a local search method. However, using multiple objectives and the nature of evolutionary algorithms and local search often requires numerous computations to find a solution. Moreover, the solution varies in each run due to the stochastic nature of the algorithm, meaning that it is not certain to obtain the best solution for each run. Since the problem focuses on helping patients in emergency situations, ensuring a quality solution within a reasonable time proves critical in quickly responding to emergency situations.
In this paper, we propose a new deterministic heuristic known as the Greedy Battery—Distance Optimizing Heuristic (GBDOH) to solve the UCVRP. The GBDOH is distinguished by the following lightweight characteristics: (i) build routes (i.e., assign patients to UAVs) according to the lowest battery consumption in order to operate the fewest UAVs and utilize the UAV capacity effectively, and (ii) rearrange each route (i.e., the patients assigned to the UAVs) according to the shortest distance from the depot in order to decrease the total route distance.
We compared the GBDOH with the state-of-the-art method (MOEA/D-N-UVRP), considering the quality of the solution and time efficiency. For statistical comparison, we utilized the Wilcoxon signed-rank test. The results revealed that the GBDOH has superior solution quality (i.e., the number of UAVs used and total routing distance), where GBDOH enhanced the average objective value by approximately 27% less than MOEA/D-N-UVRP UVRP in an average time of approximately 5.2 ms.
In addition, we tested the GBDOH twice on a new benchmark dataset of the CVRP known as XML100, released in 2021 [29]: (1) using the only initial solution algorithm, and (2) using both the initial solution and the improved solution algorithm. We then compared their results, which showed that when using the improved algorithm the average route distances decreased by approximately 2.5%, while keeping the processing time fast (11.078 milliseconds on average). This enhancement reflects significant cost savings in real settings. Moreover, our research provides new benchmark baseline results for researchers interested in employing the UCVRP to test their methods and compare their results.
In future works, we aim to enhance the GBDOH by changing the appendage to lighter materials than water, so that the UAVs can carry more blood and serve more patients. In addition, we aim to consider obstacle avoidance while minimizing the number of UAVs used and the total routing distance within a short processing time. Moreover, new variations of the problem could be investigated to reflect more realistic healthcare uses, such as visiting charging stations for a UAV’s battery along its journey.

Author Contributions

Conceptualization, S.A.-R., M.H. and S.A.; methodology, S.A.-R.; software, S.A.-R.; validation, S.A.-R.; formal analysis, S.A.-R.; investigation, S.A.-R.; resources, S.A.-R.; data curation, S.A.-R.; writing—original draft preparation, S.A.-R.; writing—review and editing, M.H. and S.A.; visualization, S.A.-R.; supervision, M.H. and S.A.; project administration, M.H. and S.A.; funding acquisition, S.A.-R. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the ‘Research Center of College of Computer and Information Sciences’, Deanship of Scientific Research, King Saud University.

Data Availability Statement

The data presented in this study are available in CVRPLIB at http://vrp.atd-lab.inf.puc-rio.br/index.php/en/ (accessed on 13 May 2022).

Acknowledgments

The authors would like to thank the Deanship of Scientific Research at King Saud University for funding and supporting this research through the initiative of the DSR Graduate Students Research Support (GSR).

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. The Details of the Initial Solution, Improved Solution, and the Time of the Whole Process When Applying the GBDOH on the XML100 Dataset

Table A1. Results of the GBCDH on the XML100 dataset with centered depots and random customer positioning. The bold font indicates values that offer improvements from the initial solution distance to the final solution distance.
Table A1. Results of the GBCDH on the XML100 dataset with centered depots and random customer positioning. The bold font indicates values that offer improvements from the initial solution distance to the final solution distance.
Instance CategoryAverage Statistics for Each Instance Code
Group#Demand_
Distribution
Average_
Route_Size
Instance
Group Code
Initial Solution Routes (UAVs)Initial Solution DistanceImproved Solution Routes (UAVs)Improved Solution Distance Run Time (Seconds)% Improvement over Initial
Solution
1Small values with large CVVery shortXML100_212129.1133,687.329.1133,3060.02311.13
2ShortXML100_212218.0725,410.5918.0724,903.440.01292.00
3MediumXML100_212312.1120,837.8112.1120,289.810.01052.63
4LongXML100_21248.7418,304.118.7417,7610.01022.97
5Very longXML100_21256.5616,458.046.5615,732.30.0084.41
6Ultra-longXML100_21264.0714,872.674.0714,160.850.00894.79
7Small values with small CVVery shortXML100_213129.2631,792.2629.2631,517.070.0170.87
8ShortXML100_213217.6323,519.4817.6323,145.110.01351.59
9MediumXML100_213311.6318,592.2211.6318,178.410.01042.23
10LongXML100_21348.4815,763.638.4815,289.810.00943.01
11Very longXML100_21355.9614,095.895.9613,656.440.00783.12
12Ultra-longXML100_21363.5912,125.113.5911,734.370.00923.22
13Large values with large CVVery shortXML100_214129.4434,137.1529.4433,797.440.01511.00
14ShortXML100_214218.8927,102.1518.8926,388.890.01262.63
15MediumXML100_214312.8122,161.5612.8121,406.930.01013.41
16LongXML100_21449.1119,184.859.1118,402.440.00934.08
17Very longXML100_21456.4417,169.966.4416,356.220.00964.74
18Ultra-longXML100_21463.8114,993.263.8113,979.480.00766.76
19Large values with small CVVery shortXML100_215130.6732,440.330.6732,154.740.01730.88
20ShortXML100_215217.7423,154.1517.7422,796.960.01261.54
21MediumXML100_215311.8918,444.8111.8918,085.070.01051.95
22LongXML100_21548.5615,730.198.5615,283.30.00892.84
23Very longXML100_21555.7813,651.935.7813,333.110.00812.34
24Ultra-longXML100_21563.6312,010.563.6311,688.190.00752.68
25Depending on quadrantVery shortXML100_216129.5633,800.9329.5633,453.780.01481.03
26ShortXML100_216218.9624,788.8118.9624,304.190.0121.95
27MediumXML100_216312.7820,905.1512.7820,155.220.00993.59
28LongXML100_21648.7417,699.528.7416,946.190.00874.26
29Very longXML100_21656.5215,785.156.5215,017.190.00794.87
30Ultra-longXML100_21664.1113,651.814.1112,8750.00755.69
31Many small values with few large valuesVery shortXML100_217140.6742,103.4440.6741,508.670.01411.41
32ShortXML100_217226.6331,804.6726.6331,300.780.01081.58
33MediumXML100_217317.9626,450.1117.9625,677.190.00962.92
34LongXML100_217413.1923,262.8113.1922,574.410.0092.96
35Very longXML100_217510.1120,413.6310.1119,620.70.00883.88
36Ultra-longXML100_2176717,782.15717,011.630.00764.33
Average1521,780.231521,216.450.01092.59
Table A2. Results of the GBCDH on the XML100 dataset with centered depots and clustered customer positioning. The bold font indicates values that offer improvements from the initial solution distance to the final solution distance.
Table A2. Results of the GBCDH on the XML100 dataset with centered depots and clustered customer positioning. The bold font indicates values that offer improvements from the initial solution distance to the final solution distance.
Instance CategoryAverage Statistics for Each Instance Code
Group#Demand_
Distribution
Average_Route_SizeInstance Group CodeInitial Solution Routes (UAVs)Initial Solution DistanceImproved
Solution Routes (UAVs)
Improved Solution DistanceRun Time (Seconds)% Improvement over Initial
Solution
1Small values with large CVVery shortXML100_222132.4230,998.7332.4230,804.420.01630.63
2ShortXML100_222218.7320,984.2718.7320,631.960.0121.68
3MediumXML100_222312.0817,122.2312.0816,588.080.01023.12
4LongXML100_22248.7713,325.238.7712,830.540.00893.71
5Very longXML100_22256.0811,905.966.0811,430.960.00813.99
6Ultra-longXML100_22263.779947.583.779434.270.00735.16
7Small values with small CVVery shortXML100_223129.8828,327.4229.8828,162.150.01710.58
8ShortXML100_223217.5419,132.2317.5418,813.350.01261.67
9MediumXML100_223310.9613,624.5410.9613,343.380.00972.06
10LongXML100_22348.4211,824.388.4211,437.380.0093.27
11Very longXML100_22356.0410,629.086.0410,269.810.00793.38
12Ultra-longXML100_22363.588416.353.587987.580.00785.09
13Large values with large CVVery shortXML100_22413230,699.883230,377.270.01561.05
14ShortXML100_224218.521,295.7318.520,835.850.01162.16
15MediumXML100_224312.1216,094.2312.1215,478.770.00963.82
16LongXML100_22449.1514,986.469.1514,434.150.00883.69
17Very longXML100_22456.3512,017.236.3511,433.580.00924.86
18Ultra-longXML100_22463.8810,582.193.889688.120.00778.45
19Large values with small CVVery shortXML100_225128.0825,058.0828.0824,897.230.01650.64
20ShortXML100_225217.3818,785.6217.3818,524.350.0121.39
21MediumXML100_225311.3513,691.3111.3513,429.650.01031.91
22LongXML100_22548.6512,299.388.6511,938.120.0092.94
23Very longXML100_22555.8510,265.465.859932.810.00823.24
24Ultra-longXML100_22563.738767.083.738460.150.00733.50
25Depending on quadrantVery shortXML100_226131.0430,55431.0430,349.690.0150.67
26ShortXML100_226218.520,574.6518.520,199.230.01171.82
27MediumXML100_226312.515,84312.515,426.960.00982.63
28LongXML100_22649.1213,168.779.1212,677.960.00863.73
29Very longXML100_22656.4611,208.696.4610,6870.00854.65
30Ultra-longXML100_22663.588979.463.588446.770.00825.93
31Many small values with few large valuesVery shortXML100_227138.8135,334.3138.8135,056.730.0210.79
32ShortXML100_227226.8526,728.526.8526,385.080.01241.28
33MediumXML100_227318.6522,552.9618.6522,045.690.01042.25
34LongXML100_227413.2317,17613.2316,764.920.00892.39
35Very longXML100_22751015,734.811015,261.190.00873.01
36Ultra-longXML100_22766.9612,861.046.9612,281.420.01014.51
Average1517,263.81516,854.070.01072.37
Table A3. Results of the GBCDH on the XML100 dataset with centered depots and random-clustered customer positioning. The bold font indicates values that offer improvements from the initial solution distance to the final solution distance.
Table A3. Results of the GBCDH on the XML100 dataset with centered depots and random-clustered customer positioning. The bold font indicates values that offer improvements from the initial solution distance to the final solution distance.
Instance CategoryAverage Statistics for Each Instance Code
Group#Demand_DistributionAverage_
Route_Size
Instance Group CodeInitial Solution Routes (UAVs)Initial Solution DistanceImproved
Solution Routes (UAVs)
Improved Solution DistanceRun Time (Seconds)% Improvement over Initial
Solution
1Small values with large CVVery shortXML100_23213133,363.733133,018.690.021.03
2ShortXML100_232217.6524,077.8517.6523,582.920.022.06
3MediumXML100_232311.6219,353.5411.6218,757.960.013.08
4LongXML100_23248.8816,928.198.8816,356.150.013.38
5Very longXML100_23256.3515,297.696.3514,6300.014.36
6Ultra-longXML100_23263.7313,057.653.7312,373.420.015.24
7Small values with small CVVery shortXML100_233127.4228,741.8527.4228,436.50.021.06
8ShortXML100_233217.7722,199.6917.7721,767.040.011.95
9MediumXML100_233311.6517,325.8111.6516,978.460.012.00
10LongXML100_23348.4614,931.468.4614,462.270.013.14
11Very longXML100_23355.8513,092.085.8512,769.080.012.47
12Ultra-longXML100_23363.4211,302.313.4210,871.350.013.81
13Large values with large CVVery shortXML100_234132.0834,861.4232.0834,567.080.020.84
14ShortXML100_234219.3526,249.3819.3525,523.620.012.76
15MediumXML100_234312.3820,298.0412.3819,6660.013.11
16LongXML100_23448.8817,761.198.8817,177.230.013.29
17Very longXML100_23456.8116,317.816.8115,534.620.014.80
18Ultra-longXML100_23463.6914,429.463.6913,412.230.017.05
19Large values with small CVVery shortXML100_235129.7730,130.8829.7729,911.120.020.73
20ShortXML100_235217.9622,164.1917.9621,895.540.011.21
21MediumXML100_235311.5417,315.8511.5416,998.850.011.83
22LongXML100_23548.3814,612.548.3814,283.190.012.25
23Very longXML100_23556.2313,168.466.2312,731.350.013.32
24Ultra-longXML100_23563.6210,980.233.6210,583.690.013.61
25Depending on quadrantVery shortXML100_236133.233536933.2335,116.880.020.71
26ShortXML100_236219.2724,612.5419.2724,107.350.012.05
27MediumXML100_236312.1519,226.0412.1518,562.920.013.45
28LongXML100_23649.3116,759.779.3116,091.580.013.99
29Very longXML100_23656.3114,550.126.3113,904.580.014.44
30Ultra-longXML100_23663.9213,234.733.9212,187.960.017.91
31Many small values with few large valuesVery shortXML100_237139.5839,652.4639.5839,186.50.021.18
32ShortXML100_237226.1930,554.9226.1929,964.50.011.93
33MediumXML100_237318.4225,541.8518.4224,944.120.012.34
34LongXML100_237413.8121,97813.8121,321.190.012.99
35Very longXML100_237510.1519,090.8110.1518,3560.013.85
36Ultra-longXML100_23766.4615,815.586.4615,048.620.014.85
Average1520,676.311520,141.130.012.59

References

  1. Fukubayashi, Y.; Kimura, M. Improvement of rural access roads in developing countries with initiative for self-reliance of communities. Soils Found. 2014, 54, 23–35. [Google Scholar] [CrossRef] [Green Version]
  2. Otto, A.; Agatz, N.; Campbell, J.; Golden, B. Optimization approaches for civil applications of unmanned aerial vehicles (UAVs) or aerial drones: A survey. Networks 2018, 72, 411–458. [Google Scholar] [CrossRef]
  3. Crumley, B. Swoop Aero drones deliver Pfizer COVID-19 vaccines in Malawi—DroneDJ. Available online: https://dronedj.com/2022/03/02/swoop-aero-drones-deliver-ultra-cold-pfizer-covid-19-vaccines-in-malawi/ (accessed on 8 June 2022).
  4. Dickson, I. Flying pharmacy: Why Medical Drones Will Take Off in 2022. Available online: https://360.here.com/medical-drones (accessed on 8 June 2022).
  5. Harrisberg, K.; Pensulo, C. From drones to data: New Innovations Are Supporting Africa’s Health Systems. Available online: https://www.weforum.org/agenda/2022/05/drones-to-data-africans-turn-to-healthtech/ (accessed on 8 June 2022).
  6. Liu, Y. China adapts Surveying, Mapping, Delivery Drones To Enforce World’s Biggest Quarantine And Contain Coronavirus Outbreak | South China Morning Post. Available online: https://www.scmp.com/business/china-business/article/3064986/china-adapts-surveying-mapping-delivery-drones-task (accessed on 27 September 2022).
  7. Drone First Aid Kit On Blue Stock Illustration 1633656133 | Shutterstock. Available online: https://www.shutterstock.com/image-illustration/drone-first-aid-kit-on-blue-1633656133 (accessed on 30 August 2022).
  8. Khan, S.I.; Qadir, Z.; Munawar, H.S.; Nayak, S.R.; Budati, A.K.; Verma, K.D.; Prakash, D. UAVs path planning architecture for effective medical emergency response in future networks. Phys. Commun. 2021, 47, 101337. [Google Scholar] [CrossRef]
  9. Chung, S.H.; Sah, B.; Lee, J. Optimization for drone and drone-truck combined operations: A review of the state of the art and future directions. Comput. Oper. Res. 2020, 123, 105004. [Google Scholar] [CrossRef]
  10. Wen, T.; Zhang, Z.; Wong, K.K.L. Multi-objective algorithm for blood supply via unmanned aerial vehicles to the wounded in an emergency situation. PLoS ONE 2016, 11, e0155176. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  11. El-Ghazali, T. Metaheuristics: From Design to Implementation, 2nd ed.; John Wiley & Sons: Hoboken, NJ, USA, 2009; ISBN 9780470278581. [Google Scholar]
  12. Sajid, M.; Singh, J.; Haidri, R.A.; Prasad, M.; Varadarajan, V.; Kotecha, K.; Garg, D. A Novel Algorithm for Capacitated Vehicle Routing Problem for Smart Cities. Symmetry 2021, 13, 1923. [Google Scholar] [CrossRef]
  13. Accorsi, L.; Vigo, D. A Fast and Scalable Heuristic for the Solution of Large-Scale Capacitated Vehicle Routing Problems. Transp. Sci. 2021, 55, 832–856. [Google Scholar] [CrossRef]
  14. Thibbotuwawa, A.; Bocewicz, G.; Nielsen, P.; Banaszak, Z. Unmanned Aerial Vehicle Routing Problems: A Literature Review. Appl. Sci. 2020, 10, 4504. [Google Scholar] [CrossRef]
  15. Al-rabiaah, S.; Hosny, M.; Almuhaideb, S. An Efficient Greedy Randomized Heuristic for the Maximum Coverage Facility Location Problem with Drones in Healthcare. Appl. Sci. 2022, 12, 1403. [Google Scholar] [CrossRef]
  16. Wikarek, J.; Sitek, P.; Zawarczyński, Ł. An integer programming model for the capacitated vehicle routing problem with drones. In Proceedings of the ICCCI 2019: International Conference on Computational Collective Intelligence, Hendaye, France, 4–6 September 2019; Volume 11683, pp. 511–520. [Google Scholar]
  17. Kitjacharoenchai, P.; Lee, S. Vehicle routing problem with drones for last mile delivery. In Procedia Manufacturing, Proceedings of the 25th International Conference on Production Research Manufacturing Innovation: Cyber Physical Manufacturing, Chicago, IL, USA, 9–14 August 2019; Elsevier: Amsterdam, The Netherlands, 2019; Volume 39, pp. 314–324. [Google Scholar]
  18. Ozkan, O. Multi-objective optimization of transporting blood products by routing UAVs: The case of Istanbul. Int. Trans. Oper. Res. 2022, 30, 302–327. [Google Scholar] [CrossRef]
  19. Dorling, K.; Member, S.; Heinrichs, J.; Messier, G.G.; Magierowski, S. Vehicle Routing Problems for Drone Delivery. IEEE Trans. Syst. Man, Cybern. Syst. 2017, 47, 70–85. [Google Scholar] [CrossRef] [Green Version]
  20. Jiang, X.; Zhou, Q.; Ye, Y. Method of Task Assignment for UAV Based on Particle Swarm Optimization in logistics. In Proceedings of the The 2017 International Conference on Intelligent Systems, Metaheuristics & Swarm Intelligence, Association for Computing Machinery, New York, NY, USA, 25 March 2017; pp. 113–117. [Google Scholar]
  21. Murray, C.C.; Raj, R. The multiple flying sidekicks traveling salesman problem: Parcel delivery with multiple drones. Transp. Res. Part C Emerg. Technol. 2020, 110, 368–398. [Google Scholar] [CrossRef]
  22. Liu, W.; Li, W.; Zhou, Q.; Die, Q.; Yang, Y. The optimization of the “UAV-vehicle” joint delivery route considering mountainous cities. PLoS ONE 2022, 17, e0265518. [Google Scholar] [CrossRef] [PubMed]
  23. Ouiss, M.; Ettaoufik, A.; Marzak, A.; Tragha, A. A Parallel Genetic Algorithm for Solving the Vehicle Routing Problem with Drone Medication Delivery; Springer: Singapore, 2022; pp. 225–233. [Google Scholar] [CrossRef]
  24. Nguyen, M.A.; Dang, G.T.H.; Hà, M.H.; Pham, M.T. The min-cost parallel drone scheduling vehicle routing problem. Eur. J. Oper. Res. 2022, 299, 910–930. [Google Scholar] [CrossRef]
  25. Chen, X.; Ulmer, M.W.; Thomas, B.W. Deep Q-learning for same-day delivery with vehicles and drones. Eur. J. Oper. Res. 2022, 298, 939–952. [Google Scholar] [CrossRef]
  26. Thida San, K.; Chang, Y.S. Drone-based delivery: A concurrent heuristic approach using a genetic algorithm. Aircr. Eng. Aerosp. Technol. 2022, 94, 1312–1326. [Google Scholar] [CrossRef]
  27. Chauhan, D.; Unnikrishnan, A.; Figliozzi, M. Maximum coverage capacitated facility location problem with range constrained drones. Transp. Res. Part C Emerg. Technol. 2019, 99, 1–18. [Google Scholar] [CrossRef]
  28. Figliozzi, M.A. Lifecycle modeling and assessment of unmanned aerial vehicles (Drones) CO2e emissions. Transp. Res. Part D Transp. Environ. 2017, 57, 251–261. [Google Scholar] [CrossRef]
  29. CVRPLIB—All Instances. Available online: http://vrp.atd-lab.inf.puc-rio.br/index.php/en/ (accessed on 13 May 2022).
  30. Han, J.; Kamber, M.; Pei, J. Data Mining: Concepts and Techniques, 3rd ed.; The Morgan Kaufmann Series in Data Management Systems; Morgan Kaufmann: Burlington, MA, USA, 2011; ISBN 978-0-12-381479-1. [Google Scholar]
Figure 1. Example of using drones to transport blood. Reprinted with permission from ref. [7]. Copyright 2022 Shutterstock, Inc.
Figure 1. Example of using drones to transport blood. Reprinted with permission from ref. [7]. Copyright 2022 Shutterstock, Inc.
Electronics 11 03399 g001
Figure 2. An example of the locations of the central depot and the patients.
Figure 2. An example of the locations of the central depot and the patients.
Electronics 11 03399 g002
Figure 3. Flowchart of the GBDOH.
Figure 3. Flowchart of the GBDOH.
Electronics 11 03399 g003
Figure 4. Comparison between the average results of the GBDOH and MOEA/D-N-UVRP on each group size of instances in terms of objective value, percent deviation from the value of the baseline routes, and percent deviation from the value of the baseline distance.
Figure 4. Comparison between the average results of the GBDOH and MOEA/D-N-UVRP on each group size of instances in terms of objective value, percent deviation from the value of the baseline routes, and percent deviation from the value of the baseline distance.
Electronics 11 03399 g004
Figure 5. Comparison between the objective values of the GBDOH and MOEA/D-N-UVRP on nine instances from the (Christofides and Eilon, Set E) benchmark.
Figure 5. Comparison between the objective values of the GBDOH and MOEA/D-N-UVRP on nine instances from the (Christofides and Eilon, Set E) benchmark.
Electronics 11 03399 g005
Figure 6. Initial solution of the GBDOH for instance E-n101-k14.
Figure 6. Initial solution of the GBDOH for instance E-n101-k14.
Electronics 11 03399 g006
Figure 7. Improved solution of the GBDOH for instance E-n101-k14.
Figure 7. Improved solution of the GBDOH for instance E-n101-k14.
Electronics 11 03399 g007
Table 1. Formulation of the UCVRP.
Table 1. Formulation of the UCVRP.
Sets V : Set of vertices where V = { v 0 ,   v 1 ,   , v n }
E : Set of edges ( e E )  
U : Set of UAVs ( u U )
R k : Set of vertices visited by UAV u k
Parameters v 0 : A central depot of starting and ending routes for each UAV
v i : Location of patient i
e i j : The flight distance between v i   and   v j , i j
q : Amount of capacity of each UAV
d i : Weight of blood needed by v i
w i : Weight of the required water to deliver blood to patient i
m : Total number of UAVs used in the solution ( m | U | )
n : Total number of patients ( n = | V | )
b i j : Battery consumed on one trip between v i   and   v j
μ t : The UAV mass tare without battery and load, i.e., UAV mass
μ b : The UAV battery mass
θ s : Lift-to-drag ratio
η: The efficiency of the power transfer
Decision variables x i j k = { 1 ,                   if   u k   flies   from   v i   to   v j 0 ,                   otherwise (1)
y i k = { 1 ,                   if   u k   serves   v i 0 ,                   otherwise (2)
Objective function M i n i m i z e   Z = i = 0 n j = 0 n k = 1 m e i j · x i j k (3)
M i n i m i z e   m (4)
Constraints i = 1 n ( d i + w i ) · y i k q , k (5)
k = 1 m x 0 j k m ,   j (6)
k = 1 m y i k = 1 ,   i ,   i 0 (7)
i = 0 n x i j k = y j k ,   j ,   j 0 ,   i j ,   k (8)
R k 1   R k 2 = { v 0 } ,   k 1 , k 2 (9)
k R k = { v 0 ,   v 1 ,   , v n } (10)
AssumptionsFollowing the model in [27], the following is assumed:
  • All UAVs are of the same type.
  • We do not consider the impact of environmental factors, e.g., weather and terrain topology conditions.
  • bij, i.e., the battery needed by patient j, is given by Equation (12) [28].
  • μt, μb, θs, and η are fixed for all UAVs, so we treat them as constants.
Table 2. The ratio between blood and water [10].
Table 2. The ratio between blood and water [10].
Distance to PatientBlood Weight
[0, 2][2, 3][3, 5][6, 10][10, 15][15, 20]
[0, 5]10.50.20.060.030.02
[5, 10]1.20.80.40.100.060.04
[10, 15]1.91.20.60.180.120.08
[15, 20]2.41.50.80.280.180.15
Table 3. Comparison between the MOEA/D-N-UVRP and GBDOH, the bold font indicates best values for each instance.
Table 3. Comparison between the MOEA/D-N-UVRP and GBDOH, the bold font indicates best values for each instance.
MOEA/D-N-UVRPGBDOH
SizeInstanceBaseline RoutesBaseline DistanceMinimum DistanceRoutes (UAVs)DistanceNormalized Number of RoutesNormalized DistanceObjective ValueRoutes (UAVs)DistanceNormalized Number of RoutesNormalized DistanceObjective ValueRun Time (Seconds)
SmallE-n23-k33569505716.030.500.360.435836.000.500.490.500.0011
35691005720.350.500.370.435862.000.500.520.510.0013
E-n30-k33534507774.981.000.430.715784.000.500.440.470.0012
35341007766.821.000.420.715879.000.500.540.520.0020
E-n22-k44375507562.321.000.200.605548.000.500.190.340.0008
43751007552.641.000.190.605583.000.500.220.360.0010
E-n30-k44503507555.971.000.200.605784.000.500.440.470.0024
45031007555.811.000.200.605879.000.500.540.520.0014
E-n33-k44835507563.071.000.200.6061291.000.750.970.860.0020
48351007553.941.000.190.6061253.000.750.930.840.0016
Average6.6632.190.900.280.595.2869.900.550.530.540.0015
MediumE-n51-k555215014929.480.430.380.406781.000.050.240.140.0046
552110013931.320.380.380.387878.000.100.330.210.0049
E-n76-k7768350191594.250.670.990.8381011.000.140.450.300.0081
7683201326.820.710.740.7381011.000.140.450.300.0081
7683100191359.270.670.770.7281216.000.140.640.390.0103
7683201347.640.710.760.7481216.000.140.640.390.0103
E-n76-k14 14103250261599.411.000.991.00161445.000.520.850.690.0106
141032100261593.081.000.980.99181587.000.620.980.800.0128
Average19.6251335.160.700.750.729.8751143.130.230.570.400.0086
LargeE-n101-k1414107750301942.281.000.810.91161681.000.360.720.540.0130
141077100301929.001.000.810.90192000.000.500.980.740.0146
Average301935.641.000.810.9017.51840.500.430.850.640.0138
Total Average14.151043.720.830.520.678.31076.250.410.580.490.0052
Table 4. Initial and improved solutions of the GBDOH for instance E-n101-k14.
Table 4. Initial and improved solutions of the GBDOH for instance E-n101-k14.
Instance E-n101-k14
Initial SolutionImproved Solution
RoutesRoute
Distance
RoutesRoute
Distance
Route #1: {0, 91, 92, 37, 98, 99, 96, 6, 60, 83, 46, 17, 84, 18, 0}131Route #1: {0, 6, 96, 99, 92, 37, 98, 91, 84, 17, 83, 60, 18, 46, 0}125
Route #2: {0, 53, 40, 2, 57, 42, 43, 15, 41, 74, 73, 55, 0} 123Route #2: {0, 53, 40, 2, 57, 42, 43, 15, 41, 74, 73, 55, 0}123
Route #3: {0, 27, 69, 1, 70, 90, 63, 11, 19, 7, 0}88Route #3: {0, 27, 69, 1, 70, 90, 63, 11, 19, 7, 0}88
Route #4: {0, 28, 76, 77, 3, 78, 34, 35, 71, 0}93Route #4: {0, 28, 76, 77, 3, 78, 34, 35, 71, 0} 93
Route #5: {0, 52, 88, 62, 10, 20, 51, 33, 50, 0}88Route #5: {0, 52, 88, 62, 10, 20, 51, 33, 50, 0}88
Route #6: {0, 89, 97, 95, 94, 13, 56, 0}88Route #6: {0, 89, 94, 95, 97, 13, 56, 0}84
Route #7: {0, 58, 21, 72, 75, 22, 25, 24, 0}100Route #7: {0, 58, 21, 72, 75, 22, 25, 24, 0}100
Route #8: {0, 80, 68, 29, 79, 81, 0} 75Route #8: {0, 80, 68, 29, 79, 81, 0}75
Route #9: {0, 26, 12, 54, 4, 39, 0}79Route #9: {0, 26, 12, 54, 4, 39, 0}79
Route #10: {0, 8, 45, 36, 47, 82, 61, 0} 120Route #10: {0, 8, 45, 36, 47, 82, 61, 0} 120
Route #11: {0, 100, 93, 59, 85, 0} 61Route #11: {0, 59, 93, 85, 100, 0}52
Route #12: {0, 31, 30, 32, 64, 9, 0} 136Route #12: {0, 31, 30, 32, 64, 9, 0}136
Route #13: {0, 87, 14, 44, 16, 38, 0} 103Route #13: {0, 87, 14, 44, 16, 38, 0}103
Route #14: {0, 5, 86, 48, 0}100Route #14: {0, 5, 86, 48, 0} 100
Route #15: {0, 66, 65, 49, 67, 0} 243Route #15: {0, 66, 65, 49, 67, 0}243
Route #16: {0, 23, 0}72Route #16: {0, 23, 0}72
Total Distance1700Total Distance1681
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Al-Rabiaah, S.; Hosny, M.; AlMuhaideb, S. A Greedy Heuristic Based on Optimizing Battery Consumption and Routing Distance for Transporting Blood Using Unmanned Aerial Vehicles. Electronics 2022, 11, 3399. https://doi.org/10.3390/electronics11203399

AMA Style

Al-Rabiaah S, Hosny M, AlMuhaideb S. A Greedy Heuristic Based on Optimizing Battery Consumption and Routing Distance for Transporting Blood Using Unmanned Aerial Vehicles. Electronics. 2022; 11(20):3399. https://doi.org/10.3390/electronics11203399

Chicago/Turabian Style

Al-Rabiaah, Sumayah, Manar Hosny, and Sarab AlMuhaideb. 2022. "A Greedy Heuristic Based on Optimizing Battery Consumption and Routing Distance for Transporting Blood Using Unmanned Aerial Vehicles" Electronics 11, no. 20: 3399. https://doi.org/10.3390/electronics11203399

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop