A Simulated Annealing method to solve a generalized maximal covering location problem

Article history: Received 10 October 2010 Received in revised form 7 January 2011 Accepted 9 January 2011 Available online 10 January 2011 The maximal covering location problem (MCLP) seeks to locate a predefined number of facilities in order to maximize the number of covered demand points. In a classical sense, MCLP has three main implicit assumptions: all or nothing coverage, individual coverage, and fixed coverage radius. By relaxing these assumptions, three classes of modelling formulations are extended: the gradual cover models, the cooperative cover models, and the variable radius models. In this paper, we develop a special form of MCLP which combines the characteristics of gradual cover models, cooperative cover models, and variable radius models. The proposed problem has many applications such as locating cell phone towers. The model is formulated as a mixed integer non-linear programming (MINLP). In addition, a simulated annealing algorithm is used to solve the resulted problem and the performance of the proposed method is evaluated with a set of randomly generated problems. © 2011 Growing Science Ltd. All rights reserved


Introduction
The concept of covering problems was originally proposed by Toregas et al. (1971) and it was extended by Berlin and Liebman (1974) afterwards.In a typical covering problem, a customer is called covered if it is within a predefined distance, covering radius, from one of the closest facilities.There are two major categories of covering problems in the literature.Location set covering problem (LSCP), originally introduced by Church and Revelle (1974), with the objective of covering all the customers to minimize the number of located facilities and maximal covering location problem (MCLP), originally defined by Revelle et al. (1976), with the objective of maximizing total weighted covered customers according to specified number of facilities.According to Berman et al. (2010) there are three main assumptions in coverage problem as follows, 1-All or nothing coverage: based on this assumption, a customer is covered if it is located within the coverage radius of a facility, while it is uncovered if it is outside the coverage radius of a facility.
2-Individual coverage: according to this assumption, the coverage of each customer depends on the closest established facility to the customer and the next closest facility does not affect the coverage of the customer.3-Fixed coverage radius: the coverage radius of each facility is a fixed parameter and is not a decision variable.There are, however, many real-world applications in which these assumptions are relaxed (Berman et al., 2010).The following summarizes the new classification of these problems: 1-Gradual covering models: in this type of models, instead of all or nothing coverage, a coverage function is used.This function determines the proportion of demands covered in a specified distance from a facility.Church and Robert (1984) presented the first model in this class and applied a step-coverage function for discrete version.Berman and Krass (2002) proposed the network version of this problem with a step coverage function.

3-Variable radius models:
In these models, the coverage radius of a particular facility is considered as a function of establishing cost of the facility, which means the more the establishing cost of the facility, the greater the coverage radius of the facility.Berman et al. (2009) are the first who introduced this idea.The goal of their proposed model was to determine the locations, the number and the coverage radius of each facility to cover all of the demand points with the minimum locating cost.They investigated this covering model with variable radius for both discrete and plane cases.

. The linear coverage function
There are also other real-world cases where we need to relax all assumptions of all or nothing coverage, individual coverage, and fixed coverage radius, simultaneously.For instance, consider a problem of locating cell phone towers.The following circumstances exist in this problem: 1-The strength of received signals for each mobile phone user is inversely correlated with the square of the distance between the user and the tower.In other words, as the distance between the user and the cell phone tower increases, the probability of the connection with the tower decreases (gradual coverage).2-The coverage radius of the cell phone tower increases as the signal strength of the tower is amplified (variable radius).3-Each mobile phone user receives signals from different cell phone towers with various strength levels.If a cell phone user fails to connect to the closest tower, he/she may connect to the next closest towers.In other words, in addition to the closest tower, other towers, with less probability, may become available to cover cell phone users (cooperative coverage).
In this paper, we study a special form of the maximal covering location problem, which considers gradual cover, variable radius, and cooperative cover assumptions.The proposed model of this paper is formulated as a mixed integer non-linear problem (MINLP) and the resulted problem is solved using some meta-heuristic method.
The rest of the paper is organized as follows.In section 2, the problem is described and formulated.Section 3 describes the proposed solution method which is based on simulated annealing algorithm.
The SA approach is applied to solve the generated test problems in Section 4. Finally, Section 5 summarizes the contribution of the paper.

