You are on page 1of 27

A cutting plane algorithm for the Capacitated Facility Location Problem

Pasquale Avella

Maurizio Boccia

March 15, 2005

RCOST

Research Center on Software Technology,

Universit del Sannio, a

C.so Garibaldi 107, 82100 Benevento, Italy, avella@unisannio.it Dipartimento di Ingegneria, Universit del Sannio, Piazza Roma 21, palazzo ex INPS, a 82100 Benevento, Italy, boccia@crmpa.unisa.it

Abstract The Capacitated Facility Location Problem (CF LP ) is to locate a set of facilities with capacity constraints, to satisfy at the minimum cost the order-demands of a set of clients. In this paper we present a reformulation of CF LP based on Mixed Dicut Inequalities, a family of knapsack inequalities of a mixed type, containing both binary and continuous (ow) variables. By aggregating ow variables, any Mixed Dicut Inequality turns into a binary knapsack inequality with a single continuous variable. We will refer to the convex hull of the feasible solutions of this knapsack problem as the Mixed Dicut polytope. We observe that the Mixed Dicut polytope is a rich source of valid inequalities for CF LP : basic families of valid CF LP inequalities, like Variable Upper Bounds, Cover, Flow Cover and Eective Capacity Inequalities, are valid for the Mixed Dicut polytope. Furthermore we observe that new families of valid inequalities for CF LP can be derived by the lifting procedures studied for the knapsack with a single continuous variable. To deal with large-scale instances, we have developed a Branch-and-Price algorithm, where the separation algorithm consists of the complete enumeration of the facets of the Mixed Dicut polytope for a set of candidate Mixed Dicut Inequalities. We observe that our procedure returns inequalities that dominate most of the known classes presented in the literature. We report on computational experience with instances up to 1000 facilities and 1000 clients to validate the approach. Keywords: Capacitated Facility Location Problem, Mixed Dicut Inequalities, Facetenumeration.

Introduction

The Capacitated Facility Location Problem (CF LP ) is to locate a set of facilities with capacity constraints, with the aim of satisfying at the minimum cost the order-demands of a set of clients. CF LP has received a considerable amount of attention in the literature. Approximation results have been presented by Korupolu, Plaxton and Rajaraman [15] and by Chudak and Williamson [12]. Cornuejols, Sridharan and Thizy [13] report on a comparison between greedy, interchange and lagrangean heuristics. A lagrangean heuristic for larger CPLP instances (up to 500 facilities and 500 clients) is described in Beasley [8]. Barahona and Chudak [6] present a heuristic based on Volume Subgradient and on randomized rounding [5]. In [4], a ne-tuned lagrangean heuristic is used to solve large-scale instances. Leung and Magnanti [16], Aardal, Pochet and Wolsey [3] and Aardal [2] studied the description of the CF LP polytope. For a deep and exhaustive discussion of polyhedral results we refer the reader to [1]. Aardal [2] also presented a Branch-and-Cut algorithm for instances up to 75 facilities and 75 clients, a remarkable result at that time. More recently, Klose and Grotz [14] proposed a Branch-and-Price algorithm based on DantzigWolfe decomposition and on stabilized column generation for the solution of instances with up to 200 facilities and 200 clients. In this paper, we use the Mixed Dicut Inequalities, introduced by Ortega and Wolsey [19], to reformulate CF LP as a Fixed Charge Network Flow Problem. Mixed Dicut Inequalities are knapsack inequalities of a mixed type, containing both binary and continuous (ow) variables. By aggregating the ow variables into a single continuous variable s, any Mixed Dicut Inequality turns into a knapsack with a single continuous variable. We refer to the convex hull of the feasible solutions of this knapsack problem as the Mixed Dicut polytope. We observe that the Mixed Dicut polytope is a rich source of valid inequalities for CF LP : basic families of valid inequalities, like Variable Upper Bounds, Cover 1

and Flow Cover and Eective Capacity Inequalities, are valid for the Mixed Dicut polytope. Furthermore new families of valid inequalities can be derived by using the lifting procedures introduced by Marchand and Wolsey [17] for the knapsack with a single continuous variable. A Branch-and-Price algorithm is proposed to handle large scale instances. The LP-relaxation is solved by delayed column generation. The cutting plane generation consists of the complete enumeration of the facets of the Mixed Dicut polytope for a set of candidate base Mixed Dicut Inequalities. The procedure returns valid inequalities dominating most of the known classes presented in the literature. The remainder of the paper is organized as follows. In Section 2 we describe the standard formulation of CF LP . In Section 3 we review the literature concerning polyhedral properties of CF LP . In Section 4 we present the reformulation of CF LP as a Fixed Charge Network Flow problem and introduce the family of the Mixed Dicut Inequalities. In Section 5 we review all the known families of valid inequalities for CF LP and prove that they are valid for the Mixed Dicut Polytope. In Section 6 we dene a new class of valid inequalities by extending to the Mixed Dicut Polytope the results presented in [17] for the 0-1 Knapsack Problem with a Single Continuous Variable. In Section 7 we describe the facet-enumeration and the selection of candidate Mixed Dicut Inequalities. In Section 8 we describe the Branch-and-Cut-and-Price algorithm developed to deal with large-scale instances. Finally in Section 9 we report on computational results validating the usefulness of the proposed approach.

Problem formulation

Let M = {1, . . . , m} be a set of facilities, N = {1, . . . , n} a set of clients and let G(M N, A) be a complete bipartite graph. Let uk be the capacity of the facility k and let dj be the demand of client j N . Let hk be the xed cost of opening facility k M . Let ckj be the cost of sending one unit of demand from the facility k M to

