AORAdvances in Operations Research1687-91551687-9147Hindawi Publishing Corporation12075610.1155/2010/120756120756Research ArticleA Decomposition Heuristic for the Maximal Covering Location ProblemSenneEdson Luiz França1PereiraMarcos Antonio1LorenaLuiz Antonio Nogueira2SteinerGeorge1Department of MathematicsEngineering College (FEG)São Paulo State University (UNESP) 12516-410 GuaratinguetáSPBrazilunesp.br2Associate Laboratory of Applied Mathematics and Computation (LAC)Brazilian Institute for Space Research (INPE)12201-970 São José dos Campos, SPBrazilinpe.br2010293201020102904200905012010120220102010Copyright © 2010This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

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.

1. 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  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).

Covering models are often found in problems of public organizations for the location of emergency services. Early techniques for solving the MCLP tried to obtain integer solutions from the linear relaxation equivalent of the model proposed by Church and ReVelle . This pioneer work formalizes the MCLP and presents a greedy heuristic based on vertices exchange.

MCLP applications range from emergency services [3, 4], hierarchical health services , air pollution control , to congested systems . Solution methods for the MCLP include the linear programming relaxation , greedy heuristics , and Lagrangean relaxation . Lorena and Pereira  report results obtained with a Lagrangean/surrogate heuristic using a subgradient optimization method, in complement to the dissociated Lagrangean and surrogate heuristics presented in . Arakaki and Lorena  present a constructive genetic algorithm to solve real case instances with up to 500 vertices. Surveys can be found in .

In this paper is presented a cluster relaxation technique to solve large-scale maximal covering location problems. The proposed approach requires the identification of a graph related to a set of constraints. If some of these constraints are relaxed, this graph can be partitioned into subgraphs (clusters), corresponding to smaller problems that can be solved independently.

This paper is organized as follows. Section 2 presents a decomposition approach to obtain improved upper bounds to the optimal solution of maximal covering location problems. Section 3 describes computational results. Some conclusions are given in Section 4.

2. The Proposed Approach for the MCLP

The MCLP was formulated in  as the following 0-1 linear programming problem:(MCLP)v(MCLP)=MaxiNwixisubject  tojSiyjxi,iN,jMyj=p,xi{0,1},iN,yj{0,1},jM, where

M={1,2,,m} is the set of potential facility locations;

N={1,2,,n} is the set of clients to be covered;

D=[dij] is the Euclidean distance matrix between each pair of nodes iN and jM;

U is the covering distance;

Si={jMdijU} is the set of facilities that can attend each client iN;

wi is the demand (a positive integer value) for each client iN;

p is the number of facilities to be located;

xi is a decision variable, with xi=1 if the demand of the client i is covered, and xi=0, otherwise;

yj is a decision variable, with yj=1 if a facility was installed at the location j, and yj=0, otherwise.

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  relaxes the set of constraints (2.2) with a vector μ of multipliers μi0, iN, obtaining(LRμ)v(LRμ)=MaxiN(wi-μi)xi+iNjSiμiyjsubject 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  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,  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 wi, for all iN. For the chosen covering distance, the sets Si, for all iN, are defined as follows:S1={1},S4={4},S2={1},S5={3,4},S3={1,2},S6={1,2,3,5},S7={2,6},S10={4},S8={2,5,6},S11={5,7},S9={3,4,7},S12={7}.

A MCLP instance.

Assuming the number of facilities to be installed as p = 3, this instance can be formulated asv(MCLP)=Max3x1+x2+2x3+4x4+5x5+2x6+3x7+7x8+x9+x10+2x11+2x12subject  toy1x1y1x2,y1+y2x3,y4x4,y3+y4x5,y1+y2+y3+y5x6,y2+y6x7,y2+y5+y6x8,y3+y4+y7x9,y4x10,y5+y7x11,y7x12,y1+y2+y3+y4+y5+y6+y7=3,xi{0,1},iN,yj{0,1},jM. 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 qSi, 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.

A covering graph.

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).

Now, consider that a covering graph is partitioned in some way. Figure 3(a) shows a possible partition. If the edges (1,3), (2,3), (3,5), and (5,7) are removed from the graph, two subgraphs are obtained, as shown in Figure 3(b).

Partitioning a covering graph.

A possible partition

