diff --git a/docs/Project.toml b/docs/Project.toml index a656a6b..cd5b5be 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,23 +1,24 @@ [deps] AffineArithmetic = "2e89c364-fad6-56cb-99bd-ebadcd2cf8d2" +Clarabel = "61c947e1-3e6d-4ee4-985a-eec8c727bd6e" DisplayAs = "0b91fe84-8a4c-11e9-3e1d-67c38462b6d6" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" DocumenterCitations = "daee34ce-89f3-4625-b898-19384cb65244" DynamicPolynomials = "7c1d4256-1411-5781-91ec-d7bc3513ac07" IntervalOptimisation = "c7c68f13-a4a2-5b9a-b424-07d005f8d9d2" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -SDPA = "b9a10b5b-afa4-512f-a053-bb3d8080febc" +RangeEnclosures = "1b4d18b6-9e5d-11e9-236c-f792b01831f8" SumOfSquares = "4b9e565b-77fc-50a5-a571-1244f986bda1" TaylorModels = "314ce334-5f6e-57ae-acf6-00b6e903104a" [compat] AffineArithmetic = "0.3" +Clarabel = "0.11" DisplayAs = "0.1" Documenter = "1" DocumenterCitations = "1.3" DynamicPolynomials = "0.3 - 0.6" IntervalOptimisation = "0.5" Plots = "1" -SDPA = "0.2 - 0.6" SumOfSquares = "0.3.6 - 0.8" TaylorModels = "0.11" diff --git a/docs/make.jl b/docs/make.jl index e3c1915..1d4a601 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,7 +1,7 @@ ENV["GKSwstype"] = "100" # prevent plots from opening interactively using Documenter, RangeEnclosures, DocumenterCitations -using AffineArithmetic, IntervalOptimisation, SumOfSquares, SDPA, TaylorModels +using AffineArithmetic, Clarabel, IntervalOptimisation, SumOfSquares, TaylorModels import Plots DocMeta.setdocmeta!(RangeEnclosures, :DocTestSetup, :(using RangeEnclosures); recursive=true) diff --git a/src/algorithms.jl b/src/algorithms.jl index 4b95aed..f588cc7 100644 --- a/src/algorithms.jl +++ b/src/algorithms.jl @@ -161,9 +161,9 @@ result of this algorithm is not rigorous. ### Examples ```jldoctest -julia> using SumOfSquares, SDPA, DynamicPolynomials +julia> using SumOfSquares, Clarabel, DynamicPolynomials -julia> backend = SDPA.Optimizer; +julia> backend = () -> Clarabel.Optimizer(verbose=false); julia> @polyvar x; diff --git a/test/Project.toml b/test/Project.toml index 96b2e1b..2bd00b8 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -1,10 +1,10 @@ [deps] AffineArithmetic = "2e89c364-fad6-56cb-99bd-ebadcd2cf8d2" Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" +Clarabel = "61c947e1-3e6d-4ee4-985a-eec8c727bd6e" DynamicPolynomials = "7c1d4256-1411-5781-91ec-d7bc3513ac07" ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7" IntervalOptimisation = "c7c68f13-a4a2-5b9a-b424-07d005f8d9d2" -SDPA = "b9a10b5b-afa4-512f-a053-bb3d8080febc" SumOfSquares = "4b9e565b-77fc-50a5-a571-1244f986bda1" TaylorModels = "314ce334-5f6e-57ae-acf6-00b6e903104a" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" @@ -12,9 +12,9 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [compat] AffineArithmetic = "0.3" Aqua = "0.8.9" +Clarabel = "0.11" DynamicPolynomials = "0.3 - 0.6" ExplicitImports = "1.15" IntervalOptimisation = "0.5" -SDPA = "0.2 - 0.6" SumOfSquares = "0.3.6 - 0.8" TaylorModels = "0.11" diff --git a/test/multivariate.jl b/test/multivariate.jl index f48b004..d7a833e 100644 --- a/test/multivariate.jl +++ b/test/multivariate.jl @@ -45,9 +45,9 @@ end # Note: DynamicPolynomials automatically expands p, and evaluation using # interval arithmetic gives a worse left bound than the factored expression. - x = enclose(p, dom, SumOfSquaresEnclosure(; backend=SDPA.Optimizer)) + x = enclose(p, dom, SumOfSquaresEnclosure(; backend=_SDP_solver)) @test isapprox(inf(x), 0.0; atol=1e-3) - @test isapprox(sup(x), 670.612; atol=1e-3) + @test isapprox(sup(x), 2594; atol=1e-3) end end diff --git a/test/runtests.jl b/test/runtests.jl index 5bd8b4f..7a7d41c 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,15 +1,17 @@ using Test, RangeEnclosures -using AffineArithmetic, IntervalOptimisation, TaylorModels, SDPA, SumOfSquares +using AffineArithmetic, Clarabel, IntervalOptimisation, TaylorModels, SumOfSquares using DynamicPolynomials: @polyvar using RangeEnclosures: Interval, inf, sup using TaylorModels.IntervalArithmetic: isequal_interval -available_solvers = (NaturalEnclosure(), - MeanValueEnclosure(), - AffineArithmeticEnclosure(), - MooreSkelboeEnclosure(), - TaylorModelsEnclosure(), - BranchAndBoundEnclosure()) +const _SDP_solver = SumOfSquares.optimizer_with_attributes(Clarabel.Optimizer, MOI.Silent() => true) + +const available_solvers = (NaturalEnclosure(), + MeanValueEnclosure(), + AffineArithmeticEnclosure(), + MooreSkelboeEnclosure(), + TaylorModelsEnclosure(), + BranchAndBoundEnclosure()) include("univariate.jl") include("multivariate.jl") diff --git a/test/univariate.jl b/test/univariate.jl index 7118324..60b7fc5 100644 --- a/test/univariate.jl +++ b/test/univariate.jl @@ -55,7 +55,7 @@ end rleft, rright = relative_precision(x, xref) @test rleft ≤ 1e-5 && rright ≤ 1e-5 - x = enclose(p, dom, SumOfSquaresEnclosure(; backend=SDPA.Optimizer)) + x = enclose(p, dom, SumOfSquaresEnclosure(; backend=_SDP_solver)) xref = interval(4.8333, 10.541) rleft, rright = relative_precision(x, xref) @test rleft ≤ 1e-5 && rright ≤ 1e-5