You are on page 1of 7

Applied Soft Computing 13 (2013) 17741780

Contents lists available at SciVerse ScienceDirect


Applied Soft Computing
j our nal homepage: www. el sevi er . com/ l ocat e/ asoc
Chemical reaction optimization with greedy strategy for the 01
knapsack problem
Tung Khac Truong
a,b
, Kenli Li
a,
, Yuming Xu
a
a
College of Information Science and Engineering, Hunan University, National Supercomputing Center in Changsha, 410082, China
b
Faculty of Information Technology, Industrial university of Hochiminh city, Hochiminh, Vietnam
a r t i c l e i n f o
Article history:
Received 28 March 2012
Received in revised form
27 November 2012
Accepted 29 November 2012
Available online 11 January 2013
Keywords:
Chemical reaction optimization
Greedy
01 Knapsack problem
a b s t r a c t
The 01 knapsack problem (KP01) is a well-known combinatorial optimization problem. It is an NP-hard
problem which plays important roles in computing theory and in many real life applications. Chemi-
cal reaction optimization (CRO) is a new optimization framework, inspired by the nature of chemical
reactions. CRO has demonstrated excellent performance in solving many engineering problems such as
the quadratic assignment problem, neural network training, multimodal continuous problems, etc. This
paper proposes a new chemical reaction optimization with greedy strategy algorithm (CROG) to solve
KP01. The paper also explains the operator design and parameter turning methods for CROG. Anew repair
function integrating a greedy strategy and random selection is used to repair the infeasible solutions. The
experimental results have proven the superior performance of CROG compared to genetic algorithm (GA),
ant colony optimization (ACO) and quantum-inspired evolutionary algorithm (QEA).
2013 Published by Elsevier B.V.
1. Introduction
The 01 knapsack problem (KP01) is known to be a combina-
torial optimization problem. The knapsack problem has a variety
of practical applications such as cutting stock problems, portfolio
optimization, scheduling problems [20] and cryptography [1,9,3].
The knapsack appears as a sub-problem in many complex mathe-
matical models of real world problems. In a given set of n items,
each of themhas a weight q
i
and a prot p
i
. The problemis to select
a subset fromthe set of n items such that the overall prot is maxi-
mizedwithout exceedinga givenweight capacityC. It is anNP-Hard
problem and hence it does not have a polynomial time algorithm
unless P=NP [2]. The problemmay be mathematically modelled as
follows:
Maximize
n

i=1
x
i
p
i
(1)
Subject to
n

i=1
x
i
q
i
C, x
i
{0, 1}, i {1, 2, . . . , n}
where x
i
takes values either 1 or 0 which represents the selection
or rejection of the ith item.

