Skip to content

Conversation

@geoffroyleconte
Copy link
Member

I changed the algorithms so that it is possible to set some specific tolerances in the subsolver_options. I did a slight modification in the default subsolver_options so that it keeps the existing behaviour.

It allowed me to find better parameter for the benchmarks.

I also updated the stopping criterion in TRDH so that it handles negative (but small) ξ1 or ξ values, and fixed what I think is a bug in R2 with the neg_tol parameter (which is always positive).

@codecov
Copy link

codecov bot commented Mar 10, 2023

Codecov Report

Patch coverage: 93.33% and project coverage change: +0.62 🎉

Comparison is base (a82c768) 57.47% compared to head (fd5f874) 58.10%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #93      +/-   ##
==========================================
+ Coverage   57.47%   58.10%   +0.62%     
==========================================
  Files          11       11              
  Lines        1204     1222      +18     
==========================================
+ Hits          692      710      +18     
  Misses        512      512              
Impacted Files Coverage Δ
src/TRDH_alg.jl 80.40% <66.66%> (+0.09%) ⬆️
src/LMTR_alg.jl 88.53% <100.00%> (+0.45%) ⬆️
src/LM_alg.jl 89.74% <100.00%> (+0.41%) ⬆️
src/R2_alg.jl 89.55% <100.00%> (ø)
src/TR_alg.jl 87.75% <100.00%> (+0.43%) ⬆️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@github-actions
Copy link
Contributor

Here are the
demos-results

Copy link
Member

@dpo dpo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! Can we use TRDH inside LM and LMTR now?


f = LSR1Model(model)
λ = norm(grad(model, zeros(model.meta.nvar)), Inf) / 10
λ = 1.0e-1 # norm(grad(model, zeros(model.meta.nvar)), Inf) / 10
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the results very different if you leave the default lambda ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not that much, I updated the tables and the benchmarks in the article.


verbose = 0 # 10
ϵ = 1.0e-6
ϵ = 1.0e-5
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this one used?

Copy link
Member Author

@geoffroyleconte geoffroyleconte Mar 13, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is the tolerance for $\epsilon_a$ and $\epsilon_r$ of the outer solvers.

@geoffroyleconte
Copy link
Member Author

Thank you! Can we use TRDH inside LM and LMTR now?

Not at the moment be this would be a very minor change to make them work. I can do it in my next PR once this one is merged.

@github-actions
Copy link
Contributor

Here are the
demos-results

options3 = ROSolverOptions(spectral = false, psb = false, ϵa = ϵi, ϵr = ϵri, maxIter = maxIter_inner)
options3bis = ROSolverOptions(spectral = false, psb = false, ϵa = ϵi, ϵr = ϵri, maxIter = maxIter_inner, reduce_TR = false)
options4 = ROSolverOptions(spectral = true, ϵa = ϵi, ϵr = ϵri, maxIter = maxIter_inner)
options4bis =
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's give all these options descriptive names and avoid "bis" (it's French and will confuse non-French speakers).

@github-actions
Copy link
Contributor

Here are the
demos-results

@geoffroyleconte geoffroyleconte merged commit 2ea2780 into JuliaSmoothOptimizers:master Mar 24, 2023
@geoffroyleconte geoffroyleconte deleted the subsolver-tol branch March 24, 2023 17:03
@github-actions
Copy link
Contributor

Here are the
demos-results

rjbaraldi pushed a commit that referenced this pull request May 19, 2023
* tune inner solver parameters, fix error negative tol

* improve tables, change test parameters, modif demos

* keep default value bpdn

* update tables parameters

* update parameters name noredTR
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants