Add NLPModels testing - #83
Conversation
|
Here are some of the errors I'm seeing On the SCT side @adrhill can you take a look at those? MethodError: no method matching hessian_pattern_to_mat(::Vector{SparseConnectivityTracer.Dual{Float64, SparseConnectivityTracer.HessianTracer{BitSet, Set{Tuple{Int64, Int64}}}}}, ::Float64)
Closest candidates are:
hessian_pattern_to_mat(::AbstractArray{D}, ::D) where {P, T<:SparseConnectivityTracer.HessianTracer, D<:SparseConnectivityTracer.Dual{P, T}}
@ SparseConnectivityTracer ~/Work/GitHub/Julia/SparseConnectivityTracer.jl/src/pattern.jl:387
Stacktrace:
[1] local_hessian_pattern(f::Function, x::Vector{Float64}, ::Type{BitSet}, ::Type{Set{Tuple{Int64, Int64}}})
@ SparseConnectivityTracer ~/Work/GitHub/Julia/SparseConnectivityTracer.jl/src/pattern.jl:369
[2] hessian_sparsity
@ ~/Work/GitHub/Julia/SparseConnectivityTracer.jl/src/adtypes.jl:112 [inlined] MethodError: ^(::SparseConnectivityTracer.Dual{Float64, SparseConnectivityTracer.HessianTracer{BitSet, Set{Tuple{Int64, Int64}}}}, ::Int64) is ambiguous.
Candidates:
^(dx::D, y::Number) where {P, T<:SparseConnectivityTracer.HessianTracer, D<:SparseConnectivityTracer.Dual{P, T}}
@ SparseConnectivityTracer ~/Work/GitHub/Julia/SparseConnectivityTracer.jl/src/overload_hessian.jl:120
^(x::Number, p::Integer)
@ Base intfuncs.jl:311
Possible fix, define
^(::D, ::Integer) where {P, T<:SparseConnectivityTracer.HessianTracer, D<:SparseConnectivityTracer.Dual{P, T}}
Stacktrace:
[1] literal_pow
@ ./intfuncs.jl:351 [inlined]On the other side @amontoison those would be for you to investigate UndefVarError: `xe_turtle` not defined
Stacktrace:
[1] triangle_turtle(; kwargs::@Kwargs{})
@ OptimizationProblems.ADNLPProblems ~/.julia/packages/OptimizationProblems/nfPUU/src/ADNLPProblems/triangle.jl:72As well as plenty of errors of the form "expected |
Looks like the output isn't a tracer and therefore doesn't contain information about the Hessian.
Will fix. (EDIT: see #84) |
|
@amontoison I did some more investigation on the sparsity pattern discrepancies between us and JuMP:
In addition, we made it possible (in v0.5.0) to use global sparsity detection with control flow like To sum up, I think SCT is ready for use in NLPModels, with the caveat that some Hessian sparsity detections are very slow: the largest of the DetailsJacobian Hessian |
|
@gdalle can this be merged? |
|
Yep |
Fix #69
There are still disagreements between SCT and JuMP but I'm not sure we're wrong, so I've labeled them as broken tests
I also skip a few tests for which the NLP pipeline errors due to undefined variables