88
Int. J. Reasoning-based Intelligent Systems, Vol. 5, No. 2, 2013
A discrete Artificial Bee Colony for Multiple Knapsack Problem Shima Sabet Department of Electrical Engineering, Islamic Azad University of Central Tehran Branch, Tehran P.C.1469669191, Iran E-mail:
[email protected] Mohammad Shokouhifar* Electrical and Computer Engineering Department, ShahidBeheshti University, Tehran P.C.6461157419, Iran E-mail:
[email protected] *Corresponding author
Fardad Farokhi Department of Electrical Engineering, Islamic Azad University of Central Tehran Branch, Tehran P.C.1469669191, Iran E-mail:
[email protected] Abstract: Multiple Knapsack Problem (MKP) is a most popular multiple subset selection problem that belongs to the class of NP-Complete problems. The aim is to assign optimal subsets among all original items to some knapsacks, such that the overall profit of all selected items be maximised, while the total weight of all assigned items to any knapsack does not exceed the allowable capacity of it. Artificial Bee Colony (ABC) algorithm is a new meta-heuristic with a stochastic search strategy. In ABC, the neighbourhood area of any best-found solution is searched by the employed bees to achieve better solutions. This paper presents a discrete ABC algorithm for the MKP. In this approach, a hybrid probabilistic mutation scheme is performed for searching the neighbourhood of food sources. The proposed algorithm can guide the search space quickly and improve the local search ability. Experimental results demonstrate that the presented approach has improved the quality and convergence speed than other evolutionary algorithms. Keywords: hybrid probabilistic mutation; Artificial NeighbourhoodSearch; MKP; multiple knapsack problem.
Bee
Colony
algorithm;
Reference to this paper should be made as follows: Sabet, Sh., Shokouhifar, M. and Farokhi, F. (2013) ‘A discrete Artificial Bee Colony for Multiple Knapsack Problem’, Int. J. Reasoning-based Intelligent Systems, Vol. 5, No. 2, pp.88–95. Biographical notes: S. Sabet received her BSc in Electronic Engineering from Islamic Azad University of Naeen, Esfahan, Iran, in 2008 and MSc in Electronic Engineering from Islamic Azad University of Central Tehran Branch, Tehran, Iran, in 2012. Her research interests include: artificial intelligence, image processing, and solving NP-complete problems using evolutionary algorithms. She has about five international conference papers in the field of evolutionary algorithms. She is a student member of IEEE. M. Shokouhifar received his BS and MS in Electronic Engineering from Islamic Azad University of Central Tehran Branch, Tehran, Iran, in 2008 and 2011, respectively. At present, he is an MS student in Electronic Engineering in the field of analogue circuit design, ShahidBeheshti University, Tehran, Iran. His research interests include pattern recognition, image processing, fuzzy sets theory, analogue and digital circuit design, wireless sensor networks, computer networks, feature selection and solving NP-complete problems by using evolutionary algorithms. He has more than 20 international journals and conference papers in the field of evolutionary algorithms. In 2010, he received the award of superior researcher from the Islamic Azad University of Central Tehran Branch. He is a student member of IEEE. F. Farokhi received his BSc in Electronic Engineering from University of KhajeNasirAddinToosi in 1996 and MSc in Electronic Engineering from South Tehran Branch of Islamic Azad
Copyright © 2013 Inderscience Enterprises Ltd.
A discrete Artificial Bee Colony for Multiple Knapsack Problem
89
University in 1998 as the honoured student. He received his PhD in Bioelectric Engineering from Islamic Azad University, Science and Research Campus in 2004. His research interests include neural and neuro-fuzzy networks, feature selection methods, pattern recognition and machine vision. Since 2001 he is an academic member of Islamic Azad University Central Tehran Branch. Since 2004 he is an Associate Professor and it is four years that he is the chairman of the Electrical Engineering Department. This paper is a revised and expanded version of a paper entitled ‘A novel artificial bee colony algorithm for the knapsack problem’ presented at the International Symposium on Innovations in Intelligent Systems and Applications (INISTA), 2012 in Trabzon, Turkey, 2–4 July, 2012.
1
Introduction
Knapsack Problem (KP) is a most popular subset selection problem. The aim is to assign a subset of n items from N original items to a knapsack, such that the overall profit of the selected items be maximised, without exceeding the capacity of the knapsack. The KP is a combinatorial NP-Complete problem, because the total possible knapsacks is equal to (2N − 1) as we proved in Shokouhifar and Farokhi (2010a). MKP aims to assign optimal subsets among all original items to some knapsacks, such that the overall profit of all selected items be maximised, while the total weight of all assigned items to any knapsack does not exceed the allowable capacity of it. The MKP has important applications in the financial and industry domains, such as resource distribution, investment decision-making, items shipment, network planning, parallel scheduling, project selection, distributed systems and budget controlling (Lili et al., 2003; Martello and Toth, 1990). In recent years, many approaches have been applied to solve KP and MKP, which they can be categorised into exact methods and heuristic methods. Exact techniques can be only applied to so small-scaled KPs owing to their running time that is an exponential function of the number of items. Therefore, these methods cannot solve large instances in real applications. Exact methods are relied on branch and bound (Hung and Fisk, 1978), cutting planes (Boryczka, 2007), dynamic programming (Andonov et al., 2000), etc. Evolutionary Algorithms (EAs) provide the nearoptimal solutions for MKP, and overcome this complexity in a reasonable time. EAs efficiently have been developed for solving MKP, such as genetic algorithm (GA) (Spillman, 1995; Zhao et al., 2009), Ant Colony Optimisation (ACO) (Zhao and Zhang, 2006; Ji et al., 2007; Nandan et al., 2009) and Particle Swarm Optimisation (PSO) (Aurelio et al., 2010; Li, 2009; Chen et al., 2010). To solve the KP using EAs, generally each possible solution is coded as a string of binary numbers; whereas in MKP, it is coded as a string of integer numbers. Each string represents a possible solution, in which ‘0’ means the absence of corresponding item, and ‘j’ means that the corresponding item belongs to jth knapsack(1 < j < m, m is the total number of knapsacks). Then, all of the generated solutions are evaluated by a fitness function, which calculates sum profit of all the selected items.
Spillman (1995) developed a basic form of genetic algorithm for the KP in Zhao et al. (2009) have proposed a greedy strategy combining with the traditional genetic algorithm that somewhat shortened the running time, and improved the quality of solution. Jianliang et al. (2010) presented a new method based on hybrid genetic algorithm to solve knapsack problem. Compared with traditional genetic algorithms, Hybrid genetic algorithm has a great improvement not only in the quality of solution, but also in the solution speed and sensitivity in different parameters. This is mainly because throw out of the invalidate chromosome, and make optimise the individual can transmit each gene to the next generation with high probability. Zhao and Zhang (2006) introduced a mutation-based ACO scheme that combines the inner mutation and outer mutation for solving KP. A new pheromone deposition scheme was proposed by Ji et al. (2007) to achieve a modified ACO for solving KP. The PSO algorithm has also been used for solving the 0–1 KP. However, PSO algorithm has achieved successful applications in the continuous optimisation problems, but the ability of PSO is relatively less for the discrete problems. A hybrid algorithm based on Bees Algorithm (BA) and PSO was proposed by Aurelio et al. (2010). This approach has the characteristics of each mentioned algorithm: the random search in the neighbourhood from the BA, and the social metaphor from the PSO algorithm. Among the mentioned evolutionary algorithms, the GA and ACO have better performance than the PSO, to solve KP. Although EAs have good quality for KP, they have some shortcomings in the speed and convergence. In this paper, a discrete version of ABC algorithm is proposed for the MKP. In addition to the quality of the proposed algorithm, it is preferred because of its quickness in achieving the optimal solution. We previously proposed two approaches based on ABC algorithm to solve another subset selection problem named the Feature Selection (Shokouhifar and Sabet, 2010; Shokouhifar and Farokhi, 2010b). Consequently, the rest of the paper is organised as follows: In Section 2, the MKP description is expressed. In Section 3, the framework of basic ABC algorithm is illustrated. The methodology of the proposed discrete ABC algorithm and the experiment results, respectively, are presented in Sections 4 and 5.
90
S. Sabet et al.
2
Artificial Bee Colony algorithm
ABC is a new bionic optimisation algorithm with a stochastic search mechanism, which was proposed by Karaboga and Basturk (2007). ABC algorithm mimics the foraging behaviour of the honey bees. In ABC, the colony consists of three groups of artificial bees: employed bees, onlookers and scouts. Each employed bee attempts a food source (i.e., solution) previously visited by itself. Then, all employed bees come back to the hive and began dance in dance area to transmit information of founded food sources to the rest of the colony. This dance is essential for colony communication, and contains three pieces of information regarding a flower patch: the direction in which it will be found, its distance from the hive, and its quality rating (i.e., fitness). Provided that the nectar amount of the new selected source is higher than the previous one, the bee memorises the new source position and forgets the old one. Otherwise, she keeps the previous position in her memory. Each onlooker watches the dances of employed bees, and makes decision to choose the scout bees. Then, the employed bees start to search the neighbourhood area of the food sources found by scout bees.
3
3.1 Multiple Knapsack Problem descriptions The MKP is the problem of assigning n items into m separate knapsacks, such that the total profit of all selected items is maximised, without exceeding the capacity of each of the knapsacks (Boryczka, 2007). As shown in equation (1), in the MKP, xij is the decision variable that gets a value from the set {0,1}, respectively, for the presence or the absence of the item j in the knapsack i; where xij = 1, if the item j is assigned to knapsack i, and xij = 0, otherwise. xij ∈ {0,1}, i = 1, 2,… , m, j = 1, 2,… , n.
(1)
The problem should be packed n items into m knapsacks of distinct capacities ci, where i = {1, 2, …, m} while m and n belong to the positive nature numbers set. Each item j has an associated profit pj and weight wj. In other words, the problem is to select m optimal disjoined subsets of items, such that the ith subset fits into capacity ci and the total profit of all selected items is maximised. Thus, MKP can be formulated as follows: m
n
∑∑ p
j
⋅ xij
(2)
i =1 j =1
subject to
n
∑w
j
⋅ xij ≤ ci , i = 1, 2,… , m
(3)
j =1
m
∑x
ij
i =1
≤ 1,
3.2 Construction of initial solutions In this paper, the initial solutions are not determined randomly; they are considered in such a way that guides the search process by the bees to better solutions. The heuristic information is calculated before starting the main algorithm at offline step. So, the relation of profit to weight for all items was calculated before performing the ABC. The corresponding relation for item j is calculated as equation (5) .The probability of the item i to be present in each initial solution is calculated as equation (6). Ri = pi / wi
Pp j =
Methodology
maximise
To formulate the MKP using ABC, a food source position represents a possible solution for the problem, and the corresponding nectar amount of the food source is equal to the sum of the profits of selected items in all knapsacks in that solution. To solve MKP using ABC, a mechanism must be employed that aims to simulate the problem into ABC. So, each bee is represented as a string of integer values, and the value of each bit corresponds to the presence or the absence of that item in the mentioned knapsack.
j = 1, 2,… , n.
(4)
Rj c × T Mean( R)
(5) (6)
where T is, respectively, the sum of weights of all original items, and C is the sum of capacities of all knapsacks. And, Mean(R) is the mean of the relation values of all original items, which were calculated by equation (5). An example for construction of a solution by the bee is shown in Figure 1. Figure 1
The construction of a solution by the bee: each column corresponds to an item: ‘0’ means that the item is not selected for any knapsack by the bee, and any other integer number means the number of knapsack, which is selected by the bee for that item (see online version for colours)
In each iteration, after finding a food source by each bee, it must be modified in such a way that it is not exceeding the allowable capacity of any knapsack. In this way, the worse items randomly are discarded one by one from any knapsack, until the total weights of the selected items that knapsack satisfied (equation (3)).
3.3 Evaluation of gathered solutions by the onlooker bees In this step, the nectar of achieved solutions by the bees must be evaluated. The nectar amount of kth bee is directly proportional to the total profit of the selected items in the knapsack by that bee. Then, the elitism selection strategy is applied to choose the best bees, as scouts.
A discrete Artificial Bee Colony for Multiple Knapsack Problem The chance of selecting a bee by onlookers is computed by equation (7). Chk =
Fkµ
∑
(7)
N
Fµ i =1 i
where Fk is the profit of the knapsack represented by the kth N bee. ∑ i =1 Fi is the total amount of achieved nectar by all the explorer bees, where N is the number of employed bees. In the proposed algorithm, Fk was considered as the sum of the profits of all selected items by the kth bee, which m n is calculated by ∑ i =1 ∑ j =1 pi ⋅ xij . In this paper, the value of µ is considered as (µ >> 1), which leads to select the better bees (Elitism Selection).
3.4 Recruitment process
The proposed algorithm iteratively is performed until a criterion be satisfied. We considered a maximum number of iterations (named Itermax) for stopping criterion of the algorithm. The overall flow chart of the proposed ABC-based algorithm can be shown in Figure 2. As noted earlier, the main steps of ABC-based algorithm can be summarised as follows: Step 1: Initialisation and set the parameters of ABC. Step 2: Generation of initial solutions by employed bee. Step 3: Evaluation of the achieved solutions. Step 4: The best solution found so far is registered. Step 5: Selection of scout bees by onlookers, and performing the recruitment process for them. Step 6: Check the stop criterion.
After evaluation process by onlookers, the recruitment process is performed in such a way that some employed bees (soldiers) are assigned for each scout bee. The way that is used in our algorithm for recruitment is such that the number of soldiers for each selected bee is determined as: Pr Sl = β × l + γ H
91
Step 7: Search neighbourhood using the proposed hybrid mutation-based scheme. Step 8: Go to step 3 and continue. Figure 2
The overall flow chart of the proposed algorithm
(8)
where Sl is the number of soldiers that are selected for the lth scout bee, and Prl is the preference of the lth scout bee. H is the number of scout bees, and N is the number of all employed bees (soldiers). β and γ are two constant parameters that determine the recruitment model. The value of γ is revealed as positive. If β = 0, the number of soldiers is determined uniformly for all scout bees. If β > 0, for the bee that has found a better solution quality, less number of soldiers are assigned; and if β < 0 the more soldiers are determined for the better bee.
3.5 Searching the neighbourhood area of the best-found solutions by scout bees In this step, each scout bee with her assigned soldiers goes to the neighbourhood area of the selected food source. The way that is used for selecting a new solution surrounding the current one is such that exchanging of each item from the knapsacks is performed with a variable parameter that determines the probability of changing that item. This parameter is calculated iteratively as a function of the number of the current iteration, as seen in equation (9). pchange = pmax +
Iter ( pmin − pmax ) Itermax
(9)
where pchange is the probability of changing for each item. Pmin and Pmax are, respectively, the minimum and the maximum values, which were determined for pchange. Iter is the current iteration, and Itermax is the maximum number of iterations for running the algorithm. Note that the value of Pmin and Pmax must be determined by small values, in such a way that just few items can be exchanged, by the bees.
4
Experimental results
4.1 Parameter setting All of the experiments are tested on an Intel PC with 2.53 GHz processor and 4 GB memory running MATLAB
92
S. Sabet et al.
R2009a in windows 7. The parameters that were considered for experiments can be seen in Table 1. Table 1
Figure 3
The result of the proposed algorithm for the Rand500 problem, with the maximum allowable capacity = 50%, in one-dimensional KP (see online version for colours)
Parameter setting for ABC to solve KP
Parameter
Value
Itermax (Equation (8))
300
Number of employed bees
30
Number of onlooker bees
30
Number of scout bees
3
Pmin (Equation (8))
3%
Pmax (Equation (8))
9%
µ (Equation (6))
4
β (Equation (7))
–6
γ (Equation (7))
14
H (Equation (7))
3
Table 2 shows details of the problems that were used in this paper. We get six numerical examples to illustrate the performance of the proposed algorithm for KP and MKP. The number of all original items was set to 25, 50, 100, 200, 300 and 500, respectively, in these examples. The weights and the profits in these problems were generated randomly between 1 and 100.
Table 3
Table 2
Details of the problems used in this paper
Problem name
No. items
Sum weights
Sum profits
Rand25
25
321
306
Rand50
50
1248
1215
Rand100
100
5415
5016
Rand200
200
19,131
18,580
Rand300
300
42,578
48,736
Rand500
500
124,200
132,089
4.2 Experimental results for one-dimensional KP The schema of running the proposed algorithm for the Rand500 problem with the maximum allowable capacity equal to 50% can be seen in Figure 3. To verify the achieved results, we also apply the Ranking, GA and PSO algorithms for the KP. The Ranking method works as follows: •
The relation of profit to weight is calculated for all original items within the problem space.
•
All the original items are sorted according to their relation values.
•
The best item among unselected items is added to the knapsack, while the sum of weights of the selected items is not exceeding the maximum allowable capacity of the knapsack.
The results of Ranking method for the different capacities are given in Table 3.
The results of ranking method 20%
35%
50%
Problem name
No. items
Sum profits
No. items
Sum profits
No. items
Sum profits
Rand25
8
161
12
217
14
249
Rand50
19
592
24
763
31
946
Rand100
37
2491
50
3282
61
3931
Rand200
78
9993
103
13,220
125
15,606
Rand300
121
25,141
160
33,301
193
39,587
Rand500
195
68,762
256
90,095
313
106,426
The maximum iteration (Itermax), and the number of population for the GA and PSO algorithm were set to the same numbers; these two parameters were set to 500 and 50, respectively. Details of setting the parameters of the GA and PSO algorithms are as follows: To perform GA, the scattered crossover scheme was applied. The elitism selection strategy was used to select the parents. The probability of applying the mutation for each offspring was considered equal to 1%; in this way, a swap mutation operator was used for a random item in the offspring. The number of chromosome population and the number of parents was 50 and 5, respectively. Setting parameter GA can be seen in Table 4. Table 4
Parameter setting for GA to solve KP
Parameter Itermax Number of chromosomes Selection type Number of selected parents
Value 500 50 Elitism selection 5
Crossover operator
Scattered
Mutation operator
Swap
Mutation probability
%1
A discrete Artificial Bee Colony for Multiple Knapsack Problem And to perform PSO for the KP, at first, a mechanism must be employed to use continuously PSO algorithm to binary 0–1 KP. So, we determine an n-dimension parameter optimisation space, where n is the number of all original items. Each of these parameters have a continuous value in the range 0~1. So, the value of each particle was limited between two values: 0 and 1. Iteratively after construction of solutions by the basic PSO, if the value of jth parameter is higher than 0.5, the jth item is considered into the knapsack, and the jth item is the absence from the knapsack, for the values smaller than 0.5. The other settings are same with the basic PSO that is showed in Table 5. The number of all particles was set to 50, and each particle has n-dimension. Table 5 Parameter
and ABC, each possible solution is encoded as a string of integer numbers. Each string represents a possible solution, where ‘0’ means the absence of corresponding item, and ‘j’ means that the corresponding item belongs to jth knapsack (1 < j < m, and m is the total number of knapsacks). Fitness function calculates sum profit of all the selected items in all knapsacks, for each solution. The parameters of the proposed ABC algorithm for MKP can be seen in Table 9. And, the details of setting the parameters of the GA and PSO algorithms are as follows: Table 7
Comparison of the results of GA, PSO and ABC, for the maximum allowable capacity = 35% GA
Problem name
Parameter setting for PSO to solve KP
93
PSO
ABC
No. items
Sum profits
No. items
Sum profits
No. items
Sum profits
12
217
12
217
12
217
Value
Ran25
Itermax
500
Ran50
24
788
24
763
25
797
Number of particles
50
Ran100
49
3287
48
3280
50
3302
C1
1
Ran200
100
13,253
99
13,134
102
13,329
C2
2
Ran300
156
33,274
159
32,135
164
33,428
W_max
0.9
Ran500
254
89,120
256
88,947
256
90,163
W_min
0.1
V_max
1
Table 8
Primitive velocity of each particle
0
Comparison of the results of GA, PSO and ABC, for the maximum allowable capacity = 50% GA
A comparison between GA, PSO and the proposed ABC algorithm can be shown in Tables 6–8, respectively, for different knapsack capacities equal to 20, 35 and 50%. The number of selected items, and also the sum of profits of the selected items achieved by each algorithm are given in these tables. Note that the maximum allowable capacity is the knapsack capacity, which limits the sum of weights of the selected items in the knapsack. Table 6
Comparison of the results of GA, PSO and ABC, for the maximum allowable capacity = 20% GA
Problem name
PSO
ABC
No. items
Sum profits
No. items
Sum profits
No. items
Ran25
9
166
9
166
9
Ran50
19
592
19
592
Ran100
36
2483
36
2461
Sum profits
Problem name
PSO
ABC
No. items
Sum profits
No. items
Sum profits
No. items
Sum profits
Ran25
14
254
14
249
14
249
Ran50
31
952
31
952
31
946
Ran100
61
3931
63
3872
63
4012
Ran200
125
15,550
123
15,428
125
15,679
Ran300
193
39,513
193
39,215
195
39,615
Ran500
315
105,597
314
103,727
315
106,512
Table 9
Parameter setting for ABC to solve MKP
Parameter
Value
Itermax (Equation (8))
500
166
Number of employed bees
50
19
592
Number of onlooker bees
50
39
2562
Number of scout bees
5
Ran200
78
9993
75
9722
81
10,078
Pmin (Equation (8))
2%
Ran300
118
24,812
118
24,483
121
15,141
Pmaz (Equation (8))
10%
Ran500
194
68,747
186
67,734
199
68,977
µ (Equation (6))
4
β (Equation (7))
–10
γ (Equation (7))
16
H (Equation (7))
5
4.3 Experimental results for multiple KP In our experiments, for the MKP problem, the maximum number of iteration (Itermax), and the population size for the GA and PSO were set to 1000 and 100, respectively. These two parameters for the proposed ABC algorithm were set to 500 and 50, respectively. To solve the MKP using GA, PSO
To perform GA, the scattered crossover scheme was applied, and Elitism selection strategy was used to select the parents. The probability of applying the mutation for each
94
S. Sabet et al.
offspring was considered equal to 5%; in this way, a swap mutation operator was used for a random item in the offspring. The number of chromosome population and the number of parents was 100 and 10, respectively. Other parameters are same with the KP, as shown in Table 10. Table 10
Table 12
GA Problem name
Parameter setting for GA to solve MKP
Comparison of the results of GA, PSO and ABC, for the maximum allowable capacity = 20% for problem Ran500, and total number of knapsacks is set to 5 PSO
ABC
No. items
Sum profits
No. items
Sum profits
No. items
Sum profits
Parameter
Value
Knapsack1
37
12,637
41
12,417
38
13,537
Itermax
1000
Knapsack2
40
13,229
36
11,765
42
12,826
Number of chromosomes Selection type
100
Knapsack3
39
13,783
45
14,540
40
14,385
Elitism selection
Knapsack4
36
11,960
37
13,318
39
12,890
10
Knapsack5
42
13,622
32
12,483
37
13,547
194
65,231
191
64,523
196
67,185
Number of selected parents Crossover operator
Scattered
Mutation operator
Swap
Mutation probability
5%
And to perform PSO for the KP, at the first, a mechanism must be employed to use continuously PSO algorithm for discrete MKP problem. So, we determine an n-dimension parameter optimisation space, where n is the number of all original items. Each dimension has a continuous value in the range 0~1. So, the value of each dimension in each particle was limited between two values: 0 and 1. Assume that m is the total number of knapsacks, and k = 1, 2, …, m. So, iteratively after construction of solutions by the basic continuously PSO, if the value of jth item is between 0 and (1/(m + 1)), the jth item is the absence from any knapsacks, and if the value of jth item is between (k/(m + 1)) and ((k + 1)/(m + 1)), the jth item is considered into the kth knapsack. The number of all particles was set to 100, and each particle has n-dimension, in which n is the total number of items. The other settings are same with the basic PSO, as can be seen in Table 11. Table 11
Parameter setting for PSO to solve MKP
Total Table 13
Comparison of the results of GA, PSO and ABC, for the maximum allowable capacity = 35% for data Ran500, and total number of knapsacks is set to 5 GA
Problem name
PSO
ABC
No. items
Sum profits
No. items
Sum profits
No. items
Sum profits
Knapsack1
54
17,423
49
18,230
53
17,838
Knapsack2
45
15,932
53
16,869
46
16,890
Knapsack3
54
18,325
55
17,320
45
18,452
Knapsack4
48
16,180
54
16,873
56
18,784
Knapsack5
50
17,333
47
14,218
52
18,300
251
85,193
258
83,510
252
90,264
Total Table 14
Comparison of the results of GA, PSO and ABC, for the maximum allowable capacity = 50% for data Ran500, and total number of knapsacks is set to 5 GA
Problem name
PSO
ABC
No. items
Sum profits
No. items
Sum profits
No. items
Sum profits
Knapsack1
67
20,570
59
18,436
63
19,931
Parameter
Value
Knapsack2
53
18,158
70
21,520
55
21,760
Itermax
1000
Knapsack3
59
21,784
62
19,289
73
22,197
Number of particles
100
Knapsack4
63
20,487
65
19,196
57
20,765
C1
0.8
Knapsack5
64
19,280
57
18,532
61
20,321
C2
1.2
Total
100,279 313
96,973
309
104,974
W_max
0.9
W_min
0.1
V_max
1
5
Primitive velocity of each particle
0
In this paper, a new meta-heuristic was applied for the MKP. The proposed ABC-based approach in comparison with the mentioned algorithms has a great improvement in the quality of solution, speed and simplifying to perform. Additionally, it has been found that the proposed algorithm is able to find a good solution with a small population of bees, and with a few number of iterations. The obtained results show that ABC has better performance than the GA and PSO for the subset selection problems like MKP,
A comparison between GA, PSO and the proposed ABC algorithm can be shown in Tables 12–14, respectively, for different knapsack capacities. The number of selected items, and also the sum of profits of the selected items within each knapsack, are given in these tables. Note that the Maximum Allowable Capacity in these tables is the sum of capacities of all knapsacks.
306
Conclusion and future work
A discrete Artificial Bee Colony for Multiple Knapsack Problem especially for the large-size problems. As the size of problem increases, the PSO and GA cannot find the optimal solution; however, the proposed ABC-based algorithm can effectively explore the search space until discovering a high-quality solution.
References Andonov, R., Poirriez, V. and Rajopadhye, S. (2000) ‘Unbounded knapsack problem: dynamic programming revisited’, European Journal of Operational Research, Vol. 12, pp.394–407. Aurelio, M., Figueroa, S., Rosario, M., Flores, B., Carpio, J. and Zamudio, V. (2010) ‘A comparison between Bee Swarm Optimization and Greedy Algorithm for the Knapsack Problem with bee reallocation’, 2010 Ninth Mexican International Conference on Artificial Intelligence (MICAI), 8–13 November, 2010, Pachuca, pp.22–27. Boryczka, U. (2007) ‘Ants and multiple knapsack problem’, 6th International Conference on Computer Information Systems and Industrial Management Applications (CISIM), 28–30 June, 2007, Minneapolis, pp.149–154. Chen, W., Zhang, J., Chung, H., Zhong, W., Wu, W. and Shi, Y. (2010) ‘A novel set-based particle swarm optimization method for discrete optimization problems’, IEEE Transaction on Evolutionary Computation, Vol. 14, No. 2, pp.278–300. Hung, M.S. and Fisk, J.C. (1978) ‘An algorithm for 0–1 multiple knapsack problems’, Naval Research Logistics Quarterly, Vol. 25, No. 3, pp.571–579. Ji, J., Huang, Z., Liu, C., Liu, X. and Zhong, N. (2007) ‘An Ant Colony Optimization algorithm for solving the multidimensional knapsack problems’, 2007 IEEE/WIC/ACM International Conference on Intelligent Agent Technology, 2–5 November, 2007, Fremont, pp.10–16. Jianliang, W., Qiuyun, S. and Haipeng, J. (2010) ‘A novel method for solving knapsack problem based on hybrid genetic algorithm’, 2010 2nd International Conference on Industrial and Information Systems (IIS), 10–11 July, 2010, Dalian, Vol. 1, pp.34–36. Karaboga, D. and Basturk, B. (2007) ‘A powerful and efficient algorithm for numerical function optimization: Artificial Bee Colony (ABC) algorithm’, Journal of Global Optimization, Vol. 39, No. 3, pp.459–471.
95
Li, Z. (2009) ‘A novel multi-mutation binary particle swarm optimization for 0-1 knapsack problem’, Control and Decision Conference (CCDC), 17–19 June, 2009, Guilin, pp.3042–3047. Lili, K., Dai, G. and Hual, Q. (2003) ‘A genetic algorithm for the unbounded knapsack problem’, 2003 International Conference on Machine Learning and Cybernetics, 2–5 November, 2003, China, Vol. 3, pp.1586–1590. Martello, S. and Toth P. (1990) Knapsack Problems: Algorithms and Computer Implementation, Wiley, New York, pp.1586–1590. Nandan, S., Mohanty and Satapathy, R. (2009) ‘An evolutionary multiobjective genetic algorithm to solve 0/1 knapsack problem’, 2nd IEEE International Conference on Computer Science and Information Technology (ICCSIT), 8–11 August, 2009, Beijing, pp.397–399. Shokouhifar, M. and Farokhi, F. (2010a) ‘Feature selection using supervised fuzzy C-means algorithm with ant colony optimization’, 3rd International Conference on Machine Vision (ICMV), 28–30 December, 2010, Hong Kong, pp.441–446. Shokouhifar, M. and Farokhi, F. (2010b) ‘An artificial bee colony optimization for feature subset selection using supervised fuzzy C_means algorithm’, 3rd International Conference on Information Security and Artificial Intelligent (ISAI), 17–19 December, 2010, Chengdu, China, pp.427–432. Shokouhifar, M. and Sabet, Sh. (2010) ‘A hybrid approach for effective feature selection using neural networks and artificial bee colony optimization’, 3rd International Conference on Machine Vision (ICMV), 28–30 December, 2010, Hong Kong, pp.502–506. Spillman, R. (1995) ‘Solving large knapsack problems with a genetic algorithm’, IEEE, pp.632–637. Zhao, J., Huang, T., Pang, F. and Liu, Y. (2009) ‘Genetic algorithm based on greedy strategy in the 0-1 knapsack problem’, 3rd International Conference on Genetic and Evolutionary Computing (WGEC), 14–17 October, Guilin, pp.105–107. Zhao, P. and Zhang, X. (2006) ‘A new ant colony optimization for the knapsack problem’, 7th International Conference on Computer-Aided Industrial Design and Conceptual Design (CAIDCD), 17–19 November, 2006, Hangzhou, pp.1–3.