Abstract
Let weighted points be given in the plane . For each point a radius is given which is the expected ideal distance from this point to a new facility. We want to find the location of a new facility such that the sum of the weighted errors between the existing points and this new facility is minimized. This is in fact a nonconvex optimization problem. We show that the optimal solution lies in an extended rectangular hull of the existing points. Based on this finding then an efficient big square small square (BSSS) procedure is proposed.
1. Introduction
In this paper we introduce a new version of single facility location problem. Let points, called facilities, be given in the plane . The classical single facility location problem asks to find the location of a new facility such that the sum of the weighted distances from all facilities to the new one is minimized.
We consider a special single facility location problem such that each point has a relevant radius which is the ideal distance between the new facility and the point . For example, if for and all points lie on the circumference of a circle with radius then center of this circle is optimal solution. Unfortunately in countless instances does not exist the location of a new facility such that its distance to each point is exactly . So we try to minimize the sum of the weighted square errors.
It is necessary to note that this problem differs from the covering problem which asks to find the minimum number of facilities such that the distance from any point to the closest facility is less than or equal to (see Mirchandani and Francis [1]). Another problem which may be thought to be near to our consideration is the problem of finding a circle closest to the demand points. This problem is considered by Drezner et al. [2] and Brimberg et al. [3] which differs from our considered problem.
In what follows at first the problem formulation is presented in Section 2. Next in Section 3 it is shown that the problem is not convex and optimal solution lies in an extended rectangular hull of the existing facilities. Finally in Section 4 an efficient big square small square method is employed to solve the problem.
2. Problem Formulation
Let points , be given in the plane . The coordinates of point are corresponded to the position of a client where its weight and radius are and , respectively. The radius is a given ideal distance between and the new facility. The distance between any two points and is denoted by . Let be the square error between points and . The problem asks to find the location of a point such that the sum of the weighted square errors over all points is minimized, that is:
As an application of this problem consider finding the location of a company in the vicinities of some cities with respect to the establishing and transportation costs. Suppose that cost of establishing a facility in the regions that are farther than a given distance is very low. On the other hand a move away from a city causes that the transportation cost increases. Therefore a tradeoff between establishing and transportation costs seems to be reasonable. This problem has many other applications such as locating of powerhouses, stadiums, warehouses, dump sites, and other facilities that have both desirable and undesirable attributes. For instance, in the problem of locating powerhouses we want to find the location of a facility which is not to be closer than a specified distance to the population centers, because of increasing the risk of miscarriages. On the other hand, if the facility is so far from the population centers, cost of providing security, human forces, transportation installation, and other costs will increase.
3. Model Properties
In this section we pose some properties of the problem. Suppose that the distances in the plane are measured by norm. The following example shows that the problem () is nonconvex.
Example 3.1. Consider the point with relevant radius . Then its square error function is The point is a convex combination of two points and whereas therefore is nonconvex.
Note in the case that for the model () becomes which is a convex function. The optimal solution of this problem is given with the following equations: which is called the center of gravity (see, Love et al. [4]).
Since () is a minisum problem, one may guess that the optimal solution lies in the convex hull of demand points but small example with two points and different radius shows that it is not true. Example 4.2 also satisfies this claim. In the following we would show that the optimal solution of the problem () must lie in an extended rectangular hull of the existing points. The rectangular hull of a set of points is defined as the smallest rectangle (with sides parallel to the and axes) containing the set.
Definition 3.2. Let be points in the plane. We define the new points , , , and whose coordinates are
Lemma 3.3. Let be given points in the plane. The rectangular hull of the points which are defined as Definition 3.2, contains the optimal solution of the problem ().
Proof. Let be the rectangular hull of the points , and , and let be a point out of . We would show that is not optimal. The proof is provided for the case ; the other cases can be proved as the same. Let ; we show . For any demand point the following inequality is held: Therefore since , then So cannot be an optimal solution and the proof is completed.
As we showed that the objective function of problem () is nonconvex, therefore using the methods of convex optimization to solve this problem is useless; hence we employ a heuristic method which is appropriate for our problem and give a global optimal solution with arbitrary accuracy. In the next section we introduce this method which is called big square small square (BSSS).
4. Big Square Small Square Algorithm
The big square small square (BSSS) method is a geometrical branch and bound algorithm originally suggested by Hansen et al. [5] to solve obnoxious facility location problem. The idea is to divide the plane into regions (squares), over each of which a lower (upper) bound for the problem is found. If the objective over a given square is worse than an existing upper (lower) bound, then that square is fathomed. The procedure continues until a prescribed tolerance is achieved. Another version of BSSS is later discussed by Hansen et al. [6]. Plastria [7] also presents a modified version of this algorithm. This approach has been used by McGarvey and Cavalier [8] to solve location problems with barrier and forbidden regions. More recently they have applied this method to find the location of competitive facilities [9]. Zaferanieh et al. [10] used this method to solve a single facility location problem in a special case that the plane has been divided into two regions with different norms by an straight line; here we also apply the BSSS algorithm to solve our problem.
By Lemma 3.3 we know that the optimal solution lies on the rectangular hull of , and . Based on this finding we employ the BSSS algorithm to obtain the optimal solution. At first the algorithm divides the rectangular hull, , into four subrectangles, , and , by drawing the lines parallel to and axes through the middle of its sides. Then the algorithm selects a subrectangle for which its lower bound is the smallest. And a subrectangle for which the lower bound exceeds the value of the best known solution is fathomed. The process continues until the larger side of the subrectangle is less than the given tolerance, .
The rectangle is in fact an indicator of all the points inside it. The error of point and rectangle is considered instead of the errors of and the points inside . The error of a point and a rectangle is taken to be the square of distance between boundary of circle with center and radius and rectangle . Note that since is closed and convex, such point indeed exists.
For a usual implementation process of the BSSS algorithm the distance between points inside a rectangle is taken to be zero (see McGarvey and Cavalier [8, 9] and Zaferanieh et al. [10]) but in our approach the error value in this case is positive or zero. First let with relevant radius be a point inside a rectangle. Two cases maybe occurred; if the circle with center and radius envelops the rectangle , then the error is calculated as see Figure 1(a), where dash line shows the error. Otherwise, that is, when the circle crosses the circumference or lies inside a rectangle, the error is taken to be zero; see Figure 1(b).
(a)
(b)
To provide convincing explanation note that the rectangle which is employed to calculate lower bound originally can be considered as an extensive facility. And locating a facility on the boundary of a circle is ideal because the error does not occur. So in Figure 1(b) if all of a circle lies inside a rectangle or a circle crosses rectangle, then there is a point which lies on the area of rectangle and on the boundary of circle; consequently the error is zero.
Now let be a point with radius outside the rectangle . If the circle with center and radius crosses the rectangle , then obviously the error is zero. Otherwise the error is calculated according to the following equation: where is the boundary of . Note that the point that minimizes (4.2) could be either a corner point of or a projection of onto ; see Figure 2.
(a)
(b)
The outline of the BSSS algorithm is described below. It is in essence similar to the one presented by McGarvey and Cavalier [8]. The output of algorithm is the approximated optimal solution.
Algorithm 4.1. Find with respect to the Definition 3.2 and set the rectangular hull of them.
Set , (the best objective value obtained yet), and let
Set , and divide into four equal subrectangles , and .
Calculate the objective value, , at the midpoint of each subrectangle. If , then update with this value.
Calculate the lower bound value for each subrectangle, that is, , . If , fathom and set .
(6) Set and If , go to step ; else if , go to step ; else set ; fathom , set , and go to step .
If , set , define as the center of subrectangle , and fathom this rectangle.
Set ; if , go to step ; else if unfathomed subrectangle at level are found choose the one with the most favorable ; denote it as and return to step . Else repeat step .
Terminate the algorithm with the new facility location and having the objective function value .
4.1. Computational Results
In this section we show the efficiency of BSSS algorithm by giving four examples. The first example is small and contains just four points. We give this example to compare the results of BSSS algorithm with those obtained by LINGO software and show that while the NLP solver software may trapped on a local optimum, the BSSS method could be an appropriate method. The second and third examples are presented with the coordinates, weights, and radius of points to make it possible to compare the obtained results of this method with other methods in the future works. And finally the last one which contains more points is presented to become the CPU time of BSSS method comparable with other methods.
The above algorithm was written in MATLAB and run on a PC with Pentium IV processor and 1 GB of RAM and CPU with 2 GHz. The tolerance for all the problems was taken to be and the results are shown with two decimal points of accuracy.
Example 4.2. The first example contains four points , and . The relevant weights for all the points are taken to be 1. The results those obtained by BSSS method and LINGO software are given in Table 1. The CPU time of LINGO software for three cases is zero; however in the first and second cases it could not find the global minimum.
As the results show that the solutions in the second and third cases do not lie on the convex hull of existing points, however as we expected, they are inside the extended rectangular hull of these points. Figures 3 and 4 show two perspectives of objective function in the first and third cases, respectively. As figures show objective functions are not convex.
(a)
(b)
(a)
(b)
Example 4.3. The second example contains 18 points which are randomly generated and are presented in Table 6. The results are given in Table 2. The column under heading radius in this table indicates the relevant radius of points. The case 1, case 2, and case 3 indicate the first, second, and third components of the column under heading radius in Table 6, respectively, that are taken as the radius of points.
Example 4.4. As the third example we consider a problem with 30 points. The relevant data and results are given in Tables 7 and 3, respectively. The column under heading radius in Table 3 indicates the radius as described in Example 4.3.
Example 4.5. Finally we consider the problems with points. The points and their weights and radius all are integers and randomly generated in the intervals , and , respectively. The problems with 100–500 points contain the points of smaller problems. Table 4 shows the results.
In order to be able to make a better judgment about the efficiency of the proposed algorithm we have tried to solve the problems in Example 4.5 with radius equal to zero for all the points. As we mentioned before the optimal solution of the problem in this case is the center of gravity that is obtained by (3.4). The results are shown in Table 5.
5. Summary and Conclusion
We considered the problem of finding the location of a single facility such that the sum of the weighted square errors over all points is minimized. We showed that the problem in general is nonconvex and then proved that the optimal solution lies in an extended rectangular hull of the existing points. Based on this finding then a big square small square (BSSS) was applied to solve the problem.
Other nonconvex solver methods such as big triangle Small triangle (BTST) method of Drezner and Suzuki [11] can be used to solve this problem which may results in better solutions.
Appendix
Acknowledgment
The authors would like to express their sincere gratitude to the anonymous referees for their careful reading of the manuscript and their constructive comments which resulted in the improvement of the paper.