Abstract

The objective of the -center problem is to locate -centers on a network such that the maximum of the distances from each node to its nearest center is minimized. The artificial bee colony algorithm is a swarm-based meta-heuristic algorithm that mimics the foraging behavior of honey bee colonies. This study proposes a modified ABC algorithm that benefits from a variety of search strategies to balance exploration and exploitation. Moreover, random key-based coding schemes are used to solve the -center problem effectively. The proposed algorithm is compared to state-of-the-art techniques using different benchmark problems, and computational results reveal that the proposed approach is very efficient.

1. Introduction

The -center problem, which is also known as the minimax location-allocation problem, is one of the best-known NP-hard problems in the field of logistics and discrete facility location [1]. This problem consists of locating facilities (centers) on a network such that the maximum of the distances between nodes and their nearest centers is minimized. In the -center problem, nodes (customers) and distances between nodes are given, and centers should be located at any given node. The -center problem can be used in a variety of real-life applications such as locating fire stations, police departments, or emergency centers.

The -center problem is NP hard [2], and the number of feasible solutions is , where is the node number and is the number of centers. Various heuristics have been proposed to solve the -center problem [35]. Moreover, exact algorithms that can solve the problem in certain conditions have been proposed [4, 6, 7].

The -center problem has attracted increasing attention in recent years. D. Chen and R. Chen [1] proposed new relaxation techniques for the solution of -center problems. Mladenović et al. [8] presented a basic variable neighborhood search and two tabu search heuristics for the -center problem without triangle inequality. Caruso et al. [9] proposed a metaheuristic algorithm, called Dominant, in which a series of set-covering problems according to a predefined maximum distance are solved. Pacheco and Casado [10] proposed a new scatter search-based approach for the -center problem. Davidović et al. [11] introduced an improved bee colony algorithm (BCO), proposing a new concept based on improving the complete solution held by each bee, instead of applying constructive BCO; moreover, they showed that the proposed algorithm produces high-quality solutions within negligible CPU times.

The artificial bee colony (ABC) algorithm, which is a biologically inspired population-based metaheuristic algorithm, was recently introduced for continuous function optimization by Karaboga [12]. Due to its simplicity and ease of implementation, the ABC algorithm has been extensively applied to both continuous and discrete optimization problems since its invention. Various comparison studies, in which the ABC algorithm was compared to novel metaheuristic algorithms, such as particle swarm optimization (PSO), differential evolution (DE), and genetic algorithm (GA), have been performed to show its effectiveness [13, 14]. These studies show that the ABC algorithm outperforms other novel algorithms on several instance problems.

However, several studies have shown that the ABC algorithm is good at exploration but poor at exploitation. The local search equation, in which a new neighbor solution is generated, has received extensive attention because it controls the exploration-exploitation balance. Therefore, to improve the performance of the algorithm, various modifications to the search equation have been proposed in the literature. Zhu and Kwong [15] proposed a global best guided ABC algorithm, which additionally uses the global best information in the search equation as in PSO. Inspired by DE, Gao and Liu introduced a modified version of the ABC algorithm in which ABC/Best/1 and ABC/Rand/1 were employed as local search equations [16, 17]. Li et al. [18] presented a modified version of ABC (IABC) in which the best-so-far information, inertial weight, and acceleration coefficient are used when employing local search. Furthermore, Kang et al. [19] proposed the Rosenbrock ABC algorithm, which combines Rosenbrock’s rotational method and the original ABC algorithm. Singh [20] used the ABC algorithm to solve the leaf-constrained minimum spanning tree problem. To improve exploration, Alatas [21] employed chaotic maps as initialization and chaotic searches as a local search equation. Gao et al. [22] proposed a new search equation and used Powell’s method as a local search technique. Xu et al. [23] described a new ABC (NABC) algorithm that employs a modified version of the DE/Best/1 strategy. Akay and Karaboga [24] proposed a modified version of the ABC algorithm in which a control parameter that determines the number of parameters to be modified during the production of a neighboring solution is introduced. Moreover, an adaptive technique for reduction of step size was also used.