Corresponding author.
E-mail address: LKL510@263.net (K. Li).
Over the last four decades, researchers have proposed many
approaches to solve KP01. We can classify the methods for this
problem into two classes namely, exact algorithms and approxi-
mate algorithms.
Exact approaches include dynamic programming proposed by
Bellman [20] and Branch and Bound proposed by Kolesar [8].
Recently, researchers, such as Kellerer et al. [7] have worked on
ways to exactly solve ever larger instances of the knapsack prob-
lem. Many of these involve solving some core of the problemand
then building this partial solution to a full solution. A parallel algo-
rithmbased on an EREW-SIMD machine with shared memory was
proposed by Li et al. [16].
Among the early heuristic approaches, a polynomial approx-
imation schemes was rst developed for the knapsack problem
by Sahni [22]. Such schemes may be thought of as solution meth-
ods in which one may specify a desired guarantee for the quality
of solution in advance of solving. As to be expected, the work
to solve increases quickly with the quality required. Immediately
afterwards, this was improved by Ibarra and Kim[6] to a fully poly-
nomial approximation scheme which makes the trade-off between
quality of solution and effort slightly more favorable. Specialized
solution techniques to solve the knapsack problemand its variants
were provided by Martello and Toth [20].
In recent years, many heuristic algorithms have been employed
to solve KP01 problems: Chou-Yuan [15] proposed an ant colony
optimization (ACO) for KP01; Shi [24] modied the parameters of
the ant colony optimization model to adapt itself to KP01 prob-
lems; Li [17] proposed a binary particle swarmoptimization based
1568-4946/$ see front matter 2013 Published by Elsevier B.V.
http://dx.doi.org/10.1016/j.asoc.2012.11.048
T.K. Truong et al. / Applied Soft Computing 13 (2013) 17741780 1775
on multi-mutation strategy (MMBPSO) to solve the knapsack prob-
lem; Han and Kim [4] proposed a quantum-inspired evolutionary
algorithm (QEA) for KP01; Liu and Liu [19] proposed a schema-
guiding evolutionary algorithm(SGEA) to solve KP01 problems and
Zou et al. [31] invented global harmony search algorithm to solve
KP01.
For the SGEA, there exists several improvements: Rattan [30]
proposed a genetic algorithm (GA) for KP01; Shen et al. [23]
improved GA with a dual population for KP01; Liu and Liu [19]
proposed a schema-modied operator to adjust the distribution
of the population; Liu and Liu constructed an elite-schema space
and utilizes the cluster-center schema to guide the direction of an
individuals evolution. Lin [18] used genetic algorithmto solve the
knapsack problemwith imprecise weights, and he investigated the
possibility of using genetic algorithms in solving the fuzzy knap-
sack problem without dening membership functions for each
imprecise weight coefcient. The approach proposed by Lin sim-
ulates a fuzzy number by distributing it into some partition points.
Lin used genetic algorithms to evolve the values in each partition
point so that the nal values represent the membership grade of a
fuzzy number. The MMBPSO can effectively escapes fromthe local
optima to avoid premature convergence due to the utilization of
multi-mutationstrategy. Althoughmany KP01problems have been
resolved, there are still a variety of real world problems that need
to be addressed. Many algorithms provide possible solutions for
some KP01 problems, but they may lose their efciency on solv-
ing these problems due to their own disadvantages. For example,
some methods proposed recently can only solve KP01 problems
with very low dimensions, but they may be unavailable to solve
KP01 problems with high dimensions.
Given the above consideration, we designed an algorithmbased
on the chemical reaction optimization (CRO) framework and a
greedy strategy to solve KP01. The CROhas a good searching ability
that shows excellent operation in two important features of opti-
mization metaheuristics: intensication and diversication. It also
enjoys the advantages of GAby using crossover operator and muta-
tionthat are usually usedinGA. The greedy strategy inthis research
is used in one phase of repair function, but in another phase a ran-
domly method was used in [4]. The repair function mentioned in
the paper adopts two advantages, the rst is to make the algorithm
have fast convergence by using a greedy strategy and the second
is to guarantee diversication by randomsearch. The experimental
results demonstrate it is superior to GA, ACO and QEA.
The rest of this paper is organized in sections: Section 2 briey
gives the original framework of CRO, ACO, GA and QEA. Section
3 explains the modication of the original CRO to adapt it to the
01 knapsack problem and the repair function is described. We
survey the behavior of chemical reaction optimization with greedy
strategy (CROG) and compare the simulated results of CROG with
GA, ACO and QEA in Section 4. We conclude this paper and suggest
potential future work in Section 5.
2. Related works
2.1. Chemical reaction optimization
CRO [10] is a metaheristic inspired by the chemical reaction
process. In CRO, one molecule (M) that has potential energy (PE),
kinetic energy (KE), hits number, and other characteristics rep-
resents a potential solution. It simulates four types of chemical
reactions including on-wall ineffective collision, decomposition,
inter-molecular ineffective collision and synthesis. In the chemi-
cal reaction process, the PE orientates towards to the minimum
at the balanced state. In the reaction process, the potential energy
goes towards the minimal state, similar to objective function in
optimizationproblems. PEis usuallyusedas the tness of the objec-
tive function.
The CRO, by outperforming many existing evolutionary algo-
rithms, it has successfully solved many problems in recent years.
CRO has been successfully applied to the quadratic assignment
problem [10], resource-constrained project scheduling problem
[10], channel assignment problemin wireless mesh networks [12],
population transition problemin peer-to-peer streaming [14], cog-
nitive radio spectrum allocation problem [11], grid scheduling
problem [26,27], standard continuous benchmark function [13],
stock portfolio selection problem [28], articial neural network
training [29], network coding optimization [21], and to many other
problems. The CROs owchart is shown in Fig. 1. The pseudocode
of CRO is described in Algorithm1.
Algorithm1 (CRO algorithm).
Input: Problem-specic information (the objective function f, constraints, and the
dimensions of the problem)
Assign parameter values to PopSize, KELossRate, MoleColl and InitialKE
Let Pop be the set of molecules {1, 2, . . ., PopSize}
foreach of the molecules do
Assign a randomsolution to the molecular structure
Calculate the PE by f()
Assign the KE with InitialKE
end for
Let the central energy buffer be buffer and assign buffer =0
while the stopping criteria not met do
Get t randomly in interval [0, 1]
if t >MoleColl then
Select a molecule MfromPop randomly
if decomposition criterion met then
(M

1
, M

2
, Success)=decompose(M, buffer)
if Success then
Remove MfromPop
Add M

