a mixed integer linear program and tabu search approach for the complementary edge covering problem

7
A mixed integer linear program and tabu search approach for the complementary edge covering problem Ali Naimi Sadigh * , Marzieh Mozafari, Ali Husseinzadeh Kashan Department of Industrial Engineering, Amirkabir University of Technology, 424 Hafez Ave., Tehran 15916-34311, Iran article info Article history: Received 17 August 2009 Received in revised form 15 December 2009 Accepted 17 December 2009 Keywords: Facility location Complementary edge covering problem Mixed integer linear model Heuristic algorithm Tabu search abstract In this paper we study a complementary edge covering problem (CECP) as a variant of the total edge cov- ering problem (TECP) which has application in the area of facility location. Unlike TECP, the partial cover of an edge through vertices is allowed in CECP such that in a feasible solution the entire edge will be cov- ered. We propose a new mixed integer linear formulation for the problem. A number of size reduction rules are proposed which speed up getting optimal solution(s). Since the CECP is NP-Hard, a solution method based on tabu search is designed to search for optimal or near-optimal solutions. Computational experiments are carried out to evaluate effectiveness of the proposed mathematical formulation and the modified tabu search algorithm. Results justify that the proposed mathematical model can solves prob- lems with up to 40 vertices and 456 edges optimally. Our computational efforts signify that the proposed tabu search is very effective and can find high quality solutions for larger problems in reasonable amount of time. Ó 2009 Elsevier Ltd. All rights reserved. 1. Introduction In this paper we investigate a variant of the total edge covering problem [16] wherein the aim is to determine a set of vertices of a given graph which cover all edges with the extra condition that each edge should be covered only by one vertex. In particular, we are interested in the edge covering problem in which partial cover of an edge is allowed. In other words each edge can be cov- ered by several vertices each of which cover a part of the edge in such a way that the edge will be covered entirely. The problem is entitled complementary edge covering problem (CECP). CECP is encountered in locating emergency facilities such as police sta- tions, and road hospitals or an electronic network for locating information center. The main characteristic of these applications is that the customer’s demand distributes uniformly in the paths between the location points. The formal description of CECP is as follows. Let G =(V, E) be an undirected graph with set V ={v 1 , v 2 , ..., v n } of vertices and the set E = {(v i , v j ): v i , v j 2 V, i j} of edges. Each vertex represents a poten- tial location for setting up a facility and the edge linking vertex i to j indicates the path with distributed demand. We assume that the demand on the path i to j is proportional to the path length so a partial cover of an edge means a partial demand satisfaction. The length of edge (v i , v j ) is represented by d ij . A customer can receive service completely from a facility (the related edge is covered) if its distance is not greater than a predefined threshold. This threshold is called coverage distance and is shown by D c . Otherwise it can be covered partially by the facility. It is assumed that the capacity of a facility is not limited. The cost of locating a facility at vertex k is de- noted by l k . The objective is to determine the optimal set of vertices K # V for locating facilities such that every edge is covered completely by one or partially by several vertices. A partial cover c kij is the por- tion of edge (v i , v j ) which is covered by vertex k through v i . Let us consider the graph represented in Fig. 1. The coverage distance is equal to 15. Given a solution, suppose there are three facilities locating at nodes B, F and E. All edges are totally covered by only one facility except for (B, F), (C, D), and (E, F). These edges are hence, covered partially as follows. Facility E covers 12 units of edge (C, D) through D and facility B covers the remaining 4 units. Thus c EDC is equal to 12 and c BCD is equal to 7. In this way, (B, F) is covered partially by B and F, and (E, F) is covered by E and F. To our knowledge this research is the first work addressing CECP. We propose a new mixed integer linear formulation to deter- mine the optimal subset of vertices covering all edges with mini- mum total cost. To tackle medium and large instances of CECP encountered in real-world location decisions, we propose a tabu search algorithm which is capable to obtain high quality solutions in a relatively short time. The rest of the paper is organized as follows. In Section 2, we re- view the related literature. In Section 3, we present the mathemat- ical formulation of CECP followed by some reduction rules shortening the time spend to find the global minimum. Section 4, 0965-9978/$ - see front matter Ó 2009 Elsevier Ltd. All rights reserved. doi:10.1016/j.advengsoft.2009.12.017 * Corresponding author. E-mail address: [email protected] (A. Naimi Sadigh). Advances in Engineering Software 41 (2010) 762–768 Contents lists available at ScienceDirect Advances in Engineering Software journal homepage: www.elsevier.com/locate/advengsoft

Upload: ali-naimi-sadigh

