BundleAdjustmentModels documentation
Julia repository of bundle adjustment problems from the Bundle Adjustment in the Large repository
How to Cite
If you use BundleAdjustmentModels.jl in your work, please cite using the format given in CITATION.cff
.
Tutorial
Check an Introduction to BundleAdjustmentModels and more tutorials on the JSO tutorials page.
Bug reports and discussions
If you think you found a bug, feel free to open an issue. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.
If you want to ask a question not suited for a bug report, feel free to start a discussion here. This forum is for general discussion about this repository and the JuliaSmoothOptimizers, so questions about any of our packages are welcome.
Examples
using BundleAdjustmentModels, DataFrames
problems_df()
returns a DataFrame of all the problems, their group and other features.
df = problems_df()
74 rows × 5 columns
name | group | nequ | nvar | nnzj | |
---|---|---|---|---|---|
String | String | Int64 | Int64 | Int64 | |
1 | problem-16-22106-pre | dubrovnik | 167436 | 66462 | 2009232 |
2 | problem-88-64298-pre | dubrovnik | 767874 | 193686 | 9214488 |
3 | problem-135-90642-pre | dubrovnik | 1106672 | 273141 | 13280064 |
4 | problem-142-93602-pre | dubrovnik | 1131216 | 282084 | 13574592 |
5 | problem-150-95821-pre | dubrovnik | 1136238 | 288813 | 13634856 |
6 | problem-161-103832-pre | dubrovnik | 1184038 | 312945 | 14208456 |
7 | problem-173-111908-pre | dubrovnik | 1269140 | 337281 | 15229680 |
8 | problem-182-116770-pre | dubrovnik | 1337410 | 351948 | 16048920 |
9 | problem-202-132796-pre | dubrovnik | 1503304 | 400206 | 18039648 |
10 | problem-237-154414-pre | dubrovnik | 1716662 | 465375 | 20599944 |
11 | problem-253-163691-pre | dubrovnik | 1798310 | 493350 | 21579720 |
12 | problem-262-169354-pre | dubrovnik | 1839376 | 510420 | 22072512 |
13 | problem-273-176305-pre | dubrovnik | 1885940 | 531372 | 22631280 |
14 | problem-287-182023-pre | dubrovnik | 1942584 | 548652 | 23311008 |
15 | problem-308-195089-pre | dubrovnik | 2090394 | 588039 | 25084728 |
16 | problem-356-226730-pre | dubrovnik | 2510536 | 683394 | 30126432 |
17 | problem-21-11315-pre | trafalgar | 72910 | 34134 | 874920 |
18 | problem-39-18060-pre | trafalgar | 127102 | 54531 | 1525224 |
19 | problem-50-20431-pre | trafalgar | 147934 | 61743 | 1775208 |
20 | problem-126-40037-pre | trafalgar | 296656 | 121245 | 3559872 |
21 | problem-138-44033-pre | trafalgar | 331798 | 133341 | 3981576 |
22 | problem-161-48126-pre | trafalgar | 364144 | 145827 | 4369728 |
23 | problem-170-49267-pre | trafalgar | 371630 | 149331 | 4459560 |
24 | problem-174-50489-pre | trafalgar | 377618 | 153033 | 4531416 |
25 | problem-193-53101-pre | trafalgar | 393052 | 161040 | 4716624 |
26 | problem-201-54427-pre | trafalgar | 399876 | 165090 | 4798512 |
27 | problem-206-54562-pre | trafalgar | 401430 | 165540 | 4817160 |
28 | problem-215-55910-pre | trafalgar | 408404 | 169665 | 4900848 |
29 | problem-225-57665-pre | trafalgar | 417244 | 175020 | 5006928 |
30 | problem-257-65132-pre | trafalgar | 451822 | 197709 | 5421864 |
31 | problem-49-7776-pre | ladybug | 63686 | 23769 | 764232 |
32 | problem-73-11032-pre | ladybug | 92244 | 33753 | 1106928 |
33 | problem-138-19878-pre | ladybug | 170434 | 60876 | 2045208 |
34 | problem-318-41628-pre | ladybug | 359838 | 127746 | 4318056 |
35 | problem-372-47423-pre | ladybug | 408944 | 145617 | 4907328 |
36 | problem-412-52215-pre | ladybug | 448484 | 160353 | 5381808 |
37 | problem-460-56811-pre | ladybug | 483754 | 174573 | 5805048 |
38 | problem-539-65220-pre | ladybug | 554546 | 200511 | 6654552 |
39 | problem-598-69218-pre | ladybug | 608340 | 213036 | 7300080 |
40 | problem-646-73584-pre | ladybug | 654594 | 226566 | 7855128 |
41 | problem-707-78455-pre | ladybug | 699880 | 241728 | 8398560 |
42 | problem-783-84444-pre | ladybug | 754104 | 260379 | 9049248 |
43 | problem-810-88814-pre | ladybug | 787550 | 273732 | 9450600 |
44 | problem-856-93344-pre | ladybug | 831538 | 287736 | 9978456 |
45 | problem-885-97473-pre | ladybug | 869810 | 300384 | 10437720 |
46 | problem-931-102699-pre | ladybug | 914920 | 316476 | 10979040 |
47 | problem-969-105826-pre | ladybug | 949254 | 326199 | 11391048 |
48 | problem-1031-110968-pre | ladybug | 1000530 | 342183 | 12006360 |
49 | problem-1064-113655-pre | ladybug | 1020422 | 350541 | 12245064 |
50 | problem-1118-118384-pre | ladybug | 1057852 | 365214 | 12694224 |
51 | problem-1152-122269-pre | ladybug | 1091638 | 377175 | 13099656 |
52 | problem-1197-126327-pre | ladybug | 1127468 | 389754 | 13529616 |
53 | problem-1235-129634-pre | ladybug | 1152572 | 400017 | 13830864 |
54 | problem-1266-132593-pre | ladybug | 1175884 | 409173 | 14110608 |
55 | problem-1340-137079-pre | ladybug | 1225186 | 423297 | 14702232 |
56 | problem-1469-145199-pre | ladybug | 1283292 | 448818 | 15399504 |
57 | problem-1514-147317-pre | ladybug | 1302960 | 455577 | 15635520 |
58 | problem-1587-150845-pre | ladybug | 1326578 | 466818 | 15918936 |
59 | problem-1642-153820-pre | ladybug | 1342536 | 476238 | 16110432 |
60 | problem-1695-155710-pre | ladybug | 1353190 | 482385 | 16238280 |
61 | problem-52-64053-pre | venice | 694346 | 192627 | 8332152 |
62 | problem-89-110973-pre | venice | 1125952 | 333720 | 13511424 |
63 | problem-245-198739-pre | venice | 2182772 | 598422 | 26193264 |
64 | problem-427-310384-pre | venice | 3398290 | 934995 | 40779480 |
65 | problem-744-543562-pre | venice | 6117726 | 1637382 | 73412712 |
66 | problem-951-708276-pre | venice | 7497784 | 2133387 | 89973408 |
67 | problem-1102-780462-pre | venice | 8104680 | 2351304 | 97256160 |
68 | problem-1158-802917-pre | venice | 8261006 | 2419173 | 99132072 |
69 | problem-1184-816583-pre | venice | 8358094 | 2460405 | 100297128 |
70 | problem-1238-843534-pre | venice | 8581006 | 2541744 | 102972072 |
71 | problem-1288-866452-pre | venice | 8766012 | 2610948 | 105192144 |
72 | problem-1350-894716-pre | venice | 9034252 | 2696298 | 108411024 |
73 | problem-1408-912229-pre | venice | 9269060 | 2749359 | 111228720 |
74 | problem-1778-993923-pre | venice | 10003892 | 2997771 | 120046704 |
When you get this dataframe you can sort through it to get the problems that you want. For example, if you want to filter problems based on their size you can apply this filter:
filter_df = df[ ( df.nequ .≥ 50000 ) .& ( df.nvar .≤ 34000 ), :]
2 rows × 5 columns
name | group | nequ | nvar | nnzj | |
---|---|---|---|---|---|
String | String | Int64 | Int64 | Int64 | |
1 | problem-49-7776-pre | ladybug | 63686 | 23769 | 764232 |
2 | problem-73-11032-pre | ladybug | 92244 | 33753 | 1106928 |
You can get the problem name directly from the dataframe:
name = filter_df[1, :name]
"problem-49-7776-pre"
fetch_ba_name
returns the path to the problem artifact. The artifact will download automatically:
path = fetch_ba_name(name)
"/home/runner/.julia/artifacts/dd2da5f94014b5f9086a2b38a87f8c1bc171b9c2"
You can also get an array of the paths to an entire group of problems
path = fetch_ba_group("ladybug")
30-element Vector{String}:
+ "/home/runner/.julia/artifacts/dd2da5f94014b5f9086a2b38a87f8c1bc171b9c2"
+ "/home/runner/.julia/artifacts/3d0853a3ca8e585814697fea9cd4d6956692e103"
+ "/home/runner/.julia/artifacts/5c5c938c998d6c083f549bc584cfeb07bd296d89"
+ "/home/runner/.julia/artifacts/e8ebdcec7cd5dc3ec4825dcb6642064e541fa625"
+ "/home/runner/.julia/artifacts/111ebd1dcdf5670eac8a12f4e2ce5a3b79b4f7f6"
+ "/home/runner/.julia/artifacts/3e8acd1ef4cb13d93a7140be1c3702b5eb165978"
+ "/home/runner/.julia/artifacts/69595726ce3990604ef56b80c273fe7f95506f2e"
+ "/home/runner/.julia/artifacts/1eab751f4850b1e22302a7f97894d4b769c7350e"
+ "/home/runner/.julia/artifacts/90ce1588d82c76a81c2b07d9e6abcc984e0e4586"
+ "/home/runner/.julia/artifacts/05e4248f24d897a97e9be1f386e18d1de7e511e5"
+ ⋮
+ "/home/runner/.julia/artifacts/72cdf832cd3eedb4cc4c589127e7ab5b91a60f00"
+ "/home/runner/.julia/artifacts/1e01d6927d4d4e0acd3086d9c75d2ee783ab1220"
+ "/home/runner/.julia/artifacts/b92a8dfd520e7440769c4a72685e817632f9ea43"
+ "/home/runner/.julia/artifacts/366a8368c091027a23a190b1ed498158eef947a5"
+ "/home/runner/.julia/artifacts/ee08f4f6898cc26471d3a63502fe908cfa9a5dcc"
+ "/home/runner/.julia/artifacts/1a0ebf23b35d784ad3d39f4987bc7d785f5976b6"
+ "/home/runner/.julia/artifacts/00be55410c27068ec73261e122a39258100a1a11"
+ "/home/runner/.julia/artifacts/0303e7ae8256c494c9da052d977277f21265899b"
+ "/home/runner/.julia/artifacts/389ecea5c2f2e2b637a2b4439af0bd4ca98e6d84"
You can directly construct a nonlinear least-squares model based on NLPModels:
model = BundleAdjustmentModel("problem-49-7776")
BundleAdjustmentModel{Float64, Vector{Float64}}
+ Problem name: problem-49-7776
+ All variables: ████████████████████ 23769 All constraints: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 All residuals: ████████████████████ 63686
+ free: ████████████████████ 23769 free: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 linear: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+ lower: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 lower: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 nonlinear: ████████████████████ 63686
+ upper: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 upper: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 nnzj: ( 99.95% sparsity) 764232
+ low/upp: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 low/upp: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 nnzh: (100.00% sparsity) 0
+ fixed: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 fixed: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+ infeas: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 infeas: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+ nnzh: ( 0.00% sparsity) 282494565 linear: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+ nonlinear: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+ nnzj: (------% sparsity)
+
+ Counters:
+ obj: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 grad: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 cons: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+ cons_lin: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 cons_nln: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 jcon: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+ jgrad: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 jac: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 jac_lin: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+ jac_nln: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 jprod: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 jprod_lin: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+ jprod_nln: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 jtprod: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 jtprod_lin: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+ jtprod_nln: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 hess: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 hprod: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+ jhess: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 jhprod: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 residual: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+ jac_residual: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 jprod_residual: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 jtprod_residual: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+ hess_residual: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 jhess_residual: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0 hprod_residual: ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 0
+
You can then evaluate the residual and jacobian (or their in-place version) from NLPModels:
using NLPModels
residual(model, model.meta.x0)
63686-element Vector{Float64}:
+ -9.020226301243213
+ 11.263958304987227
+ -1.8332297149469525
+ 5.304698960898122
+ -4.332321480806684
+ 7.117305031392988
+ -0.5632751791501462
+ -1.062178017695885
+ -3.9692059546843836
+ -2.2850712830954194
+ ⋮
+ -0.43775747920221164
+ -0.024461522651677114
+ -0.1961281328666189
+ 0.008375315306523134
+ 0.23044496991071384
+ 0.04927878647407624
+ 0.47289578243411867
+ -0.01443314653496941
+ -0.4486499211288866
meta_nls = nls_meta(model)
+Fx = similar(model.meta.x0, meta_nls.nequ)
+residual!(model, model.meta.x0, Fx)
63686-element Vector{Float64}:
+ -9.020226301243213
+ 11.263958304987227
+ -1.8332297149469525
+ 5.304698960898122
+ -4.332321480806684
+ 7.117305031392988
+ -0.5632751791501462
+ -1.062178017695885
+ -3.9692059546843836
+ -2.2850712830954194
+ ⋮
+ -0.43775747920221164
+ -0.024461522651677114
+ -0.1961281328666189
+ 0.008375315306523134
+ 0.23044496991071384
+ 0.04927878647407624
+ 0.47289578243411867
+ -0.01443314653496941
+ -0.4486499211288866
You need to call jac_structure_residual!
at least once before calling jac_op_residual!
.
meta_nls = nls_meta(model)
+rows = Vector{Int}(undef, meta_nls.nnzj)
+cols = Vector{Int}(undef, meta_nls.nnzj)
+jac_structure_residual!(model, rows, cols)
([1, 1, 1, 1, 1, 1, 1, 1, 1, 1 … 63686, 63686, 63686, 63686, 63686, 63686, 63686, 63686, 63686, 63686], [1, 2, 3, 23329, 23330, 23331, 23332, 23333, 23334, 23335 … 23328, 23761, 23762, 23763, 23764, 23765, 23766, 23767, 23768, 23769])
You need to call jac_coord_residual!
everytime before calling jac_op_residual!
.
vals = similar(model.meta.x0, meta_nls.nnzj)
+jac_coord_residual!(model, model.meta.x0, vals)
764232-element Vector{Float64}:
+ 545.1179297695714
+ -5.058282392703829
+ -478.0666614182794
+ -283.5120110272222
+ -1296.3388697208218
+ -320.60334752077165
+ 551.1773498438256
+ 0.00020469082949125088
+ -471.09490058346296
+ -409.36200783910084
+ ⋮
+ 1246.0491342213195
+ -96.64898276178089
+ 622.4628407807937
+ 2.852854717671426e-7
+ 305.00859581263086
+ 19.561762292226746
+ 6.5984133899730155
+ 1.680958440896614
+ 0.06413511779846102
Jv = similar(model.meta.x0, meta_nls.nequ)
+Jtv = similar(model.meta.x0, meta_nls.nvar)
+Jx = jac_op_residual!(model, rows, cols, vals, Jv, Jtv)
Linear operator
+ nrow: 63686
+ ncol: 23769
+ eltype: Float64
+ symmetric: false
+ hermitian: false
+ nprod: 0
+ ntprod: 0
+ nctprod: 0
+
+
There is no second order information available for problems in this module.
Delete unneeded artifacts and free up disk space with delete_ba_artifact!
:
delete_ba_artifact!("problem-49-7776-pre")
[ Info: The artifact ladybug/problem-49-7776-pre.txt.bz2 has been deleted
Use delete_all_ba_artifacts!
to delete all artifacts:
delete_all_ba_artifacts!()
[ Info: The artifact dubrovnik/problem-16-22106-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-88-64298-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-135-90642-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-142-93602-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-150-95821-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-161-103832-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-173-111908-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-182-116770-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-202-132796-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-237-154414-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-253-163691-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-262-169354-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-273-176305-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-287-182023-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-308-195089-pre.txt.bz2 was not found
+[ Info: The artifact dubrovnik/problem-356-226730-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-21-11315-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-39-18060-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-50-20431-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-126-40037-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-138-44033-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-161-48126-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-170-49267-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-174-50489-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-193-53101-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-201-54427-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-206-54562-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-215-55910-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-225-57665-pre.txt.bz2 was not found
+[ Info: The artifact trafalgar/problem-257-65132-pre.txt.bz2 was not found
+[ Info: The artifact ladybug/problem-49-7776-pre.txt.bz2 was not found
+[ Info: The artifact ladybug/problem-73-11032-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-138-19878-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-318-41628-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-372-47423-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-412-52215-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-460-56811-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-539-65220-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-598-69218-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-646-73584-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-707-78455-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-783-84444-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-810-88814-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-856-93344-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-885-97473-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-931-102699-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-969-105826-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-1031-110968-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-1064-113655-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-1118-118384-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-1152-122269-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-1197-126327-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-1235-129634-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-1266-132593-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-1340-137079-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-1469-145199-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-1514-147317-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-1587-150845-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-1642-153820-pre.txt.bz2 has been deleted
+[ Info: The artifact ladybug/problem-1695-155710-pre.txt.bz2 has been deleted
+[ Info: The artifact venice/problem-52-64053-pre.txt.bz2 was not found
+[ Info: The artifact venice/problem-89-110973-pre.txt.bz2 was not found
+[ Info: The artifact venice/problem-245-198739-pre.txt.bz2 was not found
+[ Info: The artifact venice/problem-427-310384-pre.txt.bz2 was not found
+[ Info: The artifact venice/problem-744-543562-pre.txt.bz2 was not found
+[ Info: The artifact venice/problem-951-708276-pre.txt.bz2 was not found
+[ Info: The artifact venice/problem-1102-780462-pre.txt.bz2 was not found
+[ Info: The artifact venice/problem-1158-802917-pre.txt.bz2 was not found
+[ Info: The artifact venice/problem-1184-816583-pre.txt.bz2 was not found
+[ Info: The artifact venice/problem-1238-843534-pre.txt.bz2 was not found
+[ Info: The artifact venice/problem-1288-866452-pre.txt.bz2 was not found
+[ Info: The artifact venice/problem-1350-894716-pre.txt.bz2 was not found
+[ Info: The artifact venice/problem-1408-912229-pre.txt.bz2 was not found
+[ Info: The artifact venice/problem-1778-993923-pre.txt.bz2 was not found
Licensed under the MPL-2.0 License