Although the ABC algorithm was originally developed for solving continuous optimization problems, the use of the ABC algorithm for combinatorial problems has attracted extensive attention in recent years. Kashan et al. [25] presented DisABC for solving binary optimization problems. In DisABC, a measure of dissimilarity between binary vectors is used instead of vector subtraction, which is used in the original ABC algorithm’s search equation. Szeto et al. [26] proposed a modified ABC algorithm for capacitated vehicle routing problems and introduced various operators to produce new neighbor solutions. Uzer et al. [27] used a hybrid ABC-support vector machine mechanism for feature selection and classification for medical databases. Alvarado-Iniesta et al. [28] used the ABC algorithm for the optimization of the material flow in a manufacturing plant. Ji et al. [29] proposed a modified ABC algorithm for solving 0-1 multidimensional knapsack problems and introduced a novel communication mechanism based on the updating and diffusion of inductive pheromones produced by bees. Furthermore, numerous papers have used the ABC algorithm for scheduling problems, such as the lot-streaming flow shop scheduling problem [30], total flow time minimization in permutation flow shops [31], the flexible job-shop scheduling problem [32], and the no-idle permutation flow shop scheduling problem with total tardiness criterion [33]. Readers can refer to Karaboga et al. [34] for an extensive literature review of the ABC algorithm and its applications.

In this paper, a modified ABC algorithm (M-ABC) is proposed to solve well-known -center problems. The M-ABC algorithm uses random key-based encoding for solution representation and employs a new multisearch strategy in which different search strategies are used for generating new neighbor solutions. The remainder of this paper is organized as follows: Section 2 gives the mathematical model for the -center problem, Section 3 covers the traditional ABC algorithm, and the proposed algorithm is described in Section 4. Computational results are given in Section 5, and finally, Section 6 concludes the paper.

2. Mathematical Formulation

The -center problem can be briefly defined as follows. Let be the node set, and there is a distance associated with each node pair . The objective is to locate centers, , at given nodes so that the maximum distance between a node and its nearest facility is minimized. The -center problem can be mathematically formulated as follows [11].

Decision variables are as follows:

Parameters are as follows:: set of nodes,: travel time (distance) from node to , where ,: number of centers. The objective function represents the minimization of the largest distance between a node and its closest facility. Constraint (3) expresses that each node should be assigned to a center. Constraint (4) prevents any center from being located outside the node set. The total number of located facilities is set to by constraint (5).

3. Artificial Bee Colony Algorithm

The ABC algorithm is a population-based metaheuristics algorithm that mimics the foraging behavior of honey bee swarms. The ABC algorithm classifies bees in a colony into three main groups: employed bees, onlooker bees, and scout bees. Employed bees are responsible for exploiting the food sources and sharing the information about these food sources. Onlooker bees wait in the hive and take the food source information from employed bees to make a decision on further exploiting the food source. Scout bees randomly search the environment to find a new food source.

In the ABC algorithm, each candidate solution to the problem is associated with a food source and is represented by an -dimensional real-coded vector. The quality of a solution corresponds to the nectar amount on that food source, and one employed bee explores each food source. In other words, the number of the employed bees is equal to the number of food sources. The colony is equally divided into employed and onlooker bees. A food source, which cannot be improved for a predetermined number of tries, is abandoned and the employed bee associated with that food source becomes a scout. In the ABC algorithm, the employed and onlooker bees are responsible for exploiting, whereas the scout bees handle exploring.

The main steps of the ABC algorithm are as follows [12]:(1)initialization,(2)evaluating the population,(3)repeat,(4) employed bee phase,(5) onlooker bee phase,(6) scout bee phase,(7)until (termination criteria are satisfied).

3.1. Initialization

In the initialization step, the ABC algorithm generates a randomly distributed population of SN solutions (food sources), where SN denotes the number of employed or onlooker bees. Let represent the th food source, where is the problem size. Each food source is generated within the range of the boundaries of the parameters by where , . , and are the lower and upper bound for the dimension , respectively.

3.2. Employed Bee Phase

