Exact methods based on node routing formulations for arc

Exact methods based on node routing formulations for
arc routing problems
Roberto Baldacci
Vittorio Maniezzo
Technical Report UBLCS-2004-10
May, 2004
Department of Computer Science
University of Bologna
Mura Anteo Zamboni 7
40127 Bologna (Italy)
The University of Bologna Department of Computer Science Research Technical Reports are available
in PDF and gzipped PostScript formats via anonymous FTP from the area ftp.cs.unibo.it:/pub/TR/UBLCS
or via WWW at URL http://www.cs.unibo.it/. Plain-text abstracts organized by year are available in the directory ABSTRACTS.
Recent Titles from the UBLCS Technical Report Series
2003-10 A Scalable Architecture for Responsive Auction Services Over the Internet, Amoroso, A., Fanzieri
F., June 2003.
2003-11 WSSecSpaces: a Secure Data-Driven Coordination Service for Web Services Applications, Lucchi,
R., Zavattaro, G., September 2003.
2003-12 Integrating Agent Communication Languages in Open Services Architectures, Dragoni, N., Gaspari, M., October 2003.
2003-13 Perfect load balancing on anonymous trees, Margara, L., Pistocchi, A., Vassura, M., October 2003.
2003-14 Towards Secure Epidemics: Detection and Removal of Malicious Peers in Epidemic-Style Protocols,
Jelasity, M., Montresor, A., Babaoglu, O., November 2003.
2003-15 Gossip-based Unstructured Overlay Networks: An Experimental Evaluation, Jelasity, M., Guerraoui, R., Kermarrec, A-M., van Steen, M., December 2003.
2003-16 Robust Aggregation Protocols for Large-Scale Overlay Networks, Montresor, A., Jelasity, M.,
Babaoglu, O., December 2003.
2004-1 A Reliable Protocol for Synchronous Rendezvous (Note), Wischik, L., Wischik, D., February 2004.
2004-2 Design and evaluation of a migration-based architecture for massively populated Internet Games, Gardenghi, L., Pifferi, S., D’Angelo, G., March 2004.
2004-3 Security, Probability and Priority in the tuple-space Coordination Model (Ph.D. Thesis), Lucchi, R.,
March 2004.
2004-4 A New Graph-theoretic Approach to Clustering, with Applications to Computer Vision (Ph.D Thesis),
Pavan., M., March 2004.
2004-5 Knowledge Management of Formal Mathematics and Interactive Theorem Proving (Ph.D. Thesis),
Sacerdoti Coen, C., March 2004.
2004-6 An architecture for Content Distribution Internetworking (Ph.D. Thesis), Turrini, E., March 2004.
2004-7 T-Man: Fast Gossip-based Construction of Large-Scale Overlay Topologies, Jelasity, M.,
Babaoglu, O., May 2004.
2004-8 A Robust Protocol for Building Superpeer Overlay Topologies, Montresor, A., May 2004.
2004-9 A Unified Approach to Structured, Semistructured and Unstructured Data, Magnani, M.,
Montesi, D., May 2004.
Exact methods based on node routing formulations for
arc routing problems
Roberto Baldacci2
Vittorio Maniezzo3
Technical Report UBLCS-2004-10
May, 2004
Abstract
This paper proposes a new transformation of arc routing problems into equivalents node routing problems,
with emphasis on the transformation of Capacitated Arc Routing Problems (CARP) into Capacitated Vehicle
Routing Problems (CVRP). For this last case, an analogue transformation has already been proposed in Pearn
et al. [21], where each required CARP arc was mapped onto a triplet of CVRP nodes. In our case, only 2 CVRP
nodes are needed for every CARP required arc. The transformed instances have a structure and a dimension
which make most CARP benchmarks solvable by state of the art CVRP techniques.
We thus propose a general purpose transformation of arc into node routing problems and new results on
lower bounds and exact methods for CARP instances.
. DISMI, University of Modena and Reggio Emilia, Viale Allegri 13, 42100 Reggio Emilia, Italy.
. Department of Computer Science, University of Bologna, Mura Anteo Zamboni, 7 40127 Bologna, Italy.
1
1 Introduction
K EYWORDS:
1
Arc Routing, Node Routing, Valid inequalities, Branch-and-Cut.
Introduction
Graph theory was born over an arc routing problem [11], and ever since both arc and node routing
problems have received continuous research attention. The connections between these two classes
of problems have been underlined by the transformation techniques that can translate an instance of
a problem of one class into an instance of a corresponding problem of the other class. In fact, every
problem variant in one class has a mirror image in the other one, thus making it possible to translate
research results between the two.
Nevertheless, at least from a computational perspective, node routing problems have received
much more attention than the corresponding arc routing ones, and there exist problems for which
research results are much more impressive for node routing than for their arc routing counterparts.
The most notable of these cases is probably the pair Capacitated Vehichle Routing Problem (CVRP)
/ Capacitated Arc Routing Problem (CARP); while for CVRP there exist a long established literature
on exact techniques, for the CARP there is as yet no full paper describing an exact algorithm (the only
one so far being has been proposed by Kiuchi et al. [15]).
In fact, a number of exact methods for the CVRP have been presented in the literature. Fukasawa
et al. [12] proposed an exact branch and cut and price method that is based on the Set Partitioning
formulation of the CVRP. The lower bound is obtained by solving the LP relaxation using the q-route
relaxation proposed by Christofides, Mingozzi and Toth [8] and adding to the linear program valid
inequalities. The objective is to achieve a lower bound that is not dominated by the LP relaxation.
Lysgaard, Letchford, and Eglese [19] proposed a branch-and-cut algorithm for the CVRP that uses
a variety of cutting planes, including capacity, framed capacity, comb, partial multistar, hypotour
and classical Gomory mixed integer cuts. Other branch-and-cut methods have been proposed by
Augerat et al. [3], Ralphs et al. [22] and by Baldacci, Hadjiconstantinou and Mingozzi [5]. All the
exact methods cited above were capable of solving to optimality the largest instance of the symmetric
CVRP (135 customers) reported in the literature. In particular, the method of Fukasawa et al. [12] can
consistently solve CVRP instances involving up to 135 customers.
This paper presents the essential component of a methodology to translate arc routing into node
routing problems and expands and implements it for the case CVRP / CARP. This results in an
improvement over the previously known transformation ([21]) as it makes use of less transformed
nodes; this, in turns, permits to use state-of-art exact techniques for the CVRP to solve to optimality
hard benchmarks from the CARP literature. Several instances could thus be solved to optimality for
the first time.
The paper is organized as follows. Section 2 presents the transformation from arc routing into
node routing and specifically from CARP to CVRP, Section 3 describes the CVRP branch-and-cut
method that was used to solve the translated instances and Section 4 has the obtained computational
results.
2
Arc and node routing
Arc routing problems actually consist of a variety of problems, the optimization ones go from identifying the least cost cycle that traverses each edge of a graph at least once (chinese postman problem,
. Corresponding author: R. Baldacci, DISMI, University of Modena and Reggio Emilia, Viale A. Allegri 13,
42100 Reggio Emilia (Italy), Tel. +39 0522 522229 Fax +39 0522 522230 e-mail: [email protected]
UBLCS-2004-10
2
2 Arc and node routing
CPP), or a subset of the edges (rural postman problem, RPP), to identifying cycles of least global
cost ( -CPP), possibly using a depot node and considering arc and vehicle capacities (CARP). For
a full overview on the topic the reader is referred for example to [10], [1], [13]. All these problems
require to identify a cycle or a set of cycles through a given set of arcs. A basic transformation would
therefore require to identify a cycle or a set of cycles through a given set of nodes. This can be later
extended to consider capacities associated with requests.
2.1 Models and notation
The CPP and the RPP ask for defining a cycle which traverses all / a subset of edges of a
given graph at least once so that the cycle cost is minimized. The CARP asks for defining the routes
for a given fleet of identical vehicles which collectively collect all goods distributed over some of the
edges (the edges) of a given graph , so that the capacity of each vehicle is not exceeded
and the total collection cost is minimized.
All problems can be formulated for symmetric or asymmetric (directed) graphs, giving rise to
variants of the same basic problems.
In the undirected case, the problems can be modeled as follows. Given:
an undirected weighted graph;
!#"#"#"$&%(' set of % nodes, (plus a node corresponding to the depot in the case of the
CARP);
set of edges;
*)+
.-
set of required edges ( )
+
,
for the CPP);
set of vertices containing the endpoints of the edges in ) (and the depot for the CARP);
*/10 2 cost of edge 3 45'768 .
The CPP and the RPP ask for defining a cycle which traverses each edge in )
minimizes the cycle length.
For the CARP it is furthermore necessary to introduce:
at least once and
available vehicles, each one of capacity 9 ;
0 2 request associated with edge 3 45':6; :
0 2=<?>A@
@
CBD3 45':6 )FE
CBD3 45':6;HG ) "
The CARP asks for defining the routes of the vehicles, each route starting and ending at the depot,
so that each edge in ) is serviced by exactly one vehicle, the total request serviced by each vehicle
does not exceed its capacity 9 , and the total routes cost is minimized. Notice that each required edge
can be traversed by more than one vehicle, but only one of these traversal is declared to service the
edge, all other ones are for deadheading.
UBLCS-2004-10
3
2 Arc and node routing
2.2 Graph transformation
The transformation we propose makes use of two nodes for each required arc of the original arc
routing instance. That is, we work on an undirected graph ? , where ? #"#"#"1 ) ' is
the set of nodes, corresponding to the endpoint nodes of the required arcs, each node in - being
replicated as many times as are the required edges incident to it. The set of edges is such as to make
completely connected.
Each edge 3 45' in has a cost /10 2 defined as follows. Every node 6 has only one incident
edge which corresponds to an edge in ) . Let 3 3& ' be that edge. Moreover, let be a known
upper bound to the optimal solution cost of the arc routing instance. The cost /30 2 is then computed as
follows:
/10 2 < /10C0 1 4 /22
if 33&' $44'
if 3 3&' $4 4'
(1)
1 4 being the cost of the shortest path in from to 4 , where and 4 denote the nodes which
were transformed into and 4 , respectively. Note that the cost of a required edge 3 45' in can be
considered both explicitly and implicitly, if the arc is part of a minimum cost path. The use of such a
path would imply deadheading over 3 45' .
Note that expressions (1) can be generalized by varying the coefficient parameter according to
which the required edge costs enter the redefined costs. A more general form is in fact as follows.
/10 2 < 1
/
0C0 C /10 2
1 4 /22
if 3&': $44 '
if 33&' $44'
(2)
with @ .
In the following subsections we will present how to extend this result to the CARP.
2.3 CARP: Pearn et al. transformation
The possibility to transform an undirected CARP instance into a CVRP one is well-known, having
been proposed in the literature
by Pearn et al. [21]. This transformation,
applied to a CARP
when
defined on graph with ) mandatory edges, results in a CVRP with 3 ) + 1 nodes. The transformation substitutes each edge 3 45' 6 ) of the CARP graph with a triplet of nodes, 0 2 , 0 2 and 20 .
The distance matrix is then redefined based on the shortest path distance 0 2 among endpoints of
each required edge 3 45':6 ) . The distances are defined as follows:
0 2 ! #"!$
<
% /10 2&*/ "!$ 0 "
@
2 ) / &
0 1$
/10 2 C B* + 0 2&, - 20
0 2 *! < %
.
, /.3#0=3
if 3 45' ' ( '
if 3 45' ' ( '
C! 0 2 (3)
(4)
"
(5)
CVRP requests (i.e., customer demands) become
12 3 H14352H6&2 3=
8 3 45':6 ) "
7 02 9
(6)
Figure 1 shows an example of this transformation.
UBLCS-2004-10
4
2 Arc and node routing
4
s
4
s
42
43
m
20
12
m
24
s
34
s
24
s
2
4
2
3
23
s
34
32
3
s
21
8
16
s
23
m
31
m
m
13
12
s
s
12
1
1
13
Figure 1. Pearn et al. transformation of a simple graph
The distance matrix of the CVRP instance resulting from the transformation is presented in in
Table 1.
By means of this transformation any feasible solution to the CARP can be transformed into a
feasible set of tours for the CVRP of no greater cost. Some CVRP solutions could have lower costs
than the corresponding CARP solutions, but the optimal CVRP solution corresponds to a CARP one
with the same cost.
1
2.4
1
0
2
10
4
16
9
13
11
23
17
25
2
0
4
12
6
18
11
15
13
25
19
27
Table 1. Complete distance matrix for the example of Figure 1
4
0
4
-
10
12
4
0
14
10
3
7
5
17
11
19
4
6
14
0
8
20
13
17
15
27
21
29
8
0
8
-
16
18
10
20
8
0
9
5
11
23
9
25
9
11
3
13
9
0
2
6
4
16
10
18
2
0
2
-
13
15
7
17
5
6
2
0
8
20
6
22
11
13
5
15
11
4
8
0
6
18
12
20
6
0
6
-
23
25
17
27
23
16
20
18
6
0
24
8
17
19
11
21
9
10
6
12
24
0
10
26
10
0
10
25
27
19
29
25
18
22
20
8
26
10
0
CARP: The new transformation
The transformation introduced in Section 2.2 must be extended in order to deal with the CARP. Specif ically, the undirected graph , has the nodes @ ##"#"#"$ ) ' corresponding to the endpoint nodes of the CARP required arcs plus a depot node (node 0), each node in - being replicated
as many times as are the required edges incident to it, while the set of edges is still defined so to make
completely connected. Given an edge 3 45' 6 ) , 0 2 ! 20 'F6 denotes the corresponding edge in
)
, and is the set of edges in corresponding to the required CARP edges in .
UBLCS-2004-10
5
2 Arc and node routing
42
43
4
12
20
24
2
4
34
23
3
32
21
8
16
31
1
0
12
13
Figure 2. The new transformation of the graph of Figure 1
The costs /10 2 of edges 3 45' in is defined by expressions (1) (as an instance of 2), which in the
case of the CARP must be specialized as follows:
/10 2 / /10 C0 1 4 /22
<
if 33&' $44'
if 3 3&' $4 4' and @ and 4 @
(7)
/10 0 0 (8)
1 4 being the cost of the shortest path in from to 4 , where and 4 denote the CARP nodes
which were transformed into and 4 , respectively.
CVRP requests (i.e., customer demands) become
0 H 2 02 9
8 3 45':6 ) "
(9)
Figure 2 shows an example of this transformation, where only the edges corresponding to the
CARP required ones have been drawn. The application of this transformation to the graph of Figure
1 would result in the instance shown in Figure 2. Since the CARP instance has an optimal cost of 40,
)
it is possible to use an upper bound , thus obtaining the complete distance matrix shown in
Table 2.
Having all the elements of the transformed CVRP instance, it is now possible to write the complete
transformed model, which is just a standard CVRP. A well-known CVRP formulation, originally
proposed by Laporte, Nobert and Desrochers [16], uses two-index variables; the formulation is as
follows. Let FG @ ' . Let
+ ' . For a given 6
we denote by the
complementary set of nodes H
G .
Let ! be the minimum number of vehicles of capacity 9 needed to satisfy the demand of customers in 6
. Also, we use ! to indicate the total demand of the node subset + , that is
! 0 . Let 0 2 be an integer variable which may take value @ # ' , 8 3 45':6 .
0
UBLCS-2004-10
6
2 Arc and node routing
Table 2. Complete distance matrix for the example of Figure 2
0 %
%
%
%
0
4
12
8
20
10
14
14
26
22
30
4
- -41
12
24
14
18
18
30
26
34
12 -41
20
16
6
10
10
22
18
26
8
12
20
- -41
18
22
22
34
30
38
20 24 16 -41
14
10
18
30
18
34
10 14
6
18
14
- -41
8
20
16
24
14 18 10 22 10 -41
12
24
12
28
% 14 18 10 22 18
8
12
- -41
20
28
% 26 30 22 34 30 20 24 -41
32
16
% 22 26 18 30 18 16 12 20 32
- -41
%
30
34
26
38
34
24
28
28
16 -41
-
The CVRP can be formulated as the following integer program.
) -*
Min
/10 2 0 2
0 2 (10)
0 2& 20 s. t. 2 2
0 5 2
0 5 2
0 2 052
C2 0 2&
0 2 0 52
02 !$ 8 *6
(11)
(12)
(13)
0 2 6 # ' 8 3 45' 6 "
@
(14)
2 8 6;
!
Constraints (11) are the degree constraints for each customer. Constraints (12) are the capacity constraints (also called generalized subtour elimination constraints) which, for any subset of customers
that does not include the depot, impose that ! vehicles enter and leave . It is NP-hard to compute
! , since it corresponds to solve a bin-packing problem where ! is the minimum number of bins
) of capacity 9 that are needed for packing the quantities 0 8 6 . However, formulation remains valid if ! is replaced by a lower bound on its value, such as ! 9 , where denotes
the smallest integer not less than . Constraint (13) states that vehicles must leave and return to
the depot while constraints (14) are the integrality constraints.
For the new transformation the following results hold.
Lemma
1 Every CARP solution "! of cost ! has a corresponding CVRP solution # of cost !( ) .
Proof. Since required edges 3 45' in correspond one-to-one to edges 0 2 ! 20 ' in , it is sufficient
to traverse edges 0 2 ! 20 ' in in the same order and with the same direction as the edges 3 45' in
! . Assuming no unnecessary deadheading in "! , that is, if after servicing a required node each veUBLCS-2004-10
7
3
Branch-and-cut algorithm
hicle follows the minimum cost path leading to an endpoint of another required node, the assertion
immediately follows.
) Lemma 2 Every CVRP solution # of cost less than or equal to CARP solution ! of cost ) .
has a corresponding
Proof. The CVRP solution traverses all edges in ) with an induced cost of ) . To obtain the
)
corresponding CARP solution it is sufficient to traverse edges 3 45'F6
in the same order and with
the same direction as the edges 0 2 ! 20 ' in . It is easy to see that using costs /#0 2 ' the corresponding CARP solution has cost # ) .
The following theorem shows the correctness of the transformation described above.
Theorem 1 Every optimal CARP solution ! of cost ! is in one-to-one correspondence with an optimal
CVRP solution of cost : ! ) . Conversely, every optimal CVRP solution of cost
) .
is in one-to-one correspondence with an optimal CARP solution ! of cost ! Proof. Immediately follows from lemmas 1 and 2.
2.5 Computational issues
The transformation presented in Section 2.4 maps any CARP instance into a corresponding CVRP
one. However, a slightly different mapping could result in significant computational gains when
passing the transformed instance to a mathematical programming software package. The transformed instance is not a general CVRP anymore, but more generally a node routing problem instance
as additional constraints are added.
The idea is to eliminate the values and force explicitly in the solution every arc connecting
the two nodes associated to obligatory CARP arcs. That is, costs are always defined as expressions
(8) and
/10 2 <
@
if 33 &': $44 '
/10C0 1 4 /22 if 33&' $44' and @ and 4 @
(15)
and the formulation of the transformed problem, called Edge CVRP (ECVRP), is
) - *
Min
0 2 /10 2 0 2
7
(16)
)
s. t. C$3C$3C $ 3C $ and
0 2 8 3 45:
' 6 ) "
3
(17)
Branch-and-cut algorithm
In this section we describe a branch-and-cut algorithm for the exact solution of CARP based on formulation ECVRP described in Section 2.4.
UBLCS-2004-10
8
3
Branch-and-cut algorithm
The Branch-and-cut method was introduced by Padberg and Rinaldi [20] to solve large instances
of the TSP. In this section we describe the details of our implementation; for an extensive and comprehensive description of this method see [14].
The algorithm has been built within the CPLEX 9.0 framework using the CPLEX callback functions (see [9]). By means of these functions the programmer can almost completely customize the
general approach embedded into CPLEX. For example, one can choose the next node to explore in
the branch-decision-tree, choose the branching variable or define a problem dependent branching
scheme, separate and add his own cutting planes, apply his own heuristic methods, etc. Below the
most important implementation issues are discussed.
3.1 Lower and upper bounds
The lower bound at each node of the branch-decision-tree was computed by solving the LP relaxation
of model ECVRP without capacity constraints (12) strengthened with the addition of cutting planes.
To generate these cutting planes, separation algorithms are needed. An exact separation algorithm
for a given class of inequalities is a routine which takes as input an LP solution vector and outputs one or more violated inequalities in that class (if any exist). A heuristic separation algorithm is
similar, except that it may fail to detect violated inequalities in the class. In particular, we used the
package of routines developed by Lysgaard [18] written in the C programming language, that were
used by Lysgaard, Letchford, and Eglese [19] for solving the CVRP. The package contains separation
routines for capacity inequalities (CIs), homogeneous multistar inequalities (HMIs), generalized large
multistar inequalities (GLMIs), framed capacity inequalities (FCIs), strengthened comb inequalities
(SCIs), and hypotour inequalities (HIs). For a complete description of both the classes of inequalities
and the separation algorithms the interested reader is referred to [19].
All the above separation procedures make use of shrinking procedures in order to speed up the
computation. These procedures work on the weighted graph induced by the edges 3 45' with
value 0 2 > @ , which is called the support graph of . Among such procedures, the simplest one
consider any edge 3 45' of not incident to the depot and with value 1 and shrink it in the
following way: the two endpoints, and 4 , are substituted by a supernode, say / , with demand
0 2 ; the value of any edge / *.' is defined 0 2 . This shrinking procedure is
applied recursively until no edge with value 1 remains. Note that in the shrunk graph, the sum of
the values of the edges incident to every supernode or node, except the depot, is equal to 2. Then, if
in any step of the shrinking procedure, a supernode with demand greater than 9 arises, the capacity
constraint associated to the set of its corresponding original nodes is, obviously, violated. It can be
easily shown that this procedure cannot miss a violated inequality, if one exists. Other examples of
shrinking procedures are described in [19] and in [2].
The use of such shrinking procedures is therefore particular effective in the case of our LP solution
vector due to the presence of constraints (17). Roughly speaking, we can say that the complexity
of the separation procedures on graph for an instances with ) required edges is equivalent to
the complexity of the separation procedures on a CVRP instance involving ) customers.
In a branch-and-cut framework, good initial upper bounds can drastically reduce the solution
time and number of branch-decision-tree nodes. Therefore, in the computational results reported in
Section 4, the initial upper bounds were set equal to the best upper bounds known reported in [6].
3.2 Separation strategy
We have conducted several preliminary experiments to identify a good separation strategy in order
to design an efficient branch-and-cut algorithm. Among the different strategies tested, we also tested
UBLCS-2004-10
9
4 Computational results
the separation strategy proposed in [19]. As a result of our experimentation we decided to treat the
root node differently from the other nodes of the branching tree and to adopt the following strategies.
The strategy for the root node is as follows. First we separate CIs. If the maximum violation of
the violated CIs is more than 1.0, we reoptimize the LP, otherwise we consider separating SCIs and
if the maximum violation of the violated SCIs found is more than 0.2 we reoptimize the LP. Finally,
we proceed to the remaining classes of inequalities: FCIs, HMIs, GLMIs, and HIs. According to the
computational results reported in [19], we allow at most 20000 nodes to be explored in the search
tree for FCI separation. In addition, we disabled the separation of all the cuts embedded into CPLEX,
since their use increases the overall running time of the algorithm. To all separation routines we
imposed a maximum number of violated cuts to be identified equal to 70.
The strategy for the non-root nodes is simpler. We spend less time on separation at these nodes,
because we found it to be more effective to branch earlier than to spend much time on separation. We
call all separation routines once but the HMIs and we imposed to the separation routines a maximum
number of violated cuts to be identified equal to 30.
In order to speed up the computation and to keep the LP small when separation finishes at the
root node, we permanently deleted all cuts with positive slack. At the non-root nodes, we use a
somewhat different strategy. We constructed and solved an auxiliary problem consisting of the LP of
the current node strengthened with all the cuts identified, then we added to the current LP only the
tight cuts of the auxiliary problem. Other more efficient techniques to manage the cuts added to the
LP (dealing with a cut-pool) where not considered because the CPLEX framework does not provided
any callback function that allows to remove a cut from the current subproblem.
The separation procedures at the root node and at the non-root nodes are iterated until one of the
following conditions holds: (a) no violated inequality can be generated; (b) the lower bound has not
been improved in the last 15 iterations; (c) the lower bound is greater or equal to the upper bound.
3.3
Branching and node selection strategies
The branching strategy adopted is the CPLEX strong branching strategy. This strategy has been proved
to be quite effective when compared with other branching strategies for standard routing problems
such as the mixed branching based both on variables and cutsets (see [4]). In [4] it is observed that
the running time spent by the strong branching for a node is smaller (almost one half) than the time
spent by the mixed strategy. This is also due to the fact that the CPLEX function is faster because it
takes advantage of direct access to internal ILOG CPLEX data structures (see the CPXstrongbranch
description in [9]).
The branch-and-cut algorithm uses the the lowest first node selection rule, so that the node with the
smallest lower bound is always processed next. This is known to always lead to the smallest possible
branch-decision-tree, but it has the disadvantage that the entire tree (i.e., all currently non-fathomed
nodes) must be stored in memory.
4
Computational results
This section presents computational results for the branch-and-cut algorithm described in Section
3. Moreover, our computational results will be compared with the best existing lower bounding
procedure for the CARP produced by Belenguer and Benavent [6].
The algorithm has been coded in Microsoft Visual C++, embedded in the CPLEX 9.0 framework
and run on a PC equipped with a Pentium 4 (2.8 GHz) processor.
UBLCS-2004-10
10
4 Computational results
We have considered two set of instances. The first set contains 34 instances generated by Benavent
et al. [7]. The second set contains the 15 instances, out of the 23 generated by Li and Eglese [17],
which involve up to 98 required edges. This last set of instances has been constructed from real data
representing the road network of two areas of the county of Lancashire (UK) which were digitized for
a study of winter gritting. The complete sets of these instances are available at the Internet address
http://www.uv.es/˜belengue/carp.html. According to the computational results presented
in [6], these two sets of instances correspond to difficult CARP instances.
The following notation is used in this section:
%
4
F
:
#
:
F
) instance including the depot;
number of nodes of the upper bound value (see Section 3.1);
cost of the optimal CARP solution or cost of the best solution found by
the branch-and-cut algorithm or 4 F ;
best lower bound obtained at the root node after adding all generated
inequalities (see Section 3.2);
best lower bound at the end of the branch-and-cut algorithm (which is if the algorithm finished before the time limit);
the lower bound produced by Benavent et al. [7];
the lower bound produced by Belenguer and Benavent [6].
:
:
:
:
:
The following notation refers to the computation of the lower bounds at the root node of the
branch-and-cut algorithm (Tables 3 and 5) and to the computational results presented in [6]:
F "! :
:
:
:
CI
HMI
:
:
:
GLMI
:
FCI
SCI
HI
:
:
:
percentage ratio ;
computing time of lower bound (in seconds);
percentage ratio F ;
percentage ratio ;
computing time of lower bound (in seconds of a SUN Sparc 20);
number of capacity inequalities generated;
number of homogeneous multistar inequalities generated at the root
node;
number of generalized large multistar inequalities generated at the root
node;
number of framed capacity inequalities generated at the root node;
number of strengthened comb inequalities generated at the root node;
number of hypotour inequalities generated at the root node.
Tables 3 and 5 show that the lower bounds obtained at the root node for the two sets of instances
are tight. In particular, for the instances from Benavent et al. [7])the average percentage deviation
of lower
bound is equal to 99.41, slightly worst that the average percentage deviation of lower
bound , which is equal to 99.59.
For the instances from Li and Eglese [17], lower bound is
on average better than lower bound , as shown by the average percentage deviations equal to
98.78 and 97.89, respectively. Lower bound clearly dominates lower bound F . On the other
hand, lower bound is more time consuming with respect to lower bound . In 20 out of
the 49 instances, the lower bound is equal to the upper bound, thus proving the optimality of the
corresponding heuristic solutions.
UBLCS-2004-10
11
5 Conclusions
Tables 4 and 6 report the computational results of the branch-and-cut algorithm for the instances
which have not been solved to optimality at the root node. In addition to the notation introduced
above, the tables show the following columns:
% , percentage ratio # ; the value is reported only if the corresponding instance has not been solved to optimality;
: number of nodes generated;
: total computing time in seconds. We impose a time limit of 7200 seconds.
If the time limit is reached, the instance is marked with an asterisk.
:
Table 4 shows that 10 more instances from Benavent et al. have been solved to optimality within
the imposed time limit. A total of 28 out of the 34 instances were solved to optimality by the branchand-cut algorithm, thus 6 more instances were solved to optimality with respect to the number of
instances solved to optimality by Belenguer and Benavent [6], who could solve to optimality only
instances for which the lower bound equalled the upper bound. Concerning the Eglese instances (see
Table 6) for which no optimal lower bounds were obtained by Belenguer and Benavent, the branchand-cut algorithm was able to prove the optimality of the corresponding heuristic solutions for 5
instances.
5
Conclusions
We have proposed a new transformation of arc routing problems into corresponding node routing ones. We have analyzed in particular the transformation of Capacitated Arc Routing Problems
(CARP) into Capacitated Vehicle Routing Problems (CVRP). In this last case, if is the number of
required CARP edges, the transformation reduces the CARP instance into an equivalent CVRP instance defined on an undirected graph having nodes. Computational considerations lead to
strengthen the transformed formulation with additional constraints forcing the edges corresponding to the CARP required ones to be in the optimal solution of the induced node routing problem,
called ECVRP.
We developed a branch-and-cut algorithm to optimally solve the transformed CARP instances
which makes use of lower bounds computed using several valid inequalities proposed for the classical CVRP. The branch-and-cut algorithm has been applied to two sets of difficult CARP instances
taken from the literature and its computational behaviour has been compared with the best existing lower bounding procedures for the CARP. The computational results show that improved lower
bounds were obtained for a number of instances, and that instances involving up to 98 required edges
could be solved to optimality. To the best of our knowledge, this is the first time that these instances
could be solved to optimality.
Given the generality of the transformation, any improvement on solution methods for the CVRP
can be used also to improve computational results on CARP instances. Future work will also investigate the possibility of adapting to the ECVRP valid inequalities originally developed for the CARP.
References
[1] A. Assad and B. L. Golden. Arc routing methods and applications. In M. Ball et al., editor,
Handbooks in OR & MS, volume 8, pages 375–479. 1995.
UBLCS-2004-10
12
REFERENCES
8
1.A
1.B
1.C
2.A
2.B
2.C
3.A
3.B
3.C
4.A
4.B
4.C
4.D
5.A
5.B
5.C
5.D
6.A
6.B
6.C
7.A
7.B
7.C
8.A
8.B
8.C
9.A
9.B
9.C
9.D
10.A
10.B
10.C
10.D
Avg.
Min.
3.
et al. instances: lower bounds
Table
Benavent
CI HMI GLMI FCI SCI HI
%
F
"! 79 2 247 100.00 100.00 0.47 100.00
2.0
48
0
0
0 322
0
79 3 247 100.00 100.00 0.56 100.00
2.1 154
0
0
0 325
0
79 8 319 87.77
96.87 0.71 97.35 45.8 724 509
0 52 398 315
69 2 298 99.33 100.00 0.13 100.00
0.5
28
0
0
0 111
0
69 3 330 96.36 100.00 0.24 99.61
9.9 251 234
1 17 230 1312
99.62 0.40 99.67
4.8 412 115
2 175 118
31
69 8 528 91.29
71 2 105 98.10 100.00 0.18 100.00
1.5 135
0
0
0 261
0
71 3 111 97.30 100.00 0.15 100.00
1.3 177
0
0
0 210
0
71 7 162 86.42
99.38 0.91 100.00
5.3 690 305
4 94 233
70
139 3 522 98.47 100.00 0.54 100.00 60.8 528
4
1 37 1369
7
139 4 534 97.00 100.00 0.29 100.00 54.8 1237
0
0
0 969
0
139 5 550 95.27 100.00 0.97 100.00 86.7 2431
0
0
0 1117
0
139 9 652 86.66
98.77 7.16 98.40 186.1 3916 464
2
0 1229 454
131 3 566 99.29 100.00 1.36 100.00 53.0 316
25
0
1 905
33
131 4 589 96.26 100.00 2.13 99.44 99.8 1139 134
0
2 1256
44
131 5 617 94.33
99.19 1.70 98.63 114.2 1069 722
4
4 1470 405
131 9 724 90.61
98.62 0.95 98.28 155.0 1712 641
5
4 579 1199
101 3 330 100.00 100.00 0.62 100.00
9.8 143
0
0
0 456
0
101 4 340 98.24
99.41 2.30 98.50 24.3 841 795
5 50 562 408
101 10 424 87.74
98.58 1.80 98.58 14.0 1079
50
1
1 230
48
133 3 382 100.00 100.00 0.34 100.00
9.2 205
0
0
0 304
0
133 4 386 98.96 100.00 0.20 100.00
8.3 214
0
0
0 286
0
133 9 437 92.22
99.77 3.16 99.70 15.5 927
14
0
3 384
5
127 3 522 100.00 100.00 0.34 100.00 32.7 601
39
0
3 625
14
127 4 531 99.44 100.00 0.12 100.00 34.7 1085
0
0
0 577
0
127 9 663 88.54
98.49 3.73 97.63 98.1 2981 1587
17 18 844 1259
185 3 450 100.00 100.00 4.32 100.00 406.5 1081 474
4 30 2526 535
185 4 453 100.00 100.00 1.97 100.00 430.6 1830 1141
2 21 2034 856
185 5 459 100.00 100.00 2.07 100.00 517.8 2720 1916
1 18 2102 1070
185 10 518 95.17
98.26 21.84 96.83 785.9 2509 741
3 11 928 987
195 3 637 100.00 100.00 1.67 99.88 394.1 1027 833
4 34 1876 231
195 4 645 99.38 100.00 1.44 99.43 327.3 1315
90
0
1 1290 100
195 5 655 99.08 100.00 0.83 99.44 468.3 1762 1237
4 57 1644 991
195 10 739 94.32
99.05 8.38 98.49 684.7 3916 464
2
0 1229 454
96.10
99.59
99.41
86.42
96.87
96.83
UBLCS-2004-10
13
REFERENCES
4. Benavent et al. instances: branch-and-cut algorithm
% , Table
8
%
1.C
2.B
2.C
4.D
5.B
5.C
5.D
6.B
6.C
7.C
8.C
9.D
10.A
10.B
10.C
10.D
egl-e1-A
egl-e1-B
egl-e1-C
egl-e2-A
egl-e2-B
egl-e2-C
egl-e3-A
egl-e3-B
egl-e3-C
egl-e4-A
egl-e4-B
egl-e4-C
egl-s1-A
egl-s1-B
egl-s1-C
Avg.
Min.
103
103
103
145
145
145
175
175
175
197
197
197
151
151
151
UBLCS-2004-10
79
69
69
139
131
131
131
101
101
133
127
185
195
195
195
195
8
3
8
9
4
5
9
4
10
9
9
10
3
4
5
10
319
330
528
652
589
617
724
340
424
437
663
518
637
645
655
739
97.35
99.61
99.67
98.40
99.44
98.63
98.28
98.50
98.58
99.70
97.63
96.83
99.88
99.43
99.44
98.49
45.8
9.9
4.8
186.1
99.8
114.2
155.0
24.3
14.0
15.5
98.1
785.9
394.1
327.3
468.3
684.7
100.94
100.21
101.72
102.13
102.80
101.32
343
4
6
344
1580
1601
591
110
146
61
440
507
23
202
234
255
Eglese instances: lower bounds
Table
5. Liand
"! CI HMI
5 3548
7 4498
10 5595
7 5018
10 6340
14 8415
8 5898
12 7822
17 10433
9 6461
14 9021
19 11779
7 5018
10 6435
14 8518
86.56
81.90
78.39
82.98
79.65
72.63
82.82
77.54
71.53
83.72
76.88
73.72
68.71
62.35
61.19
76.04
61.19
99.07
32.00 100.00 12.7 625
98.62
35.82 99.24 23.7 998
97.46
22.37 98.89 38.5 1375
99.52
50.51 99.86 159.1 1571
98.56
19.11 98.91 121.0 2246
96.42
18.78 97.03 153.2 2167
99.51
86.78 100.00 143.5 1587
97.75
58.25 98.29 350.2 2963
96.03
19.90 97.12 594.4 4679
98.62
43.08 98.92 391.2 2024
97.65
15.87 98.38 698.2 4549
95.73
16.54 96.56 682.3 5832
99.48 1085.52 99.95 89.7 1791
96.36 216.06 99.12 148.2 2182
97.56 102.70 99.46 457.1 4082
97.89
98.78
95.73
96.56
3
5
5
288
17
5
0
199
59
43
369
42
150
24
64
890.4
11.1
7.8
*
4202.3
*
*
201.6
312.0
92.6
*
*
879.3
4250.4
5560.1
*
GLMI FCI SCI HI
0
4 220 22
0
1 193
2
0
0 221 172
1 74 520 720
0
0 534 80
0
0 559 47
0
0 490
0
0
0 785 37
0
3 1121 88
1 20 715 77
0
0 831 196
0
0 1505 267
0 38 220 11
0 22 375 27
0
0 719 83
14
REFERENCES
Table 6. Li and Eglese instances: branch-and-cut algorithm
% , 8
%
egl-e1-B 103 7 4498 99.24 23.7
139 450.3
egl-e1-C 103 10 5595 98.89 38.5 100.52
684
*
egl-e2-A 145 7 5018 99.86 159.1
5 182.0
egl-e2-B 145 10 6340 98.91 121.0 100.56
414
*
egl-e2-C 145 14 8415 97.03 153.2 102.85
134
*
egl-e3-B 175 12 7822 98.29 350.2 101.53
105
*
egl-e3-C 175 17 10433 97.12 594.4 102.78
62
*
egl-e4-A 197 9 6461 98.92 391.2 100.83
275
*
egl-e4-B 197 14 9021 98.38 698.2 101.61
52
*
egl-e4-C 197 19 11779 96.56 682.3 103.39
30
*
egl-s1-A 151 7 5018 99.95 89.7
2 91.8
egl-s1-B 151 10 6435 99.12 148.2 100.80 1129
*
446
*
egl-s1-C 151 14 8518 99.46 457.1 100.30
[2] P. Augerat, J.M. Belenguer, E. Benavent, A. Corberán, and D. Naddef. Separating capacity constraints in the cvrp using tabu search. European Journal of Operational Research, 106:546–557, 1998.
[3] P. Augerat, J.M. Belenguer, E. Benavent, A. Corberan, D. Naddef, and G. Rinaldi. Computational
results with a branch and cut code for the capacitated vehicle routing problem. Technical Report
1 RR949-M, ARTEMIS-IMAG, Grenoble France, 1995.
[4] R. Baldacci, M. Dell’Amico, and J.J. Salazar Gonzàlez. The capacitated m-ring star problem.
Technical Report 42, DISMI, University of Modena and Reggio Emilia, 2003.
[5] R. Baldacci, A. Mingozzi, and E. Hadjiconstantinou. An exact algorithm for the capacitated vehicle routing problem based on a two-commodity network flow formulation. Operations Research,
52(5), 2004 (to appear).
[6] J.M. Belenguer and E. Benavent. A cutting plane algorithm for the capacitated arc routing problem. Computers & Operations Research, 30:705–728, 2003.
[7] E. Benavent, V. Campos, A. Corberán, and E. Mota. The capacitated arc routing problem. lower
bounds. Networks, 22:669–690, 1992.
[8] N. Christofides, A. Mingozzi, and P. Toth. State space relaxation for the computation of bounds
to routing problems. Networks, 11:145–164, 1981.
[9] CPLEX. ILOG CPLEX 9.0 callable library. ILOG, 2004.
[10] M. Dror, editor. Arc Routing: Theory, Solutions And Applications. Kluwer Academic Publishers
Group, 2000.
[11] L. Euler.
Solutio problematis ad geometriam situs pertinentis.
Comment. Academiae
Sci.I.Petropolitanae, 8:128–140, 1736. Opera omnia Ser.I, Vol.7 (1766), 1-10.
UBLCS-2004-10
15
REFERENCES
[12] R. Fukasawa, J. Lysgaard, M. Poggi de Arago, M. Reis, E. Uchoa, and R.F. Werneck. Robust
branch-and-cut-and-price for the capacitated vehicle routing problem. Lecture Notes in Computer
Science, 2004 (to appear).
[13] A. Hertz. Recent trends in arc routing. http://www.gerad.ca/ alainh/Trends.pdf, 2002. Submitted for publication.
[14] M. Jünger, G. Reinelt, and G. Rinaldi. The traveling salesman problem. In: Ball, M.O., Magnanti,
T.L., Monma, C.L., Nemhauser, G.L. (eds). Network Models, Handbooks in Operations Research and
Management Science 7. North- Holland, Amsterdam,, pages 225–330, 1995.
[15] M. Kiuchi, Y. Shinano, R. Hirabayashi, and Y. Saruwatari. An exact algorithm for the capacitated
arc routingproblem using parallel branch and bound method. In Abstracts of the 1995 Spring
National Conference of the Oper. Res. Soc. of Japan, page 2829. 1995. in Japanese.
[16] G. Laporte, Y. Nobert, and M. Desrochers. Optimal routing under capacity and distance restrictions. Operations Research, 33:1058–1073, 1985.
[17] L. Li and R.W. Eglese. An interactive algorithm for vehicle routing for winter-gritting. Journal of
the Operational Research Society, 47:217–228, 1996.
[18] J. Lysgaard. Cvrpsep : A package of separation routines for the capacitated vehicle routing
problem. Working paper 03-04, Department of Management Science and Logistics, Aarhus School
of Business, Denmark, 2004.
[19] J. Lysgaard, A.N. Letchford, and R.W. Eglese. A new branch-and-cut algorithm for the capacitated vehicle routing problems. Mathematical Programming, 100(2):423–445, 2004.
[20] M. W. Padberg and G. Rinaldi. A branch and cut algorithm for the resolution of large-scale
symmetric traveling salesman problems. SIAM Review, 33:60–100, 1991.
[21] W.L. Pearn, A. Assad, and B.L. Golden. Transforming arc routing into node routing problems.
Computers and Operations Research, 14:285–288, 1987.
[22] T. Ralphs, L. Kopman, W. Pulleyblank, and L. Trotter Jr. On the capacitated vehicle routing
problem. Mathematical programming, 94:343–359, 2003.
UBLCS-2004-10
16