the client j N through the arc kj A and let fkj be the ow of the demand from facility k M to the client j N . A subset K M of facilities is feasible if the client demands can be assigned to the facilities in K while respecting the capacity bounds, i.e. if the following Transportation Problem, denoted as T ransp(K), admits a feasible solution: min
kK jN

ckj fkj jN kK (1) (2)


kK

fkj = dj ,
kK

fkj uk ,
jN

fkj 0,

k M, j N

Let c(K) be the value of the optimal solution of T ransp(K) and let h(K) =

hk

be the sum of the xed costs of the open facilities. The Capacitated Facility Location Problem (CF LP ) is to nd a feasible subset K M of open facilities, minimizing the objective function z(K) = h(K) + c(H(K)). Let yk be the binary variable associated with the facility k M , i.e. yk = 1 if k is open (i.e.k K), 0 otherwise. Formulation F 1 of CF LP is: min
kM

hk yk +
kM jN

ckj fkj jN kM (3) (4)

fkj = dj ,
kM

fkj uk yk ,
jN

yk {0, 1}, fkj 0,

kM

k M, j N

Constraints 3 require that the whole demand of each client be satised. Capacity constraints 4 require that no client can be supplied from a closed facility and that the total demand supplied from the facility k K does not exceed its capacity uk .

Basic polyhedral results

Let X(G, d, u) be the set of the integer feasible solutions of formulation F 1 and let CAP (G, d, u) = conv(X(G, d, u)) be the Capacitated Facility Location Polytope. The dimension of the CAP (G, d, u) is |M | + |N | + |M | |N | if G is a complete bipartite graph [1]. In the following of this section we review the main classes of valid inequalities introduced in the literature. For any S N , we will denote d(S) =
jS

dj .

3.1

Variable Upper Bounds

Let k M, j N . The Variable Upper Bound fkj uk yk is valid for CAP (G, d, u). The (5) can be strengthened to fkj dj yk , if dj < uk . Proposition 3.1 ([1]) Let k M, j N . The Variable Upper Bound fkj dj yk is facet-dening for CAP (G, d, u) if
hM

(5)

uh max uh > d(N ) and dj < uk .


hM

3.2

Cover Inequalities

Let C M be a subset of facilities and let C = M \ C. The set C is said a cover if uk < d(N ). Since the capacity of the facilities in C is not large enough to satisfy the
kC

client demand, at least one of the facilities in C must be open and the Cover Inequality yk 1
kC

(6)

is valid for CAP (G, d, u). The cover C is minimal if each subset S C is not a cover. Proposition 3.2 (Aardal [1]) Let C M be a minimal cover and let umin = min uk
kC

be the minimum capacity of a facility in C. The Cover Inequality: yk 1


kC

is facet-dening for conv(X(G, d, u) {yk = 1, k M \ C}) if


kM \C

uk + umin > d(N ).

Sequential lifting can make the (6) facet-dening for CAP (G, d, u) [1]. 4

3.3

Flow Cover and Eective Capacity inequalties

Let J N and let C M be a ow-cover, i.e. a subset of facilities with the property that
kC

uk d(J) = > 0.

Theorem 3.1 The Flow Cover Inequality fkj +


kC jJ kC

(uk )+ (1 yk ) d(J)

(7)

is valid for CAP (G, d, u). Aardal [1] proved that Flow Cover inequalities are facet-dening if maxiI {ui } > and
kM

uk > d(J)+ur r I. Flow Cover Inequalities generalize the Residual Capacity

Inequalities, introduced by Leung and Magnanti [16] for the special CFLP where all the facilites have the same capacity u. The same author introduced the family of the Eective Capacity Inequalities, that dominate Flow Cover Inequalities. Suppose the bipartite graph G(M N, A) is not complete and let Jk J be the subset of clients reachable by the facility k M . The eective capacity of the facility k is uk = min{uk , d(Jk )}. Let J N and let C M be an eective ow-cover for J, i.e. a subset of facilities with the property that uk d(J) = > 0, max uk .
kM kC

Theorem 3.2 The Eective Capacity Inequality fkj +


kC jJk kC

(uk )+ (1 yk ) d(J)

(8)

is valid for CAP (G, d, u). Aardal provides necessary and sucient conditions guaranteeing that Eective Capacity Inequalities are facet-dening for CAP (G, d, u).

Fixed Charge Network Flow reformulation

Let o be a supernode and let O = {ok : k M } be an additional set of arcs connecting o to M . Let xkj be the variable representing the capacity installed on the arc kj. With these additions, it is easy to see that CF LP is a Single Commodity Uncapacitated Fixed Charge Network Flow problem on the graph Go (o M N, O A), where the amount of ow
jN

dj must be sent from the source node o to the sink nodes N through the

transhipment nodes M . A minor dierence with the standard version is that capacities xij are not forced to be integral.

min
kM

hk yk +
kM jN

ckj xkj (9) kM (10) (11) (12) (13) (14) (15) (16)

fok =
kM jN

dj

fkj fok = 0,
jN

fkj = dj ,
kM

jN kM

fok uk yk , fkj xkj , yk {0, 1}, fkj 0, xkj 0,

kM kM

k M, j N k M, j N

Let K M and let J N . The set of arcs (K, J) = {ok O : k K} {kj A : k M \ K, j J} denes a dicut on Go separating o and the node J. By Max Flow-Min Cut theorem it is easy to show that CF LP can be reformulated using the Mixed Dicut Inequalities introduced in Ortega and Wolsey [19]. Proposition 4.1 Let K M and let J N . The Mixed Dicut Inequality uk y k +
kK kM \K jJ

xkj d(J)

(17)

is valid for CAP (G, d, u). Since the capacity xkj is fractional, in any optimal solution we will get xkj = fkj , for any value of fkj and it follows that we can project out variables xkj and the Mixed Dicut Formulation F 2 of CF LP is:

min
kM

hk yk +
kM jN

ckj fkj fkj dj ,


jJ

uk yk +
kK kM \K jJ

K M, J N

(18) (19) (20)

yk {0, 1}, 0 fkj dj ,

kM k M, j N

CF LP inequalities and the Mixed Dicut Polytope


fkj , any Mixed Dicut Inequality (17) turns into a knapsack
kM \K jJ

By letting s =

inequality with a single continuous variable. Let K M and J N and let s d(J)} be a Mixed Dicut Inequality. Let Y (K, J) = {(y, s) B n R+ :
kK kK

uk y k + uk y k +

s d(J)} be the set of incidence vectors of the feasible solutions and let CU T (K, J) = conv(Y (K, J)) be the Mixed Dicut Polytope. It is easy to prove that CU T (K, J) is full-dimensional. Studying CU T (K, J) can lead to tighter cutting planes families that strengthen formulations F 1 and F 2. In the following we observe that the families of valid inequalities described in Section 4 are valid for CU T (K, J) for some K M and J N.

5.1

Variable Upper Bounds

Proposition 5.1 Let k M and let j N . The Variable Upper Bound (5) fkj uk yk is valid for CU T ({k}, {j}).

Proof. By adding the equality


kM

fkj = dj to the Variable Upper Bound fkj uk yk ,

we get the Mixed Dicut Inequality uk yk + s dj .

5.2

Cover Inequalities

Consider the dicut ({o} : M ) = {ok : k M } formed by the arcs leaving the node o and entering the set M . Proposition 5.2 The Cover Inequality (6) is valid for CU T (M, N ). Proof. Trivial, since CU T (M, N ) = conv{y {0, 1}|M | :
kM

uk yk d(N )} is a

knapsack polytope.

5.3

Flow Cover Inequalities

In this subsection we show that the Flow Cover Inequality can be derived by sequential lifting as a valid inequality for the Mixed Dicut Polytope. The following two lemmas can be used to down lift a valid inequality for a Mixed Dicut Polytope. Theorem 5.1 shown that such an inequality is a Flow Cover Inequlitiy (7). Lemma 5.1 The optimal solution of the knapsack problem: min z =
kS

(uk )+ yk + s uk uh
kC\(Sh)

s+
kS

uk yk d(J)

(21)

s0 yk {0, 1}, kS

is yk = 1 for k S, s = (uh )+ . It follows that the optimalsolution value is z =


kS (uk

)+ + (uh )+ . uk
kC jJ

Proof. Since = write:

dj , we pose d(J)
kC\S

uk = +
kS

uk , so we can

min z = +
kS

(uk )+ yk uk uh
kS

s+
kS

uk yk +

s0 yk {0, 1}, kS

Suppose now that yk = 0 in any optimal solution. If we set yk = 1 for k = S, we must add the yk coecient (uk ), but at the same time s decreases by uk . The net amount (uk )+ uk is negative, a contradiction. Lemma 5.2 Let S C and let s +
kS (uk

)+ yk

kS (uk

)+ be a valid

inequality for CU T (C, J) {yk = 1, k C \ S}. Let h C \ S. The inequality s+


kS

(uk )+ yk + h yh
kS

(uk )+ +

is valid for CU T (C, J) {yk = 1, k C \ (S h)} if h = (uh )+ . Proof. Let z be the optimal solution of the knapsack problem (21). Using the standard procedure for down-litng, the inequality s+ is valid i = z
kS

(uk )+ yk +h yh

+ kS (uk ) + + kS (uk ) (uh

+ kS (uk ) . By lemma 5.1 we have that z =

)+ and the proof is complete. Now we are able to prove the following theorem. Theorem 5.1 The Flow Cover Inequality (7) is valid for CU T (C, J) Proof. The Inequality s 0 is valid for CU T (C, J) {yk = 1, k C}. Applying iteratively lemma 5.2 to compute lifting coecients, we have that the inequality s+
kC

(uk )+ yk
kC

(uk )+
jJ

(22) = d(J) to the (22), we

is valid for CU T (C, J). By subtracting the equality


kM

obtain the Flow Cover Inequality


kC jJ

fkj +
kC

(uk )+ (1 yk ) d(J) .

5.4

Eective Capacity Inequalities

Let K M be a subset of facilities and suppose that Go (M N, O A) is sparse. Let Jk N be the subset of clients reachable by the facility k K and let J = kK Jk be the subset of clients reached by all the facilities in K. The set of arcs {ok O : k C}{kj A : k C \M, j Jk } dene a mixed dicut on Go . Let uk = min{uk , d(Jk )}. As in [1], the Mixed Dicut Inequality dened by K and J can be strengthened as: uk y k + s
kK jJ

dj

