A discrete Artificial Bee Colony for Multiple Knapsack Problem Shima ...

Report 6 Downloads 46 Views
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.