1
and M

2
to Pop
end if
else
ineff-coll-on-wall(M, buffer)
end if
else
Select molecules M
1
and M
2
fromPop randomly
if synthesis criterion met then
(M

, Success)=synthesis(M
1
, M
2
)
if Success then
Remove M

1
and M

2
fromPop
Add M

to Pop
end if
else
inter-ineff-coll(M
1
, M
2
)
end if
end if
Check for any newminimumsolution
end while
Output: The overall minimumsolution and its function value
2.2. Quantum-inspired evolutionary algorithm
Quantum-inspired evolutionary algorithm [4] is based on the
concept and principles of quantum computing such as a quantum
bit and superposition of states. Like other evolutionary algorithms,
QEA is also characterized by the representation of the individual,
the evaluation function and the population dynamics. However,
instead of binary, numeric, or symbolic representation, QEA uses
a Q-bit, dened as the smallest unit of information for the proba-
bilistic representation and a Q-bit individual as a string of Q-bits.
2.3. Ant colony algorithm(ACO)
Ant colony optimization uses the natural metaphor of ants and
stigmergy to solve problems. Althoughants are blind, they navigate
complex environments and can nd food some distance fromtheir
nest and return to their nest successfully. They do this by laying
1776 T.K. Truong et al. / Applied Soft Computing 13 (2013) 17741780
Fig. 1. CROs owchart [10].
pheromones while they navigate their environment. This process,
knownas stigmergy, modies their environment topermit commu-
nication between the ants and the colony as well as memory for the
return trip to the nest. Evaporation of pheromones helps the ants
to not get stuck at local optima. We can obtain the best solution by
checking the route with the greatest amount of pheromone.
2.4. Genetic algorithm
Holland [5] created GAs based on the idea of natural selection,
whereby the chromosomes with a favorable tness have higher
probability to survive and the chromosomes with worse tness
have a higher probability to disappear. The GA replies on three
basic operators: mutation, crossover and selection. Through selec-
tion, and crossover, those chromosomes which are favored by the
objective functions, which satisfy the constraints, can survive and
reproduce the next generation of chromosomes with potentially
higher quality. Mutation additionally helps the algorithmto escape
from local optima. GA is one of the most popular evolutionary
algorithms with a huge number of applications in varying elds
of optimization.
3. Design CROG for KP01
CRO includes three phases: initial phase, iteration phase and
nal phase. The initial phase generates the initial population,
assigning initial values for parameters KElossRate, InitialKE, Pop-
Size, MoleColl and buffer. The iteration phase simulates the reaction
process. In this phase, there are four types of elementary reac-
tions occurring. According to the condition, uni-molecular or
inter-molecular collision will happen. In a uni-molecular reac-
tion, one molecule is selected, and two are designated to be
the inter-molecular ones. For the uni-molecular there are two
types of reactions, on-wall ineffective collision and decomposition.
The inter-molecular includes two reaction types that are inter-
molecular ineffective collision and synthesis. The reaction type is
T.K. Truong et al. / Applied Soft Computing 13 (2013) 17741780 1777
Fig. 2. Mutation operator.
designed to satisfy two important abilities of CRO: intensication
and diversication. Intensication and diversication are charac-
teristics effecting convergence and exploration of the algorithm. To
adapt toknapsackproblem, wedesignonemoleculewhichincludes
these characteristics: PE, KE, buffer, KElossRate, InitialKE, PopSize,
MoleColl, minHits, numHits. In the reaction, the PE is not negative
and the PE is decreasing in the reaction process. To adopt to PE, it
is set as follows:
PE = LargeNumber
n