that is valid for CAP (G, d, u). The Eective Mixed Dicut Polytope is: ECU T (K, Jk ) = conv{yk {0, 1}, k K, s R+ :
kK

uk yk + s d(J)

Studying this polytope we can dene new cutting planes families valid for CAP (G, d, u). Particularly, if C M is an eective ow-cover (section 3.3), using the lifting procedure described in Section (5.3) for the Flow Cover Inequalities, we obtain the Eective Capacity Inequality fkj +
kC jJk kC

(uk )+ (1 yk ) d(J)

(23)

dened in section (3.3).

More families of valid inequalities

Let Ys (K, J) = {(y, s) Y : s = s} be the subset of the incidence vectors of the feasible solutions of a Mixed Dicut Inequality having the property that s = s. Let CU Ts (K, J) = conv(Y (K, J)). Another way to generate facets of CU T (K, J) is to set s = s, consider facets of the underlying knapsack polytope CU Ts (K, J) and reintroduce the continuous variable s by lifting. This procedure leads to new families of valid inequalities for CU T (K, J) and, consequently, for CAP (G, u, d). Marchand and Wolsey [17] introduced a lifting procedure for the case where
kK

uk d(J) and s = 0. 10

Theorem 6.1 (Marchand and Wolsey [17]) Let CU T0 (K, J) = conv{(y, s) Y (K, J) : s = 0} and let
kK

k yk 0 be a valid inequality for CU T0 (K, J). The inequality k yk 0


kK

(24)

s is valid for CU T (K, J) i min 0 (s) , where s>0

(s) = min{
kK

k yk :
kK

uk yk d(J) s, y B |K| }

Proof. We will give a geometric proof of the validity of the (24). (s) is a step function (g. 1). The inequality
kK

k yk (s) is valid for CU T (K, J) if (s) (s), for each


0 (s ) . s s Let (s) = 0 be the line of minimum

s R. Let s be such that max 0 (s) = s


s>0

slope intersecting (s) and crossing the points (0, 0 ) and (s , (s )). It is easy to observe that (s) (s) and the proof is complete.

Figure 1: The function (s) The lifting procedure can be generalized by removing the restriction that
kK

uk

d(J). Let smin = max(0, d(J)


kK

uk ) be the minimum value of s that guarantees that

the set of the feasible solutions Y (K, J) is nonempty. 11

Theorem 6.2 Let s smin and let


kK

k yk s be a valid inequality for the knapsack

polytope CU Ts (K, J). The inequality k yk s


kK

s smin

(25)

is valid for CU T (K, J) if min (s) = min{


kK

ssmin , s>smin s (s)

where (26)
s (s) s>smin ssmin

k yk :
kK

uk yk d(J) s, y B |K| }

Proof. The function (s) is dened for s smin . Let s be such that max
s (s ) . s smin

Let s

ssmin

be the line of minimum slope intersecting (s) and crossing

the points (smin , ( s)) and (s , (s )) (gure 2). It is immediate that (s) s ssmin and the proof is complete.

Figure 2: The function (s) in the case

kK

uk < d(J)

The separation routine

The above results suggest that the facial structure of CU T (K, J) can be exploited to generate strong cutting planes. We propose a twp-step separation algorithm based 12

on the enumeration of the facets of CU T (K, J). The rst step consists of choosing a Mixed Dicut Inequality
kK

uk y k +
kM \K jJ

xkj d(J), with K suitably small, as a

base inequality. Then for each base inequality we enumerate the feasible solutions of Y (K, J) and run a facet-enumeration routine to list the facets of CU T (K, J), returning violated cutting planes. An accurate selection of the base inequalities and a fast enumeration procedure of the feasible solutions are crucial to the success of the separation algorithm.

7.1

Selection of base inequalities

Let (y , f ) be the current fractional solution. The procedure to select candidate base inequalities is inspired by the separation heuristic described in [2] for the Flow Cover Inequalities and is based on the following observations. Remark 7.1 A valid inequality for CU T (K, J) can be violated by the (y , f ) only if at least one of the variables yk , k K, has a fractional value. Remark 7.2 The chances of nding violated a valid inequality for CU T (K, J) increase if s is small (the smaller the s, the larger the r.h.s. of the knapsack inequality uk yk + d(J) s).
kK

Remark 7.3 The chances of nding a violated valid inequality for CU T (K, J) increase if we choose K and J such that the facilities in K serve only the clients in J in the current fractional solution. The following heuristic attempts to generate base inequalities according to the remarks (7.1), (7.2) and (7.3). The selection procedure is iterated for each triple of
facilities K = {k1, k2, k3} M such that there exists at least a k with 0 < ykj < 1.

The main steps of the procedure are summarized below. The facet-enumeration routine is ecient only if K is suitably small. Let maxK denote the maximum number of yvariables in a base inequality used for the facet enumeration. Computational experience showed us that a good choice is to set maxK = 7. 13

Procedure 7.1 (Selection of the base inequalities) Initialize K and J


0) Let K = {k1, k2, k3} be a set of facilities with the property that 0 < yk1 < 1.

1) Let J be dened by all the clients j J such that


kK

fkj 0.01dj

2) Generate the base inequality


kK

uk yk + s d(J).

Enlarge K 3) Let k = arg max


kM \K jJ

fkj . Add k to K.
fkj 0.01dj . kK

4) Add to J all the clients j M \ J such that 5) If |K| maxK,


kK

uk yk + s d(J) is a base inequality else STOP.

Adjust J 6) For each j J compute (j) =


kM \K fkj .

7) Let jmin = arg max (j).


jJ

8) If
kK

uk < d(J), remove jmin from J. uk yk + s d(J) and go to


kK

7) If |K| maxK generate the base inequality step 3), else STOP.

7.2

Enumeration of the feasible solutions satisying a base inequality

Let K M , J N and let Y (K, J) denote the set of the feasible solutions satisfying the Mixed Dicut Inequality: uk yk + s d(J).
kK

(27) uk y k ) be the minimum


kK

