and perform several local searches in order to reach a
best solution. In Step 2 of the main steps of Figure 6,
if a certain threshold T h is not attained, we diversify
the search by using the function Build
1
to build the
neighborhood. In this step, we choose randomly two
vehicles, vehicle
1
and vehicle
2
, and we select two
services of each chosen vehicle i.e. service
1
1
, service
2
1
,
service
1
2
and service
2
2
. We check whether the swap of
these services (the first service of the first vehicle with
the first service of the second vehicle, and the second
service of the first vehicle with the second service of
the second vehicle) respects the capacity of the vehi-
cles, and we swap them as explained. In this way, we
explore the neighbors and we choose the best that mi-
nimizes the cost for the worst scenario. The search
progresses by iteratively moving from the current so-
lution to an improved solution. In Step 4 of the main
steps of this Figure, if the threshold Th is attained, we
intensify the search by using the function Build
2
to
build the neighborhood which allows the exchange of
two services of the same vehicle. The tabu based stra-
tegy incorporates a tabu list in the selection mecha-
nism that forbids the selection of the non-improving
solution for a certain tabu tenure. Each visited explo-
red solution is then settled in the tabu list L to not be
visited again unless the tabu list reaches its expiration
point i.e. the tabu status of a move is removed if it be-
longs to the list L and it exceeds MaxIter iterations.
For the intensification and the diversification of the
search, both are achieved via the functions Build
1
and Build
2
.
4 COMPUTATIONAL
EXPERIMENTS
In this section, we introduce a set of computational
experiments for which we apply each of these algo-
rithms; the heuristic algorithm and the tabu search
one. The benchmark of instances which we deal with
has not been treated before. We have run all these
instances with different number of scenarios and dif-
ferent densities of their corresponding networks in or-
der to evaluate the performance of each of the presen-
ted algorithms. The proposed algorithms are coded
in C++ and run on HP intel(R) Core(TM) i7 laptop
(with 2.80 Ghz and 16 GB of Ram). These test pro-
blem instances are studied for the first time and their
optimal solution values are not known. None of the
previous algorithms in the literature deals with such
type of instances. We work with sparse graphs having
a maximum degree of 3.
Consider the following notations:
• W S
H
: the worst scenario which is determined by
the heuristic algorithm.
• Cost
H
: the cost of the solution which is determi-
ned by the heuristic algorithm.
• CPU
H
: the time needed by the heuristic algorithm
to determine a solution.
• W S
T
: the worst scenario which is determined by
the tabu algorithm.
• Cost
T
:the cost of the solution which is determined
by the tabu algorithm.
• CPU
T
: the time needed by the tabu algorithm to
determine a solution.
The robust optimization that we apply via the de-
veloped algorithms allows us not only to get a robust
solution, but also it gives us the worst scenario that
may change upon the improvement of the solution as
we observe in the coming tables. In other terms, a
worst scenario of a solution determined by the heu-
ristic algorithm is not necessarily the same worst sce-
nario of the solution obtained by the tabu algorithm
after improvement. As a result, an improvement co-
mes in two directions: (1) obtaining a better solution
with a minimal cost and (2) improving the correspon-
ding worst scenario.
In Table 1, NI means no improvement i.e. the tabu
gives the same initial feasible solution determined by
the heuristic and cannot improve this solution after
passing 7 hours.
In Table 1, first of all, we notice that our greedy
heuristic succeeds to have the access to all the studied
instances with a very small CPU consuming time re-
gardless the quality of the found solution, whereas the
tabu algorithm did not succeed to have the access to
the big size instances.
Recall that G denotes a graph where V (G) denotes
the set of vertices and |V (G)| its cardinality, E(G) de-
notes the set of edges and |E(G)| its cardinality. The
set of required edges is represented by R, and the set
of different scenarios is represented by S. The used
fleet of vehicles is homogeneous where K denotes the
number of available vehicles and Q represents the ca-
pacity of each one. The different instances are ge-
nerated randomly i.e. the sparse network is genera-
ted randomly but respecting that |E(G)| = |V (G)|+ α
with 1 ≤ α ≤
|V (G)|
2
and that the maximum degree in
this network is 3. The costs over the scenarios are
all generated randomly too. The numerical instances
are divided into 3 groups: Groups A with 10 scena-
rios, Group B with 40 scenarios and Group C with
100 scenarios.
Capacitated Arc Routing Problem over Sparse Underlying Graph under Travel Costs Uncertainty
149