Skip to content

Commit 65cbaef

Browse files
authored
feat: bring in TSPLIB95 and CVRPLIB benchmarks (#34)
1 parent e660dfc commit 65cbaef

File tree

866 files changed

+808001
-592884
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

866 files changed

+808001
-592884
lines changed

README.adoc

+34-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ There are no guarantees that anything in this repository will still be here tomo
55
or that it will look anything like it looks today,
66
or that it will work against any particular version of the Solver.
77

8-
== Usage
8+
== Microbenchmarks
9+
10+
=== Usage
911

1012
To run the benchmarks, you need access to Timefold Solver Enterprise Edition.
1113
Having acquired that, run any of the benchmarks:
@@ -16,17 +18,45 @@ Having acquired that, run any of the benchmarks:
1618
./run-scoredirector.sh
1719
----
1820

21+
The benchmark results will be published as a subdirectory in the `results` directory,
22+
and they will include flame graphs if Async Profiler is available.
23+
1924
In the default configuration, the benchmark will run for many hours and fully occupy 1 CPU.
2025
Only run the benchmark on a quiet machine, otherwise results will be skewed.
2126

22-
=== Async profiler
27+
==== Async profiler
2328

2429
The benchmark can optionally produce flame graphs using https://github.com/async-profiler/async-profiler[Async Profiler].
2530
On the first run, if Async Profiler is not found, a message will be logged.
2631
Let the message point you in the right direction.
2732

28-
== Configuring the benchmark
33+
=== Configuring the benchmark
2934

3035
The benchmark is configured using the `coldstart-benchmark.properties` and `scoredirector-benchmark.properties` file.
3136
The file is well-commented, and should be self-explanatory.
32-
Modify it to suit your needs.
37+
Modify it to suit your needs.
38+
39+
== TSPLIB95 and CVRPLIB benchmarks
40+
41+
Runs the solver against well-known academic datasets:
42+
43+
* http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/[TSPLIB95]
44+
* http://vrp.galgos.inf.puc-rio.br/index.php/en/[CVRPLIB]
45+
46+
=== Usage
47+
48+
To run the benchmarks, you need access to Timefold Solver Enterprise Edition.
49+
Having acquired that, build and run any of the benchmarks:
50+
51+
[source,shell]
52+
----
53+
mvn clean install -DskipJMH
54+
./run-tsplib95.sh
55+
./run-cvrplib.sh
56+
----
57+
58+
The benchmark results will be published as a CSV file in the `results` directory.
59+
60+
In the default configuration, the benchmark will run for many hours and fully occupy 4 CPUs.
61+
Only run the benchmark on a quiet machine, otherwise results will be skewed.
62+

data/tsp/import/asymmetric/br17.atsp

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
NAME: br17
2+
TYPE: ATSP
3+
COMMENT: 17 city problem (Repetto)
4+
DIMENSION: 17
5+
EDGE_WEIGHT_TYPE: EXPLICIT
6+
EDGE_WEIGHT_FORMAT: FULL_MATRIX
7+
EDGE_WEIGHT_SECTION
8+
9999 3 5 48 48 8 8 5 5 3 3 0 3 5 8 8
9+
5
10+
3 9999 3 48 48 8 8 5 5 0 0 3 0 3 8 8
11+
5
12+
5 3 9999 72 72 48 48 24 24 3 3 5 3 0 48 48
13+
24
14+
48 48 74 9999 0 6 6 12 12 48 48 48 48 74 6 6
15+
12
16+
48 48 74 0 9999 6 6 12 12 48 48 48 48 74 6 6
17+
12
18+
8 8 50 6 6 9999 0 8 8 8 8 8 8 50 0 0
19+
8
20+
8 8 50 6 6 0 9999 8 8 8 8 8 8 50 0 0
21+
8
22+
5 5 26 12 12 8 8 9999 0 5 5 5 5 26 8 8
23+
0
24+
5 5 26 12 12 8 8 0 9999 5 5 5 5 26 8 8
25+
0
26+
3 0 3 48 48 8 8 5 5 9999 0 3 0 3 8 8
27+
5
28+
3 0 3 48 48 8 8 5 5 0 9999 3 0 3 8 8
29+
5
30+
0 3 5 48 48 8 8 5 5 3 3 9999 3 5 8 8
31+
5
32+
3 0 3 48 48 8 8 5 5 0 0 3 9999 3 8 8
33+
5
34+
5 3 0 72 72 48 48 24 24 3 3 5 3 9999 48 48
35+
24
36+
8 8 50 6 6 0 0 8 8 8 8 8 8 50 9999 0
37+
8
38+
8 8 50 6 6 0 0 8 8 8 8 8 8 50 0 9999
39+
8
40+
5 5 26 12 12 8 8 0 0 5 5 5 5 26 8 8
41+
9999
42+
EOF

data/tsp/import/asymmetric/ft53.atsp

+220
Large diffs are not rendered by default.

data/tsp/import/asymmetric/ft70.atsp

+358
Large diffs are not rendered by default.

data/tsp/import/asymmetric/ftv170.atsp

+4,882
Large diffs are not rendered by default.

data/tsp/import/asymmetric/ftv33.atsp

+201
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
NAME: ftv33
2+
TYPE: ATSP
3+
COMMENT: Asymmetric TSP (Fischetti)
4+
DIMENSION: 34
5+
EDGE_WEIGHT_TYPE: EXPLICIT
6+
EDGE_WEIGHT_FORMAT: FULL_MATRIX
7+
EDGE_WEIGHT_SECTION
8+
100000000 26 82 65 100 147
9+
134 69 117 42 89 125
10+
38 13 38 31 22 103
11+
143 94 104 123 98 58
12+
38 30 67 120 149 100
13+
93 162 62 66 66 100000000
14+
56 39 109 156 140 135
15+
183 108 155 190 104 79
16+
104 97 88 130 176 121
17+
131 150 125 85 65 57
18+
94 147 160 80 67 189
19+
128 40 43 57 100000000 16
20+
53 100 84 107 155 85
21+
132 168 81 56 81 74
22+
65 146 186 137 147 166
23+
141 101 81 73 110 163
24+
164 102 71 205 105 62
25+
27 41 62 100000000 97 144
26+
131 96 144 69 116 152
27+
65 40 65 58 49 130
28+
170 121 131 150 125 85
29+
65 57 94 147 166 86
30+
73 189 89 46 109 135
31+
161 174 100000000 47 34 54
32+
102 67 114 175 97 96
33+
128 135 131 198 193 203
34+
213 232 207 167 147 139
35+
176 229 222 204 148 235
36+
60 175 157 171 114 130
37+
60 100000000 40 114 162 127
38+
174 235 157 156 188 188
39+
179 258 253 251 239 258
40+
203 215 195 187 172 207
41+
175 157 101 295 120 133
42+
143 169 132 148 34 31
43+
100000000 88 133 101 148 209
44+
131 130 162 169 165 232
45+
227 237 247 266 221 201
46+
181 173 190 225 193 175
47+
119 269 94 151 95 121
48+
177 160 54 101 88 100000000
49+
48 53 100 158 83 82
50+
114 121 117 184 179 189
51+
199 218 193 153 133 125
52+
162 215 244 195 188 221
53+
46 161 79 105 161 144
54+
91 138 125 37 100000000 37
55+
53 114 67 66 98 105
56+
101 137 132 149 183 202
57+
177 137 117 109 146 199
58+
228 179 172 174 57 145
59+
42 68 124 107 67 114
60+
101 27 75 100000000 47 108
61+
30 29 61 68 64 131
62+
126 136 146 165 140 100
63+
80 72 109 162 191 142
64+
135 168 20 108 83 109
65+
165 148 108 155 142 68
66+
88 41 100000000 61 71 70
67+
102 109 105 84 79 96
68+
144 163 175 141 121 113
69+
150 203 232 183 176 121
70+
61 149 204 230 286 269
71+
216 255 237 162 125 162
72+
123 100000000 192 191 223 230
73+
226 144 139 156 184 165
74+
215 249 242 234 251 282
75+
332 297 297 113 182 270
76+
38 64 120 103 88 135
77+
122 57 105 30 77 87
78+
100000000 25 31 38 47 110
79+
105 122 142 161 136 96
80+
76 68 105 158 187 138
81+
131 147 50 104 13 39
82+
95 78 87 134 121 56
83+
104 29 76 112 25 100000000
84+
32 39 35 116 130 107
85+
117 136 111 71 51 43
86+
80 133 162 113 106 172
87+
49 79 38 48 104 87
88+
119 166 153 88 136 61
89+
108 118 31 32 100000000 7
90+
16 123 136 114 124 143
91+
118 78 58 50 87 140
92+
169 120 115 178 81 88
93+
31 41 97 80 115 162
94+
149 84 132 57 104 114
95+
27 28 7 100000000 9 116
96+
132 107 117 136 111 71
97+
51 43 80 133 162 113
98+
108 174 77 81 22 32
99+
88 71 122 169 156 91
100+
139 64 111 123 36 35
101+
16 9 100000000 107 141 98
102+
108 127 102 62 42 34
103+
71 124 153 104 99 166
104+
84 72 108 134 190 173
105+
133 180 167 93 113 66
106+
85 60 96 95 127 134
107+
130 100000000 46 63 116 135
108+
147 166 146 138 175 221
109+
257 208 201 120 86 174
110+
127 153 209 192 152 199
111+
186 112 132 85 104 79
112+
115 114 146 153 149 19
113+
100000000 17 70 89 101 135
114+
148 157 137 175 219 183
115+
220 85 105 193 153 179
116+
235 218 178 225 212 138
117+
158 111 130 105 141 140
118+
172 179 175 45 57 100000000
119+
53 72 84 118 131 183
120+
120 158 202 166 241 68
121+
131 214 179 165 199 204
122+
243 290 277 203 223 176
123+
195 165 206 192 199 192
124+
183 110 112 82 100000000 19
125+
31 65 78 149 67 105
126+
149 113 188 95 196 161
127+
212 205 239 244 237 284
128+
271 197 217 170 189 146
129+
200 199 231 232 223 104
130+
93 63 40 100000000 71 105
131+
118 189 107 117 167 153
132+
228 76 190 201 148 134
133+
168 173 212 259 246 172
134+
192 145 164 139 175 161
135+
168 161 152 79 125 70
136+
36 55 100000000 34 47 118
137+
36 89 118 82 157 131
138+
165 130 153 146 180 185
139+
178 225 212 138 158 111
140+
130 105 141 140 172 173
141+
164 45 91 36 46 65
142+
77 100000000 59 130 48 101
143+
130 94 169 104 131 142
144+
173 166 200 205 198 245
145+
232 158 178 131 150 125
146+
161 160 192 193 184 65
147+
111 56 66 85 97 20
148+
100000000 150 68 121 150 114
149+
189 124 151 162 30 16
150+
72 55 125 172 156 99
151+
147 72 119 133 68 43
152+
50 43 34 73 119 64
153+
74 93 68 28 8 100000000
154+
37 90 119 70 83 132
155+
92 56 112 98 132 137
156+
185 232 216 181 223 154
157+
195 170 150 125 132 125
158+
116 110 156 101 67 86
159+
31 65 78 82 100000000 53
160+
82 46 121 162 174 94
161+
144 130 164 169 217 256
162+
225 213 261 186 233 234
163+
182 157 164 157 148 174
164+
209 165 131 116 95 129
165+
122 114 93 100000000 50 78
166+
147 192 206 126 94 80
167+
114 119 167 214 198 163
168+
211 136 183 197 132 107
169+
114 107 98 137 183 128
170+
110 129 74 92 72 64
171+
43 57 100000000 28 103 196
172+
156 76 66 52 101 91
173+
154 201 185 135 183 108
174+
155 169 104 79 86 79
175+
70 109 155 100 82 101
176+
46 64 44 36 15 68
177+
97 100000000 90 168 128 63
178+
113 108 70 86 84 131
179+
115 138 186 151 198 225
180+
151 126 142 135 126 165
181+
211 156 138 157 102 120
182+
100 92 71 124 93 56
183+
100000000 224 144 32 146 172
184+
228 211 171 218 205 131
185+
151 104 123 80 134 133
186+
165 172 168 38 27 44
187+
75 76 106 140 153 176
188+
142 180 224 188 239 100000000
189+
124 212 102 128 184 167
190+
61 108 95 7 55 60
191+
107 165 90 89 121 128
192+
124 191 186 196 206 225
193+
200 160 140 132 169 222
194+
251 202 195 228 100000000 168
195+
81 95 38 54 91 138
196+
122 145 193 123 170 206
197+
119 94 119 112 103 184
198+
224 175 165 184 129 139
199+
119 111 98 151 120 83
200+
27 243 143 0
201+
EOF

0 commit comments

Comments
 (0)