i=1
x
i
p
i
(2)
where LargeNumber is a givenpositive constant bigger than

n
i=1
p
i
.
3.1. Solution representation
Abinarystringis usedtorepresent asolution. Theithbit receives
value 1 if the ith itemis chosen and 0 otherwise. The string length
is n corresponding to one solution for each of n items in the KP01.
3.2. Neighborhood search operator
KP01 can be simulated based on vectors, so we can apply the
neighborhood search operators based on the vector used in the
evolutionary algorithm. Those operators are designed to meet with
intensication and diversication of the algorithm. It searches a
neighbor solution near an old solution.
3.2.1. On-wall ineffective collision
This operator is used to search a neighbor of solution in search
space. The mutation operator (Fig. 2) which is very popular in evo-
lutionary algorithms is used here. One position i in solution will
be chosen and the value of w(i) is inverted. After that, the repair
function is used to correct the invalid solution. The detail of repair
function is explained at the end of this section. The pseudocode of
the on-wall ineffective collision operator is described in Algorithm
2.
Algorithm2 (Invert Bit()).
input: a solution
Duplicate to produce

Get i randomly in the set of {1, . . ., n}


Invert bit ith of

Repair(

)
Output:

3.2.2. Decomposition
This process produces two solutions from one original solu-
tion. This operator effects diversication and makes the algorithm
explorer the search space. The decomposition operator is designed
accordingtothehalf-total-exchange operator that is usedtosolve
the channel assignment problem in [10] combined with a repair
function. The operator creates two solutions

1
and

2
fromsolu-
tion . Firstly, is duplicated to generate

1
and

2
. After that,
perturbations for n/2 positions in solutions

1
and

2
are made
randomly. The repair function is incorporated to make sure that
the output solution is valid. The pseudocode of the decomposition
operator is described in Algorithm3.
Fig. 3. Crossover operator.
Algorithm3 (Gen 2 new Solutions()).
Input: a solution .
Duplicate to produce

1
and

2
for change 1 to n/2 do
Get i and j randomly in the set of {1,. . ., n}
Add randomperturbations to

1
(i) and

2
(j)
end for
Repair(

1
); Repair(

2
);
Output:

1
and

2
3.3. Other implementation
3.3.1. Synthesis operator
In this algorithm, the synthesis operator in [13] is used. The
operator combines two molecules with solutions
1
and
2
into
one molecule with solution

. For each

(i) is randomly selected


from
1
(i) or
2
(i). The repair function is also used to ensure
the constraint is met. The pseudocode of the synthesis operator
is described in Algorithm4.
Algorithm4 (synthesis(
1
,
2
)).
Input: solutions
1
and
2
for i 1 to n do
Get t randomly in [0, 1]
if (t >0.5) then

(i)
1
(i)
else

(i)
2
(i)
end if
end for
Repair(

);
Output:

3.3.2. Inter-molecular ineffective collision operator


Two solutions

1
and

2
are obtainedfromtwosolutions
1
and

2
. The two points crossover operator (Fig. 3) commonly used in
GA is adopted. In the procedure, two points k
1
, k
2
will be chosen to
separate eachof the solutions
1
and
2
tothree parts. The solution

1
is created from the even parts of
1
combined with the odd
parts of
2
. The solution

