Skip to content
Draft
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,34 @@ uuid = "10dff2fc-5484-5881-a0e0-c90441020f8a"
version = "0.14.3"

[deps]
HSL = "34c5aeac-e683-54a6-a0e9-6e0fdc586c50"
HSL_jll = "017b0a0e-03f4-516a-9b91-836bbd1904dd"
Krylov = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
LinearOperators = "5c8ed15e-5a4c-59e4-a42b-c7e8811fb125"
Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
NLPModels = "a4795742-8479-5a88-8948-cc11e1c8c1a6"
NLPModelsModifiers = "e01155f1-5c6f-4375-a9d8-616dd036575f"
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
QRMumps = "422b30a1-cc69-4d85-abe7-cc07b540c444"
SolverCore = "ff4d7338-4cf1-434d-91df-b86cb86fb843"
SolverParameters = "d076d87d-d1f9-4ea3-a44b-64b4cdd1e470"
SolverTools = "b5612192-2639-5dc1-abfe-fbedd65fab29"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
SparseMatricesCOO = "fa32481b-f100-4b48-8dc8-c62f61b13870"

[compat]
Krylov = "0.10.0"
LinearOperators = "2.0"
HSL = "0.5.2"
Krylov = "0.10.1"
LinearOperators = "2.11.0"
NLPModels = "0.21"
NLPModelsModifiers = "0.7"
QRMumps = "0.3.2"
SolverCore = "0.3"
SolverParameters = "0.1"
SolverTools = "0.10"
SparseArrays = "1.11.0"
SparseMatricesCOO = "0.2.6"
julia = "1.10"

[extras]
Expand Down
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,17 @@ This package provides an implementation of four classic algorithms for unconstra
> DOI: [10.1007/BF01589116](https://doi.org/10.1007/BF01589116)


- `R2N`: An inexact second-order quadratic regularization method for unconstrained optimization (with shifted L-BFGS or shifted Hessian operator);

- `R2`: a first-order quadratic regularization method for unconstrained optimization;

> E. G. Birgin, J. L. Gardenghi, J. M. Martínez, S. A. Santos, Ph. L. Toint. (2017).
> Worst-case evaluation complexity for unconstrained nonlinear optimization using
> high-order regularized models. *Mathematical Programming*, 163(1), 359-368.
> DOI: [10.1007/s10107-016-1065-8](https://doi.org/10.1007/s10107-016-1065-8)

- `R2NLS`: an inexact second-order quadratic regularization method for nonlinear least-squares problems;

- `fomo`: a first-order method with momentum for unconstrained optimization;

- `tron`: a pure Julia implementation of TRON, a trust-region solver for bound-constrained optimization described in
Expand Down Expand Up @@ -68,7 +72,7 @@ using JSOSolvers, ADNLPModels

# Rosenbrock
nlp = ADNLPModel(x -> 100 * (x[2] - x[1]^2)^2 + (x[1] - 1)^2, [-1.2; 1.0])
stats = lbfgs(nlp) # or trunk, tron, R2
stats = lbfgs(nlp) # or trunk, tron, R2, R2N
```

## Documentation
Expand Down
8 changes: 6 additions & 2 deletions docs/src/solvers.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@
- [`trunk`](@ref)
- [`R2`](@ref)
- [`fomo`](@ref)
- [`R2N`](@ref)
- [`R2NLS`](@ref)

| Problem type | Solvers |
| --------------------- | -------- |
| Unconstrained Nonlinear Optimization Problem | [`lbfgs`](@ref), [`tron`](@ref), [`trunk`](@ref), [`R2`](@ref), [`fomo`](@ref)|
| Unconstrained Nonlinear Least Squares | [`trunk`](@ref), [`tron`](@ref) |
| Unconstrained Nonlinear Optimization Problem | [`lbfgs`](@ref), [`tron`](@ref), [`trunk`](@ref), [`R2`](@ref), [`fomo`](@ref), ['R2N'](@ref)|
| Unconstrained Nonlinear Least Squares | [`trunk`](@ref), [`tron`](@ref), ['R2NLS'](@ref)|
| Bound-constrained Nonlinear Optimization Problem | [`tron`](@ref) |
| Bound-constrained Nonlinear Least Squares | [`tron`](@ref) |

Expand All @@ -23,4 +25,6 @@ tron
trunk
R2
fomo
R2N
R2NLS
```
4 changes: 3 additions & 1 deletion src/JSOSolvers.jl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
module JSOSolvers

# stdlib
using LinearAlgebra, Logging, Printf
using LinearAlgebra, Logging, Printf, SparseArrays

# JSO packages
using Krylov,
Expand Down Expand Up @@ -29,9 +29,11 @@ end
include("lbfgs.jl")
include("trunk.jl")
include("fomo.jl")
include("R2N.jl")

# Unconstrained solvers for NLS
include("trunkls.jl")
include("R2Nls.jl")

# List of keywords accepted by TRONTrustRegion
const tron_keys = (
Expand Down
Loading
Loading