between D
2
and i. In other words, we choose the mo-
ment where V
2
leaves the depot to visit customer i in
such a way that both V
1
and V
2
arrive at the same time
at customer’s i location.
3.2 Neighbourhood Structure
We define a neighbour of a solution S as a solution
in which we swap the positions of two random cus-
tomers in one or both tours. Thus, to generate a neigh-
bour solution:
• We start by choosing 2 random customers i and j
among all the customers to be visited (including
“pickup” customers and “delivery” customers);
• If at least one of these customers is a “pickup”
customer (ie: he requires a visit of V
1
only), then
we swap the positions of i and j in V
1
’s tour;
• If the two chosen customers are “delivery” cus-
tomers (ie: they require a visit of both vehicles),
then we swap positions of i and j either in V
1
’s
tour, or in V
2
’s tour, or in both tours (we choose
randomly one of these three strategies).
So, as it is described in Figure 2, the neighbour so-
lution (on the right side) is obtained by swapping the
positions of customer 1 and customer 3. In the ini-
tial solution, customer 1 is the first customer to be
visited by both V
1
and V
2
, while customer 3 is at the
third position in V
1
’s tour, and at the second position
in V
2
’s tour. A neighbour solution is then generated
by moving customer 1 from positions [1,1] to [3,2]
and customer 3 from positions [3,2] to [1, 1].
4 COMPUTATIONAL RESULTS
The heuristic and the ILP model presented above were
implemented in Java and CPLEX 12.9. Both were
executed on AMD A10-7700K Radeon R7, 3.40 GHz
With 8 GB RAM.
To the best of our knowledge, there are no bench-
mark instances for simultaneous vehicle routing prob-
lems with pickup & delivery. Therefore, we tested
our algorithm on the Euclidian PDTSP instances gen-
erated by (Gendreau et al., 1999), which consider a
single depot for each instance. The benchmark con-
tains 180 instances where the number of customers
varies between 25 and 200. We adapted the instances
to fit our constraints by considering the depot and the
first customer of each instance as the depots of the two
vehicles considered in our problem.
However, to the best of our knowledge, there are
no papers dealing with the same problem as ours, so,
we have compared our results to the optimal solutions
found by our ILP model.
Concerning the simulated annealing parameters,
several values have been tested for the initial tempera-
ture T
0
and the parameter α. In the following, we con-
sider T
0
= 4800, α = 0.95, and maxIterations = 200.
Table 1 shows the average results obtained by our
simulated annealing for the 6 classes of instances (25,
50, 75, 100, 150, and 200 nodes).
The first column represents the class of instances
(the number of nodes), the second is the average to-
tal travel times obtained by our simulated annealing
on the 30 instances tested for each class. The third
column gives the average V
1
travel times, while the
fourth column represents the average V
2
travel times
(note that total travel times = V
1
travel times + V
2
travel times). The fifth column shows the average tar-
diness obtained by the algorithm. For each instance,
the sum of tardiness is the sum of the gaps between
the arrival time of V
1
and the arrival time of V
2
at each
customer’s location. In other words, given a solution,
tardiness =
∑
i∈N
d
t
2,i
−t
1,i
. Note that tardiness concerns
only “delivery” customers and its value is always pos-
itive because we have the constraint t
2,i
≥ t
1,i
. The last
column gives the CPU time in ms.
First, we note that the computational times are
very short, even for the largest instances. Further-
more, we see that pickup & delivery tours (vehicle V
1
)
are more costly than concrete delivery tours (V
2
) be-
cause they involve more customers. However, know-
ing that the number of customers visited by V
1
is about
the double of the number of customers visited by V
2
in the considered instances, the impact of V
2
’s tours
may appear relatively important (it represents more
than 40% of the total travel times for all classes of in-
stances). This can be explained by the fact that V
1
’s
tour are more flexible than V
2
’s ones, since V
2
is sub-
ject to a constraint that enforces it to do not visit a
customer before V
1
. Thus, good solutions may be re-
jected because they do not satisfy this constraint.
Table 2 shows a comparison between simulated
annealing results and the optimal solutions found by
our ILP model. Note that we could not obtain opti-
mal solutions in reasonable time for large instances
(≥ 75). Thus, in the following table, we do not
compare all the instances as in table 1, only 14 in-
stances have been compared, the first 10 instances of
25 nodes, and the first 4 instances of 50 nodes.
First, we observe that our simulated annealing ob-
tained very satisfying results. The solutions found are
globally close to optimal solutions, and the computa-
tional times are very much shorter (up to x 27000).
Furthermore, for large instances, optimal solutions
could not be obtained in reasonable time, contrary to
Simulated Annealing Approach for the Vehicle Routing Problem with Synchronized Visits
301