A Decomposition Heuristic for the Maximal Covering Location Problem

This paper proposes a cluster partitioning technique to calculate improved upper bounds to the optimal solution of maximal covering location problems. Given a covering distance, a graph is built considering as vertices the potential facility locations, and with an edge connecting each pair of facilities that attend a same client. Coupling constraints, corresponding to some edges of this graph, are identified and relaxed in the Lagrangean way, resulting in disconnected subgraphs representing smaller subproblems that are computationally easier to solve by exact methods. The proposed technique is compared to the classical approach, using real data and instances from the available literature.


Introduction
The covering class of facility location problems deals with the maximum distance between any client and the facility designed to attend an associated demand.These problems are known as covering problems and the maximum service distance is known as covering distance.The Set Covering Problem 1 determines the minimal number of facilities that are necessary to attend all clients, for a given covering distance.Due to formulation restrictions, this model does not consider the individual demand of each client.In addition, the number of needed facilities can be large, incurring high fixed installation costs.An alternative formulation considers the installation of a limited number of facilities, even if this amount is unable to attend the total demand.In this formulation, the condition that all clients must be served is relaxed and the objective is changed to locate p facilities such that the most part of the existing demand can be attended, for a given covering distance.This model corresponds to the Maximal Covering Location Problem MCLP .

The Proposed Approach for the MCLP
The MCLP was formulated in 2 as the following 0- ii N {1, 2, . . ., n} is the set of clients to be covered; iii D d ij is the Euclidean distance matrix between each pair of nodes i ∈ N and j ∈ M; iv U is the covering distance; v S i {j ∈ M | d ij ≤ U} is the set of facilities that can attend each client i ∈ N; vi w i is the demand a positive integer value for each client i ∈ N; vii p is the number of facilities to be located; viii x i is a decision variable, with x i 1 if the demand of the client i is covered, and x i 0, otherwise; ix y j is a decision variable, with y j 1 if a facility was installed at the location j, and y j 0, otherwise.

Advances in Operations Research
The objective function maximizes the covered demand.Constraints 2.2 state that a client will be covered if there is at least one facility located within the covering distance.Constraint 2.3 limits to exactly p the number of located facilities and 2.4 and 2.5 express the binary conditions.
The traditional Lagrangean relaxation approach 11 relaxes the set of constraints 2.2 with a vector μ of multipliers subject to 2.3 , 2.4 , and 2.5 .
It is easy to see by the integrality property that v LR μ ≥ v MCLP and the Lagrangean bound cannot be better than the linear relaxation of MCLP .
In this paper, a decomposition approach based on the Lagrangean relaxation with clusters LagClus of Ribeiro and Lorena 19-22 is presented.LagClus is a stronger relaxation that can be useful for several theoretical and practical large-scale problems.The first application of the LagClus was performed on point-feature instances.Later, Ribeiro and Lorena applied this relaxation on pallet loading instances obtaining good results.Besides, the authors proposed a column generation for that problem using this cluster relaxation idea.Another interesting application was performed on wood pulp stowage context.This problem consists of arranging items into holds of dedicated maritime international ships.Recently, 23 applied the LagClus to uncapacitated facility location instances providing better bounds than the ones presented in the literature for a set of difficult instances.
Consider the MCLP instance represented in Figure 1, where the dots correspond to the clients to be covered N {1, . . ., 12} and the small squares correspond to the potential facility locations M {1, . . ., 7} .In this figure, the values in parenthesis are the demand values w i , for all i ∈ N.For the chosen covering distance, the sets S i , for all i ∈ N, are defined as follows: 22 The proposed approach considers the MCLP as a covering graph, which is defined as follows.
Let G M, A be a graph where M is the set of vertices corresponding to the potential facility locations and A { p, q : p and q ∈ S i , i 1, . . ., N} is the set of edges.So, in a covering graph there exists an edge p, q connecting two potential facility locations, if p and q share, at least, one covered client.Figure 2 shows the covering graph associated with the above MCLP instance.
It is easy to note that the edges in a covering graph are related to the set of constraints 2.2 in the MCLP formulation.For example, the edges shown in Figure 2 correspond to the constraints 2.11 , 2.13 -2.17 , and 2.19 .This partition corresponds to relax in the Lagrangean way the constraints 2.14 and 2.19 of the MCLP formulation, using Lagrangean multipliers λ 6 and λ 11 , respectively.If constraint 2.3 is also relaxed with Lagrangean multiplier μ, the relaxed problem will be

2.25
The objective function can now be rewritten as

2.26
Then, the problem can be decomposed in two subproblems:
The resulting Lagrangean relaxation does not have the integrality property, being stronger than LR μ of Galvão and ReVelle 11 .As the clusters are smaller than the original covering graph, exact methods can be employed to solve each corresponding subproblem, obtaining better quality bounds in shorter computational times.
For the above example, one can apply a subgradient optimization method in order to determine the values of the dual variables λ 6 , λ 11 , and μ.At each iteration of this method, the values of the dual variables are used to update the coefficients of the objective function of each subproblem, which can be solved by exact methods.
It is interesting to observe that, due to the relaxation of constraints 2.14 and 2.19 , the variables x 6 and x 11 disappeared from the formulations of the subproblems.According to the objective function 2.27 their values will be set as 0 or 1, depending on their respective coefficient at each iteration: e Apply the standard subgradient method in order to optimize the dual variables λ and μ.
The subgradient method used in the step e can be written as follows.

2.33
While the stop conditions are not satisfied do the following Solve subproblems SP k for x and y, using the current values of λ and μ. Calculate

