4.1. Outline
We formulate an MILP as the proposed method to calculate flight schedules by optimizing which bases express drones visit and the headway (departure interval) between each local drone and each express drone at base 0. We define a binary variable that is 1 if express drones visit base j and 0 if they do not. Furthermore, because flight scheduling is tantamount to calculating the departure and arrival times of the drones at each base, we denote the departure times of the first flight of the express and local drones at base j by , respectively, and denote the arrival times by , respectively. Because the first local drone departs from base 0 at time 0 and the first express drone departs from base 0 at time , they are represented as , respectively.
To formulate an MILP for which an optimal solution exists, we calculate flight schedules considering the smallest increment in the timetable. As described in
Section 3, the variable
has the constraint
, which includes an inequality without an equals sign; that is, the feasible region is an open set, which may result in an MILP with no optimal solution. Therefore, we define a constant
that represents the smallest increment in the timetable, and the flight interval
and the departure and arrival times
are all multiples of
. This makes the constraint
, and the feasible region is a closed set. Note that we should set
to an integer value in principle, such as 10 s or 1 min.
To consider the transportation of packages between all bases, we calculate the flight schedules of two laps for local drones and express drones (
Figure 6). The two-lap calculation allows for the consideration of transportation that spans from base 0 to the next itinerant flight across base 0, for example, from base
to base 1. For convenience, we denote the numbers of the bases to be visited in the second round by
.
Figure 6 shows examples of flight schedules for two laps of routes and the graphs of a local drone and express drone on the first flight.
By considering the flight schedules for two laps of routes, we can formulate the proposed method as an MILP using [
10] on railways. The constants and sets are listed in
Table 1, and the decision and auxiliary variables are listed in
Table 2.
Our MILP is formalized as follows:
where
. Equation (
3) is the objective function that we described in
Section 4.2 and indicates the total transportation times of packages between each base. In
Section 4.2, we also described Equations (
4)–(
22), which are equations for calculating the transportation times of packages between each base. Equations (
23)–(44) are the constraints that we described in
Section 4.3. Equations (
23)–(
26) are the constraints on the flight route of express drones that we described in
Section 4.3.1; Equations (
27)–(
35) are the constraints on the timetables of drones that we described in
Section 4.3.2; and Equations (
36)–(44) are the constraints on the connections between drones that we described in
Section 4.3.3. Of these, Equations (
23)–(
26) and Equation (
28), which represents the timetable for express drones, differ significantly from those for the train scheduling problem in [
10].
4.2. Objective Function
We use the objective function to minimize the total time required to transport all packages. We define a set
of bases for two laps of the drones’ route and a set
from base
i to base
j as a subset of
. Let
(
) be the time required to transport packages from base
i to base
j. The objective function is expressed as
The transportation time
represents the fastest time from base
i to
j and is expressed as the arrival time of a drone at base
j minus the departure time from base
i.
Each time required to transport packages between each base can be obtained with a flight schedule of only one lap or two laps of the drones. We formulate transportation times by dividing them into these cases. Because is defined as the set of bases for two laps, the part after base N represents the second lap. Therefore, we divide the case according to whether the value of index j of the transportation time is greater than N.
We consider the case in which transportation times can be formulated only in terms of the flight schedule of one lap of the drones (). Even if only a part of the section from base i to j is available for transportation by an express drone, the transportation time varies significantly. We divide the case into four groups according to whether bases i and j are visited by express drones and denote each transportation time by variables (). The indices L and X in these variables are symbols for local and express drones, respectively. They also indicate which type of drone departs from base i and which type arrives at base j. For example, is the transportation time when a local drone departs from base i and an express drone arrives at base j. Note that is when and when . The details of the four transportation times are described below.
Consider
in the case in which both bases
i and
j are not visited by express drones (
). If multiple bases are visited by express drones between bases
and
, it is possible for an express drone to transport packages a section along the way, which may be faster than a local drone transporting packages along the entire section from base
i to
j. Let
be the base closest to
i and
be the base closest to
j among the bases visited by express drones in the section from
to
. In this case, the fastest transportation from base
i to
j can be achieved by a local drone transporting packages from base
i to
, an express drone transporting packages from base
to
, and a local drone transporting packages from base
to
j; that is,
is the base for transferring packages from a local drone to an express drone and
is the base for transferring packages from an express drone to a local drone. Let
be the variables for the connections of local and express drones at bases
, respectively.
represents the flight number of the local drone that connects to the first express drone at base
.
represents the flight number of the local drone that the first express drone connects to at base
.
is expressed as the following equation using
:
The formulation of the variables
is described in
Section 4.3.
Consider
in the case in which base
i is not visited by express drones (
) and base
j is visited by express drones (
). If more than one base is visited by express drones between
and
, it is possible to transport packages from
i to
using a local drone and
to
j using an express drone, which may be faster.
is expressed as the following equation using
:
Consider
in the case in which both base
i and
j are visited by express drones (
). In this case,
is expressed as follows because an express drone can transport packages along the entire section:
Consider
in the case in which base
i is visited by express drones (
) and base
j is not visited by express drones (
). If more than one base is visited by express drones between
and
, it is possible to transport packages from
i to
using an express drone and
to
j using a local drone, which may be faster.
is expressed as the following equation using
:
The transportation time
(
) is defined as the time required for a local drone to transport packages along the entire section from base
i to
j without transferring packages at intermediate bases and is expressed as the following equation:
For transportation times
, if no base is visited by express drones between bases
and
, or if there is one section from base
i to
j (
), packages cannot be transported by express drones. Furthermore, even if transportation by an express drone is possible, it is inefficient to use an express drone if express drones do not overtake local drones on the timetable. In such cases, the fastest transportation method is to use a local drone for the entire section. Therefore, it is necessary to compare
,
, and
with
, and select the one with the smaller value to obtain the fastest transportation time for each section.
The transportation time between each base
(
) in the case of
can be expressed as follows:
In the first half of each line of Equation (
9), the case conditions for
, and
are expressed as a product of
and
. In the second half of the line, the fastest transportation times are obtained for each case, and the average waiting time
or
for packages to depart base
i is added. The waiting time is
for bases visited by express drones and
for bases not visited. Note that
may be decimals; hence,
is a real-valued variable.
Next, we consider the transportation times for the case in which two laps of the flight schedule are required (
). As described in
Section 3, the departure times of the
k-th local and express drones at base
N (base 0) are
, respectively. Therefore, drones may stay at base
N for a long time to adjust their time. In the case of a long dwell time, the orders of the arrival and departure of drones at base
N do not necessarily coincide, as shown in
Figure 7. Therefore, it is necessary to consider the possibility of a connection between a local drone and an express drone at base
N.
First, we consider the transportation times from base
N to
j (
). We divide the case of the arrival of a local drone at base
N and the case of the arrival of an express drone. In the former case, let the times required to reach base
j be the variables
. The first of the upper indices of these variables indicates which type of drone departs from base
N, and the second index indicates which type of drone arrives at base
j. Now, we define a variable
that represents the number of flights of the local drone connecting to the first express drone at each base. When
, variables
are expressed as follows:
Equations (
10)–(12) include a dwell time at base
N or a waiting time for a connection from a local drone to an express drone. Equation (
10) represents the time required for a single local drone to reach base
j without transferring packages at base
N. Equation (11) represents the time required to transfer packages to an express drone at base
N and for an express drone to transport them to base
j. Equation (12) represents the transportation time for first transferring packages to an express drone at base
N, then transferring packages to a local drone at one of the bases from
to
, and finally reaching base
j.
In the case of the arrival of an express drone at base
N, let the variables
denote the time required to reach base
j. The meaning of the upper indices in these variables is the same as that of the variables
. Let
be a variable representing that the first express drone connects to the (
)-th local drone at base
and
be a variable representing the number of express drones that left base 0 between time 0 and the time the first express drone returns to base 0.
are expressed as the following equations:
Equations (
13)–(15) include a dwell time at base
N or a waiting time for a connection from an express drone to a local drone, respectively. Equation (
13) represents the time required for a single express drone to reach base
j without transferring packages at base
N. Equation (14) represents the time when packages are not transferred at base
N, but are transferred to a local drone at one of the bases from
to
, and then transferred to base
j. Equation (15) represents the time required to transfer packages to a local drone at base
N and then to base
j using the local drone.
Next, we formulate the transportation times from base
i to
j (
) using the transportation times from base
N to
j. The transportation times for the arrival of a local drone at base
N are defined as the variables
and the transportation times for the arrival of an express drone at base
N as the variables
. The first of the upper indices of these variables indicates which type of drone departs from base
i, and the second index indicates which type of drone reaches base
j. * denotes whether the drone is an express drone (
X) or local drone (
L). From base
i to
N, packages are transported by a single local drone, and
is expressed as the following equation:
The first half of Equations (
16) and (17) represents the transportation times from base
i to
N, and the second half is the transportation times from base
N to
j. In the second half of each equation, the transportation times are compared between transferring packages to an express drone at base
N and not transferring packages to an express drone at base
N, and the smaller value is selected. To indicate whether base
j is visited by express drones,
for expression (
16), and
for expression (17). Note that the expressions (
16) and (17) are valid regardless of whether base
i is visited by express drones. Next, we consider the scenario in which
. Two possible cases exist, one in which an express drone is used to transport packages from base
i to
N and the other in which packages are switched from a local drone to an express drone between bases
and
. This is expressed as the following equation:
The first half of Equations (
18)–(21) represents the transportation times from base
i to
N, and the second half represents the transportation times from base
N to
j. In the second half of each equation, the transportation times are compared between the case where packages are transferred to a local drone at base
N and the case where packages are not transferred, and the smaller value is selected. To indicate whether bases
are visited by express drones,
in Equation (
18),
in Equation (19),
in Equation (20), and
in Equation (21).
In the case of base
, each transportation time
between each base is expressed as follows:
Equation (
22) is constructed similarly to Equation (
9), with
divided into cases based on whether they are bases visited by express drones, and the fastest transportation time is obtained in each case. Equations (
9) and (
22) provide the fastest transportation times between all logistics bases. Note that some of the formulas up to equation (
22) are non-linear due to products of variables or minimum value functions.
Appendix A.1–
Appendix A.3 describe how to transform these into linear expressions.