# Artificial Bee Colony Algorithm Merged with Pheromone Communication Mechanism for the 0-1 Multidimensional Knapsack Problem

Authors: Junzhong Ji; Hongkai Wei; Chunnian Liu; Baocai Yin
Journal: Mathematical Problems in Engineering
 (2013)

---

## Abstract

Given a set ofn objects, the objective of the 0-1 multidimensional knapsack problem (MKP_01) is to find a subset of the object set that maximizes the total profit of the objects in the subset while satisfying m knapsack constraints. In this paper, we have proposed a new artificial bee colony (ABC) algorithm for the MKP_01. The new ABC algorithm introduces a novel communication mechanism among bees, which bases on the updating and diffusion of inductive pheromone produced by bees. In a number of experiments and comparisons, our approach obtains better quality solutions in shorter time than the ABC algorithm without the mechanism. We have also compared the solution performance of our approach against some stochastic approaches recently reported in the literature. Computational results demonstrate the superiority of the new ABC approach over all the other approaches.


---

## Body

## 1. Introduction

Given a setJ={o1,o2,…,on} of n objects and a knapsack with a set C={c1,c2,…,cm} of m dimensions, the 0-1 multidimensional knapsack problem (MKP_01) seeks a subset of J in such a way that the total profit of objects included in the subset is maximized, while m resource constraints remain satisfied. More formally, each object oj∈J has profit pj and weight rij in dimension i(1≤i≤m), and each dimension of the knapsack has a capacity ci. By introducing binary decision variable xj to indicate whether object oj is included into the knapsack (xj=1) or not (xj=0), the MKP_01 can be formulated as
(1)Maximize∑j=1n‍pjxjSubjectto∑j=1n‍rijxj≤ci,i=1,…,m,Subjecttoxj∈{0,1},j=1,…,n.The MKP_01 is a well-known NP-Hard problem. There are many practical applications which can be formulated as a MKP_01, for example, the capital budgeting problem, the cargo loading, the processor allocation in distributed systems, and the project selection. Therefore, more and more people recently focus on the research for solving the MKP_01. In general, the solving algorithms can be divided into two kinds: exact and heuristic methods [1]. The exact methods used to employ some typical search techniques, such as Enumeration algorithm [2], Branch and Bound method [3], and Approximate Dynamic programming [4]. These methods can be only applied to some small-scaled MKP_01 because the computation complexity is rather high. Subsequently, many heuristic search methods, including Genetic Algorithm (GA) [5, 6], Evolutionary Algorithm (EA) [7], Particle Swarm Optimization (PSO) [8], Ant Colony Optimization (ACO) [9–12], and Artificial Bee Colony (ABC) [13, 14], were proposed by simulating some natural phenomena. As these population-based methods are versatile and robust, thus they have been proved to be very effective methods. Thereinto, ABC algorithm is a recently proposed method, which employs the mechanism of combining local and global searches to effectively solve MKPs. However, since the algorithm framework itself is flawed, there is a main bottleneck that the iteration number is too large and the convergence time is too long, which strongly restricts the development of ABC algorithm. In [15], we proposed an artificial bee colony algorithm for the MKP_01, which introduced the pheromone into ABC algorithm and gave the corresponding transition strategy. Though there are still some problems, the preliminary experimental results in [15] are very encouraging, and these results are significant motivations for the present research. This paper conducts a further and thorough investigation along this line. In comparison with our previous work, the main new contributions of this paper include the following.(
1
) Based on the researches of entomologists, a new algorithm, combining chemical communication way and behavior communication way for solving MKP_01 (ABCPUD-MKP), has been developed. First, the paper extends our previous work, analyzes, and explicitly presents the pheromone communication mechanism. Second, the paper designs the constructing method of feasible solutions based on the new mechanism. Third, the paper introduces the special updating and diffusing strategies of the inductive pheromone. An important characteristic of the new algorithm is that the collaborations among bees can be strengthened, and the intelligent foraging behavior of honey swarm can be mimicked more faithfully by means of updating and diffusion of the inductive pheromone.(
2
) Systematic experiments have been conducted to compare the proposed algorithm with the previous work and some other algorithms proposed recently in respective literatures on many instances of two benchmark data sets. Moreover, the sensitivity to algorithmic parameters and effects of different parameter selections have been experimentally investigated.The rest of this paper is organized as follows. Section2 provides an introduction to the artificial bee colony algorithm and the basic idea of the ABC for the MKP_01. In Section 3, we describe our new algorithm for the MKP_01. Computational results are presented in Section 4. Finally, we conclude the paper in Section 5.


## 2. ABC Algorithm and Its Application in the MKP_01

### 2.1. The Artificial Bee Colony (ABC) Algorithm

The artificial bee colony algorithm is a population-based metaheuristic approach proposed recently; it finds near-optimal solutions to the difficult optimization problems by simulating the intelligent foraging behavior of a honeybee swarm. There are three groups of the foraging bees, employed ones, onlookers, and scouts. All bees that are currently exploiting food sources are called employed bees. These bees bring nectar from different food sources to their hive. Onlooker bees are those bees who are waiting in the hive for the information on food sources to be shared by the employed bees, and scout bees are those bees that are currently searching for new food sources near the hive. By dancing in a common area of the hive, employed bees share the information on food sources with onlooker bees. The duration of a dance of an employed bee depends on the nectar content of the food source currently being exploited. After watching numerous dances, onlooker bees choose a food source according to the probability proportional to the quality of that food source. Therefore, the good food sources can attract more onlookers than the poor ones. Onlooker bees help the employed bee, who associated with the same food source, to perform the exploiting job within the neighborhood of the food source. Whenever a food source is exploited fully, it is abandoned by the employed bee associated with it. Then, the employed bee becomes a scout. The task of a scout is to look for a new food source around the hive that can be viewed as performing the job of exploration. Once a scout bee finds a new food source in its global expedition, it again becomes an employed one and continue its local exploiting job.Based on such an intelligent foraging behavior of honey bee swarm, the Artificial Bee Colony (ABC) algorithm is proposed by Karaboga [16] and further developed in [17, 18]. The overall process of the ABC algorithm is given in Algorithm 1.Algorithm 1:ABC.
1. Initialization: Initialize parameters K, N, Limit, Ci=0 (i=1,…, K);
2. Initial solutions: Randomly generated K food sources {Si(0)∣i=1,…, K};
3. Loop:
For t=1 to N do:
{
(1) Fori=1 to K do: (employed bees select food sources and perform local searches respectively)
{Associate each employed bee with a food source Si(t) and compute its nectar amount;
Find a newSi′(t) in the neighborhood of Si(t) and compute its nectar amount;
Take the better one in{Si′(t), Si(t)} as a new location of the employed bee;}
(2) Forj=1 to K do: (onlooker bees help employed bees to perform further local searches)
{Select a food source Sj(t) from {Si(t)} for every onlooker bee;
Find a newSj′(t) in the neighborhood of Sj(t) and compute its nectar amount;
Take the better one in{Sj′(t), Sj(t)} as a new location of the corresponding bees;}
(3) Exploiting new food sources (scout bees randomly carry out global searches)
For i=1 to K do: (food sources)
{If Si(t)=Si(t-1) then Ci=Ci+1;
IfCi = Limit then
{Abandon theSi(t) and the associated employed bee becomes a scout;
Randomly generate a new Si(t) and the scout becomes an employed bee again;
Ci=0;}}
(4) Memorize the best food sourceSbest found so far;
t=t+1;
}
4. Output: Return Sbest while the predefined end condition is met.Each cycle of the search consists of three main steps. The first two steps are moving the employed and onlooker bees onto the food sources and performing local optimization in an exploiting way, and the third step employs a scout bee as an explorer to find a new food source for each food source exploited fully. A food source represents a feasible solution to the problem to be optimized. Due to the nectar amount of a food source corresponds to the quality of the solution represented by that food source, so the employed and onlooker bees make use of such a quantity to perform an exploitive search in a local area. Whenever a solution representing a food source is not improved by a predetermined number of cycles, then that food source is abandoned by its employed bee, and the employed bee becomes a scout. The number of cycles for releasing a food source is called a threshold value oflimit. Every scout is an explorer who does not have any guidance while looking for a new food. That is, a scout may find any kind of food source. Therefore, sometimes a scout might accidentally discover more rich and entirely unknown food source. As a result of such behavior of scout bees, ABC algorithm can overcome the stagnation phenomenon of solutions which is a general problem of the stochastic search methods for solving a combinatorial optimization problem. It is important to note that exploration and exploitation processes are carried out together in ABC algorithm. More specially, employed and onlooker bees accomplish the exploitation process in the search space, while the scouts control the exploration process. In the ABC algorithm, local and global searches have been incorporated into different behaviors of different bees, and three kinds of bees work together to complete the evolution of solutions.Since the ABC algorithm was proposed in 2005, it has been applied in many research fields in recent years, such as data clustering [19], flow shop scheduling problem [20, 21], multiobjective optimization [22], neural network training [23] and synthesis [24], image processing [25], generalized assignment problem [26], coupled ladder network [27], and nurse Rostering [28]. Studies [17, 29] have indicated that ABC algorithms have high search capability to find good solutions efficiently.


### 2.2.  ABC Algorithm for the MKP_01

Following above the ideas of ABC algorithm, Sundar et al. presented a method which integrates ABC algorithm with the MKP_01, called ABC-MKP [13]. In the algorithm, a food source represents a feasible solution constituted a subset of objects for the MKP_01, so the total profit value of objects in the subset is viewed as the nectar amount to evaluate the quality of food sources. Moreover, the ABC-MKP uses binary tournament selection method for selecting a food source for onlookers, that is, two different food sources are randomly selected from the food sources associated with employed bees, then the food source containing richer nectar amount among these two food sources is selected with a random probability bt otherwise the poorer one is selected. For the ABC-MKP algorithm, determination of a new solution in the neighborhood of a solution is the most important process where two specific heuristic-based change operators and general local search are incorporated.To determine a solution in the neighborhood of a solutioni, the ABC-MKP algorithm randomly selects another solution sj(sj≠si), then randomly selects two distinct objects with the maximum profit values from sj which are not present in si and add them to si which makes solution si infeasible. When this method fails to find even one object in sj different from the objects of si, then it means that si and sj are the same solution [30]. There are two different processes for such a situation. In case of an employed bee, the employed bee abandons its associated solution to become a scout, and this scout is again made employed by looking for a new randomly generated solution. There is no further operations like change operator and local search. However, if the same solution occurs while determining a new neighborhood solution for an onlooker, then another solution sj is selected randomly. This process is repeated until a solution sj which is different from the solution si is found. And then, the process of making the infeasible solution feasible begins with a change operator. The change operator includes DROP PHASE and ADD PHASE [5]. The DROP PHASE drops objects in a way, which is combined random selection with greedy search, until the infeasible solution becomes feasible. With probability pd, the objects of solution si are dropped in the increasing order of their pseudoutility ratios; otherwise, the objects of the solution si are dropped randomly. During ADD PHASE, objects which are not in the solution si are sorted in decreasing order in light of their pseudoutility ratios. Then each sorted and unselected object is checked one by one whether it can be added to the solution si without violating the feasibility. If so, then the object is added to the solution si. This process is repeated until all unselected objects are searched for inclusion.The ABC-MKP algorithm uses the local search in 1-1 exchange and 2-1 exchange ways to improve the solution quality [31]. That is, the local search tries to repeatedly exchange one or two selected objects with an unselected object if such exchange can increase the total profit while maintaining the feasibility of the solution. In 1-1 exchange way, the algorithm repeatedly exchanges a selected object in the order appeared in the knapsack with the unselected object of highest profit that will keep the solution feasible after the exchange. In 2-1 exchange way, the algorithm exchanges a pair of selected objects with the first unselected object which will keep the solution feasible after the exchange, and total profit will increase or remain the same. The 2-1 exchange is also repeated till a swapping move has been found or all pairs have been considered. As the local search costs much running time of ABC algorithm, therefore, the number of application of the local search is limited empirically. Moreover, 1-1 exchange and 2-1 exchange are used by a probability Pls in a mutually exclusive manner, that is, a real number p is randomly generated from [0,1]. If the p≤Pls, then 1-1 exchange with maximum five applications is used as the local search; otherwise a single 2-1 exchange is used as the local search.


