Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regularized model #54

Merged
merged 2 commits into from
May 27, 2024
Merged

Regularized model #54

merged 2 commits into from
May 27, 2024

Conversation

dpo
Copy link
Member

@dpo dpo commented Apr 23, 2024

This PR introduces the new types RegularizedNLPModel and RegularizedNLSModel. Both combine a smooth model with a nonsmooth regularizer into a single type. Usual NLPModel methods are defined for those types. The end objective is that running benchmarks with SolverBenchmarks will require problems to be specified as a single object (not f and h separately).

In addition, I add many setup_…() methods that predefine common problem combos (BPDN/ℓ0, FH/ℓ1, etc.). That should make it easier to run tests and benchmarks down the line. I had to slightly rework the interface of a few problems so they can be instantiated with default parameters when no input arguments are passed in. More precisely, you can call setup_bpdn_l0() with no arguments to get a problem of default size, but you can also pass in arguments accepted by bpdn_model() to change the size.

@rjbaraldi @MohamedLaghdafHABIBOULLAH @geoffroyleconte What do you think?

A type representing the problem as a whole is necessary in order
to run benchmarks with SolverBenchmark.jl.
@dpo dpo force-pushed the regularized-model branch from eb010c7 to 6a81d07 Compare April 23, 2024 04:01
Copy link

codecov bot commented Apr 23, 2024

Codecov Report

Attention: Patch coverage is 26.51515% with 97 lines in your changes are missing coverage. Please review.

Project coverage is 76.73%. Comparing base (85de184) to head (6a81d07).

❗ Current head 6a81d07 differs from pull request most recent head 10f6779. Consider uploading reports for the commit 10f6779 to get more accurate results

Files Patch % Lines
src/testset_svm.jl 0.00% 24 Missing ⚠️
src/testset_matrand.jl 0.00% 20 Missing ⚠️
src/testset_lrcomp.jl 0.00% 10 Missing ⚠️
src/testset_nnmf.jl 0.00% 10 Missing ⚠️
src/types.jl 56.52% 10 Missing ⚠️
src/testset_bpdn.jl 35.71% 9 Missing ⚠️
src/testset_fh.jl 0.00% 8 Missing ⚠️
src/testset_group_lasso.jl 0.00% 6 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main      #54       +/-   ##
===========================================
- Coverage   99.18%   76.73%   -22.46%     
===========================================
  Files          11       18        +7     
  Lines         369      490      +121     
===========================================
+ Hits          366      376       +10     
- Misses          3      114      +111     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@dpo dpo force-pushed the regularized-model branch from 6a81d07 to 10f6779 Compare April 23, 2024 18:46
@dpo dpo merged commit bc6a282 into main May 27, 2024
12 checks passed
@dpo dpo deleted the regularized-model branch May 27, 2024 15:37
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