Замечание: Столбец Optim value
содержит правильное значение ценности для рюкзака. Время указано в секундах.
Для того, чтобы не захламлять таблицу мы приняли решение не включать правильный набор предметов в таблицу,
только тот, который берем мы сами. По столбцу Match
можно узнать, совпал ли этот набор с оптимальным
Поскольку в каждой группе есть алгоритм, выдающий правильный набор, то по нему можно определить, где какой алгоритм ошибся.
В основном, ошибается жадный алгоритм из-за своей изначальной неоптимальности.
Кроме того, в связи с недетерминированностью генетического алгоритма, он может ошибаться на некоторых сэмплах, что и видно из таблицы.
Число хромосом было установлено как 5 * n_items
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
DynamicSolver |
0.0004 |
309 |
309 |
165 |
165 |
[1 1 1 1 0 1 0 0 0 0] |
True |
GeneticSolver |
0.0659 |
309 |
309 |
165 |
165 |
[1 1 1 1 0 1 0 0 0 0] |
True |
ExhaustiveSearch |
0.0011 |
309 |
309 |
165 |
165 |
[1 1 1 1 0 1 0 0 0 0] |
True |
GreedySearch |
0.0 |
309 |
309 |
165 |
165 |
[1 1 1 1 0 1 0 0 0 0] |
True |
BranchBound |
0.0221 |
309 |
309 |
165 |
165 |
[1 1 1 1 0 1 0 0 0 0] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
BranchBound |
0.0094 |
51 |
51 |
26 |
26 |
[0 1 1 1 0] |
True |
ExhaustiveSearch |
0.0 |
51 |
51 |
26 |
26 |
[0 1 1 1 0] |
True |
GreedySearch |
0.0 |
47 |
51 |
23 |
26 |
[1 0 1 0 0] |
False |
DynamicSolver |
0.0001 |
51 |
51 |
26 |
26 |
[0 1 1 1 0] |
True |
GeneticSolver |
0.0187 |
51 |
51 |
26 |
26 |
[0 1 1 1 0] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
DynamicSolver |
0.0003 |
150 |
150 |
190 |
190 |
[1 1 0 0 1 0] |
True |
GeneticSolver |
0.0211 |
150 |
150 |
190 |
190 |
[1 1 0 0 1 0] |
True |
ExhaustiveSearch |
0.0001 |
150 |
150 |
190 |
190 |
[1 1 0 0 1 0] |
True |
GreedySearch |
0.0 |
146 |
150 |
179 |
190 |
[1 1 0 1 0 0] |
False |
BranchBound |
0.0086 |
150 |
150 |
190 |
190 |
[1 1 0 0 1 0] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
BranchBound |
0.0076 |
107 |
107 |
50 |
50 |
[1 0 0 1 0 0 0] |
True |
GreedySearch |
0.0 |
102 |
107 |
48 |
50 |
[1 1 0 0 1 1 0] |
False |
ExhaustiveSearch |
0.0001 |
107 |
107 |
50 |
50 |
[1 0 0 1 0 0 0] |
True |
GeneticSolver |
0.0296 |
107 |
107 |
50 |
50 |
[1 0 0 1 0 0 0] |
True |
DynamicSolver |
0.0001 |
107 |
107 |
50 |
50 |
[1 0 0 1 0 0 0] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
DynamicSolver |
0.0002 |
900 |
900 |
104 |
104 |
[1 0 1 1 1 0 1 1] |
True |
GeneticSolver |
0.0391 |
900 |
900 |
104 |
104 |
[1 0 1 1 1 0 1 1] |
True |
ExhaustiveSearch |
0.0003 |
900 |
900 |
104 |
104 |
[1 0 1 1 1 0 1 1] |
True |
GreedySearch |
0.0 |
858 |
900 |
97 |
104 |
[1 1 0 1 1 1 1 1] |
False |
BranchBound |
0.0083 |
900 |
900 |
104 |
104 |
[1 0 1 1 1 0 1 1] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
BranchBound |
0.0361 |
1735 |
1735 |
169 |
170 |
[0 1 0 1 0 0 1] |
True |
GreedySearch |
0.0 |
1478 |
1735 |
140 |
170 |
[1 1 1 0 0 0 0] |
False |
GeneticSolver |
0.0286 |
1735 |
1735 |
169 |
170 |
[0 1 0 1 0 0 1] |
True |
DynamicSolver |
0.0003 |
1735 |
1735 |
169 |
170 |
[0 1 0 1 0 0 1] |
True |
ExhaustiveSearch |
0.0001 |
1735 |
1735 |
169 |
170 |
[0 1 0 1 0 0 1] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
GreedySearch |
0.0 |
1441 |
1458 |
740 |
750 |
[1 1 1 0 0 0 1 1 1 0 0 0 0 1 1] |
False |
DynamicSolver |
0.0034 |
1458 |
1458 |
749 |
750 |
[1 0 1 0 1 0 1 1 1 0 0 0 0 1 1] |
True |
GeneticSolver |
0.1789 |
1456 |
1458 |
750 |
750 |
[0 1 1 1 0 0 1 1 1 0 0 0 0 1 1] |
False |
ExhaustiveSearch |
0.0646 |
1458 |
1458 |
749 |
750 |
[1 0 1 0 1 0 1 1 1 0 0 0 0 1 1] |
True |
BranchBound |
0.1096 |
1458 |
1458 |
749 |
750 |
[1 0 1 0 1 0 1 1 1 0 0 0 0 1 1] |
True |
В следующей таблице можно увидеть сравнение алгоритмов BranchAndBound
и ExhaustiveSearch
, поскольку оба эти алгоритма пробегают по дереву перебора.
Из этой таблицы можно увидеть, сколько узлов пробегает каждый алгоритм, а также можно увидеть основные time-killers первого алгоритма
В связи с тем, что выбранный солвер работает зачастую довольно медленно, в худшем случае BranchAndBound
проигрывает ExhaustiveSearch
, что можно увидеть на наборе данных, который будет представлен следующим
File name |
Method name |
Work time |
Match |
Counter |
Solve Time |
Get Float Time |
knapsack_1 |
ExhaustiveSearch |
0.0011 |
True |
1024 |
0.0 |
0.0 |
knapsack_1 |
BranchBound |
0.0221 |
True |
2 |
0.0013 |
0.0 |
knapsack_2 |
BranchBound |
0.0094 |
True |
24 |
0.0048 |
0.0001 |
knapsack_2 |
ExhaustiveSearch |
0.0 |
True |
32 |
0.0 |
0.0 |
knapsack_3 |
ExhaustiveSearch |
0.0001 |
True |
64 |
0.0 |
0.0 |
knapsack_3 |
BranchBound |
0.0086 |
True |
22 |
0.0041 |
0.0001 |
knapsack_4 |
BranchBound |
0.0076 |
True |
14 |
0.0032 |
0.0001 |
knapsack_4 |
ExhaustiveSearch |
0.0001 |
True |
128 |
0.0 |
0.0 |
knapsack_5 |
ExhaustiveSearch |
0.0003 |
True |
256 |
0.0 |
0.0 |
knapsack_5 |
BranchBound |
0.0083 |
True |
22 |
0.0042 |
0.0001 |
knapsack_6 |
BranchBound |
0.0361 |
True |
126 |
0.021 |
0.0004 |
knapsack_6 |
ExhaustiveSearch |
0.0001 |
True |
128 |
0.0 |
0.0 |
knapsack_7 |
ExhaustiveSearch |
0.0646 |
True |
32768 |
0.0 |
0.0 |
knapsack_7 |
BranchBound |
0.1096 |
True |
378 |
0.0633 |
0.0013 |
Замечание: Файл f5_l-d_kp_15_375
был удален, т.к в нем присутствуют дробные значения
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
ExhaustiveSearch |
0.0012 |
295 |
295 |
269 |
269 |
[0 1 1 1 0 0 0 1 1 1] |
True |
GeneticSolver |
0.066 |
295 |
295 |
269 |
269 |
[0 1 1 1 0 0 0 1 1 1] |
True |
DynamicSolver |
0.0006 |
295 |
295 |
269 |
269 |
[0 1 1 1 0 0 0 1 1 1] |
True |
GreedySearch |
0.0 |
294 |
295 |
260 |
269 |
[0 1 1 0 1 0 0 1 1 1] |
False |
BranchBound |
0.0078 |
295 |
295 |
269 |
269 |
[0 1 1 1 0 0 0 1 1 1] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
ExhaustiveSearch |
1.392 |
1024 |
1024 |
871 |
878 |
[1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1] |
True |
GeneticSolver |
0.4305 |
1024 |
1024 |
871 |
878 |
[1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1] |
True |
DynamicSolver |
0.0081 |
1024 |
1024 |
871 |
878 |
[1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1] |
True |
GreedySearch |
0.0 |
1018 |
1024 |
837 |
878 |
[1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1] |
False |
BranchBound |
0.0066 |
1024 |
1024 |
871 |
878 |
[1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
GreedySearch |
0.0 |
35 |
35 |
18 |
20 |
[1 1 0 1] |
True |
BranchBound |
0.0032 |
35 |
35 |
18 |
20 |
[1 1 0 1] |
True |
ExhaustiveSearch |
0.0 |
35 |
35 |
18 |
20 |
[1 1 0 1] |
True |
GeneticSolver |
0.0097 |
35 |
35 |
18 |
20 |
[1 1 0 1] |
True |
DynamicSolver |
0.0 |
35 |
35 |
18 |
20 |
[1 1 0 1] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
DynamicSolver |
0.0 |
23 |
23 |
11 |
11 |
[0 1 0 1] |
True |
BranchBound |
0.0292 |
23 |
23 |
11 |
11 |
[0 1 0 1] |
True |
GreedySearch |
0.0 |
16 |
23 |
6 |
11 |
[1 1 0 0] |
False |
ExhaustiveSearch |
0.0 |
23 |
23 |
11 |
11 |
[0 1 0 1] |
True |
GeneticSolver |
0.0101 |
23 |
23 |
11 |
11 |
[0 1 0 1] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
BranchBound |
0.0083 |
52 |
52 |
57 |
60 |
[0 0 1 0 1 1 1 1 1 1] |
True |
GreedySearch |
0.0 |
52 |
52 |
57 |
60 |
[0 0 1 0 1 1 1 1 1 1] |
True |
ExhaustiveSearch |
0.0012 |
52 |
52 |
57 |
60 |
[0 0 1 0 1 1 1 1 1 1] |
True |
GeneticSolver |
0.0657 |
52 |
52 |
58 |
60 |
[0 0 1 1 0 1 1 1 1 1] |
True |
DynamicSolver |
0.0002 |
52 |
52 |
60 |
60 |
[0 0 1 1 1 0 1 0 0 0] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
ExhaustiveSearch |
0.0001 |
107 |
107 |
50 |
50 |
[1 0 0 1 0 0 0] |
True |
BranchBound |
0.0049 |
107 |
107 |
50 |
50 |
[1 0 0 1 0 0 0] |
True |
GreedySearch |
0.0 |
102 |
107 |
48 |
50 |
[1 1 0 0 1 1 0] |
False |
GeneticSolver |
0.0289 |
107 |
107 |
50 |
50 |
[1 0 0 1 0 0 0] |
True |
DynamicSolver |
0.0001 |
107 |
107 |
50 |
50 |
[1 0 0 1 0 0 0] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
GreedySearch |
0.0 |
9751 |
9767 |
9750 |
10000 |
[1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0] |
False |
ExhaustiveSearch |
11.3763 |
9767 |
9767 |
9768 |
10000 |
[1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0] |
True |
GeneticSolver |
0.6345 |
9756 |
9767 |
9767 |
10000 |
[1 1 1 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0] |
False |
DynamicSolver |
0.0668 |
9767 |
9767 |
9768 |
10000 |
[1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0] |
True |
BranchBound |
1188.6169 |
9767 |
9767 |
9768 |
10000 |
[1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
GreedySearch |
0.0 |
130 |
130 |
60 |
80 |
[1 1 1 1 0] |
True |
DynamicSolver |
0.0001 |
130 |
130 |
60 |
80 |
[1 1 1 1 0] |
True |
GeneticSolver |
0.0148 |
130 |
130 |
60 |
80 |
[1 1 1 1 0] |
True |
ExhaustiveSearch |
0.0 |
130 |
130 |
60 |
80 |
[1 1 1 1 0] |
True |
BranchBound |
0.0018 |
130 |
130 |
60 |
80 |
[1 1 1 1 0] |
True |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Answer |
Match |
BranchBound |
0.0075 |
1025 |
1025 |
871 |
879 |
[1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1] |
True |
GreedySearch |
0.0 |
1019 |
1025 |
837 |
879 |
[1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1] |
False |
ExhaustiveSearch |
1.3606 |
1025 |
1025 |
871 |
879 |
[1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1] |
True |
GeneticSolver |
0.4171 |
1025 |
1025 |
871 |
879 |
[1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1] |
True |
DynamicSolver |
0.005 |
1025 |
1025 |
871 |
879 |
[1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1] |
True |
В данной таблице можно увидеть, что в худшем случае при использовании данного солвера BnB
может сильно проиграть Naive Search
.
Данный случай выделен жирным
File name |
Method name |
Work time |
Match |
Counter |
Solve Time |
Get Float Time |
f10_l-d_kp_20_879 |
BranchBound |
0.0075 |
True |
22 |
0.0039 |
0.0001 |
f10_l-d_kp_20_879 |
ExhaustiveSearch |
1.3606 |
True |
1048576 |
NaN |
NaN |
f1_l-d_kp_10_269 |
ExhaustiveSearch |
0.0012 |
True |
1024 |
NaN |
NaN |
f1_l-d_kp_10_269 |
BranchBound |
0.0078 |
True |
24 |
0.0042 |
0.0001 |
f2_l-d_kp_20_878 |
ExhaustiveSearch |
1.392 |
True |
1048576 |
NaN |
NaN |
f2_l-d_kp_20_878 |
BranchBound |
0.0066 |
True |
20 |
0.0033 |
0.0001 |
f3_l-d_kp_4_20 |
BranchBound |
0.0032 |
True |
6 |
0.0011 |
NaN |
f3_l-d_kp_4_20 |
ExhaustiveSearch |
0.0 |
True |
16 |
NaN |
NaN |
f4_l-d_kp_4_11 |
BranchBound |
0.0292 |
True |
14 |
0.0048 |
0.0001 |
f4_l-d_kp_4_11 |
ExhaustiveSearch |
0.0 |
True |
16 |
NaN |
NaN |
f6_l-d_kp_10_60 |
BranchBound |
0.0083 |
True |
26 |
0.0046 |
0.0001 |
f6_l-d_kp_10_60 |
ExhaustiveSearch |
0.0012 |
True |
1024 |
NaN |
NaN |
f7_l-d_kp_7_50 |
ExhaustiveSearch |
0.0001 |
True |
128 |
NaN |
NaN |
f7_l-d_kp_7_50 |
BranchBound |
0.0049 |
True |
14 |
0.0024 |
NaN |
f8_l-d_kp_23_10000 |
ExhaustiveSearch |
11.3763 |
True |
8388608 |
NaN |
NaN |
f8_l-d_kp_23_10000 |
BranchBound |
1188.6169 |
True |
4407676 |
708.755 |
14.8591 |
f9_l-d_kp_5_80 |
ExhaustiveSearch |
0.0 |
True |
32 |
NaN |
NaN |
f9_l-d_kp_5_80 |
BranchBound |
0.0018 |
True |
2 |
0.0006 |
NaN |
Замечание: ExhaustiveSearch
не использовался, поскольку ждать пару миллионов лет немного непозволительная роскошь.
Кроме того, начиная с некоторого набора данных возникли проблемы с солвером в BnB
, который требует его купить (^_^) для решения настолько больших систем.
Поэтому было принято решения использовать бенчмарк не полностью
Результаты сгрупированны по числу предметов, доступных для выбора. Для генетического алгоритма число хромосом установлено как n_items
, что негативно сыграло на точности
Кроме того, данная статистика не содержит поле Answer
, т.к оно слишком большое и захламляет таблицу
File name |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Match |
knapPI_1_100_1000_1 |
DynamicSolver |
0.0207 |
9147 |
9147 |
985 |
995 |
True |
knapPI_1_100_1000_1 |
GeneticSolver |
0.0308 |
6301 |
9147 |
793 |
995 |
False |
knapPI_1_100_1000_1 |
GreedySearch |
0.0005 |
8817 |
9147 |
908 |
995 |
False |
knapPI_1_100_1000_1 |
BranchBound |
0.2167 |
9147 |
9147 |
985 |
995 |
True |
knapPI_2_100_1000_1 |
GreedySearch |
0.0001 |
1487 |
1514 |
983 |
995 |
False |
knapPI_2_100_1000_1 |
GeneticSolver |
0.0315 |
1158 |
1514 |
981 |
995 |
False |
knapPI_2_100_1000_1 |
DynamicSolver |
0.0237 |
1514 |
1514 |
991 |
995 |
True |
knapPI_2_100_1000_1 |
BranchBound |
0.8197 |
1514 |
1514 |
991 |
995 |
True |
knapPI_3_100_1000_1 |
GeneticSolver |
0.031 |
1396 |
2397 |
996 |
997 |
False |
knapPI_3_100_1000_1 |
DynamicSolver |
0.02 |
2397 |
2397 |
997 |
997 |
True |
knapPI_3_100_1000_1 |
BranchBound |
0.3791 |
2397 |
2397 |
997 |
997 |
True |
knapPI_3_100_1000_1 |
GreedySearch |
0.0001 |
2375 |
2397 |
975 |
997 |
False |
File name |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Match |
knapPI_1_200_1000_1 |
BranchBound |
0.4333 |
11238 |
11238 |
987 |
1008 |
True |
knapPI_1_200_1000_1 |
GreedySearch |
0.0001 |
11227 |
11238 |
981 |
1008 |
False |
knapPI_1_200_1000_1 |
GeneticSolver |
0.0871 |
6669 |
11238 |
941 |
1008 |
False |
knapPI_1_200_1000_1 |
DynamicSolver |
0.0412 |
11238 |
11238 |
987 |
1008 |
True |
knapPI_2_200_1000_1 |
BranchBound |
3.1694 |
1634 |
1634 |
1006 |
1008 |
True |
knapPI_2_200_1000_1 |
DynamicSolver |
0.041 |
1634 |
1634 |
1006 |
1008 |
True |
knapPI_2_200_1000_1 |
GeneticSolver |
0.0898 |
1186 |
1634 |
999 |
1008 |
False |
knapPI_2_200_1000_1 |
GreedySearch |
0.0001 |
1604 |
1634 |
1004 |
1008 |
False |
knapPI_3_200_1000_1 |
GreedySearch |
0.0001 |
2649 |
2697 |
949 |
997 |
False |
knapPI_3_200_1000_1 |
GeneticSolver |
0.0938 |
1686 |
2697 |
986 |
997 |
False |
knapPI_3_200_1000_1 |
DynamicSolver |
0.0426 |
2697 |
2697 |
997 |
997 |
True |
knapPI_3_200_1000_1 |
BranchBound |
81.2847 |
2697 |
2697 |
997 |
997 |
True |
File name |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Match |
knapPI_1_500_1000_1 |
BranchBound |
0.6063 |
28857 |
28857 |
2543 |
2543 |
True |
knapPI_1_500_1000_1 |
DynamicSolver |
0.3468 |
28857 |
28857 |
2543 |
2543 |
True |
knapPI_1_500_1000_1 |
GeneticSolver |
0.4528 |
10364 |
28857 |
2414 |
2543 |
False |
knapPI_1_500_1000_1 |
GreedySearch |
0.0002 |
28834 |
28857 |
2528 |
2543 |
False |
knapPI_2_500_1000_1 |
BranchBound |
2.5387 |
4566 |
4566 |
2543 |
2543 |
True |
knapPI_2_500_1000_1 |
DynamicSolver |
0.3502 |
4566 |
4566 |
2543 |
2543 |
True |
knapPI_2_500_1000_1 |
GeneticSolver |
0.424 |
3096 |
4566 |
2529 |
2543 |
False |
knapPI_2_500_1000_1 |
GreedySearch |
0.0002 |
4552 |
4566 |
2538 |
2543 |
False |
knapPI_3_500_1000_1 |
GeneticSolver |
0.4394 |
3687 |
7117 |
2487 |
2517 |
False |
knapPI_3_500_1000_1 |
BranchBound |
183.2984 |
7117 |
7117 |
2517 |
2517 |
True |
knapPI_3_500_1000_1 |
GreedySearch |
0.0002 |
7098 |
7117 |
2498 |
2517 |
False |
knapPI_3_500_1000_1 |
DynamicSolver |
0.3439 |
7117 |
7117 |
2517 |
2517 |
True |
File name |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Match |
knapPI_1_1000_1000_1 |
BranchBound |
7.1942 |
54503 |
54503 |
5002 |
5002 |
True |
knapPI_1_1000_1000_1 |
GreedySearch |
0.0006 |
54386 |
54503 |
4991 |
5002 |
False |
knapPI_1_1000_1000_1 |
GeneticSolver |
1.6285 |
15712 |
54503 |
4430 |
5002 |
False |
knapPI_1_1000_1000_1 |
DynamicSolver |
1.5454 |
54503 |
54503 |
5002 |
5002 |
True |
knapPI_2_1000_1000_1 |
DynamicSolver |
1.5515 |
9052 |
9052 |
5002 |
5002 |
True |
knapPI_2_1000_1000_1 |
GeneticSolver |
1.5977 |
5687 |
9052 |
4998 |
5002 |
False |
knapPI_2_1000_1000_1 |
BranchBound |
15.1673 |
9052 |
9052 |
5002 |
5002 |
True |
knapPI_2_1000_1000_1 |
GreedySearch |
0.0005 |
9046 |
9052 |
4994 |
5002 |
False |
knapPI_3_1000_1000_1 |
BranchBound |
18995.5164 |
14390 |
14390 |
4990 |
4990 |
True |
knapPI_3_1000_1000_1 |
GreedySearch |
0.0005 |
14374 |
14390 |
4974 |
4990 |
False |
knapPI_3_1000_1000_1 |
GeneticSolver |
1.6074 |
6716 |
14390 |
4916 |
4990 |
False |
knapPI_3_1000_1000_1 |
DynamicSolver |
1.5119 |
14390 |
14390 |
4990 |
4990 |
True |
File name |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Match |
knapPI_1_2000_1000_1 |
GreedySearch |
0.0009 |
110547 |
110625 |
9996 |
10011 |
False |
knapPI_1_2000_1000_1 |
GeneticSolver |
6.0955 |
22488 |
110625 |
9909 |
10011 |
False |
knapPI_1_2000_1000_1 |
DynamicSolver |
6.5692 |
110625 |
110625 |
10011 |
10011 |
True |
knapPI_2_2000_1000_1 |
GreedySearch |
0.001 |
18038 |
18051 |
10010 |
10011 |
False |
knapPI_2_2000_1000_1 |
GeneticSolver |
6.0934 |
11073 |
18051 |
10008 |
10011 |
False |
knapPI_2_2000_1000_1 |
DynamicSolver |
6.4205 |
18051 |
18051 |
10010 |
10011 |
True |
knapPI_3_2000_1000_1 |
GeneticSolver |
5.8929 |
12524 |
28919 |
9724 |
9819 |
False |
knapPI_3_2000_1000_1 |
DynamicSolver |
6.2337 |
28919 |
28919 |
9819 |
9819 |
True |
knapPI_3_2000_1000_1 |
GreedySearch |
0.0009 |
28827 |
28919 |
9727 |
9819 |
False |
File name |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Match |
knapPI_1_5000_1000_1 |
GreedySearch |
0.0023 |
276379 |
276457 |
25008 |
25016 |
False |
knapPI_1_5000_1000_1 |
GeneticSolver |
36.5017 |
36717 |
276457 |
24509 |
25016 |
False |
knapPI_1_5000_1000_1 |
DynamicSolver |
40.5078 |
276457 |
276457 |
25016 |
25016 |
True |
knapPI_2_5000_1000_1 |
DynamicSolver |
42.0405 |
44356 |
44356 |
25016 |
25016 |
True |
knapPI_2_5000_1000_1 |
GeneticSolver |
36.1967 |
26519 |
44356 |
24955 |
25016 |
False |
knapPI_2_5000_1000_1 |
GreedySearch |
0.0026 |
44351 |
44356 |
25016 |
25016 |
False |
knapPI_3_5000_1000_1 |
DynamicSolver |
41.8174 |
72505 |
72505 |
24805 |
24805 |
True |
knapPI_3_5000_1000_1 |
GeneticSolver |
36.4495 |
30178 |
72505 |
24778 |
24805 |
False |
knapPI_3_5000_1000_1 |
GreedySearch |
0.0029 |
72446 |
72505 |
24746 |
24805 |
False |
File name |
Method name |
Work time |
Result Profit |
Optim value |
Result Weight |
Capacity |
Match |
knapPI_1_10000_1000_1 |
DynamicSolver |
169.7613 |
563647 |
563647 |
49877 |
49877 |
True |
knapPI_1_10000_1000_1 |
GreedySearch |
0.0048 |
563605 |
563647 |
49876 |
49877 |
False |
knapPI_1_10000_1000_1 |
GeneticSolver |
140.322 |
52585 |
563647 |
45655 |
49877 |
False |
knapPI_2_10000_1000_1 |
DynamicSolver |
164.3271 |
90204 |
90204 |
49877 |
49877 |
True |
knapPI_2_10000_1000_1 |
GeneticSolver |
142.4558 |
50951 |
90204 |
49654 |
49877 |
False |
knapPI_2_10000_1000_1 |
GreedySearch |
0.0049 |
90200 |
90204 |
49877 |
49877 |
False |
knapPI_3_10000_1000_1 |
GeneticSolver |
143.7508 |
58890 |
146919 |
49490 |
49519 |
False |
knapPI_3_10000_1000_1 |
GreedySearch |
0.0052 |
146888 |
146919 |
49488 |
49519 |
False |
knapPI_3_10000_1000_1 |
DynamicSolver |
167.7399 |
146919 |
146919 |
49519 |
49519 |
True |
Как видно из этой таблицы, в одном кейсе алгоритм работал более 5 часов. Из них 8000 секунд заняла работа солвера
Как мы предполагаем, также в данном случае time-killer'ом может выступать постоянное добавление и удаление ограничений в
системе, т.к там возможно использование питоновских структур данных, которые могут быть довольно медленными
Однако, это время не замерялось
File name |
Method name |
Work time |
Match |
Counter |
Solve Time |
Get Float Time |
knapPI_1_1000_1000_1 |
BranchBound |
7.1942 |
True |
8652 |
3.0255 |
0.0308 |
knapPI_1_100_1000_1 |
BranchBound |
0.2167 |
True |
710 |
0.1215 |
0.002 |
knapPI_1_200_1000_1 |
BranchBound |
0.4333 |
True |
1186 |
0.2276 |
0.0034 |
knapPI_1_500_1000_1 |
BranchBound |
0.6063 |
True |
1150 |
0.2837 |
0.0035 |
knapPI_2_1000_1000_1 |
BranchBound |
15.1673 |
True |
18912 |
6.2182 |
0.0674 |
knapPI_2_100_1000_1 |
BranchBound |
0.8197 |
True |
2722 |
0.4683 |
0.0077 |
knapPI_2_200_1000_1 |
BranchBound |
3.1694 |
True |
8938 |
1.7064 |
0.0257 |
knapPI_2_500_1000_1 |
BranchBound |
2.5387 |
True |
4842 |
1.1885 |
0.0148 |
knapPI_3_1000_1000_1 |
BranchBound |
18995.5164 |
True |
23504080 |
7944.3911 |
82.7898 |
knapPI_3_100_1000_1 |
BranchBound |
0.3791 |
True |
1228 |
0.2125 |
0.0034 |
knapPI_3_200_1000_1 |
BranchBound |
81.2847 |
True |
219636 |
43.1455 |
0.6635 |
knapPI_3_500_1000_1 |
BranchBound |
183.2984 |
True |
344166 |
85.2296 |
1.0873 |
Copyright (C) 2020-2021, Bolik&Lolik Inc. , all rights reserved.