一、多目标背包问题
1.1多目标背包问题描述
多目标背包问题(Multi-objective Knapsack Problem,MOKP)是一种重要的组合优化问题,在生活的许多领域都有着十分广泛的应用。多目标背包问题可以描述为:给定一个背包和n种物品,其中,背包的容量为
V
V
V ,第i 种物品的质量为
c
i
c_{i}
ci ,价值为
p
i
p_{i}
pi ,如何通过物品选择,使得装入背包中的物品总价值最大
f
1
f_{1}
f1,总体积最小
f
2
f_{2}
f2。其数学模型如下:
f
1
=
max
∑
i
=
1
n
p
i
x
i
f
2
=
min
∑
i
=
1
n
c
i
x
i
s.t.
∑
i
=
1
n
c
i
x
i
≤
V
,
i
=
1
,
2
,
…
,
n
x
i
=
0
,
1
f_{1}=\max \sum_{i=1}^{n} p_{i} x_{i}\\f_{2}=\min \sum_{i=1}^{n} c_{i} x_{i}\\\begin{array}{ll} \text { s.t. } & \sum_{i=1}^{n} c_{i} x_{i} \leq V, i=1,2, \ldots, n \\& x_{i}=0,1\end{array}
f1=maxi=1∑npixif2=mini=1∑ncixi s.t. ∑i=1ncixi≤V,i=1,2,…,nxi=0,1
其中,
f
1
f_{1}
f1为物品总价值最大,
f
2
f_{2}
f2为物品总体积最小,该问题为多目标优化问题。
1.2背包问题测试集
选取9个经典的背包问题测试集,下表中,
c
c
c为物品的质量,
p
p
p为物品的价值,
V
V
V为背包的最大容量。
参考文献:
[1]耿亚,吴访升.基于粒子群-模拟退火算法的背包问题研究[J].控制工程,2019,26(05):991-996.DOI:10.14107/j.cnki.kzgc.161767.
[2]李枝勇,马良,张惠珍.蝙蝠算法在多目标多选择背包问题中的应用[J].计算机仿真,2013,30(10):350-353.
二、MOJAYA
多目标Jaya算法(Multi-objective Jaya Algorithm,MOJAYA)由Fateh Berrouk 等人于2018年提出。
MOJAYA算法描述:
参考文献:
[1] Berrouk F , Bouchekara H R E H , Chaib A E , et al. A New Multi-objective Jaya Algorithm for Solving the Optimal Power Flow Problem[J]. Journal of Electrical Systems, 2018, 14(3).
[2]C. Venkaiah and R. V. Jain, “Multi-objective JAYA algorithm based optimal location and sizing of distributed generation in a radial distribution system,” 2017 IEEE PES Asia-Pacific Power and Energy Engineering Conference (APPEEC), 2017, pp. 1-6, doi: 10.1109/APPEEC.2017.8308965.
三、MOJAYA求解多目标背包问题
完整代码:https://mbd.pub/o/bread/Y52Xmp9t
%%
TestProblem='F1';%F1-F9
MultiObj = GetFunInfo(TestProblem);
MultiObjFnc=MultiObj.name;%问题名
% Parameters
params.Np =150; % Population size 种群大小
params.maxgen =100; % Maximum number of generations 最大迭代次数
% MOJAYA
[Xbest,Fbest] = MOJAYA(params,MultiObj);
ShowResult;
%%
% Display info
disp('Repository fitness values are stored in Fbest');
disp('Repository particles positions are store in Xbest');
部分结果如下:
3.1数据集1求解结果
20个非支配解的结果如下:
第1个结果:
所求得的背包总价值 : 295
所求得的背包的容量 : 269
算法选取的物品序号 : 2 3 4 8 9 10
算法选取的物品质量 : 4 60 32 62 65 46
算法选取的物品价值 : 10 47 5 61 85 87
第2个结果:
所求得的背包总价值 : 294
所求得的背包的容量 : 260
算法选取的物品序号 : 2 3 5 8 9 10
算法选取的物品质量 : 4 60 23 62 65 46
算法选取的物品价值 : 10 47 4 61 85 87
第3个结果:
所求得的背包总价值 : 290
所求得的背包的容量 : 237
算法选取的物品序号 : 2 3 8 9 10
算法选取的物品质量 : 4 60 62 65 46
算法选取的物品价值 : 10 47 61 85 87
第4个结果:
所求得的背包总价值 : 280
所求得的背包的容量 : 233
算法选取的物品序号 : 3 8 9 10
算法选取的物品质量 : 60 62 65 46
算法选取的物品价值 : 47 61 85 87
第5个结果:
所求得的背包总价值 : 252
所求得的背包的容量 : 232
算法选取的物品序号 : 2 4 5 8 9 10
算法选取的物品质量 : 4 32 23 62 65 46
算法选取的物品价值 : 10 5 4 61 85 87
第6个结果:
所求得的背包总价值 : 248
所求得的背包的容量 : 209
算法选取的物品序号 : 2 4 8 9 10
算法选取的物品质量 : 4 32 62 65 46
算法选取的物品价值 : 10 5 61 85 87
第7个结果:
所求得的背包总价值 : 247
所求得的背包的容量 : 200
算法选取的物品序号 : 2 5 8 9 10
算法选取的物品质量 : 4 23 62 65 46
算法选取的物品价值 : 10 4 61 85 87
第8个结果:
所求得的背包总价值 : 243
所求得的背包的容量 : 177
算法选取的物品序号 : 2 8 9 10
算法选取的物品质量 : 4 62 65 46
算法选取的物品价值 : 10 61 85 87
第9个结果:
所求得的背包总价值 : 233
所求得的背包的容量 : 173
算法选取的物品序号 : 8 9 10
算法选取的物品质量 : 62 65 46
算法选取的物品价值 : 61 85 87
第10个结果:
所求得的背包总价值 : 219
所求得的背包的容量 : 171
算法选取的物品序号 : 3 9 10
算法选取的物品质量 : 60 65 46
算法选取的物品价值 : 47 85 87
第11个结果:
所求得的背包总价值 : 191
所求得的背包的容量 : 170
算法选取的物品序号 : 2 4 5 9 10
算法选取的物品质量 : 4 32 23 65 46
算法选取的物品价值 : 10 5 4 85 87
第12个结果:
所求得的背包总价值 : 187
所求得的背包的容量 : 147
算法选取的物品序号 : 2 4 9 10
算法选取的物品质量 : 4 32 65 46
算法选取的物品价值 : 10 5 85 87
第13个结果:
所求得的背包总价值 : 186
所求得的背包的容量 : 138
算法选取的物品序号 : 2 5 9 10
算法选取的物品质量 : 4 23 65 46
算法选取的物品价值 : 10 4 85 87
第14个结果:
所求得的背包总价值 : 182
所求得的背包的容量 : 115
算法选取的物品序号 : 2 9 10
算法选取的物品质量 : 4 65 46
算法选取的物品价值 : 10 85 87
第15个结果:
所求得的背包总价值 : 148
所求得的背包的容量 : 108
算法选取的物品序号 : 8 10
算法选取的物品质量 : 62 46
算法选取的物品价值 : 61 87
第16个结果:
所求得的背包总价值 : 106
所求得的背包的容量 : 105
算法选取的物品序号 : 2 4 5 10
算法选取的物品质量 : 4 32 23 46
算法选取的物品价值 : 10 5 4 87
第17个结果:
所求得的背包总价值 : 102
所求得的背包的容量 : 82
算法选取的物品序号 : 2 4 10
算法选取的物品质量 : 4 32 46
算法选取的物品价值 : 10 5 87
第18个结果:
所求得的背包总价值 : 101
所求得的背包的容量 : 73
算法选取的物品序号 : 2 5 10
算法选取的物品质量 : 4 23 46
算法选取的物品价值 : 10 4 87
第19个结果:
所求得的背包总价值 : 97
所求得的背包的容量 : 50
算法选取的物品序号 : 2 10
算法选取的物品质量 : 4 46
算法选取的物品价值 : 10 87
第20个结果:
所求得的背包总价值 : 15
所求得的背包的容量 : 36
算法选取的物品序号 : 2 4
算法选取的物品质量 : 4 32
算法选取的物品价值 : 10 5
3.2数据集7求解结果
16个非支配解的结果如下:
第1个结果:
所求得的背包总价值 : 6486
所求得的背包的容量 : 1911
算法选取的物品序号 : 2 3 4 6 7 10 11 12 13 14 15 16 17 18 20 21 22 23 24 25 26 28 29 30 31 32 33 34 35 36 37 39 41 43 46 47 49 54 55 57 58
算法选取的物品质量 : 133 130 11 123 20 66 105 43 18 5 37 90 22 85 80 70 17 60 35 57 35 40 8 50 32 40 72 35 100 2 7 28 22 30 47 68 10 37 17 3 21
算法选取的物品价值 : 310 300 295 287 283 270 265 251 230 220 215 212 207 203 200 198 196 190 182 181 175 155 154 140 132 125 110 105 101 92 83 75 72 69 58 45 38 23 20 10 9
第2个结果:
所求得的背包总价值 : 6092
所求得的背包的容量 : 1613
算法选取的物品序号 : 2 3 4 5 6 7 8 9 10 13 14 15 17 20 21 22 23 24 25 26 28 29 31 32 34 35 36 39 40 41 43 46 49 54 55 57 58
算法选取的物品质量 : 133 130 11 128 123 20 75 9 66 18 5 37 22 80 70 17 60 35 57 35 40 8 32 40 35 100 2 28 10 22 30 47 10 37 17 3 21
算法选取的物品价值 : 310 300 295 290 287 283 280 272 270 230 220 215 207 200 198 196 190 182 181 175 155 154 132 125 105 101 92 75 73 72 69 58 38 23 20 10 9
第3个结果:
所求得的背包总价值 : 5968
所求得的背包的容量 : 1563
算法选取的物品序号 : 2 4 7 8 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 28 29 30 31 33 34 35 36 37 39 40 46 47 49 54 57 58
算法选取的物品质量 : 133 11 20 75 66 105 43 18 5 37 90 22 85 9 70 17 60 35 57 35 40 8 50 32 72 35 100 2 7 28 10 47 68 10 37 3 21
算法选取的物品价值 : 310 295 283 280 270 265 251 230 220 215 212 207 203 202 198 196 190 182 181 175 155 154 140 132 110 105 101 92 83 75 73 58 45 38 23 10 9
第4个结果:
所求得的背包总价值 : 5770
所求得的背包的容量 : 1498
算法选取的物品序号 : 2 4 6 7 8 10 12 13 14 15 16 17 18 19 22 23 24 25 26 28 29 30 31 34 35 36 37 39 41 43 46 47 49 54 55 57 58
算法选取的物品质量 : 133 11 123 20 75 66 43 18 5 37 90 22 85 9 17 60 35 57 35 40 8 50 32 35 100 2 7 28 22 30 47 68 10 37 17 3 21
算法选取的物品价值 : 310 295 287 283 280 270 251 230 220 215 212 207 203 202 196 190 182 181 175 155 154 140 132 105 101 92 83 75 72 69 58 45 38 23 20 10 9
第5个结果:
所求得的背包总价值 : 5755
所求得的背包的容量 : 1421
算法选取的物品序号 : 2 4 7 8 9 10 12 13 14 15 16 17 18 19 20 22 23 24 25 28 29 30 31 33 34 35 37 39 42 46 49 50 53 54 55 56 57
算法选取的物品质量 : 133 11 20 75 9 66 43 18 5 37 90 22 85 9 80 17 60 35 57 40 8 50 32 72 35 100 7 28 27 47 10 12 20 37 17 4 3
算法选取的物品价值 : 310 295 283 280 272 270 251 230 220 215 212 207 203 202 200 196 190 182 181 155 154 140 132 110 105 101 83 75 70 58 38 36 27 23 20 19 10
第6个结果:
所求得的背包总价值 : 5519
所求得的背包的容量 : 1382
算法选取的物品序号 : 2 4 7 8 10 12 13 14 15 16 17 18 21 22 23 24 25 26 28 29 30 31 33 34 35 36 37 39 40 41 46 49 54 57
算法选取的物品质量 : 133 11 20 75 66 43 18 5 37 90 22 85 70 17 60 35 57 35 40 8 50 32 72 35 100 2 7 28 10 22 47 10 37 3
算法选取的物品价值 : 310 295 283 280 270 251 230 220 215 212 207 203 198 196 190 182 181 175 155 154 140 132 110 105 101 92 83 75 73 72 58 38 23 10
第7个结果:
所求得的背包总价值 : 5396
所求得的背包的容量 : 1228
算法选取的物品序号 : 1 2 4 7 8 9 10 12 13 14 17 19 20 21 22 23 24 25 28 29 31 32 34 35 37 39 41 49 55 57 58
算法选取的物品质量 : 135 133 11 20 75 9 66 43 18 5 22 9 80 70 17 60 35 57 40 8 32 40 35 100 7 28 22 10 17 3 21
算法选取的物品价值 : 350 310 295 283 280 272 270 251 230 220 207 202 200 198 196 190 182 181 155 154 132 125 105 101 83 75 72 38 20 10 9
第8个结果:
所求得的背包总价值 : 5232
所求得的背包的容量 : 1225
算法选取的物品序号 : 2 4 9 10 11 12 13 14 17 18 19 20 21 22 23 24 25 26 27 29 30 32 34 36 39 40 41 46 49 50 53 55 57
算法选取的物品质量 : 133 11 9 66 105 43 18 5 22 85 9 80 70 17 60 35 57 35 61 8 50 40 35 2 28 10 22 47 10 12 20 17 3
算法选取的物品价值 : 310 295 272 270 265 251 230 220 207 203 202 200 198 196 190 182 181 175 160 154 140 125 105 92 75 73 72 58 38 36 27 20 10
第9个结果:
所求得的背包总价值 : 5142
所求得的背包的容量 : 1205
算法选取的物品序号 : 2 4 5 6 7 9 10 12 13 14 17 18 19 20 22 23 25 26 29 32 36 38 39 40 41 43 46 52 53 54 59
算法选取的物品质量 : 133 11 128 123 20 9 66 43 18 5 22 85 9 80 17 60 57 35 8 40 2 19 28 10 22 30 47 11 20 37 10
算法选取的物品价值 : 310 295 290 287 283 272 270 251 230 220 207 203 202 200 196 190 181 175 154 125 92 77 75 73 72 69 58 31 27 23 4
第10个结果:
所求得的背包总价值 : 5073
所求得的背包的容量 : 1165
算法选取的物品序号 : 2 4 7 9 10 12 13 14 15 17 19 21 22 23 24 25 26 28 29 31 32 34 35 36 39 41 43 46 54 55 57 59 60
算法选取的物品质量 : 133 11 20 9 66 43 18 5 37 22 9 70 17 60 35 57 35 40 8 32 40 35 100 2 28 22 30 47 37 17 3 10 67
算法选取的物品价值 : 310 295 283 272 270 251 230 220 215 207 202 198 196 190 182 181 175 155 154 132 125 105 101 92 75 72 69 58 23 20 10 4 1
第11个结果:
所求得的背包总价值 : 4913
所求得的背包的容量 : 1101
算法选取的物品序号 : 4 7 8 9 12 13 14 16 17 19 22 23 24 25 26 27 28 29 30 31 32 33 34 37 39 41 45 46 49 52 55 57 58
算法选取的物品质量 : 11 20 75 9 43 18 5 90 22 9 17 60 35 57 35 61 40 8 50 32 40 72 35 7 28 22 91 47 10 11 17 3 21
算法选取的物品价值 : 295 283 280 272 251 230 220 212 207 202 196 190 182 181 175 160 155 154 140 132 125 110 105 83 75 72 60 58 38 31 20 10 9
第12个结果:
所求得的背包总价值 : 4765
所求得的背包的容量 : 938
算法选取的物品序号 : 7 8 9 10 12 13 14 15 17 19 20 21 22 23 24 25 26 28 29 31 32 36 39 40 41 46 49 55 57 58
算法选取的物品质量 : 20 75 9 66 43 18 5 37 22 9 80 70 17 60 35 57 35 40 8 32 40 2 28 10 22 47 10 17 3 21
算法选取的物品价值 : 283 280 272 270 251 230 220 215 207 202 200 198 196 190 182 181 175 155 154 132 125 92 75 73 72 58 38 20 10 9
第13个结果:
所求得的背包总价值 : 4173
所求得的背包的容量 : 866
算法选取的物品序号 : 4 7 9 10 12 13 14 17 18 19 21 26 28 29 31 32 34 35 36 37 39 40 41 43 46 52 54 57 58
算法选取的物品质量 : 11 20 9 66 43 18 5 22 85 9 70 35 40 8 32 40 35 100 2 7 28 10 22 30 47 11 37 3 21
算法选取的物品价值 : 295 283 272 270 251 230 220 207 203 202 198 175 155 154 132 125 105 101 92 83 75 73 72 69 58 31 23 10 9
第14个结果:
所求得的背包总价值 : 3656
所求得的背包的容量 : 796
算法选取的物品序号 : 4 7 8 9 10 12 13 14 17 20 23 26 31 32 34 35 36 41 50 52 53 54 55 57 58
算法选取的物品质量 : 11 20 75 9 66 43 18 5 22 80 60 35 32 40 35 100 2 22 12 11 20 37 17 3 21
算法选取的物品价值 : 295 283 280 272 270 251 230 220 207 200 190 175 132 125 105 101 92 72 36 31 27 23 20 10 9
第15个结果:
所求得的背包总价值 : 3575
所求得的背包的容量 : 767
算法选取的物品序号 : 4 5 7 8 9 13 14 15 16 17 24 29 32 34 36 39 40 41 43 49 53 55 56 57 58 60
算法选取的物品质量 : 11 128 20 75 9 18 5 37 90 22 35 8 40 35 2 28 10 22 30 10 20 17 4 3 21 67
算法选取的物品价值 : 295 290 283 280 272 230 220 215 212 207 182 154 125 105 92 75 73 72 69 38 27 20 19 10 9 1
第16个结果:
所求得的背包总价值 : 3488
所求得的背包的容量 : 759
算法选取的物品序号 : 4 6 7 8 9 10 12 13 14 20 28 31 32 34 36 37 39 50 51 53 54 57 59
算法选取的物品质量 : 11 123 20 75 9 66 43 18 5 80 40 32 40 35 2 7 28 12 43 20 37 3 10
算法选取的物品价值 : 295 287 283 280 272 270 251 230 220 200 155 132 125 105 92 83 75 36 33 27 23 10 4
3.3数据集9求解结果
26个非支配解的结果如下:
第1个结果:
所求得的背包总价值 : 11190
所求得的背包的容量 : 2913
算法选取的物品序号 : 1 2 3 4 6 7 9 10 11 12 13 14 15 16 17 20 21 22 25 26 27 28 29 30 32 33 34 36 37 38 40 41 42 43 45 46 47 49 52 53 57 59 61 62 64 65 68 69 70 71 72 73 76 78 79 82 87 91 93 94 95 96 99
算法选取的物品质量 : 54 95 36 18 71 83 27 84 88 45 94 64 14 80 4 36 90 20 58 6 14 86 84 59 21 30 22 49 81 48 28 6 84 19 88 38 51 79 53 64 1 32 42 45 22 49 1 78 43 85 24 96 57 8 10 89 6 6 45 59 26 13 5
算法选取的物品价值 : 297 295 293 292 289 284 283 283 281 280 279 277 276 275 273 257 250 236 235 233 232 232 228 218 214 211 208 204 203 201 194 193 193 192 190 187 187 184 179 176 160 123 113 107 101 100 98 97 94 94 93 91 73 63 63 60 48 35 22 22 18 15 6
第2个结果:
所求得的背包总价值 : 11145
所求得的背包的容量 : 2667
算法选取的物品序号 : 1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 20 21 22 24 25 26 27 28 30 32 33 34 35 36 39 40 41 42 45 46 47 49 50 52 53 57 59 61 64 65 66 69 70 72 73 77 78 87 89 91 93 97
算法选取的物品质量 : 54 95 36 18 4 71 83 27 84 88 45 94 64 14 80 4 36 90 20 32 58 6 14 86 59 21 30 22 96 49 37 28 6 84 88 38 51 79 55 53 64 1 32 42 22 49 37 78 43 24 96 23 8 6 84 6 45 8
算法选取的物品价值 : 297 295 293 292 291 289 284 283 283 281 280 279 277 276 275 273 257 250 236 235 235 233 232 232 218 214 211 208 205 204 196 194 193 193 190 187 187 184 184 179 176 160 123 113 101 100 100 97 94 93 91 72 63 48 40 35 22 12
第3个结果:
所求得的背包总价值 : 10885
所求得的背包的容量 : 2612
算法选取的物品序号 : 1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 20 21 22 25 26 27 28 30 32 34 36 37 38 39 40 41 42 46 47 49 50 52 53 55 58 59 61 62 64 68 69 71 72 73 77 78 79 87 91 93 96 99
算法选取的物品质量 : 54 95 36 18 4 71 83 27 84 88 45 94 64 14 80 4 36 90 20 58 6 14 86 59 21 22 49 81 48 37 28 6 84 38 51 79 55 53 64 61 64 32 42 45 22 1 78 85 24 96 23 8 10 6 6 45 13 5
算法选取的物品价值 : 297 295 293 292 291 289 284 283 283 281 280 279 277 276 275 273 257 250 236 235 233 232 232 218 214 208 204 203 201 196 194 193 193 187 187 184 184 179 176 172 128 123 113 107 101 98 97 94 93 91 72 63 63 48 35 22 15 6
第4个结果:
所求得的背包总价值 : 10661
所求得的背包的容量 : 2518
算法选取的物品序号 : 1 2 3 4 5 6 9 10 11 12 13 14 15 16 17 20 22 24 25 26 27 28 30 33 34 35 36 37 39 40 41 43 45 46 47 49 52 53 57 59 61 62 64 66 68 69 70 71 72 73 77 78 81 87 91 93 96 97 99 100
算法选取的物品质量 : 54 95 36 18 4 71 27 84 88 45 94 64 14 80 4 36 20 32 58 6 14 86 59 30 22 96 49 81 37 28 6 19 88 38 51 79 53 64 1 32 42 45 22 37 1 78 43 85 24 96 23 8 59 6 6 45 13 8 5 9
算法选取的物品价值 : 297 295 293 292 291 289 283 283 281 280 279 277 276 275 273 257 236 235 235 233 232 232 218 211 208 205 204 203 196 194 193 192 190 187 187 184 179 176 160 123 113 107 101 100 98 97 94 94 93 91 72 63 61 48 35 22 15 12 6 5
第5个结果:
所求得的背包总价值 : 10412
所求得的背包的容量 : 2435
算法选取的物品序号 : 1 2 3 4 5 6 9 10 11 12 13 14 15 17 18 20 21 22 25 27 30 32 33 34 36 37 39 40 41 42 43 46 47 48 49 52 53 55 57 58 61 62 64 65 66 69 71 72 73 78 79 87 91 93 95 96 99
算法选取的物品质量 : 54 95 36 18 4 71 27 84 88 45 94 64 14 4 23 36 90 20 58 14 59 21 30 22 49 81 37 28 6 84 19 38 51 52 79 53 64 61 1 64 42 45 22 49 37 78 85 24 96 8 10 6 6 45 26 13 5
算法选取的物品价值 : 297 295 293 292 291 289 283 283 281 280 279 277 276 273 264 257 250 236 235 232 218 214 211 208 204 203 196 194 193 193 192 187 187 184 184 179 176 172 160 128 113 107 101 100 100 97 94 93 91 63 63 48 35 22 18 15 6
第6个结果:
所求得的背包总价值 : 10106
所求得的背包的容量 : 2347
算法选取的物品序号 : 1 2 3 4 5 6 9 10 11 13 14 15 16 17 20 22 25 26 27 28 30 32 33 34 36 37 39 40 41 42 46 47 49 50 52 53 57 59 61 62 64 65 66 68 69 71 72 73 77 78 87 91 92 93 96 99
算法选取的物品质量 : 54 95 36 18 4 71 27 84 88 94 64 14 80 4 36 20 58 6 14 86 59 21 30 22 49 81 37 28 6 84 38 51 79 55 53 64 1 32 42 45 22 49 37 1 78 85 24 96 23 8 6 6 19 45 13 5
算法选取的物品价值 : 297 295 293 292 291 289 283 283 281 279 277 276 275 273 257 236 235 233 232 232 218 214 211 208 204 203 196 194 193 193 187 187 184 184 179 176 160 123 113 107 101 100 100 98 97 94 93 91 72 63 48 35 28 22 15 6
第7个结果:
所求得的背包总价值 : 9980
所求得的背包的容量 : 2325
算法选取的物品序号 : 1 2 3 4 5 6 9 10 11 13 14 15 16 17 20 21 22 24 25 26 27 30 32 33 34 36 37 40 41 42 45 46 47 49 52 53 57 59 61 64 65 68 69 71 72 73 77 79 87 91 92 93 95 96 99
算法选取的物品质量 : 54 95 36 18 4 71 27 84 88 94 64 14 80 4 36 90 20 32 58 6 14 59 21 30 22 49 81 28 6 84 88 38 51 79 53 64 1 32 42 22 49 1 78 85 24 96 23 10 6 6 19 45 26 13 5
算法选取的物品价值 : 297 295 293 292 291 289 283 283 281 279 277 276 275 273 257 250 236 235 235 233 232 218 214 211 208 204 203 194 193 193 190 187 187 184 179 176 160 123 113 101 100 98 97 94 93 91 72 63 48 35 28 22 18 15 6
第8个结果:
所求得的背包总价值 : 9942
所求得的背包的容量 : 2316
算法选取的物品序号 : 2 3 4 5 6 9 10 11 13 14 15 16 17 20 21 22 24 25 26 27 30 32 33 34 36 37 38 39 40 41 46 47 49 52 53 55 57 59 61 62 64 65 69 70 71 73 77 78 79 87 91 92 93 95 96 99
算法选取的物品质量 : 95 36 18 4 71 27 84 88 94 64 14 80 4 36 90 20 32 58 6 14 59 21 30 22 49 81 48 37 28 6 38 51 79 53 64 61 1 32 42 45 22 49 78 43 85 96 23 8 10 6 6 19 45 26 13 5
算法选取的物品价值 : 295 293 292 291 289 283 283 281 279 277 276 275 273 257 250 236 235 235 233 232 218 214 211 208 204 203 201 196 194 193 187 187 184 179 176 172 160 123 113 107 101 100 97 94 94 91 72 63 63 48 35 28 22 18 15 6
第9个结果:
所求得的背包总价值 : 9920
所求得的背包的容量 : 2311
算法选取的物品序号 : 1 2 3 4 5 6 9 10 11 13 14 15 16 17 20 22 24 25 27 28 30 32 33 34 36 37 39 40 41 45 46 47 49 50 52 53 57 59 61 64 65 66 68 69 71 72 73 77 87 91 92 93 99
算法选取的物品质量 : 54 95 36 18 4 71 27 84 88 94 64 14 80 4 36 20 32 58 14 86 59 21 30 22 49 81 37 28 6 88 38 51 79 55 53 64 1 32 42 22 49 37 1 78 85 24 96 23 6 6 19 45 5
算法选取的物品价值 : 297 295 293 292 291 289 283 283 281 279 277 276 275 273 257 236 235 235 232 232 218 214 211 208 204 203 196 194 193 190 187 187 184 184 179 176 160 123 113 101 100 100 98 97 94 93 91 72 48 35 28 22 6
第10个结果:
所求得的背包总价值 : 9843
所求得的背包的容量 : 2291
算法选取的物品序号 : 1 2 3 4 5 7 9 10 12 14 15 16 17 18 20 22 24 26 27 28 30 31 33 34 35 36 37 39 40 43 45 46 47 52 57 58 59 61 62 64 65 66 68 69 70 71 72 82 84 87 91 93 96 97 99 100
算法选取的物品质量 : 54 95 36 18 4 83 27 84 45 64 14 80 4 23 36 20 32 6 14 86 59 71 30 22 96 49 81 37 28 19 88 38 51 53 1 64 32 42 45 22 49 37 1 78 43 85 24 89 40 6 6 45 13 8 5 9
算法选取的物品价值 : 297 295 293 292 291 284 283 283 280 277 276 275 273 264 257 236 235 233 232 232 218 217 211 208 205 204 203 196 194 192 190 187 187 179 160 128 123 113 107 101 100 100 98 97 94 94 93 60 53 48 35 22 15 12 6 5
第11个结果:
所求得的背包总价值 : 9814
所求得的背包的容量 : 2208
算法选取的物品序号 : 1 2 3 4 5 6 9 10 11 13 14 15 16 17 18 20 22 24 25 27 30 32 34 36 37 40 41 42 46 47 49 50 52 53 55 57 59 61 62 64 65 66 68 69 71 72 77 78 87 91 92 93 96 99
算法选取的物品质量 : 54 95 36 18 4 71 27 84 88 94 64 14 80 4 23 36 20 32 58 14 59 21 22 49 81 28 6 84 38 51 79 55 53 64 61 1 32 42 45 22 49 37 1 78 85 24 23 8 6 6 19 45 13 5
算法选取的物品价值 : 297 295 293 292 291 289 283 283 281 279 277 276 275 273 264 257 236 235 235 232 218 214 208 204 203 194 193 193 187 187 184 184 179 176 172 160 123 113 107 101 100 100 98 97 94 93 72 63 48 35 28 22 15 6
第12个结果:
所求得的背包总价值 : 9768
所求得的背包的容量 : 2197
算法选取的物品序号 : 1 3 4 6 9 10 11 12 13 14 15 16 17 18 20 21 22 23 26 27 29 30 31 32 33 34 36 37 38 40 41 46 49 52 53 55 57 59 61 64 65 66 68 69 71 79 87 91 93 95 96 99
算法选取的物品质量 : 54 36 18 71 27 84 88 45 94 64 14 80 4 23 36 90 20 77 6 14 84 59 71 21 30 22 49 81 48 28 6 38 79 53 64 61 1 32 42 22 49 37 1 78 85 10 6 6 45 26 13 5
算法选取的物品价值 : 297 293 292 289 283 283 281 280 279 277 276 275 273 264 257 250 236 236 233 232 228 218 217 214 211 208 204 203 201 194 193 187 184 179 176 172 160 123 113 101 100 100 98 97 94 63 48 35 22 18 15 6
第13个结果:
所求得的背包总价值 : 9744
所求得的背包的容量 : 2171
算法选取的物品序号 : 1 2 3 4 5 6 8 9 10 11 13 14 15 16 17 20 22 24 25 27 30 32 33 34 37 39 40 41 46 47 49 50 52 55 57 59 61 63 64 65 66 68 71 72 73 77 78 81 87 91 92 93 96 97 98 99
算法选取的物品质量 : 54 95 36 18 4 71 16 27 84 88 94 64 14 80 4 36 20 32 58 14 59 21 30 22 81 37 28 6 38 51 79 55 53 61 1 32 42 34 22 49 37 1 85 24 96 23 8 59 6 6 19 45 13 8 26 5
算法选取的物品价值 : 297 295 293 292 291 289 284 283 283 281 279 277 276 275 273 257 236 235 235 232 218 214 211 208 203 196 194 193 187 187 184 184 179 172 160 123 113 105 101 100 100 98 94 93 91 72 63 61 48 35 28 22 15 12 11 6
第14个结果:
所求得的背包总价值 : 9710
所求得的背包的容量 : 2128
算法选取的物品序号 : 1 2 3 4 5 6 9 10 11 12 13 14 15 16 17 20 22 24 25 27 28 30 32 33 34 36 37 39 40 41 46 47 49 52 53 57 59 61 62 64 66 69 72 77 78 85 87 91 92 93 95 96 97 99
算法选取的物品质量 : 54 95 36 18 4 71 27 84 88 45 94 64 14 80 4 36 20 32 58 14 86 59 21 30 22 49 81 37 28 6 38 51 79 53 64 1 32 42 45 22 37 78 24 23 8 46 6 6 19 45 26 13 8 5
算法选取的物品价值 : 297 295 293 292 291 289 283 283 281 280 279 277 276 275 273 257 236 235 235 232 232 218 214 211 208 204 203 196 194 193 187 187 184 179 176 160 123 113 107 101 100 97 93 72 63 52 48 35 28 22 18 15 12 6
第15个结果:
所求得的背包总价值 : 9677
所求得的背包的容量 : 2121
算法选取的物品序号 : 1 2 3 4 5 6 7 9 10 11 13 14 15 16 17 20 22 24 25 26 27 30 32 33 34 36 38 39 40 41 42 46 47 49 52 57 59 61 64 65 68 69 71 73 78 87 91 92 93 95 96 99
算法选取的物品质量 : 54 95 36 18 4 71 83 27 84 88 94 64 14 80 4 36 20 32 58 6 14 59 21 30 22 49 48 37 28 6 84 38 51 79 53 1 32 42 22 49 1 78 85 96 8 6 6 19 45 26 13 5
算法选取的物品价值 : 297 295 293 292 291 289 284 283 283 281 279 277 276 275 273 257 236 235 235 233 232 218 214 211 208 204 201 196 194 193 193 187 187 184 179 160 123 113 101 100 98 97 94 91 63 48 35 28 22 18 15 6
第16个结果:
所求得的背包总价值 : 9514
所求得的背包的容量 : 2117
算法选取的物品序号 : 1 2 3 4 5 6 9 10 11 13 14 15 16 17 20 22 24 25 27 28 30 32 33 34 36 37 39 40 41 46 47 49 52 53 57 61 62 64 65 66 68 69 72 73 77 78 87 91 92 93 96 99
算法选取的物品质量 : 54 95 36 18 4 71 27 84 88 94 64 14 80 4 36 20 32 58 14 86 59 21 30 22 49 81 37 28 6 38 51 79 53 64 1 42 45 22 49 37 1 78 24 96 23 8 6 6 19 45 13 5
算法选取的物品价值 : 297 295 293 292 291 289 283 283 281 279 277 276 275 273 257 236 235 235 232 232 218 214 211 208 204 203 196 194 193 187 187 184 179 176 160 113 107 101 100 100 98 97 93 91 72 63 48 35 28 22 15 6
第17个结果:
所求得的背包总价值 : 9329
所求得的背包的容量 : 2103
算法选取的物品序号 : 1 2 3 4 5 7 9 10 11 13 14 15 16 17 20 24 25 28 30 32 33 34 36 37 39 40 41 43 46 47 49 50 52 55 57 61 62 63 64 65 66 69 72 77 78 87 91 92 93 96 99
算法选取的物品质量 : 54 95 36 18 4 83 27 84 88 94 64 14 80 4 36 32 58 86 59 21 30 22 49 81 37 28 6 19 38 51 79 55 53 61 1 42 45 34 22 49 37 78 24 23 8 6 6 19 45 13 5
算法选取的物品价值 : 297 295 293 292 291 284 283 283 281 279 277 276 275 273 257 235 235 232 218 214 211 208 204 203 196 194 193 192 187 187 184 184 179 172 160 113 107 105 101 100 100 97 93 72 63 48 35 28 22 15 6
第18个结果:
所求得的背包总价值 : 9142
所求得的背包的容量 : 2064
算法选取的物品序号 : 1 2 3 4 5 6 9 11 13 14 15 16 17 18 19 20 22 24 26 28 30 32 33 34 35 36 37 40 41 46 47 49 52 57 59 61 62 69 71 72 76 77 78 87 91 93 94 96
算法选取的物品质量 : 54 95 36 18 4 71 27 88 94 64 14 80 4 23 75 36 20 32 6 86 59 21 30 22 96 49 81 28 6 38 51 79 53 1 32 42 45 78 85 24 57 23 8 6 6 45 59 13
算法选取的物品价值 : 297 295 293 292 291 289 283 281 279 277 276 275 273 264 260 257 236 235 233 232 218 214 211 208 205 204 203 194 193 187 187 184 179 160 123 113 107 97 94 93 73 72 63 48 35 22 22 15
第19个结果:
所求得的背包总价值 : 9076
所求得的背包的容量 : 2057
算法选取的物品序号 : 1 2 3 4 5 8 9 10 11 13 14 16 17 18 22 24 25 32 33 34 36 39 40 41 43 46 47 48 49 50 52 54 55 57 59 61 63 64 65 66 67 73 77 78 82 87 91 92 93 96 99
算法选取的物品质量 : 54 95 36 18 4 16 27 84 88 94 64 80 4 23 20 32 58 21 30 22 49 37 28 6 19 38 51 52 79 55 53 99 61 1 32 42 34 22 49 37 33 96 23 8 89 6 6 19 45 13 5
算法选取的物品价值 : 297 295 293 292 291 284 283 283 281 279 277 275 273 264 236 235 235 214 211 208 204 196 194 193 192 187 187 184 184 184 179 173 172 160 123 113 105 101 100 100 99 91 72 63 60 48 35 28 22 15 6
第20个结果:
所求得的背包总价值 : 9013
所求得的背包的容量 : 1941
算法选取的物品序号 : 1 2 3 4 5 6 7 9 10 11 14 15 16 17 20 22 24 26 27 28 30 32 33 34 37 39 40 41 46 47 50 52 54 56 57 61 62 66 68 77 85 87 90 91 92 93 99
算法选取的物品质量 : 54 95 36 18 4 71 83 27 84 88 64 14 80 4 36 20 32 6 14 86 59 21 30 22 81 37 28 6 38 51 55 53 99 86 1 42 45 37 1 23 46 6 83 6 19 45 5
算法选取的物品价值 : 297 295 293 292 291 289 284 283 283 281 277 276 275 273 257 236 235 233 232 232 218 214 211 208 203 196 194 193 187 187 184 179 173 171 160 113 107 100 98 72 52 48 40 35 28 22 6
第21个结果:
所求得的背包总价值 : 8991
所求得的背包的容量 : 1896
算法选取的物品序号 : 1 3 4 5 6 9 10 11 14 15 16 18 20 21 22 24 25 27 28 30 32 33 34 38 39 40 41 43 46 47 49 50 52 57 61 62 64 66 68 71 77 78 79 87 90 91 92 93 96 99
算法选取的物品质量 : 54 36 18 4 71 27 84 88 64 14 80 23 36 90 20 32 58 14 86 59 21 30 22 48 37 28 6 19 38 51 79 55 53 1 42 45 22 37 1 85 23 8 10 6 83 6 19 45 13 5
算法选取的物品价值 : 297 293 292 291 289 283 283 281 277 276 275 264 257 250 236 235 235 232 232 218 214 211 208 201 196 194 193 192 187 187 184 184 179 160 113 107 101 100 98 94 72 63 63 48 40 35 28 22 15 6
第22个结果:
所求得的背包总价值 : 8616
所求得的背包的容量 : 1843
算法选取的物品序号 : 1 3 4 5 9 10 11 13 14 15 17 18 20 21 24 25 27 30 32 33 34 36 39 40 41 43 47 50 52 55 57 61 62 63 64 65 66 67 69 72 73 77 78 87 91 92 93 96 98 99
算法选取的物品质量 : 54 36 18 4 27 84 88 94 64 14 4 23 36 90 32 58 14 59 21 30 22 49 37 28 6 19 51 55 53 61 1 42 45 34 22 49 37 33 78 24 96 23 8 6 6 19 45 13 26 5
算法选取的物品价值 : 297 293 292 291 283 283 281 279 277 276 273 264 257 250 235 235 232 218 214 211 208 204 196 194 193 192 187 184 179 172 160 113 107 105 101 100 100 99 97 93 91 72 63 48 35 28 22 15 11 6
第23个结果:
所求得的背包总价值 : 8321
所求得的背包的容量 : 1836
算法选取的物品序号 : 1 3 4 5 6 9 10 11 13 14 15 16 17 22 24 25 30 32 33 34 36 37 39 40 41 46 47 49 50 52 55 59 61 62 65 66 69 77 78 79 87 91 92 93 96 99
算法选取的物品质量 : 54 36 18 4 71 27 84 88 94 64 14 80 4 20 32 58 59 21 30 22 49 81 37 28 6 38 51 79 55 53 61 32 42 45 49 37 78 23 8 10 6 6 19 45 13 5
算法选取的物品价值 : 297 293 292 291 289 283 283 281 279 277 276 275 273 236 235 235 218 214 211 208 204 203 196 194 193 187 187 184 184 179 172 123 113 107 100 100 97 72 63 63 48 35 28 22 15 6
第24个结果:
所求得的背包总价值 : 8239
所求得的背包的容量 : 1785
算法选取的物品序号 : 1 3 4 5 7 9 10 11 13 14 15 16 18 20 22 24 30 32 33 34 36 39 40 41 46 47 49 50 52 54 57 61 64 65 66 72 73 77 78 79 87 91 92 93 96
算法选取的物品质量 : 54 36 18 4 83 27 84 88 94 64 14 80 23 36 20 32 59 21 30 22 49 37 28 6 38 51 79 55 53 99 1 42 22 49 37 24 96 23 8 10 6 6 19 45 13
算法选取的物品价值 : 297 293 292 291 284 283 283 281 279 277 276 275 264 257 236 235 218 214 211 208 204 196 194 193 187 187 184 184 179 173 160 113 101 100 100 93 91 72 63 63 48 35 28 22 15
第25个结果:
所求得的背包总价值 : 7938
所求得的背包的容量 : 1642
算法选取的物品序号 : 1 2 3 4 5 9 10 11 14 15 17 20 22 24 25 30 32 33 34 36 37 39 40 41 46 47 49 50 52 55 57 59 64 66 67 73 77 87 91 92 93 96 99
算法选取的物品质量 : 54 95 36 18 4 27 84 88 64 14 4 36 20 32 58 59 21 30 22 49 81 37 28 6 38 51 79 55 53 61 1 32 22 37 33 96 23 6 6 19 45 13 5
算法选取的物品价值 : 297 295 293 292 291 283 283 281 277 276 273 257 236 235 235 218 214 211 208 204 203 196 194 193 187 187 184 184 179 172 160 123 101 100 99 91 72 48 35 28 22 15 6
第26个结果:
所求得的背包总价值 : 7062
所求得的背包的容量 : 1547
算法选取的物品序号 : 1 3 4 5 7 9 10 11 13 15 17 18 24 25 30 32 33 36 39 40 41 43 50 57 58 59 61 62 65 66 67 77 78 79 83 87 90 91 92 93 96 97 99
算法选取的物品质量 : 54 36 18 4 83 27 84 88 94 14 4 23 32 58 59 21 30 49 37 28 6 19 55 1 64 32 42 45 49 37 33 23 8 10 95 6 83 6 19 45 13 8 5
算法选取的物品价值 : 297 293 292 291 284 283 283 281 279 276 273 264 235 235 218 214 211 204 196 194 193 192 184 160 128 123 113 107 100 100 99 72 63 63 56 48 40 35 28 22 15 12 6
四、参考代码
文件夹内包含9个数据集,点击main.m即可运行。