Genetic Algorithm For Scheduling of Parcel Deliver
Genetic Algorithm For Scheduling of Parcel Deliver
6, 2021
Journal of Advanced Mechanical Design, Systems, and Manufacturing
Abstract
In recent years, efficient logistics has become indispensable, and using unmanned aerial vehicles (UAVs) or
drones is promising for considerably reducing the cost and time required for parcel delivery. This paper
addresses a parcel delivery scheduling problem. In this problem, a truck loaded with drones and parcels leaves
a distribution center and stops at some points on a fixed route. At each point, the drones take off and deliver
parcels to customers. We define this problem as finding the assignment of customers to both the drones and
their takeoff points. Then, we propose a genetic algorithm (GA) for finding a near-optimal solution in a short
time. In the proposed GA, a solution is represented using sets of customers assigned to the takeoff points, and a
heuristic rule determines the assignment to the drones. The crossover operation enables offspring to inherit the
customer sets. Experimental results show that the proposed GA can successfully find an optimal or a
near-optimal solution faster than an integer programming solver for almost all instances. In addition, it
significantly outperforms other GAs using a different crossover.
1. Introduction
The development of electronic commerce increases the importance of efficient logistics. Unmanned aerial vehicles
(UAVs) or drones are fast, light, and reasonable and do not require pilots and a crew. Therefore, they can significantly
reduce the cost and time required for delivery. Many companies such as Amazon (Amazon.com, Inc., 2016), Google
(Stewart, 2014), and DHL (DHL International GmbH, 2014) have announced that they will use drones for delivery.
However, the drones have limitations on the weight and volume of cargo, and they can deliver only light and small
cargoes like parcels. In addition, their battery capacity is limited, and their flight time is short, so it is difficult to deliver
to customers far from a distribution center. It is accepted that in order to cover the shortcomings, the drones are used in
combination with a truck. The truck is useful for mass transportation, and the drones are effective in mobility and
economy (Chen et al., 2018). For example, Mathew et al. (2015) address the following delivery system. A truck carries
parcels and drones over long-distance transportation, and the drones deliver the parcels from the truck to customers. As
a result, the overall delivery time and cost can be reduced. For recent years, intensive studies have been conducted on
scheduling of parcel delivery by drones. These studies have various problem settings, and they are broadly classified
into two settings: only one drone delivers parcels (Murray and Chu, 2015; Othman et al., 2017; Agatz et al., 2018) and
multiple drones do so (Kim and Moon, 2019; Karuno and Mishima, 2019).
First, in (Murray and Chu, 2015; Othman et al., 2017; Agatz et al., 2018), only one drone delivers parcels. Murray
and Chu (2015) address two models based on a traveling salesman problem (TSP) (Laporte, 1992): the flying sidekick
TSP (FSTSP) and the parallel drone scheduling TSP (PDSTSP). In FSTSP, a truck carrying a drone leaves a
distribution center and delivers heavy or large cargoes that the drone cannot carry. Its route is determined by solving
the TSP. The drone takes off from the truck and returns to it or the distribution center after delivering. In PDSTSP, a
truck leaves a distribution center and delivers via a route determined by solving the TSP. A drone takes off from the
distribution center and delivers to customers within its flight range. Othman et al. (2017) address a model in which a
truck loaded with parcels and a drone follows a predetermined route. The drone delivers to customers in the last-stretch
© 2021 The Japan Society of Mechanical Engineers. This is an open access article under
Paper No.21-00137 the terms of the Creative Commons Attribution-NonCommercial-NoDerivs license
[DOI: 10.1299/jamdsm.2021jamdsm0069] (https://creativecommons.org/licenses/by-nc-nd/4.0/).
1
Hazama, Iima, Karuno and Mishima,
Journal of Advanced Mechanical Design, Systems, and Manufacturing, Vol.15, No.6 (2021)
of the route. Agatz et al. (2018) address a model in which a truck and a drone share the same road network. Both the
truck and the drone deliver via a route determined by solving the TSP. The drone takes off from the truck, delivers a
parcel, and returns to the truck delivering to the next customer.
Second, in (Kim and Moon, 2019; Karuno and Mishima, 2019), multiple drones deliver parcels. Kim and Moon
(2019) focus on a model using facilities that store drones and their batteries: drone stations (DS). A DS is located at the
center of city, far from a distribution center. When a truck leaving the distribution center arrives at the DS, parcels are
unloaded in the DS from it. The drones take off from the DS, deliver the parcels, and return to the DS. Karuno and
Mishima (2019) address a scheduling model in which a truck loaded with parcels and drones stops at some points. At
each point, the drones take off and deliver to customers. This scheduling problem is to assign customers to both the
drones and their takeoff points.
Karuno and Mishima (2019) also propose formulating the parcel delivery scheduling problem as an integer
programming problem. Their experimental results show that as the number of drones increases, the computation time
takes longer. To such instances, it is appropriate to apply a genetic algorithm (GA) (Goldberg and Holland, 1988)
which searches for a near-optimal solution in a short time. The GA is applied to actual problems (Zhuang et al., 2019;
Ehyaei et al., 2020; Lee et al., 2018; Han et al., 2018) actively. When applied to a problem, the GA should comprise
solution representation and crossover and mutation operations appropriate for the problem. The problem in (Karuno
and Mishima, 2019) is an assignment problem, in other words, a problem of forming groups. A GA based on the
characteristics of this type of problem was first proposed in (Falkenauer, 1994). Since then, many studies have
proposed GAs for various grouping problems (Ramos-Figueroa et al., 2020, 2021; Mutingi and Mbohwa, 2014;
Mutingi and Onwubolu, 2012; Jawahar and Subhaa, 2017; Cuadra et al., 2016; Ozcan et al., 2016; Moghaddam et al.,
2015; Chen et al., 2019; Ülker et al., 2008) and are summarized in (Ramos-Figueroa et al., 2020, 2021).
In this paper, we propose a GA for scheduling of parcel delivery by drones. Our scheduling problem is the same as
(Karuno and Mishima, 2019). The proposed method comprises effective solution representation and crossover and
mutation operations for finding a near-optimal solution in a short time. Its performance is empirically evaluated by
applying to many instances and comparing it with an integer programming solver in (Karuno and Mishima, 2019) and
GAs for other grouping problems.
The rest of this paper is organized as follows. Section 2 defines our scheduling problem and presents related work
on GAs for grouping problems. Section 3 proposes a GA for the defined problem. Section 4 shows experimental results
and verifies the effectiveness of the proposed method. Finally, Section 5 concludes this paper.
2. Preliminaries
In this section, we first define our parcel delivery scheduling problem. Next, we describe studies related to GAs for
grouping problems.
𝑞𝑞
min 𝑓𝑓 = ∑𝑘𝑘=1 max ∑𝑖𝑖∈𝑋𝑋𝑗𝑗𝑗𝑗 𝑤𝑤𝑖𝑖𝑖𝑖 , (1)
𝑗𝑗
s.t. 𝑋𝑋𝑗𝑗1𝑘𝑘1 ∩ 𝑋𝑋𝑗𝑗2𝑘𝑘2 = ∅ (∀𝑗𝑗1 , 𝑘𝑘1 , 𝑗𝑗2 , 𝑘𝑘2 ; 𝑗𝑗1 ≠ 𝑗𝑗2 or 𝑘𝑘1 ≠ 𝑘𝑘2 ), (2)
𝑋𝑋11 ∪ 𝑋𝑋12 ∪ … ∪ 𝑋𝑋𝑝𝑝𝑝𝑝 = {1,2, … , 𝑛𝑛}, (3)
where 𝑓𝑓 is the objective function. Equations (2) and (3) mean that each customer must be assigned to one of the
takeoff points and one of the drones. The decision variables are 𝑋𝑋𝑗𝑗𝑗𝑗 . The solution shown in Fig. 1 is 𝑋𝑋11 = {1}, 𝑋𝑋12 =
{4}, 𝑋𝑋13 = {5,6}, 𝑋𝑋21 = {7}, 𝑋𝑋22 = {}, 𝑋𝑋23 = {8}, 𝑋𝑋31 = {2}, 𝑋𝑋32 = {3}, and 𝑋𝑋33 = {9,10}, and its objective function
value 𝑓𝑓 = max{𝑤𝑤11 , 𝑤𝑤71 , 𝑤𝑤21 } + max{𝑤𝑤42 , 𝑤𝑤32 } + max{𝑤𝑤53 + 𝑤𝑤63 , 𝑤𝑤83 , 𝑤𝑤93 + 𝑤𝑤10,3 } = 𝑤𝑤21 + 𝑤𝑤42 + 𝑤𝑤83 .
The scheduling problem defined in the previous subsection is a kind of grouping problems. Equations (2) and (3) are
equivalent to Eqs. (4) and (5), respectively.
The grouping problems include classic problems such as bin packing and scheduling and real-world problems such
as logistics and planning. They are difficult to solve, and many studies have adopted GAs for finding a near-optimal
solution. A GA for a grouping problem (Grouping GA: GGA) was first proposed in (Falkenauer, 1994) and showed
promising results for the bin packing problem. If a solution representation used for many other problems is adopted for
the grouping problems, a solution is represented by arranging group numbers 𝑖𝑖 to which items belong. For example, a
solution 21231 represents 𝐺𝐺1 = {2,5}, 𝐺𝐺2 = {1,3}, and 𝐺𝐺3 = {4}. However, items’ combination in each group 𝐺𝐺𝑖𝑖 is
destroyed easily by a crossover operation, which deteriorates the performance of the GA. To avoid this destruction, the
GGA uses a solution represented by arranging groups. It outperforms other metaheuristics such as tabu search and
simulated annealing. Therefore, many GGAs have been proposed for various grouping problems (Ramos-Figueroa et
al., 2020, 2021; Mutingi and Mbohwa, 2014; Mutingi and Onwubolu, 2012; Jawahar and Subhaa, 2017; Cuadra et al.,
2016; Ozcan et al., 2016; Moghaddam et al., 2015; Tucker et al., 2005; Rossi et al., 2010; Chen et al., 2019; Ülker et al.,
2008).
To find a near-optimal solution efficiently, it is necessary to use crossover and mutation operations specific to
GGA’s solution representation. Such crossovers include One-point crossover (1PX) (Mutingi and Mbohwa, 2014;
Mutingi and Onwubolu, 2012), Multi-point crossover (MPX) (Jawahar and Subhaa, 2017), and Uniform crossover (UX)
(Cuadra et al., 2016), and they are often used for not only the grouping problems but also many others. Mutations
include Elimination (Ramos-Figueroa et al., 2020; Ozcan et al., 2016; Moghaddam et al., 2015), Merge and split
(Tucker et al., 2005), Swap (Mutingi and Mbohwa, 2014; Mutingi and Onwubolu, 2012), Insertion (Mutingi and
Mbohwa, 2014; Cuadra et al., 2016; Chen et al., 2019), and Item elimination (Rossi et al., 2010).
Crossovers generate two new solutions (offspring) from two solutions (parents), and the offspring inherit parents’
characteristics. In 1PX and MPX, they inherit some consecutive groups. In UX, they inherit scattered groups. Unlike
many other problems, the three crossovers frequently generate infeasible solutions, so it is necessary to apply an
additional procedure to make them feasible. Mutations alter one solution. Elimination and Merge and split mutate
groups selected randomly. Swap, Insertion, and Item elimination mutate some items in some groups.
3. Proposed method
This section proposes a GA for finding a near-optimal solution of the scheduling problem formulated in Subsection
2.1. First, we describe its basic idea and then its flow. Next, we describe the solution representation and the crossover
and mutation operations in our GA.
3.2 Flow
The flow of our proposed method is based on general GAs (Goldberg and Holland, 1988), which repeat to update a
population of multiple solutions called individuals. It is as follows.
𝑁𝑁: Population size
𝐺𝐺: Number of generations
𝑆𝑆: Tournament size
𝑝𝑝𝑐𝑐 : Probability of crossover
𝑝𝑝𝑚𝑚 : Probability of mutation
Step 1 Generate 𝑁𝑁 individuals 𝑠𝑠1 , 𝑠𝑠2 , … , 𝑠𝑠𝑁𝑁 randomly. Let 𝑝𝑝𝑝𝑝𝑝𝑝 be their set (𝑝𝑝𝑝𝑝𝑝𝑝 = {𝑠𝑠1 , 𝑠𝑠2 , … , 𝑠𝑠𝑁𝑁 }).
Step 2 Calculate the objective function value of each individual of 𝑝𝑝𝑝𝑝𝑝𝑝. In this calculation, LPT assigns customers to
drones. Let 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 be the set of new individuals and set 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 ← ∅ initially.
Step 3 Pick up 𝑆𝑆 individuals from 𝑝𝑝𝑝𝑝𝑝𝑝 randomly and select one of them by applying tournament selection based on
their objective function values. Similarly, select another individual. The two selected individuals are denoted as
𝑃𝑃1 and 𝑃𝑃2 .
Step 4 Generate a uniformly random number 𝑟𝑟 in [0,1). If 𝑟𝑟 ≤ 𝑝𝑝𝑐𝑐 , go to Step 5. If 𝑝𝑝𝑐𝑐 < 𝑟𝑟 ≤ 𝑝𝑝𝑐𝑐 + 𝑝𝑝𝑚𝑚 , go to
Step 6. If 𝑟𝑟 > 𝑝𝑝𝑐𝑐 + 𝑝𝑝𝑚𝑚 , go to Step 7.
Step 5 Generate two individuals 𝑂𝑂1 and 𝑂𝑂2 by applying a crossover to 𝑃𝑃1 and 𝑃𝑃2 . Set 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 ← 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 ∪
{𝑂𝑂1 , 𝑂𝑂2 }. Go to Step 8.
Step 6 Generate two individuals 𝑂𝑂1 and 𝑂𝑂2 , respectively, by applying a mutation to 𝑃𝑃1 and 𝑃𝑃2 . Set 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 ←
𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 ∪ {𝑂𝑂1 , 𝑂𝑂2 }. Go to Step 8.
Fig. 2 An example of solution representation. Fig. 3 An example of determining 𝑋𝑋𝑗𝑗𝑗𝑗 from 𝑌𝑌𝑘𝑘 .
Step 4 If 𝑡 = 𝑛(𝑌𝑘 ), terminate this algorithm. Otherwise, set 𝑡 ← 𝑡 + 1 and return to Step 3.
Figure 3 shows an example of determining 𝑋𝑗𝑘 from 𝑌𝑘 . In this example, let 𝑝 = 3, 𝑌𝑘 = {1,2,3,4,5}, 𝑤1𝑘 = 2,
𝑤2𝑘 = 6, 𝑤3𝑘 = 7, 𝑤4𝑘 = 9, and 𝑤5𝑘 = 4. First, the customers sorted in descending order of 𝑤𝑖𝑘 are {4,3,2,5,1}.
Next, set 𝑔1𝑘 = 𝑔2𝑘 = 𝑔3𝑘 = 0, 𝑋1𝑘 = 𝑋2𝑘 = 𝑋3𝑘 = {}, and 𝑡 = 1. The first customer 𝑖 = 4 is assigned to 𝑗 ∗ = 1,
and then set 𝑋1𝑘 = {4} and 𝑔1𝑘 = 9. Since 𝑡 ≠ 𝑛(𝑌𝑘 ), set 𝑡 = 2. The second customer 𝑖 = 3 is assigned to 𝑗 ∗ = 2,
and then set 𝑋2𝑘 = {3} and 𝑔2𝑘 = 7. Since 𝑡 ≠ 𝑛(𝑌𝑘 ), set 𝑡 = 3. Similarly, 𝑋1𝑘 , 𝑋2𝑘 , and 𝑋3𝑘 are updated. When
𝑋1𝑘 = {4}, 𝑋2𝑘 = {1,3}, 𝑋3𝑘 = {2,5}, and 𝑡 = 5, this algorithm is terminated.
them is assigned to one customer set selected randomly from 𝑌𝑌1𝑂𝑂1 , … , 𝑌𝑌𝑘𝑘𝑂𝑂1 𝑂𝑂1 𝑃𝑃1
′ −1 , 𝑌𝑌𝑘𝑘 ′ +1 , … , 𝑌𝑌𝑞𝑞 . If customers in 𝑌𝑌𝑘𝑘 ′ are not in
𝑂𝑂1
𝑃𝑃2 𝑂𝑂1
𝑌𝑌𝑘𝑘 ′ , each of them appears twice in 𝑂𝑂1 , and the constraint (2) is not satisfied. In this case, 𝑌𝑌𝑘𝑘 ′ is prioritized, and
customers inherited from 𝑌𝑌𝑘𝑘𝑃𝑃2 (𝑘𝑘 ∈ {1, … , 𝑘𝑘 ′ − 1, 𝑘𝑘 ′ + 1, … , 𝑞𝑞}) are deleted. These operations for satisfying the
constraints (2) and (3) are applied to also generating 𝑂𝑂2 .
The flow of the crossover is as follows.
Step 1 Select a takeoff point 𝑘𝑘′ randomly.
Step 6 Select a takeoff point number 𝑘𝑘 randomly from 1, … , 𝑘𝑘 ′ − 1, 𝑘𝑘 ′ + 1, … , 𝑞𝑞, and set 𝑌𝑌𝑘𝑘𝑂𝑂1 ← 𝑌𝑌𝑘𝑘𝑂𝑂1 ∪ {𝑖𝑖}.
Step 7 Find the takeoff point 𝑘𝑘 such that 𝑖𝑖 ∈ 𝑌𝑌𝑘𝑘𝑃𝑃1 (𝑘𝑘 ∈ {1, … , 𝑘𝑘 ′ − 1, 𝑘𝑘 ′ + 1, … , 𝑞𝑞}), and set 𝑌𝑌𝑘𝑘𝑂𝑂2 ← 𝑌𝑌𝑘𝑘𝑂𝑂2 ∖ {𝑖𝑖}.
Step 8 If 𝑖𝑖 ∈ 𝑌𝑌𝑘𝑘𝑃𝑃1 𝑃𝑃2
′ and 𝑖𝑖 ∉ 𝑌𝑌𝑘𝑘 ′ , go to Step 9. Otherwise, go to Step 11.
Step 9 Select a takeoff point number 𝑘𝑘 randomly from 1, … , 𝑘𝑘 ′ − 1, 𝑘𝑘 ′ + 1, … , 𝑞𝑞, and set 𝑌𝑌𝑘𝑘𝑂𝑂2 ← 𝑌𝑌𝑘𝑘𝑂𝑂2 ∪ {𝑖𝑖}.
Step 10 Find the takeoff point 𝑘𝑘 such that 𝑖𝑖 ∈ 𝑌𝑌𝑘𝑘𝑃𝑃2 (𝑘𝑘 ∈ {1, … , 𝑘𝑘 ′ − 1, 𝑘𝑘 ′ + 1, … , 𝑞𝑞}), and set 𝑌𝑌𝑘𝑘𝑂𝑂1 ← 𝑌𝑌𝑘𝑘𝑂𝑂1 ∖ {𝑖𝑖}.
Step 11 If 𝑖𝑖 < 𝑛𝑛, set 𝑖𝑖 ← 𝑖𝑖 + 1, and return to Step 5. Otherwise, terminate this algorithm.
Figure 4 shows an example of the crossover for 𝑛𝑛 = 10 and 𝑞𝑞 = 5. In this example, a takeoff point 𝑘𝑘 ′ = 3 is
selected. In Step 1, 𝑌𝑌3𝑂𝑂1 = {2,4,5,8}, and 𝑌𝑌3𝑂𝑂2 = {5}. In Step 2, 𝑌𝑌1𝑂𝑂1 = {1,8,9,10}, 𝑌𝑌2𝑂𝑂1 = {3,4}, 𝑌𝑌4𝑂𝑂1 = {6,7}, 𝑌𝑌5𝑂𝑂1 =
{2}, 𝑌𝑌1𝑂𝑂2 = {1,6,9}, 𝑌𝑌2𝑂𝑂2 = {}, 𝑌𝑌4𝑂𝑂2 = {3,7}, and 𝑌𝑌5𝑂𝑂2 = {10}. For 𝑖𝑖 = 1, all of 𝑌𝑌𝑘𝑘𝑂𝑂1 and 𝑌𝑌𝑘𝑘𝑂𝑂2 are unchanged in Steps
5-10. For 𝑖𝑖 = 2, 𝑌𝑌2𝑂𝑂2 = {2} in Step 9, and 𝑌𝑌5𝑂𝑂1 = {} in Step 10. For 𝑖𝑖 > 2, 𝑌𝑌1𝑂𝑂1 , 𝑌𝑌2𝑂𝑂1 , 𝑌𝑌1𝑂𝑂2 , and 𝑌𝑌2𝑂𝑂2 are altered in the
same way.
Our mutation selects a customer 𝑖𝑖 and a takeoff point 𝑘𝑘 randomly and assigns 𝑖𝑖 to 𝑘𝑘. Figure 5 shows an example
of the mutation for 𝑛𝑛 = 10 and 𝑞𝑞 = 5. In this example, 𝑖𝑖 = 10 and 𝑘𝑘 = 2 are selected at random.
4. Numerical experiments
This section shows experimental results of applying the method proposed in Section 3 to many instances and its
performance compared with other methods. We describe our experimental method, show the experimental results, and
discuss them.
4.1 Method
We use 20 instances in (Mishima and Karuno, 2019). In these instances, let 𝑛𝑛 = 50 and 𝑞𝑞 = 10. The coordinates
(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) of each customer 𝑖𝑖 and those (𝑋𝑋𝑘𝑘 , 𝑌𝑌𝑘𝑘 ) of each takeoff point 𝑘𝑘 are on a plane whose size is 50 × 50. The
coordinates of the customers are different depending on instances. For example, in instance 1, they are (0,31), (1,2),
(4,44), (5,1), (6,48), (10,10), (10,21), (11,30), (12,0), (12,27), (14,33), (15,16), (15,47), (20,20), (20,26), (20,37), (21,4),
(22,40), (23,1), (24,23), (24,38), (26,21), (28,31), (28,40), (29,29), (30,28), (30,32), (31,9), (31,24), (31,49), (32,16),
(35,4), (35,9), (35,46), (36,37), (38,18), (38,36), (38,44), (39,31), (39,37), (39,43), (39,50), (42,26), (44,39), (46,12),
(46,48), (47,41), (49,20), (49,29), and (50,20). The coordinates of the takeoff points are the same for all instances and
are (0,3), (2,44), (9,43), (10,32), (19,14), (23,13), (30,43), (32,11), (40,10), and (45,17). The round-trip flight time 𝑤𝑤𝑖𝑖𝑖𝑖
between 𝑖𝑖 and 𝑘𝑘 is given by
where ceil means the ceiling function. The number 𝑝𝑝 of drones is set to 4, 5, 6, and 7 for each of the 20 instances. The
total of instances is 80.
We apply the proposed GA 20 times to each instance and compare it with an integer programming solver (IP solver)
CPLEX (IBM) in (Mishima and Karuno, 2019) and GGAs in (Ramos-Figueroa et al., 2020, 2021; Mutingi and Mbohwa,
2014; Mutingi and Onwubolu, 2012; Jawahar and Subhaa, 2017; Cuadra et al., 2016; Ozcan et al., 2016; Moghaddam et
al., 2015; Tucker et al., 2005; Rossi et al., 2010; Chen et al., 2019; Ülker et al., 2008). The results of the IP solver are cited
from (Mishima and Karuno, 2019). The GGAs are described in Appendix B.
The parameters of GAs are as follows:
Population size: 𝑁𝑁 = 30000,
Number of generations: 𝐺𝐺 = 80,
Tournament size: 𝑆𝑆 = 5,
Probability of crossover: 𝑝𝑝𝑐𝑐 = 0.6,
Probability of mutation: 𝑝𝑝𝑚𝑚 = 0.01.
We use Python as a programming language. The experiments are conducted on a computer with Intel Core
i7-7500U CPU (2.70GHz). The IP solver in (Mishima and Karuno, 2019) was run on a computer with Intel Core
i7-8550U CPU (1.80GHz) and 20GB memory.
4.2 Results
Table 1 shows the average 𝑓𝐺𝐴 ̅ of objective function values by applying the proposed GA 20 times and the objective
function value 𝑓𝐼𝑃 by the IP solver for each instance. Table 2 shows the average 𝑇̅𝐺𝐴 of computation time by applying
the GA and the computation time 𝑇𝑇𝐼𝐼𝐼𝐼 by the IP solver. The IP solver is not applied to instances for 𝑝𝑝 = 7, and its
computation is limited to about 3600 seconds (Mishima and Karuno, 2019). Table 3 shows for 𝑝𝑝 = 6, average objective
̅ , 𝑓𝑓𝑀𝑀𝑀𝑀𝑀𝑀
function values 𝑓𝑓1𝑃𝑃𝑃𝑃 ̅ , 𝑓𝑓𝑈𝑈𝑈𝑈
̅ , 𝑓𝑓𝐸𝐸̅ , 𝑓𝑓𝑀𝑀𝑀𝑀
̅ , 𝑓𝑓𝑆𝑆̅ , 𝑓𝑓𝐼𝐼̅ , and 𝑓𝑓𝐼𝐼𝐼𝐼
̅ , respectively, by applying eight kinds of GAs described in
Appendix B: GAs using 1PX, MPX, UX, Elimination, Merge and split, Swap, Insertion, and Item elimination. Figure 6
shows the convergence curve of the proposed GA for instance 1.
Table 1 shows the proposed GA can successfully find solutions which are as good as the IP solver capable of
searching for an optimal solution. The difference between the two is 1.21, 1.38, and 1.44 for 𝑝𝑝 = 4, 5, and 6, respectively.
Table 2 shows the computation time of the GA for 𝑝𝑝 = 6 is shorter than that of the IP solver in all instances and about
1/76 on average. It for 𝑝𝑝 = 5 and 4 is shorter in 19 and 17 instances and about 1/48 and 1/13 on average, respectively.
Table 3 shows our crossover is more effective than the other crossovers: 1PX, MPX, and UX. Our mutation is slightly
better than the other mutations. Figure 6 shows the proposed GA finds the solution by iteratively generating individuals
with better objective function values from initial individuals with bad ones.
4.3 Discussion
For the proposed GA, Table 1 shows the objective function value decreases by about ten whenever the number 𝑝𝑝
of drones increases by one, and Fig. 6 shows the shapes of the four graphs are similar. These two facts imply that the
GA does not deteriorate for a larger number of the drones and that the solutions obtained for 𝑝𝑝 = 7 are good. For the
IP solver, Table 2 shows as the number of drones increases, its computation time is longer than 3600 seconds in more
instances. For 𝑝𝑝 = 7, such results are expected for almost all instances, which makes the difference in computation
time between the two methods even larger. The IP solver for 𝑝𝑝 = 7 may not find an optimal solution within 3600
seconds. Therefore, the proposed GA is more effective as the number of drones increases. In contrast, for 𝑝𝑝 = 4, there
are some instances where the GA takes more time. However, fluctuations in the computation time are minor, and the
average in 20 instances is smaller. These are advantages of the GA. Table 3 shows the difference of objective function
values between our mutation and each of the other mutations is small. However, our mutation is the simplest since it
only assigns one customer to another takeoff point.
As mentioned in Subsection 3.4, our crossover assigns a disappeared customer to a random takeoff point to satisfy
the constraint (3). It also makes offspring not inherit one of the duplicate customers assigned to two takeoff points to
satisfy the constraint (2). These operations to satisfy (2) and (3) are named op1 and op2, respectively. They are used in
Table 1 Comparison of objective function values by Table 2 Comparison of computation time [s] by the proposed
the proposed method and the IP solver. method and the IP solver.
̅
𝑓𝑓𝐺𝐺𝐺𝐺 𝑓𝑓𝐼𝐼𝐼𝐼 𝑇𝑇�𝐺𝐺𝐺𝐺 𝑇𝑇𝐼𝐼𝐼𝐼
Instance 𝑝𝑝 = 4 5 6 7 𝑝𝑝 = 4 5 6 Instance 𝑝𝑝 = 4 5 6 7 𝑝𝑝 = 4 5 6
1 131.0 112.0 97.3 87.8 129 109 96 1 39.3 39.5 39.4 40.5 81.5 2872.3 3610.9
2 112.0 94.2 85.6 77.7 111 93 84 2 39.2 39.3 39.5 40.3 186.3 474.1 2476.6
3 112.0 98.2 86.0 78.8 111 99 85 3 39.1 39.8 39.3 40.5 5.3 3613.6 3612.3
4 115.1 99.1 88.2 80.0 115 98 88 4 39.3 39.4 40.1 40.2 3606.1 3605.4 3614.6
5 118.0 100.1 88.7 81.7 116 100 88 5 39.1 39.5 39.4 40.2 32.3 3607.1 1099.6
6 113.7 97.3 87.5 79.3 111 96 86 6 39.9 39.2 39.4 40.9 40.4 697.5 2138.1
7 116.0 96.8 85.1 77.8 115 94 83 7 40.1 39.2 39.6 40.0 691.7 184.8 351.8
8 125.0 108.1 95.9 85.0 123 106 93 8 39.4 39.6 40.0 40.3 166.2 3611.6 3609.9
9 119.2 100.0 88.0 80.0 117 99 88 9 40.8 38.9 38.9 39.9 25.5 474.9 3604.6
10 128.0 107.0 95.3 85.8 126 106 94 10 39.4 39.3 39.3 40.1 43.7 430.7 3605.3
11 112.1 93.1 82.5 73.2 111 91 82 11 39.6 39.8 39.9 39.7 56.2 9.2 3607.0
12 124.0 104.5 92.1 82.8 123 104 92 12 39.8 40.3 39.9 39.9 284.4 2863.8 3610.5
13 131.0 111.2 97.4 87.7 131 109 96 13 39.0 40.3 39.3 40.2 138.2 286.5 3610.6
14 114.0 95.1 85.0 78.0 112 94 84 14 39.7 40.2 39.6 40.4 49.5 104.8 3606.2
15 130.0 110.0 99.1 90.1 129 109 95 15 39.0 39.5 39.8 39.6 606.2 3605.8 3607.6
16 130.0 108.2 96.0 85.5 129 107 93 16 39.3 39.4 39.1 39.7 246.3 498.0 3606.3
17 130.0 112.1 99.9 91.9 130 109 96 17 38.9 39.6 40.1 40.9 90.4 3605.8 3612.3
18 116.0 99.0 84.0 75.4 116 97 84 18 39.6 39.5 39.3 41.4 65.5 614.7 261.5
19 131.3 109.6 94.7 86.7 130 108 93 19 39.4 39.5 40.2 40.5 3608.2 3603.5 3605.7
20 128.0 110.3 96.8 87.8 127 110 96 20 39.2 40.1 40.2 40.7 602.8 3613.5 3610.3
Average 121.81 103.28 91.24 82.64 120.6 101.9 89.8 Average 39.45 39.60 39.62 40.27 531.33 1918.87 3028.08
Table 3 Comparison of objective function values by the proposed method and other GGAs (𝑝𝑝 = 6).
̅
Instance 𝑓𝑓𝐺𝐺𝐺𝐺 ̅
𝑓𝑓1𝑃𝑃𝑃𝑃 ̅
𝑓𝑓𝑀𝑀𝑀𝑀𝑀𝑀 ̅
𝑓𝑓𝑈𝑈𝑈𝑈 𝑓𝑓𝐸𝐸̅ ̅
𝑓𝑓𝑀𝑀𝑀𝑀 𝑓𝑓𝑆𝑆̅ 𝑓𝑓𝐼𝐼̅ ̅
𝑓𝑓𝐼𝐼𝐼𝐼
1 97.3 139.1 140.2 119.9 97.3 97.4 97.2 97.1 97.1
2 85.6 127.1 128.2 113.5 85.6 85.5 85.6 85.9 85.6
3 86.0 124.1 126.9 106.2 86.1 86.0 86.3 86.1 86.2
4 88.2 120.9 126.8 113.1 88.2 88.5 88.3 88.3 88.3
5 88.7 134.5 132.7 119.4 88.9 88.7 88.7 88.8 89.1
6 87.5 128.5 130.0 104.7 87.8 87.6 87.7 87.3 87.2
7 85.1 124.3 127.3 110.5 85.3 85.1 83.7 85.3 85.3
8 95.9 140.3 136.8 118.4 96.3 95.8 96.1 96.2 96.0
9 88.0 135.9 139.5 119.7 88.0 88.0 88.0 88.0 88.0
10 95.3 134.6 135.1 125.4 95.1 95.2 95.2 95.0 95.2
11 82.5 119.5 120.5 103.3 82.8 82.8 82.5 82.6 82.6
12 92.1 128.2 130.3 111.1 92.4 92.0 92.0 92.0 92.1
13 97.4 131.1 134.2 116.0 97.5 97.5 97.3 97.4 97.4
14 85.0 121.6 124.9 111.6 86.1 85.7 86.0 85.1 85.3
15 99.1 143.9 146.3 119.4 100.7 100.1 99.9 100.1 100.1
16 96.0 139.7 143.5 117.4 96.1 96.0 96.0 96.0 96.0
17 99.9 139.6 141.2 121.8 100.3 99.5 100.6 100.2 99.8
18 84.0 119.8 119.9 110.1 84.2 84.2 84.0 84.0 84.0
19 94.7 133.9 140.3 117.6 94.0 94.3 94.3 94.5 94.6
20 96.8 128.7 133.6 121.0 97.3 96.8 96.8 96.8 96.9
Average 91.24 130.77 132.91 115.01 91.48 91.32 91.28 91.32 91.32
Proposed
Operation 1PX MPX UX
Crossover
op1 9.00 18.34 15.71 22.50
op2 9.00 18.34 15.71 22.50
also the other crossovers: 1PX, MPX, and UX. They break the combination of customers assigned to each takeoff point,
and therefore they should be applied as few times as possible. Thus, we compare the number of times op1 and op2 are
applied. We generate offspring 𝑂𝑂1 and 𝑂𝑂2 from parents 𝑃𝑃1 and 𝑃𝑃2 generated randomly 1000000 times, and we count
the numbers of applying op1 and op2. Table 4 shows the results. The numbers of these operations are essentially equal,
and this fact is seen in this table. The numbers in our crossover are less than those of the other crossovers. These small
numbers are one of the reasons for the good performance of ours.
5. Conclusion
In this paper, we have defined a scheduling problem of parcel delivery by drones as assigning all customers to both
takeoff points and the drones. We have also proposed a GA for finding a near-optimal solution in a short time.
Experimental results show the proposed GA can successfully find it faster than the IP solver for almost all instances.
Compared with other GGAs, our crossover is the best, and our mutation is effective. This best performance results from
a small number of applying operations which break customers’ combination.
This paper has addressed a model in which a drone carries only one parcel. With the development of drone
technology, the drone will carry multiple parcels. Peng et al. (2019) address a problem with such drones. Scheduling
with the drones is an extended topic of our problem.
This work was partly supported by JSPS KAKENHI Grant Number JP20K11988.
Appendix A
This appendix describes the formulation of the problem of Subsection 2.1 in (Karuno and Mishima, 2019). Let
𝑥𝑥𝑖𝑖𝑖𝑖𝑖𝑖 be a decision variable whose value is 1 if a customer 𝑖𝑖 is delivered from a takeoff point 𝑘𝑘 by a drone 𝑗𝑗.
Otherwise, 𝑥𝑥𝑖𝑖𝑖𝑖𝑖𝑖 is 0. The problem is formulated as follows:
𝑞𝑞
min ∑𝑘𝑘=1 𝑓𝑓𝑘𝑘 , (7)
s.t. ∑𝑛𝑛𝑖𝑖=1 𝑤𝑤𝑖𝑖𝑖𝑖 𝑥𝑥𝑖𝑖𝑖𝑖𝑖𝑖 ≤ 𝑓𝑓𝑘𝑘 , ∀𝑗𝑗 ∈ {1,2, … , 𝑝𝑝}; ∀𝑘𝑘 ∈ {1,2, … , 𝑞𝑞}, (8)
∑𝑝𝑝𝑗𝑗=1 ∑𝑞𝑞𝑘𝑘=1 𝑥𝑥𝑖𝑖𝑖𝑖𝑖𝑖 = 1, ∀𝑖𝑖 ∈ {1,2, … , 𝑛𝑛}, (9)
𝑥𝑥𝑖𝑖𝑖𝑖𝑖𝑖 ∈ {0,1}, ∀𝑖𝑖 ∈ {1,2, … , 𝑛𝑛}; ∀𝑗𝑗 ∈ {1,2, … , 𝑝𝑝}; ∀𝑘𝑘 ∈ {1,2, … , 𝑞𝑞}, (10)
𝑓𝑓𝑘𝑘 ≥ 0, ∀𝑘𝑘 ∈ {1,2, … , 𝑞𝑞}. (11)
Fig. 7 Example of 1PX (𝑘𝑘 = 3). Fig. 8 Example of MPX (𝑀𝑀 = 3, 𝑘𝑘1 = 1, 𝑘𝑘2 = 3, 𝑘𝑘3 = 4).
Fig. 11 Example of Merge and split (𝑘𝑘1 = 3, 𝑘𝑘2 = 4). Fig. 12 Example of Swap (𝑘𝑘1 = 1, 𝑘𝑘2 = 4).
Equations (7) and (8) mean the objective function is the sum of maximum delivery time 𝑓𝑓𝑘𝑘 of all takeoff points.
Equations (9) and (10) mean each customer is delivered by a drone from a takeoff point.
Appendix B
This appendix describes GGAs used in the experiments of Section 4. Crossovers of the GGAs are 1PX, MPX, and
UX and generate offspring 𝑂𝑂1 and 𝑂𝑂2 from parents 𝑃𝑃1 and 𝑃𝑃2 . Mutations are Elimination, Merge and split, Swap,
Insertion, and Item elimination and generate offspring 𝑂𝑂 from a parent 𝑃𝑃.
In 1PX, one takeoff point 𝑘𝑘 is randomly selected. 𝑂𝑂1 (𝑂𝑂2 ) inherits 𝑌𝑌𝑘𝑘 ′ (𝑘𝑘 ′ ≤ 𝑘𝑘) from 𝑃𝑃2 (𝑃𝑃1 ) and inherits
𝑌𝑌𝑘𝑘 ′ (𝑘𝑘 ′ > 𝑘𝑘) from 𝑃𝑃1 (𝑃𝑃2 ). However, 𝑂𝑂1 and 𝑂𝑂2 do not usually satisfy the constraints (2) and (3). Thus, two
operations op1 and op2, described in Subsection 4.3, are applied to 𝑂𝑂1 and 𝑂𝑂2 . In op2, offspring do not inherit
customers of 𝑌𝑌𝑘𝑘 ′ (𝑘𝑘 ′ > 𝑘𝑘). In MPX, 𝑀𝑀 (≥ 3) takeoff points 𝑘𝑘1 , 𝑘𝑘2 , … , 𝑘𝑘𝑀𝑀 are randomly selected, and each offspring
inherits 𝑌𝑘 alternately from 𝑃1 and 𝑃2 . For example, 𝑂1 inherits 𝑌1 , … , 𝑌𝑘1 from 𝑃1 , and 𝑌𝑘1 +1 , … , 𝑌𝑘2 from 𝑃2 ,
and so on. Then, op1 and op2 are applied. In UX, 𝑂𝑂1 inherits each 𝑌𝑌𝑘𝑘 from either 𝑃𝑃1 or 𝑃𝑃2 with the same
probability. 𝑂𝑂2 inherits from 𝑃𝑃1 (𝑃𝑃2 ) 𝑌𝑌𝑘𝑘 which 𝑂𝑂1 inherits from 𝑃𝑃2 (𝑃𝑃1 ). Then, op1 and op2 are applied.
Figures 7-9 show examples of these crossovers. In these figures, a diagonal line means a customer who is not
inherited in op2. An arrow means op1. In Fig. 9, 𝑂𝑂1 inherits 𝑌𝑌1 , 𝑌𝑌3 , and 𝑌𝑌5 from 𝑃𝑃1 and inherits 𝑌𝑌2 and 𝑌𝑌4 from
𝑃𝑃2 . 𝑂𝑂2 inherits 𝑌𝑌1 , 𝑌𝑌3 , and 𝑌𝑌5 from 𝑃𝑃2 and inherits 𝑌𝑌2 and 𝑌𝑌4 from 𝑃𝑃1 .
Elimination mutation removes all customers assigned to a randomly selected takeoff point 𝑘𝑘 ′ and randomly
assigns each of them to 𝑌𝑌𝑘𝑘 (𝑘𝑘 ≠ 𝑘𝑘 ′ ). Merge and split mutation randomly selects two takeoff points 𝑘𝑘1 and 𝑘𝑘2 , merges
all customers assigned to them into one set, and then splits the set into 𝑌𝑌𝑘𝑘1 and 𝑌𝑌𝑘𝑘2 . Swap mutation selects two takeoff
points 𝑘𝑘1 and 𝑘𝑘2 and swaps some customers assigned to them. Insertion mutation removes some customers assigned
to a randomly selected takeoff point 𝑘𝑘 ′ and randomly assigns each of them to 𝑌𝑌𝑘𝑘 (𝑘𝑘 ≠ 𝑘𝑘 ′ ). Item elimination mutation
removes each customer with a certain probability and randomly assigns the removed customers. Figures 10-14 show
examples of these mutations. In Fig. 14, customers 1, 2, 4, 5, and 9 are removed and randomly assigned.
References
Agatz, N., Bouman, P., and Schmidt, M., Optimization approaches for the traveling salesman problem with drone,
Transportation Science, Vol.52, No.4 (2018), pp.965–981.
Amazon.com, Inc., Amazon Prime Air (online), available from <http://www.amazon.com/primeair>, (accessed on 6
April, 2021).
Chen, C. -H., Shen, W. -Y., Wu, M. -E., and Hong, T. -P., A divide-and-conquer-based approach for diverse grouping
stock portfolio optimization using Island-based genetic algorithms, Proceedings of IEEE Congress on
Evolutionary Computation (2019), pp.1471–1477.
Chen, M., Tian, Y., Fortino, G., Zhang, J., and Humar, I., Cognitive Internet of vehicles, Computer Communications,
Vol.120 (2018), pp.58–70.
Cuadra, L., Aybar-Ruíz, A., Del Arco, M. A., Navío-Marco, J., Portilla-Figueras, J. A., and Salcedo-Sanz, S., A
Lamarckian hybrid grouping genetic algorithm with repair heuristics for resource assignment in WCDMA
networks, Applied Soft Computing, Vol.43 (2016), pp.619–632.
DHL International GmbH, DHL parcelcopter launches initial operations for research purposes (online), available from
http://www.dhl.com/en/press/releases/releases_2014/group/dhl_parcelcopter_launches_initial_operations_for_rese
arch_purposes.html, (accessed on 6 April, 2021).
Ehyaei, M. A., Ahmadi, A., Rosen, M. A., and Davarpanah, A., Thermodynamic optimization of a geothermal power
plant with a genetic algorithm in two stages, Processes, Vol.8, No.10 (2020), 1277.
Falkenauer, E., A new representation and operators for genetic algorithms applied to grouping problems, Evolutionary
Computation, Vol.2, No.2 (1994), pp.123–144.
Goldberg, D. E. and Holland, J. H., Genetic algorithms and machine learning, Machine Learning, Vol.3 (1988), pp.
95–99.
Graham, R. L., Bounds for certain multiprocessing anomalies, The Bell System Technical Journal, Vol.45, No.9 (1966),
pp.1563–1581.
Han, B., Lianghai, J., and Schotten, H. D., Slice as an evolutionary service: Genetic optimization for inter-slice
resource management in 5G networks, IEEE Access, Vol.6 (2018), pp.33137–33147.
IBM, IBM CPLEX Optimizer (online), available from <https://www.ibm.com/analytics/cplex-optimizer>, (accessed on
6 April, 2021).
Jawahar, N., and Subhaa, R., An adjustable grouping genetic algorithm for the design of cellular manufacturing system
integrating structural and operational parameters, Journal of Manufacturing Systems, Vol.44, No.1 (2017),
pp.115–142.
Karuno, Y. and Mishima, K., Makespan minimization scheduling for a truck-drone parcel delivery system: An integer
programming formulation, Proceedings of International Symposium on Scheduling (2019), pp.103–107.
Kim, S. and Moon, I., Traveling salesman problem with a drone station, IEEE Transactions on Systems, Man, and
Cybernetics: Systems, Vol.49, No.1 (2019), pp.42–52.
Laporte, G., The traveling salesman problem: An overview of exact and approximate algorithms, European Journal of
Operational Research, Vol.59, No.2 (1992), pp.231–247.
Lee, S. -M., Kim, J. W., and Myung, H., Split-and-merge-based genetic algorithm (SM-GA) for LEGO brick sculpture
optimization, IEEE Access, Vol.6 (2018), pp.40429–40438.
Mathew, N., Smith, S. L., and Waslander, S. L., Planning paths for package delivery in heterogeneous multirobot teams,
IEEE Transactions on Automation Science and Engineering, Vol.12, No.4 (2015), pp.1298–1308.
Mishima, K. and Karuno, Y., A parcel delivery scheduling problem with multiple unmanned aerial vehicles and a single
truck, Proceedings of the Scheduling Symposium (2019), pp.19–24.
Moghaddam, F. F., Moghaddam, R. F., and Cheriet, M., Carbon-aware distributed cloud: Multi-level grouping genetic
algorithm, Cluster Computing, Vol.18 (2015), pp.477–491.
Murray, C. C. and Chu, A. G., The flying sidekick traveling salesman problem: Optimization of drone-assisted parcel
delivery, Transportation Research Part C: Emerging Technologies, Vol.54 (2015), pp.86–109.
Mutingi, M. and Mbohwa, C., A fuzzy grouping genetic algorithm for care task assignment, Proceedings of the World
Congress on Engineering and Computer Science, Vol.1 (2014), pp.454–459.
Mutingi, M. and Onwubolu, G. C., Integrated cellular manufacturing system design and layout using group genetic
algorithms, Manufacturing System (2012), pp.205–222 (online), available from
<https://www.intechopen.com/chapters/36411>, (accessed on 6 April, 2021).
Othman, M. S., Shurbevski, A., Karuno, Y., and Nagamochi, H., Routing of carrier-vehicle systems with dedicated
last-stretch delivery vehicle and fixed carrier route, Journal of Information Processing, Vol.25 (2017), pp.655–666.
Ozcan, S. O., Dokeroglu, T., Cosar, A., and Yazici, A., A novel grouping genetic algorithm for the one-dimensional bin
packing problem on GPU, Proceedings of International Symposium on Computer and Information Sciences
(2016), pp.52–60.
Peng, K., Du, J., Lu, F., Sun, Q., Dong, Y., Zhou, P., and Hu, M., A hybrid genetic algorithm on routing and schedu ling
for vehicle-assisted multi-drone parcel delivery, IEEE Access, Vol.7 (2019), pp.49191–49200.
Ramos-Figueroa, O., Quiroz-Castellanos, M., Mezura-Montes, E., and Kharel, R., Variation operators for grouping
genetic algorithms: A review, Swarm and Evolutionary Computation, Vol.60 (2021), 100796.
Ramos-Figueroa, O., Quiroz-Castellanos, M., Mezura-Montes, E., and Schütze, O., Metaheuristics to solve grouping
problems: A review and a case study, Swarm and Evolutionary Computation, Vol.53 (2020), 100643.
Rossi, A., Singh, A., and Sevaux, M., A metaheuristic for the fixed job scheduling problem under spread time
constraints, Computers & Operations Research, Vol.37, No.6 (2010), pp.1045–1054.
Stewart, J., Google tests drone deliveries in Project Wing trials. BBC (online), available from
<http://www.bbc.com/news/technology-28964260>, (accessed on 6 April, 2021).
Tucker, A., Crampton, J., and Swift, S., RGFGA: An efficient representation and crossover for grouping genetic
algorithms, Evolutionary Computation, Vol.13, No.4 (2005), pp.477–499.
Ülker, Ö., Korkmaz, E. E., and Özcan, E., A grouping genetic algorithm using linear linkage encoding for bin packing,
Proceedings of International Conference on Parallel Problem Solving from Nature (2008), pp.1140–1149.
Zhuang, J., Wang, Y., Zhang, S., Wan, P., and Sun, C., A multi-antenna spectrum sensing scheme based on main
information extraction and genetic algorithm clustering, IEEE Access, Vol.7 (2019), pp.119620–119630.