You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ARCTR is a solver for unconstrained nonlinear problems,
16
+
AdaptiveRegularization is a solver for unconstrained nonlinear problems,
17
17
18
18
min f(x)
19
19
@@ -37,16 +37,16 @@ The initial implementation of this package follows (Dussault, J.-P. 2020):
37
37
38
38
## How to Cite
39
39
40
-
If you use ARCTR.jl in your work, please cite using the format given in [CITATION.cff](https://github.com/vepiteski/ARCTR.jl/blob/main/CITATION.cff). <!--https://citation-file-format.github.io/cff-initializer-javascript/#/ -->
40
+
If you use AdaptiveRegularization.jl in your work, please cite using the format given in [CITATION.cff](https://github.com/JuliaSmoothOptimizers/AdaptiveRegularization.jl/blob/main/CITATION.cff). <!--https://citation-file-format.github.io/cff-initializer-javascript/#/ -->
If you think you found a bug, feel free to open an [issue](https://github.com/vepiteski/ARCTR.jl/issues).
58
+
If you think you found a bug, feel free to open an [issue](https://github.com/JuliaSmoothOptimizers/AdaptiveRegularization.jl/issues).
59
59
Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.
60
60
61
61
If you want to ask a question not suited for a bug report, feel free to start a discussion [here](https://github.com/JuliaSmoothOptimizers/Organization/discussions). This forum is for general discussion about this repository and the [JuliaSmoothOptimizers](https://github.com/JuliaSmoothOptimizers), so questions about any of our packages are welcome.
cutest_problems = (CUTEstModel(p) for p in pnames)
24
24
25
25
length(cutest_problems) # number of problems
26
26
```
27
27
28
-
We compare here ARCTR with `trunk` from [`JSOSolvers.jl`](https://github.com/JuliaSmoothOptimizers/JSOSolvers.jl/) on a subset of CUTEst problems.
28
+
We compare here AdaptiveRegularization with `trunk` from [`JSOSolvers.jl`](https://github.com/JuliaSmoothOptimizers/JSOSolvers.jl/) on a subset of CUTEst problems.
29
29
30
30
```@example ex1
31
-
using ARCTR, JSOSolvers
31
+
using AdaptiveRegularization, JSOSolvers
32
32
33
33
#Same time limit for all the solvers
34
-
max_time = 1200. #20 minutes
34
+
max_time = 60. #20 minutes
35
35
atol, rtol = 1e-5, 1e-6
36
36
37
37
solvers = Dict(
@@ -62,7 +62,7 @@ using JLD2
62
62
```
63
63
The result of the benchmark can be explored via tables,
64
64
```@example ex1
65
-
pretty_stats(stats[:arcqk])
65
+
pretty_stats(stats[:ARCqK])
66
66
```
67
67
or it can also be used to make performance profiles.
68
68
```@example ex1
@@ -104,5 +104,5 @@ print_pp_column(:elapsed_time, stats) # with respect to time
104
104
```
105
105
106
106
```@example ex1
107
-
print_pp_column(:neval_jac, stats) # with respect to number of jacobian evaluations
107
+
print_pp_column(:neval_hprod, stats) # with respect to number of Hession-vector products
Copy file name to clipboardExpand all lines: docs/src/doityourself.md
+13-14Lines changed: 13 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,15 @@
1
1
# Your own way
2
2
3
-
`ARCTR.jl` implements an unified algorithm for trust-region methods and adaptive regularization with cubics.
3
+
`AdaptiveRegularization.jl` implements an unified algorithm for trust-region methods and adaptive regularization with cubics.
4
4
This package implements by default some variants, but anyone can design its own and benchmark it against existing ones.
5
5
6
+
```@example 1
7
+
using AdaptiveRegularization, Krylov
8
+
```
9
+
6
10
The implemented variants are accessible here:
7
11
```@example 1
8
-
ARCTR.ALL_solvers
12
+
AdaptiveRegularization.ALL_solvers
9
13
```
10
14
11
15
To make your own variant we need to implement:
@@ -16,11 +20,7 @@ To make your own variant we need to implement:
16
20
In the rest of this tutorial, we implement a Steihaug-Toint trust-region method using `cg_lanczos` from [`Krylov.jl`](https://github.com/JuliaSmoothOptimizers/Krylov.jl) to solve the linear subproblem with trust-region constraint.
solver::CgSolver # Memory pre-allocation for `cg_lanczos`
35
35
end
36
36
```
37
-
The `PData` stuctures have a unified constructor with `(::Type{S}, ::Type{T}, n)` as arguments.
37
+
The `TPData` stuctures have a unified constructor with `(::Type{S}, ::Type{T}, n)` as arguments.
38
38
```@example 1
39
39
function PDataST(
40
40
::Type{S},
@@ -57,7 +57,7 @@ end
57
57
```
58
58
For our Steihaug-Toint implementation, we do not run any preprocess operation, so we use the default one.
59
59
```@example 1
60
-
function ARCTR.preprocess(PData::TPData, H, g, gNorm2, n1, n2, α)
60
+
function AdaptiveRegularization.preprocess(PData::AdaptiveRegularization.TPData, H, g, gNorm2, n1, n2, α)
61
61
return PData
62
62
end
63
63
```
@@ -92,22 +92,21 @@ end
92
92
93
93
We can now proceed with the main solver call specifying the used `pdata_type` and `solve_model`. Since, `Krylov.cg_lanczos` only uses matrix-vector products, it is sufficient to evaluate the Hessian matrix as an operator, so we provide `hess_type = HessOp`.
Copy file name to clipboardExpand all lines: docs/src/index.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
# ARCTR : A unified efficient implementation of trust-region type algorithms for unconstrained optimization
1
+
# AdaptiveRegularization : A unified efficient implementation of trust-region type algorithms for unconstrained optimization
2
2
3
-
ARCTR is a solver for unconstrained nonlinear problems,
3
+
AdaptiveRegularization is a solver for unconstrained nonlinear problems,
4
4
5
5
min f(x)
6
6
@@ -24,16 +24,16 @@ The initial implementation of this package follows (Dussault, J.-P. 2020):
24
24
25
25
## How to Cite
26
26
27
-
If you use ARCTR.jl in your work, please cite using the format given in [CITATION.cff](https://github.com/vepiteski/ARCTR.jl/blob/main/CITATION.cff). <!--https://citation-file-format.github.io/cff-initializer-javascript/#/ -->
27
+
If you use AdaptiveRegularization.jl in your work, please cite using the format given in [CITATION.cff](https://github.com/JuliaSmoothOptimizers/AdaptiveRegularization.jl/blob/main/CITATION.cff). <!--https://citation-file-format.github.io/cff-initializer-javascript/#/ -->
If you think you found a bug, feel free to open an [issue](https://github.com/vepiteski/ARCTR.jl/issues).
45
+
If you think you found a bug, feel free to open an [issue](https://github.com/JuliaSmoothOptimizers/AdaptiveRegularization.jl/issues).
46
46
Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.
47
47
48
48
If you want to ask a question not suited for a bug report, feel free to start a discussion [here](https://github.com/JuliaSmoothOptimizers/Organization/discussions). This forum is for general discussion about this repository and the [JuliaSmoothOptimizers](https://github.com/JuliaSmoothOptimizers), so questions about any of our packages are welcome.
0 commit comments