Academia.eduAcademia.edu
A Modified Shuffled Frog Leaping Algorithm with Genetic Mutation for Combinatorial Optimization Kaushik Kumar Bhattacharjee and Sarada Prasad Sarmah Deptt. of Industrial Engineering and Management Indian Institute of Technology Kharagpur India, Kharagpur 721302 bhattacharjee.kaushik@gmail.com, sp sarmah@yahoo.com Abstract. In this work, we propose modified versions of shuffled frog leaping algorithm (SFLA) to solve multiple knapsack problems (MKP). The proposed algorithm includes two important operations: repair operator and genetic mutation with a small probability. The former is utilizing the pseudo-utility to repair infeasible solutions, and the later can effectively prevent the algorithm from trapping into the local optimal solution. Computational experiments with a large set of instances show that the proposed algorithm can be an efficient alternative for solving 0/1 multidimensional knapsack problem. Keywords: Genetic mutation, metaheuristics, multidimensional knapsack problem, repair operator, shuffled frog leaping algorithm. 1 Introduction The 0/1 multidimensional (multiple constrained) knapsack problem (01MKP) is a well-studied, strongly NP-hard combinatorial optimization problem occurring in many different applications, such as the capital budgeting problem, allocating processors and databases in a distributed computer system, project selection, cargo loading, and cutting stock problems. The most common formulation of 01MKP is as follows: M aximize f (x1 , x2 , ..., xn ) = n  cj xj j=1 Subject to n  aij xj ≤ bi , i = 1, 2, ..., m (1) j=1 xj ∈ {0, 1}, j = 1, 2, .., n cj > 0, aij ≥ 0, bi > 0. The objective function f (x1 , x2 , ..., xn ) should be maximized subject to the constraints. For 01MKP problems the variable xj can take only two values 0 and N.-T. Nguyen et al. (Eds.): ICCCI 2012, Part II, LNAI 7654, pp. 513–522, 2012. c Springer-Verlag Berlin Heidelberg 2012  514 K.K. Bhattacharjee and S.P. Sarmah 1. Here in a 01MKP, it is necessary that aij is non negative. This necessary condition paves a way for better heuristics to obtain near optimal solutions. Exact and heuristic algorithms have been developed for the 01MKP , like many NP-hard combinatorial optimization problems. Existing exact algorithms are essentially based on branch and bound method [1], dynamic programming [2], systematic approach [3] and 01MKP relaxation techniques [4] such as Lagrangian, surrogate and composite relaxations. Due to their exponential time complexity, exact algorithms are limited to small size instances. On the other hand heuristic and metaheuristic algorithms are designed to produce near-optimal solutions for larger problem instances. The greedy method is used as the first heuristic approach to solve 01MKP. Metaheuristics are also used to solve 01MKP, like tabu search [5], simulated annealing [6], genetic algorithm [7], ant colony optimization [8], and particle swarm optimization (PSO) [9]. SFLA is one of the most recent developed metaheuristic which is based on observing, imitating, and modeling the behavior of a group of frogs when searching for the location that has the maximum amount of available food [10]. SFLA, originally developed by Eusuff and Lansey in 2003, can be used to solve many complex optimization problems, which are nonlinear, non-differentiable, and multi-modal [11]. The most distinguished benefit of SFLA is its fast convergence speed [12]. The SFLA combines the benefits of both the genetic-based memetic algorithm (MA) and the social behavior-based PSO algorithm [13]. In this present study we test the convergence property of SFLA on different types of 01MKP instances. Two quantitative measures are considered in order to assess the performance of the algorithms concerning the deviation from the optimal value and number of iterations to reach the best solution, respectively. Further, computational experiments with a set of large-scale instances are also tested. The work is organized as follows. Section 2 introduces key concepts of shuffled frog leaping algorithm. Different modified versions of SFLA is the subject of Section 3. Experiments and computational results are presented in Section 4. The last section offers concluding remarks and direction of future work. 2 Shuffled Frog Leaping Algorithm The SFLA is a combination of deterministic and random approaches. The deterministic strategy allows the algorithm to use response surface information effectively to guide the heuristic search as in PSO. The random elements ensure the flexibility and robustness of the search pattern.The SFLA, in essence, combines the benefits of the genetic-based memetic algorithms and the social behavior-based PSO algorithms. An initial population of P frogs is created randomly. For S-dimensional problems (S variables), a frog i is represented as Xi = (xi1 , xi2 , ..., xiS ). Afterwards, the frogs are sorted in a descending order according to their fitness. Then, the entire population is divided into m memeplexes, each containing n frogs (i.e. P = m × n). In this process, the first frog goes to the first memeplex, the second frog goes to the second memeplex, frog m goes to the m-th memeplex, and frog m + 1 goes back to the first memeplex, A Modified Shuffled Frog Leaping Algorithm with Genetic Mutation 515 etc. Within each memeplex, the frogs with the best and the worst fitness are identified as Xb and Xw , respectively. Also, the frog with the global best fitness is identified as Xg . Then, a process similar to PSO is applied to improve only the frog with the worst fitness in each cycle. Accordingly, the position of the frog with the worst fitness is adjusted as follows: Di = Rand() × (Xb − Xw ), (2) where Di is the change in i-th frog position and new position is given by: Xw (new) = Xw + Di , −Dmax ≤ Di ≤ Dmax ; (3) where Rand() is a random number(Rand() ∼ U (0, 1)); and Dmax is the maximum allowed change in a frog’s position. If this process produces a better solution, it replaces the worst frog. Otherwise, the calculations in Eqs. 2 and 3 are repeated but with respect to the global best frog (i.e. Xg replaces Xb ). If no improvement becomes possible in this case, then a new solution is randomly generated to replace that frog. The calculations then continue for a specific number of iterations [14]. 3 Modified Shuffled Frog Leaping Algorithms for 01MKP 01MKP has a special structure as shown by Eq. 1, which can not be handled by SFLA. For this reason original SFLA is modified and the modified binary shuffled frog leaping algorithm (MBSFLA) is discussed in this section in full details. 3.1 Process for Binary Variables 01MKP problem is an integer programming problem. There are only two possible values for the decision variable xj (j = 1, 2, ..., n). For this reason, in this work we have used three different kinds of discretization techniques to solve it. 1. Method 1: the worst frog Xw of each memeplex is replaced according to t = Xw + D; ⎧ ⎪ ⎨0 Xw (new) = round(t) ⎪ ⎩ 1 if t ≤ 0, if 0 < t < 1, if t ≥ 1. (4) 2. Method 2: D is transformed to the interval [0, 1] by using sigmoid function. The worst frog is replaced according to Eq. 5. 3. Method 3: the updating formula for the worst frog is given by Eq. 6. The parameter α is called static probability. 516 K.K. Bhattacharjee and S.P. Sarmah t = 1/(1 + exp(−D)); u ∼ U (0, 1)  0 if t ≤ u, Xw (new) = 1 if t > u. 3.2 t = 1/(1 + exp(−D)); ⎧ ⎪ if t ≤ α, ⎨0 (5) (6) Xw (new) = Xw if α < t ≤ 21 (1 + α), ⎪ ⎩ 1 if t ≥ 12 (1 + α). Pseudo-utility and Repair Operator When the binary string violates the constraint of the given problem, then repair algorithm is employed to make infeasible solutions to feasible one. Infeasible solutions will be repaired by using a repair operator, which is a kind of greedy heuristic based on the pseudo-utility. At the initialization step, MBSFLA sorts and renumbers variables according to the decreasing order of their pseudo-utility, which were calculated by the surrogate duality approach introduced by Pirkul [15]. The surrogate relaxation problem of the 01MKP can be defined as: M aximize Subject to n  j=1 n  cj xj m m   ωi bi , i = 1, ..., m ωi aij )xj ≤ ( j=1 i=1 (7) i=1 xj ∈ {0, 1}, j = 1, ..., n where ω = {ω1 , ω2 , ..., ωm } is a set of surrogate multipliers (or weights) of some positive real numbers. The pseudo-utility ratio for each variable, based on the surrogate constraint coefficient, is defined as cj . (8) uj = m i=1 ωi aij The repair operator is inspired from the idea of Chu and Beasley [16], which consists of two phases. The pseudo-code of the repair operator is given in Algorithm a of Figure 1. 3.3 Genetic Mutation Discrete shuffled frog leaping algorithm sometimes trapped in the local optimal point. To avoid this situation we utilize the genetic mutation to avoid premature convergence. After shuffling the memeplexes we use the genetic mutation operator to modify the population as x̄ij = |xij − 1| with a small mutation probability pm . The pseudocode for MBSFLA is given in Algorithm b of Figure 1. Accordingly, the main parameters of MBSFLA are: number of frogs P ; number of memeplexes m; number of generation for each memeplex before shuffling n; number of shuffling iterations it; maximum number of iterations iM ax; static probability α (for Method 2); and genetic mutation probability pm . A Modified Shuffled Frog Leaping Algorithm with Genetic Mutation (a) a) Pseudocode for Repair Operator Let: Ri = accumulated resources of constraint i in x  n Initialize Ri = j=1 aij xj , ∀i ∈ I {DROP Phase} for j = n to 1 do if (xj = 1) and (Ri then xj := 0 Ri := Ri − aij , end if end for {ADD Phase} for j = 1 to n do if (xj = 0) and (Ri then xj := 1 Ri := Ri + aij , end if end for > bi , for any i ∈ I) ∀i ∈ I + aij ≤ bi , ∀i ∈ I) ∀i ∈ I 517 (b) b) Pseudocode for Main Procedure Generate random population of P solutions (frogs) for each individual i ∈ P do Calculate fitness(i) end for Sort the population P in descending order of their fitness Divide P into m memeplexes for each memeplex do Determine the best and worst frogs Improve the worst frog position using Eq. 4, 5 or 6 Repeat for a specific number of iterations end for Combine the evolved memeplexes Mutate Repair the population P Sort the population P in descending order of their fitness if termination = true then Return best solution end if Fig. 1. Pseudocode for MBSFLA Procedure 4 Experiments and Computational Results In this section, the performance of shuffled frog leaping algorithm is extensively investigated by a large number of experimental studies. For performance analysis we select total 56 benchmark problem instances of 01MKP from OR-Library ( [17]) corresponding to small and medium class; items are ranging from 6 to 105; and number of knapsack is 2 to 30. All computational experiments are conducted with MATLAB 7.6.0 in Intel(R) Core(TM)2 Duo CPU E7400 @2.80 GHz with 4GB of RAM. 4.1 Effect of Static Probability Among first seven test problems of small class, f7 is much more difficult to solve, because the capacity constraints are of the type of average knapsack capacity. So the initial parameter setting is done with this problem instance. The population size is P = 200 along with m = 10 memeplexes, number of iterations within each memeplex it = 10 and maximum number of iterations is considered as iM ax = 100. The performance criteria of binary shuffled frog leaping algorithm (BSFLA) for different static probabilities (α values) for the function f7 is given in Fig. a of Figure 2. Average profit for 30 individual runs corresponding to different α values is plotted corresponding to the range of α values ([0.05, 0.95]) in the figure. The objective function value deteriorates as one moves far from the mid point. Therefore we may choose α = 0.5. 4.2 Comparison among Three Binary Shuffled Frog Leaping Algorithms For first seven test problems best solution and worst solution among 30 independent runs are reported in Table 1 for three binary shuffled frog leaping algorithms 518 K.K. Bhattacharjee and S.P. Sarmah 4 4 x 10 1.6508 Average of Profit Functions ⇒ Average of Profit Functions ⇒ 1.6482 1.648 1.6478 1.6476 1.6474 1.6472 1.647 1.6468 1.6466 x 10 1.6507 1.6506 1.6505 1.6504 1.6503 1.6502 1.6501 1.6464 1.65 1.6462 1.646 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.6499 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 Genetic Mutation Probability p ⇒ Static Probability α ⇒ m (b) Effect of Genetic Mutation Probability (a) Effect of Static Probability Fig. 2. Effect of Static Probability (α) and Genetic Mutation Probability (pm ) Table 1. Comparison between Three Binary Shuffled Frog Leaping Algorithms f op best 3800 3800 3800 8706.1 f2 8706.1 8706.1 8706.1 4015 f3 4015 4015 4015 6120 f4 6120 6120 6120 f1 3800 Criteria worst average std AT T f op 3800 3800 3800 8706.1 8706.1 8706.1 4005 4005 4005 6110 6110 6100 3800 3800 3800 8706.1 8706.1 8706.1 4013.67 4014.34 4011.67 6119 6119.67 6118 0 0 0 0 0 0 3.46 2.54 4.8 3.06 1.83 4.85 best Criteria worst average std 0.01 12400 12400 12400 f5 12400 12400 12165 12357.84 0 12400 12360 12383 0 0.03 10605 10570 10585.84 0.03 f6 10618 10604 10547 10565.74 0.06 10604 10547 10553.14 0.3 16537 16421 16485.47 0.18 f7 16537 16501 16358 16442 0.44 16511 16436 16460.07 0.26 0.11 0.28 0 57.48 16.65 8.7 19.7 14.35 27.22 42.46 30.28 AT T 0.25 1.39 1 1.73 1.79 1.77 2.18 2.27 2.24 as discussed in Section 3.1. Also average, median and standard deviation (std) for all the solutions are given here along with average total time (ATT) to solve the problem. Maximum number of iterations is considered as iM ax = 100, and population size is P = 200 along with m = 10 memeplexes. From Table 1, it is clear that, Method 1 is much more effective to find out best solution with respect to others. In most of the cases Method 1 performs better with respect to average, median, standard deviation and ATT (except for the function f3 and f4 , Method 2 performs better with respect to average and standard deviation (std)). 4.3 Effect of Genetic Mutation For the standard test problem f7 of small size, population size of MBSFLA is set to P = 200 along with m = 10 memeplexes, and the number of iterations in each memeplex is set to it = 10. Total 30 independent experiments are carried out in each case. The performance of MBSFLA with respect to different mutation A Modified Shuffled Frog Leaping Algorithm with Genetic Mutation 519 Table 2. Comparison between BSFLA and MBSFLA f best 3800 f1 3800 8706.1 f2 8706.1 4015 f3 4015 6120 f4 6120 12400 f5 12400 10618 f6 10618 16520 f7 16518 iM ax = 50 worst average std AT T best 3800 3800 8706.1 8706.1 4005 4015 6110 6120 12370 12400 10547 10584 16371 16499 0.01 0.01 0.02 0.03 0.11 0.03 0.11 0.03 0.31 0.06 0.79 0.82 0.99 1.01 3800 3800 8706.1 8706.1 4015 4015 6120 6120 12400 12400 10618 10618 16537 16537 3800 3800 8706.1 8706.1 4014 4015 6119 6120 12398.34 12400 10580.37 10592.5 16473.14 16500.47 0 0 0 0 3.06 0 3.06 0 6.48 0 17.92 9.55 35.61 3.9 iM ax = 100 worst average std AT T best 3800 3800 8706.1 8706.1 4005 4015 6110 6120 12400 12400 10552 10584 16356 16499 0.01 0.01 0.03 0.02 0.16 0.03 0.16 0.03 0.3 0.06 1.55 1.64 1.92 1.96 3800 3800 8706.1 8706.1 4015 4015 6120 6120 12400 12400 10618 10618 16537 16537 3800 3800 8706.1 8706.1 4014 4015 6119.67 6120 12400 12400 10586.8 10596.57 16485.24 16506.27 0 0 0 0 3.06 0 1.83 0 0 0 11.84 8.61 35.87 9.61 iM ax = 150 worst average std AT T 3800 3800 8706.1 8706.1 4005 4015 6110 6120 12400 12400 10570 10584 16436 16499 0.01 0.01 0.03 0.02 0.25 0.03 0.18 0.03 0.3 0.07 2.33 2.26 2.88 2.97 3800 3800 8706.1 8706.1 4014 4015 6119.67 6120 12400 12400 10585.74 10604.17 16489.87 16505.37 0 0 0 0 3.06 0 1.83 0 0 0 11.06 7.65 20.35 8.83 probabilities is shown in Fig. b of Figure 2. Range of pm is taken as [0.01, 0.2], as beyond this range the performance of MBSFLA degraded gradually. The best results were obtained at more than one point (pm = 0.06, 0.12 and 0.16). As the complexity of the multiple knapsack problem increases with its size and the adaptivity of pm to problems with higher dimension sizes may decrease more or less within this region. So for finding dynamic balance between problem size and pm value, we fixed the value of pm = 2/n for large problem instances, where n is the number of items. And for small and medium size problems we fixed pm value at 0.06. 4.4 Comparison among BSFLA and MBSFLA We consider the same seven standard test problems to compare the performance of BSFLA and MBSFLA. In the first case, we present the comparison between these two with respect to objective function value, and in the second case we only consider the maximum number of iterations. The parameter setting for these two algorithms is given below. We consider population size P = 200, number of memeplexes m = 10 and number of iterations within each memeplex it = 10 for both the cases. For MBSFLA mutation probability is pm = 0.06. Three values of maximum number Table 3. Comparison between BSFLA and MBSFLA with respect to Iteration Number f BSFLA best worst average std MBSFLA AT T best worst average std AT T f1 f2 f3 f4 f5 f6 f7 1 1 1 1 1 500 500 0.01 0.03 0.84 0.34 0.3 7.77 9.4 0.01 0.02 0.03 0.05 0.06 7.06 8.62 1 11 500 500 74 500 500 1 2.44 74.8 24.97 19.17 500 500 0 2.78 152.26 91.99 19.19 0 0 1 1 1 1 1 22 74 1 23 7 30 6 500 500 1 2.17 2.1 2.97 3.74 438.77 440.47 0 4.2 1.25 5.21 1.29 159.04 119.04 520 K.K. Bhattacharjee and S.P. Sarmah Table 4. Solutions of Medium Size 01MKP Instances f n m op f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24 f25 f26 f27 f28 f29 f30 f31 f32 f33 f34 f35 f36 f37 f38 f39 f40 f41 f42 f43 f44 f45 f46 f47 f48 f49 28 60 60 28 28 28 28 28 28 105 105 30 30 30 30 30 40 40 40 40 50 50 50 50 60 60 60 60 70 70 70 70 80 80 80 80 90 90 90 90 90 27 34 29 20 40 37 28 35 2 30 30 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 2 10 30 30 4 4 141278 7772 8722 141278 130883 95677 119337 98796 130623 1095445 624319 4554 4536 4115 4561 4514 5557 5567 5605 5246 6339 5643 6339 6159 6954 7486 7289 8633 9580 7698 9450 9074 8947 8344 10220 9939 9584 9819 9492 9410 11191 3090 3186 95168 2139 776 1035 3418 3186 best Solution quality worst average std No of iterations dev best worst average std AT T 141278 7772 8722 141278 130883 95677 119337 98796 130623 1095445 624319 4554 4536 4115 4561 4514 5557 5567 5605 5246 6339 5643 6339 6159 6954 7486 7289 8633 9580 7698 9450 9074 8947 8344 10220 9939 9584 9819 9492 9410 11191 3090 3186 95168 2139 776 1035 3418 3186 141278 7772 8722 141278 130883 95677 119337 98796 130623 1095382 623612 4554 4536 4115 4561 4514 5557 5567 5605 5246 6339 5643 6339 6159 6954 7486 7288 8633 9580 7698 9450 9074 8929 8344 10198 9923 9552 9819 9492 9410 11191 3076 3156 95168 2139 776 1035 3404 3153 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 3.58 0.7 0.11 0.32 0.69 0.34 0.1 0.73 11.79 6.61 0.18 0.41 0.18 0.11 0.11 0.25 0.25 0.89 0.17 1.28 0.2 0.95 0.29 0.41 0.99 5.92 0.54 3.63 0.68 3.76 2.01 10.58 3.58 13.61 14.32 13.11 4.02 4.05 2.8 4.39 4.15 5.92 0.05 0.09 0.52 0.15 5.3 6.88 141278 7772 8722 141278 130883 95677 119337 98796 130623 1095384.1 624295.44 4554 4536 4115 4561 4514 5557 5567 5605 5246 6339 5643 6339 6159 6954 7486 7288.84 8633 9580 7698 9450 9074 8939.8 8344 10209.57 9932.4 9578.94 9819 9492 9410 11191 3082.2 3174.1 95168 2139 776 1035 3408.3 3170.94 0 0 0 0 0 0 0 0 0 11.51 129.08 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.38 0 0 0 0 0 8.97 0 6.8 6.33 8.38 0 0 0 0 6.95 9.93 0 0 0 0 6.47 10.35 1 2 3 1 1 2 1 1 1 38 1 2 2 1 1 1 2 2 2 2 4 2 2 2 2 2 5 3 15 2 8 5 18 7 52 38 7 8 4 4 12 2 12 1 1 2 1 4 38 4 112 15 8 22 58 25 2 56 150 150 6 16 8 2 2 7 6 32 5 38 4 29 7 8 20 150 12 117 19 96 56 150 108 150 150 150 144 99 82 142 150 150 1 4 17 2 150 150 2.04 35.34 7.64 2.24 6.47 12.1 7.3 1.77 14.6 146.27 44.47 3.2 7.3 3.07 1.9 1.9 3.64 3.64 14.17 2.37 15.97 2.2 11.57 3.37 4.54 11.37 70.5 7.44 41.64 6.54 41.04 21.6 99.1 32.44 145.5 143.87 109.17 33.67 33.6 22.67 41.84 97.07 123.7 1 2.17 6.07 1.97 123.3 134.57 0.97 24.64 2.52 1.39 4.51 12.53 8.38 0.44 14.17 20.45 40.19 1.13 4.19 1.51 0.31 0.31 1.83 1.33 8.98 0.72 8.21 0.49 6.79 1.52 1.95 4.62 50.16 2.2 23.51 4.3 25.04 12.51 53.49 24.59 18.91 22.54 47.68 34.15 27.03 15.12 27.12 65.05 44.47 0 0.75 4.08 0.19 47.65 32.08 A Modified Shuffled Frog Leaping Algorithm with Genetic Mutation 521 of iterations (iM ax) 50, 100 and 150 respectively, are considered. Total 30 independent runs are made and corresponding results are given in Table 2. In Table 2, for each problem instance the first row represents the solution correspond to BSFLA, and the second row produced by MBSFLA. As we can see in Table 2, MBSFLA performs better than BSFLA, and it can easily find the optimal solution for all the cases (except for f7 when iM ax = 50). MBSFLA is also performing well with respect to other performance criteria like average and standard deviation (std). In the second case, we consider the maximum number of iterations iM ax = 500. The parameter settings of the two algorithms are same as the previous case. From Table 3 we find out that BSFLA fails to find best solutions for f6 and f7 , and it successfully solve function f3 only for 26 cases out of 30 and 29 out of 30 cases for function f4 . Whereas MBSFLA needs iM ax on an average 3 (for function f3 )and 4 (for function f4 ). The fewer number of iterations shows that MBSFLA has higher efficiency than BSFLA on finding best solutions for 01 multidimensional knapsack problems. 4.5 01MKP Instances with Medium Dimension Size In this case the parameter settings of the MBSFLA is as follows: population size P = 400, number of memeplexes m = 20, number of iterations within each memeplex it = 10, mutation probability pm = 0.06 and maximum number of iterations iM ax = 500. Total 30 independent runs are considered and the corresponding results for all test problems are reported in Table 4. Table 4 presents the best solution, worst solution, average solution and standard deviation with respect to solution quality and number of iterations. Also time of execution (ATT) and deviation from the best known solution are given for 49 test instances. Deviation from the optimum values are calculated as alue−BestSolution) × 100%. MBSFLA finds optimum solutions D = (OptimumV OptimumV alue for all the test cases. On an average only 35 iterations required to solve this type of problem instances. MBSFLA finds best solutions for every independent runs in 38 cases and the average execution time is much lower (within 3 seconds). 5 Conclusion In this work a relatively new member of memetic based meta-heuristics called shuffled frog leaping algorithm is explained. Most of the studies on SFLA is carried out in last five years and researchers mainly concentrated on continuous optimization and TSP problems in the literature. In this study, the performance of MBSFLA has been extensively investigated by using a large number of problem instances. The experimental results show that MBSFLA has demonstrated strong convergence and stability for 01MKP and it has strong ability to prevent premature convergence by utilizing genetic mutation. The proposed algorithm thus provides a new method for 01MKP, and it may find the required optima in cases when the problem is too complicated and complex. It may also be used for 522 K.K. Bhattacharjee and S.P. Sarmah solving multi-objective knapsack problems and other combinatorial optimization problems like generalized assignment problems, set covering problems etc. and is scheduled as the future work. References 1. Osrio, M., Glover, F., Hammer, P.: Cutting and surrogate constraint analysis for improved multidimensional knapsack solutions. Technical Report HCES-08-00, Hearing Center for Enterprise Science (2000) 2. Nemhauser, G., Ullmann, Z.: Discrete dynamic programming and capital allocation. Management Science 15(9), 494–505 (1969) 3. Balas, E.: An additive algorithm for solving linear programs with zero-one variables. Operations Research 13(4), 517–546 (1965) 4. Crama, Y., Mazzola, J.: On the strength of relaxations of multidimensional knapsack problems. INFOR 32(4), 219–225 (1994) 5. Arntzen, H., Hvattum, L.M., Lokketangen, A.: Adaptive memory search for multidemand multidimensional knapsack problems. Computers and Operations Research 33(9), 2508–2525 (2006) 6. Egeblad, J., Pisinger, D.: Heuristic approaches for the two- and three-dimensional knapsack packing problem. Computers and Operations Research 36(4), 1026–1049 (2009) 7. Hua, Z., Huang, F.: A variable-grouping based genetic algorithm for large-scale integer programming. Information Sciences 176(19), 2869–2885 (2006) 8. Ke, L., Feng, Z., Ren, Z., Wei, X.: An ant colony optimization approach for the multidimensional knapsack problem. Journal of Heuristics 16(1), 65–83 (2010) 9. Zhao, Q., Zhang, X., Xiao, R.: Particle swarm optimization algorithm for partner selection in virtual enterprise. Progress in Natural Science 18(11), 1445–1452 (2008) 10. Eusuff, M.M., Lansey, K., Pasha, F.: Shuffled frog-leaping algorithm: A memetic meta-heuristic for discrete optimization. Engineering Optimization 38(2), 129–154 (2006) 11. Zhang, X., Hu, X., Cui, G., Wang, Y., Niu, Y.: An improved shuffled frog leaping algorithm with cognitive behavior. In: Proc. 7th World Congr. Intelligent Control and Automation 2008 (2008) 12. Elbeltagi, E., Hegazy, T., Grierson, D.: Comparison among five evolutionary based optimization algorithms. Adv. Eng. Informat. 19(1), 43–53 (2005) 13. Kennedy, J., Eberhart, R.C.: Particle swarm optimization. In: Proc. IEEE Conf. Neural Networks, vol. 4, pp. 1942–1948 (1995) 14. Eusuff, M., Lansey, K.: Optimization of water distribution network design using the shuffled frog leaping algorithm. Journal of Water Resource Plan Management 129, 210–225 (2003) 15. Pirkul, H.: A heuristic solution procedure for the multiconstraint zero-one knapsack problem. Naval Research Logistics 34, 161–172 (1987) 16. Chu, P.C., Beasley, J.E.: A genetic algorithm for the multidimensional knapsack problem. Journal of Heuristics 4(1), 63–86 (1998) 17. Beasley, J.E.: Or-library: Distributing test problems by electronic mail. Journal of Operational Research Society 41(11), 1069–1072 (1990)