Skip to content

Commit 9c22a3d

Browse files
authored
change name of package and organization (#74)
* change name of package and organization (fix docs)
1 parent 6ad8c33 commit 9c22a3d

File tree

13 files changed

+80
-74
lines changed

13 files changed

+80
-74
lines changed

LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
The ARCTR.jl package is licensed under the MIT "Expat" License:
1+
The AdaptiveRegularization.jl package is licensed under the MIT "Expat" License:
22

33
> Copyright (c) 2016: JPD.
44
>

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name = "ARCTR"
1+
name = "AdaptiveRegularization"
22
uuid = "79adfba0-1eab-50d9-8528-0589417a2bfe"
33
authors = ["Dussault, Jean-Pierre <[email protected] >, Goyette, Samuel <[email protected]>, Migot, Tangi <[email protected]>"]
44
version = "0.1.0"

README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
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
22

33
[![docs-stable][docs-stable-img]][docs-stable-url] [![docs-dev][docs-dev-img]][docs-dev-url] [![build-ci][build-ci-img]][build-ci-url] [![codecov][codecov-img]][codecov-url] [![release][release-img]][release-url]
44

55
[docs-stable-img]: https://img.shields.io/badge/docs-stable-blue.svg
6-
[docs-stable-url]: https://vepiteski.github.io/ARCTR.jl/stable
6+
[docs-stable-url]: https://JuliaSmoothOptimizers.github.io/AdaptiveRegularization.jl/stable
77
[docs-dev-img]: https://img.shields.io/badge/docs-dev-purple.svg
8-
[docs-dev-url]: https://vepiteski.github.io/ARCTR.jl/dev
9-
[build-ci-img]: https://github.com/vepiteski/ARCTR.jl/workflows/CI/badge.svg?branch=main
10-
[build-ci-url]: https://github.com/vepiteski/ARCTR.jl/actions
11-
[codecov-img]: https://codecov.io/gh/vepiteski/ARCTR.jl/branch/main/graph/badge.svg
12-
[codecov-url]: https://codecov.io/gh/vepiteski/ARCTR.jl
13-
[release-img]: https://img.shields.io/github/v/release/vepiteski/ARCTR.jl.svg?style=flat-square
14-
[release-url]: https://github.com/vepiteski/ARCTR.jl/releases
8+
[docs-dev-url]: https://JuliaSmoothOptimizers.github.io/AdaptiveRegularization.jl/dev
9+
[build-ci-img]: https://github.com/JuliaSmoothOptimizers/AdaptiveRegularization.jl/workflows/CI/badge.svg?branch=main
10+
[build-ci-url]: https://github.com/JuliaSmoothOptimizers/AdaptiveRegularization.jl/actions
11+
[codecov-img]: https://codecov.io/gh/JuliaSmoothOptimizers/AdaptiveRegularization.jl/branch/main/graph/badge.svg
12+
[codecov-url]: https://codecov.io/gh/JuliaSmoothOptimizers/AdaptiveRegularization.jl
13+
[release-img]: https://img.shields.io/github/v/release/JuliaSmoothOptimizers/AdaptiveRegularization.jl.svg?style=flat-square
14+
[release-url]: https://github.com/JuliaSmoothOptimizers/AdaptiveRegularization.jl/releases
1515

16-
ARCTR is a solver for unconstrained nonlinear problems,
16+
AdaptiveRegularization is a solver for unconstrained nonlinear problems,
1717

1818
min f(x)
1919

@@ -37,16 +37,16 @@ The initial implementation of this package follows (Dussault, J.-P. 2020):
3737
3838
## How to Cite
3939

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/#/ -->
4141

4242
## Installation
4343

44-
`pkg> add https://github.com/vepiteski/ARCTR.jl`
44+
`pkg> add https://github.com/JuliaSmoothOptimizers/AdaptiveRegularization.jl`
4545

4646
## Example
4747

4848
```julia
49-
using ARCTR, ADNLPModels
49+
using AdaptiveRegularization, ADNLPModels
5050

5151
# Rosenbrock
5252
nlp = ADNLPModel(x -> 100 * (x[2] - x[1]^2)^2 + (x[1] - 1)^2, [-1.2; 1.0])
@@ -55,7 +55,7 @@ stats = ARCqKOp(nlp)
5555

5656
# Bug reports and discussions
5757

58-
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).
5959
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.
6060

6161
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.

docs/Project.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,15 @@ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
55
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
66
GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71"
77
JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
8+
JSOSolvers = "10dff2fc-5484-5881-a0e0-c90441020f8a"
9+
Krylov = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7"
810
NLPModels = "a4795742-8479-5a88-8948-cc11e1c8c1a6"
911
NLPModelsIpopt = "f4238b75-b362-5c4c-b852-0801c9a21d71"
12+
OptimizationProblems = "5049e819-d29b-5fba-b941-0eee7e64c1c6"
1013
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
1114
SolverBenchmark = "581a75fa-a23a-52d0-a590-d6201de2218a"
1215
SolverCore = "ff4d7338-4cf1-434d-91df-b86cb86fb843"
1316

1417
[compat]
15-
ADNLPModels = "0.3"
18+
ADNLPModels = "0.4"
1619
Documenter = "0.27"

docs/make.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ ENV["GKSwstype"] = "100"
22
using ADNLPModels
33
using Documenter
44
using Printf
5-
using ARCTR
5+
using AdaptiveRegularization
66

77
pages = [
88
"Introduction" => "index.md",
@@ -12,14 +12,14 @@ pages = [
1212
]
1313

1414
makedocs(
15-
sitename = "ARCTR.jl",
15+
sitename = "AdaptiveRegularization.jl",
1616
format = Documenter.HTML(prettyurls = get(ENV, "CI", nothing) == "true"),
17-
modules = [ARCTR],
17+
modules = [AdaptiveRegularization],
1818
pages = pages,
1919
)
2020

2121
deploydocs(
22-
repo = "github.com/vepiteski/ARCTR.jl.git",
22+
repo = "github.com/JuliaSmoothOptimizers/AdaptiveRegularization.jl.git",
2323
push_preview = true,
2424
devbranch = "main",
2525
)

docs/src/benchmark.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,21 @@ using SolverBenchmark
1717
Let us select unconstrained problems from CUTEst with a maximum of 300 variables.
1818

1919
``` @example ex1
20-
nmax = 300
20+
nmax = 100
2121
pnames = CUTEst.select(contype = "unc", max_var = nmax)
2222
2323
cutest_problems = (CUTEstModel(p) for p in pnames)
2424
2525
length(cutest_problems) # number of problems
2626
```
2727

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.
2929

3030
``` @example ex1
31-
using ARCTR, JSOSolvers
31+
using AdaptiveRegularization, JSOSolvers
3232
3333
#Same time limit for all the solvers
34-
max_time = 1200. #20 minutes
34+
max_time = 60. #20 minutes
3535
atol, rtol = 1e-5, 1e-6
3636
3737
solvers = Dict(
@@ -62,7 +62,7 @@ using JLD2
6262
```
6363
The result of the benchmark can be explored via tables,
6464
``` @example ex1
65-
pretty_stats(stats[:arcqk])
65+
pretty_stats(stats[:ARCqK])
6666
```
6767
or it can also be used to make performance profiles.
6868
``` @example ex1
@@ -104,5 +104,5 @@ print_pp_column(:elapsed_time, stats) # with respect to time
104104
```
105105

106106
``` @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
108108
```

docs/src/doityourself.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
# Your own way
22

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.
44
This package implements by default some variants, but anyone can design its own and benchmark it against existing ones.
55

6+
```@example 1
7+
using AdaptiveRegularization, Krylov
8+
```
9+
610
The implemented variants are accessible here:
711
```@example 1
8-
ARCTR.ALL_solvers
12+
AdaptiveRegularization.ALL_solvers
913
```
1014

1115
To make your own variant we need to implement:
@@ -16,11 +20,7 @@ To make your own variant we need to implement:
1620
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.
1721

1822
```@example 1
19-
using ARCTR, Krylov
20-
```
21-
22-
```@example 1
23-
mutable struct PDataST{S,T} <: PData{T}
23+
mutable struct PDataST{S,T} <: AdaptiveRegularization.TPData{T}
2424
d::S # Mandatory: solution of the subproblem
2525
λ::T # Mandatory
2626
ζ::T # Inexact Newton order parameter: stop when ||∇q|| < ξ * ||g||^(1+ζ)
@@ -34,7 +34,7 @@ mutable struct PDataST{S,T} <: PData{T}
3434
solver::CgSolver # Memory pre-allocation for `cg_lanczos`
3535
end
3636
```
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.
3838
```@example 1
3939
function PDataST(
4040
::Type{S},
@@ -57,7 +57,7 @@ end
5757
```
5858
For our Steihaug-Toint implementation, we do not run any preprocess operation, so we use the default one.
5959
```@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, α)
6161
return PData
6262
end
6363
```
@@ -92,22 +92,21 @@ end
9292

9393
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`.
9494
```@example 1
95-
ST_TROp(nlp) = TRARC(nlp, pdata_type = PDataST, solve_model = solve_modelST_TR, hess_type = HessOp)
95+
ST_TROp(nlp; kwargs...) = TRARC(nlp, pdata_type = PDataST, solve_model = solve_modelST_TR, hess_type = HessOp; kwargs...)
9696
```
9797
Finally, we can apply our new method to any [`NLPModels`](https://github.com/JuliaSmoothOptimizers/NLPModels.jl).
9898
```@example 1
9999
using ADNLPModels, OptimizationProblems
100-
nlp = OptimizationProblems.ADNLPModels.arglina()
100+
nlp = OptimizationProblems.ADNLPProblems.arglina()
101101
ST_TROp(nlp)
102102
```
103103

104104
```@example 1
105-
using ADNLPModels, OptimizationProblems
106-
using NLPModels, LinearAlgebra
105+
using ADNLPModels, NLPModels, OptimizationProblems, SolverBenchmark
107106
108107
meta = OptimizationProblems.meta
109108
problems = meta[meta.variable_nvar .& (meta.ncon .== 0) .& .!(meta.has_bounds), :name]
110-
n = 300
109+
n = 150
111110
op_problems = (OptimizationProblems.ADNLPProblems.eval(Meta.parse(pb))(n = n) for pb in problems)
112111
113112
max_time = 120.0

docs/src/index.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff 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
22

3-
ARCTR is a solver for unconstrained nonlinear problems,
3+
AdaptiveRegularization is a solver for unconstrained nonlinear problems,
44

55
min f(x)
66

@@ -24,16 +24,16 @@ The initial implementation of this package follows (Dussault, J.-P. 2020):
2424
2525
## How to Cite
2626

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/#/ -->
2828

2929
## Installation
3030

31-
`pkg> add https://github.com/vepiteski/ARCTR.jl`
31+
`pkg> add https://github.com/JuliaSmoothOptimizers/AdaptiveRegularization.jl`
3232

3333
## Example
3434

3535
```julia
36-
using ARCTR, ADNLPModels
36+
using AdaptiveRegularization, ADNLPModels
3737

3838
# Rosenbrock
3939
nlp = ADNLPModel(x -> 100 * (x[2] - x[1]^2)^2 + (x[1] - 1)^2, [-1.2; 1.0])
@@ -42,7 +42,7 @@ stats = ARCqKOp(nlp)
4242

4343
# Bug reports and discussions
4444

45-
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).
4646
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.
4747

4848
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.

docs/src/reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ Pages = ["reference.md"]
1313
```
1414
1515
```@autodocs
16-
Modules = [ARCTR]
16+
Modules = [AdaptiveRegularization]
1717
```

src/ARCTR.jl renamed to src/AdaptiveRegularization.jl

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module ARCTR
1+
module AdaptiveRegularization
22

33
# stdlib
44
using LinearAlgebra, SparseArrays
@@ -64,7 +64,7 @@ For advanced usage, the principal call to the solver uses a [`TRARCWorkspace`](@
6464
6565
TRARC(stp, pdata, workspace, trust_region_parameters; kwargs...)
6666
67-
Some variants of TRARC are already implemented and listed in `ARCTR.ALL_solvers`.
67+
Some variants of TRARC are already implemented and listed in `AdaptiveRegularization.ALL_solvers`.
6868
6969
# References
7070
This method unifies the implementation of trust-region and adaptive regularization with cubics as described in
@@ -75,10 +75,14 @@ This method unifies the implementation of trust-region and adaptive regularizati
7575
10.1080/03155986.2019.1624490
7676
7777
# Examples
78+
7879
```jldoctest
79-
julia> using ARCTR, ADNLPModels
80-
julia> nlp = ADNLPModel(x -> 100 * (x[2] - x[1]^2)^2 + (x[1] - 1)^2, [-1.2; 1.0]);
81-
julia> stats = TRARC(nlp)
80+
using AdaptiveRegularization, ADNLPModels
81+
nlp = ADNLPModel(x -> 100 * (x[2] - x[1]^2)^2 + (x[1] - 1)^2, [-1.2; 1.0]);
82+
stats = TRARC(nlp)
83+
84+
# output
85+
8286
"Execution stats: first-order stationary"
8387
```
8488
"""

0 commit comments

Comments
 (0)