For any partial solution y, let smin (y) = max(0, d(J)

value of s that makes the solution (y, s) feasible for the (27). We refer to any solution (y, smin (y)) as a minimal feasible solution of the (27) and we denote by Ysmin (K, J) = 14

{(y, s) Y (K, J) : s = smin } the set dened by the minimal feasible solutions of the (27). In this section we will prove that the facets of CU T (K, J) are in one-to-one correspondence with a subset of the facets of conv(Ysmin (K, J)). We observe that the polytope conv(Ysmin (K, J)) is full-dimensional. Lemma 7.1 A inequality
kK

k yk + s is valid for CU T (K, J) only if 0.

Proof. Let
kK

k yk + s be a valid inequality for CU T (K, J) and let (y, s)

Y (K, J) be a feasible solution satisfying the (27). If < 0, it is always possible to set s large enough (and the solution remains feasible) such that
kK

k yk + s < , a

contradiction. The following theorem proves that any facet of CU T (K, J) is also a facet of conv(Ysmin (K, J)). Theorem 7.1 A inequality k yk + s
kK

(28)

is facet-dening for conv(Ysmin (K, J)) if it is facet-dening for CU T (K, J). Proof. If
kK

k yk + s is valid for CU T (K, J) then > 0. If


kK

k yk + s is

facet-dening for CU T (K, J), there exist |K| + 1 linearly independent feasible solutions satisfying the (28) as an equality (roots). Let (y, s) be a root of the (28) and suppose that s > smin . Since (y, s) is a root, we have
kK

k y k + s = . But (y, smin ) is still a feasible solution and, since 0, it k y k + smin < , a contradiction.
kK

violates the (28), i.e.

It follows that all the |K| + 1 roots are of the form (y, smin y) and belong to Ysmin (K, J), so we can conclude that the (28) is facet-dening for conv(Ysmin (K, J)). Theorem 7.2 Let k yk + s
kK

(29)

be a facet of conv(Ysmin (K, J)). The (29) is facet-dening for CU T (K, J) if and only if 0. 15

Proof. Any facet of conv(Ysmin (K, J)) with 0 is valid for CU T (K, J) and there exist |K|+1 anely independent feasible solutions belonging to Ysmin (K, J) Y (K, J), satisfying it as an equality. It follows that if the (29) is a facet of conv(Ysmin (K, J)), then it is also a facet of CU T (K, J)). If < 0, by lemma 7.1 it is not even valid for CU T (K, J). Theorems (7.1) and (7.2) prove that the facets of CU T (K, J) are in one-to-one correspondence with the facets of conv(Ysmin (K, J)) with > 0. A main algorithmic consequence of this result is that to generate facets of CU T (K, J) we need only to enumerate the minimal feasible solutions of the set Ysmin (K, J).

The Branch-and-Cut-and-Price algorithm

As reported in the computational results section, CP LP instances with more than 500 facilities and 500 clients are very hard to solve to optimality on standard workstations. This is mainly due to the diculty of solving large scale LP-relaxations, requiring a large amount of memory. To handle large-scale instances, a Branch-and-Cut-and-Price algorithm has been developed. It is based on delayed column generation [9] to solve LP-relaxation at each node of the search tree, and on the separation procedure described above to strongly reduce the dimension of the search tree. Delayed column generation allows to solve large scale linear programs by using a relatively small subset of the original columns. An initial subset of columns, the core problem, is selected according to some criteria. The core problem is solved to optimality and the dual variables are used to price out the external columns, i.e. to compute reduced costs for the columns out of core. If all the reduced costs are positive the procedure stops, else the core problem is enlarged by adding a subset of columns with negative reduced cost. In order to make delayed column generation successful, it is crucial to choose a

16

promising initial set of columns. In our case we adopt the lagrangian core selection strategy presented in [4]. This strategy use the lagrangean reduced costs in order to select the variables of the core problem. The branching strategy is to set node variables yu to 1 if facility u V is open, 0 otherwise. The node selection criterion is best-bound. The variable selection criterion is to choose the most fractional node variable, i.e. the variable whose fractional value is closest to 0.5. Finally we use standard reduced cost xing to reduce the size of the problem.

Computational results

In this section we report on the computational experience with the Branch-and-Cut-andPrice algorithm. We ran the experiments on a Pentium IV 1.7 Ghz Personal Computer, with 512 Mb RAM and we used Cplex 8.1 as LP solver and the routine Qhull [7], developed by the Geometric Center of University of Minnesota, as facet-generation routine. In the selection of base inequalities we found useful to consider only Mixed Dicut Inequaalites with |K| 9. The test instances were randomly generated according to Cornuejols, Sridharan and Thizy ([13]), Aardal ([1], [2]) and Barahona and Chudak ([6]). The generation procedure is summarized below: a) Points representing the clients and the facilities are uniformly randomly generated in a unit square. Transportation costs per unit ow are then computed by multiplying the euclidean distances by 10. b) Demands are drawn from U [5, 35] i.e. they are uniformly distributed in the interval [5, 35]. c) Capacities uk are drawn from U [10, 160] and then are scaled by using the capacity ratio r =
kM

uk /d(J). In our experiments we set r = 5, 10, 15, 20. 17

d) Fixed costs are generated according to the formula hk = U [0, 90] + U [100, 110], to take into account the economies of scale. Moreover, we observe that in [13, 1, 2] the ratio r is set to 2, 3, 5, 10. We use larger values of r because for sizes we deal with, setting r = 2 or r = 3 leads to instances easily solvable by the lagrangean heuristic [4]. The test instances are organized into 4 groups, each including instances of the same size. The sizes (|M | |N |) here considered are: 300 300, 500 500, 700 700 and 1000 1000. Each class of instances includes four dierent sets of problems according to the ratio r. We used ratio indices r of 5, 10, 15 and 20 respectively. The results are shown in tables 1-4, whose format is the following. Column Ratio is the value of r, U BHeur is the initial upper bound and column U BHeur T ime is the time spent to compute the initial upper bound. Columns LP and LPCuts report respectively on the value of the LP relaxation and on the value of the LP relaxation after the addition of cutting planes. Column %Gap shows the % of the gap closed by the cut generation routine at the root node, i.e. % Gap = (LPCuts LP )/(BU BLP ). Columns BLB abd BU B report respectively on the best lower bound and on the best upper bound yielded by Branch-and-Cut-and-Price within the time limit. Columns B&C&P and B&C&P T ime report respectively on the number of nodes and on the total computation time for the Branch-and-Cut-and-Price-procedure. The time limit for the Branch-and-Cut-and-Price was set to 100000 seconds. All the instances in the test bed were solved to optimality, with the exceptions of I1000-8, I1000-11 and I1000-12, where, however, the algorithm yielded a very small gap. We observe that the cut generation strategy has led in most of the test to a signicant reduction of the gap. We observe that the reduction of the gap is small for r = 5. This because the LP lower bound is already very close to the optimal solution, so that it is more dicult to nd violated cutting planes by the LP solution. For these cases the pricing approach assume a more signicant role than cutting plane generation. On the other hand, for 18

higher values of r, also the initial gap increases and our cut generation strategy turned out to be eective in solving the CF LP instances. Tables 1-2 report also on lower bound at the root node computed by CPLEX 8.1 solver (CP LEXroot ), and the total time necessary to CPLEX to solve the instances (CP LEXT ime). We remark that even if Cplex implements a ow cover separation procedure, it is not able to appreciably raise the lower bound.

Acknowledgements
The authors wish to thank Antonio Sassano and Sara Mattia for the helpful suggestions.

References
[1] K. AARDAL 1992. On the solution of one and two-level capacitated facility location problems by the cutting plane approach. Ph.D Thesis Universit Catholique de Louvain, Lovain-la-Neuve, Belgium. [2] K. AARDAL 1998. Capacitated Facility Location: Separation Algorithms and Computational Experience, Mathematical Programming, 81, 149-175. [3] K. AARDAL, Y. POCHET, L.A. WOLSEY 1995. Capacitated Facility Location: Valid Inequalities and facets. Mathematics of Operations Research 20, 562-582. [4] P. AVELLA, M. BOCCIA, A. SFORZA, I. VASILIEV 2004. An eective heuristic for large-scale Capacitated Plant Location problems, Technical Report, available on line at http://www.diima.unisa.it/boccia/. [5] R. ANBIL, F. BARAHONA 2000. The volume algorithm: producing primal solutions with a subgradient method. Mathematical Programming, published online March 15.

19

[6] F. BARAHONA, F. A. CHUDAK 1999. Near-optimal solution to large scale facility location problems, internal report IBM research division T. J. Watson Research Center , RC 21606. [7] C.B. BARBER, D.P. DOBKIN, H.T. HUHDANPAA 1996. The Quickhull algorithm for convex hulls. ACM Trans. on Mathematical Software, 22(4):469-483, http://www.qhull.org. [8] J. E. BEASLEY 1993, Lagrangean Heuristics for Location Problems, EJOR 65, 383-399. [9] D. BERTSIMAS, J.N. TSITSIKLIS 1997. Introduction to Linear Optimization. Athena Scientic, Belmont, Massachussetts. [10] S. CERIA, C. CORDIER, H. MARCHAND, L.A. WOLSEY 2002. Cutting Planes for Integer Programs with General Integer Variables. Discrete Applied Mathematics, 123, 397-446. [11] T. CHRISTOF, G. REINELT 1997. Low-dimensional linear ordering polytopes. Tech. Rep. Institut fr Angewandte Mathematik, Universitt Heidelberg. u a [12] F. A. CHUDAK, D. P. WILLIAMSON 1999. Improved Approximation Algorithms for Capacitated Facility Location Problems, 7th International IPCO Conference Proceedings, 99-113. [13] G. CORNUEJOLS, R. SRIDHARAN, J.M.THIZY 1991. A comparison of heuristics and relaxations for the Capacitated Plant Location Problem. European Journal of Operational Research, 50, 280-297. [14] A. KLOSE 2001. A Column Generation Procedure for the Capacitated Facility Location Problem. EURO XVIII conference on Operational Research, Erasmus University Rotterdam, July 9-11.

20

[15] M. R. KORUPOLU, C. G. PLAXTON, R. RAJARAMAN 1998. Analysis of a Local Search Heuristic for Facility Location Problems, DIMACS Technical Report 98-30. [16] J.M.Y. LEUNG, T.L. MAGNANTI 1989. Valid Inequalities and Facets of the Capacitated Plant Location Problem. Mathematical Programming, 44, 271-291. [17] H. MARCHAND, L.A. WOLSEY 1999. The 0-1 knapsack problem with a single continuous variable. Mathematical Programming, 85, 15-33. [18] T. L. MAGNANTI, P. MIRCHANDANI, R. VACHANI 1993. The convex hull of two core capacitated network design problems. Mathematical Programming, 60, 233-250. [19] F. ORTEGA, L. WOLSEY 2000. A Branch and Cut Algorithm for the Single Commodity Uncapacitated Fixed Charge Network Flow Problem. Networks 41, 143-158.

21

N ame nodes 16292 15862,21 15414,95 17926 17962,8 11177,54 11307,61 11331,09 10787,81 11174,33 9977,14 9300,66 9980,73 9669,64 9788,4 9096,07 9133,87 9533,71 9013,6 9044,75 9044,83 9046,19 9016,52 9041,79 9535,80 9538,49 9135,21 9148,75 39,37 24,04 66,74 91,14 9102,65 9145,08 78,14 9798,21 9823,12 64,57 9670,32 9688,51 63,51 9699,35 9842,17 9158,79 9171,67 9553,59 9053,71 9046,33 9981,73 10016,50 45,54 10058,49 9304,21 9312,03 31,6 9336,64 9980,05 10003,4 56,11 10023,94 10023,94 9336,64 10058,49 9699,35 9842,17 9158,79 9171,67 9553,59 9053,71 9046,33 11183,18 11208,8 58,98 11232,77 11232,77 10790,35 10830,6 47,42 10878,05 10878,05 11333,18 11347,31 35,07 11377,34 11377,34 46 198 44 26 82 242 14 26 16 52 18 28 8 11308,64 11343,44 42,2 11392,52 11392,52 464 11177,84 11209,54 43,45 11251,19 11251,19 310 17966,73 17982 25,67 18037,61 18037,61 570 17927,69 17938,39 19,37 17989,97 17989,97 534 650,86 850,13 624,05 657,52 120,56 785,77 152,92 90,72 230,25 157,03 331,64 131,06 120,05 313,52 102,14 221,53 9,19 15401,71 15438,73 39,71 15474,84 15474,84 248 307,36 15886.06 15894,39 37,32 15948,44 15948,44 904 873,71 16293,09 16296,49 7,65 16350,66 16350,66 374 432,43 445,55 904,45 321,13 667,21 867,74 629,78 660,14 128,14 794,06 160,34 97,36 236,86 202,57 339,19 136,72 124,12 319 107,39 226,67 14,11 T ime(secs.) (secs.)

