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)

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, ν)anddone = stats.status != :unknownis 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 = 0is 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.