![](bg4.png)
Statistics (mean on 10 runs)
Objective Time
1
Iteration Free Provider calls Paying Provider calls
Entire Matrix 104 051 534 5’02” - 9 604 451 388
Request when needed 104 429 079 3’28” - 9 604 18 483
Search with approximation 101 848 245 49’12” 10,9 9 604 662
1
Since the API is simulated, this time does not take into account the time required to get the data from the map provider
Figure 2: Benchmark results.
A time window is associated to each node. The
latest time of the time window is a strong constraint:
the solution cannot be accepted if the node is served
after the latest time of the time window. The earliest
time of the time window is not a constraint that can be
used to reject a solution. However, if a vehicle reaches
a node before the earliest time of the time window, it
shall not leave the node before the earliest time of the
time window. The objective function is the length of
the route (in meters) plus a penalty for the unrouted
nodes.
4.2 The Results
The main purpose of the example described here is
to verify if the method presented in section 3 reduces
the number of calls to a paid data provider and does
not deteriorate the value of the objective function. A
real travel time function matrix has been acquired to
a paid map provider. For each pair of points in the
98 points of the problem, the travel time is asked for
each 30 minutes in the clock of the day (this means we
have 98*98*48 = 460 992 travel times). As a cost and
computation time indication, getting the travel times
costed about 200C and took about 20 hours. The use
of asynchronous calls to the API could reduce this
time to a time between 1 or 2 hours.
With this data, we simulated the map provider
API. The number of calls to the simulated provider
is recorded during the search. The search with ap-
proximation is compared with two different methods.
In the first method, the entire data matrix is asked to
the provider. The problem is solved using the entire
matrix. In the second method, the map provider is
called each time a travel time is needed. The search
with approximation is used without a smart enrich-
ment method: when the travel time is requested to the
map provider, it is stored; in further local searches,
the real travel time for a given departure time is used
if it is already known and the travel time at midnight
is used otherwise. The stop condition is strong: the
solution is considered satisfying if the arrival times at
each point of the solution are exactly the same before
getting the real times and after getting the real times.
In other words, the solution is considered as satisfy-
ing if it has been calculated only with real travel times.
For each method, the solution is found using the Very
Large-Scale Neighborhood (VLSN) (Mouthuy et al.,
2011) implemented in the local search framework Os-
caR.cbls.
The results are shown in the table in Figure 2. The
figures in this table are the average figures of 10 runs.
The first column contains the value of the objective
function for each method. The value of the objective
function is almost identical for the first two methods,
and is a bit better with the search with approxima-
tion. As local search engines may fall into a local
minimum, one of the easiest meta-heuristics used to
escape local minima is to restart the search after per-
turbing the solution. This is what is (involuntarily)
done in the search with approximation, and it could
explain why the objective is better.
The second column contains the run time for ev-
ery method. The third column contains the number
of time the loop of Figure 1 is run. The search with
approximation takes significantly more time than the
two other methods. It is explained by the fact that it
requires more than 10 iterations of local search on av-
erage where the two other methods only require one
local search. However, the API of the map provider is
simulated, and it does not consider the time required
to request and receive the data from the map provider.
The last column contains the number of API calls.
The calls are separated between the calls for the travel
time at midnight and the calls for the travel time at
other time of the day. The calls at midnight are con-
sidered as free: they can be acquired from a free
data provider. This number is identical, no matter the
method. But the number of calls to a paid provider
is significantly reduced when using the search with
approximation: only 3.58% of the calls needed for
the second method are needed for the search with ap-
proximation. On the provider from which we got the
data for this benchmark, it represents a cost of about
0.25C, instead of about 6.7C for the second method
and about 200C for the first method.
ICORES 2021 - 10th International Conference on Operations Research and Enterprise Systems
436