@@ -7,7 +7,9 @@ author: "Abel S. Siqueira"
77CaNNOLeS is a solver for equality-constrained nonlinear least-squares problems, i.e.,
88optimization problems of the form
99
10-     min ¹/₂‖F(x)‖²      s. to     c(x) = 0.
10+ $$
11+ \min \frac{1}{2}\|F(x)\|^2_2 \quad \text{s.to} \quad c(x) = 0.
12+ $$
1113
1214It uses other JuliaSmoothOptimizers packages for development.
1315In particular, [NLPModels.jl](https://github.com/JuliaSmoothOptimizers/NLPModels.jl) is used for defining the problem, and [SolverCore](https://github.com/JuliaSmoothOptimizers/SolverCore.jl) for the output.
@@ -24,26 +26,26 @@ Find below a list of the main options of `cannoles`.
2426
2527### Tolerances on the problem
2628
27- | Parameters           | Type          | Default         | Description                                        |
28- | -------------------- | ------------- | --------------- | -------------------------------------------------- |
29- | ϵtol                 | AbstractFloat | √eps(eltype(x)) | tolerance.                                          |
30- | unbounded_threshold  | AbstractFloat | -1e5            | below this threshold the problem is unbounded.      |
31- | max_f                | Integer       | 100000          | evaluation limit, e.g. `sum_counters(nls) > max_f` |
32- | max_time             | AbstractFloat | 30.              | maximum number of seconds.                          |
33- | max_inner            | Integer       | 10000           | maximum number of iterations.                       |
29+ | Parameters           | Type          | Default            | Description                                        |
30+ | -------------------- | ------------- | -----------------  | -------------------------------------------------- |
31+ | ϵtol                 | AbstractFloat | ` √eps(eltype(x))`  | tolerance                                           |
32+ | unbounded_threshold  | AbstractFloat | ` -1e5`             | below this threshold the problem is unbounded       |
33+ | max_f                | Integer       | ` 100000`           | evaluation limit, e.g. `sum_counters(nls) > max_f` |
34+ | max_time             | AbstractFloat | ` 30.0`             | maximum number of seconds                           |
35+ | max_inner            | Integer       | ` 10000`            | maximum number of iterations                        |
3436
3537### Algorithmic parameters
3638
37- | Parameters                  | Type           | Default           | Description                                        |
38- | --------------------------- | -------------- | ----------------- | -------------------------------------------------- |
39- | x                           | AbstractVector | copy( nls.meta.x0)  | initial guess.  |
40- | λ                           | AbstractVector | eltype(x)[]       | initial guess for the Lagrange mutlipliers.  |
41- | method                      | Symbol         | :Newton           | method to compute direction, `:Newton`, `:LM`, `:Newton_noFHess`, or `:Newton_vanishing`.  |
42- | merit                         | Symbol         | :auglag            | merit function : `:norm1 `, `:auglag ` |
43- | linsolve                     | Symbol          | :ma57              | solver use to compute the factorization: `:ma57`, `:ma97`, `:ldlfactorizations`  |
44- | check_small_residual        | Bool           | true              | |
45- | always_accept_extrapolation | Bool           | false             | |
46- | δdec                        | Real           | eltype(x)(0.1)    | |
39+ | Parameters                  | Type           | Default              | Description                                        |
40+ | --------------------------- | -------------- | -------------------  | -------------------------------------------------- |
41+ | x                           | AbstractVector | ` nls.meta.x0`        | initial guess |
42+ | λ                           | AbstractVector | ` eltype(x)[]`        | initial guess for the Lagrange mutlipliers |
43+ | method                      | Symbol         | ` :Newton`            | method to compute direction, `:Newton`, `:LM`, `:Newton_noFHess`, or `:Newton_vanishing` |
44+ | linsolve                     | Symbol         | `:ma57`              | solver use to compute the factorization : `:ma57 `, `:ma97`, `:ldlfactorizations ` |
45+ | verbose                      | Int             | `0`                  | if > 0, display iteration details every `verbose` iteration  |
46+ | check_small_residual        | Bool           | ` true`               | if `true`, stop whenever $ \|F(x)\|^2_2 \leq $ ``ϵtol`` and $ \|c(x)\|_\infty \leq $ ``√ϵtol``  |
47+ | always_accept_extrapolation | Bool           | ` false`              | if `true`, run even if the extrapolation step fails  |
48+ | δdec                        | Real           | ` eltype(x)(0.1)`     | reducing factor on the parameter `δ`  |
4749
4850## Examples
4951
@@ -65,5 +67,5 @@ nls = ADNLSModel(
6567  [0.0],
6668  [0.0],
6769)
68- stats = cannoles(nls, max_time = 10., merit  = :auglag )
70+ stats = cannoles(nls, max_time = 10., linsolve  = :ldlfactorizations )
6971```
0 commit comments