The set covering problem is a formal model for many practical optimization problems. In the set covering problem the goal is to choose a subset of the columns of minimal cost that covers every row. Here, we present a novel application of the artificial bee colony algorithm to solve the nonunicost set covering problem. The artificial bee colony algorithm is a recent swarm metaheuristic technique based on the intelligent foraging behavior of honey bees. Experimental results show that our artificial bee colony algorithm is competitive in terms of solution quality with other recent metaheuristic approaches for the set covering problem.
The set covering problem (SCP) is a classic problem in combinatorial analysis, computer science, and theory of computational complexity. It is a problem that has led to the development of fundamental technologies for the field of the approximation algorithms. Also it is one of the problems from the list of 21 Karp’s NPcomplete problems; its NPcompleteness was demonstrated in 1972 [
SCP has many applications, including those involving routing, scheduling, stock cutting, electoral redistricting, and other important real life situations [
Different solving methods have been proposed in the literature for the set covering problem. Exact algorithms are mostly based on branchandbound and branchandcut techniques [
Classical greedy algorithms are very simple, fast, and easy to code in practice, but they rarely produce high quality solutions for their myopic and deterministic nature [
Metaheuristics were also applied to the SCP as toplevel general search strategies. An incomplete list of this kind of metaheuristics for the SCP includes genetic algorithms [
In this paper we propose a novel application of artificial bee colony (ABC) to solve SCP. This paper is organized as follows. In Section
The set covering problem is a fundamental problem in the class of covering problems. Given a finite set
Let us define the incidence matrix
Incidence matrix example.

For the upcoming reference cases, a general mathematical model of the SCP can be formulated as follows:
Equation (
ABC is one of the most recent algorithms in the domain of the collective intelligence. It was created by Dervis Karaboga in 2005, who was motivated by the intelligent behavior observed in the domestic bees to take the process of foraging [
ABC is an algorithm of combinatorial optimization based on populations, in which the solutions of the problem of optimization, the sources of food, are modified by the artificial bees that function as operators of variation. The aim of these bees is to discover the food sources with major nectar.
In the ABC algorithm, an artificial bee moves in a multidimensional search space choosing sources of nectar depending on its past experience and its companions of beehive or fitting its position. Some bees (exploratory) fly and choose food sources randomly without using experience. When they find a source of major nectar, they memorize their positions and forget the previous ones. Thus, ABC combines methods of local search and global search, trying to balance the process of the exploration and exploitation of the search space.
Although, the performance of different optimization algorithm is dependent on applications, some recent works demonstrate that the artificial bee colony is more rapid than either genetic algorithm or particle swarm optimization solving certain problems [
The model defines three principal components which are enunciated as follows.
scouts: they are the ones in charge of searching in the environment that surrounds the beehive for new sources of food.
onlookers (curious or in wait): they look for a food source across the information shared by the employees or by other explorers in the nest.
The exchange of information between the bees is the most important incident in the formation of a collective knowledge, since the meaning of this interaction the bees will decide the behavior that must take the beehive. The principal ways of bee behaviour are
the incorporation to a source of nectar: the communication between the bees related to the quality of food sources is realized in the zone of dance (dance of the bees), where with the information obtained about all the sources of food that are available, they decide which of all the sources is the most profitable to join.
the abandon of a source: by means of the dance it is determined if a source is no longer profitable and consequently it must be abandoned.
In Table
Summary of ABC main elements.
Generation of food sources  A solution to the optimization problem is a food source. It moves in a random way and with base in the low and superior limits of every variable of the problem 


Working bees  Their number is proportional to the number of food sources, where for every source there is a working bee, and its function is to evaluate and to modify the current solutions to improve them (it looks for new sources near the current one). If the new position is not better than the current, it will keep the original position 


Bees in wait  The number of bees in wait must be proportional to the number of sources. These bees will choose a food source, based on the information of the working bees by means of the waggle dance, where the food source with better value of objective function is selected 


Scout bees  These bees generate new sources of food in a random way to replace existing sources that have not been improved 


Limit  It defines the maximum number of cycles that a food source can keep without improving before being replaced. The limit increases from the source that is not modified by the bees; already they are used or in wait, up to obtaining its maximum allowed value. After this, the scout bees take charge of initializing the limit to 0 for every new generated position. The limit is initialized to 0 whenever a source is modified (improved) by a used bee or in wait 


Column adding  When solving SCP, it defines the number of columns to be added to the current food source 


Column elimination  When solving SCP, it defines the number of columns to be eliminated from the current food source 
The pseudocode of artificial bee colony is as in Algorithm
(1)
(2)
(3)
(4) Select sites for the local search
(5) Recruit bees for the selected sites and to evaluate fitness
(6) Select the bee with the best fitness
(7) Assign the remaining bees to looking for randomly
(8) Evaluate the fitness of remaining bees
(9)
(10)
(11)
(12)
The procedure for determining a food source in the neighborhood of a particular food source which depends on the nature of the problem. Karaboga [
Singh [
This approach is based on the idea that if an object is present in one good solution, then it is highly likely that this object is present in many good solutions. This method provides another advantage, consisting in that if the method fails to find an object different from the others objects in the original solution, this means that the two solutions are equal, such situation is called “collision” and it is resolved by making the employed bee associated with the original solution, a scout bee eliminating duplication.
This step includes initializing the parameters of ABC as size of the colony, number of workers and curious (onlookers or “in wait”) bees, limit of attempts, and maximum number of cycles.
To generate the initial population by every row—SCP constraint—a column—SCP variable—is selected at random from the set of columns with covering possibilities. A solution is represented by means of an entire vector as shown in Figure
Representation of a solution.
The fitness function is equal to the objective function of the SCP (
A hardworking bee modifies its position by means of the creation of a new solution based on a different food source selected randomly. It sees if at least it has a different column, in case of having not even a different column, the hardworking bee is transformed to an explorer in order to eliminate duplicated solutions. In opposite case, it proceeds to add a certain random number of columns between 0 and the maximum number of columns to be added.
After this, it proceeds to eliminate a certain random number of columns between 0 and the maximum number of columns to be eliminated. In case that new solution does not meet constraints, it is repaired. The fitness of the solution is evaluated; if the fitness (cost) is minor than the solution obtained in the beginning, the solution is replaced. In opposite case, it increases the number of attempts for improving this solution (limit).
A curious bee evaluates the information of the nectar through the workers and it chooses a source of food with the fitness proportionate selection method or roulettewheel selection.
They work alike to hardworking bees in Step
If the solution representing a source of food does not improve for a predetermined number of attempts (limit), then the source of food is left and is replaced by a new source of food generated as in Step
This step involves memorizing the best solution and increasing the counter of the cycle.
The process stops if the criteria of satisfaction expire; in opposite case return to Step
The ABC algorithm has been implemented in C in a 2.5 GHz Dual Core with 4 GB RAM computer, running windows 7.
Parameter values have a profound influence on the performance of ABC. The parameters were empirically adjusted, we determined their values in an experimental way, and for each parameter, a set of candidate values were considered. We modified the value of one parameter while keeping the others fixed. According to the best results, as parameter values in our experiments, we use ABC runs 1000 iterations with a population of 200 bees, where 100 corresponds to hardworking and 100 to curious. Limit = 50, maximum number of columns to add =
These parameters showed good results, but they cannot be the ideal ones for all the instances. ABC has been tested on 65 standard nonunicost SCP instances available from OR Library at
Details of the 65 test instances.
Instance set  Number of instances 


Cost range  Density (%)  Optimal solution 

4  10  200  1000 

2  Known 
5  10  200  2000 

2  Known 
6  5  200  1000 

5  Known 
A  5  300  3000 

2  Known 
B  5  300  3000 

5  Known 
C  5  400  4000 

2  Known 
D  5  400  4000 

5  Known 
NRE  5  500  5000 

10  Unknown 
NRF  5  500  5000 

20  Unknown 
NRG  5  1000  10000 

2  Unknown 
NRH  5  1000  10000 

5  Unknown 
In comparison with very recent works solving SCP—with cultural algorithms [
In order to bring out the efficiency of our proposal, the solutions of the complete set of instances have been compared with other metaheuristics. We compared our algorithm solving the complete set of 65 standard nonunicost SCP instances from OR Library with the newest ACObased algorithm for SCP in the literature: antcover + local search (ANT + LS) [
Tables
Experimental results—instances with optimal.
Instance  Optimum  Best value found  ABC Avg.  GA Avg.  SA Avg.  ANTLS Avg.  RPD (%) 

4.1  429  430  430.5  429.7  —  429  0.35 
4.2  512  512  512  512  —  512  0 
4.3  516  516  516  516  —  516  0 
4.4  494  494  494  494.8  —  494  0 
4.5  512  512  512  512  —  512  0 
4.6  560  561  561.7  560  —  560  0.30 
4.7  430  430  430  430.2  —  430  0 
4.8  492  493  494  492.1  —  492  0.41 
4.9  641  643  645.5  643.1  —  641  0.70 
4.10  514  514  514  514  —  514  0 
5.1  253  254  255  253  —  253  0.79 
5.2  302  309  310.2  303.5  —  302  2.72 
5.3  226  228  228.5  228  —  226  1.11 
5.4  242  242  242  242.1  —  242  0 
5.5  211  211  211  211  —  211  0 
5.6  213  213  213  213  —  213  0 
5.7  293  296  296  293  —  293  1.02 
5.8  288  288  288  288.8  —  288  0 
5.9  279  280  280  279  —  279  0.36 
5.10  265  266  267  265  —  265  0.75 
6.1  138  140  140.5  138  —  138  1.81 
6.2  146  146  146  146.2  —  146  0 
6.3  145  145  145  145  —  145  0 
6.4  131  131  131  131  —  131  0 
6.5  161  161  161  161.3  —  161  0 
A.1  253  254  254  253.2  —  253  0.40 
A.2  252  254  254  253  —  252  0.79 
A.3  232  234  234  232.5  —  232.8  0.86 
A.4  234  234  234  234  —  234  1.10 
A.5  236  237  238.6  236  —  236  0 
B.1  69  69  69  69  —  69  0 
B.2  76  76  76  76  —  76  0 
B.3  80  80  80  80  —  80  0 
B.4  79  79  79  79  —  79  0 
B.5  72  72  72  72  —  72  0 
C.1  227  230  231  227.2  —  227  1.76 
C.2  219  219  219  220  —  219  0 
C.3  243  244  244.5  246.4  —  243  0.62 
C.4  219  220  224  219.1  —  219  2.28 
C.5  215  215  215  215.1  —  215  0 
D.1  60  60  60  60  —  60  0 
D.2  66  67  67  66  —  66  1.52 
D.3  72  73  73  72.2  —  72  1.39 
D.4  62  63  63  62  —  62  1.61 
D.5  61  62  62  61  —  61  1.64 
Experimental results—instances with best known solution.
Instance  Optimum  Best value found  ABC Avg.  GA Avg.  SA Avg.  ANTLS Avg.  RPD (%) 

NRE.1  29  29  29  29  29  29  0 
NRE.2  30  30  30  30.6  30  30  0 
NRE.3  27  27  27  27.7  27  27  0 
NRE.4  28  28  28  28  28  28  0 
NRE.5  28  28  28  28  28  28  0 
NRF.1  14  14  14  14  14  14  0 
NRF.2  15  15  15  15  15  15  0 
NRF.3  14  14  14  14  14  14  0 
NRF.4  14  14  14  14  14  14  0 
NRF.5  13  13  13  13.7  13.7  13.5  0 
NRG.1  176  176  176  177.7  176.6  176  0 
NRG.2  154  154  154  156.3  155.3  155.1  0 
NRG.3  166  166  166  167.9  167.6  167.3  0 
NRG.4  168  168  168  170.3  170.7  168.9  0 
NRG.5  168  168  168  169.4  168.4  168.1  0 
NRH.1  63  63  63  64  64  64  0 
NRH.2  63  63  63  64  63.7  67.9  0 
NRH.3  59  59  59  59.1  59.4  59.4  0 
NRH.4  58  58  58  58.9  58.9  58.7  0 
NRH.5  55  55  55  55.1  55  55  0 
Examining Tables
ABC is able to find the optimal solution consistently, that is, in every trial, for 43 of 65 problems.
ABC is able to find the best known value in all instances of Table
ABC is able to find the best known value in all trials of Table
ABC has higher success rate compared to genetic algorithm, simulated annealing, and ants in sets NRE, NRF, NRG, and NRH. The
ABC can obtain optimal solutions in some instances where the other metaheuristics failed.
Our approach shows an excellent tradeoff between the quality of the solutions obtained and the computational effort required. In all cases, ABC converged very quickly (mainly from the 10th iteration) and its computation time in the runs was less than 2 seconds (except for NRG and NRH instances where the computation time was less than 30 secs).
Figures
Convergence analysis to a better solution (benchmarks: SCP41, SCP42, and SCP43).
Convergence analysis to a better solution (benchmarks: SCP51, SCP52, and SCP53).
In this paper we have presented an ABC algorithm for the SCP. We have performed experiments throught several ORLIB instances; our approach has been shown to be very effective, providing an unattended solving method, for quickly producing solutions of a good quality. Experiments showed interesting results in terms of robustness, where using the same parameters for different instances gave good results.
The promising results of the experiments open up opportunities for further research. We visualize different directions for future work as follows.
The fact that the presented algorithm is easy to implement clearly implies that ABC could also be effectively applied to other combinatorial optimization problems.
An interesting proposal by Teodor Crainic et al. at [
An interesting extension of this work would be related to hybridization with other metaheuristics or applying a hyperheuristic approach [
The use of autonomous search (AS) represents a new research field, and it provides practitioners with systems that are able to autonomously selftune their performance while effectively solving problems. Its major strength and originality consist in the fact that problem solvers can now perform selfimprovement operations based on analysis of the performances of the solving process [
Furthermore, we are considering to use different preprocessing steps from the OR literature, which allow to reduce the problem size [
The authors declare that there is no conflict of interests regarding the publication of this paper.
Broderick Crawford is supported by Grant CONICYT/FONDECYT/1140897. Ricardo Soto is supported by Grant CONICYT/FONDECYT/INICIACION/11130459. Fernando Paredes is supported by Grant CONICYT/FONDECYT/1130455.