Open amontoison opened 2 weeks ago
I'll investigate your benchmarks as soon as possible, but I just want to quickly comment on the following:
For the largest problems, my computer crashes during the sparsity pattern detection of the Jacobian.
We've encountered some compile time problems in SCT v0.5.X
which we've since fixed on the main branch (more specifically in https://github.com/adrhill/SparseConnectivityTracer.jl/issues/120#issuecomment-2168186240 and in #119). We're probably going to tag v0.6.0
as soon as we merge #131.
This could be a valuable set of tests for you because the problems are quite large.
Absolutely! We're actively looking for more large-scale problems to test and benchmark on!
I will open a different discussion / issue but it should be also quite easy to benchmark the OPF problems of rosetta-opf
https://github.com/lanl-ansi/rosetta-opf/pull/65
The problems are quite large too and you can also verify the sparsity pattern with JuMP.
We've encountered some compile time problems in SCT v0.5.X which we've since fixed on the main branch
Note that this was mainly due to the britgas
problem formulation being a literal compiler nightmare, with 4 thousand lines of unrolled for
loops. I think equally large problems with a more realistic formulation (using actual for
loops or vectorized code) would be much less of an issue. That's why I started https://github.com/JuliaSmoothOptimizers/OptimizationProblems.jl/pull/332 but I shudder at the idea of doing this for every single problem.
@adrhill @gdalle I tried to run some benchmarks on the NLS problems using
BundleAdjustmentModels.jl
, but I'm encountering issues with the sparsity detection of any Hessian. It takes an extremely long time. This could be a valuable set of tests for you because the problems are quite large. For the largest problems, my computer also crashes during the sparsity pattern detection of some Jacobian.Note that I replaced
norm(r)
withsqrt(dot(r, r))
in the code (see this PR) to use version 5.x ofSparseConnectivityTracer.jl
. Guillaume, the Jacobian/Hessian of these problems could also be useful forSparseMatrixColorings.jl
.Note that you need
hessian_residual_backend = ADNLPModels.SparseADHessian
to test the Hessian.