The corresponding subgraphs

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 bev(MCLPR)=Max3x1+x2+2x3+4x4+5x5+2x6+3x7+7x8+x9+x10+2x11+2x12+λ6(y1+y2+y3+y5-x6)+λ11(y5+y7-x11)+μ(y1+y2+y3+y4+y5+y6+y7-3) subject to (2.9)–(2.13), (2.15)–(2.18), (2.20), (2.22), (2.23), andλ6,λ110,μR. The objective function can now be rewritten asv(MCLPR)=Max3x1+x2+2x3+4x4+5x5+(2-λ6)x6+3x7+7x8+x9+x10+(2-λ11)x11+2x12+(λ6+μ)y1+(λ6+μ)y2+(λ6+μ)y3+μy4+(λ6+λ11+μ)y5+μy6+(λ11+μ)y7-3μ. Then, the problem can be decomposed in two subproblems:v(MCLPR)=v(SP1)+v(SP2)+(2-λ6)x6+(2-λ11)x11-3μ, wherev(SP1)=Max3x1+x2+2x3+3x7+7x8+(λ6+μ)y1+(λ6+μ)y2+(λ6+λ11+μ)y5+μy6 subject to (2.9)–(2.11), (2.15), (2.16), (2.22), (2.23), andλ6,λ110,μR, and v(SP2)=Max4x4+5x5+x9+x10+2x12+(λ6+μ)y3+μy4+(λ11+μ)y7 subject to (2.12), (2.13), (2.17), (2.18), (2.20), (2.22), (2.23), andλ6,λ110,μR.

Note that these subproblems correspond to the following clusters (which are associated with the subgraphs of the covering graph):

Cluster 1: M1={1,2,3,7,8} and N1={1,2,5,6};

Cluster 2: M2={4,5,6,9,10,11,12} and N2={3,4,7}.

The resulting Lagrangean relaxation does not have the integrality property, being stronger than (LRμ) of Galvão and ReVelle . 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 x6 and x11 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:xi={1,ifwi-λi>0,0,otherwise for all iI={iN  constraint (2.2) containing variable xi is relaxed}.

Therefore, the proposed decomposition approach can be established in the following steps.

Build a covering graph G(M,A) corresponding to the MCLP.

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.

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).

The resulting Lagrangean relaxation is decomposed into k subproblems.

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.