In the employed bee phase, employed bees generate a neighboring food source by performing a local search around each food source as follows: where is a random integer in the range and is randomly chosen food source that is not equal to . is a random number in the range . A greedy selection is applied between and in which the better solution will be retained. Then, employed bees will return to their hive and share the information on new solutions with onlooker bees.

3.3. Onlooker Bee Phase

Onlooker bees select a food source depending on the probability value prob associated with that food source. The value is calculated as follows: where is the objective function value of solution . By using this mechanism, food sources having better fitness values will be more likely to be selected. Once the onlooker bee has chosen the food source, she generates a new solution using (7). As in the employed bee phase, a greedy selection is carried out between and .

In the employed bee phase, a local search is applied to every food source, whereas only the selected food sources will be updated in the onlooker bee phase.

3.4. Scout Bee Phase

If a food source cannot be improved for a predetermined number of tries, then the employed bee associated with that food source becomes a scout bee. Then, the scout bee finds a new food source using (8). After the scout bee finds a new source, she becomes an employed bee again.

4. Proposed Artificial Bee Colony Algorithm

4.1. Random Key-Based Encoding

Because the ABC algorithm was first introduced for solving continuous optimization problems, real-coded solution vectors can be used directly in the calculation step of the objective function. To apply the ABC algorithm for combinatorial optimization problems like -center problems, real-coded vectors should be converted to permutations of nodes. Therefore, in the proposed study, random key-based encoding is used to represent solutions.

The random key procedure was first introduced by Bean [35] for solving sequencing problems with genetic algorithms using real-coded genes. Snyder and Daskin [36] have also used random key-based encoding schemes to overcome the infeasibility problems in genetic algorithms. Moreover, numerous studies used random key-based encoding to convert real-coded vectors to feasible solutions [3741].

In the proposed solution encoding, for any -dimensional problem, when the real-coded solution values are sorted in a nondecreasing order, their corresponding indices (treated as centers) in the sorted order yield a solution. Original to the -center problem, the number of centers is limited by the problem as . Therefore the first values of the sorted index vector are taken as the solution in this study. Once the center nodes are determined, the objective value is calculated as follows: where denotes the center nodes, is the distance operator, represents nodes set, and .

An example of this procedure is given in Figure 1 for a problem (), where first the real-coded food source vector is sorted and then the first indices of the sorted index vector are chosen as the centers.

4.2. Multisearch Strategy

The ABC algorithm has been shown to be good at exploration but poor at exploitation [15, 16]. Therefore, numerous studies have been performed to improve the performance of the ABC algorithm, and most of these studies investigated modifications for the search equation because it is the main part of the algorithm that controls the exploration-exploitation balance [15].

Each search strategy has distinctive characteristics and therefore may have an advantage or disadvantage in different stages of the overall search progress on different problems. In the present study, different search strategies taken from the literature are employed in a random manner to overcome this problem. In this paper, a new neighbor solution is generated using a search equation selected randomly from a candidate pool, which consists of selected search strategies. Four search equations are used, which are explained as follows.(i)Original ABC [12]: described in detail in Section 3.2. The search equation is as follows: (ii)Global best guided ABC [15]: inspired by PSO, Zhu and Kwong [15] described a new search equation to improve the exploitation and to take advantage of the global best solution information as follows: where is the th element of global best solution, is a uniform random number in where is a nonnegative constant and is suggested to be 1.5, is a random number in the range , and is a randomly chosen index.(iii)ABC/best/1 [16]: based on the differential evolution algorithm, Gao and Liu [16] proposed a modified search equation as follows: where the indices and are mutually exclusive integers randomly chosen from and different from the base index ; is the best solution in the current population and is a randomly chosen index; and is a random number in the range .(iv)ABC with Powell’s method [22]: in order to improve the search ability and convergence speed of the search equation proposed in [15], Gao et al. [22] described a new search equation that uses the information of a randomly selected solution and the best solution as follows: where denotes a uniformly distributed random number, is an integer uniformly chosen from the range and is different from , and is the best solution in the current population.

4.3. Proposed Algorithm

Based on the explanations in the previous subsection, the general scheme of the M-ABC is given in Pseudocode 1.