Post on 26-Jun-2016

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: A mixed integer linear program and tabu search approach for the complementary edge covering problem

Advances in Engineering Software 41 (2010) 762–768

Contents lists available at ScienceDirect

Advances in Engineering Software

journal homepage: www.elsevier .com/locate /advengsoft

A mixed integer linear program and tabu search approachfor the complementary edge covering problem

Ali Naimi Sadigh *, Marzieh Mozafari, Ali Husseinzadeh KashanDepartment of Industrial Engineering, Amirkabir University of Technology, 424 Hafez Ave., Tehran 15916-34311, Iran

a r t i c l e i n f o a b s t r a c t

Article history:Received 17 August 2009Received in revised form 15 December 2009Accepted 17 December 2009

Keywords:Facility locationComplementary edge covering problemMixed integer linear modelHeuristic algorithmTabu search

0965-9978/$ - see front matter � 2009 Elsevier Ltd. Adoi:10.1016/j.advengsoft.2009.12.017

* Corresponding author.E-mail address: [email protected] (A. Naimi Sadigh).

In this paper we study a complementary edge covering problem (CECP) as a variant of the total edge cov-ering problem (TECP) which has application in the area of facility location. Unlike TECP, the partial coverof an edge through vertices is allowed in CECP such that in a feasible solution the entire edge will be cov-ered. We propose a new mixed integer linear formulation for the problem. A number of size reductionrules are proposed which speed up getting optimal solution(s). Since the CECP is NP-Hard, a solutionmethod based on tabu search is designed to search for optimal or near-optimal solutions. Computationalexperiments are carried out to evaluate effectiveness of the proposed mathematical formulation and themodified tabu search algorithm. Results justify that the proposed mathematical model can solves prob-lems with up to 40 vertices and 456 edges optimally. Our computational efforts signify that the proposedtabu search is very effective and can find high quality solutions for larger problems in reasonable amountof time.

� 2009 Elsevier Ltd. All rights reserved.

1. Introduction

In this paper we investigate a variant of the total edge coveringproblem [16] wherein the aim is to determine a set of vertices of agiven graph which cover all edges with the extra condition thateach edge should be covered only by one vertex. In particular,we are interested in the edge covering problem in which partialcover of an edge is allowed. In other words each edge can be cov-ered by several vertices each of which cover a part of the edge insuch a way that the edge will be covered entirely. The problem isentitled complementary edge covering problem (CECP). CECP isencountered in locating emergency facilities such as police sta-tions, and road hospitals or an electronic network for locatinginformation center. The main characteristic of these applicationsis that the customer’s demand distributes uniformly in the pathsbetween the location points.

The formal description of CECP is as follows. Let G = (V, E) be anundirected graph with set V = {v1, v2, . . ., vn} of vertices and the setE = {(vi, vj): vi, vj 2 V, i – j} of edges. Each vertex represents a poten-tial location for setting up a facility and the edge linking vertex i toj indicates the path with distributed demand. We assume that thedemand on the path i to j is proportional to the path length so apartial cover of an edge means a partial demand satisfaction. Thelength of edge (vi, vj) is represented by dij. A customer can receiveservice completely from a facility (the related edge is covered) if its

ll rights reserved.

distance is not greater than a predefined threshold. This thresholdis called coverage distance and is shown by Dc. Otherwise it can becovered partially by the facility. It is assumed that the capacity of afacility is not limited. The cost of locating a facility at vertex k is de-noted by lk.

The objective is to determine the optimal set of vertices K # Vfor locating facilities such that every edge is covered completelyby one or partially by several vertices. A partial cover ckij is the por-tion of edge (vi, vj) which is covered by vertex k through vi.

Let us consider the graph represented in Fig. 1. The coveragedistance is equal to 15. Given a solution, suppose there are threefacilities locating at nodes B, F and E. All edges are totally coveredby only one facility except for (B, F), (C, D), and (E, F). These edgesare hence, covered partially as follows. Facility E covers 12 units ofedge (C, D) through D and facility B covers the remaining 4 units.Thus cEDC is equal to 12 and cBCD is equal to 7. In this way, (B, F)is covered partially by B and F, and (E, F) is covered by E and F.

To our knowledge this research is the first work addressingCECP. We propose a new mixed integer linear formulation to deter-mine the optimal subset of vertices covering all edges with mini-mum total cost. To tackle medium and large instances of CECPencountered in real-world location decisions, we propose a tabusearch algorithm which is capable to obtain high quality solutionsin a relatively short time.