Problem description and formulation
This section presents the mathematical formulation of the problem, which considers gradual coverage, variable radius and cooperative coverage, simultaneously.Suppose that J is the set of candidate locations to locate the facilities.Also, assume that the demand points and candidate locations to locate the facilities are the nodes of network G.Given an available budget, the goal of the model is to determine the numbers, the locations and the size and the coverage radius of each facility to maximize the total weighted covered demand points.The following notations are used to formulate the problems: if the distance between customer i and facility j is less than the initial coverage radius of the facility if the distance between customer i and facility j is between the initial and secondary coverage radius of the facility if the distance between customer i and facility j is greater than the secondary coverage radius of the facility otherwise In the proposed model, each facility must cover all assigned customers; thus, the coverage radius of the established facility is equal to the farthest demand point assigned to the facility: There are two types of fixed, F j , and variable costs, ( ) j r ϕ associated with the establishment of a facility j with coverage radius r.Berman et al. (2009) have proposed different types of variable cost functions.Thus, total cost to located facilities is as follows, ). ( ϕIt is assumed that each facility emits a signal with strength l j .All customers within the initial coverage radius of the facility receive the signal, completely.Moreover, customers between the initial and the secondary coverage radius of the facility receive partial signals and finally, customers who are located outside the secondary coverage radius of the facility receive no signal.A customer is considered covered if the total amount of received signals from all located facilities is greater than a specified threshold (T i ).The secondary coverage radius (r j ) of each facility is defined according to the distance of farthest allocated customer to the facility.If a j is a percentage of coverage radius of facility j in which all of the customers completely receive signals emitted by facility j, a j r j would be the initial coverage radius of facility j.Furthermore, customers who are between the initial and secondary radius of facility j partially receive signals from the facility.The amount of signals received by each customer is a function of the distance between the customer and the facility.This function is called the coverage function.Different types of coverage functions can be found in the literature.One of the simplest kinds of these functions is the linear one, which is defined as follows, ( ) , , Therefore, we can formulate the covering facility location problem with gradual coverage, variable radius and cooperative coverage as follows, (1) max , (1 ) , , , , (1 ) , , The objective function (1) maximizes the weighted sum of covered demand points.Constraint (2) gives the available budget constraint.In other words, total establishing cost of facilities, which includes fixed and variable costs must be equal or less than the available budget.Constraint (3) ensures that the coverage radius of facility j must be equal or greater than the farthest allocated customer to the facility.Constraint (4) states that if demand point i is allocated to facility j, the facility in location j must be established.Constraint ( 5) and ( 6) ensure that if the total amount of received signals by the customer i from the located facilities is greater than the threshold value, then the customer is considered covered ( 1 i p = ) and otherwise the customer is uncovered ( 0 i p = ).Note that when 1 ij Z = , demand point i completely receives signal emitted by facility j while when only a portion of the signal from facility j is received.Moreover, when 1 ij Z ′′ = , customer i receives no signal from facility j.Constraint ( 7)-(10) impose that if the distance between demand point i and facility j is less than the initial coverage radius of facility j Also, if the d ij is between the initial coverage radius and the secondary coverage radius of facility j ( Z Z′ , and Z ′′ equals to 1 for each i and j.Finally, constraint ( 12) and (13) determine the type and range of the variables.Since the maximal covering location problem is NP-hard and the proposed model of this paper is an extension of MCLP where three covering assumptions are relaxed, we can conclude that the proposed model is NP-hard.Therefore, exact algorithms can reach the solution in reasonable time only for small size problems.Therefore, heuristic and meta-heuristic methods are normally implemented to deal with medium and large-scale problems.In this paper, we present a new simulated annealing (SA) algorithm to solve the proposed problem and the results are compared with some upper bounds in order to measure the efficiency of the resulted problem.

Simulated annealing algorithm
Simulated annealing (SA) is one of the well known algorithms which is inspired from physical annealing of solids.It was first introduced by Kirkpatrick (1983) to solve large combinatorial optimization problems.SA attempts to escape from the local optima by probabilistically choosing non-improving solutions.The following summarizes the characteristics of SA algorithm.

3.1.Solution representation
The first step to implement a meta-heuristic algorithm is to encode solutions of the problem such that the operators of the algorithm can be performed on.A two dimensional array with 2 rows and n columns is used to represent the solutions.The first row consists of binary numbers where 1 represents established facility.The second row is filled by integer numbers from 1 to n and represents the last customer which is allocated to an established facility.This number determines the covering radius of the facility.Fig. 3 shows a solution of a six-node problem.For instance, the value in the second row of the solution for facility 3 is 5 which means the coverage radius of facility 3 is d 35 .

Initial solution
The quality of solutions using meta-heuristic algorithms highly depends on the quality of the initial solution.In the proposed algorithm, the initial solution is generated as follows: first, the alleles in the first row of the solution are set to 1 with the probability p; otherwise, 0.The value of parameter p depends on the number of nodes of the network, the cost of established facility and the available budget.In the second step, the second row of the solution is filled with random numbers from 1 to n where the corresponding allele in the first row is 1.

Neighborhood search strategy
New solution is generated by altering the elements of current solution.A two-step procedure is used to obtain a new neighbourhood solution.
a) Altering the alleles of the first row: two facilities are randomly selected and if they are both located facilities (the alleles are 1), both are moved to the closed facilities (1 change to 0).If both alleles are 0, then they are changed to 1, and finally, if one allele is 1 and the other is 0, then the values are exchanged.For instance, if facilities 2 and 3 are selected, after the first step we have: Altering the alleles of the second row: to complete the process of neighborhood solution generation, the alleles in the second row of the current solution where the corresponding alleles in the first row are 1 (located facilities) are changed k times.This change is performed by filling the second row with randomly generated numbers from 1 to n.As a result, k new solutions with different coverage radius are obtained for the solution yielded from the previous step.At last, the solution with the best objective function value is selected as the new solution.Note that k is a parameter which is determined according to the size of the problem.

Fitness function evaluation
The following fitness function is used based on the objective function of the proposed model, 1-Calculate the value of , , ij b i j N ∀ ∈ , using the following formula, ( ) ).Thus, the fitness function value of solution P is calculated as ( )

