At line 1, the candidate solutions are randomly
initialized over the entire search space. Prior to the
first iteration of the GA, the algorithm evaluates the
candidate solutions of the generated population, at
line 2. After a fixed number of iterations (that were
experimentally determined to get good solutions
within reasonable computing time), a termination
criterion is applied at line 3.
The crossover operation is the first step at every
iteration of the GA, involving two parent solutions
and generating two child solutions (at line 4). In fact,
three variants of this two-point crossover have been
implemented in our algorithm: a crossover variant for
the take-off points of the flights, a crossover variant
for the rendezvous locations of the flights, and a
crossover variant for the assignments of the
customers to the UAV flights. Then, the algorithm
proceeds with the application of a mutation operator
on the children solutions (at line 5), by inverting a
subsection of the mutating solution. Again, three
different mutation operations have been implemented
depending on whether we were mutating the take-off
points of the flights, the rendezvous locations of the
flights, or the assignments of the customers to the
UAV flight missions. Once done the evaluation of the
new candidate solutions generated at the concerned
iterations (at line 6), the algorithm proceeds to replace
the parent solutions by the children solutions (at line
7). We apply elitism, where the n best solutions of the
parents’ generation replace the worst solutions of the
children’s generation.
4.3 Implementation
We have implemented this algorithm with Python 3
programming language with the help of the
evolutionary algorithm toolkit DEAP (Fortin et al.,
2012), an abbreviation for ‘Distributed Evolutionary
Algorithms in Python’. DEAP is an evolutionary
computation framework that allows rapid prototyping
of diverse genetic algorithms, including genetic
algorithms, genetic programming, evolution
strategies, covariance matrix adaptation evolution
strategy, particle swarm optimisation, and many
more.
In our GA, the data set obtained after assessing a
particular solution consists of (a) the best visiting
sequence of the customers assigned to each flight, (b)
the flight time of the UAV for each flight, (c) the
waiting time of the GV for each flight, and (d) the
total moving time of the UAV-GV tandem.
In order to test our solution approach, we have
used clouds of spread locations taken from the
clients’ position within Capacitated VRP benchmark
instances. For example, the CVRPLIB - Capacitated
Vehicle Routing Problem Library.
In what follows, we present the performance
obtained when tackling with the A-n32-k5 instance
proposed by Uchoa et al., (2014).
We have studied the possible influence of three
factors. To study the influence of the customers
layout, two different roads have been included in the
first factor, (see Figure 3). As the second factor, two
different UAV speeds have been studied, (a) =20
km/h and (b) =30 km/h. In both cases, the GV and
UAV-GV tandem moves at same speed, which is
=60 km/h. As the third factor, we have studied three
different values for the maximum number of visits in
each route: H=3,4,5. The endurance of the UAV is in
all the cases limited to E=1.2 hours.
Figure 3: Problem layout.
The GA implemented in this study starts with an
initial population of 100 solutions randomly
generated, and it stops after 100 generations. We have
repeated this for 30 runs, and written down the
average times of best solution over the 30 runs. Each
of the formerly described mutation operator is applied
to each of the three components with a probability of
a 2%. Similarly, each of the mentioned crossover
operators is applied with a 50% probability.
5 COMPUTATIONAL RESULTS
This section presents the results obtained by the
proposed GA.
Table 1 contains the averages of 30 runs of the
algorithm for each combination of problem
parameters, namely, road configuration, UAV flying
speed and maximum number of visits in each route.
This makes 360 runs. The ‘Mission time’ caption
refers to the TMT, expressed as the hours passed
between the depart from the origin of the road and the