Ratio

U BHeur

U BHeur

LP

CP LEXroot

LPCuts

% Gap

BLB

BU B

B&C&P

B&C&P

T ot.T ime

CP LEXT ime (secs.) 1019.20 1531,70 1168,00 1367,06 1057,84 1150,41 1689,50 559,39 1437,89 558,94 268.72 311.08 699,20 481.97 253,88 239,09 382,89 323.89 302,21 78.06

T ime(secs.) 13,14 30,53 13,77 16,35 17,61 5,73 8,62 7,58 8,29 7,42 6,64 6,61 6,53 7,55 5,66 4,79 5,48 5,25 5,14 4,92

I300-1

16350,66

I300-2

15948,44

I300-3

15474,84

I300-4

17989,97

I300-5

18037,61

I300-6

10

11255,48

I300-7

10

11393,29

I300-8

10

11377,34

I300-9

10

10980,05

I300-10

10

11265,13

22

I300-11

15

10024,47

I300-12

15

9398,19

I300-13

15

10107,95

I300-14

15

9768,72

I300-15

15

9909,3

I300-16

20

9331,77

I300-17

20

9227,56

I300-18

20

9584,07

I300-19

20

9111,4

I300-20

20

9068,42

Table 1: Computational results for test instances with 300 facilities and 300 clients

N ame nodes 26374,61 28082,01 27857,05 28093,08 24645,63 15672,36 16029,01 15969,94 16237,47 15751,91 13406,01 14610,1 13631,35 13514,93 13833,42 12492,68 13290,26 12780,16 13450,63 12312,46 12311,51 12326,94 13451,72 13469,29 12780,75 12810,1 13291,31 13323,1 57,47 58,75 47,87 48,59 12493,64 12552,6 65,27 13834,19 13858,29 39,26 13516,25 13542,53 42,41 13580,01 13896,76 12584,49 13347,4 12831,12 13489,61 12342,26 13631,38 13640,27 25,56 13666,25 14610,52 14651,3 63,46 14675,02 13406,25 13421,33 48,31 13437,72 13437,72 14675,02 13666,25 13580,01 13896,76 12584,49 13347,4 12831,12 13489,61 12342,26 15752,02 15780,01 44,45 15815,13 15815,13 16238,33 16265,1 30,61 16327,71 16327,71 15970,57 16011,22 57,5 16041,73 16041,73 458 2076 176 48 152 78 130 104 140 80 66 62 24 16030,09 16076,94 59,71 16109,28 16109,28 436 15674,79 15726,25 63,81 15756,82 15756,82 128 24645,86 24673,95 49,56 24702,77 24702,77 1872 28095,70 28118,12 37,38 28159,03 28159,03 1332 2548,89 4715,61 844,27 2420,77 3375,31 4277,3 1226,78 243,53 1018,97 398,56 1486,06 351,06 921,86 775,64 407,61 334,47 257,66 27857,05 27873,72 35,12 27904,51 27904,51 1114 2595,61 28082,19 28106,77 51,01 28130,74 28130,74 2144 5106,71 26374,85 26382,52 20,9 26412,41 26412,41 458 1267,42 1304,02 5216,87 2675,77 2677,12 4851,73 858,03 2443,24 3300,16 4326,25 1246,15 261,29 1052,68 411,27 1507,8 386,72 930,45 793,02 421,99 348,88 272,41 T ime(secs.) (secs.)

Ratio

U BHeur

U BHeur

LP

CP LEXroot

LPCuts

% Gap

BLB

BU B

B&C&P

B&C&P

T ot.T ime

CP LEXT ime (secs.) 7924.83 18621,55 5277,44 9524,72 15085,59 6426,59 8379.30 9434,33 28226,28 4709,19 1292,37 3401,39 2732,64 3909,23 4954,72 2503,06 1972,23 1241,22 1635,11 1267,27

T ime(secs.) 36,6 109,36 80,16 128,23 136,12 13,76 22,47 24,85 48,95 19,37 17,76 33,71 12,71 21,74 35,66 8,59 17,38 14,38 14,41 14,75

I500-1

26412,41

I500-2

28144,83

I500-3

27915,12

I500-4

28159,03

I500-5

24702,77

I500-6

10

15756,82

I500-7

10

16110,8

I500-8

10

16041,73

I500-9

10

16327,71

I500-10

10

15815,13

23

I500-11

15

13442,91

I500-12

15

14698,03

I500-13

15

13667,23

I500-14

15

13595,1

I500-15

15

13930,68

I500-16

20

12786,29

I500-17

20

13347,4

I500-18

20

12831,12

I500-19

20

13489,61

I500-20

20

12342,26

Table 2: Computational results for test instances with 500 facilities and 500 clients