Advances in Operations Research
If j∈N y j p a feasible solution for MCLP is found , then do the following.
Calculate v MCLP using the obtained values for x and y.

2.35
Update the step size θ. Update
The step size θ used in this algorithm is the one proposed in 24 , beginning with θ 2 and halving it whenever the upper bound does not decrease for a certain number of successive iterations.The stopping tests used are the following: a θ ≤ 0.005, or b UB − LB < 1, or c the subgradient vector g g λ i ,g μ 0.

Computational Results
The LagClus algorithm was coded in C and the tests were conducted on a notebook with Intel Core 2 Duo 2.0 GHz processor and 2.0 GB RAM, running Windows XP Service Pack 3 , and ILOG CPLEX 10.1.1 25 .The data were obtained from TSPLIB PCB3038 26 and real case instances for facility location problems in São José dos Campos city, Brazil available for download at http://www.lac.inpe.br/∼lorena/instancias.html .For the graph partitioning task was used the well-known METIS heuristic for graph partitioning problems 27 , with default values.Given a covering graph G and a predefined number k of clusters, METIS divides the graph in k clusters minimizing the number of edges with terminations in different clusters.
The results obtained are shown in Tables 1 to 3.These tables use the following legend in the columns i k: number of clusters; ii n: number of potential facilities locations and clients to be covered; iii p: number of facilities to be installed; iv Optimal: optimal solution of the corresponding MCLP obtained by CPLEX; v GapLP: linear relaxation gap provided by CPLEX in percentage ; vii Cuts: number of relaxed constraints; viii Gap 100% × UB − Optimal /Optimal; ix CPUSeq: sum of the computing times for every cluster, at each iteration in seconds ; x CPUPar: the largest computing time for a cluster, at each iteration in seconds .
The values marked with an asterisk in Table 3 denote instances where CPLEX failed to produce an optimal solution within the time limit of 20000 seconds.The presented figures are suboptimal values.
From these results one can observe that the smaller the number of clusters is, the better are the upper bounds obtained smaller are the gaps .On the other hand, as the number of clusters increases, the computational effort for solving the subproblems is reduced.
In the results shown that for k 10 SJC instances and k 5 TSPLIB PCB3038 instance , the gaps obtained for 92.3% of the instances 48 out of 52 are equal or smaller values presented in bold face than the gaps obtained by the linear relaxation, which demonstrates the effectiveness of the decomposition heuristic.However, improved gaps could be obtained by reducing the number of clusters, at the cost of larger computational times.
Therefore, as shown in Tables 1, 2, and 3, the bounds obtained by the proposed approach are better than the ones produced by the linear relaxation and, consequently,

Conclusions
This paper presents a decomposition approach based on cluster partitioning to calculate improved upper bounds to the optimal solution of maximal covering location problems.The partitioning is based on the covering graph of potential facility locations that attend a same client.The corresponding coupling constraints are identified and some of them are relaxed in the Lagrangean way, resulting in subproblems that can be solved independently.Each subproblem represents a cluster smaller than the original problem and can be solved by exact methods in smaller computational times.Computational tests using real data and instances from the available literature were conducted and confirmed the effectiveness of the proposed approach.
An important characteristic of large-scale problems addressed by the proposed approach is the tradeoff between gap values and CPU times.Depending on the application, one may choose to sacrifice the quality of the bounds increasing the number of clusters in order to obtain shorter processing times.On the other hand, if quality is the issue, the processing times needed to solve instances with only a few clusters may be longer.
In this study, the number of clusters was fixed a priori and then the number of intercluster edges was minimized by the partitioning algorithm.In this way, for a chosen k, the number of relaxed constraints is minimized and, consequently, better bounds are obtained.The partitioning is clearly crucial and other choices could be considered, for example, minimize the maximal size of the clusters, so as to obtain the smallest possible subproblems.This has yet to be investigated.
The heuristic presented in this article can be used in a branch-and-bound exact method.As, in general, the upper bounds obtained with this heuristic are better than those obtained by the linear relaxation, one would expect many more nodes be pruned, with a possibly significant size reduction of the search tree.
Advances in applied mathematics and computer science have resulted in highperformance tools for mathematical programming, allowing tough optimization problems to be solved.However, as the problem size increases, the computational time may grow excessively, making the problem intractable even for the most efficient tools.In such a case an approach in which a large-scale problem is divided into a number of smaller-scale subproblems can be a nice solution possibility.
otherwise 2.32 for all i ∈ I {i ∈ N | constraint 2.2 containing variable x i is relaxed}.Therefore, the proposed decomposition approach can be established in the following steps.a Build a covering graph G M, A corresponding to the MCLP.b Apply a graph partitioning heuristic to divide the covering graph G into k clusters.The MCLP can be written through the objective function defined in 2.1 subject to 2.2 -2.5 where the constraints 2.2 are now divided into two groups: one with constraints corresponding to intracluster edges and other formed by constraints that correspond to edges connecting the clusters.
c Using distinct nonnegative multipliers, relax in the Lagrangean way the constraints corresponding to the edges connecting the clusters defining the set I and also relax constraint 2.3 .dThe resulting Lagrangean relaxation is decomposed into k subproblems.

Table 3 :
Computation times for TSPLIB PCB3038 instance, U 400. CPUSeq and CPUPar for each value of k, it is also possible to note that CPUPar values are becoming relatively smaller than CPUSeq values as the size of the instances increases, indicating that the proposed decomposition approach can substantially reduce the time for solving large instances of MCLP in parallel or multicore CPU computers.