Skip to content

Commit 470f236

Browse files
MaxenceGollierdpo
andcommitted
Apply suggestions from code review
Co-authored-by: Dominique <dominique.orban@gmail.com>
1 parent 7d40b0f commit 470f236

2 files changed

Lines changed: 11 additions & 10 deletions

File tree

paper/examples/Benchmark.tex

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
\begin{tabular}{lcrrrrr}
1+
\begin{tabular}{llrrrrr}
22
\hline
3-
\textbf{Method} & \textbf{Status} & \textbf{$t$($s$)} & \textbf{$\#f$} & \textbf{$\#\nabla f$} & \textbf{$\#prox$} & \textbf{Objective} \\\hline
3+
Method & Status & $t$($s$) & $\#f$ & $\#\nabla f$ & $\#prox$ & Objective \\\hline
44
TR & first\_order & 3.9349 & 347 & 291 & 4037 & 179.837 \\
55
R2N & first\_order & 1.9511 & 185 & 101 & 27932 & 192.493 \\
66
LM & first\_order & 19.7826 & 6 & 2876 & 1001 & 201.186 \\
77
LMTR & first\_order & 12.4967 & 11 & 1614 & 432 & 188.274 \\
8+
\hline
89
\end{tabular}

paper/paper.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ header-includes: |
3737
\underset{x \in \mathbb{R}^n}{\text{minimize}} \quad f(x) + h(x) \quad \text{subject to} \quad c(x) = 0,
3838
\end{equation}
3939
where $f: \mathbb{R}^n \to \mathbb{R}$ and $c: \mathbb{R}^n \to \mathbb{R}^m$ are continuously differentiable, and $h: \mathbb{R}^n \to \mathbb{R} \cup \{+\infty\}$ is lower semi-continuous.
40-
The nonsmooth objective $h$ can be a *regularizer* such as a sparsity-inducing penalty, model simple constraints such as $x$ belonging to a simple convex set, or be a combination of both.
40+
The nonsmooth objective $h$ can be a *regularizer*, such as a sparsity-inducing penalty, model simple constraints, such as $x$ belonging to a simple convex set, or be a combination of both.
4141
All $f$, $h$ and $c$ can be nonconvex.
4242
RegularizedOptimization.jl provides a modular and extensible framework for solving \eqref{eq:nlp}, and developing novel solvers.
4343
Currently, the following solvers are implemented:
@@ -54,7 +54,7 @@ At each iteration, a step is computed by solving a subproblem of the form \eqref
5454
The solvers R2, R2DH and TRDH are particularly well suited to solve the subproblems, though they are general enough to solve \eqref{eq:nlp}.
5555
All solvers are implemented in place, so re-solves incur no allocations.
5656
To illustrate our claim of extensibility, a first version of the AL solver was implemented by an external contributor.
57-
Furthermore, a nonsmooth penalty approach, described in [@diouane-gollier-orban-2024] is currently being developed, relying on the library’s solvers to efficiently solve its subproblems.
57+
Furthermore, a nonsmooth penalty approach, described in [@diouane-gollier-orban-2024] is currently being developed, that relies on the library to efficiently solve the subproblems.
5858

5959
<!-- ## Requirements of the ShiftedProximalOperators.jl -->
6060
<!---->
@@ -68,7 +68,7 @@ Furthermore, a nonsmooth penalty approach, described in [@diouane-gollier-orban-
6868
## Model-based framework for nonsmooth methods
6969

7070
In Julia, \eqref{eq:nlp} can be solved using [ProximalAlgorithms.jl](https://github.com/JuliaFirstOrder/ProximalAlgorithms.jl), which implements splitting schemes and line-search–based methods [@stella-themelis-sopasakis-patrinos-2017;@themelis-stella-patrinos-2017].
71-
Among others, the **PANOC** [@stella-themelis-sopasakis-patrinos-2017] solver takes a step along a direction $d$, which depends on the L-BFGS Quasi-Newton approximation of $f$, followed by proximal steps on $h$.
71+
Among others, the **PANOC** [@stella-themelis-sopasakis-patrinos-2017] solver takes a step along a direction $d$, which depends on the L-BFGS quasi-Newton approximation of $f$, followed by proximal steps on $h$.
7272

7373
By contrast, [RegularizedOptimization.jl](https://github.com/JuliaSmoothOptimizers/RegularizedOptimization.jl) focuses on model-based trust-region and quadratic regularization methods, which typically require fewer evaluations of $f$ and its gradient than first-order line search methods, at the expense of more evaluations of proximal operators [@aravkin-baraldi-orban-2022].
7474
However, each proximal computation is inexpensive for numerous commonly used choices of $h$, such as separable penalties and bound constraints, so that the overall approach is efficient for large-scale problems.
@@ -85,14 +85,14 @@ Given $f$ and $h$, the companion package [RegularizedProblems.jl](https://github
8585
reg_nlp = RegularizedNLPModel(f, h)
8686
```
8787

88-
They can also be paired into a *Regularized Nonlinear Least Squares Model* if $f(x) = \tfrac{1}{2} \|F(x)\|^2$ for some residual $F: \mathbb{R}^n \to \mathbb{R}^m$, in the case of the **LM** and **LMTR** solvers.
88+
They can also be paired into a *Regularized Nonlinear Least-Squares Model* if $f(x) = \tfrac{1}{2} \|F(x)\|^2$ for some residual $F: \mathbb{R}^n \to \mathbb{R}^m$, in the case of the **LM** and **LMTR** solvers.
8989

9090
```julia
9191
reg_nls = RegularizedNLSModel(F, h)
9292
```
9393

9494
RegularizedProblems.jl also provides a set of instances commonly used in data science and in nonsmooth optimization, where several choices of $f$ can be paired with various regularizers.
95-
This design makes for a convenient source of reproducible problem instances for benchmarking the solvers in [RegularizedOptimization.jl](https://www.github.com/JuliaSmoothOptimizers/RegularizedOptimization.jl).
95+
This design makes for a convenient source of problem instances for benchmarking the solvers in [RegularizedOptimization.jl](https://www.github.com/JuliaSmoothOptimizers/RegularizedOptimization.jl).
9696

9797
## Support for both exact and approximate Hessian
9898

@@ -105,7 +105,7 @@ This design allows solvers to exploit second-order information without explicitl
105105

106106
We illustrate the capabilities of [RegularizedOptimization.jl](https://github.com/JuliaSmoothOptimizers/RegularizedOptimization.jl) on a Support Vector Machine (SVM) model with a $\ell_{1/2}^{1/2}$ penalty for image classification [@aravkin-baraldi-orban-2024].
107107

108-
Below is a condensed example showing how to define and solve an SVM problem, and perform a solve followed by a re-solve:
108+
Below is a condensed example showing how to define and solve the problem, and perform a solve followed by a re-solve:
109109

110110
```julia
111111
using LinearAlgebra, Random, ProximalOperators
@@ -139,9 +139,9 @@ For the **LM** and **LMTR** solvers, $\#\nabla f$ counts the number of Jacobian
139139
All methods successfully reduced the optimality measure below the specified tolerance of $10^{-4}$, and thus converged to an approximate first-order stationary point.
140140
Note that the final objective values differ due to the nonconvexity of the problem.
141141

142-
**R2N** is the fastest, requiring the fewest gradient evaluations.
142+
**R2N** is the fastest in terms of time and number of gradient evaluations.
143143
However, it requires more proximal evaluations, but these are inexpensive.
144-
**LMTR** and **LM** require the fewest function evaluations, but incur many Jacobian–vector products, and are the slowest.
144+
**LMTR** and **LM** require the fewest function evaluations, but incur many Jacobian–vector products, and are the slowest in terms of time.
145145

146146
Ongoing research aims to reduce the number of proximal evaluations.
147147

0 commit comments

Comments
 (0)