A robust and efficient algorithm for planar competitive location problems

3 downloads 68786 Views 220KB Size Report
Feb 14, 2006 - [3, 13]) or the well known p-center problem (see [7, 27]), to name a few. ... and the Weiszfeld-like algorithm can, in the best case, find a local optimum only. ... particular cluster is not a fixed part of the search domain; it can move ... of customers is probabilistic, that is, demand points split their buying power ...
A robust and efficient algorithm for planar competitive location problems J.L. Redondo1 , J. Fern´andez∗2 , I. Garc´ıa1 , P.M. Ortigosa1 February 14, 2006 Abstract In this paper we empirically analyze several algorithms for solving a Huff-like competitive location and design model for profit maximization in the plane. In particular, an exact interval branch-and-bound method and a multistart heuristic already proposed in the literature are compared with uego (Universal Evolutionary Global Optimizer), a recent evolutionary algorithm. Both the multistart heuristic and uego use a Weiszfeld-like algorithm as local search procedure. The computational study shows that uego is superior to the multistart heuristic, and that by properly fine-tuning its parameters it usually (in the computational study, always) find the global optimal solution, and this in much less time than the interval branch-and-bound method. Furthermore, uego can solve much larger problems than the interval method. Keywords: Continuous location, Competition, Weiszfeld-like algorithm, Heuristic, Evolutionary algorithm, Computational study.

1

Introduction

Continuous location theory is very vast. Since the pioneering works of Weber [33] in 1909 and Weiszfeld [34] in 1937, the literature on that topic has always been increasing, specially since the 70s, till the point that it has now its own entry (90B85) in the Mathematics Subject Classification used by Mathematical Reviews and Zentralblatt f¨ ur Mathematic. Whereas some of the continuous location models are easy to solve (like, for instance, the classical Weber problem), other more realistic models lead to global optimization problems which are very hard to solve. Some types of those difficult problems are the location of undesirable facilities (see [9, 10]), competitive location models (see [3, 13]) or the well known p-center problem (see [7, 27]), to name a few. Many and diverse global optimization techniques have been proposed to cope with those difficult problems. Among the deterministic methods, the branch-and-bound algorithms have been the most used, like for instance the Big Square Small Square (BSSS) method [21], the Generalized BSSS [29], the Big Triangle Small Triangle (BTST) [8] or interval branch-and-bound methods [10, 12, 13], although other techniques, like the outer approximation (which makes use of the D.C. representation of the objective function, see [32]), have proved to be a good alternative to solve some problems. See [19] for a review of other deterministic global optimization techniques applied to location problems. However, in some cases those exact algorithms are unable to solve some problems: either they are too slow or the computer runs out of memory. Thus, heuristic procedures have to be developed to solve those problems. Usually, researchers propose ad-hoc heuristics for the specific problem they are handling (see [2, 6, 13, 27]) although well known meta-heuristics, such as tabu search [14], simulated annealing [24], genetic algorithms [15], or variable neighborhood search [20] have also been applied to different location problems (see [1, 6, 23, 28]). In this paper we deal with the competitive facility location problem presented in [13]. In that paper, the authors present an ad-hoc heuristic for solving the problem, which is a Weiszfeld-like algorithm. However, the problem is a global optimization one (it may contain many local optima) ∗ Correspondence to: Jos´ e Fern´ andez Hern´ andez, Facultad de Matem´ aticas, Universidad de Murcia, 30100 Espinardo, Murcia, Spain. 1 Dpt. Computer Arquitecture and Electronics, University of Almer´ ıa, Spain. 2 Dpt. Statistics and Operations Research, University of Murcia, Spain.

1

and the Weiszfeld-like algorithm can, in the best case, find a local optimum only. Thus, a simple multi-start procedure is proposed as heuristic to find a good solution. A similar strategy has also been proposed for other continuous competitive facility location problems (see [2, 3, 5]). The multistart Weiszfeld-like algorithm usually provides good solutions, but it cannot guarantee that the global solution has been found. An interval branch-and-bound algorithm presented in [13] can solve the problem with reliability, but it is time-consuming. One of the aims of this paper is to carry out a comprehensive computational study to analyze the quality of the solutions provided by the multistart Weiszfeld-like algorithm as well as the size of the problems that can be solved by the interval branch-and-bound method. The second purpose of this paper is to evaluate the performance of uego, a recent meta-heuristic proposed in the literature [26], as an alternative procedure for solving the competitive location problem. uego (Universal Evolutionary Global Optimizer) is an evolutionary multimodal optimization algorithm. In multimodal optimization, the optimizer should discover the structure of the local optima to reach the global optimum. Time should thus be spent in discovering new and promising regions rather than exploring the same region multiple times. uego uses a non-overlapping set of clusters which define sub-domains of the search space. As the algorithm progresses, the search process can be directed toward smaller regions by creating new sets of non-overlapping clusters defining smaller sub-domains. This process is a kind of cooling method similar to simulated annealing. A particular cluster is not a fixed part of the search domain; it can move through the space as the search proceeds. The non-overlapping property of the set of clusters is maintained, however. uego is abstract in the sense that the ‘cluster-management’ and the cooling mechanism have been logically separated from the optimization algorithm. Therefore, any kind of optimizer can be used as the optimizer to work inside a cluster. In previous works we have successfully used the stochastic hill climber sass [31] as local optimizer. Some of the real applications solved by uego using sass have been the detection of deformable objects in digital images [16] and the image translational alignment in electron microscopy [30]. However, for the location problem considered in this paper we have found that this local optimizer does not successfully find the optima, so the Weiszfeld-like algorithm has been implemented as local optimizer. Its use within uego provides better results. As the computational studies show, the combination uego+Weiszfeld is a robust and efficient global optimization algorithm, able to find the global optimum in a small amount of time. Having such a procedure, fast and reliable, is important for solving the problem at hand, but also as a tool for coping with other more complex related problems, such as the centroid problem [17]. The paper is organised as follows. The location model and the Weiszfeld-like algorithm are presented in Section 2. The following section describes the meta-heuristic uego. In Section 4 we present a computational study to analyze the performance of the different algorithms. The paper ends in Section 5 with some conclusions and directions for future research.

2

A planar competitive location and design model and a Weiszfeld-like algorithm