The rest of the paper is organized as follows. In Section 2, we re-view the related literature. In Section 3, we present the mathemat-ical formulation of CECP followed by some reduction rulesshortening the time spend to find the global minimum. Section 4,

Page 2: A mixed integer linear program and tabu search approach for the complementary edge covering problem

10 8

16

316

922

Fig. 1. Graphical illustration of a feasible solution for CECP.

A. Naimi Sadigh et al. / Advances in Engineering Software 41 (2010) 762–768 763

proposes a tabu search algorithm modified for solving large in-stances of CECP. Computational results are presented in Section5. Concluding remarks and possible extensions are discussed inSection 6.

2. Related literature

In this section we review related studies by breaking theliterature in twofold: mathematical models and the solutionapproaches.

2.1. Mathematical model

Covering problems hold a central place in location theory. Inthese problems, we are given a set of demand points and a set ofpotential sites for locating facilities. A demand point is said to becovered by a facility if it lies within a pre-specified distance of thatfacility. Schilling [32] provided a detailed review of the coveringmodels in facility location. Using the classification proposed byDaskin [13], covering problems are divided into two main classes:total covering problems, known as the set covering problem, whichconsists of covering all demand points with the minimum numberof facilities [34]; and maximal covering problems which consist ofcovering a maximum number of demand points with a fixed num-ber of facilities [11]. Karasakal and Karasakal [26] discussed a max-imal covering location model in the presence of partial coverage.They allowed the coverage to change from ‘‘covered” to ‘‘not-cov-ered” within a distance range sing an arbitrary covering decayfunction.

Besides many researches that have considered vertex covering,some studies have discussed edge covering. The total edge cover-ing problem [16] is a special case of total covering problem [13]in which one seeks for the optimal subset of vertices that coverthe edges. In the total edge covering problem it is assumed thatthe entire edge is covered by only one facility. Bhatia et al. [8]examined an edge covering problem with dynamic edge length.Guha et al. [22] investigated a variant of capacitated total edge cov-ering problem in which each edge assumed to be covered by one ofits own vertices and the capacity of the facilities is finite. Erdemiret al. [15] studied location coverage model with demand originat-ing from nodes and paths. In their study, a demand node is the cen-ter of an area from which a given number of demand requestsoriginate and a path represents a moving demand that needs cov-erage throughout its travel. The length of the demand path, its con-figuration, and the coverage radius, determine the number andlocation of facilities required to cover it. Ni [30] studied the mini-mum weight edge covering problem (MWECP) under fuzzy envi-ronment. MWECP’s objective is to find an edge cover (that is asubset of the edges that includes every vertex at least once) suchthat the cover weight is minimized. Moghaddam and Bagheri[29] investigated the edge covering problem to find the minimumnumber of guards to cover the edges of a simple polygon. They con-sidered two versions of the problem, the vertex guard and the edgeguard and proposed approximation algorithms. For a detailed re-view of covering problems see [16].

2.2. Solution methods

Beside the formulation of a location problem, another challengeis identifying the optimal solution. The most basic covering loca-tion problems are classified as NP-Hard [17]. Mihelic and Robic[27] discussed the connection between facility location problemsand covering problems, and presented several solution approaches.Many algorithms have been developed for solving covering prob-lems. Some of the most common solution approaches for coveringlocation models have been explored in [12]. The exact algorithms[3,14,2] are mostly based on branch-and-bound and cutting planes.Since exact methods require substantial computational effort tosolve large-scale instances, heuristic algorithms are often used tofind a good or near-optimal solution in a reasonable time. Someof the heuristic approaches for solving large combinatorial prob-lems have been developed by Beasley [5], Ceria et al. [10], Guhaet al. [22], Gomes et al. [21], Pereira et al. [31]. To improve the solu-tion quality, modern heuristics introduce randomness in a system-atic manner. A list of heuristics of this type for solving the coveringproblems includes genetic algorithms [6,1,33], simulated anneal-ing [24,7], tabu search [18,9,7], neural network [23,25], and graspalgorithm [4].

3. Problem formulation and reduction rules

3.1. Problem formulation

In this section, we propose a new mathematical model for CECP.The decision variables are defined as follows. xk is equal to 1 if afacility is located at vertex k; 0 otherwise. ykij is equal to 1 if thefacility located at vertex k covers edge (vi, vj) through vi; 0 other-wise. lk is the cost of locating a facility at vertex k and ckij is the por-tion of the edge (vi, vj) which is covered by the facility located atvertex k through vi. Our mixed integer linear formulation of CECPis as follows:

MinXn

k¼1

