From af09709ec88bb72d59bd2e3b03e8fbf28b8a2fc7 Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Fri, 18 Apr 2025 17:27:26 -0500 Subject: [PATCH 1/8] Support Krylov.jl v0.10 --- Project.toml | 2 +- docs/src/3-doityourself.md | 2 +- src/utils/pdata_struct.jl | 18 +++++++++--------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Project.toml b/Project.toml index a851f59..b1c61e7 100644 --- a/Project.toml +++ b/Project.toml @@ -16,7 +16,7 @@ Stopping = "c4fe5a9e-e7fb-5c3d-89d5-7f405ab2214f" StoppingInterface = "53949629-e8ff-437b-b6e7-14da1a85bf25" [compat] -Krylov = "^0.8.2, 0.9" +Krylov = "0.10" LinearOperators = "1, 2" NLPModels = "0.18, 0.19, 0.20, 0.21" SolverCore = "0.2, 0.3" diff --git a/docs/src/3-doityourself.md b/docs/src/3-doityourself.md index b927575..4c76fe5 100644 --- a/docs/src/3-doityourself.md +++ b/docs/src/3-doityourself.md @@ -33,7 +33,7 @@ mutable struct PDataST{S,T} <: AdaptiveRegularization.TPData{T} cgrtol # Relative tolerance for `cg_lanczos` OK::Bool # Mandatory: preprocess success - solver::CgSolver # Memory pre-allocation for `cg_lanczos` + solver::CgWorkspace # Memory pre-allocation for `cg_lanczos` end ``` diff --git a/src/utils/pdata_struct.jl b/src/utils/pdata_struct.jl index 82d2bba..91c9caf 100644 --- a/src/utils/pdata_struct.jl +++ b/src/utils/pdata_struct.jl @@ -68,7 +68,7 @@ mutable struct PDataKARC{S, T, Fatol, Frtol} <: PDataIter{T} norm_dirs::Array{T, 1} # norms of xShifts OK::Bool # preprocess success - solver::CgLanczosShiftSolver{T, T, S} + solver::CgLanczosShiftWorkspace{T, T, S} end function PDataKARC( @@ -95,7 +95,7 @@ function PDataKARC( end norm_dirs = S(undef, nshifts) OK = true - solver = CgLanczosShiftSolver(n, n, nshifts, S) + solver = CgLanczosShiftWorkspace(n, n, nshifts, S) return PDataKARC( d, λ, @@ -139,7 +139,7 @@ mutable struct PDataTRK{S, T, Fatol, Frtol} <: PDataIter{T} norm_dirs::Array{T, 1} # norms of xShifts OK::Bool # preprocess success - solver::CgLanczosShiftSolver{T, T, S} + solver::CgLanczosShiftWorkspace{T, T, S} end function PDataTRK( @@ -166,7 +166,7 @@ function PDataTRK( end norm_dirs = S(undef, nshifts) OK = true - solver = CgLanczosShiftSolver(n, n, nshifts, S) + solver = CgLanczosShiftWorkspace(n, n, nshifts, S) return PDataTRK( d, λ, @@ -202,7 +202,7 @@ mutable struct PDataST{S, T, Fatol, Frtol} <: PDataIter{T} cgrtol::Frtol OK::Bool # preprocess success - solver::CgSolver{T, T, S} + solver::CgWorkspace{T, T, S} end function PDataST( @@ -220,7 +220,7 @@ function PDataST( d = S(undef, n) λ = zero(T) OK = true - solver = CgSolver(n, n, S) + solver = CgWorkspace(n, n, S) return PDataST(d, λ, ζ, ξ, maxtol, mintol, cgatol, cgrtol, OK, solver) end @@ -239,7 +239,7 @@ mutable struct PDataNLSST{S, T, Fatol, Frtol} <: PDataIterLS{T} cgrtol::Frtol OK::Bool # preprocess success - solver::Union{CglsSolver{T, T, S}, LsqrSolver{T, T, S}} + solver::Union{CglsWorkspace{T, T, S}, LsqrWorkspace{T, T, S}} end function PDataNLSST( @@ -260,9 +260,9 @@ function PDataNLSST( λ = zero(T) OK = true solver = if solver_method == :cgls - CglsSolver(m, n, S) + CglsWorkspace(m, n, S) else - LsqrSolver(m, n, S) + LsqrWorkspace(m, n, S) end return PDataNLSST(d, λ, ζ, ξ, maxtol, mintol, cgatol, cgrtol, OK, solver) end From 133e295fb789c7a79980e19ff3700a6e3d03efe6 Mon Sep 17 00:00:00 2001 From: Alexis Montoison Date: Mon, 26 May 2025 18:34:30 -0500 Subject: [PATCH 2/8] More modifications --- Project.toml | 16 ++++++++-------- docs/Project.toml | 10 +++++----- src/SolveModel/SolveModelNLSST_TR.jl | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Project.toml b/Project.toml index b1c61e7..4afc840 100644 --- a/Project.toml +++ b/Project.toml @@ -17,11 +17,11 @@ StoppingInterface = "53949629-e8ff-437b-b6e7-14da1a85bf25" [compat] Krylov = "0.10" -LinearOperators = "1, 2" -NLPModels = "0.18, 0.19, 0.20, 0.21" -SolverCore = "0.2, 0.3" -SolverTools = "^0.8.8, 0.9" -SparseMatricesCOO = "0.1, 0.2" -Stopping = "0.6.4" -StoppingInterface = "0.3, 0.4, 0.5" -julia = "^1.10" +LinearOperators = "2" +NLPModels = "0.21.5" +SolverCore = "0.3" +SolverTools = "0.9" +SparseMatricesCOO = "0.2.4" +Stopping = "0.6.5" +StoppingInterface = "0.5.4" +julia = "1.10" diff --git a/docs/Project.toml b/docs/Project.toml index bcddf4b..ee93136 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -15,17 +15,17 @@ SolverBenchmark = "581a75fa-a23a-52d0-a590-d6201de2218a" SolverCore = "ff4d7338-4cf1-434d-91df-b86cb86fb843" [compat] -ADNLPModels = "0.7" -CUTEst = "0.13" +ADNLPModels = "0.8" +CUTEst = "1.3.1" DataFrames = "1" Documenter = "0.27" GR = "0.72" JLD2 = "0.4" JSOSolvers = "0.11" -Krylov = "0.9" -NLPModels = "0.20" +Krylov = "0.10" +NLPModels = "0.21" NLPModelsIpopt = "0.10" -OptimizationProblems = "0.7" +OptimizationProblems = "0.9" Plots = "1" SolverBenchmark = "0.5" SolverCore = "0.3" diff --git a/src/SolveModel/SolveModelNLSST_TR.jl b/src/SolveModel/SolveModelNLSST_TR.jl index d3dc62f..4ecd1b8 100644 --- a/src/SolveModel/SolveModelNLSST_TR.jl +++ b/src/SolveModel/SolveModelNLSST_TR.jl @@ -19,7 +19,7 @@ function solve_model!( cgrtol = PData.cgrtol(ζ, ξ, maxtol, mintol, norm_∇f) solver = PData.solver - Krylov.solve!( + krylov_solve!( solver, Jx, Fx, From 541b7299d14e36f08e5d4250684d82e106ea03d7 Mon Sep 17 00:00:00 2001 From: tmigot Date: Tue, 3 Jun 2025 17:31:23 -0400 Subject: [PATCH 3/8] bump test --- test/Project.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/Project.toml b/test/Project.toml index 4d6345c..981246d 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -17,7 +17,7 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [compat] ADNLPModels = "0.8" -Krylov = "0.9" +Krylov = "0.10" LinearOperators = "2" NLPModels = "0.21" NLPModelsTest = "0.10" @@ -26,6 +26,6 @@ SolverCore = "0.3" SolverTest = "0.3" SolverTools = "0.9" SparseMatricesCOO = "0.2" -Stopping = "0.6.4" +Stopping = "0.6" StoppingInterface = "0.5" -julia = "^1.6" +julia = "^1.10" From 60921c3d9930e6258df3fd6e3ac21b2924b131d4 Mon Sep 17 00:00:00 2001 From: Alexis Montoison <35051714+amontoison@users.noreply.github.com> Date: Tue, 3 Jun 2025 16:37:21 -0500 Subject: [PATCH 4/8] Update docs/Project.toml --- docs/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Project.toml b/docs/Project.toml index ee93136..912ab9b 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -27,5 +27,5 @@ NLPModels = "0.21" NLPModelsIpopt = "0.10" OptimizationProblems = "0.9" Plots = "1" -SolverBenchmark = "0.5" +SolverBenchmark = "0.6" SolverCore = "0.3" From 36104553acbb345d2a831e2aac2dd452ff0070f5 Mon Sep 17 00:00:00 2001 From: Alexis Montoison <35051714+amontoison@users.noreply.github.com> Date: Tue, 3 Jun 2025 16:39:18 -0500 Subject: [PATCH 5/8] Update docs/Project.toml --- docs/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Project.toml b/docs/Project.toml index 912ab9b..0600805 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -21,7 +21,7 @@ DataFrames = "1" Documenter = "0.27" GR = "0.72" JLD2 = "0.4" -JSOSolvers = "0.11" +JSOSolvers = "0.14" Krylov = "0.10" NLPModels = "0.21" NLPModelsIpopt = "0.10" From 5ee9696d9bb94364966e25335e27866adcfed9bd Mon Sep 17 00:00:00 2001 From: tmigot Date: Tue, 3 Jun 2025 17:41:21 -0400 Subject: [PATCH 6/8] fix linter and doc --- README.md | 4 ++-- docs/Project.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7024f57..b046ad4 100644 --- a/README.md +++ b/README.md @@ -34,12 +34,12 @@ The initial implementation of this package follows (Dussault, J.-P. 2020): > Dussault, J.-P. (2020). > A unified efficient implementation of trust-region type algorithms for unconstrained optimization. > INFOR: Information Systems and Operational Research, 58(2), 290-309. -> [10.1080/03155986.2019.1624490](https://doi.org/10.1080/03155986.2019.1624490) +> [10.1080/03155986.2019.1624490](https://www.tandfonline.com/doi/full/10.1080/03155986.2019.1624490) > > Dussault, J.-P., Migot, T. & Orban, D. (2023). > Scalable adaptive cubic regularization methods. > Mathematical Programming. -> [10.1007/s10107-023-02007-6](https://doi.org/10.1007/s10107-023-02007-6) +> [10.1007/s10107-023-02007-6](https://link.springer.com/article/10.1007/s10107-023-02007-6) ## How to Cite diff --git a/docs/Project.toml b/docs/Project.toml index ee93136..912ab9b 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -27,5 +27,5 @@ NLPModels = "0.21" NLPModelsIpopt = "0.10" OptimizationProblems = "0.9" Plots = "1" -SolverBenchmark = "0.5" +SolverBenchmark = "0.6" SolverCore = "0.3" From aec5ef4eac522b491cc4a8651f892fbd0045cac5 Mon Sep 17 00:00:00 2001 From: tmigot Date: Tue, 3 Jun 2025 17:56:08 -0400 Subject: [PATCH 7/8] fix lint --- src/AdaptiveRegularization.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/AdaptiveRegularization.jl b/src/AdaptiveRegularization.jl index 829b476..f36df17 100644 --- a/src/AdaptiveRegularization.jl +++ b/src/AdaptiveRegularization.jl @@ -7,7 +7,8 @@ using Krylov, LinearOperators, NLPModels, SparseMatricesCOO, SolverCore, SolverT # Stopping using Stopping, StoppingInterface -using Krylov: Krylov, CgLanczosShiftSolver, CgSolver, CglsSolver, LsqrSolver, cg!, cg_lanczos_shift! +using Krylov: Krylov, cg!, cg_lanczos_shift! +using Krylov: CgLanczosShiftWorkspace, CgWorkspace, CglsWorkspace, LsqrWorkspace, krylov_solve! using LinearAlgebra: LinearAlgebra, Symmetric, mul!, norm using LinearOperators: LinearOperators, LinearOperator using NLPModels: From ce237572b5ae58b6063b264e366fee0719575d08 Mon Sep 17 00:00:00 2001 From: tmigot Date: Tue, 3 Jun 2025 18:22:15 -0400 Subject: [PATCH 8/8] undo readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b046ad4..7024f57 100644 --- a/README.md +++ b/README.md @@ -34,12 +34,12 @@ The initial implementation of this package follows (Dussault, J.-P. 2020): > Dussault, J.-P. (2020). > A unified efficient implementation of trust-region type algorithms for unconstrained optimization. > INFOR: Information Systems and Operational Research, 58(2), 290-309. -> [10.1080/03155986.2019.1624490](https://www.tandfonline.com/doi/full/10.1080/03155986.2019.1624490) +> [10.1080/03155986.2019.1624490](https://doi.org/10.1080/03155986.2019.1624490) > > Dussault, J.-P., Migot, T. & Orban, D. (2023). > Scalable adaptive cubic regularization methods. > Mathematical Programming. -> [10.1007/s10107-023-02007-6](https://link.springer.com/article/10.1007/s10107-023-02007-6) +> [10.1007/s10107-023-02007-6](https://doi.org/10.1007/s10107-023-02007-6) ## How to Cite