In this paper we consider the planar competitive location and design problem introduced in [13]. For the sake of completeness, we briefly describe it next. For more details, the interested reader is referred to [13]. A chain wants to locate a new single facility in a given area of the plane, where there already exist m facilities offering the same good or product. The first k of those m facilities belong to the chain. The demand, supposed to be inelastic, is concentrated at n demand points, whose locations pi and buying power wi are known. The location fj and quality of the existing facilities is also known. The following notation will be used throughout this paper:

2

x α n pi wi m fj k dij dix αij gi (·) αij gi (dij ) γi γi α gi (dix ) M (x, α) F (M (x, α)) G(x, α) Π(x, α) dmin i αmin αmax S

location of the new facility, x = (x1 , x2 ). quality of the new facility (α > 0). number of demand points. demand points (i = 1, . . . , n). demand (or buying power) at pi . number of existing facilities. existing facilities (j = 1, . . . , m). number of existing facilities that are part of one’s own chain (the first k of the m facilities are assumed in this category, 0 ≤ k < m). distance between demand point pi and facility fj . distance between demand point pi and the new facility x. quality of facility fj as perceived by demand point pi . a non-negative non-decreasing function. attraction that demand point pi feels for facility fj . weight for the quality of x as perceived by demand point pi . attraction that demand point pi feels for the new facility x. market share captured by the chain. expected sales obtained by the chain. operating costs of the new facility. profit obtained by the chain. minimum distance from pi at which the new facility can be located. minimum level of quality. maximum level of quality. region of the plane where the new facility can be located.

We assume that gi (dij ) > 0 ∀i, j. Following [22], we consider that the patronising behaviour of customers is probabilistic, that is, demand points split their buying power among the facilities proportionally to the attraction they feel for them. The attraction that a demand point feels for a facility depends on both the location of the facility and its quality (as perceived by the demand point). By these assumptions the market share captured by the chain is k

M (x, α) =

n X i=1

wi

X αij γi α + gi (dix ) j=1 gi (dij ) m

X αij γi α + gi (dix ) j=1 gi (dij )

.

and the problem to be solved is then  max Π(x, α) = F (M (x, α)) − G(x, α)    s.t. dix ≥ dmin ∀i i α ∈ [α , α  min max ]   x ∈ S ⊂ R2

(1)

where F (·) is a strictly increasing differentiable function which transforms the market share into expected sales, G(x, α) is a differentiable function which gives the operating cost of a facility located at x with quality α, and Π(x, α) is the profit obtained by the chain. The parameters dmin > 0 and i αmin > 0 are given thresholds, which guarantee that the new facility is not located over a demand point and that it has a minimum level of quality, respectively. The parameter αmax is the maximum value that the quality of a facility may take in practice. By S we denote the region of the plane where the new facility can be located. In this paper we assume the function F to be linear, F (M (x, α)) = c · M (x, α), where c is the income per unit of good sold. We also assume G to be separable, of the form G(x, α) = 3

Pn G1 (x) + G2 (α), where G1 (x) = i=1 Φi (dix ), with Φi (dix ) = wi /((dix )φi0 + φi1 ), φi0 , φi1 > 0 and α G2 (α) = e α0 +α1 − eα1 , with α0 > 0 and α1 given values. Other possible expressions for F and G can be found in [13]. The 3-dimensional function Π is neither concave nor convex, and may have several local optima. In [13], a local optimization method is presented, which is a modification of the Weiszfeld-like algorithm presented in [2] (see also [5]), adapted to include the quality α as a decision variable, and for handling the constraints. If we denote y = (x, α), we call ri =

m X j=1

αij , gi (dij )

ti = wi

m X

j=k+1

αij gi (dij )

and Hi (y) =

dF dΦi ∂Π αγi ti gi′ (dix ) = + , · ∂dix dM (γi α + ri gi (dix ))2 ddix

and dix is a distance function such that ∂dix = x1 Ai1 (x) − Bi1 (x), ∂x1 where Ai1 (x) and Bi1 (x) are functions of x, then the Weiszfeld-like algorithm for solving (1) is as follows (for more details see [13]): Algorithm 1 (0)

(0)

(r+1)

, x2

1. Begin with a starting vector y (0) = (x1 , x2 , α(0) ). Set iteration counter r = 0. 2. Calculate the next iterate y (r+1) = (x1

(r+1)

x1

=

(r+1)

, α(r+1) ) as follows:

n X

Hi (y (r) )Bi1 (x(r) )

n X

Hi (y (r) )Ai1 (x(r) )

n X

Hi (y (r) )Bi2 (x(r) )

n X

Hi (y (r) )Ai2 (x(r) )

i=1

i=1

(r+1)

x2

=

i=1

i=1

and α(r+1) as a solution of the equation n dF X γi ti gi (dix(r+1) ) dG2 − · =0 2 dM i=1 (γi α + ri gi (dix(r+1) )) dα

(2)

3. If y (r+1) is infeasible then set y (r+1) equal to a point in the segment [y (r) , y (r+1) ] which is on the border of the feasible region. 4. If the distance between the consecutive iteration vectors y (r) and y (r+1) is less than a given tolerance or r > rmax then STOP: accept y (r+1) as a potential local maximum. Else set r = r + 1 and go to step 2.

4

(r)

(r)