( )     set  Popsize  =  SN
( )     set  Maximum  number  of  iteration  =  Max.iter
( )     set  Maximum  number  of  trials  =  Max.trial
( )     Generate  initial  population  by  (7)
( )     Evaluate  initial  population  //Section 4.1.
( )     Set  iteration  =  1
( )     for  each  food  source   ,  set    =  0
( )     do  while  ( .iter)
( )     //****EMPLOYED  BEE  PHASE****
( )   for  each  food  source     do
( )  //choose  the  search  strategy  randomly.
(12)    Generate  random  integer  number     from  the  range   1, 2, 3, 4
(13)    if  (   =  1)  then
(14)    Produce  a  new  neighbor     by  (10)
(15)    Evaluate     //Section 4.1
(16)    Apply  greedy  selection  between     and  
(17)    else  if  (   =  2)  then
(18)    Produce  a  new  neighbor     by  (11)
(19)    Evaluate     
(20)    Apply  greedy  selection  between     and  
(21)    else  if  (   =  3)  then
(22)    Produce  a  new  neighbor     by  (12)
(23)    Evaluate  
(24)    Apply  greedy  selection  between     and  
(25)    else
(26)    Produce  a  new  neighbor     by  (13)
(27)    Evaluate  
(28)    Apply  greedy  selection  between     and  
(29)    end  if
(30)   end  for
(31)  //****ONLOOKER  BEE  PHASE****
(32)   Calculate  probability  values     by  (9)
(33)   for  each  food  source     do
(34)    Produce  random  number,   1  from  the  range   0, 1
(35)    if  ( )  then
(36)  //choose  the  search  strategy  randomly
(37)    Generate  random  integer  number     from  the  range   1, 2, 3, 4
(38)    if  (   =  1)  then
(39)       Produce  a  new  neighbor     by  (10)
(40)       if  ( )  then     =     +  1
(41)       Apply  greedy  selection  between     and  
(42)    else  if  (   =  2)  then
(43)       Produce  a  new  neighbor     by  (11)
(44)       if  ( )  then     =     +  1
(45)       Apply  greedy  selection  between     and  
(46)    else  if  (   =  3)  then
(47)       Produce  a  new  neighbor     by  (12)
(48)       if  ( )  then     =     +  1
(49)       Apply  greedy  selection  between     and  
(50)    else
(51)       Produce  a  new  neighbor     by  (13)
(52)       if  ( )  then     =     +  1
(53)       Apply  greedy  selection  between     and  
(54)    end  if
(55)    end  if
(56)   end  for
(57)  //****SCOUT  BEE  PHASE****
(58)   for  each  food  source     do
(59)    if  Max.   then
(60)    Replace     with  a  new  randomly  generated  solution  (7)
(61)    end  if
(62)   end  for
(63)   Save  necessary  information
(64)   iteration  =  iteration  +  1
(65)  end  while

5. Computational Results

In this section, the proposed M-ABC algorithm, which is discussed in the previous section, is analyzed in detail using several benchmarking problems. The M-ABC algorithm was coded using the C++ language executed on a computer with 2.00 GB RAM and an Intel Core2 Duo 2.00 GHz CPU. In order to evaluate the validity and success of M-ABC, the described algorithm is applied to 40 well-known benchmark problems that were originally developed for -median problems [42]. These benchmark problems can be downloaded from ORLibrary at the following website: http://people.brunel.ac.uk/~mastjjb/jeb/orlib/pmedinfo.html. The problem parameters range from 100 to 900 and from 5 to 200 for the number of customers and the number of centers, respectively.

The proposed M-ABC approach is compared with the novel metaheuristic algorithms such as the improved bee colony algorithm (BCOi) [11], multistart interchange (M-I), variable neighborhood search (VNS), tabu search 1 (TS-1) and tabu search 2 (TS-2), proposed in [8], and scatter search (SS), proposed in [10]. To fairly compare the algorithms, the stopping criterion is taken as the maximum allowed CPU time (second) as in [8, 10, 11] and is set to one-tenth of the number of customers (i.e., ) for each problem. The parameters of the proposed algorithm have a remarkable effect on the quality and effectiveness of the algorithm. Therefore, with the help of the initial experiments, the search range is taken as and the population size and trial are set to 100 and 50, respectively, for all benchmarks.

