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)