Feasibility of solutions
Available budget constraint may impose infeasibility to the solutions of the algorithm; in other words, total establishing cost of facilities exceed available budget.The following procedure assures the feasibility of the solutions.In the current solution, without any changes to the first row of the solution, the second row is filled with random numbers from 1 to n where the corresponding allele in the first row is 1.This process is performed M times where M depends on the dimensions of the problem and for each altered solution, the established cost is calculated to examine the feasibility of the solution ( ( ) ).When a feasible solution is generated, the solution is accepted.
Otherwise, it can be concluded that there is no feasible solution with the current number of established facilities.Thus, one of 1s in the first row is changed to 0, randomly.This process continues until one feasible solution is obtained.

SA algorithm
Set the temperature 0 T T = .Generate an initial solution and calculate its objective function value ( ) Set the best found solution to ( )

Data set generation
To compare the results of the proposed algorithm, a set of random problems are generated.The coordination of each node of the network is selected randomly using U (5,30) distribution.Furthermore, the distance between nodes is calculated using the Euclidean distance type.Also, the weight of each node (w i ) is generated randomly between 10 and 100.The cost of establishing each facility is a random number between 200 and 400 for fixed cost and 10 and 20 for variable cost, respectively.Finally, variable establishing cost function of facilities is assumed to be c j r ( ( ) ).

Parameter setting
The performance of SA algorithm highly depends on the values of parameters of the algorithm.

Conclusion and future research
In this paper, we developed the maximal covering location problem which combines the characteristics of the gradual cover, cooperative cover, and variable radius models.This is one of the most important problems in location analysis because of its widespread real-world applications.The problem investigated in this paper was formulated as a MINLP.Since the complexity of the presented problem is NP-Hard, a meta-heuristic method based on simulated annealing algorithm was used to solve the proposed problem.The results show that the proposed method reaches near optimal solutions in reasonable amount of time.For further research, one can use other meta-heuristic methods to solve the problem and compare the results with the results of this paper.
Fig. 1 shows a stepwise coverage function with break points R 1 , R 2 and R 3 .Berman et al. (2003) studied the gradual model using general linear non-increasing coverage function in discrete and network version.This function is shown in Fig. 2. Eiselt and Marianov (2009) extended the gradual covering problem in the framework of set covering location problem.Berman et al. (2009) proposed the ordered gradual cover location problem (OGCLP) which combines the characteristics of gradual cover and ordered median models.Finally, Drezner et al. (2010) incorporated uncertainty in coverage radius in gradual cover models.2-Cooperative cover models: when an individual coverage assumption is relaxed, all of the established facilities may have an effect on coverage of a demand point.In other words, consider a case where each facility emits a signal.The amount of signal received by each customer from each facility is determined based on the distance between the facility and the customer.Thus, the total amount of signals received by each customer is the sum of signals received from all of the facilities.A customer is considered covered if the total amount of received signals is greater than a predefined threshold.Berman et al. (2010) recently proposed this concept for both maximal covering location problems and location set covering problems in plane for the Euclidean distance case.

Fig. 1 .
Fig. 1.The stepwise coverage function Fig. 2. The linear coverage function coverage radius of facility j in which all of the emitted signal by facility j and finally, if the d ij is greater than the secondary coverage radius of facility j ( the move to p ′ and go to step 2d, (c) If 0 F Δ ≤ perform the move to p ′ with probability step 2e, Otherwise retain p and go to step 2e (d) If( )  F p ′ is better than the best found solution, update the best found solution (best found solution is the result of the algorithm.

Fig. 4 Fig. 4 .
Fig. 4 shows the improvement of solutions after adjusting each parameter.In this Figure, initial value is where the parameters are in the lowest levels.By setting each parameter, the algorithm achieves better solutions with respect to their objective function values.

Table 2
Parameter setting results for initial temperature

Table 3
Parameter setting results for α