## 2.1. The Artificial Bee Colony (ABC) Algorithm

The artificial bee colony algorithm is a population-based metaheuristic approach proposed recently; it finds near-optimal solutions to the difficult optimization problems by simulating the intelligent foraging behavior of a honeybee swarm. There are three groups of the foraging bees, employed ones, onlookers, and scouts. All bees that are currently exploiting food sources are called employed bees. These bees bring nectar from different food sources to their hive. Onlooker bees are those bees who are waiting in the hive for the information on food sources to be shared by the employed bees, and scout bees are those bees that are currently searching for new food sources near the hive. By dancing in a common area of the hive, employed bees share the information on food sources with onlooker bees. The duration of a dance of an employed bee depends on the nectar content of the food source currently being exploited. After watching numerous dances, onlooker bees choose a food source according to the probability proportional to the quality of that food source. Therefore, the good food sources can attract more onlookers than the poor ones. Onlooker bees help the employed bee, who associated with the same food source, to perform the exploiting job within the neighborhood of the food source. Whenever a food source is exploited fully, it is abandoned by the employed bee associated with it. Then, the employed bee becomes a scout. The task of a scout is to look for a new food source around the hive that can be viewed as performing the job of exploration. Once a scout bee finds a new food source in its global expedition, it again becomes an employed one and continue its local exploiting job.Based on such an intelligent foraging behavior of honey bee swarm, the Artificial Bee Colony (ABC) algorithm is proposed by Karaboga [16] and further developed in [17, 18]. The overall process of the ABC algorithm is given in Algorithm 1.Algorithm 1:ABC.
1. Initialization: Initialize parameters K, N, Limit, Ci=0 (i=1,…, K);
2. Initial solutions: Randomly generated K food sources {Si(0)∣i=1,…, K};
3. Loop:
For t=1 to N do:
{
(1) Fori=1 to K do: (employed bees select food sources and perform local searches respectively)
{Associate each employed bee with a food source Si(t) and compute its nectar amount;
Find a newSi′(t) in the neighborhood of Si(t) and compute its nectar amount;
Take the better one in{Si′(t), Si(t)} as a new location of the employed bee;}
(2) Forj=1 to K do: (onlooker bees help employed bees to perform further local searches)
{Select a food source Sj(t) from {Si(t)} for every onlooker bee;
Find a newSj′(t) in the neighborhood of Sj(t) and compute its nectar amount;
Take the better one in{Sj′(t), Sj(t)} as a new location of the corresponding bees;}
(3) Exploiting new food sources (scout bees randomly carry out global searches)
For i=1 to K do: (food sources)
{If Si(t)=Si(t-1) then Ci=Ci+1;
IfCi = Limit then
{Abandon theSi(t) and the associated employed bee becomes a scout;
Randomly generate a new Si(t) and the scout becomes an employed bee again;
Ci=0;}}
(4) Memorize the best food sourceSbest found so far;
t=t+1;
}
4. Output: Return Sbest while the predefined end condition is met.Each cycle of the search consists of three main steps. The first two steps are moving the employed and onlooker bees onto the food sources and performing local optimization in an exploiting way, and the third step employs a scout bee as an explorer to find a new food source for each food source exploited fully. A food source represents a feasible solution to the problem to be optimized. Due to the nectar amount of a food source corresponds to the quality of the solution represented by that food source, so the employed and onlooker bees make use of such a quantity to perform an exploitive search in a local area. Whenever a solution representing a food source is not improved by a predetermined number of cycles, then that food source is abandoned by its employed bee, and the employed bee becomes a scout. The number of cycles for releasing a food source is called a threshold value oflimit. Every scout is an explorer who does not have any guidance while looking for a new food. That is, a scout may find any kind of food source. Therefore, sometimes a scout might accidentally discover more rich and entirely unknown food source. As a result of such behavior of scout bees, ABC algorithm can overcome the stagnation phenomenon of solutions which is a general problem of the stochastic search methods for solving a combinatorial optimization problem. It is important to note that exploration and exploitation processes are carried out together in ABC algorithm. More specially, employed and onlooker bees accomplish the exploitation process in the search space, while the scouts control the exploration process. In the ABC algorithm, local and global searches have been incorporated into different behaviors of different bees, and three kinds of bees work together to complete the evolution of solutions.Since the ABC algorithm was proposed in 2005, it has been applied in many research fields in recent years, such as data clustering [19], flow shop scheduling problem [20, 21], multiobjective optimization [22], neural network training [23] and synthesis [24], image processing [25], generalized assignment problem [26], coupled ladder network [27], and nurse Rostering [28]. Studies [17, 29] have indicated that ABC algorithms have high search capability to find good solutions efficiently.


## 2.2.  ABC Algorithm for the MKP_01

Following above the ideas of ABC algorithm, Sundar et al. presented a method which integrates ABC algorithm with the MKP_01, called ABC-MKP [13]. In the algorithm, a food source represents a feasible solution constituted a subset of objects for the MKP_01, so the total profit value of objects in the subset is viewed as the nectar amount to evaluate the quality of food sources. Moreover, the ABC-MKP uses binary tournament selection method for selecting a food source for onlookers, that is, two different food sources are randomly selected from the food sources associated with employed bees, then the food source containing richer nectar amount among these two food sources is selected with a random probability bt otherwise the poorer one is selected. For the ABC-MKP algorithm, determination of a new solution in the neighborhood of a solution is the most important process where two specific heuristic-based change operators and general local search are incorporated.To determine a solution in the neighborhood of a solutioni, the ABC-MKP algorithm randomly selects another solution sj(sj≠si), then randomly selects two distinct objects with the maximum profit values from sj which are not present in si and add them to si which makes solution si infeasible. When this method fails to find even one object in sj different from the objects of si, then it means that si and sj are the same solution [30]. There are two different processes for such a situation. In case of an employed bee, the employed bee abandons its associated solution to become a scout, and this scout is again made employed by looking for a new randomly generated solution. There is no further operations like change operator and local search. However, if the same solution occurs while determining a new neighborhood solution for an onlooker, then another solution sj is selected randomly. This process is repeated until a solution sj which is different from the solution si is found. And then, the process of making the infeasible solution feasible begins with a change operator. The change operator includes DROP PHASE and ADD PHASE [5]. The DROP PHASE drops objects in a way, which is combined random selection with greedy search, until the infeasible solution becomes feasible. With probability pd, the objects of solution si are dropped in the increasing order of their pseudoutility ratios; otherwise, the objects of the solution si are dropped randomly. During ADD PHASE, objects which are not in the solution si are sorted in decreasing order in light of their pseudoutility ratios. Then each sorted and unselected object is checked one by one whether it can be added to the solution si without violating the feasibility. If so, then the object is added to the solution si. This process is repeated until all unselected objects are searched for inclusion.The ABC-MKP algorithm uses the local search in 1-1 exchange and 2-1 exchange ways to improve the solution quality [31]. That is, the local search tries to repeatedly exchange one or two selected objects with an unselected object if such exchange can increase the total profit while maintaining the feasibility of the solution. In 1-1 exchange way, the algorithm repeatedly exchanges a selected object in the order appeared in the knapsack with the unselected object of highest profit that will keep the solution feasible after the exchange. In 2-1 exchange way, the algorithm exchanges a pair of selected objects with the first unselected object which will keep the solution feasible after the exchange, and total profit will increase or remain the same. The 2-1 exchange is also repeated till a swapping move has been found or all pairs have been considered. As the local search costs much running time of ABC algorithm, therefore, the number of application of the local search is limited empirically. Moreover, 1-1 exchange and 2-1 exchange are used by a probability Pls in a mutually exclusive manner, that is, a real number p is randomly generated from [0,1]. If the p≤Pls, then 1-1 exchange with maximum five applications is used as the local search; otherwise a single 2-1 exchange is used as the local search.


## 3. ABC Algorithm Based on Pheromone Communication Mechanism for the MKP_01

Though ABC algorithm has increased tremendously in many research topics, so far the only communication mechanism based on the dancing behaviors is employed to exchange information among bees in almost all applications of the ABC algorithm. From the view of entomologists, there are many ways to transfer information among bees, such as a behavior way (dancing), a chemical way (pheromone), and a physical way (light and sound). In this paper, we will introduce a chemical way with the inductive pheromone into the ABC algorithm for solving the MKP_01.


### 3.1. Communication Mechanism Based on the Inductive Pheromone

In nature, an important way in which organisms can communicate with each other is through the use of pheromone. Pheromone is produced as a liquid and transmitted by direct contact as a liquid or as a vapor. The pheromone is a chemical messenger secreted by one individual which causes a specific response in other members of the same species. Ants and bees demonstrate two prominent examples of pheromone usage, which acknowledges their incredible capability to organize the behaviors of the whole colony. By means of the communication way of pheromone [32, 33], ant colony optimization (ACO) algorithm becomes one of the most well-known algorithms and has been successfully applied in several real-world problems. The success of the use of pheromone in ACO inspirits us to incorporate the communication mechanism of pheromone into a new ABC algorithm, which is highly possible to improve the performance of the ABC algorithm.In fact, research on the behavior of real bees has greatly inspired our work. Biologists have discovered that bees are also well known for communicating through the use of pheromone [34, 35]. Like ants, bees use pheromone for a number of different communication and behavior-control purposes. One pheromone may cause many different responses, depending on environmental conditions and pheromone concentration. Honeybee pheromone can be grouped into releaser pheromone with short-term effects and primer pheromone with long-term effects; thereinto, releaser pheromone changes the behavior of the recipient. Releaser pheromones have a short-term effect, and they trigger an almost immediate behavioral response from the receiving bee. The inductive pheromone is a kind of releaser pheromone which is left by bees when they walk and is useful in searching for nectar. To mimic such behavior of real bees in some extent, we establish a new communication mechanism among bees in our new ABC algorithm, which includes some new strategies based on the inductive pheromone.


### 3.2. Construction of Feasible Solutions Based on the New Mechanism