lkxk ð1Þ

subject to :Xn

k¼1

ckijykij þXn

k¼1

ckjiykji � dij; ðv i; v jÞ 2 E; i < j ð2Þ

ykij � xk

ykji � xk

(; k ¼ 1;2; . . . ; n; ðv i;v jÞ 2 E; i < j ð3Þ

Pnk¼1

ykij � 1

Pnk¼1

ykji � 1

8>>><>>>:

; ðv i;v jÞ 2 E; i < j ð4Þ

0 � xk � 1; k ¼ 1;2; . . . ;n ð5Þykij 2 f0;1g; k ¼ 1;2; . . . ; n; ðv i;v jÞ 2 E ð6Þykij ¼ 0 for all ckij ¼ 0 ð7Þ

Objective (1) minimizes the total cost of locations. Constraint (2)ensures that all of edges are covered through the located facilities.Constraint (3) states that vertex k can cover some edges partiallyor completely, only when a facility is located on it. Constraint (4)is a supplement to constraint (1) and ensures that each edge (vi,vj) can be covered once through each of its end points vi and vj. Inother words, constraint (4) makes sure that each sum in constraint(1) has only one non-zero term inside. Constraints (5) and (6) deter-mine the domain on decision variables. Constraint (7) helps to re-duce the number of variables by fixing the coverage variablerelated to vertex i at zero whenever its relevant facility cannot serveedge (vi, vj).

Page 3: A mixed integer linear program and tabu search approach for the complementary edge covering problem

764 A. Naimi Sadigh et al. / Advances in Engineering Software 41 (2010) 762–768

Meanwhile term ckij can be easily calculated by followingequation:

ckij ¼ Max ð0; Dc � dkiÞ ð8Þ

Since the number of decision variables and constraints in the pro-posed model increase as the number of edges and vertices increasein the graph of a problem, it is concluded that the size complexity ofthe proposed model increase with the number of edges and vertices.

3.2. Size reduction rules

Before solving a given instance of CECP a number of reductionrules can be applied to reduce the size of the problem. Using theserules one can also reduce the size of the neighborhood of a givenseed solution. This is especially applicable when developing a localsearch method like tabu search.

Rule 1. Given two connected vertices vi and vj, let dik1¼

minfdikjk : vk is conected to v i; k–jg. If dij > Dc anddij þ dik1

> 2Dc , then in the optimal solution we have xi = 1.

Proof. Let xi = 0 and xj = 1 and assume that edge (vi, vj) is com-pletely covered. Since dij > Dc, vj cannot cover (vi, vj) completely.Thus the best vertex for locating a facility to cover the uncoveredpart of (vi, vj) is vk1 . Since the uncovered length of (vi, vj) is equalto dij�Dc, and that dij þ dik1 > 2Dc , thus vk1 cannot cover (vi, vj)because dik1 þ dij � Dc > Dc . This contradicts with the assumptionxi = 0. Thus, xi = 1. h

If we conclude that xi = 1, all elements in row i and also all ele-ments in column i of distance matrix (row and columns are in rela-tion with vertex i) are updated with value of max (0, dij�Dc). As theresult of this update if all values are zero then we can eliminate thecorresponding row and column. Then we can reduce the graph byelimination of all edges emerging from vertex i.

Rule 2. if vi is a dangling vertex (i.e.: it is only connected to vertexj). Then if dij > Dc, xi = 1. If dij 6 Dc and li P lj, xi = 0.

N

YN

Y

In distance matrix, select the raw with the most non -zero

elements

Select the raw with the largest sum

Replace elements of this raw and the equivalent column

with )Dd,0max ( cij −

Are all the elements of the new distance

matrix zero?

End

Is the selection

result unique?

Fig. 2. Heuristic procedure for initialization.

Proof. Since vi is not connected to any vertex except vj and dij > Dc,even if xj = 1, vj cannot completely cover the edge (vi, vj); Thusxi = 1. When dij 6 D and li P lj; because vi is not connected to anyvertex except vj and the cost of locating vi is more less than vj, tocover the edge (vi, vj) we prefer to locate in vj or another vertexinstead of vi. Thus, xi = 0. h

Generally we use reduction rule 2 after employing rule 1, be-cause it is more likely that the number of dangling vertices in-creases after reduction by rule 1.

4. A modified tabu search algorithm for CECP

Successful Implementation of tabu search (TS) for a wide rangeof optimization problems has made it a well-established optimiza-tion technique which can compete with many popular well-struc-tured techniques. TS is an iterative local search method that wasoriginally developed by Glover [19] and has been widely used incombinatorial optimization. Starting from an initial solution, thesearch method moves at each iteration from the current solutionto the best one in a subset of its neighborhood. A function trans-forming a solution into another is usually called a move. For anysolution s, a subset of moves applicable to it generates a subsetof solutions N(s), called the neighborhood of s. At each iteration,the best solution s� in N(s), is selected, even it causes deteriorationin the fitness value, and the search moves on it for further explora-tion at next iteration. To avoid looping, moves which would bringus back to a recently visited solution should be forbidden or de-

clared tabu for a given number of iterations. This is accomplishedby keeping the attributes of the forbidden moves in a list, calledtabu list. The size of the tabu list is a critical parameter and mustbe large enough to prevent looping, but small enough not to forbidtoo many moves. Whenever a move from s to s� is made, the attri-butes associated with the relevant move are added to the end ofthe tabu list and the ‘‘oldest” element of the tabu list is removedif it is overloaded. During the search, the algorithm maintains shortterm and long term memory structures. For greater detail on TS,readers can refer to [20]. In this research we add some additionalmechanisms to improve the performance of TS algorithm. In thefollowing we describe in detail the main features of the TS algo-rithm implemented in this research.

4.1. Initialization

A solution is represented by a binary array of size n. Each ele-ment stands for one of vertices and indicates whether a facility islocated at the corresponding vertex or not. If a facility is openedat vertex i then the its corresponding element in the array gets 1,otherwise it will be 0. To construct the initial feasible seed solution,a heuristic method is devised as follows:

Every time open a facility at the vertex i having the largest de-gree (the number of edges having one ends at vertex i constitutesits degree). Break ties in favor of the vertex i having largest value ofi. Update the distance matrix using values of max (0, dij > Dc) andmax (0, dji > Dc) then eliminate totally covered edges. Continue thisprocess until all edges are covered and the feasible solution isachieved.

Fig. 2 illustrates the heuristic procedure to generate a feasibleinitial solution.

4.2. Fitness evaluation

To assess how much a solution is fit to the optimization pur-pose, a fitness function is evaluated for any candidate solution.For a given solution of CECP, the fitness value is calculated asfollow:

XN

k¼1

lkxk þM �X

fi;jg2E;i<j

maxð0; dij � ðmaxkðckijÞ þmax

kðckjiÞÞÞ ð9Þ

The first part of (9) is the objective value. We penalize the infea-sible solutions through adding a penalty term to the objectivefunction (the second term in (9)) while M is the penalty coefficient

Page 4: A mixed integer linear program and tabu search approach for the complementary edge covering problem

A. Naimi Sadigh et al. / Advances in Engineering Software 41 (2010) 762–768 765

and assumed to be a large number. Since we initialize the algo-rithm with a feasible solution, using the objective function withadditional penalty disallows infeasible solution to be selected inthe next stages of the tabu search algorithm.

4.3. Neighborhood exploration

After generating an initial seed solution, its neighborhoodshould be explored. The size of neighborhood explored in each iter-ation is a pre-specified parameter Iter – in 2 [n, 1.5n]. In order tomove from the current solution, to another one, k elements are se-lected randomly and their contents are changed to opposite value.Fig. 3 gives an example of neighbor generation. In our case we set kequal to 2.

4.4. Tabu list

Tabu list implements the short term memory in the TS. Tabu listis used to determine whether a solution with a characteristic attri-bute has been visited before or not. If a candidate solution pos-sesses attributes of a recently visited solution within Tabu list,the move is forbidden and the next candidate move is entertained.

In our implementation, at the end of each iteration, the best ac-cepted move (the exchange move that results in obtaining s�) istabooed and added to the tabu list. The crucial feature of tabu listis its size (tabu length (TL)), i.e. the number of currently tabooedmoves. Increasing the length of tabu list decreases the probabilityof lopping, but a longer list limits the exploration ability. Based onpreliminary experiments we set TL = n.

4.5. Aspiration criterion

To improve the performance of TS algorithm we use an aspira-tion criterion. When an attribute is declared tabu, all solutions pos-sessing this attribute are implicitly declared tabu. An aspirationcriterion is defined then to deal with the case in which an interest-ing move (such as a move that leads to a new best solution) is tabu.If a current tabu move satisfies the aspiration criterion, its tabu sta-tus is canceled and it becomes an allowable move.

As an aspiration criterion, a tabu move is allowable if it resultsobtaining the fittest solution found so far.

4.6. Diversification strategies

To further improve the performance of TS, diversification strat-egies equipping the algorithm with a long term memory is appliedto divert the search to less explored regions. In our TS algorithm weuse three diversification strategies described as follows.

4.6.1. Diversification via randomizationTS forbid some solutions (moves) time to time. This implies that

some portion of the search space may be unrewarded during thesearch. As a simple diversification strategy inspired from [28],the tabu status is ignored with a very small probability a, even ifthe aspiration criterion does not hold. We empirically found thata suitable value for a, would be within [0.05, 0.1], we use a = 0.05.

1 1 0 0 0 1 0 1 1 0

0 1 1 0 0 0 1 1 0 0

A typical solution

A neighbor solution

Fig. 3. An example of neighborhood generation for k = 5.

4.6.2. Diversification via delayIt is obvious that in the early stages of the search, cycles are un-

likely. In this regard, there may be no need to disallow moves atthe early stages of the search. So, during the early iterations, weset the tabu tenure to be zero. As soon as a predefined numberof iterations, says K, were accomplished, TS switches into the stan-dard mode of disallowing the tabu move. Usually K = b�n [28],where b is delay factor. We use b = 0.7.

4.6.3. Diversification via explorationAt the beginning of each iteration, TS uses the locally best solu-

tion of the previous iteration as the neighboring seed. This is in-deed intensification around good solutions, which is in contrastwith diversification. Here we adopt an exploration strategy whichemploys the last but not the best neighbor solution to explorearound it in the current iteration. We apply this strategy everyc� Iter – max iterations, where Iter-max is the maximum numberof iterations and c is a constant belonging to interval (0, 1). Weuse c = 0.3.

4.7. Termination criterion

Several stopping criteria can be adopted for stopping TS execu-tion such as a time limit, an iteration limit or an absence ofimprovement for a given number of iterations. We stop TS algo-rithm when the iteration counter reaches the maximum numberof iterations Iter-max. A seemingly good choice would be Iter –max 2 [25n, 50n].

Bringing together all that we have discussed, Fig. 4 illustratesthe entire pseudo code of the TS algorithm proposed for CECP.

5. Computational experiments

To find out how effective are the proposed mathematical model,and TS algorithm for solving CECP, random graphs of different sizeare generated. To our knowledge there is no prior research on CECPand hence there are no test problem instances to benchmark. Coef-ficients of the objective function are generated by uniform distri-bution U(50, 500). The length of edges are chosen with uniformdistribution U(10, 80) and coverage distance is considered 50.

The main parameters that can be influence the size complexityof the problem are the number of edges and vertices. Thus, to sim-ulate different problems of various sizes, we consider increasing inthe size complexity of the instances by making increments in thenumber of edges and vertices, accordingly. We have tried to con-sider problems with different dimensions which are seen more fre-quently in reality.

Our test problems are categorized in twofold. The first categoryconsists of 15 instances of graphs of sizes between 10 and 40 ver-tices with different edge density. These problems are known asmedium size problems where the optimal solutions can be ob-tained via commercial solvers, e.g. LINGO 8.0. However the optimalsolution would be found just by reducing the scale of the problemsthrough employing the reduction rules. As we found, reduction hasa very significant role and can cause saving up to 20% in executiontimes. Results are summarized in Table 1. In this table we comparethe results obtained by LINGO 8.0 with those obtained by TS algo-rithm. It is worth mentioning that we implement TS algorithm inMATLAB 7.4.0 and executed it on a Core 2, 2.26 GHz computer with2 GB of memory.

As can be seen, all medium size instances have been solvedoptimally by both LINGO 8.0 and TS algorithm. The main point hereis that TS reports the optimal solution almost in one minute.Whereas, LINGO 8.0 may need one hour to verify the optimality.

Page 5: A mixed integer linear program and tabu search approach for the complementary edge covering problem

Fig. 4. Pseudo code of proposed TS algorithm for CECP.

Table 1Results on medium and large size problems.

Test problem Problem size (vertices � edges) Total cost Time (s)

Exact method (LINGO 8.0) TS % error Exact method (LINGO 8.0) TS

1 10 � 27 1408.1 1408.1 0 20.53 1.052 10 � 35 2148.2 2148.2 0 23.06 2.213 10 � 40 2667.0 2667.0 0 25.87 2.344 15 � 57 2754.9 2754.9 0 35.49 3.135 15 � 76 3756.1 3756.1 0 76.18 3.726 15 � 92 3212.4 3212.4 0 92.26 3.507 20 � 108 3798.0 3798.0 0 145.22 4.368 20 � 148 4527.7 4527.7 0 185.70 6.099 20 � 174 5178.7 5178.7 0 203.64 6.8710 30 � 168 5240.2 5240.2 0 578.47 12.6511 30 � 242 7184.1 7184.1 0 646.81 13.6912 30 � 313 7708.2 7708.2 0 721.00 16.7813 40 � 272 7993.1 7993.1 0 3122.75 69.1514 40 � 324 8853.0 8853.0 0 3311.10 73.2615 40 � 456 10805.2 10805.2 0 3743.91 73.8916 45 � 378 8405.4a 8405.4 – >7200 98.0817 45 � 497 11625.2a 11625.2 – >7200 100.0218 45 � 624 11880.1a 11024.7 –b >7200 105.3219 50 � 421 10049.5a 9974.8 –b >7200 125.1420 50 � 652 12547.6a 12547.6 – >7200 127.0021 50 � 821 12129.0* 12085.6 –b >7200 135.0922 60 � 671 13829.5* 13647.1 –b >7200 246.5523 60 � 844 16937.0a 16632.5 –b >7200 253.9624 60 � 1063 17178.9a 16943.1 –b >7200 271.7425 70 � 971 16773.4a 16626.6 –b >7200 535.6826 70 � 1125 19326.9a 19010.7 –b >7200 542.2427 70 � 1214 20629.1a 20282.8 –b >7200 550.9628 80 � 1088 18120.6a 17477.5 –b >7200 803.8529 80 � 1263 18376.2a 17883.3 –b >7200 826.8330 80 � 1484 22986.1a 22321.2 –b >7200 845.14

a The best solution obtained after 7200 s.b TS solution is better than the best solution of LINGO 8.0 in 7200 s.

766 A. Naimi Sadigh et al. / Advances in Engineering Software 41 (2010) 762–768

Page 6: A mixed integer linear program and tabu search approach for the complementary edge covering problem

Fig. 5. Comparison of the computational time between proposed TS and Exact Method (LINGO 8.0).

A. Naimi Sadigh et al. / Advances in Engineering Software 41 (2010) 762–768 767

The second category consists of 15 instances of size 45–80vertices. These are relatively large instances where LINGO 8.0is not able to verify optimality within 7200 s even after reduc-tions. As can be perceived, TS is able to find high quality solu-tions for all instances in a reasonable amount of time whileLINGO 8.0 is not able to verify optimal solution within 7200 s.For these relatively large instances, the best solutions obtainedby LINGO 8.0 are shown in Table 1. The main point here is thatTS reports the solutions almost better than the best solutions ofLINGO 8.0 within 7200 s.

Fig. 5 illustrates the time curves of both utilized approaches.According the Fig. 4 as the number of edges and vertices increasein the problem, the computational time of the exact method (LIN-GO 8.0) increases exponentially, while the TS computational timeincreases linearly with a low slop.

6. Concluding remarks

This paper addressed the complementary edge covering prob-lem (CECP) as a variant of the total edge covering problem(TECP) which has application in the area of facility location. Un-like TECP, the partial cover of an edge through vertices is al-lowed in CECP. We formulated the problem as a new mixedinteger linear program. A number of size reduction rules wereproposed which can help the commercial solvers to get optimalsolution(s) of the given instances of CECP in a shorter time. Asolution method based on tabu search was then designed tosearch for optimal or near-optimal solutions. Some additionalmechanisms were added to TS algorithm in order to improvethe performance of TS. Computational experiments were carriedout to evaluate effectiveness of the proposed mathematical for-mulation and the tabu search algorithm. Results justify thatthe proposed mathematical model can solves problems with 40vertex and 456 edges optimally. Further comparisons signifiedthat tabu search algorithm is very effective and can find highquality solutions for larger problems in reasonable amount oftime. As an extension of this work one can consider finite capac-ity, different coverage distance and also coverage direction indirectional networks.

References

[1] Aickelin U. An indirect genetic algorithm for set covering problems. J Oper ResSoc 2002;53:1118–26.

[2] Avella P, Boccia M, Vasilyev I. Computational experience with generalcutting planes for the set covering problem. Oper Res Lett2009;37:16–20.

[3] Balas E, Carrera M. A dynamic sub gradient-based branch-and-boundprocedure for set covering. Oper Res 1996;44:875–90.

[4] Bautista J, Pereira J. A GRASP algorithm to solve the unicost set coveringproblem. Comput Oper Res 2007;34:3162–73.

[5] Beasley JE. A Lagrangean heuristic for set-covering problems. Nav Res Log1990;37:151–64.

[6] Beasley JE, Chu PC. A genetic algorithm for the set covering problem. Eur J OperRes 1996;94:392–404.

[7] Berman O, Drezner T, Drezner Z, Wesolowsky GO. A defensive maximalcovering problem on a network. Int Trans Oper Res 2009;16:69–86.

[8] Bhatia R, Guha S, Khuller S, Sussman YJ. Facility location with dynamic distancefunctions. J Combust Optim 1998;2(2):199–217.

[9] Calik H, Alumur SA, Kara BY, Karasan OE. A tabu-search based heuristic for thehub covering problem over incomplete hub networks. Comput Oper Res; inpress.

[10] Ceria S, Nobili P, Sassano A. A Lagrangian-based heuristic for large-scale setcovering problems. Math Program 1998;81:215–28.

[11] Church R, ReVelle C. The maximal covering location problem. Pap Reg Sci Assoc1974;32:101–18.

[12] Current J, Daskin MS, Schilling D. Discrete network location models. In:Drezner Z, Hamacher HW, editors. Facility location: applications andtheory. Berlin: Springer-verlag; 2002.

[13] Daskin MS. Network and discrete location: models, algorithms andapplications. New York: John Wiley & Sons; 1995.

[14] Downs BT, Camm JD. An exact algorithm for the maximal covering problem.Nav Res Log 1998;43(3):435–61.

[15] Erdemir E, Batta R, Spielman S, Rogerson P, Blatt A, Flanigan M. Locationcoverage models with demand originating from nodes and paths: applicationto cellular network design. Eur J Oper Res 2008;190:610–32.

[16] Fallah H, Naimi Sadigh A, Aslanzadeh M. Covering problems. In: Farahani ZR,Hekmatfar M, editors. Facility location: concepts, models, algorithms and casestudies. Berlin: Springer-verlag; 2009.

[17] Garey MR, Johnson DS. Computers and Intractability: a guide to the theory ofNP-completeness. New York: W.H. Freeman; 1979.

[18] Gendreau M, Laporte G, Semet F. Solving an ambulance location model by tabusearch. Locat Sci 1997;5:75–88.

[19] Glover F. Future paths for integer programming and links to artificialintelligence. Comput Oper Res 1986;13:533–49.

[20] Glover F, Laguna M. Tabu search. Dordrecht: Kluwer; 1997.[21] Gomes FC, Menese CN, Pardalos PM, Viana GVR. Experimental analysis of

approximation algorithms for the vertex cover and set covering problems.Comput Oper Res 2006;33:3520–34.

[22] Guha S, Hassin R, Khuller S, Or E. Capacitated vertex covering. J Algor2003;48:257–70.

Page 7: A mixed integer linear program and tabu search approach for the complementary edge covering problem

768 A. Naimi Sadigh et al. / Advances in Engineering Software 41 (2010) 762–768

[23] Hifi M, Paschos VT, Zissimopoulos V. A neural network for the minimum setcovering problem. Chaos, Solitons Fractals 2000;11:2079–89.

[24] Jacobs L, Brusco M. Note: a local-search heuristic for large set-coveringproblems. Nav Res Log 1995;42:1129–40.

[25] Jin X, Zheng B. Neural networks and graph theory. Sci China2002;45(1):1–24.

[26] Karasakal O, Karasakal E. A maximal covering location model in the presenceof partial coverage. Comput Oper Res 2004;31:1515–26.

[27] Mihelic J, Robic B. Facility location and covering problems. In: Proceedings oftheoretical computer science conference, information society. Slovenia:Ljubljana; 2004.

[28] Misevicius A, Blonskis J. Experiments with tabu search for random quadraticassignment problems. Inform Technol Control 2005;34(3):237–44.

[29] Moghaddam M, Bagheri A. Approximation algorithms for edge-coveringproblem. In: Advances in computer science and engineering. Berlin:Springer-verlag; 2009.

[30] Ni Y. Fuzzy minimum weight edge covering problem. Appl Math Model2008;32:1327–37.

[31] Pereira MA, Lorena LAN, Senne ELF. A column generation approach for themaximal covering location problem. Int Trans Oper Res 2007;14:349–64.

[32] Schilling D, Jayaraman V, Barkhi R. A review of covering problems in facilitylocation. Locat Sci 1993;1:25–56.

[33] Solar M, Parada V, Urrutia R. A parallel genetic algorithm to solve the set-covering problem. Comput Oper Res 2002;29(9):1221–35.

[34] Toregas CSR, ReVelle C, Bergman L. The location of emergency service facilities.Oper Res 1971;19:1363–73.