Set, initially, λi={wi,ifiI,0,otherwise,μ=0,θ=2,LB=-,UB=+,

While (the stop conditions are not satisfied) do the following

Solve subproblems SPk for  x and  y, using the current values of  λ and  μ.

Calculate v(MCLPR)=kv(SPk)+iImax{0,(wi-λi)}-pμ.

Update UB=min{UB,v(MCLPR)}.

If jNyj=p (a feasible solution for MCLP is found), then do the following.

Calculate v(MCLP) using the obtained values for x and y.

Update LB=max{LB,v(MCLP)}.

Calculate giλ=xi-jSiyj,iI,gμ=p-jNyj.

Update the step size θ.

Update λi=min{0,λi+θgiλ},iI,μ=μ+θgμ.

End-While.

The step size θ used in this algorithm is the one proposed in , 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:

θ0.005, or

UB-LB<1, or

the subgradient vector g=[giλ,gμ]=0.

3. 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 . The data were obtained from TSPLIB PCB3038  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 , 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

k: number of clusters;

n: number of potential facilities locations and clients to be covered;

p: number of facilities to be installed;

Optimal: optimal solution of the corresponding MCLP obtained by CPLEX;

GapLP: linear relaxation gap provided by CPLEX (in percentage);

CPU: computing time of the corresponding optimal solution obtained by CPLEX (in seconds);

Cuts: number of relaxed constraints;

Gap = 100%  × (UBOptimal)/Optimal;

CPUSeq: sum of the computing times for every cluster, at each iteration (in seconds);

CPUPar: the largest computing time for a cluster, at each iteration (in seconds).

Computation times for SJC instances, U=150.

k = 10k = 50
npOptimalGapLPCPUCutsGapCPUSeqCPUParCutsGapCPUSeqCPUPar

3242073020.0000.0152960.0002.5432.53714490.0009.8759.739
3091270.0270.0470.02724.65024.6350.02744.59641.101
40104430.1560.1880.10825.98525.9690.15745.12242.353
50113970.1800.3910.13824.45224.4220.19543.74843.459
60119910.1840.2350.02444.51444.4210.22148.04947.909
80121520.0000.0310.0008.8768.8160.003109.129108.115
108121520.0000.0160.0001.5951.5952.97726.53326.487

50040133400.0000.0471080.0003.4533.3618040.00017.18611.499
50147730.0140.0470.0004.9384.5140.01459.01936.293
60159190.0480.0630.0008.2337.2430.04857.15734.737
70169080.0000.0310.0003.7233.3700.00022.89114.421
80177490.0000.0150.0005.4064.7660.00026.68616.697
100189120.0980.1090.00010.2767.1710.05662.07137.748
130196640.0410.2970.01530.82724.5880.04169.93443.373
167197060.0050.0470.00314.60014.2350.00546.07835.414

81880233250.0550.1401660.00345.56421.88016490.06185.92245.819
90244550.1230.2660.04156.38824.7470.14387.79747.001
100254350.1270.3440.01287.27934.4810.14096.12452.060
120269820.0840.2970.01569.65831.3680.062105.54754.658
140280020.1400.3590.09552.96626.2710.128121.12763.713
160286990.1280.3910.10758.45324.9040.12696.01750.828
200291530.0180.2340.01161.53128.3010.039253.908135.048
273291680.0000.0310.0003.3432.5450.55446.76637.178

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, by any Lagrangean relaxation as the ones presented in . Nevertheless, comparing the values of the CPU times presented by this method and those presented by CPLEX, it is clear that the proposed decomposition approach is appropriate only for large-scale problems.

Computation times for SJC instances, U=200.

k=10k=50
npOptimalGapLPCPUCutsGapCPUSeqCPUParCutsGapCPUSeqCPUPar

3242096700.3340.1729800.24319.29319.29330080.34732.94332.911
30117370.0870.4840.06028.94328.9430.09469.95969.959
40121510.0050.0940.00831.06631.0660.13877.87277.612
50121520.0000.0150.0009.9269.9260.00061.45661.395
60121520.0000.0470.0004.5754.5750.00014.37614.376
80121520.0000.0160.0003.6703.6700.00033.93633.936
108121520.0000.0310.24811.34311.3430.001897.830893.405

50040170770.4530.2036570.38724.66820.66926250.46955.00151.048
50183610.0140.1090.00339.10932.2480.02567.62662.596
60191530.0350.0630.00552.63935.3630.11285.37476.578
70195510.1101.0780.06943.94629.8170.17076.67168.721
80197030.0130.1560.00835.49527.9270.150102.05695.253
100197070.0000.0780.00016.62416.5010.00189.85886.698
130197070.0000.0470.0001.9861.8640.00126.54625.809
167197070.0000.0160.01622.37922.2250.85922.31422.133

81880279450.0700.2038400.06957.83527.42349100.121147.155115.605
90285190.1381.1410.071114.14545.5360.177128.57499.585
100289100.1031.3910.03688.88533.1530.175101.87580.758
120291650.0021.2340.00255.71031.1800.117141.246115.434
140291680.0000.1250.00011.6438.9400.021171.961143.737
160291680.0000.0620.0009.7387.5980.87839.34336.244
200291680.0000.0320.0005.7624.6100.84737.20534.871
273291680.0000.0310.20724.69818.5052.90425.28223.772

Computation times for TSPLIB PCB3038 instance, U=400.

k=5k=10
npOptimalGapLPCPUCutsGapCPUSeqCPUParCutsGapCPUSeqCPUPar

3038171253200.368802.3901655790.205843.838235.5412913630.470582.528223.245
181300040.51710265.0160.372817.076283.4000.712634.402243.747
19134262*0.60520000.0490.3821483.237598.6530.793576.821222.087
20139028*0.69820000.1560.5001712.078798.9110.973628.288236.767
21141279*0.85320000.0940.6543117.1741448.7301.128646.765243.302
22143809*1.19620000.1230.9926656.2673094.4101.598615.783231.525

Comparing the values of 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.

4. 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 high-performance 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.

Acknowledgments

The authors acknowledge CNPq—Conselho Nacional de Desenvolvimento Científico e Tecnológico for partial financial research support. They also would like to thank the valuable suggestions of two anonymous referees.

ToregasC.SwainR.ReVelleC.BergmanL.The location of emergency service facilitiesOperations Research19711913631373ChurchR.ReVelleC.The maximal covering location problemPapers of the Regional Science Association197432110111810.1007/BF019422932-s2.0-0345427032EatonD. J.HectorM. L.SanchezU.LantiguaR.MorganJ.Determining ambulance deployment in Santo Domingo. Dominican RepublicJournal of the Operational Research Society19863721131262-s2.0-0022662649CurrentJ. R.O'KellyM.Locating emergency warning sirensDecision Sciences198123221234MooreG. C.ReVelleC. S.The hierarchical service location problemManagement Science198228775780HouglandE. S.StephensN. T.Air pollutant monitor sitting by analytical techniquesJournal of the Air Pollution Control Association1976265253MarianovV.SerraD.Probabilistic, maximal covering location-allocation models from congested systemsJournal of Regional Science19983834014242-s2.0-0031785297MarianovV.SerraD.Hierarchical location-allocation models for congested systemsEuropean Journal of Operational Research2001135119520810.1016/S0377-2217(00)00314-32-s2.0-0035900283CorrêaF. A.LorenaL. A. N.Using the constructive genetic algorithm for solving the probabilistic maximal covering location-allocation problemProceedings of the 1st Workshop on Computational Intelligence/SBRN2006http://www.lac.inpe.br/~lorena/correa/Correa_Lorena_Wci_2006.pdfDaskinM.Network and Discrete Location: Models Algorithms and Applications1995New York, NY, USAJohn Wiley & SonsWiley-Interscience Series in Discrete Mathematics and OptimizationMR1326602GalvãoR. D.ReVelleC.A Lagrangean heuristic for the maximal covering location problemEuropean Journal of Operational Research199688111412310.1016/0377-2217(94)00159-62-s2.0-0030571701LorenaL. A. N.PereiraM. A.A Lagrangean/surrogate heuristic for the maximal covering location problem using Hillsman's editionInternational Journal of Industrial Engineering20029157672-s2.0-0036504823GalvãoR. D.EspejoL. G. A.BoffeyB.A comparison of Lagrangean and surrogate relaxations for the maximal covering location problemEuropean Journal of Operational Research200012423773892-s2.0-0343353880MR1787883ZBL0967.90068ArakakiR. G. I.LorenaL. A. N.A constructive genetic algorithm for the maximal covering location problemProceedings of the 4th Metaheuristics International Conference (MIC '01)July 2001Porto. Portugal1317http://www.lac.inpe.br/~lorena/arakaki/cgalap.pdfChungC.-H.Recent applications of the maximal covering location problem (MCLP) modelJournal of the Operational Research Society19863787357462-s2.0-0022766287HaleT. S.MobergC. R.Location science research: a reviewAnnals of Operations Research20031231–4213510.1023/A:10261109267072-s2.0-0347126430MR2036877ZBL1137.90598SerraD.MarianovV.New trends in public facility location modelingWorking Paper2004755Universitat Pompeu Fabra Economics and Businesshttp://www.econ.upf.edu/docs/papers/downloads/755.pdfGalvãoR. D.Uncapacitated facility location problems: contributionsPesquisa Operacional200424738RibeiroG. M.LorenaL. A. N.Lagrangean relaxation with clusters and column generation for the manufacturer's pallet loading problemComputers & Operations Research20073492695270810.1016/j.cor.2005.10.0082-s2.0-33846612001RibeiroG. M.LorenaL. A. N.Lagrangean relaxation with clusters for point-feature cartographic label placement problemsComputers & Operations Research20083572129214010.1016/j.cor.2006.09.0242-s2.0-36349027516MR2585213RibeiroG. M.LorenaL. A. N.Optimizing the woodpulp stowage using Lagrangean relaxation with clustersJournal of the Operational Research Society200859560060610.1057/palgrave.jors.26023672-s2.0-42649122611RibeiroG. M.LorenaL. A. N.Column generation approach for the point-feature cartographic label placement problemJournal of Combinatorial Optimization200815214716410.1007/s10878-007-9073-52-s2.0-37749041567MR2367015ZBL1138.90024CorrêaF. A.LorenaL. A. N.SenneE. L. F.Lagrangean relaxation with clusters for the uncapacitated facility location problemProceedings of the 13th CLAIO—Congreso Latino-Iberoamericano de Investigación OperativaNovember 2006Montevideo, Uruguayhttp://www.lac.inpe.br/~lorena/correa/LagClus_UFLP_CLAIO2006.pdfHeldM.KarpR. M.The traveling-salesman problem and minimum spanning trees: part IIMathematical Programming19711162510.1007/BF015840702-s2.0-34250461535MR0289119ZBL0232.90038ILOGCPLEX 10.1.1: User's ManualFrance, 2006ReineltG.The Traveling Salesman Problem: Computational Solutions for TSP Applications1984840Berlin, GermanySpringerLecture Notes in Computer ScienceMR1320506KarypisG.KumarV.Multilevel k-way partitioning scheme for irregular graphsJournal of Parallel and Distributed Computing199848196129