The Capacitated m-Ring-Star Problem
R. Baldacci Dipartimento di Elettronica, Informatica e Sistemistica, University of Bologna, Via Venezia, 52, 47023 Cesena, Italy,
[email protected]
M. Dell’Amico1 Dipartimeto di Scienze e Metodi dell’Ingegneria, University of Modena and Reggio Emilia Via Allende 2, 42100 Reggio Emilia, Italy,
[email protected]
J. Salazar Gonz´alez DEIOC, Facultad de Matem´aticas, Universidad de La Laguna 38271 La Laguna, Tenerife, Spain,
[email protected]
Received June 2004; revised August 2005; accepted January 2007 Abstract The Capacitated m-Ring-Star Problem (CmRSP) is the problem of designing a set of rings that pass through a central depot and through some transition points and/or customers, and then assigning each non-visited customer to a visited point or customer. The number of customers visited and assigned to a ring is bounded by an upper limit: the capacity of the ring. The objective is to minimize the total routing cost plus assignment costs. The problem has practical applications in the design of urban optical telecommunication networks. This paper presents and discusses two integer programming formulations for the CmRSP. Valid inequalities are proposed to strengthen the linear programming relaxation, and are used as cutting planes in a branchand-cut approach. The procedure is implemented and tested on a large family of instances, including real-world instances, and the good performance of the proposed approach is demonstrated. Subject classifications: Networks/graphs: optical network design. Programming, integer, cutting plane: Branch-and-cut algorithm. Area of review : Telecommunications and Networking. 1
Corresponding author: Mauro Dell’Amico, University of Modena and Reggio Emilia, via Allende, 2, 42100 Reggio Emilia, Italy, Tel. +39-0522-522-228, Fax +39-0522-522-230, e-mail
[email protected].
1
1
Introduction
New technology in telecommunications leads to challenging network-design problems. The recent literature shows several good examples (see Gourdin, Labb´e and Yaman [11]). In this paper we present a new problem, named the Capacitated m-Ring-Star Problem (CmRSP), which consists of designing a set of cycles (rings), each one of which includes the telephone exchange (central depot), a certain number of customers, and other possible points called transition points that could be used to save routing costs. The ring topology is chosen in many fiber optic communication networks since it makes it possible to prevent the loss of connection due to a single edge or even a single node failure. Indeed, let us suppose that a customer i is currently communicating with other customers using the ring portion that goes clockwise from the telephone exchange to i. If an edge of this ring portion fails, then it is possible to re-route the information to/from i by using the counter-clockwise portion of the ring, which has been not affected by failures. Using up-to-date technologies, each ring is actually implemented by means of a single cable that contains a bundle of optical fibers (100 fibers in the real-world application that inspired this work). Each customer receives two fibers: the first one is used for clockwise communication and the second one for counter-clockwise communication. In an urban environment the cable is inserted in pipes laid under the streets. It is not so rare that the pipe and the cable are inadvertently broken during street works. If the network does not restore communication some users remain disconnected until the cable is repaired. This risky situation is not acceptable for business customers that need to communicate without any interruption. The ring topology is therefore used to guarantee continuous communication service to the customers. The total cost of the optical network depends on several elements, for example the 2
fibers, the devices needed for communication and restoration, and so on. However, the main cost is due to the excavations needed to lay down the pipes. Therefore, the telecommunication companies try to reduce such costs as much as possible. Suppose that all customers but one are located on a “perfect” circle and that this one customer is outside the circle. If the distance between this customer and the circle is small (typically under 200 meters) then the network can be implemented with a single ring plus a single edge that starts from the ring and goes directly to the outside customer. This means that the cable arrives to the intersection of the circle with the edge, then goes to the customer using the edge, returns to the circle using the same edge, and finally continues along the circle. On the edge the cable is inserted into a single pipe, thus reducing the excavation costs. If this pipe is broken the single customer is disconnected from the network. However due to the short length of the edge, this possible failure (and the corresponding loss of service) is considered by the company to be less expensive than the excavation. The network topology is thus made up of a set of rings, each containing the telephone exchange, a certain number of customers, and some transition points, plus a number of short edges that go from the rings to single customers. Thus the name ring-star structure. The rings must be node-disjoint to ensure that a node failure will only affect one ring. In addition, the total number of customers on a ring or connected to a ring is limited by the number of fibers in a cable. One hundred fibers can serve 50 customers at most, so typically we are required to design rings with 40-45 customers. This consideration justifies the study of the capacitated version of the problem, where m ring-star structures at most must be designed. Telecommunications companies have an obvious interest in the analysis of and solution to this problem, regardless of other aspects of the telecommunications context (different demand among customers, total length of the connections, etc.). Our
3
study was motivated by this interest. The remainder of this paper is organized as follows. Section 2 gives a formal description of the CmRSP and lists a collection of other works on closely related problems. In Section 3, two mathematical formulations of the problem are presented. The computation of lower bounds for the CmRSP and the description of valid inequalities are provided in Section 4. The corresponding separation procedures are described in Section 5, while the overall branch-and-cut algorithm is outlined in Section 6. The last section of the paper gives the computational results on two sets of test problems. The first problem set is composed of randomly generated instances while the second one is composed of real-world instances. Some instances with up to 100 customers and 5 rings have been optimally solved in less than 2 hours on a personal computer.
2
Problem description
This section presents a formal definition of the CmRSP as an optimization problem in Graph Theory. We use a mixed graph in which transition points and the central depot are associated with nodes, while the links between the nodes are weighted edges or arcs. The CmRSP is the problem of designing: (i) a set of m node-disjoint simple cycles (rings) that pass through the central depot and through some other nodes; (ii) a set of direct connections from each non-visited customer to a node visited by a ring. The total number of customer nodes visited by or connected to a ring is bounded by an upper limit Q, the capacity of the ring. The objective is to minimize the cost of the rings plus the costs of the customer connections. More precisely, the CmRSP is as follows. Consider a mixed graph G = (V, E∪A), where V = {0, n + 1} ∪ V ′ is the node set, E = {{i, j} : i, j ∈ V, i 6= j} is the edge set, and A is the arc set. Node set V ′ is partitioned into two subsets: U containing a
4
bc 25 t6 u
t2 u
t7 u
bc22 0r
bc 23 t5 u
r n+1
bc 13
t1 u
t10 u
bc 24 cb17 t3 u
t12 u
bc 19
bc 21
t11 u
t4 u
bc 16
bc 15
8
bc 20
t u
t9 u
r
Depot
t u
Customers
bc
Transition points
bc 14
bc 18
Figure 1: Example of feasible CmRSP solution node for each customer and W containing a node for each transit point (also named Steiner node). Node 0 represents the depot and node n + 1 is a copy of node 0 that we introduce to simplify the presentation. (In the following we continue to call “ring” a path from 0 to n + 1.) For each customer i ∈ U, let Ci ⊆ V ′ be the subset of nodes to which customer i can be connected. We will assume that i ∈ Ci for all customers i ∈ U and that a customer will be connected to itself when it is on a ring. Set A represents the possible connections between customers and nodes, i.e., A = {(i, j) : i ∈ U, j ∈ Ci }. Set E is the set of possible ring edges. Each edge e = {i, j} ∈ E is associated with a non-negative routing cost ce = cij , while each arc (i, j) ∈ A is associated with a non-negative connection cost dij (with dii = 0 for all i ∈ U). Given a subset E ′ ⊂ E, V (E ′ ) denotes the set of nodes incident to at least one edge in E ′ . A ring R is a pair (E ′ , A′ ) where E ′ ⊂ E is a simple path from node 0 to node n + 1, and A′ ⊆ A are connections between users of U \ V (E ′ ) and nodes of V (E ′ ). We say that a customer i is assigned to a ring R if it is either
5
visited by the simple path (i.e. i ∈ V (E ′ )) or it is connected to a node of the ring (i.e., a node j exists such that (i, j) ∈ A′ ). The ring is feasible if the number of customers assigned to it does not exceed Q. The cost of R is the sum of the routing costs of the edges in E ′ plus the sum of the connection costs of the arcs in A′ . The number m of rings in the network is known and given as an input parameter. (A trivial assumption is that mQ > |U|.) The aim of CmRSP is to design m rings so that each customer is assigned to exactly one ring, each transition point is visited at most once and the sum of the ring costs is minimized. Figure 1 shows an example of a feasible CmRSP solution where n = 25, m = 3, |U| = 12, |W |=13 and Q = 6. In the figure, the transition points are represented by circles while the customers by triangles. The telephone exchange location (i.e., the depot) is represented by two black squares. The continuous lines represent the routing edges (belonging to set E) and the dashed lines represent the connection arcs (belonging to set A). The problem is NP-hard in the strong sense since the Travelling Salesman Problem (TSP) is the special case in which W = ∅, Q = |U|, m = 1 and the connection costs are very high compared to the routing costs. To the best of our knowledge, the CmRSP has never been studied before, but studies on a number of related location-routing problems have been published in the literature. Beasley and Nascimento [7] defined the Vehicle Routing Allocation Problem (VRAP). This problem is a generalization of the CmRSP where, in addition, the customers might not receive service provided a penalty is paid in the objective function. Several authors have considered scenarios where, instead of a cycle, a structure such as a path or a tree must be identified and the nodes not on this structure must be assigned to the structure. A classification of these problems can be found in
6
Labb´e, Laporte and Rodr´ıguez Mart´ın [13]. References to other problems considering telecommunications and location-allocation aspects can be found in Labb´e et al. [14, 15]. In [14] the Ring Star Problem is introduced, which consists of designing a simple cycle with the objective of minimizing the sum of two costs: a routing cost proportional to the length of the cycle, and the assignment cost of each node not on the cycle to its closest node on the cycle. A related problem considered in [15] is the Median Cycle Problem, consisting of finding a simple cycle that minimize the routing cost, subject to an upper bound on the total assignment cost of the nonvisited nodes. In [14, 15] integer linear programming models for the two problems are presented and strengthened by the introduction of non-trivial valid inequalities. Branch-and-cut algorithms are implemented and tested on random instances involving up to 300 nodes. Lee, Chiu and Sanchez [16] considered another single-vehicle problem related to CmRSP, the Steiner Ring Star Problem. It consists of finding a minimum cost cycle using only non-customer nodes and such that each customer is connected to exactly one node on the cycle. This problem arises in Digital Data Service network design, where the aim is to connect terminals to concentrators by point-to-point links (leading to a star topology) and to interconnect the concentrators through a ring structure. The authors developed a branch-and-cut algorithm that solved instances with |U| 6 50, |W | 6 90 and |U| + |W | 6 100. Xu, Chiu and Glover [24] proposed a tabu search algorithm for this problem and tested it on randomly generated instances with |U| 6 300 and |W | 6 300.
3
Mathematical formulations
Two mathematical formulations for the CmRSP are presented in this section. The first one is based on a two-index formulation, while the second one is based on a
7
two-commodity flow formulation. For S ⊆ V define δ(S) = {{i, j} ∈ E : i ∈ S, j ∈ / S}. If S = {i}, we simply write δ(i) instead of δ({i}). In addition, for S ⊆ V , U(S) denotes the set of customers in node set S (i.e., U(S) = S ∩ U).
3.1
A two-index formulation
This section presents a mathematical programming formulation inspired by models for standard routing problems (see, e.g., Toth and Vigo [23]). For each edge e ∈ E, let xe be a binary variable taking value 1 if and only if e belongs to a ring forming the solution. Henceforth, if e connects the two nodes i and j then {i, j} and e will be used interchangeably to denote the same edge. For each arc (i, j) ∈ A, let zij be a binary variable which is equal to 1 if and only if customer i is assigned to node j. In the following, in order to simplify the notation, we will extend some summations to pairs (i, j) 6∈ A assuming that in these cases these additional terms are equal to zero. If a customer i is visited by a ring, then it is assigned to itself, i.e., zii = 1. Moreover, for each j ∈ W , let wj be a binary variable which is equal to 1 if and only if Steiner node j is on a ring.
8
The CmRSP can be formulated as the following integer program:
(F 1)
min
X e∈E
s.t.
X
ce xe +
dij zij
(1)
(i,j)∈A
X
xe = m
(2)
e∈δ(0)
X
xe = m
(3)
e∈δ(n+1)
X
xe = 2zii ,
∀i ∈ U
(4)
xe = 2wi ,
∀i ∈ W
(5)
∀i ∈ U
(6)
∀S ⊆ V ′ : S 6= ∅
(7)
xe ∈ {0, 1},
∀e ∈ E
(8)
zij ∈ {0, 1},
∀(i, j) ∈ A
(9)
wi ∈ {0, 1},
∀i ∈ W.
(10)
e∈δ(i)
X
e∈δ(i)
X
zij = 1,
j∈V ′
X
e∈δ(S)
xe >
2 XX zij , Q i∈U j∈S
Constraints (2) and (3) state that m rings must leave node 0 and must enter node n + 1. Constraints (4) and (5) are the degree constraints imposing that the degree of each node i ∈ V ′ is 2 if it belongs to a ring. Because of (4) and (5), one of the two equations (2) and (3) is redundant and therefore it could be removed, but we leave both of them in order to simplify the presentation. Constraints (6) state that a customer i ∈ U is either on a ring (zii = 1) or is assigned to a node on a ring (zij = 1 for some j ∈ Ci ). For the last observation note that if i is assigned to j then constraint (7) on S = {j} implies that x(δ(j)) > 0, and therefore j is a node on a ring. Inequalities (7) are the fractional ring capacity constraints. These constraints, within the integrality of x and z variables, impose that, for a given subset S of 9
nodes, at least
lP
i∈U
P
m j∈S zij /Q rings are needed to visit the customers assigned
to nodes in S. Constraints (7) are similar to the fractional capacity inequalities of the Capacitated Vehicle Routing Problem (CVRP) (see e.g. Naddef and Rinaldi P [20]) where the demand qj of a customer j in CVRP is substituted by i∈U zij . However there is a strong difference between the two problems since in CVRP the
right-hand-side of these inequalities is a constant. More specifically, let Q be the vehicle capacity for CVRP. The fractional capacity inequalities are X
2 X qj Q j∈S
xe >
e∈δ(S)
∀S ⊆ V ′ : S 6= ∅.
(11)
For a given set S we know that an even number of solution edges enter S and that the right-hand side of (11) is a constant, hence one can write a stronger inequality, namely the rounded capacity constraint, as follows: X
xe > 2
e∈δ(S)
P
j∈S
qj
Q
∀S ⊆ V ′ : S 6= ∅.
(12)
Analogously we can derive for CmRSP the rounded version of the fractional ring capacity inequality X
e∈δ(S)
xe > 2
P
i∈U
P
j∈S
zij
Q
∀S ⊆ V ′ : S 6= ∅.
(13)
Unfortunately these inequalities are nonlinear. Still, Section 4 presents some linear approximations to lift the right-hand side of these inequalities, and to strengthen the linear relaxation. Note that a feasible solution of (1)–(10) may contain zero-cost subtours composed of Steiner nodes only. Nevertheless, one can easily remove them without losing the CmRSP requirements. Alternatively, the following constraints avoid such a subtour
10
t6 u 1
22 b c
r0 5
3
t5 u
3
r n+1
0 24
c b
6
2 4
17
1
c b
t u
11
5
t12 u
r Depot t Customers u bc Steiner nodes
t3 u
Figure 2: Flow paths for the ring of five customers of Figure 1 by imposing a connection with the depot: X
xe > 2wk ,
∀S ⊆ W and ∀k ∈ S.
(14)
e∈δ(S)
Formulation (1)–(10) can be extended to model the VRAP. Let wi , for each i ∈ U, be a new variable taking value 1 if customer i is served and 0 otherwise. We only need to replace the right-hand side of (6) with wi and to add to the objective P function the term i∈U pi wi , where pi is the penalty of not serving customer i.
This extension is not further discussed in this paper since it digresses from the real problem motivating the work, but we think it may be a good basis for developing an algorithm for VRAP.
3.2
A two-commodity flow formulation
In this section we present another integer programming formulation of the CmRSP based on a two-commodity flow formulation. This kind of model was first intro-
11
duced by Finke, Claus and Gunn [9] for TSP. Lucena [19] used the two-commodity approach for the TSP to derive a new formulation of the CVRP and a lower bound based on its LP-relaxation. Recently, Baldacci, Hadjiconstantinou and Mingozzi [5, 6] used the two-commodity approach to design branch-and-cut algorithms for the TSP with deliveries and collections (TSPDC) and for the CVRP, capable of solving to optimality large problems involving up to 200 nodes for TSPDC and up to 135 customers for CVRP, respectively. Gouveia [12] introduced and studied a one-commodity flow formulation for the unit demand VRP based on the Gavish and Graves [10] formulation for TSP. Our aim is to extend these results to CmRSP and to asses for the first time the effectiveness of the two formulations when used within the same branch-and-cut approach. The two-commodity formulation of CmRSP uses a graph model that associates each edge {i, j} ∈ E with two opposite arcs and with two corresponding flow variables yij and yji. The two arcs have the same cost c{i,j} . We impose that in a feasible CmRSP solution the total flow on any edge of a ring is exactly Q. Variables y identify each ring through two flow paths. On the first path going from node 0 to node n + 1, flow yij represents the number of users to be served by the ring after visiting node i. On the opposite path going from node n + 1 to node 0, variable yij represents the potential number of customers that could be served in the forward path from 0 to j. Thus, the total flow outgoing from node 0 is |U|, while the flow emanating from node n + 1 is mQ. Each node on a ring having a number, say, ν of customers assigned, absorbs ν units of the flow coming from node 0, and ν units of the flow coming from node n + 1. Figure 2 shows the five customers ring in Figure 1 and the two flow paths (0, 22, 24, 17, 11, n + 1) and (n + 1, 11, 17, 24, 22, 0).
12
The two-commodity mathematical formulation of the CmRSP is as follows:
(F 2)
min
X 1 X cij (yij + yji ) + dij zij Q {i,j}∈E
s.t.
X
(15)
(i,j)∈A
y0j = |U|
(16)
yn+1,j = mQ
(17)
yj,n+1 = 0
(18)
yj0 = mQ − |U|
(19)
j∈V ′
X
j∈V
′
X
j∈V ′
X
j∈V
′
X
(yji + yij ) = 2Qzjj ,
∀j ∈ U
(20)
(yji + yij ) = 2Qwj ,
∀j ∈ W
(21)
∀i ∈ U
(22)
∀j ∈ V ′
(23)
∀{i, j} ∈ E
(24)
∀i, j ∈ V
(25)
zij ∈ {0, 1},
∀(i, j) ∈ A
(26)
wj ∈ {0, 1},
∀j ∈ W.
(27)
i∈V
X i∈V
X
zij = 1,
j∈V ′
X
(yij − yji) = 2
i∈V
X
zij ,
i∈U
yij + yji ∈ {0, Q}, yij > 0,
Equation (16) imposes that the outflow at the source node 0 is equal to the total number of customers, while equation (17) imposes that the outflow at source node n+1 is equal to the total capacity of the m rings. Equation (18) indicates that no flow enters node n + 1 while equation (19) imposes that the flow entering node 0 is equal to the residual capacity of the rings. Since we require that Q flow units go through each edge on a ring, then for each node of the ring the total flow going in
13
and out from the node must be 2Q. This is imposed by equations (20) and (21). Equations (22) ensure that each customer is assigned to a node. Equations (23) are the flow conservation constraints that take into account that each customer absorbs one flow unit from node 0 and one from node n + 1. Constraints (24) impose the binary requirement that an edge e = {i, j} ∈ E must be visited or not by a ring, thus explaining the objective function (15). Let LP-F1 and LP-F2 be the linear programming relaxation of formulations F1 and F2 (with constraints (24) substituted by yij + yji 6 Q for all {i, j} ∈ E), respectively. Theorem 1 Given any feasible solution (z ∗ , w ∗, y ∗ ) of LP-F2 there exists a vector x∗ such that (x∗ , z ∗ , w ∗ ) is a feasible solution of LP-F1. Conversely, given any feasible solution (x∗ , z ∗ , w ∗ ) of LP-F1 there exists a vector y ∗ such that (z ∗ , w ∗ , y ∗) is a feasible solution of LP-F2. The two corresponding solutions have the same objective function value. ∗ Proof. Given a solution (z ∗ , w ∗ , y ∗) of LP-F2 the vector x∗ij = (yij∗ + yji )/Q is such
that (x∗ , z ∗ , w ∗ ) is a solution of LP-F1. Indeed, adding equations (16) and (19) we obtain equation (2), while adding (17) and (18) we have (3). Equations (4) and (5) immediately follow from (20) and (21), while fractional ring capacity constraints (7) can be derived from (23) as follows: Given a node subset S we start by adding (23) for all j ∈ S, thus obtaining X X
(yij − yji) = 2
j∈S i∈V \S
XX
zij .
j∈S i∈U
Observing that yij + yji > yij − yji and recalling that variables yij and yji are associated with the same edge {i, j} the above equation leads to X X
(yij + yji ) > 2
j∈S i∈V \S
XX j∈S i∈U
14
zij ,
and (7) immediately follows. On the other hand, given a solution vector (x∗ , z ∗ , w ∗) of LP-F1, it is possible to obtain a solution of LP-F2 by preserving z ∗ and w ∗ , and by computing an appropriate flow y ∗ as follows. Let G∗ = (V ∗ , E ∗ ) be the support graph associated with the solution (x∗ , z ∗ , w ∗ ), i.e., V ∗ = {0, n + 1} ∪ Vb ∗ where Vb ∗ = {i ∈ U : zii∗ >
0} ∪ {j ∈ W : wj∗ > 0} and E ∗ = {{i, j} ∈ E : x∗{i,j} > 0}. We associate each edge P {i, j} with a capacity Qx∗{i,j} and each node j with a flow request i∈U zij∗ > 0.
We look for a min-cost flow, say y 1 , emanating from source 0 and satisfying all capacity constraints and flow requests. The existence of this flow is guaranteed by (7) and by the min-cut/max-flow theorem. We now define y 2 by setting for each 2 edge {i, j} the “slack” yji = Qx∗{i,j} − yij1 . Introducing an overall flow y ∗ = y 1 + y 2 ∗ we immediately have yij∗ + yji 6 Q, ∀{i, j} ∈ E. Given any node j ∈ V ′ we can P P ∗ 1 write i∈V (yij∗ − yji ) = 2 i∈V (yij1 − yji ). Due to the flow conservation for y 1 the P right-hand side of this equation is equal to 2 i∈U zij∗ , so (23) holds. The flow y 1
satisfies (16) by construction, so (19) immediately descends by definition of y 2. Fi-
nally, observe that no flow y 1 enters node n + 1 in an optimal min-cost flow solution; indeed, n + 1 is merely a copy of node 0 and any flow on a path from 0 to n + 1 can be simply eliminated without affecting the flow requirements at the sink nodes. The equality of the two objective function values immediately follows by the construction of x∗ and y ∗.
A similar result was obtained by Gouveia [12] for the unit demand VRP (using a one-commodity flow formulation) and by Baldacci, Hadjiconstantinou and Mingozzi [6] for CVRP. Letchford and Salazar [18] proved the equivalence between one-commodity and two-commodity formulations for CVRP. Corollary 1 Models F1 and F2 represent the same solutions of CmRSP. Proof. The thesis immediately follows from the above Theorem 1, the identity 15
Qx{i,j} = yij + yji, and the integrality constraints (8) and (24).
As a consequence of Theorem 1 the use of either formulation LP-F1 or formulation LP-F2 does not provide any advantages (in terms of lower bound quality) in a linear programming-based algorithm. However, as the two models differ in terms of number of variables and constraints, the computational performances may be different. In particular LP-F1, has 2|U| + |W | + 2 equalities plus an exponential number of constraints (7), while LP-F2 has only 3|U| + 2|W | + 4 equalities, but |E| more variables than LP-F1. In the rest of the paper we will investigate the behaviour of branch-and-cut algorithms based on the two models.
4
Improving the linear programming relaxations
A number of valid inequalities can be used to improve the quality of the lower bounds obtained from formulations LP-F1 and LP-F2. Note that, due to the oneto-one correspondence between the solution spaces of the two LP relaxations (see Theorem 1), any valid inequality for LP-F1 has an immediate counterpart inequality in LP-F2. Unfortunately, there is no simple algebraic transformation for the reverse direction.
4.1
Strengthening the fractional ring capacity constraints
When a set S ⊂ V ′ has assigned to it fewer than Q customers the right-hand side of (7) is less than 2, and this inequality is not able to impose that at least one ring must enter S (i.e., two edges in δ(S) must be used). We can improve LP-F1 by adding the following connectivity inequalities: X
e∈δ(S)
xe > 2
X
zuj ,
∀S ⊆ V ′ and ∀u ∈ U(S).
j∈S
16
(28)
If we try to extend these inequalities to set S not containing a customer u we do not obtain an improved cut, but another way of writing the same constraints. Indeed, defining S ′ = S \ {u} and using equations (4) we can write X
xe =
X
xe + 2zuu − 2
x{uj} and zuu =
X j∈S
j∈S ′
e∈δ(S ′ )
e∈δ(S)
X
zuj −
X
zuj ,
j∈S ′
so substituting in (28) we obtain X
xe > 2
X
zuj +
x{uj}
j∈S ′
j∈S ′
e∈δ(S ′ )
X
!
∀S ′ ⊆ V ′ and ∀u ∈ U \ U(S ′ ).
,
(29)
Note that when binary variables are considered, only one of the two summations on the right-hand side can take a value greater than zero. This right-hand side highlights the fact that at least two edges must enter a subset S ′ when some customer is assigned to S ′ or when an edge from S ′ to an external customer is selected. Extending this reasoning we can improve inequalities (7), thus obtaining the following ring multistar inequalities: X
xe >
e∈δ(S)
XX
2 Q i∈U
zij +
j∈S
X
X
i∈U \U (S) j∈S
x{i,j} ,
∀S ⊆ V ′ .
(30)
The validity of (30) is based on the observation that the rings serving a subset S must have enough capacity to serve the customers assigned to S and the customers outside S which are directly connected to nodes inside S by some edges. These new inequalities are similar to the multistar inequalities for the CVRP (see, e.g., Letchford, Eglese and Lysgaard [17]). A remark on inequalities (28) is that they turn out to be
x{i,j} + zij 6
zjj wj
if j ∈ U if j ∈ W 17
i ∈ U, j ∈ V ′ , i 6= j,
(31)
whenever S = {i, j}. If we extend these inequalities to i ∈ W (remember that we assume zij = 0 when i 6∈ U) we obtain the classical inequalities
x{i,j} 6 zjj ,
j ∈ U;
x{i,j} 6 wj ,
j ∈ W,
(32)
well known to be valid for location-allocation problems (see [14]). As mentioned at the end of Section 3.1, in CmRSP the rounded versions of the fractional ring capacity inequalities (7) are nonlinear. We now present some methods for obtaining a linear approximation of these rounded inequalities. A first technique exploits the fact that in some cases the subset Ci of the nodes to which a customer i can be connected is completely contained in S. Thus, the following Ci -ring capacity inequalities are valid for CmRSP: X
e∈δ(S)
|{i ∈ U : Ci ⊆ S}| , xe > 2 Q
∀S ⊆ V ′ : S ∩ U 6= ∅.
(33)
These inequalities are dominated by the connectivity inequalities (28) when |S| = 1. A second technique to obtain linear inequalities is based on the following lemma. Lemma 1 Let α, β and γ be three non-negative integer values with α > γ and mod(α, γ) 6= 0. Then
α−β γ
α β > − . γ mod(α, γ)
(34)
Proof. Let I = γ⌊α/γ⌋, then α = I + mod(α, γ), and we can rewrite inequality (34) as
I I β mod(α, γ) − β mod(α, γ) > + − + , γ γ γ γ mod(α, γ)
from which we obtain
mod(α, γ) − β γ
>1−
18
β . mod(α, γ)
(35)
We have to consider three cases: (i) β = mod(α, γ). Both sides of (35) are zero so the inequality holds; (ii) β < mod(α, γ). Then ⌈(mod(α, γ) − β)/γ⌉ = 1 and β/mod(α, γ) < 1, hence (35) holds; (iii) β > mod(α, γ). Then (mod(α, γ) − β)/γ > (mod(α, γ) − β)/mod(α, γ) as mod(α, γ) − β < 0 and γ > mod(α, γ), so inequality (35) holds and thus also the thesis.
The summation on the right-hand side of (13) can be rewritten as
|U| −
X X
zij
|U(S)| −
or as
i∈U j∈V ′ \S
X
X
zij −
i∈U (S) j∈V ′ \S
X
X
i∈U (V \S) j∈S
zij .
Using these identities, we can derive the following special cases of the rounded ring P P capacity inequality (13) by disregarding the non-negative term i∈U (V \S) j∈S zij : X
xe > 2 (|U| − e∈δ(S)
X X i∈U j∈V
′ \S
zij )/Q and
X
X
X
zij )/Q xe > 2 . (|U(S)| − ′ i∈U (S) j∈V \S e∈δ(S)
Using Lemma 1 we obtain the rounded ring capacity inequality I, X
xe > 2
e∈δ(S)
! P P |U| i∈U j∈V ′ \S zij − , Q mod(|U|, Q)
(36)
and the rounded ring capacity inequality II, X
e∈δ(S)
xe > 2
! P P |U(S)| i∈U (S) j∈V ′ \S zij − . Q mod(|U(S)|, Q)
(37)
Note that there is no dominance between inequalities (36) and (37) as shown by the 19
following examples. Consider a CmRSP instance with |U| = 6, m = 2 and Q = 4. First select a set S containing three of the six customers customers and such that all the six customers are assigned to nodes of S. The right-hand side of inequality (36) becomes 2(⌈6/4⌉ − 0) = 4, while the right-hand side of (37) has value 2(⌈3/4⌉ − 0) = 2 and (36) is stronger than (37). Now consider a set S containing five customers all associated to nodes of S. The last customer is associated to a node in V ′ \ S. The right-hand side of (36) takes value 2(⌈6/4⌉ − 1/2) = 3, while the right-hand side of (37) becomes 2(⌈5/4⌉ − 0) = 4 and the second inequality is stronger than the first one. Moreover, note that the fractional ring capacity constraints are dominated by (36), for the first example, and by both (36) and (37) for the second one. Other valid inequalities for CVRP can also be adapted to CmRSP. For example, the star inequalities can be extended as discussed by Naddef and Rinaldi [20]. Indeed, let us consider a customer u and subsets W1 , . . . , Wm of V ′ such that
Wi ∩ Wj = {u}, |U(Wi )| 6 Q, |U(Wi ∪ Wj )| > Q,
1 6 i < j 6 m, 1 6 i 6 m, 1 6 i < j 6 m.
Thus, all the customers in each subset Wi can be served by one ring, but the customers in two subsets cannot be served by one ring. The following inequality therefore is valid: m X X X
(x{i,j} + 2zij ) > 4m − 2.
(38)
k=1 i∈Wk j∈V \Wk
This inequality holds because
P
P
> 2 for all k, and at most P P one of these inequalities can be tight while the others are i∈Wk j∈V \Wk (x{i,j} + i∈Wk
j∈V \Wk (x{i,j} +2zij )
2zij ) > 4.
20
4.2
Flow inequalities
In order to introduce some valid inequalities to strengthen formulation LP-F2, we need to highlight some characteristics of the structure of a feasible solution of formulation (15)–(27). Given a feasible solution of (15)–(27), if an edge {i, j} ∈ E is used (i.e. yij +yji > P 0), with j ∈ V ′ and u∈U zuj > 0, then arc (i, j) carries a strictly positive flow.
This immediately yields the following valid inequalities, called flow inequalities: i ∈ V ′ , j ∈ U, i 6= j.
yij > (yij + yji)/Q,
(39)
Using the results of Gouveia [12] and Baldacci, Hadjiconstantinou and Mingozzi [6] we can obtain the following theorem that we present without proof for sake of brevity. Theorem 2 For any feasible solution (z ∗ , w ∗ , y ∗) of LP-F2 strengthened with the flow inequalities (39) there exists a vector x∗ such that (x∗ , z ∗ , w ∗) is a feasible solution for LP-F1 strengthened with the ring multistar inequalities (30), and the two solutions have the same value.
5
Separation of violated inequalities
In this section we describe the procedures used to find violated constraints from the different families of inequalities described in Section 4. Given an optimal solution (x∗ , z ∗ , w ∗ ) for LP-F1, let G∗ = (V ∗ , E ∗ ) be the corresponding support graph already introduced in the proof of Theorem 1, i.e., V ∗ = {0, n + 1} ∪ Vb ∗ where Vb ∗ = {i ∈
U : zii∗ > 0} ∪ {j ∈ W : wj∗ > 0} and E ∗ = {{i, j} ∈ E : x∗{i,j} > 0}.
21
5.1
Exact separation algorithms
We describe here some polynomial algorithms for the exact solution of the separation problem for inequalities (7), (28), (30) and (36). Capacity inequalities The same technique can be used to separate the fractional ring capacity inequalities (7) and the rounded ring capacity inequalities I (36) (for the rounded inequalities II, instead, we adopted an heuristic separation method). Indeed, both inequalities have the form X
e∈δ(S)
xe + α
X X i∈U
zij > β,
(40)
j∈V ′ \S
where α = 2/Q, β = 2|U|/Q for inequalities (7) and α = 2/mod(U, Q), β = 2 ⌈|U|/Q⌉ for inequalities (36). Given α and β, the most violated constraint (40) can be found by computing a minimum s-t cut on an undirected capacitated graph G = (V , E) with V = (V ∗ ∩ V ′ ) ∪ {s, t}. Source node s represents the shrinking of nodes 0 and n + 1 while t is an additional sink node. The edge set is E = {{i, j} ∈ E ∗ : i, j ∈ V ′ } ∪ {{s, j} : {0, j} or {j, n + 1} ∈ E ∗ } ∪ {{j, t} : j ∈ V ∗ ∩ V ′ }. Every edge {s, j} is associated P to a capacity x∗{0,j} + x∗{j,n+1} , while a capacity α i∈U zij∗ is assigned to each edge
{j, t}. The remaining edges are associated to capacities {x∗{i,j} }.
Let (S, V \ S) be the minimum s-t cut of G and assume that t ∈ S. One can see that if the cut capacity is strictly smaller than β then node set S = S \ {t} defines the most violated inequality (40). No violated inequality exists if the cut has a capacity greater than or equal to β.
22
Connectivity inequalities Given a customer u ∈ U we can rewrite the connectivity inequalities (28) as X
xe + 2
X
zuj > 2,
∀S ∈ V ′ : u ∈ S.
(41)
j∈V ′ \S
e∈δ(S)
The separation of inequalities (41) uses an undirected graph G = (V , E) similar to the one introduced above to separate the capacity inequalities, but without node t and having node u as sink. The edge capacities are the same as above for all edges ∗ except for edges (j, u), which have value x∗{u,j} + 2zuj . Given a minimum s-u cut
(S, V \ S) with u ∈ S, then node set S defines the most violated inequality if the cut capacity is strictly smaller than 2. Multistar inequalities Inequalities (30) can be rewritten as X
X
i∈(V \S)\U j∈S
x{i,j} +
X
X
i∈U \U (S) j∈S
(1 −
2 XX 2 zij , )x{i,j} > Q Q i∈U j∈S
∀S ⊆ V ′ ,
and can be separated using a directed capacitated graph obtained from graph G by inserting a pair of arcs (i, j)-(j, i) instead of each edge {i, j} ∈ E. The capacities of arcs (s, j) and (j, t), with j ∈ V ∗ ∩ V ′ are the same as those in graph G (i.e arc (s, j) P has capacity x∗{0,j} + x∗{j,n+1} and arc (j, t) capacity (2/Q) i∈U zij∗ ). The remaining
arcs have capacity (1 − 2/Q)x∗{i,j}, if i ∈ U, otherwise x∗{i,j} . Given a minimum s-t
cut (S, V \ S) in G, with t ∈ S if the cut capacity is strictly smaller than 2|U|/Q, then S = S \ {t} identifies the most violated ring multistar inequality.
23
5.2
Heuristic separation algorithms
In this section we describe the heuristic procedure we adopted to separate the Ci ring capacity inequalities (33) and the rounded ring capacity inequalities II (37). The procedure is a Multistart Local Search (MLS) approach that resembles some features of the algorithms described by Araque et al. [1] and by Augerat et al. [2]. MLS is an iterative method that, at each iteration, generates a starting point and evolves it through a Local Search procedure. We start by generating a set S of 10(n − 1) subsets of V ′ as follows: For the Ci -ring capacity inequalities the first |U| sets of S are obtained by inserting in each set, for i = 1, . . . , |U|, the nodes in Ci . The remaining sets are generated by first computing a random number r drawn from a uniform distribution in [1, . . . , n − 1], and then by randomly selecting r different nodes of V ′ , again using a uniform distribution. For the rounded ring capacity inequalities II all the sets are randomly generated as above. Each set S ∈ S is then iteratively expanded by adding one node at each iteration until S = V ′ . For a given set S, let f (S) denote the difference between the left-hand side and the righthand side value of the considered inequality (i.e., the inequality can be rewritten as f (S) > 0). Each set S is expanded by choosing the node i ∈ V ′ \ S such that f (S ∪ {i}) is minimized.
6
Branch-and-cut algorithms
In this section we describe branch-and-cut algorithms for the exact solution of CmRSP based on the two-index formulation F1 (1)–(10) and the two-commodity flow formulation F2 (1)–(10), respectively, and the inequalities described in Section 4 through the separation procedures given in Section 5. The algorithms have been built within the CPLEX 8.1 framework by using the CPLEX callback functions (see [8]). Through these functions the programmer can almost completely customize the
24
general approach embedded into CPLEX. For example, one can choose the next node to explore in the enumeration tree, choose the branching variable or define a problem dependent branching scheme, separate and add his own cutting planes, apply his own heuristic methods, and so on. Below, the most important implementation issues are discussed.
6.1
Separation strategy
The lower bound at each node of the enumeration tree is computed by solving either LP-F1 or LP-F2, strengthened with the cutting planes described in Section 4. Whenever the two-index formulation F1 is used, the initial linear program contains all constraints except the fractional capacity constraints (7). The algorithm based on the two-commodity formulation F2 starts with the full LP relaxation. We conducted several preliminary experiments to identify a good separation strategy. As a result of our experimentation we decided to use the following inequalities: (i) connectivity inequalities (28); (ii) multistar inequalities (30); (iii) ring capacity inequalities I (36); (iv) rounded ring capacity inequality II (37). Whenever a set S was generated, we checked the associated Ci -ring capacity inequality (33) for violation. In addition, we disabled the separation of all the cuts embedded into CPLEX, since their use increases the overall running time of the algorithms but does not improve the final solution quality. For a given LP solution we first identified (as far as possible) violated inequalities of the four above families, then we considered them for strengthening the current LP according to the procedure described below. We also tested several other strategies, including separating and adding to the LP one family at a time, but obtained worse average performances. At each node of the enumeration tree, families (i)-(iii) were separated through the exact procedures described in Section 5.1. The subsets of nodes corresponding to 25
violated inequalities were checked for possible violation of the last family. Moreover, we applied the heuristic procedure of Section 5.2 to identify other violated rounded ring capacity inequalities II. Note that this procedure identifies at most one cut for each of the first three families, but it can find many violated inequalities of family (iv). In order to speed up the computation a small subset of these inequalities was selected and added to the current LP. To this end we constructed and solved an auxiliary problem consisting of the LP of the current node strengthened with all the cuts of family (iv) (and none of the other families). The problem is solved starting from the basis of the current LP. 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) were not considered because the CPLEX framework does not provided any callback function that makes it possible to remove a cut from the current subproblem. The standard CPLEX “user-cut pool” can be defined only at the root node and the user has no control over the utilization of this pool. We found it computationally convenient to fill the CPLEX user-cut pool with inequalities (31) and (32). Once new cuts had been added to the LP, the improved LP relaxation was solved. The procedure was iterated until one of the following conditions held: (a) no violated inequality could be generated; (b) the lower bound had not been improved in the last 7 iterations; (c) the lower bound was greater or equal to the current upper bound. When model F2 was used, all flow inequalities (39) were added to the CPLEX user-cut pool, so that we did not need to separate the multistar inequalities as a consequence of Theorem 2.
26
6.2
Branching and node selection strategy
We investigated two branching strategies: the CPLEX strong branching and a mixed branching based both on variables and cutsets. Let (x∗ , z ∗ , w ∗) be the optimal solution of the current LP relaxation. The mixed branching is as follows. We define a set of candidates (variables and cutsets, see below) for branching, each one having two descending nodes. For each candidate we solve the two corresponding subproblems. If one of the two can be fathomed, then the candidate is immediately chosen for branching. Otherwise we associate to each candidate the minimum increase of the objective function when moving from the current node to one of the two descending nodes. Among all candidates, the one having maximum increase is chosen for branching. The set of candidates is identified as follows. The variables are chosen by selecting at most one fractional variable from each set x, z and w with value as close as possible to 0.5 (ties are broken by maximum coefficient in the objective function). The idea used to identify the custsets is the same used for the Ci -ring capacity inequalities. Given a set S ⊆ V ′ with S ∩ U 6= ∅ let
f (S) =
X
e∈δ(S)
|{i ∈ U : Ci ⊆ S}| . xe − 2 Q
The heuristic procedure of Section 5.2 can be applied to look for sets such that 0 < f (S) < 2. For each of these sets, the branching consists of adding to the LP either the constraint f (S) = 0 or f (S) > 2. Exactly two of the identified sets are chosen as candidates: • set S1 such that
P
e∈δ(S1 )
x∗e is as close as possible to 3;
• and set S2 6= S1 such that f (S2 ) is as close as possible to 1. The two branching strategies can be applied to the two-index formulation LP-F1, 27
whereas the CPLEX strong branching applied to LP-F2 cannot guarantee that constraints (24) (i.e. yij + yji ∈ {0, Q}) are satisfied. On the contrary, the mixed strategy works on x variables computed as x{i,j} = (yij + yji)/Q and it branches by adding constraints on y, thus imposing that (24) hold. In the computational results of Section 7 the two branching strategies are compared when applied to model F1, while only the mixed branching is used for model F2. In order to choose a node-selection rule we first performed some preliminary experiments with different rules and, based on these results, we decided to adopt the lowest first strategy for all the computations of Section 7.
6.3
Heuristic algorithms
We used two heuristic algorithms to speed up the convergence of the branch-and-cut algorithm. The first heuristic (called initial heuristic) was applied only at the root node and consisted of the algorithm proposed by Baldacci and Dell’Amico in [4] for the solution of the more general multi-depot CmRSP. The second heuristic, hereafter called primal, uses the information of the fractional LP solution to construct a CmRSP solution and it is applied at the first NODEHEU nodes of the enumeration tree. Given the z ∗ variables of a fractional LP solution the primal heuristic starts by defining a customer preassignment to nodes of V ′ through procedure P reassignment(z ∗ , σ, S, q) of Figure 3 that returns: (a) the node σ(i) at which each customer i ∈ U is assigned; (b) the set S ⊆ V ′ of the nodes having some customers assigned; and (c) the number q(j) of customers assigned at each node j ∈ S. The algorithm heuristically solves a CVRP defined by the set of customers in S, by the demand requests q and by m vehicles each one having capacity Q, then constructs the corresponding CmRSP solution and re-optimize it as in phase (iii) of the initial heuristic. The CVRP instances defined by the primal 28
Procedure P reassignment(z ∗ , σ, S, q) Input: variables z ∗ ; Output: assignments σ, set S of nodes with customers assigned and weights q; comment: initialization for each i ∈ U do σ(i) := −1; U := U; comment: customers to be assigned N := V ′ ; comment: nodes at which a customer can be assigned S := ∅; comment: nodes used for assignment comment: customer preassignment while U 6= ∅ do Randomly uniformly select a customer i ∈ U ; U := U \ {i}; σ(i) = argmax{zij∗ : j ∈ Ci ∩ N}; S := S ∪ {σ(i)}; if σ(i) 6= i then N := N \ {i}; endwhile for each j ∈ S do qj := |{i ∈ U : σ(i) = j}|; Figure 3: The preassignment procedure heuristic were heuristically solved using the same heuristic algorithm used in phase (i) of the initial heuristic.
7
Computational results
This section presents computational results for the branch-and-cut algorithms described in Section 6. The algorithms were coded in Microsoft Visual C++, using the CPLEX 8.1 framework. We remind the reader that the internal CPLEX cut generation was disabled. The framework was therefore used only to manage the enumeration tree. The experiments were performed on a Pentium 4 at 2.2 GHz personal computer equipped with 1Gb of RAM and running under Windows XP. Each execution of our algorithm for solving an instance was given with a time limit of 7200 seconds. We considered both random and real life instances.
29
7.1
Random instances
We generated two classes of random test problems (A and B) having the same topology of the underlying graph, but with different cost structure. For each of the two classes and for each value of n ∈ {26, 51, 76, 101} we generated 12 CmRSP instances using the three TSPLIB instances (Reinelt [22]) called eil51, eil76 and eil101, respectively. The instances with n = 26 consisted of the first 26 nodes of eil51, while for the other values of n we took all the nodes of the corresponding problems. The first node was selected as depot, the next ⌊α(n − 1)⌋ with α ∈ {0.25, 0.50, 0.75, 1.00} as customers, and the last ones as Steiner nodes. We tested instances with m ∈ {3, 4, 5} and a value of Q that implies an utilization of the rings close to 90%. More precisely, we computed Q = ⌈|U|/(0.9m)⌉. Note that this corresponds to a realistic ring utilization for the real life applications and, according to the CVRP literature, determines difficult instances. We considered an instance for each triple (n, α, m), apart from in those having less than three customers per ring. We obtained 9 test problems for n = 26 and 12 for n > 51. The routing and connection costs were generated as follows. Class A: Routing and assignment cost of a pair of nodes i, j are equal to the Euclidean distance eij , computed according to the TSPLIB standard (i.e., cij = dij = eij ); Class B: For each pair of nodes i, j the routing cost is cij = ⌈βeij ⌉, while the assignment cost is dij = ⌈(10 − β)eij ⌉, where β is an integer in [6-9]. This class simulates a practical case in which one requires a higher communication quality on the rings and thus has an higher cost. We considered instances with β = 7. For both classes Ci was defined by computing P the average assignment cost AC = (i,j)∈A dij /|A| and setting Ci = {j : dij 6 0.2 AC}
30
Table 1: Comparison using Class A instances
n 26 51 76 101
Two-commodity formulation, mixed #opt %LB tLB %g nodes 9/9 99.83 0.3 0.00 1.7 9/12 99.59 5.4 1.48 78.8 3/12 97.96 24.7 2.80 30.3 4/12 99.10 113.9 2.32 85.8 25/45 99.40 23.2 2.41 46.3
branching strategy cuts tavg tmax 71.1 1.2 5.6 179.6 437.8 3687.5 168.7 195.0 435.3 285.5 3138.2 6718.4 156.2 683.6
26 51 76 101
Two-index formulation, mixed branching strategy 9/9 99.98 0.3 0.00 0.1 129.3 0.7 3.6 11/12 99.35 4.2 1.38 85.8 165.1 82.0 424.5 7/12 98.08 31.8 3.13 245.9 328.4 1602.1 6915.7 5/12 99.01 76.9 2.10 90.2 368.2 1213.2 3998.4 32/45 99.20 20.5 2.44 97.4 222.5 568.4
26 51 76 101
Two-index formulation, strong branching strategy 9/9 99.98 0.3 0.00 0.1 129.3 0.7 3.8 12/12 99.11 4.8 0.00 322.9 166.6 570.6 6334.2 8/12 98.06 35.1 3.12 311.0 329.8 813.1 3221.3 6/12 99.01 77.2 1.53 213.0 353.8 1510.8 6690.1 35/45 99.08 22.9 2.17 218.3 226.4 640.6
Note that the set of routing costs of all generated instances satisfied the triangle inequality, therefore any optimal CmRSP solution could not use a Steiner node without assigning it a customer, hence inequalities (14) were not necessary. In Tables 1 and 2 we compare the effectiveness of three branch-and-cut algorithms. The first one uses the two-commodity formulation F2 and the mixed branching scheme, the second uses the two-index formulation F1 and again the mixed branching, while the last one uses formulation F1 and the CPLEX strong branching. We remind the reader that the CPLEX strong branching strategy cannot be used when formulation F2 is adopted (see Section 6.2). For each class a row of the corresponding table reports the results obtained with the instances having the same number of nodes. The meaning of the values in the columns are detailed 31
in the following. When we do not give a different explanation, the averages were computed with respect to the instances optimally solved. n : number of nodes of the instances; #opt : number of instances solved to optimality out of the total number of instances; %LB : percentage average ratio of the lower bound at the root node over the optimal solution value; tLB : average running time, in seconds, for the computation of the lower bound at the root node; %g : average percentage gap between the best upper bound and the best lower bound value, computed over the instances not solved to optimality; nodes : average number of nodes in the enumeration tree; cuts : average number of cuts generated; tavg : average overall running time of the branch-and-cut algorithm, in seconds. tmax : maximum overall running time of the branch-and-cut algorithm, in seconds. The last row of each block (of five rows) summarizes the data in the previous four rows by reporting the total number of instances solved to optimality and the average over all instances solved to optimality. Looking at Tables 1-2 one can see that using the same branching strategy the algorithm based on the two-index formulation F1 is able to solve to proven optimality more instances than the algorithm using the two commodity formulation F2 (in detail, 7 more instances are solved for Class A and 2 for Class B). When the two 32
Table 2: Comparison using Class B instances
n 26 51 76 101
Two-commodity #opt %LB 9/9 99.86 10/12 99.30 3/12 97.67 3/12 99.17 25/45 99.29
formulation, mixed tLB %g nodes 0.5 0.00 1.3 7.5 2.26 112.2 21.1 4.57 148.0 99.3 4.52 37.3 17.6 4.32 67.6
branching strategy cuts tavg tmax 90.8 0.9 2.8 194.8 568.4 2925.9 202.3 903.9 2506.4 251.7 2224.1 6344.7 165.1 603.1
26 51 76 101
Two-index formulation, mixed branching strategy 9/9 100.00 0.4 0.00 0.0 94.7 0.4 0.8 12/12 98.96 6.6 0.00 124.2 205.4 379.1 2588.7 3/12 97.02 13.0 3.96 50.0 224.7 88.3 127.2 3/12 98.79 58.9 3.39 40.7 397.7 641.4 1802.6 27/45 99.07 11.0 3.68 65.3 192.0 249.7
26 51 76 101
Two-index formulation, strong branching strategy 9/9 100.00 0.4 0.00 0.0 94.7 0.4 0.8 12/12 98.96 6.6 0.00 229.3 205.4 613.1 6470.7 4/12 97.12 17.5 4.20 203.8 260.3 529.5 1897.6 3/12 98.79 59.0 2.90 48.7 397.7 334.0 862.4 28/45 99.01 11.8 3.51 132.6 198.3 374.3
algorithms solve the same problems the running time is smaller if formulation F1 is used. The lower bound values at the root node are comparable, which is congruent with Theorem 1, but formulation F1 generally determines smaller computing times. Also the average gap between the best solution value and the best lower bound, computed when the time limit occurs, is larger if formulation F2 is adopted. The third sub-table in Tables 1-2 reports on the performance of the branch-andcut algorithm using the CPLEX strong branching strategy. This algorithm solves 4 more instances than the algorithm implementing the mixed branching strategy. The computational times are usually shorter but for some instances the mixed strategy explores fewer nodes than the strong branching strategy (e.g. the instance of Class B with n = 51, |U| = 50 and m = 5 is solved with a tree of 1647 nodes and 6470
33
Table 3: Number of cuts generated at the root node Two-index formulation
Two-commodity formulation
Class
n conc multistar roundI roundII 26 2.9 4.6 2.3 119.6 A 51 8.0 7.3 3.5 147.8 76 21.3 19.4 10.5 278.6 101 22.8 19.8 11.5 299.7 12.3 11.5 6.2 196.5
B
26 4.0 51 13.8 76 18.5 101 28.0 12.8
5.7 10.3 17.3 27.7 11.7
2.2 3.8 10.3 13.0 5.2
82.8 177.5 214.3 329.0 168.5
conc roundI 2.6 1.0 6.6 1.8 11.3 4.7 19.5 6.0 7.8 2.5 3.1 9.8 14.0 20.7 9.2
1.1 2.3 3.0 7.7 2.6
roundII 67.6 171.2 152.7 260.0 145.9 86.6 182.7 185.3 223.3 153.3
second of running time by the strong branching algorithm and with 556 nodes and 2588 seconds by the mixed branching algorithm). In general we observed that the running time spent by the strong branching for a node is shorter (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 [8]). One can further observe that the instances of Class B are more difficult, on average, than those of Class A. The lower and the upper bounds have worse quality, thus the total computing time is longer and fewer instances are solved to optimality. The solutions of Class B instances have smaller rings (hence a larger number of connections), but use more Steiner nodes than the solutions of Class A instances (see also the detailed reports of Tables 5-6). In Table 3 we report the average number of cuts generated at the root node when formulation LP-F1 or LP-F2 is used. Columns labeled conc report the number of connectivity cuts (28) added to the LP, column labeled multistar the number of ring multistar inequalities (30) and columns labeled roundI and roundII the number of
34
rounded ring capacity inequality I (36) and II (37), respectively (remember that formulation LP-F2 does not need the multistar inequalities because of Theorem 2). The cuts added by formulation LP-F2 are, on average, fewer than those added when using formulation LP-F1. The experiments we performed confirm the theoretical equivalence of the two formulations, but prove that, for CmRSP, the branch-andcut algorithm using formulation F1 has better computational performances than that using LP-F2. The performance of the two heuristic algorithms of Section 6.3 are reported in Table 4. The first two columns refer to the initial heuristic, while the second and third pair of columns refer to the primal heuristic applied to the fractional solution obtained from LP-F1 and LP-F2, respectively. In each row, for each class, we report the results obtained with the instances having the same number of nodes. Columns labeled %z give the average ratio between the value of the corresponding upper bound and the optimal solution value. Columns labeled t report the running time, in seconds, necessary to compute the bounds. The average performances of the Initial UB and of the Primal UB applied with the two-index formulation are very similar and quite close to the optimum (the average errors are less than 0.7%). The Primal UB applied with the two-commodity formulation is even better. The maximum absolute error, computed on the instances solved to optimality, is again similar for the two heuristics: it is 4.02% for both algorithms when Class A instances are considered, and it is 3.55% and 3.31% for Initial and Primal, respectively, for Class B instances (see also Tables 5-6). However, the two heuristic algorithms exhibit a sort of ‘complementarity’, in the sense that in many cases when one of the two does not perform well, the other gives better results, and vice versa (see e.g. instance A40-n101-m03, where Initial is faster than Primal, and instance A13-n51m03, where Primal is faster than Initial). It follows that no algorithm outperforms the other. The computational time of Primal is longer than that of Initial, but
35
Table 4: Upper bound values at the root node Initial UB Class A
B
n 26 51 76 101
%z t 100.27 1.0 100.69 4.3 100.55 9.6 101.40 26.9 100.67 8.6
Primal UB Two-index Two-commodity %z t %z t 100.27 0.3 100.51 0.5 100.39 5.7 100.19 5.8 100.72 37.2 100.20 25.0 101.83 82.6 100.66 117.6 100.68 24.7 100.38 24.1
26 51 76 101
100.31 101.16 100.33 100.42 100.69
100.00 0.4 101.34 7.5 100.07 18.1 100.55 59.3 100.64 12.3
1.2 4.5 2.9 2.2 3.0
100.00 101.18 100.42 100.49 100.58
0.6 8.1 21.5 99.7 18.0
always under two minutes, on average. Therefore, in a branch-and-cut-algorithm, it is convenient to apply both heuristic approaches. Tables 5 and 6 report the details of our experiments relative to the branch and cut algorithm with formulation F1 and CPLEX branching strategy. The columns report the following information (omitting obvious notation): Name : name of the instance in the format Cxx-nxxx-mxx, where in field Cxx, the first character identifies the class and xx the instance number; in field nxxx, xxx gives the number of nodes; in field mxx, xx is the number of rings; z ∗ : optimal solution value or best solution found; nc , ns : number of customers and Steiner nodes in the rings, respectively; %UBI : percentage ratio between the initial heuristic value and the optimal solution value, when available, otherwise the best lower bound; %UBP : percentage ratio between the primal heuristic value at the root node 36
and the optimal solution value, when available, otherwise the best lower bound; %LB : percentage ratio between the lower bound at the root node and z ∗ ; t0 : running time, in seconds, for the computation of the root lower bound; %g : percentage gap between z ∗ and the best lower bound L, i.e. (z ∗ − L)/L. The value is reported only if the instance is not solved to optimality; ttot : overall running time of the branch-and-cut algorithm, in seconds. The last two rows of each table report the average values computed over all instances and the average values computed over all instances solved to optimality, respectively. In addition, the first field of the last row gives the number of instances solved to optimality over the total number of instances of the class. We note that the difficulty of the instances increases with the number of nodes in the graph and, when the size of the graph is fixed, with the number of customers. The difficulty also strongly depends on the number of rings, i.e. the same instance is much more difficult to solve optimally if more rings are required. This behavior has been also observed by other authors solving CVRP instances with a branch-and-cut method: the difficulty increases when more routes are required (see e.g. Augerat et al. [3], Ralphs et al. [21]).
7.2
Real-world instances
The best branch-and-cut algorithm identified through the experiments conducted on random instances (the algorithm based on the two-index formulation and using the CPLEX strong branching strategy) were used to attack some real-world instances motivating this paper. We considered the problem of designing an optical network for the town of Reggio Emilia, whose urban map consists of a network having 4078 37
Table 5: Class A, two-index formulation with strong branching N ame A01-n026-m03 A02-n026-m04 A03-n026-m05 A04-n026-m03 A05-n026-m04 A06-n026-m05 A07-n026-m03 A08-n026-m04 A09-n026-m05 A10-n051-m03 A11-n051-m04 A12-n051-m05 A13-n051-m03 A14-n051-m04 A15-n051-m05 A16-n051-m03 A17-n051-m04 A18-n051-m05 A19-n051-m03 A20-n051-m04 A21-n051-m05 A22-n076-m03 A23-n076-m04 A24-n076-m05 A25-n076-m03 A26-n076-m04 A27-n076-m05 A28-n076-m03 A29-n076-m04 A30-n076-m05 A31-n076-m03 A32-n076-m04 A33-n076-m05 A34-n101-m03 A35-n101-m04 A36-n101-m05 A37-n101-m03 A38-n101-m04 A39-n101-m05 A40-n101-m03 A41-n101-m04 A42-n101-m05 A43-n101-m03 A44-n101-m04 A45-n101-m05 35/45
|U | 12 12 12 18 18 18 25 25 25 12 12 12 25 25 25 37 37 37 50 50 50 18 18 18 37 37 37 56 56 56 75 75 75 25 25 25 50 50 50 75 75 75 100 100 100
Q 5 4 3 7 5 4 10 7 6 5 4 3 10 7 6 14 11 9 19 14 12 7 5 4 14 11 9 21 16 13 28 21 17 10 7 6 19 14 12 28 21 17 38 28 23
z∗ 242 261 292 301 339 375 325 362 382 242 261 286 322 360 379 373 405 432 458 490 520 330 385 448 402 460 479 471 523 545 564 606 654 363 415 448 500 532 568 595 625 662 646 680 700
nc ns 12 0 12 0 12 0 18 0 18 0 18 0 24 0 25 0 25 0 12 0 12 0 11 1 22 2 24 1 23 2 33 1 34 1 32 2 45 0 46 0 43 0 17 1 17 1 16 2 34 1 34 1 36 0 51 0 54 0 50 0 66 0 70 0 67 0 23 2 23 2 23 2 45 3 47 2 48 0 66 3 65 5 65 5 84 0 87 0 89 0
%U BI 100.00 100.00 100.00 100.00 100.00 100.00 102.46 100.00 100.00 100.00 100.00 100.00 102.80 100.00 100.00 100.00 100.74 102.08 100.22 102.24 100.19 100.00 100.00 100.00 101.24 103.97 100.00 100.85 102.88 101.28 101.06 103.50 105.24 100.00 100.00 100.00 101.14 101.20 103.06 101.68 101.93 102.73 104.02 104.30 102.71 101.19 100.67
%U BP 100.00 100.00 100.00 100.00 100.00 100.00 102.46 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.74 100.69 102.40 100.61 100.19 100.00 100.00 100.00 101.74 103.75 101.04 101.49 103.07 101.28 100.18 105.35 104.44 100.00 100.00 100.00 100.74 101.39 102.52 104.54 102.91 103.04 104.02 104.59 102.43 101.24 100.68
38
%LB 100.00 100.00 100.00 100.00 100.00 100.00 99.85 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 99.01 97.81 98.11 97.95 96.44 97.28 98.55 97.48 98.18 94.45 98.03 98.22 95.56 97.87 98.85 97.11 94.74 100.00 99.03 97.69 98.36 98.11 96.65 98.98 97.91 96.94 99.26 98.04 99.07 98.57 99.08
t0 0.1 0.0 0.0 0.5 0.3 0.7 0.4 0.3 0.2 0.2 0.4 0.1 2.1 2.1 2.3 8.4 4.9 9.1 7.6 9.5 10.3 16.2 18.2 18.1 22.2 73.2 76.0 39.8 57.9 58.1 32.0 49.6 63.0 8.7 47.0 121.7 204.2 233.4 234.2 78.0 111.8 284.7 59.8 101.6 147.9 49.3 22.9
%g nodes cuts 0.00 0 98 0.00 0 202 0.00 0 136 0.00 0 113 0.00 0 141 0.00 0 154 0.00 1 36 0.00 0 64 0.00 0 220 0.00 0 219 0.00 0 230 0.00 0 62 0.00 0 89 0.00 0 286 0.00 0 152 0.00 1 138 0.00 26 110 0.00 91 205 0.00 464 99 0.00 390 227 0.00 2903 182 0.00 32 287 0.00 11 291 0.00 26 299 0.00 196 284 3.52 546 554 0.00 104 649 0.00 760 340 2.88 1046 423 0.00 815 339 0.00 544 149 1.66 1818 293 4.44 1180 330 0.00 0 402 0.00 10 365 0.00 95 516 0.54 571 493 1.20 644 604 2.52 296 646 0.00 895 282 1.29 727 360 2.58 499 577 0.00 38 126 1.03 1181 202 0.00 240 432 2.17 358.9 275.7 218.3 226.4
ttot 0.1 0.0 0.0 0.5 0.3 0.7 3.8 0.3 0.2 0.2 0.4 0.1 2.1 2.1 2.3 8.4 41.7 52.2 182.8 220.4 6334.2 48.3 30.6 63.7 567.7 7200.0 509.3 1584.4 7200.0 3221.3 479.5 7200.0 7200.0 8.7 91.8 680.4 7200.0 7200.0 7200.0 6690.1 7200.0 7200.0 283.0 7200.0 1310.8 2098.3 640.6
Table 6: Class B, two-index formulation with strong branching N ame B01-n026-m03 B02-n026-m04 B03-n026-m05 B04-n026-m03 B05-n026-m04 B06-n026-m05 B07-n026-m03 B08-n026-m04 B09-n026-m05 B10-n051-m03 B11-n051-m04 B12-n051-m05 B13-n051-m03 B14-n051-m04 B15-n051-m05 B16-n051-m03 B17-n051-m04 B18-n051-m05 B19-n051-m03 B20-n051-m04 B21-n051-m05 B22-n076-m03 B23-n076-m04 B24-n076-m05 B25-n076-m03 B26-n076-m04 B27-n076-m05 B28-n076-m03 B29-n076-m04 B30-n076-m05 B31-n076-m03 B32-n076-m04 B33-n076-m05 B34-n101-m03 B35-n101-m04 B36-n101-m05 B37-n101-m03 B38-n101-m04 B39-n101-m05 B40-n101-m03 B41-n101-m04 B42-n101-m05 B43-n101-m03 B44-n101-m04 B45-n101-m05 28/45
|U | 12 12 12 18 18 18 25 25 25 12 12 12 25 25 25 37 37 37 50 50 50 18 18 18 37 37 37 56 56 56 75 75 75 25 25 25 50 50 50 75 75 75 100 100 100
Q 5 4 3 7 5 4 10 7 6 5 4 3 10 7 6 14 11 9 19 14 12 7 5 4 14 11 9 21 16 13 28 21 17 10 7 6 19 14 12 28 21 17 38 28 23
z∗ 1684 1827 2041 2104 2370 2615 2251 2510 2674 1681 1821 1972 2176 2470 2579 2490 2721 2908 3015 3260 3404 2253 2620 3059 2720 3138 3311 3088 3447 3648 3740 4026 4288 2434 2782 3009 3332 3533 3872 3923 4125 4458 4110 4506 4632
nc ns 11 1 12 0 11 1 17 1 17 1 17 1 24 0 24 0 25 0 10 2 10 2 9 3 21 3 22 3 21 4 29 2 29 2 32 2 39 0 39 0 38 0 14 4 14 3 13 5 28 6 25 8 32 3 37 4 40 1 43 1 53 0 53 0 53 0 17 7 17 7 15 9 37 7 35 8 38 7 51 8 56 7 57 5 67 0 67 0 71 0
%U BI 100.00 100.00 100.00 100.00 100.00 100.00 102.80 100.00 100.00 100.00 100.00 100.00 100.00 100.24 100.66 100.68 101.87 101.03 102.65 103.22 103.55 100.31 100.19 100.00 100.81 107.02 104.09 103.21 105.14 103.66 104.88 105.45 109.08 100.12 100.00 101.13 103.45 102.18 104.80 102.16 104.14 105.65 104.65 107.78 104.70 102.25 100.69
%U BP 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 101.01 100.00 104.38 103.31 101.00 101.86 101.17 103.29 100.27 100.00 100.00 100.00 105.74 104.87 104.34 106.63 105.11 105.82 106.15 105.29 100.21 101.33 100.10 102.93 101.98 104.59 101.85 104.44 104.99 101.71 108.37 103.98 102.15 100.64
39
%LB 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 99.57 100.00 99.49 98.10 96.92 98.54 97.58 97.35 96.00 97.88 97.17 97.44 92.56 94.81 96.28 93.63 95.21 95.53 93.98 93.76 99.85 98.79 97.73 97.58 98.40 94.89 96.76 96.53 94.33 98.10 93.64 95.45 97.64 99.01
t0 0.1 0.1 0.0 0.5 0.5 0.7 0.4 0.5 0.8 0.8 1.5 0.3 1.1 5.6 4.1 8.3 8.4 8.7 14.4 11.6 14.2 13.2 10.9 14.6 31.3 49.3 85.0 62.0 81.8 76.1 48.7 77.0 65.2 21.3 68.0 87.6 122.8 245.4 254.4 90.9 143.1 226.8 150.9 205.5 160.8 55.0 11.8
%g nodes cuts 0.00 0 101 0.00 0 30 0.00 0 136 0.00 0 76 0.00 0 146 0.00 0 117 0.00 0 52 0.00 0 85 0.00 0 109 0.00 0 48 0.00 0 55 0.00 0 235 0.00 0 71 0.00 2 202 0.00 0 154 0.00 8 274 0.00 84 245 0.00 200 308 0.00 435 302 0.00 375 298 0.00 1647 273 0.00 103 204 0.00 21 237 0.00 57 233 0.00 634 367 5.74 555 426 3.22 522 687 2.41 1388 416 5.14 575 524 3.55 484 452 3.60 1510 414 4.64 776 382 5.29 528 440 0.00 1 300 0.00 9 448 0.00 136 445 1.26 418 521 0.48 575 689 4.59 266 695 1.85 702 378 2.52 494 436 4.99 258 685 0.61 1020 379 5.97 533 430 3.82 452 464 3.51 328.2 310.4 132.6 198.3
ttot 0.1 0.1 0.0 0.5 0.5 0.7 0.4 0.5 0.8 0.8 1.5 0.3 1.1 7.2 4.1 17.9 74.9 145.0 296.7 336.6 6470.7 105.5 29.5 85.3 1897.6 7200.0 7200.0 7200.0 7200.0 7200.0 7200.0 7200.0 7200.0 24.2 115.4 862.4 7200.0 7200.0 7200.0 7200.0 7200.0 7200.0 7200.0 7200.0 7200.0 2952.9 374.3
nodes and 11068 arcs. The data of the instances was provided by a major Italian telecommunication company that is involved in the process of providing mediumsized Italian towns like Reggio Emilia with optical networks. The first goal of the company is to serve its top-business clients through a wide-band reliable communication network. In particular, in Reggio Emilia the company has 131 top clients, spread over the entire urban area, and two main telephone exchanges (i.e. two depots in our model). For historical reasons and operative habits of the company, there is a pre-assignment of the customers to one of the two depots. Hence the problem can be decomposed into two independent CmRSP instances. On the other hand, one can observe that better global solutions could be obtained by considering all customers and all depots at the same time if one could relax the pre-assignment (as discussed in [4]). Based on the experience with random instances we know that the size of the two real-world instances is very large. In particular, the total number of nodes (about 2 thousand) is 20 times larger than the maximum size we can hopefully solve. For this reason we decided to reduce the number of Steiner nodes as follows: For each customer i the set Ci consists of all nodes having distance from i not larger than 200 meters (as required by the technological constraints). Among the nodes of each set Ci we selected the subset C i ⊆ Ci of the nodes having a distance of at least 70 meters from node i and we picked at most two nodes of C i . The first one was randomly selected, while the second one was chosen as the one which maximizes the distance from the already selected node. We thus obtained a first graph with 137 nodes, 66 of which are customers, and a second graph with 129 nodes and 65 customers. We derived three instances from each graph by allowing 35, 40 or 45 customers per ring (note that each of the instances required exactly two rings). Routing and connection costs were assumed to be equal to the length of the shortest path between nodes i and j (hence we implicitly suppose that no preexistent pipe
40
Table 7: Real-world instances: two-index formulation with strong branching N ame R01-n137-m02 R02-n137-m02 R03-n137-m02 R04-n129-m02 R05-n129-m02 R06-n129-m02 4/6
|U | 66 66 66 65 65 65
Q 35 40 45 35 40 45
z∗ 61963 61102 60917 49686 48484 48484
nc 49 53 53 50 49 49
ns 14 12 11 7 8 8
%U BI 101.37 102.19 103.72 101.49 102.53 102.53 102.31 102.74
%U BP 101.70 101.68 102.55 101.44 102.99 102.99 102.23 102.55
%LB t0 %g nodes cuts 96.25 29.9 1.31 210 306 99.60 58.6 0.00 197 389 99.88 41.5 0.00 7 347 97.83 155.5 1.44 444 667 99.69 125.9 0.00 10 551 99.69 95.9 0.00 10 507 98.82 84.6 1.38 146.3 461.2 99.72 80.5 56.0 448.5
ttot 7200.0 3706.6 253.6 7200.0 257.9 257.9 3146.0 1119.0
could be used, as currently happens in Reggio Emilia). Table 7 reports the results obtained by the branch-and-cut algorithm on these datasets. The notation used in the table is the same as in Tables 5 and 6. The name of the instances uses the same convention introduced for classes A and B, but the first letter is ‘R’. The first three rows are relative to the graph with 137 nodes, the remaining rows refer to the graph with 129 nodes. The branch-and-cut algorithm was able to solve to optimality 4 out of 6 instances within reasonable computing times: about 4 minutes for 3 instances and one hour for the more time-consuming. The lower bound at the root node (see column labeled %LB) was very tight, always within 0.4% for the instances solved to optimality. For the two instances not solved within 2 hours of computing time the gap between the upper and the lower bound was at most 1.44%. Figure 4 reports the optimal solutions of instances R02-n137-m02 and R05-n129m02. We drew the streets of the urban area in grey lines and the rings and connections in bold lines. In addition, we represented the customers with a circle and the telephone exchanges with a black square. The transit points are not represented in the figure. Note that sometimes there are some long single black lines (segment), as in the South-East quarter of the figure. In most of these cases the length of these segments is longer than 200 meters. This implies that the customer has been reached by the ring using a street and the ring continues going back along the same 41
street. In order to have a safe ring topology the company implements this part of the network making two excavations along the street, one on one side and the other on the opposite side. The probability that both cables are broken is thus very small.
8
Conclusions
This paper has introduced a routing problem named Capacitated m-Ring-Star Problem arising in the design of an optical network for the city of Reggio Emilia, Italy. We have proposed two integer programming formulations whose linear relaxations have been compared. These linear relaxations were strengthened with new valid inequalities for which separation procedures have been described in this paper. All our finding have been used to develop branch-and-cut algorithms. These implementations solved to optimality different instances from our real-world instances, some serving 137 customers and others serving 129 customers. The implementations were also tested on random instances to better evaluate the limits of the algorithms, and in a sense we can conclude that the new approaches can find optimal solutions on some difficult instances with up to 100 customers. Part of the results in this paper can be used to solve the Vehicle Routing Allocation Problem introduced by Beasley and Nascimiento [7].
Acknowledgements We thank “Ministero dell’Istruzione, dell’Universit`a e della Ricerca” (MIUR, Italy), “Consiglio Nazionale delle Ricerche” (CNR, Italy) and “Ministerio de Ciencia y Tecnolog´ıa” (MCYT, Spain) for the support given to this project.
42
5 5 5 5 5 5 55 5 5 55
5
5
55
5 5 5
55 5 5 55 5 55
5
55
5 5
5
5
5
5 5 5 55 55
5 5
43
5 55 5 55 55 5 5 5 5 5 5 5 5
5
5 5 55 5
5
5 55
5
5
5 5 5
5
5
5
55 555
"
5
5 55 5 5 555 5 5 55 5 " 5555 5
5
5 5
5
5
5
55 5 5 5
5
5
5 5
5 5
5
5 5
Figure 4: Optimal solutions of instances R02-n137-m02 and R05-n129-m02
References [1] J.R. Araque, G. Kudva, T.L. Morin, and J.F. Pekny. A branch-and-cut algorithm for vehicle routing problems. Ann. Oper. Res., 50:37–59, 1994. [2] P. Augerat, J. M. Belenguer, E. Benavent, A. Corber´an, and D. Naddef. Separating capacity constraints in the cvrp using tabu search. European J. Oper. Res., 106:546–557, 1988. [3] P. Augerat, J. M. Belenguer, E. Benavent, A. Corber´an, D. Naddef, and G. Rinaldi. Computational results with a branch and cut code for the capacitated vehicle roting problem. Technical Report RR 949-M, Universit´e Joseph Fourier, Grenoble, France, 1995. [4] R. Baldacci and M. Dell’Amico. Heuristic algorithms for the design of urban optical networks. Technical Report 63, DISMI, University of Modena and Reggio Emilia, Italy, 2004. [5] R. Baldacci, E. Hadjiconstantinou, and A. Mingozzi. An exact algorithm for the traveling salesman problem with deliveries and collections. Networks, 42:26–41, 2003. [6] R. Baldacci, E. Hadjiconstantinou, and A. Mingozzi. An exact algorithm for the capacitated vehicle routing problem based on a two-commodity network flow formulation. Oper. Res., 52:723–738, 2004. [7] J.E. Beasley and E.M. Nascimento. The vehicle routing-allocation problem: A unifying framework. Trabajos de OPerativa, 4:65–86, 1996. [8] ILOG CPLEX. ILOG CPLEX 8.1 Advanced Reference Manual. ILOG, 2003. [9] G. Finke, A. Claus, and E. Gunn. A two-commodity network flow approach to the traveling salesman problem. Congressus Numernatium, 41:167–178, 1984. [10] B. Gavish and S. Graves. The traveling salesman problem and related problems. Technical report, Graduate School of Manegement, University of Rochester, New York, 1979. [11] E. Gourdin, M. Labb´e, and H. Yaman. Telecommunication and location. In Z. Drezner and H.W. Hamacher, editors, Facility Location: Applications and Theory. Springer, 2002. [12] L. Gouveia. A result on projection for the vehicle routing problem. European J. Oper. Res., 85:610–624, 1995. [13] M. Labb´e, G. Laporte, and I. Rodr´ıguez Mart´ın. Path, tree and cycle location. In T.G. Crainic and G. Laporte, editors, Fleet Management and Logistics, pages 187–204. Kluwer, 2002.
44
[14] M. Labb´e, G. Laporte, I. Rodr´ıguez Mart´ın, and J.J. Salazar Gonz´alez. The ring star problem: Polyhedral analysis and exact algorithm. Networks, 43:177–189, 2004. [15] M. Labb´e, G. Laporte, I. Rodr´ıguez Mart´ın, and J.J. Salazar Gonz´alez. Locating median cycles in networks. European J. Oper. Res., 160:457–470, 2005. [16] Y. Lee, S.Y. Chiu, and J. Sanchez. A branch and cut algorithm for the steiner ring star problem. International Journal of Managament Science, 4:21–34, 1998. [17] A.N. Letchford, R.W. Eglese, and J. Lysgaard. Multistars, partial multistars and the capacitated vehicle routing problem. Math. Program., 94:21–40, 2002. [18] A.N. Letchford and J.J. Salazar Gonz´alez. Projection results for vehicle routing. Math. Program., 2005, to appear. [19] A. Lucena. Exact solution approaches for the vehicle routing problem. Ph.d. thesis, Department of Management Science, Imperial College, London, 1986. [20] D. Naddef and G. Rinaldi. Branch-and-cut algorithms for the capacitated vrp. In P. Toth and D. Vigo, editors, The Vehicle Routing Problem, volume 9, pages 53–81. SIAM Monographs on Discrete Mathematics and Applications, 2002. [21] T.K. Ralphs, L. Kopman, W.R. Pulleyblank, and L.E. Trotter. On the capacitated vehicle routing problem. Technical report, 2003. [22] G. Reinelt. TSPLIB - a traveling salesman problem library. ORSA J. Comput., 3:376–384, 1991. [23] P. Toth and D. Vigo. The Vehicle Routing Problem, volume 9. SIAM Monographs on Discrete Mathematics and Applications, 2002. [24] J. Xu, S.Y. Chiu, and F. Glover. Optimizing a ring–based private line telecommunication network using tabu search. Management Sci., 45:330–345, 1999.
45