JuliaSmoothOptimizers / JuliaSmoothOptimizers/RegularizedOptimization.jl

0 iteration while R2 is used as a subsolver in R2N

Open
#322 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
21
Forks
11
PR merge metrics
No merged PRs in 30d

Description

In some configuration, while R2 is used as a subsolver (in R2N in my case), the log display 0 iteration for R2 (see the screenshot). Nonetheless, one proximal step is compute : `prox!(s, ψ, mν∇fk, ν)` and `done = stats.status != :unknown` is True. Then the subsolver do not enter the loop but the incrementation of the iteration number is done in this loop.
In this case, display `inner = 0` is quite ambiguous because R2 does indeed perform a prox calculation. Maybe we can increment the number of iteration after the first proximal step calculation ?
Please find attached a simple exemple to reproduce the issue and a screenshot associated.

```
# Initialization
x0 = [-1.0, 2.0]

# Create a simple regularized optimization problem
f = x -> (1 - x[1])^2 + 100*(x[2] - x[1]^2)^2
f_model = ADNLPModel(f, x0)
h = NormL1(1.0)
f_model_lsr1 = LSR1Model(f_model)
regularized_pb_lsr1 = RegularizedNLPModel(f_model_lsr1, h)

# Solve the problem
solver = R2NSolver(regularized_pb_lsr1)
stats = RegularizedExecutionStats(regularized_pb_lsr1)
RegularizedOptimization.solve!(solver, regularized_pb_lsr1, stats, verbose = 1, atol = 1e-6, rtol = 1e-6)
```

Image

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.