N ame T ime(secs.) 162,22 188,44 195,14 263,23 309,99 50,79 49,78 44,09 86,3 49,51 22,99 33,01 53,44 32,47 44,69 16,08 15,91 14,4 20,34 19,14 15369,66 15404,42 16321,91 16346,38 54,54 53,85 16350,5 16384,26 52,5 16132,83 16145,99 33,88 15945,28 15988,42 78,79 18069,79 18097,27 36,3 18145,49 16000,03 16171,67 16414,8 16366,78 15434,21 17247,16 17279,14 35,35 17337,63 17163,15 17201,32 49,69 17239,96 18048,2 18080,86 39,72 18130,42 18130,42 17239,96 17337,63 18145,49 16000,03 16171,67 16414,8 16366,78 15434,21 17005,24 17056,56 44,66 17120,15 17120,15 21960,88 22015,48 57,76 22055,41 22055,41 1872 5022 262 394 578 192 24 54 66 94 64 20894,19 20920,69 30,93 20979,88 20979,88 1638 20592,18 20621,65 43,48 20659,96 20659,96 410 21195,93 21233,15 36,72 21297,3 21297,3 1808 19821,97 19854,38 36,54 19910,67 19910,67 3368 23088,94 17096,06 5495,92 18050,75 27235,61 64296,53 4459,7 3068,08 10716,75 4885,25 802,97 1292,19 1673,59 1483,74 2007,5 37741,12 37759,65 30,39 37802,1 37802,1 3112 15369,73 38029,87 38046,57 27,36 38090,9 38090,9 2400 8703,56 34253,73 34267,26 33,08 34294,63 34294,63 1036 2748,22 34250,16 34274,87 40,15 34311,71 34311,71 3820 14823,78 15012,22 2943,36 8966,79 15679,72 23139,73 17145,84 5540,01 18137,05 27285,12 64319,52 4492,71 3121,52 10749,22 4929,94 819,05 1308,1 1687,99 1504,08 2026,64 36839,96 36859,49 28,46 36905,93 36905,93 1600 9874,74 10036,19 nodes T ime(secs.) (secs.)

Ratio

U BHeur

U BHeur

LP

LPCuts

% Gap

BLB

BU B

B&C&P

B&C&P

T ot.T ime

I700-1

36908,58

I700-2

34311,71

I700-3

34294,63

I700-4

38090,9

I700-5

37802,1

I700-6

10

19927,34

I700-7

10

21297,3

I700-8

10

20678,87

I700-9

10

20990,27

I700-10

10

22060

24

I700-11

15

17164,31

I700-12

15

18130,45

I700-13

15

17239,96

I700-14

15

17337,63

I700-15

15

18145,49

I700-16

20

16000,03

I700-17

20

16172,74

I700-18

20

16414,8

I700-19

20

16366,78

I700-20

20

15434,21

Table 3: Computational results for test instances with 700 facilities and 700 clients

N ame T ime(secs.) 780,29 1042,11 429,19 1359,42 594,03 403,73 436,91 285,44 381,57 155 445,82 405,26 228,86 242,58 171,64 119,04 79,09 48,12 44,11 102,84 21496,89 21512 20470,11 20504,42 20658,4 20682,9 44,52 50,95 23,62 21153,12 21176,04 64,08 21258,77 21279,02 27,72 2523,36 22558,34 32,98 22629,44 21331,81 21188,89 20713,43 20537,45 21560,86 22241,76 22260,62 26,85 22312,01 22552,13 22590,91 36,95 22657,09 22054,76 22089,21 32,61 22145,96 22160,39 22657,09 22312,01 22629,44 21331,81 21188,89 20713,43 20537,45 21560,86 22070,4 22103,34 29,96 22158,52 22180,33 27106,95 27140,08 41,39 27186,99 27186,99 26755,22 26802,06 45,98 26857,09 26857,09 4978 1564 4928 5270 1962 2086 2914 1000 72 106 300 784 27253,53 27289,82 29,78 27369,04 27375,37 6386 27162,18 27189,67 30,5 27252,32 27252,32 4172 27736,3 27772,7 41,58 27823,84 27823,84 3214 50704,38 50719,76 38,56 50743,54 50743,54 782 7430,65 70700,44 71356,38 100000 71681,72 40634,63 100000 100000 80693,03 51850,25 85618,52 30657,8 3403,08 3222,24 10417,09 18619,69 48807,68 48822,72 24,71 48868,54 48868,54 5250 42581,96 47153,15 47166,61 27,2 47202,64 47202,64 3454 29870,64 50626,88 50641,74 24,09 50688,57 50688,57 8042 71738,06 72780,17 30299,83 43941,38 8024,68 71104,17 71793,29 100285,4 72063,29 40789,63 100445,8 100405,3 80921,89 52092,83 85790,16 30776,84 3482,17 3270,36 10461,2 18722,53 49459,67 49476,19 32,95 49509,81 49509,81 7608 60122,69 60902,98 nodes T ime(secs.) (secs.)

Ratio

U BHeur

U BHeur

LP

LPCuts

% Gap

BLB

BU B

B&C&P

B&C&P

T ot.T ime

I1000-1

49537,2

I1000-2

50692,48

I1000-3

47204,24

I1000-4

48871,06

I1000-5

50753,6

I1000-6

10

27843,64

I1000-7

10

27264,77

I1000-8

10

27375,37

I1000-9

10

26888,12

I1000-10

10

27241,26

25

I1000-11

15

22180,33

I1000-12

15

22160,39

I1000-13

15

22657,09

I1000-14

15

22327,62

I1000-15

15

22648,5 2

I1000-16

20

21331,81

I1000-17

20

21188,89

I1000-18

20

20713,44

I1000-19

20

20537,45

I1000-20

20

21560,86

Table 4: Computational results for test instances with 1000 facilities and 1000 clients

You might also like