Applied Mathematics and Computation 219 (2013) 9959–9970
Contents lists available at SciVerse ScienceDirect
Applied Mathematics and Computation journal homepage: www.elsevier.com/locate/amc
Solving 0-1 knapsack problems based on amoeboid organism algorithm Xiaoge Zhang a,1, Shiyan Huang a,1, Yong Hu b, Yajuan Zhang a, Sankaran Mahadevan c, Yong Deng a,c,⇑ a
School of Computer and Information Science, Southwest University, Chongqing 400715, China Institute of Business Intelligence and Knowledge Discovery, Guangdong University of Foreign Studies, Guangzhou 510006, China c School of Engineering, Vanderbilt University, Nashville, TN 37235, USA b
a r t i c l e
i n f o
Keywords: 0-1 Knapsack problem Bio-inspired algorithm Network converting algorithm Optimization Shortest path problem
a b s t r a c t The 0-1 knapsack problem is an open issue in discrete optimization problems, which plays an important role in real applications. In this paper, a new bio-inspired model is proposed to solve this problem. The proposed method has three main steps. First, the 0-1 knapsack problem is converted into a directed graph by the network converting algorithm. Then, for the purpose of using the amoeboid organism model, the longest path problem is transformed into the shortest path problem. Finally, the shortest path problem can be well handled by the amoeboid organism algorithm. Numerical examples are given to illustrate the efficiency of the proposed model. Ó 2013 Elsevier Inc. All rights reserved.
1. Introduction The 0-1 knapsack problem can be modeled as a combinatorial optimization problem: Given a set of items, each with a weight and a value, determine the count of each item to include in a collection so that the total weight is less than or equal to a given limit and the total value is as large as possible [1–4]. It derives its name from the problem faced by someone who is constrained by a fixed-size knapsack and must fill it with the most useful items. This model is widely used in real-life applications: capital budgeting problems [5,6], loading problems [7–9], resource allocation [10–12], project selection problems [13] and can be found as a sub problem of other more general models [14–17]. A number of approaches have been proposed to solve it by dynamic programming [18–21]. Balev presented a preprocessing procedure for the 0-1 multidimensional knapsack problem [18]. Bazgan proposed an approach based on dynamic programming, for solving the 0-1 multi-objective knapsack problem [20]. In these approaches, the number of states is equal to the capacity of the knapsack. On the other hand, some methods such as mathematical programming [22,23], have been proposed to obtain the optimal solution of this problem [24–26]. Pérez–Jiménez presented a family of recognizer P systems solving the knapsack problem [24]. However, a pre-computation is needed and this pre-computation requires a polynomial number of steps. Hifi proposed an exact algorithm to solve the knapsack sharing problem [25]. The above methods seem difficult to solve the knapsack problem when it becomes complex. In recent decades, a number of bio-inspired methods have been proposed to solve complex problems with high complexity [27–32], such as genetic algorithms in [33], and simulated annealing in [34]. Shi modified the parameters of the ant colony optimization (ACO) model to adapt itself to 0-1 knapsack problem [28]. The modified ACO algorithm has the ability to ⇑ Corresponding author at: School of Computer and Information Science, Southwest University, Chongqing 400715, China. 1
E-mail addresses:
[email protected],
[email protected] (Y. Deng). These authors contributed equally to this work.
0096-3003/$ - see front matter Ó 2013 Elsevier Inc. All rights reserved. http://dx.doi.org/10.1016/j.amc.2013.04.023
9960
X. Zhang et al. / Applied Mathematics and Computation 219 (2013) 9959–9970
escape from the local optimum. Chu proposed a heuristic based upon genetic algorithms for the multidimensional knapsack problem [35]. The proposed model is capable of obtaining high-quality solutions for problems of various characteristics. Hembecke presented the application of Particle Swarm Optimization (PSO) for the problem and the results are very close or equal to the optimal solution known [36,37]. It demonstrates that, compared with the methods based on dynamic programming, bio-inspired methods are effective ways to solve 0-1 knapsack problem. As a result, it is meaningful to explore some new bio-inspired methods to handle the 0-1 knapsack problem. Recently, it is shown that an amoeboid organism can find the shortest path between two selected points in a labyrinth [38–41], which provides an effective method to solve optimization problems. However, best to our knowledge, the amoeboid organism has not been used to solve 0-1 knapsack problem. In this paper, a new method using the amoeboid organism model is proposed to solve the 0-1 knapsack problem. In the proposed method, the 0-1 knapsack problem is converted into a longest path problem in the network first. Then, in order to successful use of the amoeboid organism model, the longest path problem is transformed into the shortest path problem. Finally, the amoeboid organism model is used to find the shortest path. Numerical examples are illustrated to show the efficiency of the proposed method. The paper is organized as follows. Section 2 briefly introduces the 0-1 knapsack problem, the mathematical model of the amoeboid organism. Section 3 details the new proposed method to solve 0-1 knapsack problem. Section 4 gives serval examples to show the efficiency of the proposed method. Section 5 ends the paper with conclusions. 2. Preliminaries In this section, the model of 0-1 knapsack problem and the amoeboid organism are introduced. 2.1. 0-1 knapsack problem The 0-1 knapsack problem can be described as follows: Given N objects, from which we are to select some number of items to be carried in a knapsack. The jth object weights wj and values v j and the knapsack has the capacity of W. The objective is to maximize the total value of the knapsack under the constraint of the knapsack’s capacity. Mathematically, the problem can be formulated as follows:
max zðxÞ ¼ zðx1 ; . . . ; xj ; . . . ; xn Þ ¼
n X
v j xj
j¼1
s:t: n X wj xj 6 W;
ð1Þ
j¼1
xj 2 f0; 1g;
j ¼ 1; . . . n;
where n is the number of items, v j is the profit of objects jðj ¼ 1; 2; . . . ; nÞ in criterion function zðxÞ; wj is the weight of objects j, and W is the knapsack’s capacity. If objects j is selected, xj ¼ 1; otherwise, xj ¼ 0. 2.2. Mathematical model of the amoeboid organism From the experiments on the amoeboid organism as described in [39], the mechanism of tube formation can be obtained: tubes thicken in a given direction when shuttle streaming of the protoplasm persists in that direction for a certain time. It implies positive feedback between flux and tube thickness, as the conductance of the sol is greater in a thicker channel. According to the mechanism, two rules describing the changes in the tubular structure of the amoeboid organism are: first, open-ended tubes, which are not connected between the two food sources, are likely to disappear; second, when two or more tubes connect the same two food sources, the longer tube is likely to disappear [42]. With these two rules, a mathematical model for maze solving problems has been constructed. Using the maze illustrated in [42], the model can be described as follows. Each segment in the diagram represents a section of tube. Two special nodes, which are also called food source nodes, are named N 1 and N 2 , and the other nodes are denoted as N 3 ; N 4 ; N 5 , and so on. The section of tube between N i and N j is denoted as M ij . If several tubes connect the same pair of nodes, intermediate nodes will be placed in the center of the tubes to guarantee the uniqueness of the connecting segments. The variable Q ij is used to express the flux through tube M ij from N i to N j . Assuming the flow along the tube as an approximately poiseuille flow, the flux Q ij can be expressed as:
Q ij ¼
Dij ðp pj Þ; Lij i
ð2Þ
where pi is the pressure at the node N i ; Dij is the conductivity of the edge M ij . Assume zero capacity at each node; hence by considering the conservation law of sol the following equation can be obtained:
X. Zhang et al. / Applied Mathematics and Computation 219 (2013) 9959–9970
X
Q ij ¼ 0ðj – 1; 2Þ:
9961
ð3Þ
For the source node N 1 and the sink node N 2 the following two equations hold
X Q i1 þ I0 ¼ 0;
ð4Þ
i
X Q i2 I0 ¼ 0;
ð5Þ
i
where I0 is the flux flowing from the source node. It can be seen that I0 is a constant value in this model. In order to describe such an adaptation of tubular thickness we assume that the conductivity Dij changes over time according to the flux Q ij . The following equation for the evolution of Dij ðtÞ can be used
d Dij ¼ f ðjQ ij jÞ rDij ; dt
ð6Þ
where r is a decay rate of the tube. It can be obtained that the equation implies that the conductivity ends to vanish if there is no flux along the edge, while it is enhanced by the flux. The f is monotonically increasing continuous function satisfying f ð0Þ ¼ 0. Then the network poisson equation for the pressure can be obtained from the Eqs. (2)–(5) as follows:
8 j ¼ 1; > < 1 for ðpi pj Þ ¼ þ1 for j ¼ 2; : > Lij : 0 otherwise
X Dij i
ð7Þ
By setting p2 ¼ 0 as a basic pressure level, all pi can be determined by solving Eq. (7) and Q ij can also be obtained. In this paper, it has been obtained that f is monotonically increasing continuous function satisfying f ð0Þ ¼ 0 in Eq. (6). Therefore, f ðQ Þ ¼ jQ j is used in this paper. With the flux calculated, the conductivity can be derived, where Eq. (8) is used instead of Eq. (6), adopting the functional form f ðQ Þ ¼ jQ j.
Dnþ1 Dnij ij ¼ jQ j Dnþ1 ij : dt
ð8Þ
3. Proposed method In order to take advantage of the particular structure of network problems, the classical 0-1 knapsack model is transformed into a longest path problem over an acyclic network. Then the longest path model is transformed into a shortest path problem. It makes it possible to use the amoeboid organism algorithm to search for all the efficient solutions. At last, the
Fig. 1. The flow chart of the proposed method.
9962
X. Zhang et al. / Applied Mathematics and Computation 219 (2013) 9959–9970
amoeboid organism algorithm is used to find the shortest path in the network. The flow chart of the proposed method can be shown in Fig. 1. 3.1. Converting the classical 0-1 knapsack problem as the longest path problem The subsection shows how to formulate the classical 0-1 knapsack problem as the longest path model [43]. There is a oneto-one correspondence between the set of feasible solutions of the classical knapsack problem and the set of paths from s to t in c. The path in c and the solution of knapsack problem have the same value. The main idea can be stated as follows [44]: 1. Use the layer technique to determine the set of nodes. Every intermediate layer has a number of nodes. The first layer includes the start node S and the last layer includes the end node E. What’s more, the layer j can be obtained from the layer j 1 directly, for all j ¼ 1; . . . ; n where each layer, from j ¼ 1 to j ¼ n, has at most W þ 1 nodes. Therefore, the total nodes in c are not more than ðW þ 1Þ n þ 2. 2. Define the arcs and the arcs’ cost. The start node S has two outgoing arcs ðS; ð1; 0ÞÞ and ðS; ð1; w1 ÞÞ. The arc ðS; ð1; 0ÞÞ means the first item is not included in the knapsack and the arc ðS; ð1; w1 ÞÞ means that the first item is included in the knapsack and the first item has consumed w1 units of the knapsack’s capacity. The layer corresponding to an item i has W þ 1 nodes, ði; 0Þ; ði; 1Þ; ði; 2Þ; . . . ; ði; wÞ. Node ði; wÞ in the network states that the item 1; 2 . . . ; i has consumed w units of the knapsack’s capacity. The node ði; wÞ has at most two outgoing arcs, corresponding to two decisions:
Fig. 2. Network converting algorithm.
9963
X. Zhang et al. / Applied Mathematics and Computation 219 (2013) 9959–9970 Table 1 An example of knapsack problem. j
1
2
3
4
vj
40 4
15 2
20 3
10 1
wj
Fig. 3. The longest path formulation of the knapsack problem with 4 items.
(1) The arc ðði; aÞ; ði þ 1; aÞÞ with cðði; aÞ; ði þ 1; aÞÞ ¼ 0 means that the item i þ 1 is not included in the knapsack. (2) The arc ðði; aÞ; ði þ 1; a þ waþ1 ÞÞ means that the item i þ 1 is included in the knapsack assuming a þ waþ1 6 W. At last, all nodes are connected to the end node E with cost ¼ 0. Let T and V to be two lists of superscripts related to the nodes in layer j and j þ 1, respectively. Using the previous steps, the following network converting algorithm can be shown in Fig. 2. An example is shown. Example 3.1. Table 1 shows an example of knapsack problem assuming that the knapsack has a capacity of W = 6, v j is the value of item j; wj is the weight of item j. Fig. 3 can be obtained. The path in this graph corresponds the feasible solution of the knapsack problem. Node S means the start node, node E means the end node. The first number in the remaining circles means the item’s layer, the second number in these remaining circles states the capacity of the knapsack that the solution has consumed. The number along the arc means the value of the corresponding item. For example, the circle with value ð1; 4Þ in the first layer means that the item has consumed 4 units of the knapsack’s capacity. At the same time, every path from node S to node E defines a feasible solution to the problem. For example, the path S ð1; 4Þ ð2; 6Þ ð3; 6Þ ð4; 6Þ E means that item 1 and item 2 are included in the knapsack, item 3 and item 4 are excluded. It also shows that the answer to the knapsack problem corresponds the longest path in the network. 3.2. Converting the longest path problem into the shortest path problem Existing amoeboid organism algorithm can only solve the shortest path problem. As a result, it is necessary to transform the longest path problem into the shortest path problem. Generally, the longest path problem is transformed into the shortest path problem by defining arc costs equal to the negatives of the arc utilities [43]. However, it can not be used in the amoeboid organism algorithm. The following example illustrates this problem. Example 3.2. As can be seen in Fig. 4, A is the source node, C is the sink node. The shortest path from node A to node C is needed to be found. The following matrix describing this graph can be obtained.
9964
X. Zhang et al. / Applied Mathematics and Computation 219 (2013) 9959–9970
Fig. 4. A graph with 4 nodes.
2
0 2 0 3
3
62 0 3 27 7 6 L1 ¼ 6 7 40 3 0 15 3 2 1 0 The initialized conductivity matrix D is set as follows.
2
0:5 0:5 0:5 0:5
3
6 0:5 0:5 0:5 0:5 7 6 7 D1 ¼ 6 7 4 0:5 0:5 0:5 0:5 5 0:5 0:5 0:5 0:5 Using the amoeboid organism algorithm, the pressure of each node can be obtained after the first iteration.
2
4:1579
3
6 2:0526 7 7 6 P1 ¼ 6 7 4 0:0000 5 1:3158 If the arc costs is defined equal to the negatives of the arc utilities, the following matrix can be obtained. The initialized conductivity matrix D01 is shown as follows. It can be seen the initialized conductivity matrix D1 and D01 are the same.
3 0 2 0 3 6 2 0 3 2 7 7 6 L01 ¼ 6 7; 4 0 3 0 1 5 2
3 2 1
0
2
3 0:5 0:5 0:5 0:5 6 0:5 0:5 0:5 0:5 7 6 7 D01 ¼ 6 7: 4 0:5 0:5 0:5 0:5 5 0:5 0:5 0:5 0:5 Using above matrix, the pressure of each node can be obtained after the first iteration.
2
4:1579
3
6 2:0526 7 7 6 P01 ¼ 6 7: 4 0:0000 5 1:3158 According to the Eqs. (2)–(5), the conductivity of each arc in the second iteration can be obtained as follows.
2
0:1250 0:5087 0:1250 0:4913
3
6 0:5087 0:1250 0:3696 0:2642 7 7 6 D2 ¼ 6 7; 4 0:1250 0:3696 0:1250 0:6304 5 0:4913 0:2642 0:6304 0:1250
9965
X. Zhang et al. / Applied Mathematics and Computation 219 (2013) 9959–9970
Fig. 5. Transforming the longest path problem into the shortest path problem.
2
0:1250 0:5087 0:1250 0:4913
3
6 0:5087 0:1250 0:3696 0:2642 7 7 6 D02 ¼ 6 7: 4 0:1250 0:3696 0:1250 0:6304 5 0:4913 0:2642 0:6304
0:1250
It can be seen that the conductivity matrix D2 and D02 in the second iteration are the same. As this process continues, these two methods will obtain the same result according to Eqs. (2)–(8). As a result, defining arc costs equal to the negatives of the arc utilities can not be used in the amoeboid organism algorithm. The proposed transform method is detailed as follows. Suppose there are n items in the knapsack. The jth item weights wj and values v j . The following equations are defined.
v longest ¼ minfv j g; min
j ¼ 1; 2; . . . ; n;
ð9Þ
v longest ¼ maxfv j g; max
j ¼ 1; 2; . . . ; n;
ð10Þ
v longest ¼ v longest þ v longest max : min total
ð11Þ
v longest pqkm is defined to state the arc from the pth node in the qth layer to the kth node in the mth layer in the converted longest path. v shortest is the corresponding arc in the transformed shortest path. The following equation is defined. pqkm
v shortest ¼ v longest v longest pqkm total pqkm :
ð12Þ
Example 3.3. This example illustrates the proposed transform method. As can be seen in Table 1, it can be obtained obviously that v longest ¼ 40; v longest ¼ 10; v longest ¼ 50. Let v longest minus each arc costs in Fig. 3. Using Eq. 12, Fig. 5 can be max min total total obtained. As a result, the transformed shortest path corresponding matrix can be obtained as follows.
Table 2 An example of knapsack problem with 8 items. j
vj wj
1
2
3
4
5
6
7
8
83 3
14 2
54 3
79 2
72 1
52 2
48 2
62 3
9966
X. Zhang et al. / Applied Mathematics and Computation 219 (2013) 9959–9970
2
0
50 0 0 0
0
6 50 6 6 6 0 6 6 0 6 6 6 L¼6 0 6 .. 6 . 6 6 . 6 .. 6 6 4 0
0
0 0 0
0
0 0 0
0
0 0 0
0 .. . .. . 0
0 0 0 .. .. .. . . . .. .. .. . . .
0
0
0
3
0
0 0 0
0 7 7 7 0 0 7 7 0 0 7 7 7 0 0 7 7 .. .. .. .. 7 . . . . 7 7 .. 7 . .. . . . 7 . .. . 7 7 0 0 50 5
0 0 0
0
50
0
3.3. Finding the shortest path based on the amoeboid organism algorithm In this section, the amoeboid organism algorithm is used to find the shortest path and the algorithm is detailed as follows [38,45,46]. Step Step Step Step Step Step Step
1. 2. 3. 4. 5. 6. 7.
Remove the edges with conductivity equal to zero; Calculate the pressure of each node using each node’s current conductivity and length according to Eq. (7); Use the pressure of each node obtained from step 2 to calculate each node’s conductivity according to Eq. (2); Judge whether each edge’s conductivity is 1, if not, go to step 5; otherwise go to step 7; According to the current flux and conductivity, calculate the flux and conductivity next time using Eqs. ()(4)–(6); Return to step 1; Get the result and the algorithm is over.
Based on the above steps, the 0-1 knapsack problem can be well solved by the amoeboid organism algorithm. As for the complexity of the proposed method, assume there are n items in the knapsack and the capacity of the knapsack is W. Then according to the network converting algorithm shown in Fig. 2, there are ðW þ 1Þ n þ 2 items in the converted network. For the amoeboid organism algorithm, regardless of the outer iterations, its main time is spent on solv algorithm’s ing the linear equations shown in Eq.(7) and its complexity is o n3 [47]. As a result, for the 0-1 knapsack problem, the com plexity of the proposed method is o ððW þ 1Þ n þ 2Þ3 o n3 .
Fig. 6. The longest path formulation of the knapsack problem with 8 items.
X. Zhang et al. / Applied Mathematics and Computation 219 (2013) 9959–9970
9967
4. Numerical examples In this section, first of all, a knapsack problem with 8 items are used to explain the main procedures of the proposed method. Secondly, six instances with different sizes proposed by Zou [48] are used to testify the efficiency of the amoeboid organism algorithm. 4.1. A knapsack problem with 8 items As can be seen in Table 2, an example of knapsack problem with 8 items is shown. The maximum capacity of the knapsack is 8 units. The v j means the value of item j; wj means the weight of item j. Using the network converting algorithm in Fig. 2, Fig. 6 can be obtained. The longest path can be converted into the shortest path according to the proposed method. The converted graph is shown in Fig. 7. The initial conductivity matrix D can be set 0.5. The matrix L can be obtained using the proposed transform method as follows:
L¼
8 0 97 0 0 14 0 0 > > > > > 97 0 0 0 0 0 0 > > > > > 0 0 0 0 0 0 0 > > > > > 0 0 0 0 0 0 0 > > > > > < 14 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
9 > > > > > > > > > 0 > > > > > 0 > > > > > 0 > = 0 > > > > 0 > > > .. > > > . > > > > > > > 97 > > > ; 0 0 0
Finally, the final conductivity matrix D can be obtained as follows:
Fig. 7. The converted shortest path formulation of the knapsack problem with 8 items.
9968
X. Zhang et al. / Applied Mathematics and Computation 219 (2013) 9959–9970
D¼
8 0 > > > > > 0 > > > > > 0 > > > > > 0 > > > > > > > > > ... ... ... ... ... ... . . . > > > > > .. .. .. .. .. .. .. > > > . . . . . . . > > > > > 0 0 0 0 0 0 > > : 0 0 0 0 0 0
0 0 .. . 0 0 1
9 0> > > > 0> > > > > 0> > > > > 0> > > > > 0> = 0> > > > > 0> > > > > > > 0> > > > > 1> > > ; 0
As the matrix D is large, part of it is shown. From the matrix D, the final network can be obtained in Fig. 8: As can be seen in Fig. 8, the result of this knapsack problem can be obtained as follows: From Table 3, the final result can be obtained easily. The item 1, 4, 5, 6 will be included in the knapsack, others will be excluded. The maximum value of this problem is 286 units. 4.2. Benchmark problems In order to evaluate the performance of the proposed method, the performance of the amoeboid organism algorithm is extensively investigated by a large number of experimental studies. Six 0-1 knapsack programming problems are considered to testify the validity of the presented algorithm. All computational experiments are conducted using Matlab on an Intel Pentium Dual-Core E5700 processor (3.00 GHz) with 2 GB of RAM under Windows Seven. Six test problems with different dimensions are used to study the performance of the proposed method and they are recorded as Table 4. Based on the amoeboid organism algorithm, Table 5 gives the solution found by the presented method for each instance. As can be seen in Table 5, the solutions found by the presented method are shown. It can be seen for all the six instances, the proposed method can obtain the optimal values. For the instances 1, 4, the amoeboid organism algorithm can find better results than the solutions in [48]. The computational results demonstrate the effectiveness of the amoeboid organism algorithm.
Fig. 8. The result of the knapsack problem with 8 items.
9969
X. Zhang et al. / Applied Mathematics and Computation 219 (2013) 9959–9970 Table 3 The result of knapsack problem with 8 items. j
1
2
3
4
5
6
7
8
The proposed method
U
U
U
U
Table 4 The dimension and parameters of eight test problems [48]. Instance
Dimension
Parameters (w, p, C)
Instance 1
10
Instance 2 Instance 3 Instance 4
4 4 10
Instance 5 Instance 6
7 5
w = (95, 4, 60, 32, 23, 72, 80, 62, 65, 46), C = 269, v = (55, 10, 47, 5, 4, 50, 8, 61, 85, 87) w = (6, 5, 9, 7), C = 20, v = (9, 11, 13, 15) w = (2, 4, 6, 7), C = 11, v = (6, 10, 12, 13) w = (30, 25, 20, 18, 17, 11, 5, 2, 1, 1), C = 60, v = (20, 18, 17, 15, 15, 10, 5, 3, 1, 1) w = (31, 10, 20, 19, 4, 3, 6), C = 50, v = (70, 20, 39, 37, 7, 5, 10) w = (15, 20, 17, 8, 31), C = 80, v = (33, 24, 36, 37, 12)
the parameter w means the weight of each object, v denotes the value of each object, C represents the capacity of the knapsack.
Table 5 Experimental results. Dataset Instance Instance Instance Instance Instance Instance
Dimension 1 2 3 4 5 6
10 4 4 10 7 5
Optimal value in [48] 295 35 23 50 107 130
Proposed method
295 35 23 52 107 130
Optimal solution 2, 3, 4, 8, 9, 10 1, 2, 4 2, 4 3, 4, 5, 8, 9, 10 1, 4 1, 2, 3, 4
5. Conclusions The 0-1 knapsack problem plays an important role in real-life applications. In this paper, based on amoeboid organism algorithm and the network converting algorithm, a new method is proposed to solve classical 0-1 knapsack problems. We have used the benchmark problems to test the amoeboid organism algorithm. The computational results demonstrate the efficiency of the presented approach. One of our ongoing studies is to solve other 0-1 knapsack problems under more complex conditions, such as the multi-objective shortest path problem and the knapsack problem with multi criteria. Acknowledgements The authors thank the anonymous reviewer for the valuable comments and suggestions to improve this paper. The Ph.D. candidate of the corresponding author in Shanghai Jiao Tong University, Peida Xu, give some discussions on the algorithm. The work is partially supported Chongqing Natural Science Foundation, Grant No. CSCT, 2010BA2003, National Natural Science Foundation of China, Grant Nos. 61174022 and 71271061, National High Technology Research and Development Program of China (863 Program) (No. 2013AA013801), Science and Technology Planning Project of Guangdong Province, China (2010B010600034, 2012B091100192), Business Intelligence Key Team of Guangdong University of Foreign Studies (TD1202), the Fundamental Research Funds for the Central Universities Grant No. XDJK2013D010. References [1] H. Kellerer, V. Strusevich, Fully polynomial approximation schemes for a symmetric quadratic knapsack problem and its scheduling applications, Algorithmica 57 (4) (2010) 769–795. [2] J. Tavares, F. Pereira, E. Costa, Multidimensional knapsack problem: a fitness landscape analysis, IEEE Trans. Syst. Man Cybern. Part B Cybern. 38 (3) (2008) 604–616. [3] T.K. Truong, K. Li, Y. Xu, Chemical reaction optimization with greedy strategy for the 0-1 knapsack problem, Appl. Soft Comput. 13 (4) (2013) 1774– 1780. [4] F. Mardukhi, N. NematBakhsh, K. Zamanifar, A. Barati, QoS decomposition for service composition using genetic algorithm, Appl. Soft Comput. http:// dx.doi.org/10.1016/j.asoc.2012.12.033. [5] E. Bas, A capital budgeting problem for preventing workplace mobbing by using analytic hierarchy process and fuzzy 0-1 bidimensional knapsack model, Expert Syst. Appl. 38 (10) (2011) 12415–12422. [6] C. Wilbaut, S. Hanafi, S. Salhi, A survey of effective heuristics and their application to a variety of knapsack problems, IMA J. Manage. Math. 19 (3) (2008) 227. [7] G. Wascher, H. Schumann, et al, An improved typology of cutting and packing problems, Eur. J. Oper. Res. 183 (3) (2007) 1109–1130.
9970
X. Zhang et al. / Applied Mathematics and Computation 219 (2013) 9959–9970
_ S. Kopczyn´ska, M. Mac´kowiaki, The knapsack-lightening problem and its application to scheduling HRT tasks, [8] J. Nawrocki, W. Complak, J. Błazewicz, Bull. Polish Acad. Sci.: Tech. Sci. 57 (1) (2009) 71–77. [9] M. Kong, P. Tian, Y. Kao, A new ant colony optimization algorithm for the multidimensional knapsack problem, Comput. Oper. Res. 35 (8) (2008) 2672– 2683. [10] O. Granmo, B. Oommen, S. Myrer, M. Olsen, Learning automata-based solutions to the nonlinear fractional knapsack problem with applications to optimal resource allocation, IEEE Trans Syst. Man Cybern. Part B Cybern. 37 (1) (2007) 166–175. [11] D. Vanderster, N. Dimopoulos, R. Parra-Hernandez, R. Sobie, Resource allocation on computational grids using a utility model and the knapsack problem, Future Gener. Comput. Syst. 25 (1) (2009) 35–50. [12] Y. Deng, Y. Chen, Y. Zhang, S. Mahadevan, Fuzzy Dijkstra algorithm for shortest path problem under uncertain environment, Appl. Soft Comput. 12 (2011) 1231–1237. [13] G. Mavrotas, D. Diakoulaki, A. Kourentzis, Selection among ranked projects under segmentation, policy and logical constraints, Eur. J. Oper. Res. 187 (1) (2008) 177–192. [14] R. Kumar, P. Singh, Assessing solution quality of biobjective 0-1 knapsack problem using evolutionary and heuristic algorithms, Appl. Soft Comput. 10 (3) (2010) 711–718. [15] L. McLay, S. Jacobson, Algorithms for the bounded set-up knapsack problem, Discrete Optim. 4 (2) (2007) 206–212. [16] C. Gao, J. Liu, N. Zhong, Network immunization with distributed autonomy-oriented entities, IEEE Trans. Parallel Distrib. Syst. 22 (7) (2011) 1222– 1229. [17] C. Gao, J. Liu, Modeling and restraining mobile virus propagation, IEEE Trans. Mob. Comput. 12 (3) (2013) 529–541. [18] S. Balev, N. Yanev, A. Fréville, R. Andonov, A dynamic programming based reduction procedure for the multidimensional 0-1 knapsack problem, Eur. J. Oper. Res. 186 (1) (2008) 63–76. [19] A. Rong, J. Figueira, K. Klamroth, Dynamic programming based algorithms for the discounted {0-1} knapsack problem, Appl. Math. Comput. 218 (2) (2012) 6921–6933. [20] D. Vanderpooten, H. Hugot, C. Bazgan, Solving efficiently the 0-1 multi-objective knapsack problem, Comput. Oper. Res. 36 (1) (2009) 260–279. [21] F. Ghassemi-Tari, E. Jahangiri, Development of a hybrid dynamic programming approach for solving discrete nonlinear knapsack problems, Appl. Math. Comput. 188 (1) (2007) 1023–1030. [22] F. Jolai, M. Rezaee, M. Rabbani, J. Razmi, P. Fattahi, Exact algorithm for bi-objective 0-1 knapsack problem, Appl. Math. Comput. 194 (2) (2007) 544– 551. [23] G. Mavrotas, J. Figueira, K. Florios, Solving the bi-objective multi-dimensional knapsack problem exploiting the concept of core, Appl. Math. Comput. 215 (7) (2009) 2502–2514. [24] M. Pérez-Jiménez, A. Riscos-Núnez, A linear-time solution to the knapsack problem using P systems with active membranes, Lect. Notes Comput. Sc. 2933 (2004) 3–34. [25] M. Hifi, H. M’Halla, S. Sadfi, An exact algorithm for the knapsack sharing problem, Comput. Oper. Res. 32 (5) (2005) 1311–1324. [26] M. Hifi, H. Mhalla, The knapsack sharing problem: a tree search exact algorithm, Eng. Tech. 66 (2010) 661–664. [27] M. Darehmiraki, H. Nehi, A surface-based DNA algorithm for the solving binary knapsack problem, Appl. Math. Comput. 188 (2) (2007) 1991–1994. [28] H. Shi, Solution to 0-1 knapsack problem based on improved ant colony algorithm, in: IEEE International Conference on Information Acquisition 2006, pp. 1062–1066. [29] A. Bortfeldt, T. Winter, A genetic algorithm for the two-dimensional knapsack problem with rectangular pieces, Int. Trans. Oper. Res. 16 (6) (2009) 685–713. [30] J.C. Bansal, K. Deep, A modified binary particle swarm optimization for knapsack problems, Appl. Math. Comput. 218 (22) (2012) 11042–11061. [31] M.M. Baldi, G. Perboli, R. Tadei, The three-dimensional knapsack problem with balancing constraints, Appl. Math. Comput. 218 (19) (2012) 9802–9818. [32] X. Zhang, Y. Deng, F.T.S. Chan, P. Xu, S. Mahadevan, Y. Hu, IFSJSP: a novel methodology for the job-shop scheduling problem based on intuitionistic fuzzy sets, Int. J. Prod. Res. http://dx.doi.org/10.1080/00207543.2013.793425. [33] Z. Hua, F. Huang, An effective genetic algorithm approach to large scale mixed integer programming problems, Appl. Math. Comput. 174 (2) (2006) 897–909. [34] S. El Moumen, R. Ellaia, R. Aboulaich, A new hybrid method for solving global optimization problem, Appl. Math. Comput. 218 (7) (2009) 3265–3276. [35] P. Chu, J. Beasley, A genetic algorithm for the multidimensional knapsack problem, J. Heuristics 4 (1) (1998) 63–86. [36] F. Hembecker, H. Lopes, W. Godoy, Particle swarm optimization for the multidimensional knapsack problem, Adapt. Natur. Comput. Algorithms 4431 (2007) 358–365. [37] I. Trelea, The particle swarm optimization algorithm: convergence analysis and parameter selection, Inform. Process. Lett. 85 (6) (2003) 317–325. [38] A. Tero, S. Takagi, T. Saigusa, K. Ito, D. Bebber, M. Fricker, K. Yumiki, R. Kobayashi, T. Nakagaki, Rules for biologically inspired adaptive network design, Science 327 (5964) (2010) 439–442. [39] T. Nakagaki, H. Yamada, A. Toth, Path finding by tube morphogenesis in an amoeboid organism, Biophys. Chem. 92 (1–2) (2001) 47–52. [40] X. Zhang, Z. Zhang, Y. Zhang, D. Wei, Y. Deng, Route selection for emergency logistics management: a bio-inspired algorithm, Saf. Sci. 54 (2013) 87–91. [41] Y. Zhang, Z. Zhang, Y. Deng, S. Mahadevan, A biologically inspired solution for fuzzy shortest path problems, Appl. Soft Comput. 13 (5) (2013) 2356– 2363. [42] A. Tero, R. Kobayashi, T. Nakagaki, A mathematical model for adaptive transport network in path finding by true slime mold, J. Theor. Biol. 244 (4) (2007) 553–564. [43] R. Ahuja, T. Magnanti, J. Orlin, K. Weihe, Network flows: theory, algorithms and applications, ZOR – Methods Models Oper. Res. 41 (3) (1995) 252–254. [44] M. Eugénia Captivo, J. Clìmaco, J. Figueira, E. Martins, J. Luis Santos, Solving bicriteria 0-1 knapsack problems using a labeling algorithm, Comput. Oper. Res. 30 (12) (2003) 1865–1886. [45] G. Zhang, H. Yang, Z. Liu, Using watering algorithm to find the optimal paths of a maze, Computer 24 (8) (2007) 171–173. [46] T. Nakagaki, H. Yamada, Á. Tóth, et al, Maze-solving by an amoeboid organism, Nature 407 (6803) (2000) 470. [47] K. Habgood, I. Arel, A condensation-based application of Cramer’s rule for solving large-scale linear systems, J. Discrete Algorithms 10 (2012) 98–109. [48] D. Zou, L. Gao, S. Li, J. Wu, Solving 0-1 knapsack problem by a novel global harmony search algorithm, Appl. Soft Comput. 11 (2) (2011) 1556–1564.