JuliaSmoothOptimizers / JuliaSmoothOptimizers/NLPModelsModifiers.jl

Error with SolverBenchmark

Open
#121 8 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
9
Forks
10
PR merge metrics
No merged PRs in 30d

Description

I am trying to benchmark solvers on a Diagonal Quasi-Newton Model. I get two issues:

1. I get `type DiagonalQNModel has no field counters`
2. When giving a Quasi-Newton Model to Ipopt, I get `MethodError : no method matching hess_structure!(::NLPModelsModifiers.DiagonalQNModel{...},...)`

Here is an example
```
using BenchmarkTools, Dates, LinearAlgebra, JLD2

using Percival, NLPModels, NLPModelsIpopt, SolverBenchmark, SolverCore, NLPModelsModifiers
using OptimizationProblems, ADNLPModels, OptimizationProblems.ADNLPProblems

meta = OptimizationProblems.meta
problem_names = meta[(meta.has_equalities_only.==1).&(meta.has_bounds.==0).&(meta.has_fixed_variables.==0).&(meta.variable_nvar.==0), :name]
problem_list = (SpectralGradientModel(eval(Meta.parse(name))(), σ=1.0) for name in problem_names)

solvers = Dict(
:ipopt =>
nlp -> ipopt(
nlp,
),
:percival =>
nlp -> percival(
nlp,
),
)

stats = bmark_solvers(solvers, problem_list)
```

There is no reason for not having a `hess_structure!` method at least for the DiagonalQNModel type because it is trivial. I can also add the counters as a field of the different structures if you think it is appropriate.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.