Skip to content

Commit f71b854

Browse files
committed
First version of html docs
1 parent dc4f04d commit f71b854

23 files changed

+186
-151
lines changed

docs/advanced.rst

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,14 +104,22 @@ Dynamically Growing Initial Set
104104
* :code:`growing.num_new_dirns_each_iter` - Number of new search directions to add with each iteration where we do not have a full set of search directions. Default is 0, as this approach is not recommended.
105105

106106
Dykstra's Algorithm
107-
-------------------------------
107+
-------------------
108108
* :code:`dykstra.d_tol` - Tolerance on the stopping conditions of Dykstra's algorithm. Default is :math:`10^{-10}`.
109109
* :code:`dykstra.max_iters` - The maximum number of iterations Dykstra's algorithm is allowed to take before stopping. Default is :math:`100`.
110110

111111
Checking Matrix Rank
112-
-------------------------------
112+
--------------------
113113
* :code:`matrix_rank.r_tol` - Tolerance on what is the smallest posisble diagonal entry value in the QR factorization before being considered zero. Default is :math:`10^{-18}`.
114114

115+
Handling regularizer
116+
--------------------
117+
* :code:`func_tol.criticality_measure` - scale factor (of the current trust-region radius) to determine the accuracy of the calculated criticality/stationarity measure (smaller means more accurate). Default is :math:`10^{-3}`.
118+
* :code:`func_tol.tr_step` - scale factor to determine the accuracy of the trust-region step (smaller is less accurate). Default is :math:`0.9`.
119+
* :code:`func_tol.max_iters` - maximum number of subproblem (S-FISTA) iterations. Default is 500.
120+
* :code:`sfista.max_iters_scaling` - by what factor to increase the minimum number of subproblem (S-FISTA) iterations. Must be at least 1. Default is 2.
121+
122+
115123

116124
References
117125
----------
3.12 KB
Binary file not shown.
27.4 KB
Binary file not shown.

docs/build/doctrees/index.doctree

4.91 KB
Binary file not shown.

docs/build/doctrees/info.doctree

2.55 KB
Binary file not shown.
-2.17 KB
Binary file not shown.
12.5 KB
Binary file not shown.

docs/build/html/_sources/advanced.rst.txt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,14 +104,22 @@ Dynamically Growing Initial Set
104104
* :code:`growing.num_new_dirns_each_iter` - Number of new search directions to add with each iteration where we do not have a full set of search directions. Default is 0, as this approach is not recommended.
105105

106106
Dykstra's Algorithm
107-
-------------------------------
107+
-------------------
108108
* :code:`dykstra.d_tol` - Tolerance on the stopping conditions of Dykstra's algorithm. Default is :math:`10^{-10}`.
109109
* :code:`dykstra.max_iters` - The maximum number of iterations Dykstra's algorithm is allowed to take before stopping. Default is :math:`100`.
110110

111111
Checking Matrix Rank
112-
-------------------------------
112+
--------------------
113113
* :code:`matrix_rank.r_tol` - Tolerance on what is the smallest posisble diagonal entry value in the QR factorization before being considered zero. Default is :math:`10^{-18}`.
114114

115+
Handling regularizer
116+
--------------------
117+
* :code:`func_tol.criticality_measure` - scale factor (of the current trust-region radius) to determine the accuracy of the calculated criticality/stationarity measure (smaller means more accurate). Default is :math:`10^{-3}`.
118+
* :code:`func_tol.tr_step` - scale factor to determine the accuracy of the trust-region step (smaller is less accurate). Default is :math:`0.9`.
119+
* :code:`func_tol.max_iters` - maximum number of subproblem (S-FISTA) iterations. Default is 500.
120+
* :code:`sfista.max_iters_scaling` - by what factor to increase the minimum number of subproblem (S-FISTA) iterations. Must be at least 1. Default is 2.
121+
122+
115123

116124
References
117125
----------

docs/build/html/_sources/index.rst.txt

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,26 @@ DFO-LS: Derivative-Free Optimizer for Least-Squares Minimization
1111

1212
**Author:** `Lindon Roberts <[email protected]>`_
1313

