JuliaSmoothOptimizers / JuliaSmoothOptimizers/Percival.jl
Percival kwargs not accepted by TRON on unconstrained problems
- Dominant language
- Julia
- Stars
- 61
- Forks
- 17
- PR merge metrics
- No merged PRs in 30d
Description
```julia
using ADNLPModels, Percival
nlp = ADNLPModel(x -> (x[1] - 1)^2 + 100 * (x[2] - x[1]^2)^2, [-1.2; 1.0])
output = percival(nlp, μ = 10.0, ctol = 1e-1)
```
```
ERROR: MethodError: no method matching solve!(::JSOSolvers.TronSolver{…}, ::ADNLPModel{…}, ::SolverCore.GenericExecutionStats{…}; x::Vector{…}, atol::Float64, rtol::Float64, max_iter::Int64, max_eval::Int64, max_time::Float64, verbose::Int64, μ::Float64, callback::Percival.var"#5#7", ctol::Float64)
Closest candidates are:
solve!(::JSOSolvers.TronSolver{T, V, Op, Aop} where {Op<:LinearOperators.AbstractLinearOperator{T}, Aop<:LinearOperators.AbstractLinearOperator{T}}, ::NLPModels.AbstractNLPModel{T, V}, ::SolverCore.GenericExecutionStats{T, V}; callback, x, μ₀, μ₁, σ, max_eval, max_iter, max_time, max_cgiter, use_only_objgrad, cgtol, atol, rtol, verbose, subsolver_verbose) where {T, V<:AbstractVector{T}} got unsupported keyword arguments "μ", "ctol"
```
This comes from the kwargs of the unconstrained-variant or its call to TRON https://github.com/JuliaSmoothOptimizers/Percival.jl/blob/953f3308106722cc7cb3d6714f52fe126fcb8081/src/method.jl#L18
Contributor guide
Research direction
Start at src/method.jl around line 18 and reproduce the unconstrained Percival example from the issue. Trace how its keyword arguments are forwarded to the TRON solve! call, especially μ and ctol, and verify that the example no longer fails with unsupported-keyword errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- backend-api-design
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100