For the first stopping criterion in Step 4, we have stopped the algorithm if k(x1 , x2 ) − (r+1) (r+1) )k2 < ǫ1 and |α(r) − α(r+1) | < ǫ2 , for given tolerances ǫ1 , ǫ2 > 0. The second stopping , x2 (x1 criterion, setting a maximum number of iterations rmax , is necessary because the convergence of the algorithm cannot be guaranteed. It is important to note that the Weiszfeld-like algorithm described in Algorithm 1 is a local procedure. Thus, in the best case, the algorithm ends at a local maximum (not necessarily at the global one). Thus, in order to have a good chance at finding the optimal solution, one should apply the algorithm repeatedly using different starting points in Step 1, and then select the solution that obtains the maximum profit. However, this still does not guarantee that a global optimal solution has been found. In [13] it is proposed to use that multi-start technique starting from 100 or 1000 different points. The corresponding algorithms will be called throughout MW100 and MW1000, respectively. In that paper an interval branch-and-bound algorithm is also proposed for solving (1). That method always determines an enclosure of all the globally optimal solutions within a pre-specified precision. However, it is very time-consuming, and it can only solve small to medium size problems. Next, we present another procedure which, although heuristic, is rather robust, in the sense that it usually (in the computational studies, always) find the global optimum. Furthermore, its running times are competitive with MW1000 for small to medium size problems, and it can handle big size problems without difficulties.

3 3.1

Using uego for solving the problem Description of uego

A key notion in uego is that of a species. A species is equivalent to an individual in a usual evolutionary algorithm. A species can be thought of as a window on the whole search space (see Figure 1). This window is defined by its center and a radius, where the former is a feasible point.

Figure 1: Concept of species This definition assumes a distance defined over the search space. The role of this window is to ‘focus’ the optimizer that is always called by a species so that it can ‘see’ only its own window, so every new sample is taken from there. This means that any single step made by the optimizer in a given species is no larger than the radius of the given species. If the value of a new solution is better than that of the old center, the new solution becomes the center and the window is moved while it keeps the same radius value (see Figure 1). The radius of a species is not arbitrary; it is taken from a list of decreasing radii, the radius list, that follows a cooling schedule. The first element of this list is the diameter of the search space. If the radius of a species is the ith element of the list, then the level of the species is said to be i. Given the smallest radius and the largest one (rl and r1 ), the radii in the list are expressed by the exponential function   i−1 rl l−1 ri = r1 (i = 2, . . . , l). r1 The parameter levels indicates the maximal number of levels in the algorithm, i.e. the number of different ‘cooling’ stages. Every level i (with i ∈ [1,levels]) has a radius value (ri ) and two maxima on the number of function evaluations, namely newi (maximum number of function evaluations 5

allowed when creating new species) and ni (maximum number of functions evaluations allowed when optimizing individual species). During the optimization process, a list of species is kept by uego. This concept, species-list, would be equivalent to the term population in an evolutionary algorithm. uego is in fact a method for managing this species-list (i.e. creating, deleting and optimizing species). The maximal length of the species list is given by max spec num (maximum population size). 3.1.1

Input parameters

In uego the most important parameters are those defined at each level: the radii (ri ) and the maximum number of function evaluations for species creation (newi ) and optimization (ni ). These parameters are computed from some user-given parameters that are easier to understand: evals (N ): The maximal number of function evaluations for the whole optimization process. Note that the actual number of function evaluations is usually less than this value. levels (l): The maximum number of levels (i.e. cooling stages). max spec num (M ): The maximum length of the species list or the maximum allowed population size. min r (rl ): The radius that is associated with the maximum level, i.e., levels. The reader is referred to [26] for an in-detail description of these input parameters and their relationship to the parameters at each level. 3.1.2

The algorithm

The uego algorithm has the following structure: Algorithm 2 Begin uego Init species list Optimize species(n1 ) for i = 2 to levels Determine ri , newi , ni Create species(newi /length(species list)) Fuse species(ri ) Shorten species list(max spec num) Optimize species(ni /max spec num) Fuse species(ri ) end for End uego In the following, the different key stages in the algorithm are described: Init species list: A new species list consisting of one species with a random center at level 1 is created. Create species(evals): For every species in the list, random trial points in the ‘window’ of the species are created, and for every pair of trial points the objective function is evaluated at the middle of the segment connecting the pair (see Figure 2). If the value in the middle point is worse than the values of the pair, then the members of the pair are inserted in the species list. Every newly inserted species is assigned the current level value (i). As a result of this procedure the species list will possibly contain several species with different levels (hence different radii). The motivation behind this method is to create species that are 6

generate random points For every member do

C1

r1

C2

r2

Cn

rn

M2AB

P1A

ri

M2AC

P1B

ri

check middle points P1A M1AB P1B

C1

r1

C2

r2

M1AC

P1C

P1D M.... P1E

P2A

added on

P2B Cn

rn

level i P2C

Initial species-list at level i

Final species-list level i

P1A

P1B

M1AB

x

at

x

x

x x x

C3

x C4

x x

x

x x

x

x x

C1

x PA

x

MAB

PB

C2

x x

if middle point is worse, then separate PA & PB new species

Figure 2: Creation procedure center radius

r2

to highest point (C1) to largest radius (r2)

r2

r1 C1

C2

C1

Figure 3: Fusion procedure

on different ‘hills’ so ensuring that there is a valley between the new species. The parameter of this procedure (evals) is an upper bound of the number of function evaluations. Note that this algorithm needs a definition of segment in the search space. In terms of genetic algorithms, it could be thought that, in this procedure, a single parent (species) is used to generate offspring (new species), and all parents are involved in the procedure of generating offspring. Fuse species(radius): If the centers of any pair of species from the species list are closer to each other than the given radius, the two species are fused (see Figure 3). The center of the new species will be the one with the better function value while the level will be the minimum of the levels of the original species (so the radius will be the largest one). Shorten species list(max spec num): It deletes species to reduce the list length to the given value. Higher level species are deleted first, therefore species with larger radii are always kept. For this reason one species at level 1 whose radius is equal to the diameter of the search domain always exists, making it possible to escape from local optima. Optimize species(budget per species): It executes the optimizer (in this paper, Algorithm 1) for every species with a given number of evaluations (budget per species) (see Figure 1). At level i, the budget per species is computed as ni /max spec num, i.e., it depends on the maximum species number or maximum population size. Note that uego may terminate simply because it has executed all of its levels. The final number of function evaluations thus depends on the complexity of the objective function. This is qualitatively

7

different from genetic algorithms, which typically run up to a limit on the number of function evaluations.

3.2

The Weiszfeld-like algorithm as local optimizer in uego

The Weiszfeld-like algorithm described in Algorithm 1 is used here as local optimizer. This algorithm is used during the Optimize species process where uego tries to optimize every species from its species list. Therefore, in this process, every species calls once the Weiszfeld-like algorithm, using the center of the caller species as initial point. The Weiszfeld-like algorithm finishes when one of the stopping criteria of Algorithm 1 is satisfied or when the number of function evaluations made is greater than the budget assigned to each species (ni /max spec num). If during the execution of the Weiszfeld-like algorithm a new point with a better objective function is found, then this new point becomes the center of the species. As a consequence, at the end of the optimization process, the species from the species list can move toward the locations of the local optima.

3.3

uego parameter setting

In [26] an analysis of the effects of the different parameters of uego was made in order to obtain a robust parameter setting. From the experiments made in that work, it could be said that a robust parameter setting consists of a large enough number of levels (l), a small minimum radius (rl ), a sufficient maximum number of species (M ) and a large value of N in order to get a minimum budget per species which is sufficient in the optimization process. As an example of robust parameter setting for real problems defined in [0, 1]n domains, the setting l = 10, rl = 0.03, M = 50 or 100 and N = 1000000 is proposed in [26]. In that paper, some guidelines to fine-tune the parameters depending on the problem to be solved are also proposed. For instance, if the number of species found is small then we can use a smaller M , and a smaller N . In order to find a robust parameter setting for our competitive location problem we followed the guidelines given in [26]. Taking into account that in our problem the variables x1 and x2 are defined in the interval [0, 10] and α in [0.5, 5], we decided to increase the parameter rl . We know that uego does not get trapped in local optima only if the number of levels is high, following that the cooling process allows the algorithm to escape from local optima. Thus, for tuning the number of levels, we also increased the number of levels (l). As for the parameters N and M , we know that the number of function evaluations is limited by N and the number of detected species is limited by M . From [26] we also know that the number of detected species increases when M and l increase and rl decreases. Since each species had been assigned a certain maximum number of function evaluations (budget per species) in the optimization processes, the more species there are, the more function evaluations are consumed. We have been varying both parameters N and M and analyzing the precision of the solutions and the number of function evaluations and hence the computational time. For this reason we have different values for these parameters for executions of UEGOa, UEGOb and UEGOc defined in the next section. After extensive experiments we found that a good parameter setting for UEGOa is l = 15, rl = 0.25, M = 10 and N = 5000 and for UEGOb l = 15, rl = 0.25, M = 75 and N = 500000. After analyzing the results obtained for UEGOb, we have doubled the values of some parameters in order to obtain 100% of success at finding the global solution, and this is achieved with UEGOc, whose parameter setting is l = 30, rl = 0.005, M = 150 and N = 1000000.

4

Computational studies

All the computational results in this paper have been obtained under Linux on a Xeon IV with 2.4GHz CPU and 1GB memory. The algorithms have been implemented in C++. For the Interval B&B method we used the interval arithmetic in the PROFIL/BIAS library [25], and the automatic differentiation of the C++ Toolbox library [18].

8

4.1

The test problems

In order to have an overall view on the performance of the algorithms, we have generated different types of problems, varying the number n of demand points, the number m of existing facilities and the number k of those facilities belonging to the chain. In particular, we have generated both small as well as large size problems. The actual settings (n, m, k) employed in the small and in the larger problems can be seen in Tables 1 and 2, respectively. n m k S

2 0,1

50 5 0,1,2

100 10 2 5 0,2,4 0,1 0,1,2 ([0, 10], [0, 10])

10 0,2,4

Table 1: Settings of the small test problems

n m k S

50 0,15,30

5000 200 500 0,75,125 0,150,300 ([0, 70], [0, 70])

10000 50 200 500 0,15,30 0,75,125 0,150,300 ([0, 100], [0, 100])

Table 2: Settings of the larger test problems For every setting in Table 1, ten problems were generated by randomly choosing the parameters of the problems uniformly within the following intervals: • pi , fj ∈ S, • ωi ∈ [1, 10], • γi ∈ [0.75, 1.25], • αij ∈ [0.5, 5], Pn • G(x, α) = i=1 Φi (dix ) + G2 (α) where

• Φi (dix ) = wi (dix )φ1i0 +φi1 with φi0 = φ0 = 2, φi1 ∈ [0.5, 2] α

• G2 (α) = e α0 +α1 − eα1 with α0 ∈ [7, 9], α1 ∈ [4, 4.5] • c ∈ [1, 2], the parameter for F (M (x, α)) = c · M (x, α), p • b1 , b2 ∈ [1, 2], parameters for dix = b1 (x1 − pi1 )2 + b2 (x2 − pi2 )2 (see [11])

Similarly, for every setting in Table 2, five problems were generated. The searching space for every problem was x ∈ S, α ∈ [0.5, 5] The actual values of S can be found in Tables 1 and 2. The tolerances in all the algorithms were set to 10−4 .

4.2

Comparing the reliability and performance of the algorithms for small problems

In this section we have carried out a comprehensive computational study to compare the robustness and efficiency of the following algorithms: iB&B: the exact interval branch-and-bound algorithm described in [13]. 9

MW100: the heuristic multi-start Weiszfeld-like algorithm, in which Algorithm 1 is applied repeatedly using 100 different starting points. MW1000: similar to MW100, but starting from 1000 different starting points. UEGOa: the heuristic uego in which the Weiszfeld-like algorithm described in Algorithm 1 is used as local optimizer, and whose parameters have been fine-tuned so that its running times are similar to those of MW100 for the small problems. UEGOb: similar to UEGOa, but now the uego’s parameters have been tuned so that its running times are similar to those of MW1000 for the small problems. UEGOc: similar to UEGOa, but now the uego’s parameters have been tuned so that UEGOc attains the global optimum in more than 99% of the problems of each type of setting. Problem

Av(vPap )

1 2 3 4 5 6 7 8 9 10 All

180.5742 242.9455 352.2347 485.0261 425.2559 336.1560 301.9695 241.3609 447.5008 521.9515 353.4975

Av(DifObj)

Max(DifObj)

Av(DifSol)

0.00002 0.00000 0.00000 0.00056 0.00000 0.00018 0.00000 0.00000 0.00000 0.00024 0.00010

0.00011 0.00000 0.00000 0.00181 0.00000 0.00040 0.00000 0.00000 0.00000 0.00069 0.00181

0.02786 0.00000 0.00000 0.01387 0.00000 0.04026 15.12620 0.00000 0.00000 0.24023 1.55733

Max(DifSol)

0.08796 0.00000 0.00000 0.37142 0.00000 0.09465 15.42837 0.00000 0.00000 0.53916 15.42837

Av(T)

Av(Suc)

14.994 12.534 16.060 15.736 14.492 15.603 14.971 14.651 15.033 15.358 14.943

0 100 100 10 100 0 0 100 100 10 52

Table 3: Results of UEGOb for the problems of the setting (n = 100, m = 10, k = 4).

k

Av(vPap )

0 2 4 All

74.7290 173.6133 353.4975 200.6133

Av(DifObj)

Max(DifObj)

Av(DifSol)

0.00055 0.00083 0.00010 0.00049

0.01804 0.01538 0.00181 0.01804

0.01274 0.14765 1.55733 0.57257

Max(DifSol)

0.22409 2.80200 15.42837 15.42837

Av(T)

Av(Suc)

14.847 14.657 14.943 14.816

66 72 52 63

Table 4: Results of UEGOb for the problems of the setting (n = 100, m = 10). We begin by giving the detailed results for a chosen setting, so as to show how we generate the later summarizing tables. Each problem P is first solved with iB&B, and we obtain its global optimal value vPexact (actually, a very narrow interval [vP exact , vP exact ] containing it), the corresponding global maximizer point(s) mPexact (actually, a list of small 3-dimensional boxes where any maximizer point must lie) and the CPU time spent by iB&B. Then, the problem is solved with the different heuristics. Since each run of a heuristic may provide a different solution, each heuristic has been run ten times for each problem. In each run, we obtain the approximate optimal value vPap provided by the heuristic, the point mPap at which that value is attained and the CPU time spent by the heuristic. We also check whether the heuristic has successfully found the optimal solution. We say so when both vPap and mPap are included in the corresponding intervals provided by iB&B. With that information, we compute the relative difference between the global optimal value obtained by iB&B and the solution obtained by the heuristic, in percentage, i.e, DifObj =

vP exact − vPap · 100. vP exact 10

Algor

m

Av(vPap )

iB&B

2 5 10 all 2 5 10 all 2 5 10 all 2 5 10 all 2 5 10 all 2 5 10 all

195.3093 129.7903 92.7761 139.2919 194.6534 129.5595 92.1576 138.7902 194.9959 129.6925 92.3211 139.0032 195.3003 129.7338 92.6045 139.2129 195.3093 129.7898 92.7545 139.2846 195.3093 129.7903 92.7761 139.2919

MW100

MW1000

UEGOa

UEGOb

UEGOc

Av(DifObj)

0.35724 0.15736 0.39970 0.30477 0.18702 0.06660 0.23606 0.16323 0.00445 0.03601 0.18132 0.07393 0.00003 0.00048 0.02395 0.00815 0.00000 0.00000 0.00000 0.00000

Max(DifObj)

2.98117 2.82104 5.83926 5.83926 1.16278 1.34066 3.30228 3.30228 0.27290 0.87558 5.45420 5.45420 0.00168 0.04465 0.77552 0.77552 0.00000 0.00000 0.00000 0.00000

Av(DifSol)

2.96138 1.64459 4.92436 3.17678 1.83424 0.57935 6.00680 2.80680 0.31724 1.52755 3.64869 1.83116 0.01361 0.05993 1.97428 0.68261 0.00000 0.00000 0.00000 0.00000

Max(DifSol)

17.57783 29.92301 72.09966 72.09966 9.99134 8.58028 83.59035 83.59035 18.88246 38.70492 85.65080 85.65080 0.24756 6.46815 67.38171 67.38171 0.00000 0.00000 0.00000 0.00000

Av(T)

22.400 55.230 73.640 50.400 0.703 0.951 0.948 0.868 7.093 9.278 9.410 8.593 0.501 0.665 1.034 0.733 3.540 5.215 8.107 5.621 4.948 7.722 12.557 8.409

Av(Suc)

0 1 1 0.6 0 1 0 0.3 45 48 29 40.7 49 55 46 50 100 100 100 100

Table 5: Results for the problems with n = 50.

Also, we compute the relative difference DifSol between mPexact and mPap , to be understood as DifSol =

kmPexact − mPap k2 · 100. max{kmPexact − yk2 : y ∈ S × [0.5, 5]}

where k·k2 denotes the Euclidean distance (the denominator in the previous formula is for transforming the distance in the numerator into a number between 0 and 1). As mPexact we have considered the best point found by iB&B, which is one of the points in the list of boxes containing any maximizer point (those boxes cover a small connected region of the feasible set, and any point in those boxes can be used to have a relative measure). If in a given run of a heuristic it successfully finds the global optimum (in the sense described above) then both relative differences are set equal to zero. Then, for a given heuristic and a given problem, the figures that we consider are the averages, in the ten runs, of the objective value (Av(vPap )), DifObj (Av(DifObj)), DifSol (Av(DifSol)) and running time (Av(T)); since in some of the runs the corresponding values differ too much from the average, we also give the maximum values of DifObj (Max(DifObj)) and DifSol (Max(DifSol)) in the ten runs. Finally, we also give, in percentage, the number of times that the algorithm has attained, in the ten runs, the optimal solution (Av(Suc)). In Table 3 we can see the values obtained for the ten problems of the setting (n = 100, m = 10, k = 4) when UEGOb is used. The values in the last line of the table give the corresponding average of the averages and the maximum of the maxima. As can be seen from the table, UEGOb reaches the global optimum with 100% of success in, more or less, half of the problems. For the remaining cases, the percentage of success is very small, although the values of DifObj are relatively small (bellow 0.0006), which indicates that the objective value at the solutions found by the algorithm is quite close to the global objective value. However it can be seen that the corresponding values of Av(DifSol) are greater. This happens because some problems have values quite similar (almost constant) in a relatively big area around the global optimum and/or in other areas far from the optimum, which 11

Algor

m

Av(vPap )

iB&B

2 5 10 all 2 5 10 all 2 5 10 all 2 5 10 all 2 5 10 all 2 5 10 all

449.3491 312.0352 200.6151 320.6665 448.0914 311.5805 200.2396 319.9705 448.9957 311.8072 200.3932 320.3987 449.3114 311.9512 200.4319 320.5648 449.3489 312.0339 200.6133 320.6654 449.3491 312.0352 200.6151 320.6665

MW100

MW1000

UEGOa

UEGOb

UEGOc

Av(DifObj)

0.29285 0.23492 0.28915 0.27231 0.06906 0.01442 0.09789 0.10373 0.00708 0.03356 0.09894 0.04653 0.00009 0.00038 0.00049 0.00032 0.00000 0.00000 0.00000 0.00000

Max(DifObj)

5.39526 5.84435 5.60208 5.84435 0.61408 2.90084 2.77042 2.90084 0.18592 0.84927 2.87528 2.87528 0.01034 0.01823 0.01804 0.01823 0.00000 0.00000 0.00000 0.00000

Av(DifSol)

4.29955 2.23342 5.89057 4.14118 1.67941 1.45466 4.03928 2.39111 0.48912 1.44556 4.92484 2.28651 0.05248 0.22883 0.57257 0.28463 0.00000 0.00000 0.00000 0.00000

Max(DifSol)

51.48714 17.96421 84.22878 84.22878 11.12492 15.51535 73.94000 73.94000 9.48929 17.39381 95.29687 95.29687 6.06612 17.11466 15.42837 17.11466 0.00000 0.00000 0.00000 0.00000

Av(T)

29.100 64.000 191.000 94.700 0.891 1.149 1.292 1.111 8.990 11.580 12.767 11.112 2.226 1.099 2.129 1.818 7.128 9.545 14.816 10.496 9.257 14.006 22.277 15.180

Av(Suc)

2 1 0 1 1 3 0 1.3 20 32 41 31 26 41 63 43.3 100 100 100 100

Table 6: Results for the problems with n = 100.

proves the difficulty of this kind of problems. The column indicating the average computational times Av(T) shows that all the problems are solved in around 15 seconds, which means that all problems have a similar complexity. To have a general overview of the results, it is better to see only the summarizing values of the last line in Table 3. If for a given pair (n, m) we produce such information for each value of k considered, we obtain a summarizing table, as Table 4 (for the case (n = 100, m = 10) when UEGOb is used). Again, the values in the last line of that table give the corresponding average of the averages and the maximum of the maxima. As can be seen from the table, the case k = 4 seems to be more difficult to solve, in the sense that the results show smaller percentage of success and larger Av(Difsol) than in other cases. In general, the greater the k, the more difficult the problem is. In any case, the solutions provided by UEGOb are quite close to the optimal ones. The computational times are similar for the three k values. In tables 5 and 6 we present the results for all the algorithms when the number of demand points is 50 and 100, respectively. The CPU time required by iB&B increases considerably with m, and also with n, although in a smaller rate. This means that the higher the m, the more difficult the problem is. As for the running times of MW100 and MW1000, they increase slightly with m and n. This is not surprising, since both heuristics follow a multistart strategy, which means that they do not take the difficulty of the problem into account, but just repeat the Weiszfeld-like algorithm from different starting points. Nevertheless, the objective values of the solutions that they find are good, although in most of the (n, m) settings the value of Max(DifObj) is greater than 2.75%, which means that in some of the problems one of the runs of the algorithms was not able to find a solution with a good objective value. As for the quality of the solution points found by MW100 and MW1000, they are also usually good, although the figures in Max(DifSol) are much higher that those of Max(DifObj). Of course, MW1000 gives better results than MW100. In fact, we can see MW1000 as applying 12

MW100 ten times, although the improvements do not increase accordingly (the results by MW1000 are around 50% better in both objective and solution point than those by MW100). But neither MW100 nor MW1000 are able to find the global optimal solution with success, as we can see from the values of Av(Suc). In average, the CPU time employed by UEGOa is similar to MW100, and thus, ten times less than MW1000. However, the solutions provided by UEGOa are better than those obtained by MW1000 in both objective and solution point. Furthermore, UEGOa has a percentage of success at finding the global optimum above 40% for the problems with 50 demand points, and above 30% for the problems with 100 demand points. However, when m = 10, the value of Max(DifObj) for UEGOa is also above 2.75%. UEGOb provides much better results than UEGOa, with a percentage of success around 50%, and it uses less than 10 times the CPU time of UEGOa (and thus, it is faster than MW1000). The values of Max(DifObj) are always less than 0.78% with UEGOb, and Av(DifSol) is 0.68% for the problems with n = 50 and 0.28% for the problems with n = 100. Finally, UEGOc has a 100% rate of success, i.e., it has always found, in all the runs and in all the problems, the global optimal solution. Furthermore, it has employed less time than MW1000 for the problems with 50 demand points, and only a bit more for the problems with 100 demand points. As compared to iB&B, the other algorithm which always finds the global optimum, UEGOc is much faster: in average, it needs 8.4 seconds for the problems with n = 50, as compared to the 50.4 seconds of the iB&B, and 15.2 seconds for the problems with n = 100, as compared to the 94.8 seconds of iB&B, that is, UEGOc uses 83% less time than iB&B.

4.3

Comparison for larger problems

In this second part of the experiments we study the behavior of the heuristics when the size of the problem is bigger than or equal to n ≥ 5000. In this case, iB&B is not able to solve the problems (the computer runs out of memory). In fact, for the problems with n = 2500 iB&B starts experiencing difficulties, and it needs more than one hour time to solve one single problem. Thus, for the problems considered in this subsection, we have considered the solutions provided by UEGOc as if they were the optimal ones, and the relative differences in objective and solution of the rest of algorithms are always with regard to these. Also, we do not compute the percentage of success at finding the optimal solution, since we do not know with guarantee the optimal solution. In this subsection, each of the 5 problems of each setting has been solved 5 times. The results obtained are shown in tables 7 and 8. Algor MW100 MW1000 MW10000 MW15500 UEGOa UEGOb UEGOc

Av(vPap )

12957.49 12962.05 12963.83 12963.99 12963.74 12965.01 12965.05

Av(DifObj)

Max(DifObj)

Av(DifSol)

0.04145 0.01765 0.00686 0.00609 0.00778 0.00025

0.2380 0.1563 0.0899 0.0709 0.4820 0.0119

12.1721 10.0983 9.2592 5.6749 2.9689 0.0935

Max(DifSol)

76.7492 96.5288 99.5075 99.5076 79.3985 3.7299

Av(T)

89.6222 937.52 9265.11 14379.18 793.80 7288.13 14197.67

Table 7: Results for the problems with n = 5000

As we can see, all the algorithms provide solutions of better quality than the solutions obtained for the small problems. This is due to our way of generating the forbidden circular regions around the existing demand points. Now, the ratio area(forbidden regions)/area(S) is much smaller than for the small problems, which means that the local search procedure has now much less obstacles to reach the local optima, and thus, it is much more efficient. Nevertheless, similarly to what happens for the small problems, UEGOc is the algorithm providing the best quality solutions, followed by UEGOb, UEGOa, MW1000 and MW100, in that order (for the case with n = 10000, MW1000 gives better results than UEGOa, but notice also that it uses 19.7% more time). However, notice that in this larger problems the running times of the uego algorithms are comparatively much bigger 13

Algor MW100 MW1000 MW7000 MW15500 UEGOa UEGOb UEGOc

Av(vPap )

25443.41 25446.18 25448.37 25448.92 25444.46 25449.63 25450.07

Av(DifObj)

Max(DifObj)

Av(DifSol)

0.03881 0.01351 0.00421 0.00287 0.04413 0.00123

0.4147 0.0761 0.0753 0.0513 2.1886 0.0175

2.8751 3.5200 0.6024 0.7000 5.2753 0.8281

Max(DifSol)

16.0546 41.9832 8.3127 10.0674 86.8580 10.9355

Av(T)

192.66 1965.55 13623.28 30316.95 1578.24 13290.98 29856.45

Table 8: Results for the problems with n = 10000

than those of the multistart Weiszfeld. This is because the former adapt themselves to the difficulty of the problem at hand (now, the searching region is much bigger, as well as the number of local optima), whereas the later do not take the difficulty of the problem into account, but just apply the Weiszfeld-like algorithm a given number of times from different starting points. This is a point in favor of the uego algorithms, which, using the same parameter setting, are able to find very good solutions regardless of the difficulty and size of the problem. Thus, in order to have a fairer comparison between the evolutionary and the multistart algorithms, in addition to MW100 and MW1000, we have also solved the problems with the multistart algorithms starting the Weiszfeld-like algorithm from more points. The results with these new heuristics are also given in tables 7 and 8. Of course, an increase in the number of times that the Weiszfeld-like algorithm is called implies better quality results. And the corresponding CPU times increase proportionally to the number of times that the local search is called. However, when the multistart algorithm is allowed to run a similar amount of time than the uego algorithms it obtains worse results. Compare, for instance, the results of MW100 and UEGOa, or MW10000 with UEGOb, or MW15500 with UEGOc in Table 7, as well as MW7000 with UEGOb and MW15500 with UEGOc in Table 8. In fact, even when the multistart algorithm is allowed to run more time than the uego algorithms, it is not able to obtain better solutions (compare, for instance, MW15500 with UEGOb in tables 7 and 8). On the other hand, the increase in the running times of the multistart algorithms from n=5000 to n=10000 is more than the double, whereas for the uego algorithms is less than the double.

5

Conclusions and future research

In this work we consider a single facility competitive location problem on the plane, with static competition and inelastic demand, having probabilistic behaviour, based on an attraction function depending on both the location and the quality of the facility to be located. These two last factors are the variables of the problem. The objective is to maximize the profit obtained by the chain, to be understood as the income due to the market share captured by the chain minus its operational cost. This is a multimodal optimization problem, whose number of local maxima may be large. Any global optimizer must thus be able to find out the global optimum under the presence of many deceptive optima. Time should thus be spent in discovering new and promising regions rather than exploring the same region multiple times. In this work, we have presented an algorithm with that aim: an evolutionary multimodal optimization algorithm called uego (see [26]). We have carried out a comprehensive computational study to compare its performance with other algorithms proposed in [13] to solve the competitive location model, namely, an interval branch-andbound method and a multistart heuristic which uses a Weiszfeld-like algorithm as local optimizer. uego itself uses the same Weiszfeld-like algorithm as local optimizer, too. The computational studies show that, in the same CPU time, the solutions obtained by uego are better than those obtained by the multistart heuristic, in both objective value and solution point, and that letting the multistart heuristic to run more time than uego does not guarantee that the multistart heuristic will find better solutions than uego. Furthermore, with a small increase in the CPU time, uego (with a suitable

14

parameter setting) is able to obtain always the global optimum, and this using 83% less time than the interval branch-and-bound method. Furthermore, uego can solve much larger problems than the interval method. It is important to highlight that uego is a very general purpose meta-heuristic, which can also be applied to solve many other continuous location problems, apart from the one considered in this paper. Recently, in [5], the BTST method [8] has been applied to the solution of the 2-dimensional competitive facility location problem introduced in [2]. In [5] it is also proven that the Weiszfeld-like algorithm presented in [2] converges to a local optimum. The model in [2] is a particular case of the one considered in this paper: it assumes that the quality of the new facility is known, thus it sets G2 (α) = 0. It also assumes G1 (x) = 0, thus G(x, α) = 0. Since F (·) is increasing, its objective function becomes the maximization of the market share captured by the chain. The computational studies in [5] show that problems with up to n = 10000 demand points can be optimally solved by the BTST method in about 200 seconds. Notice that the results in that paper cannot be compared with ours: our problem has three variables, our objective function is more complex, the Weiszfeld-like algorithm is more time-consuming (due to the need of using a method for solving equation (2)), our model has constraints and the region S is much bigger. However, the performance of the BTST method (when extended for coping with 3-dimensional problems) as compared to the interval B&B and uego algorithms should be investigated. In the future we plan to apply uego to the centroid (or Stackelberg) problem associated to this location problem, in which a future competitor is expected to enter the market and locate his facility at its best site; the best location for the facility of one’s own chain is to be found so that the profit obtained by own’s chain following the competitor’s entry is maximized. Also, the multifacility version of the model studied in this paper, in which the chain wants to locate more that one facility, will be the subject of future research. In that case, among other possibilities, a multifacility version of the Weiszfeld-like algorithm (similar to the one described in [4]) can be used within uego. Furthermore, we also plan to design a parallel version of uego able to solve larger problems in less CPU time.

Acknowledgments This paper has been supported by the Ministry of Education and Science of Spain under the research projects SEJ2005-06273/ECON and CICYT-TIC2002-00228, in part financed by the European Regional Development Fund (ERDF). The authors are indebted to Bogl´ arka T´oth, who has provided us with the codes of the Weiszfeld-like algorithm and the interval branch-and-bound method used in the computational studies; her help is gratefully acknowledged.

References [1] Benati S. and Laporte G. (1994), Tabu search algorithms for the (r|Xp )-medianoid and (r|p)centroid problems, Location Science 2, 193–204. [2] Drezner T. (1994), Optimal continuous location of a retail facility, facility attractiveness, and market share: an interactive model, Journal of Retailing 70, 49–64. [3] Drezner T. (1995), Competitive location in the plane, in Facility Location: a survey of applications and methods, Springer, 285–300. [4] Drezner T. (1998), Location of multiple retail facilities with a limited budget – in continuous space, Journal of Retailing and Consumer Services 5, 173–184. [5] Drezner T. and Drezner Z. (2004), Finding the optimal solution to the Huff based competitive location model, Computational Management Science 1, 193–208. [6] Drezner T., Drezner Z. and Salhi S. (2002), Solving the multiple competitive facilities location problem, European Journal of Opeational Research 142, 138–151. 15

[7] Drezner Z. (1984), The p-center problem: heuristic and optimal algorithms, Journal of the Operational Research Society 35, 741–748. [8] Drezner Z. and Suzuki A. (2004), The Big Triangle Small Triangle method for the solution of non-convex facility location problems, Operations Research 52, 128–135. [9] Erkut E. and Neuman S. (1989), Analytical models for locating undesirable facilities, European Journal of Operational Research 40, 275–291. [10] Fern´ andez J., Fern´ andez P. and Pelegr´ın B. (2000), A continuous location model for siting a non-noxious undesirable facility within a geographical region, European Journal of Operational Research 121, 259–274. [11] Fern´ andez J., Fern´ andez P. and Pelegr´ın B. (2002), Estimating actual distances by norm functions: a comparison between the lk,p,θ -norm and the lb1 ,b2 ,θ -norm and a study about the selection of the data set, Computers and Operations Research 29, 609-623. [12] Fern´ andez J. and Pelegr´ın B. (2001), Using interval analysis for solving planar single-facility location problems: new discarding tests, Journal of Global Optimization 19, 61–81. [13] Fern´ andez J., Pelegr´ın B., Plastria F. and T´oth B. (2003), Solving a Huff-like competitive location and design model for profit maximization in the plane, European Journal of Operational Research, to appear. [14] Glover F. and Laguna M. (1997), Tabu search, Kluwer. [15] Goldberg D.E. (1989), Genetic algorithms in search, optimization and machine learning, Addison Wesley. [16] Gonz´ alez-Linares J.M., Guil N., Zapata E.L., Ortigosa P.M. and Garc´ıa, I., Deformable Shapes Detection by Stochastic Optimization, 2000 IEEE International Conference on Image Processing (ICIP’2000), Vancouver, Canada, September 10-13, 2000. [17] Hakimi S.L. (1990), Locations with spatial interactions: competitive locations and games, in Discrete location theory, Francis R.L. and Mirchandani P.B. (Eds.), Wiley/Interscience, 439– 478. [18] Hammer R., Hocks M., Kulisch U. and Ratz D. C++ Toolbox for Verified Computing I: Basic Numerical Problems: Theory, Algorithms, and Programs. Springer-Verlag, Berlin, 1995. [19] Hansen P., Jaumard B. and Tuy H. (1995), Global optimization in location, in Facility Location: a survey of applications and methods, Springer, 43–68. [20] Hansen P. and Mladenovi´c N. (2001), Variable neighborhood search: principles and applications, European Journal of Operational Research 130, 449–467. [21] Hansen P., Peeters D., Richard D. and Thisse J.F. (1985), The Minisum and Minimax Location Problems Revisited, Operations Research 33, 1251–1265. [22] Huff D.L. (1964), Defining and estimating a trading area, Journal of Marketing 28, 34–38. [23] Jamarillo J.H., Bhadury J. and Batta R. (2002), On the use of genetic algorithms to solve location problems, Computers and Operations Research 29, 761–779. [24] Kirkpatrick S., Gelatt C.D. and Vecchi M.P. (1983), Optimization by simulated annealing, Science 220, 671–680. [25] Kn¨ uppel O. (1993), PROFIL/BIAS - A Fast Interval Library, Computing 53, 277–287. [26] Ortigosa P.M., Garc´ıa I., and Jelasity M. (2001), Reliability and performance of uego, a clustering-based global optimizer, Journal of Global Optimization 9, 265–289. 16

[27] Pelegr´ın B. and C´ anovas L. (1998), A new assignment rule to improve seed points algorithms for the continuous k-center problem, European Journal of Operational Research 104, 266–374. [28] P´erez-Brito D., Moreno-P´erez J.A. and Garc´ıa-Gonz´ alez C.G. (2004), B´ usqueda por entornos variables: desarrollo y aplicaciones en localizaci´on, in Avances en localizaci´ on de servicios y aplicaciones (Ed. B. Pelegr´ın), Servicio de Publicaciones Universidad de Murcia, 349-381. [29] Plastria F. (1992), GBSSS: The Generalized Big Square Small Square Method for Planar Singlefacility Location, European Journal or Operational Research 62, 163–174. [30] Redondo J.L., Ortigosa P.M., Garc´ıa I., and Fern´ andez, J.J. (2004), Image registration in electron microscopy. A stochastic optimization approach, Lecture Notes in Computer Science, Proceedings of the International Conference on Image Analysis and Recognition, ICIAR 2004 II, 3212, 141–149. [31] Solis F.J. and Wets, R.J.B. (1981), Minimization by random search techniques, Mathematics of Operations Research 6, 19–30. [32] Tuy H., Al-Khayyal F. and Zhou F. (1995), A D.C. optimization method for single facility location problems, Journal of Global Optimization 7, 209–227. ¨ [33] Weber A. (1909), Uber den Standort der Industrien 1. Teil: Reine theorie des standordes, T¨ ubingen, Germany. [34] Weiszfeld E. (1937), Sur le point pour lequel la somme des distances de n points donn´es est minimum, Tohoku Mathematical Journal 43, 355–386.

17