At each iteration of our algorithm, each candidate solution associated to a scout bee is constructed by means of the inductive pheromone and heuristic information. It first randomly chooses an initial object and then iteratively adds objects chosen from an available set, which contains all the objects that can be selected without violating resource constraints.Using the ideas of AS_MKP [9], the quantity of pheromone laying on an object oi is denoted by τi(t) (t is the number of iterations). When t=0, τi(0)=1/∑j=1n‍pj(j=1,…,n). At each step of the construction of a solution, a scout l randomly selects the next object oj within the set of candidates with respect to a probability Pjl(t). This probability is defined proportionally to a pheromone factor and a heuristic factor, that is,
(2)pjl(t)={[τj(t)]α·[ηj(Sl(t))]β∑i∈allowedl(t)[τi(t)]α·[ηi(Sl(t))]β,j∈allowedl(t)0,otherwise,
where Sl(t) is a partial solution set acquired by the l-th scout at the time t, allowedl(t)⊆J-Sl(t) is the candidate set of remaining available objects, ηj(Sl(t)) represents a local heuristic information, and the parameters α and β determine the relative importance of pheromone trail versus heuristic factor for an object j. Thus, the higher the value of τj(t) and ηj(Sl(t)), the more profitable it is to select object j in the partial solution.


#### 3.2.1. Heuristic Function

There are many constraints in a MKP, so the heuristic factor depends on not only the setallowedl(t) of candidate objects but also the whole set Sl(t) of selected objects. Let ui(l,t)=∑k∈Sl(t)‍rik be the consumed quantity of the resource i when the bee l has selected those objects in Sl(t) at the time t and γi(l,t)=ci-ui(l,t) be the remaining capacity of the resource i, then the tightness of a candidate object j on the resource i can be expressed as
(3)δij(l,t)=rijγi(l,t).The equation represents a ratio betweenrij and γi(l,t). Further, when an object is chosen to be included in Sl(t), the average tightness on all constraints is defined as
(4)δj(l,t)=∑i=1mδij(l,t)m.From the view of consumption of resources, the lower the tightness ratio, the more the object is profitable to be selected. Moreover, the profitspj must be taken in account in order to get a pseudoutility measure for each candidate object, Thus, the local heuristic function for the MKP, ηj(Sl(t)), can be defined as follows:
(5)ηj(Sl(t))=pjδj(l,t).


#### 3.2.2. Inductive Pheromone Updating

Once each food source (solution) has been optimized at every iteration, pheromone trails of the objects are updated. More specifically, in light of the profit value of every solution associated by employed bees, the algorithm updates the pheromone intensity for objects interrelated, the formula is as follows:(6)τi(t+1)=(1-ρ)τi(t)+Δτi(t,t+1),(7)Δτi(t,t+1)=∑l=1K‍Δτil(t,t+1),(8)Δτil(t,t+1)={Q·L(Sl),oi∈Slforlthbee0,otherwise,
where 0<ρ≤1 is a coefficient which represents pheromone evaporation, the Δτil(t,t+1) represents the pheromone trail that the lth bee deposited on the object i in the iteration, and the Δτi(t,t+1) represents the pheromone increment that all the bees deposited on the object i. Q is a constant parameter for an instance of MKP (Q=1/∑j=1n‍pj), and L(Sl) is the value of the objective function of the solution Sl obtained by the lth bee.From these descriptions about the heuristic function and pheromone updating, we can know that a value of the transition probability represents a trade-off between pseudoutility and pheromone intensity. That is, those objects which consume less resources and have more profit should be chosen with a high probability. On the other hand, if an object is included in many solutions, then it is highly desirable due to having high pheromone intensity.


### 3.3. Diffusion Strategy of the Inductive Pheromone

Using the new mechanism for solving MKPs, the key point is how to decide which components of the constructed solutions should be rewarded, and how to exploit these rewards when constructing a new solution. There are two different methods:(1) the first one is to lay pheromone trails on each object selected in J, which considers, respectively, the desirability of each object. The more frequent an object occurs in solutions, the more likely it would be selected when constructing a new solution. (2) The other one is to lay pheromone on each pair (oi,oj) of different objects in J, which considers together the desirability of two objects in J. If some objects of J have been contained in a new partial solution, then the other objects that often occurred together with these objects in pairs of some solutions will be more attractive. Our algorithm combines these two ways into pheromone updating and diffusion.


#### 3.3.1. Associated Distance Based on Top-k Strategy

If we take a solution acquired by a bee as a transaction while solving a MKP, then we can get a transaction database in each iteration of a bee colony. Observing the transaction database, it is no difficult to find that some objects occur together with other objects in pairs. In other words, there are some frequent object pairs in the feasible solution space, which implies the relationship between two objects of each pair. Therefore, we give a definition of an associated distance between two objects.Definition 1 (associated distance).
LetD be a database with K transactions; each transaction p(p=1,2,…,K) represents a feasible solution Sp(Sp⊆J), and (oi,oj) is a pair of objects in J. If the pair of (oi,oj) appears f(f=0,1,2,…,K) times in D, then we define the associated distance of this pair as: dr(oi,oj)=1/(f+1).From this definition, we can observe the two properties:(1)
dr(oi,oj)=dr(oj,oi);(2)
0<dr(oi,oj)≤1.The first property denotes the symmetry of the associated distance, which shows that the associated distance is irrelative with the order of objects. And the second property defines the value range of the associated distance; it indicates that the more frequent an object pair appears inD, the shorter the associated distance. That is, the higher the relation degree between the two objects, the smaller dr(oi,oj) is. When dr(oi,oj)=1, the two objects are absolutely irrelative.To solve an MKP with the ABC algorithm, the number of a bee colony is usually proportional to the number of objects inJ. Thus, every iteration for a bee colony may produce a set of solutions (database), whose size approaches the number of objects in the MKP. Due to the frequency statistic (f) for an object pair needs to scan the database in each iteration, so the computation costs of the associated distances for all object pairs may be very expensive for the large-scale MKP. Moreover, the most important idea in swarming intelligence is to strengthen the effect of good solutions and reduce the effect of bad solutions; thus, our ABC algorithm did not treat equivalently all solutions. Therefore, we adopt the idea of Top-k query widely applied in Web search engine to emphasize the influence of good solutions. More precisely, we take the objective function of MKPs as the Top-k function, select the k solutions which have the higher values of the objective function to form a transaction database DTop-k, and then find the associated distances among objects from the DTop-k. This method has two advantages: (1) reduce the computation complexity. When considering all solutions in each iteration, mining the associated distances needs O(K·Cn2)≈O(n3). However, If only considering Top-k solutions (k≪K), the computation complexity is O(k·n2). And (2) give prominence to the preference to the better solutions (i.e., Top-k best solutions), thus strengthen the intellectual insight of the better solutions to the next optimization.


#### 3.3.2. Pheromone Diffusion Based on Associated Distances

In our new mechanism, the chemistry substance called pheromone is an important carrier for a bee colony to implement swarming intelligence. While the time passing, the pheromone gradually volatilizes; that is, the pheromone can diffuse around. To simulate this phenomenon, we present a pheromone diffusion model and the corresponding algorithm for solving MKPs. The basic idea is to take into account the pheromone influences among close objects when a bee constructs a feasible solution. Namely, based on coupling actions among near strength fields of pheromone diffusions, the algorithm performs decoupling compensates for the pheromone of near objects. Thus, the closer the associated distance, the stronger the coupling action is, and yet the further the associated distance, the weaker the coupling action is.LetΔτi be the pheromone trail on an object oi laid by the bee colony; we can give the pheromone diffusion model based on the associated distance. Figure 1 shows the sketch map of the pheromone diffusion, where the red dot(•) denotes the object oi as an info fountain, those white dots (∘) denote the other different objects influenced by oi, and different circles can be interpreted as equipotential lines of the intensity field for different locations. The figure shows that the pheromone trail diffuses around by taking an info fountain as a center of the diffusion intensity field, the closer to the info fountain the location, the stronger the field force of the intensity field is. More precisely, the pheromone influence of an info fountain on other objects will gradually reduce as the associated distance between objects becomes long. Therefore, we can give a simple diffusion model:
(9)Δτij={(1k+1)·Δτidr(oi,oj),ifdr(oi,oj)<1,0,otherwise.The sketch map of the pheromone diffusion ofOi and its intensity field. (a) The relationship between the intensity Δτi and the associated distance dr for the info fountain Oi. (b) The corresponding intensity field and areas of the pheromone diffusion.
(a)
(b)Based on such a pheromone diffusion model, the behavior of selection of an object for a bee can change the pheromone intensity not only on the selected object but also on other objects related with the selected object. Thus, the pheromone updating of the objectoj in (6) can be revised as follows:
(10)τi′(t,t+1)=τi(t,t+1)+∑r‍Δτri,
where r is one of the objects which are associated with the object oi. This change more faithfully reflects the volatilization character of pheromone and then can lead bees to select objects in an impersonal way. Thus, the pheromone diffusion model can enhance the collaboration among bees in a colony, improve the effectiveness of the ABC algorithm, and in evidence incarnate the idea of swarm intelligence.


### 3.4. Algorithm Description and Analysis

Based on pheromone updating and diffusion, we design and achieve an ABC algorithm called ABCPUD for the MKPs. The algorithm holds the basic steps of original ABC algorithms, however adds the new strategies based on the inductive pheromone in the generation process of solutions. The overall process of ABCPUD-MKP algorithm is given in Algorithm2.Algorithm 2:ABCPUD-MKP.
1. Initialization: Initialize parameters K,N,Limit,α,β,Q,τ0,Ci=0 (i=1,…, K) and so on;
2. Initial solutions: Randomly generated K food sources {Si(0)∣i=1,…, K};
3. Loop:
For t=1 to N do:
{
(1) For i=1 to K do: (local searches performed by employed bees)
{Associate each employed bee with a food source Si(t) and compute its nectar amount;
Find a new Si′(t) in the neighborhood of Si(t) and compute its nectar amount;
Take the better one in {Si′(t), Si(t)} as a new location of the employed bee;}
(2) Forj=1 to K do: (further local searches performed by onlooker bees)
{Select a food source Sj(t) from {Si(t)} for every onlooker bee;
Find a new Sj′(t) in the neighborhood of Sj(t) and compute its nectar amount;
Take the better one in {Sj′(t), Sj(t)} as a new location of the corresponding bees;}
(
3
) Exploiting new food sources(global searches with a guidance performed by scout bees)
For l=1 to K do: (food sources)
{If Sl(t)=Sl(t-1) then Cl=Cl+1;
If Cl=Limit then
{Abandon food source l and the associated employed bee becomes a scout;
S
l
(
t
)={}, allowedl=J;
Repeat (constructing a new solution)
Select an object j with Pjl(t) given by (2);
Add the object into the current solution: Sl(t)=Sl(t)+{oj};
a
l
l
o
w
e
d
l
=
a
l
l
o
w
e
d
l
-
{
o
j
};
Until  allowedl is empty
The scout bee becomes again an employed bee;
C
l
=
0;}}
(
4
) Generating, diffusing and updating the pheromone
For each object oi in J
Calculate the Δτi according to (7) and (8).
Select the Top-k solutions from this iteration, and obtain DTop-k;
For each solution Sw∈DTop-k
{For each pair of objects cij in Sw
c
i
j.count++;
Calculate the associated distance dr(oi,oj)
Calculate Δτij according to (9);}
For each object oi in J
Update the trail level τj on all objects according to (6) and (10);
(5) Perform the local optimization in 1-1 or 2-1 exchange ways;
(6) Memorize the best food source Sbest found so far;
t=t+1;
}
4. Output: Return Sbest while the predefined end condition is met.From Algorithm2, we can see that the ABCPUD-MKP is a hybrid algorithm which merges two communication ways among bees. Based on the behavior communication way, the employed bees and onlooker bees gradually optimize their associated solutions in solution neighbors as the iteration carrying through. On the other hand, the scout bees constructed new solutions in light of the chemical communication way which employs the pheromone accumulated by bees to induct the selection of objects. The important differences between the ABC-MKP and the ABCPUD-MKP focus on two phases, that is, exploring new food sources and generating, diffusing, and updating the pheromone only used by ABCPUD-MKP.During exploring new food sources, the ABCPUD-MKP employs the transition probability based on pheromone trails and heuristic information to insightfully construct new solutions, which keeps high quality of the new solution. Moreover, the ABCPUD-MKP not only makes use of solutions acquired at every iteration to accumulate pheromone on objects but also emphasizes the pheromone influences among associated objects by means of the pheromone diffusion model which stresses the effect of the bestTop-k solutions. Therefore, the ABCPUD-MKP may lead to rapidly select the most profitable nectar source by means of the new communication mechanism.


## 3.1. Communication Mechanism Based on the Inductive Pheromone

In nature, an important way in which organisms can communicate with each other is through the use of pheromone. Pheromone is produced as a liquid and transmitted by direct contact as a liquid or as a vapor. The pheromone is a chemical messenger secreted by one individual which causes a specific response in other members of the same species. Ants and bees demonstrate two prominent examples of pheromone usage, which acknowledges their incredible capability to organize the behaviors of the whole colony. By means of the communication way of pheromone [32, 33], ant colony optimization (ACO) algorithm becomes one of the most well-known algorithms and has been successfully applied in several real-world problems. The success of the use of pheromone in ACO inspirits us to incorporate the communication mechanism of pheromone into a new ABC algorithm, which is highly possible to improve the performance of the ABC algorithm.In fact, research on the behavior of real bees has greatly inspired our work. Biologists have discovered that bees are also well known for communicating through the use of pheromone [34, 35]. Like ants, bees use pheromone for a number of different communication and behavior-control purposes. One pheromone may cause many different responses, depending on environmental conditions and pheromone concentration. Honeybee pheromone can be grouped into releaser pheromone with short-term effects and primer pheromone with long-term effects; thereinto, releaser pheromone changes the behavior of the recipient. Releaser pheromones have a short-term effect, and they trigger an almost immediate behavioral response from the receiving bee. The inductive pheromone is a kind of releaser pheromone which is left by bees when they walk and is useful in searching for nectar. To mimic such behavior of real bees in some extent, we establish a new communication mechanism among bees in our new ABC algorithm, which includes some new strategies based on the inductive pheromone.


## 3.2. Construction of Feasible Solutions Based on the New Mechanism

At each iteration of our algorithm, each candidate solution associated to a scout bee is constructed by means of the inductive pheromone and heuristic information. It first randomly chooses an initial object and then iteratively adds objects chosen from an available set, which contains all the objects that can be selected without violating resource constraints.Using the ideas of AS_MKP [9], the quantity of pheromone laying on an object oi is denoted by τi(t) (t is the number of iterations). When t=0, τi(0)=1/∑j=1n‍pj(j=1,…,n). At each step of the construction of a solution, a scout l randomly selects the next object oj within the set of candidates with respect to a probability Pjl(t). This probability is defined proportionally to a pheromone factor and a heuristic factor, that is,
(2)pjl(t)={[τj(t)]α·[ηj(Sl(t))]β∑i∈allowedl(t)[τi(t)]α·[ηi(Sl(t))]β,j∈allowedl(t)0,otherwise,
where Sl(t) is a partial solution set acquired by the l-th scout at the time t, allowedl(t)⊆J-Sl(t) is the candidate set of remaining available objects, ηj(Sl(t)) represents a local heuristic information, and the parameters α and β determine the relative importance of pheromone trail versus heuristic factor for an object j. Thus, the higher the value of τj(t) and ηj(Sl(t)), the more profitable it is to select object j in the partial solution.


### 3.2.1. Heuristic Function

There are many constraints in a MKP, so the heuristic factor depends on not only the setallowedl(t) of candidate objects but also the whole set Sl(t) of selected objects. Let ui(l,t)=∑k∈Sl(t)‍rik be the consumed quantity of the resource i when the bee l has selected those objects in Sl(t) at the time t and γi(l,t)=ci-ui(l,t) be the remaining capacity of the resource i, then the tightness of a candidate object j on the resource i can be expressed as
(3)δij(l,t)=rijγi(l,t).The equation represents a ratio betweenrij and γi(l,t). Further, when an object is chosen to be included in Sl(t), the average tightness on all constraints is defined as
(4)δj(l,t)=∑i=1mδij(l,t)m.From the view of consumption of resources, the lower the tightness ratio, the more the object is profitable to be selected. Moreover, the profitspj must be taken in account in order to get a pseudoutility measure for each candidate object, Thus, the local heuristic function for the MKP, ηj(Sl(t)), can be defined as follows:
(5)ηj(Sl(t))=pjδj(l,t).


### 3.2.2. Inductive Pheromone Updating

Once each food source (solution) has been optimized at every iteration, pheromone trails of the objects are updated. More specifically, in light of the profit value of every solution associated by employed bees, the algorithm updates the pheromone intensity for objects interrelated, the formula is as follows:(6)τi(t+1)=(1-ρ)τi(t)+Δτi(t,t+1),(7)Δτi(t,t+1)=∑l=1K‍Δτil(t,t+1),(8)Δτil(t,t+1)={Q·L(Sl),oi∈Slforlthbee0,otherwise,
where 0<ρ≤1 is a coefficient which represents pheromone evaporation, the Δτil(t,t+1) represents the pheromone trail that the lth bee deposited on the object i in the iteration, and the Δτi(t,t+1) represents the pheromone increment that all the bees deposited on the object i. Q is a constant parameter for an instance of MKP (Q=1/∑j=1n‍pj), and L(Sl) is the value of the objective function of the solution Sl obtained by the lth bee.From these descriptions about the heuristic function and pheromone updating, we can know that a value of the transition probability represents a trade-off between pseudoutility and pheromone intensity. That is, those objects which consume less resources and have more profit should be chosen with a high probability. On the other hand, if an object is included in many solutions, then it is highly desirable due to having high pheromone intensity.


## 3.2.1. Heuristic Function

There are many constraints in a MKP, so the heuristic factor depends on not only the setallowedl(t) of candidate objects but also the whole set Sl(t) of selected objects. Let ui(l,t)=∑k∈Sl(t)‍rik be the consumed quantity of the resource i when the bee l has selected those objects in Sl(t) at the time t and γi(l,t)=ci-ui(l,t) be the remaining capacity of the resource i, then the tightness of a candidate object j on the resource i can be expressed as
(3)δij(l,t)=rijγi(l,t).The equation represents a ratio betweenrij and γi(l,t). Further, when an object is chosen to be included in Sl(t), the average tightness on all constraints is defined as
(4)δj(l,t)=∑i=1mδij(l,t)m.From the view of consumption of resources, the lower the tightness ratio, the more the object is profitable to be selected. Moreover, the profitspj must be taken in account in order to get a pseudoutility measure for each candidate object, Thus, the local heuristic function for the MKP, ηj(Sl(t)), can be defined as follows:
(5)ηj(Sl(t))=pjδj(l,t).


## 3.2.2. Inductive Pheromone Updating

Once each food source (solution) has been optimized at every iteration, pheromone trails of the objects are updated. More specifically, in light of the profit value of every solution associated by employed bees, the algorithm updates the pheromone intensity for objects interrelated, the formula is as follows:(6)τi(t+1)=(1-ρ)τi(t)+Δτi(t,t+1),(7)Δτi(t,t+1)=∑l=1K‍Δτil(t,t+1),(8)Δτil(t,t+1)={Q·L(Sl),oi∈Slforlthbee0,otherwise,
where 0<ρ≤1 is a coefficient which represents pheromone evaporation, the Δτil(t,t+1) represents the pheromone trail that the lth bee deposited on the object i in the iteration, and the Δτi(t,t+1) represents the pheromone increment that all the bees deposited on the object i. Q is a constant parameter for an instance of MKP (Q=1/∑j=1n‍pj), and L(Sl) is the value of the objective function of the solution Sl obtained by the lth bee.From these descriptions about the heuristic function and pheromone updating, we can know that a value of the transition probability represents a trade-off between pseudoutility and pheromone intensity. That is, those objects which consume less resources and have more profit should be chosen with a high probability. On the other hand, if an object is included in many solutions, then it is highly desirable due to having high pheromone intensity.


## 3.3. Diffusion Strategy of the Inductive Pheromone

Using the new mechanism for solving MKPs, the key point is how to decide which components of the constructed solutions should be rewarded, and how to exploit these rewards when constructing a new solution. There are two different methods:(1) the first one is to lay pheromone trails on each object selected in J, which considers, respectively, the desirability of each object. The more frequent an object occurs in solutions, the more likely it would be selected when constructing a new solution. (2) The other one is to lay pheromone on each pair (oi,oj) of different objects in J, which considers together the desirability of two objects in J. If some objects of J have been contained in a new partial solution, then the other objects that often occurred together with these objects in pairs of some solutions will be more attractive. Our algorithm combines these two ways into pheromone updating and diffusion.


### 3.3.1. Associated Distance Based on Top-k Strategy

If we take a solution acquired by a bee as a transaction while solving a MKP, then we can get a transaction database in each iteration of a bee colony. Observing the transaction database, it is no difficult to find that some objects occur together with other objects in pairs. In other words, there are some frequent object pairs in the feasible solution space, which implies the relationship between two objects of each pair. Therefore, we give a definition of an associated distance between two objects.Definition 1 (associated distance).
LetD be a database with K transactions; each transaction p(p=1,2,…,K) represents a feasible solution Sp(Sp⊆J), and (oi,oj) is a pair of objects in J. If the pair of (oi,oj) appears f(f=0,1,2,…,K) times in D, then we define the associated distance of this pair as: dr(oi,oj)=1/(f+1).From this definition, we can observe the two properties:(1)
dr(oi,oj)=dr(oj,oi);(2)
0<dr(oi,oj)≤1.The first property denotes the symmetry of the associated distance, which shows that the associated distance is irrelative with the order of objects. And the second property defines the value range of the associated distance; it indicates that the more frequent an object pair appears inD, the shorter the associated distance. That is, the higher the relation degree between the two objects, the smaller dr(oi,oj) is. When dr(oi,oj)=1, the two objects are absolutely irrelative.To solve an MKP with the ABC algorithm, the number of a bee colony is usually proportional to the number of objects inJ. Thus, every iteration for a bee colony may produce a set of solutions (database), whose size approaches the number of objects in the MKP. Due to the frequency statistic (f) for an object pair needs to scan the database in each iteration, so the computation costs of the associated distances for all object pairs may be very expensive for the large-scale MKP. Moreover, the most important idea in swarming intelligence is to strengthen the effect of good solutions and reduce the effect of bad solutions; thus, our ABC algorithm did not treat equivalently all solutions. Therefore, we adopt the idea of Top-k query widely applied in Web search engine to emphasize the influence of good solutions. More precisely, we take the objective function of MKPs as the Top-k function, select the k solutions which have the higher values of the objective function to form a transaction database DTop-k, and then find the associated distances among objects from the DTop-k. This method has two advantages: (1) reduce the computation complexity. When considering all solutions in each iteration, mining the associated distances needs O(K·Cn2)≈O(n3). However, If only considering Top-k solutions (k≪K), the computation complexity is O(k·n2). And (2) give prominence to the preference to the better solutions (i.e., Top-k best solutions), thus strengthen the intellectual insight of the better solutions to the next optimization.


### 3.3.2. Pheromone Diffusion Based on Associated Distances

In our new mechanism, the chemistry substance called pheromone is an important carrier for a bee colony to implement swarming intelligence. While the time passing, the pheromone gradually volatilizes; that is, the pheromone can diffuse around. To simulate this phenomenon, we present a pheromone diffusion model and the corresponding algorithm for solving MKPs. The basic idea is to take into account the pheromone influences among close objects when a bee constructs a feasible solution. Namely, based on coupling actions among near strength fields of pheromone diffusions, the algorithm performs decoupling compensates for the pheromone of near objects. Thus, the closer the associated distance, the stronger the coupling action is, and yet the further the associated distance, the weaker the coupling action is.LetΔτi be the pheromone trail on an object oi laid by the bee colony; we can give the pheromone diffusion model based on the associated distance. Figure 1 shows the sketch map of the pheromone diffusion, where the red dot(•) denotes the object oi as an info fountain, those white dots (∘) denote the other different objects influenced by oi, and different circles can be interpreted as equipotential lines of the intensity field for different locations. The figure shows that the pheromone trail diffuses around by taking an info fountain as a center of the diffusion intensity field, the closer to the info fountain the location, the stronger the field force of the intensity field is. More precisely, the pheromone influence of an info fountain on other objects will gradually reduce as the associated distance between objects becomes long. Therefore, we can give a simple diffusion model:
(9)Δτij={(1k+1)·Δτidr(oi,oj),ifdr(oi,oj)<1,0,otherwise.The sketch map of the pheromone diffusion ofOi and its intensity field. (a) The relationship between the intensity Δτi and the associated distance dr for the info fountain Oi. (b) The corresponding intensity field and areas of the pheromone diffusion.
(a)
(b)Based on such a pheromone diffusion model, the behavior of selection of an object for a bee can change the pheromone intensity not only on the selected object but also on other objects related with the selected object. Thus, the pheromone updating of the objectoj in (6) can be revised as follows:
(10)τi′(t,t+1)=τi(t,t+1)+∑r‍Δτri,
where r is one of the objects which are associated with the object oi. This change more faithfully reflects the volatilization character of pheromone and then can lead bees to select objects in an impersonal way. Thus, the pheromone diffusion model can enhance the collaboration among bees in a colony, improve the effectiveness of the ABC algorithm, and in evidence incarnate the idea of swarm intelligence.


## 3.3.1. Associated Distance Based on Top-k Strategy

If we take a solution acquired by a bee as a transaction while solving a MKP, then we can get a transaction database in each iteration of a bee colony. Observing the transaction database, it is no difficult to find that some objects occur together with other objects in pairs. In other words, there are some frequent object pairs in the feasible solution space, which implies the relationship between two objects of each pair. Therefore, we give a definition of an associated distance between two objects.Definition 1 (associated distance).
LetD be a database with K transactions; each transaction p(p=1,2,…,K) represents a feasible solution Sp(Sp⊆J), and (oi,oj) is a pair of objects in J. If the pair of (oi,oj) appears f(f=0,1,2,…,K) times in D, then we define the associated distance of this pair as: dr(oi,oj)=1/(f+1).From this definition, we can observe the two properties:(1)
dr(oi,oj)=dr(oj,oi);(2)
0<dr(oi,oj)≤1.The first property denotes the symmetry of the associated distance, which shows that the associated distance is irrelative with the order of objects. And the second property defines the value range of the associated distance; it indicates that the more frequent an object pair appears inD, the shorter the associated distance. That is, the higher the relation degree between the two objects, the smaller dr(oi,oj) is. When dr(oi,oj)=1, the two objects are absolutely irrelative.To solve an MKP with the ABC algorithm, the number of a bee colony is usually proportional to the number of objects inJ. Thus, every iteration for a bee colony may produce a set of solutions (database), whose size approaches the number of objects in the MKP. Due to the frequency statistic (f) for an object pair needs to scan the database in each iteration, so the computation costs of the associated distances for all object pairs may be very expensive for the large-scale MKP. Moreover, the most important idea in swarming intelligence is to strengthen the effect of good solutions and reduce the effect of bad solutions; thus, our ABC algorithm did not treat equivalently all solutions. Therefore, we adopt the idea of Top-k query widely applied in Web search engine to emphasize the influence of good solutions. More precisely, we take the objective function of MKPs as the Top-k function, select the k solutions which have the higher values of the objective function to form a transaction database DTop-k, and then find the associated distances among objects from the DTop-k. This method has two advantages: (1) reduce the computation complexity. When considering all solutions in each iteration, mining the associated distances needs O(K·Cn2)≈O(n3). However, If only considering Top-k solutions (k≪K), the computation complexity is O(k·n2). And (2) give prominence to the preference to the better solutions (i.e., Top-k best solutions), thus strengthen the intellectual insight of the better solutions to the next optimization.


## 3.3.2. Pheromone Diffusion Based on Associated Distances

In our new mechanism, the chemistry substance called pheromone is an important carrier for a bee colony to implement swarming intelligence. While the time passing, the pheromone gradually volatilizes; that is, the pheromone can diffuse around. To simulate this phenomenon, we present a pheromone diffusion model and the corresponding algorithm for solving MKPs. The basic idea is to take into account the pheromone influences among close objects when a bee constructs a feasible solution. Namely, based on coupling actions among near strength fields of pheromone diffusions, the algorithm performs decoupling compensates for the pheromone of near objects. Thus, the closer the associated distance, the stronger the coupling action is, and yet the further the associated distance, the weaker the coupling action is.LetΔτi be the pheromone trail on an object oi laid by the bee colony; we can give the pheromone diffusion model based on the associated distance. Figure 1 shows the sketch map of the pheromone diffusion, where the red dot(•) denotes the object oi as an info fountain, those white dots (∘) denote the other different objects influenced by oi, and different circles can be interpreted as equipotential lines of the intensity field for different locations. The figure shows that the pheromone trail diffuses around by taking an info fountain as a center of the diffusion intensity field, the closer to the info fountain the location, the stronger the field force of the intensity field is. More precisely, the pheromone influence of an info fountain on other objects will gradually reduce as the associated distance between objects becomes long. Therefore, we can give a simple diffusion model:
(9)Δτij={(1k+1)·Δτidr(oi,oj),ifdr(oi,oj)<1,0,otherwise.The sketch map of the pheromone diffusion ofOi and its intensity field. (a) The relationship between the intensity Δτi and the associated distance dr for the info fountain Oi. (b) The corresponding intensity field and areas of the pheromone diffusion.
(a)
(b)Based on such a pheromone diffusion model, the behavior of selection of an object for a bee can change the pheromone intensity not only on the selected object but also on other objects related with the selected object. Thus, the pheromone updating of the objectoj in (6) can be revised as follows:
(10)τi′(t,t+1)=τi(t,t+1)+∑r‍Δτri,
where r is one of the objects which are associated with the object oi. This change more faithfully reflects the volatilization character of pheromone and then can lead bees to select objects in an impersonal way. Thus, the pheromone diffusion model can enhance the collaboration among bees in a colony, improve the effectiveness of the ABC algorithm, and in evidence incarnate the idea of swarm intelligence.


## 3.4. Algorithm Description and Analysis

Based on pheromone updating and diffusion, we design and achieve an ABC algorithm called ABCPUD for the MKPs. The algorithm holds the basic steps of original ABC algorithms, however adds the new strategies based on the inductive pheromone in the generation process of solutions. The overall process of ABCPUD-MKP algorithm is given in Algorithm2.Algorithm 2:ABCPUD-MKP.
1. Initialization: Initialize parameters K,N,Limit,α,β,Q,τ0,Ci=0 (i=1,…, K) and so on;
2. Initial solutions: Randomly generated K food sources {Si(0)∣i=1,…, K};
3. Loop:
For t=1 to N do:
{
(1) For i=1 to K do: (local searches performed by employed bees)
{Associate each employed bee with a food source Si(t) and compute its nectar amount;
Find a new Si′(t) in the neighborhood of Si(t) and compute its nectar amount;
Take the better one in {Si′(t), Si(t)} as a new location of the employed bee;}
(2) Forj=1 to K do: (further local searches performed by onlooker bees)
{Select a food source Sj(t) from {Si(t)} for every onlooker bee;
Find a new Sj′(t) in the neighborhood of Sj(t) and compute its nectar amount;
Take the better one in {Sj′(t), Sj(t)} as a new location of the corresponding bees;}
(
3
) Exploiting new food sources(global searches with a guidance performed by scout bees)
For l=1 to K do: (food sources)
{If Sl(t)=Sl(t-1) then Cl=Cl+1;
If Cl=Limit then
{Abandon food source l and the associated employed bee becomes a scout;
S
l
(
t
)={}, allowedl=J;
Repeat (constructing a new solution)
Select an object j with Pjl(t) given by (2);
Add the object into the current solution: Sl(t)=Sl(t)+{oj};
a
l
l
o
w
e
d
l
=
a
l
l
o
w
e
d
l
-
{
o
j
};
Until  allowedl is empty
The scout bee becomes again an employed bee;
C
l
=
0;}}
(
4
) Generating, diffusing and updating the pheromone
For each object oi in J
Calculate the Δτi according to (7) and (8).
Select the Top-k solutions from this iteration, and obtain DTop-k;
For each solution Sw∈DTop-k
{For each pair of objects cij in Sw
c
i
j.count++;
Calculate the associated distance dr(oi,oj)
Calculate Δτij according to (9);}
For each object oi in J
Update the trail level τj on all objects according to (6) and (10);
(5) Perform the local optimization in 1-1 or 2-1 exchange ways;
(6) Memorize the best food source Sbest found so far;
t=t+1;
}
4. Output: Return Sbest while the predefined end condition is met.From Algorithm2, we can see that the ABCPUD-MKP is a hybrid algorithm which merges two communication ways among bees. Based on the behavior communication way, the employed bees and onlooker bees gradually optimize their associated solutions in solution neighbors as the iteration carrying through. On the other hand, the scout bees constructed new solutions in light of the chemical communication way which employs the pheromone accumulated by bees to induct the selection of objects. The important differences between the ABC-MKP and the ABCPUD-MKP focus on two phases, that is, exploring new food sources and generating, diffusing, and updating the pheromone only used by ABCPUD-MKP.During exploring new food sources, the ABCPUD-MKP employs the transition probability based on pheromone trails and heuristic information to insightfully construct new solutions, which keeps high quality of the new solution. Moreover, the ABCPUD-MKP not only makes use of solutions acquired at every iteration to accumulate pheromone on objects but also emphasizes the pheromone influences among associated objects by means of the pheromone diffusion model which stresses the effect of the bestTop-k solutions. Therefore, the ABCPUD-MKP may lead to rapidly select the most profitable nectar source by means of the new communication mechanism.


## 4. Experimental Evaluation

To assess the performance of our algorithm (ABCPUD-MKP), we conduct a series of experiments on public data sets taken from the OR library, which are the same as those used in [5, 7, 11, 12], and so forth. The experimental platform was a PC with Pentium 4, 2.0 GHz CPU, 1 G RAM and Windows XP. We test our algorithm implemented by MATLAB on some instances of 5.100 and 10.100 and compare the results with that of the ABC_MKP and other algorithms recently proposed on the some data sets. The benchmark set 5.100 has 30 instances with m=5 constraints and n=100 objects. Similarly, the benchmark set 10.100 also has 30 instances with m=10 constraints and n=100 objects. All algorithms are executed 10 times on each instance with a different random seed.By large numbers of experiments, the main parameters were set as follows:α=1,β=5,N=10000,pd=0.3,p1S=0.99,bt=0.9,K=80,ρ=0.3,k=25, and limit=80. Here K, k, ρ, and limit are parameters which mainly affect performances of ABCPUD-MKP. How to select their values will be emphatically discussed in the following subsection.


### 4.1. Performance Analysis of ABCPUD-MKP

We study the factors that affect the performance of ABCPUD-MKP. Particularly, we wish to investigate the contributions of the pheromone mechanism and the effects of different parameter selection.(1) Contributions of the Pheromone Mechanism. Based on the same running experiment and implemented tools, we developed three algorithms to solve the MKP_01 on some different instances. The three algorithms were called the original ABC-MKP, the ABCPU-MKP (with the pheromone updating), and the ABCPUD-MKP (with the pheromone updating and diffusing), respectively. Table 1 gives the experimental results of three algorithms after running same computational time, where we evaluate the algorithm performance by means of three measures such as Best, Avg., and Num. Best denotes the profit value of the best solution obtained by the corresponding algorithm over 10 executions. Avg. indicates the mean μ and the standard deviation σ of the profit values over 10 executions independently carried out by the corresponding algorithm. Num. is the smallest number of the iterations when the best solution was found in 10 trails.Table 1
The contributions of the pheromone mechanism on ABC-MKP.
Instances
Best known
ABC-MKP
ABCPU-MKP
ABCPUD-MKP
Best
Avg.
Num.
Best
Avg.
Num.
Best
Avg.
Num.
5.100.00
24381
24381
24381.0
±
0.0
238
24381
24381.0
±
0.0
220
24381
24381.0
±
0.0
178
5.100.01
24274
24274
24274.0
±
0.0
36
24274
24274.0
±
0.0
32
24274
24274.0
±
0.0
20
5.100.02
23551
23551
23539.3
±
4.1
4021
23551
23548.0
±
5.5
2251
23551
23550.0
±
3.9
354
5.100.03
23534
23534
23534.0
±
0.0
2356
23534
23527.0
±
3.5
2202
23534
23534.0
±
0.0
1538
5.100.04
23991
23991
23973.2
±
14.8
1746
23991
23982.4
±
13.7
1689
23991
23986.0
±
10.5
1622
5.100.05
24613
24613
24613.0
±
0.0
110
24613
24613.0
±
0.0
76
24613
24613.0
±
0.0
46
5.100.06
25591
25591
25591.0
±
0.0
252
25591
25591.0
±
0.0
224
25591
25591.0
±
0.0
65
5.100.07
23410
23410
23410.0
±
0.0
409
23410
23410.0
±
0.0
304
23410
23410.0
±
0.0
259
5.100.08
24216
24216
24216.0
±
0.0
1051
24216
24216.0
±
0.0
799
24216
24216.0
±
0.0
755
5.100.09
24411
24411
24411.0
±
0.0
189
24411
24411.0
±
0.0
97
24411
24411.0
±
0.0
81From the table, it is seen that these three algorithms are able to obtain the best solutions known on 10 instances. As for the Avg., ABCPU-MKP produces better results than that of ABC-MKP except for the instance of 5.100.03, and ABCPUD-MKP produces the best results among the three algorithms. From the iteration process, both ABCPU-MKP and ABCPUD-MKP show better performance than ABC-MKP; the latter is more outstanding. Therefore, we can draw the conclusion that the new pheromone mechanism introduced in the paper can evidently improve the ABC-MKP algorithm on the convergence performance while keeping good solution quality. More specifically,(1) the solution construction based on the inductive pheromone not only effectively enhances the convergence performance but also improves the solution quality on a majority of instances tested, which shows that the inductive pheromone is an important media to improve the bee communication in finding better solutions. (2) The new diffusion mechanism can also improve the convergence performance while keeping the solution quality. This suggests that the strategy based on the diffusion model can effectively strengthen the process of solution construction and save iteration times. It is obvious that both of the aforementioned strategies are effective in the improvement of the performance of the ABC-MKP algorithm. This fact encourages us to put both strategies into our algorithm (ABCPUD-MKP) to get even better results.(2) Effects of Different Parameter Selection. In this experiment, we give a solving example to show how to determine the parameter value of ABCPUD-MKP algorithm. The experiment process is that we run ABCPUD-MKP with different parameter settings on the same instance (5.100.06) and acquire the best parameter value by comparing experimental results. During this experimentation, the value of a single parameter is changed while keeping the values of other parameters fixed.ABC algorithm is a swarm optimization algorithm; the population size of a bee colony determines the number of solutions at each iteration. Figure2 summarizes the performance of ABCPUD-MKP with 10 different bee colony sizes (K). The best value, the worst value, and the average value are, respectively, corresponding the highest, lowest, and mean profit value of solutions obtained in the 10 trails (shown in Figure 2(a)). Figure 2(b) illustrates the results about the running time. The median of each bar is the mean, and the height of the bar is the standard deviation, which are obtained from 10 trails.Comparisons of the results for different bee colony sizes (K). (a) Best, worst, and average values for different K. (b) The runtime for different K.
(a)
(b)A large bee colony means that more initial search points are employed, and then, as reflected by best, worst, and average values in Figure4, better solutions are obtained than in a smaller bee colony. However, after a sufficient value for the colony size, any increment does not improve the solution performance of algorithms. On the contrary, the search time in each iteration will increase as the size of the bee colony increases. To acquire a balance between getting a better solution and using less time, we recommend a bee colony size of 80 (K=80).As described in Section3.2, the coefficient ρ is a value smaller than 1 to avoid unlimited accumulation of pheromone. In the constructing solution process, the value of ρ controls the balance between exploration and exploitation processes. Therefore, it is an important parameter for the new mechanism based on the inductive pheromone. To investigate the effect of ρ on ABCPUD-MKP, we perform experiments using different values of ρ. The results are presented in Figure 3.Comparisons of the results for different pheromone parameters (ρ). (a) Best, worst, and average values for different ρ. (b) The runtime for different ρ.
(a)
(b)Comparisons of the results for differentTop-k parameters (k). (a) Best, worst, and average values for different k. (b) The runtime for different k.
(a)
(b)From Figure3(a), we notice that the optimum values on best, worse, and average values can be obtained for different parameter values of ρ. That is, the solution of ABCPUD-MKP is insensitive to the parameter ρ. However, the significant difference focuses on the running time shown in Figure 3(b). Because the smallest running time is achieved for ρ=0.3 among all testings, we select a ρ value of 0.3 for our ABCPUD-MKP.In our algorithm, we introduce a pheromone diffusion model based on associated distances. To save computation costs and strengthen the effect of good solutions, we adopt theTop-k strategy to compute the associated distances of every pair of objects. In this section, we perform experiments using different values of k to investigate the effect of the Top-k strategy on ABCPUD-MKP. Figure 6 shows the experimental results. We observe that there is no difference among the three profit values in Figure 4(a), and only there are some differences in running time for different values of k in Figure 4(b). To quickly get the best result, we can select k=25.If a solution does not improve for a predetermined number of iterations (limit), then the solution will be abandoned by the employed bee associated, and a new solution will be generated. This is a key strategy to deal with the solution stagnation in ABC algorithm. To study the effect of different abandoned frequencies on ABCPUD-MKP, we perform experiments using different values of limit. The experimental results are presented in Figure 5.Comparisons of the results for different abandoned frequencies (limit). (a) Best, worst, and average values for different limit. (b) The runtime for different limit.
(a)
(b)Comparison of the iteration performance on different instances: (a) the iteration numbers, (b) the runtime of an iteration.
(a)
(b)Whenlimit is too small or too large, the results obtained by our algorithm are worse than those produced by using the moderate values of limit. This shows that an appropriate frequency of new solution production has useful effect on the running time and the profit values, which can perform some explorations to improve the search ability of the algorithm. However, the balance between exploration and exploitation processes will be broken whether limit is too small or too large, which will produce worse solutions and cost much more running time. Thus, we recommend limit=80 after considering effects on factors of the running time and solution quality.


### 4.2. Comparing ABCPUD-MKP with ABC-MKP

We compare the ABCPUD-MKP with ABC-MKP on many instances. As space is limited, Table2 only provides a summary of the performance comparison on 6 different instances. Both algorithms are independently executed 10 times for each instance, and the figures are, therefore, the average values of 10 trails.Table 2
The results for two algorithms on some instances.
Instance
statistic
Algoritm
ABC-MKP
ABCPUD-MKP
5.100.01
Best
24274 (24274)
24274 (24274)
Avg.
24274 ± 0.0
24274 ± 0.0
Num.
130.25
±
108.78 (53)
87.60 ± 74.02 (35)
Hit.
10
10
Time (s)
12.50
±
10.87 (4.88)
7.44 ± 6.56 (2.70)
5.100.03
Best
23534 (23534)
23534 (23534)
Avg.
23534 ± 0.0
23534 ± 0.0
Num.
4118.33
±
782.49 (2356)
2571.0 ± 551.54 (2181)
Hit.
10
10
Time (s)
389.45
±
70.26 (223.03)
216.21 ± 51.11 (197.92)
5.100.05
Best
24613 (24613)
24613 (24613)
Avg.
24613 ± 0.0
24613 ± 0.0
Num.
178.8
±
63.33 (110)
96.0 ± 21.74 (74)
Hit.
10
10
Time (s)
14.24
±
5.05 (8.67)
8.03 ± 1.80 (5.89)
10.100.01
Best
22801 (22801)
22801 (22801)
Avg.
22801 ± 0.0
22801 ± 0.0
Num.
3824.67
±
2959.10 (844)
3161.79 ± 2331.48 (103)
Hit.
10
10
Time (s)
318.72
±
304.74 (88.52)
276.22 ± 244.62 (10.41)
10.100.03
Best
22772 (22772)
22772 (22772)
Avg.
22772 ± 0.0
22772 ± 0.0
Num.
5707.0
±
1035.23 (4483)
4441.5 ± 1469.34 (2855)
Hit.
10
10
Time (s)
506.3
±
97.47 (400.33)
399.15 ± 133.47 (254.10)
10.100.05
Best
22777 (22777)
22777 (22777)
Avg.
22761.8
±
29.50
22771.3 ± 19.30
Num.
5887.6
±
2743.9 (585)
3706.8 ± 2345.87 (258)
Hit.
7
9
Time (s)
633.32
±
349.37 (65.16)
338.09 ± 209.85 (23.07)In Table2, the meanings of Best, Avg., and Num. are same as those of Table 1 while the meaning of Time is the same as that of Figure 2. Hit. represents the number of the best solution obtained in 10 trails. Moreover, numbers in parentheses of the best column are the best results known for each corresponding instance, and numbers in parentheses of the Num. and Time columns are the smallest numbers of the iterations and the shortest running time when the best result was obtained. Compared with ABC-MKP, ABCPUD-MKP can always find better or equally good solutions for all the instances in terms of both profit values. Since the Num. is reduced on all instances, hence the Time of ABCPUD-MKP is greatly improved. Moreover, the ABCPUD-MKP algorithm also outperforms ABC-MKP algorithm according to the item of Hit.In Figure6, we compare the iteration numbers and the runtime of an iteration of two algorithms on ten instances of 10.100. For each algorithm, we record the iteration number averaged over 10 runs and compute the runtime of an iteration averaged over 10 runs when obtaining the profit values shown as Table 1 on respective instances. From Figure 6(a), we observe that the iteration numbers of both algorithms vary with different instances. Furthermore, the new pheromone mechanism adopted by ABCPUD-MKP can improve the iteration process for all instances. However, the new pheromone mechanism will increase some computation cost; thus, the runtime per an iteration of ABCPUD-MKP may be longer than that of ABC-MKP on some instances as shown in Figure 6(b).Figure7 gives the time performance comparison between two algorithms, which corresponds to Figure 6. We can see that ABCPUD-MKP performs better than ABC-MKP in terms of the runtime on all instances. The main reason is that ABCPUD-MKP can effectively decrease the iteration number. As shown in Figure 7, the advantage in runtime is the most remarkable on almost all instances. This denotes that the pheromone updating and diffusing can accelerate the optimization process by strengthening the communication among bees.Figure 7
Comparison of the time performance on different instances.


### 4.3. Comparing ABCPUD-MKP with Other Algorithms

To further evaluate the new algorithm, we compare the solution performance of different algorithms on some large problems. Our main objective in this section is to determine whether ABCPUD-MKP is more efficient and effective on comparable performances than these state-of-the-art approaches which employed various stochastic search schemes in recent years.We compare the performance of ABCPUD-MKP with that of GA-MKP [5], B&B-EA-MKP [7], Ant-knapsack [11], ACOMPD-MKP [12], and ABC-MKP. GA-MKP incorporates a heuristic operator which utilizes problem-specific knowledge into the genetic algorithm to solve the multidimensional knapsack problem. B&B-EA-MKP is a hybrid approach which cooperates an evolutionary algorithm (EA) with the branch and bound method (B&B) by exchanging information. Ant-knapsack is an ACO algorithm for the multidimensional knapsack problem, which lays pheromone trails not only on the edges of the visited paths but on all edges connecting any pair of nodes belonging to the solution. ACOMPD-MKP proposed in our prophase research is a novel Ant algorithm, which employs a pheromone diffusion model and a solution mutation strategy to get high quality results. Moreover, as described in Section 2.2, ABC-MKP is a new algorithm which applies ABC algorithm to solve the multidimensional knapsack problem. Therefore, these algorithms are stochastic search approaches, which need to be executed time after time for each testing instance.In Table3, we summarize the comparative results, where the results of GA-MKP, B&B-EA-MKP, Ant-knapsack, and ACOMPD-MKP are derived from the respective literature (represents no testing) while the results of ABC-MKP and ABCPUD-MKP algorithms obtained by our experiment over 10 runs.Table 3
Solution comparison among GA [5], B&B-GA [7], Ant-knapsack [11], ACOMPD-MKP [12], ABC-MKP, and ABCPUD-MKP algorithms.
Algorithm
Solution
Instance
5.100.00
5.100.29
10.100.00
5.250.00
5.250.29
5.500.29
GA-MKP
Best
24381
59960
23064
59243
154668
299885
Avg.
24381 ± 0.0
59960
±
0.0
23050.2
±
19.2
59211.7
±
18.0
154626.2
±
31.7
299842.7
±
26.9
B&B-EA-MKP
Best
24381
59965
23064
59312
154668
299904
Avg.
24381 ± 0.0
59965
±
0.0
23059.1
±
3.2
59305.1 ± 20.7
154668 ± 0
299902.3 ± 5.1
Ant-knapsack
Best
24381
59965
23064
—
—
—
Avg.
24342
±
29.3
59958
±
8.4
23016
±
42.2
—
—
—
ACOMPD-MKP
Best
24381
60117
23064
59312
154735
299853
Avg.
24362.8
±
25.5
59979.1
±
34.4
23051.2
±
16.7
59152
±
67.3
154622.3
±
48.3
299817.0
±
24.5
ABC-MKP
Best
24381
59965
23064
59243
154668
299885
Avg.
24381 ± 0.0
59961.0
±
2.1
23059.1
±
3.9
59215.2
±
17.3
154637.4
±
15.5
299804.4
±
59.1
ABCPUD-MKP
Best
24381
60117
23064
59312
154735
299904
Avg.
24381 ± 0.0
60015.4 ± 62.6
23060.4 ± 4.1
59222.6
±
35.5
154649.2
±
34.2
299848.0
±
42.4As it can be seen, ABCPUD-MKP always finds all best solutions on six instances in terms of the profit value while other algorithms only find some best solutions. For instance, ACOMPD-MKP can find the best solutions on five instances except for 5.500.29, B&B-EA-MKP can find best solutions on 5.100.00, 10.100.00, 5.250.00, and 5.500.29 instances. As for the average solutions, ABCPUD-MKP is also competitive with B&B-EA-MKP which provides the highest quality results so far. More specifically, B&B-EA-MKP produces better results than that of ABCPUD-MKP on 5.250.00, 5.250.29, and 5.500.29 instances, and ABCPUD-MKP produces better results than that of B&B-EA-MKP on 5.100.29 and 10.100.00 instances while both algorithms can obtain the best results on 5.100.00 instance. Moreover, the results of average solutions which ABCPUD-MKP produces on 5.250.00, 5.250.29, and 5.500.29 instances are only inferior to that of B&B-EA-MKP. Thus, ABCPUD-MKP is the most outstanding algorithm in terms of the solution quality.


## 4.1. Performance Analysis of ABCPUD-MKP

We study the factors that affect the performance of ABCPUD-MKP. Particularly, we wish to investigate the contributions of the pheromone mechanism and the effects of different parameter selection.(1) Contributions of the Pheromone Mechanism. Based on the same running experiment and implemented tools, we developed three algorithms to solve the MKP_01 on some different instances. The three algorithms were called the original ABC-MKP, the ABCPU-MKP (with the pheromone updating), and the ABCPUD-MKP (with the pheromone updating and diffusing), respectively. Table 1 gives the experimental results of three algorithms after running same computational time, where we evaluate the algorithm performance by means of three measures such as Best, Avg., and Num. Best denotes the profit value of the best solution obtained by the corresponding algorithm over 10 executions. Avg. indicates the mean μ and the standard deviation σ of the profit values over 10 executions independently carried out by the corresponding algorithm. Num. is the smallest number of the iterations when the best solution was found in 10 trails.Table 1
The contributions of the pheromone mechanism on ABC-MKP.
Instances
Best known
ABC-MKP
ABCPU-MKP
ABCPUD-MKP
Best
Avg.
Num.
Best
Avg.
Num.
Best
Avg.
Num.
5.100.00
24381
24381
24381.0
±
0.0
238
24381
24381.0
±
0.0
220
24381
24381.0
±
0.0
178
5.100.01
24274
24274
24274.0
±
0.0
36
24274
24274.0
±
0.0
32
24274
24274.0
±
0.0
20
5.100.02
23551
23551
23539.3
±
4.1
4021
23551
23548.0
±
5.5
2251
23551
23550.0
±
3.9
354
5.100.03
23534
23534
23534.0
±
0.0
2356
23534
23527.0
±
3.5
2202
23534
23534.0
±
0.0
1538
5.100.04
23991
23991
23973.2
±
14.8
1746
23991
23982.4
±
13.7
1689
23991
23986.0
±
10.5
1622
5.100.05
24613
24613
24613.0
±
0.0
110
24613
24613.0
±
0.0
76
24613
24613.0
±
0.0
46
5.100.06
25591
25591
25591.0
±
0.0
252
25591
25591.0
±
0.0
224
25591
25591.0
±
0.0
65
5.100.07
23410
23410
23410.0
±
0.0
409
23410
23410.0
±
0.0
304
23410
23410.0
±
0.0
259
5.100.08
24216
24216
24216.0
±
0.0
1051
24216
24216.0
±
0.0
799
24216
24216.0
±
0.0
755
5.100.09
24411
24411
24411.0
±
0.0
189
24411
24411.0
±
0.0
97
24411
24411.0
±
0.0
81From the table, it is seen that these three algorithms are able to obtain the best solutions known on 10 instances. As for the Avg., ABCPU-MKP produces better results than that of ABC-MKP except for the instance of 5.100.03, and ABCPUD-MKP produces the best results among the three algorithms. From the iteration process, both ABCPU-MKP and ABCPUD-MKP show better performance than ABC-MKP; the latter is more outstanding. Therefore, we can draw the conclusion that the new pheromone mechanism introduced in the paper can evidently improve the ABC-MKP algorithm on the convergence performance while keeping good solution quality. More specifically,(1) the solution construction based on the inductive pheromone not only effectively enhances the convergence performance but also improves the solution quality on a majority of instances tested, which shows that the inductive pheromone is an important media to improve the bee communication in finding better solutions. (2) The new diffusion mechanism can also improve the convergence performance while keeping the solution quality. This suggests that the strategy based on the diffusion model can effectively strengthen the process of solution construction and save iteration times. It is obvious that both of the aforementioned strategies are effective in the improvement of the performance of the ABC-MKP algorithm. This fact encourages us to put both strategies into our algorithm (ABCPUD-MKP) to get even better results.(2) Effects of Different Parameter Selection. In this experiment, we give a solving example to show how to determine the parameter value of ABCPUD-MKP algorithm. The experiment process is that we run ABCPUD-MKP with different parameter settings on the same instance (5.100.06) and acquire the best parameter value by comparing experimental results. During this experimentation, the value of a single parameter is changed while keeping the values of other parameters fixed.ABC algorithm is a swarm optimization algorithm; the population size of a bee colony determines the number of solutions at each iteration. Figure2 summarizes the performance of ABCPUD-MKP with 10 different bee colony sizes (K). The best value, the worst value, and the average value are, respectively, corresponding the highest, lowest, and mean profit value of solutions obtained in the 10 trails (shown in Figure 2(a)). Figure 2(b) illustrates the results about the running time. The median of each bar is the mean, and the height of the bar is the standard deviation, which are obtained from 10 trails.Comparisons of the results for different bee colony sizes (K). (a) Best, worst, and average values for different K. (b) The runtime for different K.
(a)
(b)A large bee colony means that more initial search points are employed, and then, as reflected by best, worst, and average values in Figure4, better solutions are obtained than in a smaller bee colony. However, after a sufficient value for the colony size, any increment does not improve the solution performance of algorithms. On the contrary, the search time in each iteration will increase as the size of the bee colony increases. To acquire a balance between getting a better solution and using less time, we recommend a bee colony size of 80 (K=80).As described in Section3.2, the coefficient ρ is a value smaller than 1 to avoid unlimited accumulation of pheromone. In the constructing solution process, the value of ρ controls the balance between exploration and exploitation processes. Therefore, it is an important parameter for the new mechanism based on the inductive pheromone. To investigate the effect of ρ on ABCPUD-MKP, we perform experiments using different values of ρ. The results are presented in Figure 3.Comparisons of the results for different pheromone parameters (ρ). (a) Best, worst, and average values for different ρ. (b) The runtime for different ρ.
(a)
(b)Comparisons of the results for differentTop-k parameters (k). (a) Best, worst, and average values for different k. (b) The runtime for different k.
(a)
(b)From Figure3(a), we notice that the optimum values on best, worse, and average values can be obtained for different parameter values of ρ. That is, the solution of ABCPUD-MKP is insensitive to the parameter ρ. However, the significant difference focuses on the running time shown in Figure 3(b). Because the smallest running time is achieved for ρ=0.3 among all testings, we select a ρ value of 0.3 for our ABCPUD-MKP.In our algorithm, we introduce a pheromone diffusion model based on associated distances. To save computation costs and strengthen the effect of good solutions, we adopt theTop-k strategy to compute the associated distances of every pair of objects. In this section, we perform experiments using different values of k to investigate the effect of the Top-k strategy on ABCPUD-MKP. Figure 6 shows the experimental results. We observe that there is no difference among the three profit values in Figure 4(a), and only there are some differences in running time for different values of k in Figure 4(b). To quickly get the best result, we can select k=25.If a solution does not improve for a predetermined number of iterations (limit), then the solution will be abandoned by the employed bee associated, and a new solution will be generated. This is a key strategy to deal with the solution stagnation in ABC algorithm. To study the effect of different abandoned frequencies on ABCPUD-MKP, we perform experiments using different values of limit. The experimental results are presented in Figure 5.Comparisons of the results for different abandoned frequencies (limit). (a) Best, worst, and average values for different limit. (b) The runtime for different limit.
(a)
(b)Comparison of the iteration performance on different instances: (a) the iteration numbers, (b) the runtime of an iteration.
(a)
(b)Whenlimit is too small or too large, the results obtained by our algorithm are worse than those produced by using the moderate values of limit. This shows that an appropriate frequency of new solution production has useful effect on the running time and the profit values, which can perform some explorations to improve the search ability of the algorithm. However, the balance between exploration and exploitation processes will be broken whether limit is too small or too large, which will produce worse solutions and cost much more running time. Thus, we recommend limit=80 after considering effects on factors of the running time and solution quality.


## 4.2. Comparing ABCPUD-MKP with ABC-MKP

We compare the ABCPUD-MKP with ABC-MKP on many instances. As space is limited, Table2 only provides a summary of the performance comparison on 6 different instances. Both algorithms are independently executed 10 times for each instance, and the figures are, therefore, the average values of 10 trails.Table 2
The results for two algorithms on some instances.
Instance
statistic
Algoritm
ABC-MKP
ABCPUD-MKP
5.100.01
Best
24274 (24274)
24274 (24274)
Avg.
24274 ± 0.0
24274 ± 0.0
Num.
130.25
±
108.78 (53)
87.60 ± 74.02 (35)
Hit.
10
10
Time (s)
12.50
±
10.87 (4.88)
7.44 ± 6.56 (2.70)
5.100.03
Best
23534 (23534)
23534 (23534)
Avg.
23534 ± 0.0
23534 ± 0.0
Num.
4118.33
±
782.49 (2356)
2571.0 ± 551.54 (2181)
Hit.
10
10
Time (s)
389.45
±
70.26 (223.03)
216.21 ± 51.11 (197.92)
5.100.05
Best
24613 (24613)
24613 (24613)
Avg.
24613 ± 0.0
24613 ± 0.0
Num.
178.8
±
63.33 (110)
96.0 ± 21.74 (74)
Hit.
10
10
Time (s)
14.24
±
5.05 (8.67)
8.03 ± 1.80 (5.89)
10.100.01
Best
22801 (22801)
22801 (22801)
Avg.
22801 ± 0.0
22801 ± 0.0
Num.
3824.67
±
2959.10 (844)
3161.79 ± 2331.48 (103)
Hit.
10
10
Time (s)
318.72
±
304.74 (88.52)
276.22 ± 244.62 (10.41)
10.100.03
Best
22772 (22772)
22772 (22772)
Avg.
22772 ± 0.0
22772 ± 0.0
Num.
5707.0
±
1035.23 (4483)
4441.5 ± 1469.34 (2855)
Hit.
10
10
Time (s)
506.3
±
97.47 (400.33)
399.15 ± 133.47 (254.10)
10.100.05
Best
22777 (22777)
22777 (22777)
Avg.
22761.8
±
29.50
22771.3 ± 19.30
Num.
5887.6
±
2743.9 (585)
3706.8 ± 2345.87 (258)
Hit.
7
9
Time (s)
633.32
±
349.37 (65.16)
338.09 ± 209.85 (23.07)In Table2, the meanings of Best, Avg., and Num. are same as those of Table 1 while the meaning of Time is the same as that of Figure 2. Hit. represents the number of the best solution obtained in 10 trails. Moreover, numbers in parentheses of the best column are the best results known for each corresponding instance, and numbers in parentheses of the Num. and Time columns are the smallest numbers of the iterations and the shortest running time when the best result was obtained. Compared with ABC-MKP, ABCPUD-MKP can always find better or equally good solutions for all the instances in terms of both profit values. Since the Num. is reduced on all instances, hence the Time of ABCPUD-MKP is greatly improved. Moreover, the ABCPUD-MKP algorithm also outperforms ABC-MKP algorithm according to the item of Hit.In Figure6, we compare the iteration numbers and the runtime of an iteration of two algorithms on ten instances of 10.100. For each algorithm, we record the iteration number averaged over 10 runs and compute the runtime of an iteration averaged over 10 runs when obtaining the profit values shown as Table 1 on respective instances. From Figure 6(a), we observe that the iteration numbers of both algorithms vary with different instances. Furthermore, the new pheromone mechanism adopted by ABCPUD-MKP can improve the iteration process for all instances. However, the new pheromone mechanism will increase some computation cost; thus, the runtime per an iteration of ABCPUD-MKP may be longer than that of ABC-MKP on some instances as shown in Figure 6(b).Figure7 gives the time performance comparison between two algorithms, which corresponds to Figure 6. We can see that ABCPUD-MKP performs better than ABC-MKP in terms of the runtime on all instances. The main reason is that ABCPUD-MKP can effectively decrease the iteration number. As shown in Figure 7, the advantage in runtime is the most remarkable on almost all instances. This denotes that the pheromone updating and diffusing can accelerate the optimization process by strengthening the communication among bees.Figure 7
Comparison of the time performance on different instances.


## 4.3. Comparing ABCPUD-MKP with Other Algorithms

To further evaluate the new algorithm, we compare the solution performance of different algorithms on some large problems. Our main objective in this section is to determine whether ABCPUD-MKP is more efficient and effective on comparable performances than these state-of-the-art approaches which employed various stochastic search schemes in recent years.We compare the performance of ABCPUD-MKP with that of GA-MKP [5], B&B-EA-MKP [7], Ant-knapsack [11], ACOMPD-MKP [12], and ABC-MKP. GA-MKP incorporates a heuristic operator which utilizes problem-specific knowledge into the genetic algorithm to solve the multidimensional knapsack problem. B&B-EA-MKP is a hybrid approach which cooperates an evolutionary algorithm (EA) with the branch and bound method (B&B) by exchanging information. Ant-knapsack is an ACO algorithm for the multidimensional knapsack problem, which lays pheromone trails not only on the edges of the visited paths but on all edges connecting any pair of nodes belonging to the solution. ACOMPD-MKP proposed in our prophase research is a novel Ant algorithm, which employs a pheromone diffusion model and a solution mutation strategy to get high quality results. Moreover, as described in Section 2.2, ABC-MKP is a new algorithm which applies ABC algorithm to solve the multidimensional knapsack problem. Therefore, these algorithms are stochastic search approaches, which need to be executed time after time for each testing instance.In Table3, we summarize the comparative results, where the results of GA-MKP, B&B-EA-MKP, Ant-knapsack, and ACOMPD-MKP are derived from the respective literature (represents no testing) while the results of ABC-MKP and ABCPUD-MKP algorithms obtained by our experiment over 10 runs.Table 3
Solution comparison among GA [5], B&B-GA [7], Ant-knapsack [11], ACOMPD-MKP [12], ABC-MKP, and ABCPUD-MKP algorithms.
Algorithm
Solution
Instance
5.100.00
5.100.29
10.100.00
5.250.00
5.250.29
5.500.29
GA-MKP
Best
24381
59960
23064
59243
154668
299885
Avg.
24381 ± 0.0
59960
±
0.0
23050.2
±
19.2
59211.7
±
18.0
154626.2
±
31.7
299842.7
±
26.9
B&B-EA-MKP
Best
24381
59965
23064
59312
154668
299904
Avg.
24381 ± 0.0
59965
±
0.0
23059.1
±
3.2
59305.1 ± 20.7
154668 ± 0
299902.3 ± 5.1
Ant-knapsack
Best
24381
59965
23064
—
—
—
Avg.
24342
±
29.3
59958
±
8.4
23016
±
42.2
—
—
—
ACOMPD-MKP
Best
24381
60117
23064
59312
154735
299853
Avg.
24362.8
±
25.5
59979.1
±
34.4
23051.2
±
16.7
59152
±
67.3
154622.3
±
48.3
299817.0
±
24.5
ABC-MKP
Best
24381
59965
23064
59243
154668
299885
Avg.
24381 ± 0.0
59961.0
±
2.1
23059.1
±
3.9
59215.2
±
17.3
154637.4
±
15.5
299804.4
±
59.1
ABCPUD-MKP
Best
24381
60117
23064
59312
154735
299904
Avg.
24381 ± 0.0
60015.4 ± 62.6
23060.4 ± 4.1
59222.6
±
35.5
154649.2
±
34.2
299848.0
±
42.4As it can be seen, ABCPUD-MKP always finds all best solutions on six instances in terms of the profit value while other algorithms only find some best solutions. For instance, ACOMPD-MKP can find the best solutions on five instances except for 5.500.29, B&B-EA-MKP can find best solutions on 5.100.00, 10.100.00, 5.250.00, and 5.500.29 instances. As for the average solutions, ABCPUD-MKP is also competitive with B&B-EA-MKP which provides the highest quality results so far. More specifically, B&B-EA-MKP produces better results than that of ABCPUD-MKP on 5.250.00, 5.250.29, and 5.500.29 instances, and ABCPUD-MKP produces better results than that of B&B-EA-MKP on 5.100.29 and 10.100.00 instances while both algorithms can obtain the best results on 5.100.00 instance. Moreover, the results of average solutions which ABCPUD-MKP produces on 5.250.00, 5.250.29, and 5.500.29 instances are only inferior to that of B&B-EA-MKP. Thus, ABCPUD-MKP is the most outstanding algorithm in terms of the solution quality.


## 5. Conclusion

In this paper, we propose an ABC algorithm, ABCPUD-MKP, to solve the 0-1 multidimensional knapsack problem effectively and efficiently. This algorithm differs from general ABC algorithms in the fact that a new communication way based on an inductive pheromone is introduced. More specifically, the new algorithm applies the pheromone updating and diffusion to extend the ABC algorithm. The new algorithm has been tested on many instances of the MKP problem with encouraging results: the new algorithm is superior in terms of the computational time on all instances compared to ABC-MKP algorithm, while it can also achieve best solution quality on all instances. We have also presented the performance comparison among GA-MKP, B&B-EA-MKP, Ant-knapsack, ACOMPD-MKP, ABC-MKP, and ABCPUD-MKP on some large problems and found that ABCPUD-MKP can find the best optimization solutions on all problems tested.The new mechanism employs the chemical communication way to strength the collaboration among bees, which not only can keep the balance between exploitation and exploration, but also can effectively look into promising regions of the search space. Thus, the new mechanism is equally significant for ABC algorithms to tackle difficult combinatorial problems. Our future work is to extend our study to other NP-hard problems such as traveling salesman problem and Bayesian network structure learning.



---

*Source: 676275-2013-07-01.xml*