14-
DFO-LS is a flexible package for finding local solutions to nonlinear least-squares minimization problems (with optional constraints), without requiring any derivatives of the objective. DFO-LS stands for Derivative-Free Optimizer for Least-Squares.
14+
DFO-LS is a flexible package for finding local solutions to nonlinear least-squares minimization problems (with optional regularizer and constraints), without requiring any derivatives of the objective. DFO-LS stands for Derivative-Free Optimizer for Least-Squares.
1515

1616
That is, DFO-LS solves
1717

1818
.. math::
1919
20-
\min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 \\
21-
\text{s.t.} &\quad x \in C\\
22-
&\quad a \leq x \leq b
20+
\min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 + h(x) \\
21+
\text{s.t.} &\quad a \leq x \leq b\\
22+
&\quad x \in C := C_1 \cap \cdots \cap C_n, \quad \text{all $C_i$ convex}\\
2323
24-
The constraint set :math:`C` is the intersection of multiple convex sets provided as input by the user. All constraints are non-relaxable (i.e. DFO-LS will never ask to evaluate a point that is not feasible).
24+
The optional regularizer :math:`h(x)` is a Lipschitz continuous and convex, but possibly non-differentiable function that is typically used to avoid overfitting.
25+
A common choice is :math:`h(x)=\lambda \|x\|_1` (called L1 regularization or LASSO) for :math:`\lambda>0`.
26+
Note that in the case of Tikhonov regularization/ridge regression, :math:`h(x)=\lambda\|x\|_2^2` is not Lipschitz continuous, so should instead be incorporated by adding an extra term into the least-squares sum, :math:`r_{m+1}(x)=\sqrt{\lambda} \|x\|_2`.
27+
The (optional) constraint set :math:`C` is the intersection of multiple convex sets provided as input by the user. All constraints are non-relaxable (i.e. DFO-LS will never ask to evaluate a point that is not feasible), although the general constraints :math:`x\in C` may be slightly violated from rounding errors.
2528

2629
Full details of the DFO-LS algorithm are given in our papers:
2730

28-
* C. Cartis, J. Fiala, B. Marteau and L. Roberts, `Improving the Flexibility and Robustness of Model-Based Derivative-Free Optimization Solvers <https://doi.org/10.1145/3338517>`_, *ACM Transactions on Mathematical Software*, 45:3 (2019), pp. 32:1-32:41 [`preprint <https://arxiv.org/abs/1804.00154>`_] .
29-
* Hough, M. and Roberts, L., `Model-Based Derivative-Free Methods for Convex-Constrained Optimization <https://doi.org/10.1137/21M1460971>`_, *SIAM Journal on Optimization*, 21:4 (2022), pp. 2552-2579 [`preprint <https://arxiv.org/abs/2111.05443>`_].
31+
1. C. Cartis, J. Fiala, B. Marteau and L. Roberts, `Improving the Flexibility and Robustness of Model-Based Derivative-Free Optimization Solvers <https://doi.org/10.1145/3338517>`_, *ACM Transactions on Mathematical Software*, 45:3 (2019), pp. 32:1-32:41 [`preprint <https://arxiv.org/abs/1804.00154>`_] .
32+
2. M. Hough, and L. Roberts, `Model-Based Derivative-Free Methods for Convex-Constrained Optimization <https://doi.org/10.1137/21M1460971>`_, *SIAM Journal on Optimization*, 21:4 (2022), pp. 2552-2579 [`preprint <https://arxiv.org/abs/2111.05443>`_].
33+
3. Y. Liu, K. H. Lam and L. Roberts, `Black-box Optimization Algorithms for Regularized Least-squares Problems <http://arxiv.org/abs/2407.14915>`_, *arXiv preprint arXiv:arXiv:2407.14915*, 2024.
3034

3135
DFO-LS is a more flexible version of `DFO-GN <https://github.com/numericalalgorithmsgroup/dfogn>`_.
3236