2
is created from the even parts of
2
combined with the odd parts of
1
. The pseudocode of the inter-
molecular ineffective collision operator is described in Algorithm
5.
Algorithm5 (Gen 2 Solutions(
1
,
2
)).
Input: two solutions
1
and
2
.
Get two points k
1
<k
2
randomly in {1, . . ., n}
if (i <k
1
or i >k
2
) then

1
(i)
1
(i)

2
(i)
2
(i)
end if
if (k
1
i k
2
) then

1
(i)
2
(i)

2
(i)
1
(i)
end if
Repair(

1
); Repair(

2
);
Output: two solutions

1
and

2
1778 T.K. Truong et al. / Applied Soft Computing 13 (2013) 17741780
3.3.3. Repair operator
The repair operator is based on repeated randomselection until
the knapsack constraints are met, although this may consume a
lot of CPU time in some cases. Conversely, the traditional greedy
strategy has some other drawbacks in the knapsack problem and
is analyzed in [30]. In this paper, a new repair operator is used
and it depends on both the greedy strategy and randomselection.
The advantage of this repair procedure is the balance between CPU
time cost and not getting stuck inlocal optima. The items are sorted
according to the value-to-weight ratio p
i
/q
i
(i =1, 2, . . ., n) so that
they are not increasing. It means that:
p
i
q
i

p
j
q
j
, for i <j
This repair operator consists of two phases. The rst phase
(called ADD) examines each variable in decreasing order of p
j
/q
j
and changes the variable from zero to one as long as feasibility is
not violated. The second phase (called DROP) examines randomly
one variable and changes the variable from one to zero if feasibil-
ity is violated. The aim of the DROP phase is to obtain a feasible
solution froman infeasible solution, whilst the ADD phase seeks to
improve the tness of a feasible solution. The pseudo-code for the
repair operator is given in Algorithm6.
Algorithm6 (Repair()).
Input: solutions .
gap

n
i=1
x
i
q
i
C /*ADD phase*/
i 1
while (gap>0 and i n) do if (gapq
i
) then

i
1
gapgapq
i
i i +1
end if
end while
over C

n
i=1
x
i
q
i
/*DROP phase*/
while (over >0) do
Select an ith itemfromknapsack randomly

i
0
over over q
i
end while

output: solution

4. Simulation results
To test the performance of CROG, it was compared with both
ACO, GA and QEA on the 01 knapsack problem. In all test cases,
strongly correlated sets of data were considered. The weights q
i
,
respective prots p
i
and the knapsack capacity C were calculated
as follows:
q
i
= rand[1, 10] (3)
p
i
= q
i
+5, i = 1, 2, . . . , n (4)
C =
1
2
n

i=1
q
i
(5)
where rand[1, 10] generates an integer in {1,2,. . .,10} uniformly at
random[4].
The GA proposed in [25] is used in the simulation. The popula-
tion size is POPSIZE=20, the crossover probability is set as P
c
=0.8,
the mutation probability is set as P
m
=0.1.
The ACOproposed in [15] is used in the experiment. The param-
eters are set as: =0.1, =0.1, qo =0.7, =2, Q=1.
For the QEA, the QEA is coded as describing in [4]. The param-
eters are set as: population size is 10,
3
=0.01,
5
=0.01 and
0 for the rest of
i
. Global migration period in generation of QEA
was 100. Local migration was implemented between each pair of
neighboring solutions in B(t) every generation.
For the CROG, parameter setting affects its performance. The
CROG has seven parameters (i.e. KElossRate, InitialKE, PopSize,
MoleColl, buffer, , ). A complete evaluation on all possible com-
binations of the parameters is impractical. Our goal is to assign
parameter values to CROG with relatively good performance for
the three test instances. For the rst ve parameters the set was
deduced from [10]: KElossRate =0.8, InitialKE=100, PopSize =20,
MoleColl =0.2, buffer =0. Two parameters and are tuned. The
and effect to the decomposition condition and synthesis condi-
tion, respectively. For each parameters [10, 500], [10, 500],
some values are selected for testing and we perform 50 runs for
each of the chosen values. The averages of the sets of 50 runs are
compared among the chosen values and the one with the biggest
average prot values is selected.
All the algorithms were implemented in C# 2008. The test envi-
ronment is set up on a personal computer with PentiumE6700 CPU
at 3.2 GHz CPU, 2G RAM, running on Windows XP.
We do experiment on three test instances with 100, 250 and
500 items. Fig. 4 shows the evolution of the mean of the best pro-
ts of CROG over 30 runs in the three instances. It indicates the
global search ability and the convergence ability of CROG. There
are several observations and they are given as follows:
(a) The best prot of 100items test instance is quickly increasing
andhits the approximately optimal prot at iteration200. (b) Inthe
250 items test instance, the best prot is quickly increasing for the
rst 200iterations. (c) For the large 500items probleminstance, the
best prot is also increasing very rapidly over the rst 300 iteration.
Table 1 shows the experimental results of the instances. For
all the proposed instances, CROG yields superior results compared
with ACO, GA and QEA. The series of experimental results demon-
strate the superiority and effectiveness of CROG. In comparison
with GA, ACO and QEA; CROG can get better results in shorter
Table 1
Comparisons of simulation.
# of items Algorithms Best solution Worst solution Average StdDev Time (s/run)
100 ACO 585 577 581.2 4.05 1.015
GA 585 575 582.9 3.91 1.102
QEA 587 578 583.2 3.72 0.906
CROG 590 578 584.1 3.50 0.814
250 ACO 1530 1515 1523.6 6.04 2.301
GA 1535 1515 1524.9 5.36 2.475
QEA 1537 1520 1526.8 5.28 2.502
CROG 1539 1525 1529.7 5.22 2.276
500 ACO 2930 2900 2917.4 7.44 4.650
GA 2935 2914 2921.3 7.51 4.968
QEA 2935 2918 2925.5 7.23 4.572
CROG 2940 2925 2928.9 7.05 4.386
T.K. Truong et al. / Applied Soft Computing 13 (2013) 17741780 1779
0 50 100 150 200 250 300 350 400 450 500
520
530
540
550
560
570
580
590
Iterations
P
r
o
f
i
t
s
(a) Best prots (100 items)
0 50 100 150 200 250 300 350 400 450 500
1400
1420
1440
1460
1480
1500
1520
1540
Iterations
P
r
o
f
i
t
s
(b) Best prots (250 items)
0 50 100 150 200 250 300 350 400 450 500
2650
2700
2750
2800
2850
2900
2950
Iterations
P
r
o
f
i
t
s
(c) Best prots (500 items)
Fig. 4. CRO behavior.
time. The smaller standard deviation (StdDev) shows that the new
algorithm is more robust than the other methods. We adopt the
same stopping criterion, that the function evaluation limit is set to
100,000, for all the test.
5. Conclusion
In this paper, the CROG algorithmhas been proposed based on
the CROframework and a greedy strategy to solve KP01 efciently.
Four problem-specic elementary reactions are carefully designed
to implement the local search and global search. Anewrepair func-
tionwhichhelps the algorithmto yieldfast convergence andavoids
local optima is proposed. The simulation results demonstrate that
the proposed algorithmhas superior performance when compared
with ACO, GA and QEA for all proposed test instances. The new
approach obtains better solutions in shorter time.
In the future, the authors plan to have a detailed study on the
parameter values to enhance the performance of the algorithm
and implementation method of elementary reactions will be stud-
ied. The proposed algorithm can also easily be designed for other
knapsack problems.
Acknowledgements
The authors would like to thank the helpful comments and sug-
gestions from the editors and the anonymous reviewers, which
have considerably enhanced the quality of paper. This research was
partially funded by the Key Program of National Natural Science
Foundation of China (Grant No. 61133005), and the National Natu-
ral Science Foundation of China (Grant Nos. 61070057, 61202109,
61173013), the Cultivation Fund of the Key Scientic and Techni-
cal Innovation Project, Ministry of Education of China (Grant No.
708066), the Ph.D. Programs Foundation of Ministry of Education
of China (20100161110019), and the National Science Foundation
for Distinguished Young Scholars of Hunan (12JJ1011). T. K. Truong
was also partially supported by science research fund of Industrial
university of Hochiminh city, Vietnam.
References
[1] B. Chor, R. Rivest, Aknapsack-type public keycryptosystembasedonarithmetic
in nite elds, IEEE Transactions on Information Theory 34 (1988) 901909.
[2] M.R. Garey, D.S. Johnson, Computers and Intractability: A Guide to the Theory
of NP-Completeness, W. H. Freeman, America, 1979.
[3] R. Goodman, A. McAuley, A new trapdoor knapsack public key cryptosystem,
in: T. Beth, N. Cot, I. Ingemarsson (Eds.), Advances in Cryptology, Volume 209
of Lecture Notes in Computer Science, Springer, Berlin/Heidelberg, 1985, pp.
150158.
[4] K.-H. Han, J.-H. Kim, Quantum-inspired evolutionary algorithm for a class of
combinatorial optimization, IEEE Transactions on Evolutionary Computation 6
(2002) 580593.
[5] J.H. Holland, Adaptation in Natural and Articial Systems, Michigan Press, Ann
Arbor, 1975.
[6] O.H. Ibarra, C.E. Kim, Fast approximation algorithms for the knapsack and sum
of subset problems, Journal of ACM22 (1975) 463468.
[7] H. Kellerer, U. Pferschy, D. Pisinger, Knapsack Problems, Springer, Berlin.
Germany, 2005.
[8] P.J. Kolesar, A branch and bound algorithmfor the knapsack problem, Manage-
ment Science 13 (1967) 723735.
[9] C.-S. Laih, J.-Y. Lee, L. Harn, Y.-K. Su, Linearly shift knapsack public-key cryp-
tosystem, IEEEJournal onSelectedAreas inCommunications 7(1989) 534539.
[10] A.Y.S. Lam, V.O.K. Li, Chemical-reaction-inspired metaheuristic for optimiza-
tion, IEEE Transactions on Evolutionary Computation 14 (2010) 381399.
[11] A.Y.S. Lam, V.O.K. Li, Chemical reaction optimization for cognitive radio spec-
trumallocation, in: IEEE Global Telecommunications Conference (GLOBECOM
2010), 2010, pp. 15.
[12] A.Y.S. Lam, V.O.K. Li, Chemical reaction optimization: a tutorial, Memetic Com-
puting 4 (2012) 317.
[13] A.Y.S. Lam, V.O.K. Li, J.J.Q. Yu, Real-coded chemical reaction optimization, IEEE
Transactions on Evolutionary Computation (2011) 1.
[14] A.Y.S. Lam, J. Xu, V.O.K. Li, Chemical reaction optimization for population
transition in peer-to-peer live streaming, IEEE Congress on Evolutionary Com-
putation (CEC), 2010 (2010) 18.
[15] C.-Y. Lee, Z.-J. Lee, S.-F. Su, A new approach for solving 0/1 knapsack problem,
in: IEEE International Conference on Systems, Man and Cybernetics, 2006. SMC
06, vol. 4, 2006, pp. 31383143.
[16] K.-L. Li, R.-F. Li, Qing-Hua, Optimal parallel algorithmfor the knapsack problem
without memory conicts, Journal of Computer Science and Technology 19
(2004) 760768.
1780 T.K. Truong et al. / Applied Soft Computing 13 (2013) 17741780
[17] Z. Li, N. Li, A novel multi-mutation binary particle swarmoptimization for 0/1
knapsack problem, in: Proceedings of the 21st Annual International Conference
on Chinese Control and Decision Conference. CCDC09, IEEE Press, Piscataway,
NJ, USA, 2009, pp. 30903095.
[18] F.-T. Lin, Solving the knapsack problem with imprecise weight coefcients
using genetic algorithms, European Journal of Operational Research 185 (2008)
133145.
[19] Y. Liu, C. Liu, A schema-guiding evolutionary algorithm for 01 knapsack
problem, in: International Association of Computer Science and Information
Technology Spring Conference, 2009. IACSITSC 09, 2009, pp. 160164.
[20] S. Martello, Knapsack Problem: Algorithms and Computer Implementations,
John Wiley and Sons, NewYork, 1990.
[21] B. Pan, A.Y.S. Lam, V.O.K. Li, Network coding optimization based on chem-
ical reaction optimization, in: IEEE Global Telecommunications Conference
(GLOBECOM2011), 2011, 2011, pp. 15.
[22] S. Sahni, Approximate algorithms for the 0/1 knapsack problem, Journal of ACM
22 (1975) 115124.
[23] W. Shen, B. Xu, J. ping Huang, An improved genetic algorithmfor 01 knapsack
problems, in: Second International Conference on Networking and Distributed
Computing (ICNDC), 2011, 2011, pp. 3235.
[24] H. Shi, Solution to 0/1 knapsack problem based on improved ant colony algo-
rithm, in: IEEE International Conference on Information Acquisition, 2006,
2006, pp. 10621066.
[25] R. Singh, Solving 01 knapsack problemusing genetic algorithms, in: IEEE 3rd
International Conference on Communication Software and Networks (ICCSN),
2011, 2011, pp. 591595.
[26] J. Xu, A.Y.S. Lam, V.O.K. Li, Chemical reaction optimization for the grid sched-
uling problem, in: IEEE International Conference on Communications (ICC),
2010, 2010, pp. 15.
[27] J. Xu, A.Y.S. Lam, V.O.K. Li, Chemical reaction optimization for task scheduling
in grid computing, IEEE Transactions on Parallel and Distributed Systems 22
(2011) 16241631.
[28] J. Xu, A.Y.S. Lam, V.O.K. Li, Stockportfolioselectionusingchemical reactionopti-
mization, in: Proceedings of International Conference on Operations Research
and Financial Engineering (ICORFE 2011), Paris, France, 2011.
[29] J.J.Q. Yu, A.Y.S. Lam, V.O.K. Li, Evolutionary articial neural network based on
chemical reaction optimization, in: IEEE Congress on Evolutionary Computa-
tion (CEC), 2011, 2011, pp. 20832090.
[30] J. Zhao, T. Huang, F. Pang, Y. Liu, Genetic algorithm based on greedy strategy
in the 01 knapsack problem, in: 3rd International Conference on Genetic and
Evolutionary Computing, 2009. WGEC 09, 2009, pp. 105107.
[31] D. Zou, L. Gao, S. Li, J. Wu, Solving 01 knapsack problem by a novel global
harmony search algorithm, Applied Soft Computing 11 (2011) 15561564, The
Impact of Soft Computing for the Progress of Articial Intelligence.
Tung Khac Truong received B.S. in Mathematic fromHue
Universitys college of education, Vietnam, in 2001. He
received M.S. in computer science from Hue University
of Sciences, Vietnam, in 2007. He is currently working
toward the Ph.D. degree in computer science at College of
Information Science and Engineering, Hunan University,
National Supercomputing Center in Changsha, 410082.
His research interests are soft computing and parallel
computing.
Kenli Li received the PhD in computer science from
Huazhong University of Science and Technology, China,
in 2003, and the MSc in mathematics fromCentral South
University, China, in2000. He was a visitingscholar at Uni-
versity of Illinois at Champaign and Urbana from 2004
to 2005. Now He is a professor of Computer science
and Technology at College of Information Science and
Engineering, Hunan University, National Supercomputing
Center in Changsha, 410082, a senior member of CCF.
His major research includes parallel computing, Grid and
Cloud computing, and DNA computer.
YumingXureceivedthe masters degree fromHunanUni-
versity, China, in2009. He is currently working towardthe
PhD degree College of Information Science and Engineer-
ing, Hunan University, National Supercomputing Center
in Changsha, 410082. His research interests include mod-
eling and scheduling for distributed computing systems,
Parallel algorithms, Grid and Cloud computing.