The computational results for the benchmark problems are summarized in Table 1. In Table 1, the first column shows the problem name. The second and third columns denote the number of customers and the number of centers, respectively. The next six columns show the results from M-I, VNS, TS-1 and TS-2 [9], SS [10], and BCOi [11], and the last column represents the results with the M-ABC algorithm. In Table 1, the best result achieved from 10 consecutive runs is reported for each test problems similar to [911] and bold values denote best-known solutions found with the M-ABC algorithm. The ratio of the number of problems where the best solution is achieved, to the total number of problems solved is given in the last row of Table 1 for each algorithm.

As seen from Table 1, the M-ABC algorithm finds the best-known solutions for 37 out of 40 test problems. Results in Table 1 show that M-ABC, VNS, and TS-2 perform similarly in terms of solution quality. Furthermore, better results are obtained with M-ABC for pmed18 and pmed39, when compared to TS-2. M-ABC outperforms VNS for pmed39. It can be concluded from Table 1 that M-ABC is better than M-I, TS-1, and BCOi on most of the test problems. BCOi’s performance is superior to that of M-ABC only on pmed30, where BCOi approach is the best performer among all algorithms. For the small size problems () SS and M-ABC yield the same values in terms of the best value; however it would not be a fair comparison since SS was not applied to bigger problems where in [11]. In general, the results indicate that the M-ABC algorithm is superior to traditional and new metaheuristics.

For a better evaluation of metaheuristic algorithms, not only the solution quality but also the computation times should be investigated. However, it is not very easy to make an objective comparison between metaheuristics because both the programming languages and the machine configurations are not generally comparable, and in most studies, the complexities of the algorithms are not reported. Nevertheless, an approximate comparison can be made based on the million floating point operations per second (MFLOP) values of the processors on which the algorithms were coded and run [43].

The heuristics proposed in [8] was implemented on a Sun SPARCstation 10, and the SS algorithm in [10] was executed on an Intel Pentium III processor operating at 300 MHz. Moreover, both heuristics were coded in Pascal with the Delphi 5.0 compiler. BCOi in [11] was implemented on an Intel Core 2 Duo E6750 processor and was coded in the C programming language with the g++ compiler. The MFLOP values of the processor speeds based on the benchmark values obtained from the site http://www.netlib.org/benchmark/linpackjava/timings_list.html were used to normalize the CPU times. The MFLOP values and corresponding normalized CPU times spent on the benchmark problems for the algorithms are summarized in Table 2.

Table 2 shows the normalized CPU times with respect to the fastest CPU (Intel Core 2 Duo E6750) as the baseline. In Table 2, the CPU time in seconds spent by the M-ABC algorithm to achieve its best solution is reported like in [8, 10, 11]. Since M-ABC does not utilize any constructive initialization mechanism, it has a slower performance on the majority of small size test problems (). On the other hand, M-ABC outperforms M-I, VNS, TS-1, and TS-2 on most of the test problems having in terms of CPU time. As can be seen in Table 2, M-ABC is slightly slower than BCOi, which is the quickest algorithm in test algorithms.

6. Conclusion and Future Work

In this paper, a modified artificial bee colony (M-ABC) algorithm is presented to solve -center problems. The proposed approach has two main contributions: random key-based encoding for solution representation and a new multisearch strategy in which different search strategies are employed in one overall search process. The M-ABC algorithm is compared to state-of-the-art metaheuristic algorithms with benchmark problems and is found to be effective and better than other algorithms in terms of both solution quality and CPU time on most of the benchmarks. The proposed M-ABC algorithm achieves best-known solutions for 37 out of 40 of the benchmark problems with competitive CPU times when compared to other metaheuristic algorithms. Future studies may include using adaptive selection for search strategies instead of random selection and application of the proposed approach on other real-life problems, such as vehicle routing or scheduling problems.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.