@@ -48,5 +52,4 @@ DFO-LS is released under the GNU General Public License. Please `contact NAG <ht
4852

4953
Acknowledgements
5054
----------------
51-
This software was initially developed under the supervision of `Coralia Cartis <https://www.maths.ox.ac.uk/people/coralia.cartis>`_, and was supported by the EPSRC Centre For Doctoral Training in `Industrially Focused Mathematical Modelling <https://www.maths.ox.ac.uk/study-here/postgraduate-study/industrially-focused-mathematical-modelling-epsrc-cdt>`_ (EP/L015803/1) in collaboration with the `Numerical Algorithms Group <http://www.nag.com/>`_.
52-
55+
This software was initially developed under the supervision of `Coralia Cartis <https://www.maths.ox.ac.uk/people/coralia.cartis>`_, and was supported by the EPSRC Centre For Doctoral Training in `Industrially Focused Mathematical Modelling <https://www.maths.ox.ac.uk/study-here/postgraduate-study/industrially-focused-mathematical-modelling-epsrc-cdt>`_ (EP/L015803/1) in collaboration with the `Numerical Algorithms Group <http://www.nag.com/>`_. Development of DFO-LS has also been supported by the Australian Research Council (DE240100006).

docs/build/html/_sources/info.rst.txt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ DFO-LS is designed to solve the nonlinear least-squares minimization problem (wi
77

88
.. math::
99
10-
\min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 \\
11-
\text{s.t.} &\quad x \in C\\
12-
&\quad a \leq x \leq b
10+
\min_{x\in\mathbb{R}^n} &\quad f(x) := \sum_{i=1}^{m}r_{i}(x)^2 + h(x) \\
11+
\text{s.t.} &\quad a \leq x \leq b\\
12+
&\quad x \in C := C_1 \cap \cdots \cap C_n, \quad \text{all $C_i$ convex}
1313
14-
We call :math:`f(x)` the objective function and :math:`r_i(x)` the residual functions (or simply residuals).
14+
We call :math:`f(x)` the objective function, :math:`r_i(x)` the residual functions (or simply residuals), and :math:`h(x)` the regularizer.
1515
:math:`C` is the intersection of multiple convex sets given as input by the user.
1616

1717
DFO-LS is a *derivative-free* optimization algorithm, which means it does not require the user to provide the derivatives of :math:`f(x)` or :math:`r_i(x)`, nor does it attempt to estimate them internally (by using finite differencing, for instance).
@@ -86,7 +86,7 @@ At each step, we compute a trial step :math:`s_k` designed to make our approxima
8686

8787
In DFO-LS, we construct our approximation :math:`m_k(s)` by interpolating a linear approximation for each residual :math:`r_i(x)` at several points close to :math:`x_k`. To make sure our interpolated model is accurate, we need to regularly check that the points are well-spaced, and move them if they aren't (i.e. improve the geometry of our interpolation points).
8888

89-
A complete description of the DFO-LS algorithm is given in our papers [CFMR2018]_ and [HR2022]_.
89+
A complete description of the DFO-LS algorithm is given in our papers [CFMR2018]_, [HR2022]_ and [LLR2024]_.
9090

9191
References
9292
----------
@@ -95,4 +95,7 @@ References
9595
Coralia Cartis, Jan Fiala, Benjamin Marteau and Lindon Roberts, `Improving the Flexibility and Robustness of Model-Based Derivative-Free Optimization Solvers <https://doi.org/10.1145/3338517>`_, *ACM Transactions on Mathematical Software*, 45:3 (2019), pp. 32:1-32:41 [`preprint <https://arxiv.org/abs/1804.00154>`_]
9696
9797
.. [HR2022]
98-
Hough, M. and Roberts, L., `Model-Based Derivative-Free Methods for Convex-Constrained Optimization <https://doi.org/10.1137/21M1460971>`_, *SIAM Journal on Optimization*, 21:4 (2022), pp. 2552-2579 [`preprint <https://arxiv.org/abs/2111.05443>`_].
98+
Matthew Hough and Lindon Roberts, `Model-Based Derivative-Free Methods for Convex-Constrained Optimization <https://doi.org/10.1137/21M1460971>`_, *SIAM Journal on Optimization*, 21:4 (2022), pp. 2552-2579 [`preprint <https://arxiv.org/abs/2111.05443>`_].
99+
100+
.. [LLR2024]
101+
Yanjun Liu, Kevin H. Lam and Lindon Roberts, `Black-box Optimization Algorithms for Regularized Least-squares Problems <http://arxiv.org/abs/2407.14915>`_, *arXiv preprint arXiv:2407.14915* (2024).

0 commit comments

Comments
 (0)