diff --git a/lib/BoundaryValueDiffEqCore/Project.toml b/lib/BoundaryValueDiffEqCore/Project.toml index a66a351eb..f634be80e 100644 --- a/lib/BoundaryValueDiffEqCore/Project.toml +++ b/lib/BoundaryValueDiffEqCore/Project.toml @@ -14,6 +14,7 @@ LineSearch = "87fe0de2-c867-4266-b59a-2f0a94fc965b" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" NonlinearSolveFirstOrder = "5959db7a-ea39-4486-b5fe-2dd0bf03d60d" +OptimizationBase = "bca83a33-5cc9-4baa-983d-23429ab6bcbb" PreallocationTools = "d236fae5-4411-538c-8e31-a6e3d9e00b46" RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd" Reexport = "189a3867-3050-52da-a836-e630ba90ab69" @@ -37,6 +38,7 @@ LineSearch = "0.1.4" LinearAlgebra = "1.10" Logging = "1.10" NonlinearSolveFirstOrder = "1.2" +OptimizationBase = "3.2.0" PreallocationTools = "0.4.24" RecursiveArrayTools = "3.27.0" Reexport = "1.2" diff --git a/lib/BoundaryValueDiffEqCore/src/BoundaryValueDiffEqCore.jl b/lib/BoundaryValueDiffEqCore/src/BoundaryValueDiffEqCore.jl index f3ff338a2..bcc83ca6b 100644 --- a/lib/BoundaryValueDiffEqCore/src/BoundaryValueDiffEqCore.jl +++ b/lib/BoundaryValueDiffEqCore/src/BoundaryValueDiffEqCore.jl @@ -11,6 +11,7 @@ using Logging: Logging using LinearAlgebra using LineSearch: BackTracking using NonlinearSolveFirstOrder: NonlinearSolvePolyAlgorithm +using OptimizationBase: OptimizationBase using PreallocationTools: PreallocationTools, DiffCache using RecursiveArrayTools: AbstractVectorOfArray, VectorOfArray, DiffEqArray using Reexport: @reexport diff --git a/lib/BoundaryValueDiffEqCore/src/default_internal_solve.jl b/lib/BoundaryValueDiffEqCore/src/default_internal_solve.jl index 800b6e952..cc243683b 100644 --- a/lib/BoundaryValueDiffEqCore/src/default_internal_solve.jl +++ b/lib/BoundaryValueDiffEqCore/src/default_internal_solve.jl @@ -79,4 +79,5 @@ end @inline __internal_solve( prob::Union{SciMLBase.NonlinearProblem, SciMLBase.NonlinearLeastSquaresProblem}, alg; kwargs...) = __solve(prob, alg; kwargs...) -@inline __internal_solve(prob::SciMLBase.OptimizationProblem, alg; kwargs...) = solve(prob, alg; kwargs...) +@inline __internal_solve(prob::SciMLBase.OptimizationProblem, alg; + kwargs...) = OptimizationBase.solve(prob, alg; kwargs...) diff --git a/lib/BoundaryValueDiffEqMIRK/Project.toml b/lib/BoundaryValueDiffEqMIRK/Project.toml index cc0648e5e..f7ade90b4 100644 --- a/lib/BoundaryValueDiffEqMIRK/Project.toml +++ b/lib/BoundaryValueDiffEqMIRK/Project.toml @@ -45,7 +45,7 @@ InteractiveUtils = "<0.0.1, 1" JET = "0.9.18" LinearAlgebra = "1.10" LinearSolve = "2.36.2, 3" -Mooncake = "0.4.146" +Mooncake = "0.4" OptimizationIpopt = "0.2.0" OrdinaryDiffEqRosenbrock = "1" PreallocationTools = "0.4.24" diff --git a/lib/BoundaryValueDiffEqMIRK/test/mirk_basic_tests.jl b/lib/BoundaryValueDiffEqMIRK/test/mirk_basic_tests.jl index 19831ad92..fdc310acc 100644 --- a/lib/BoundaryValueDiffEqMIRK/test/mirk_basic_tests.jl +++ b/lib/BoundaryValueDiffEqMIRK/test/mirk_basic_tests.jl @@ -494,6 +494,6 @@ end residual[2] = u(pi / 2)[1] - pi / 2 end prob = BVProblem(simplependulum!, bc!, [pi / 2, pi / 2], tspan, - lcons = [0.0, 0.0], ucons = [Inf, Inf]) + lcons = [-10.0, -10.0], ucons = [10.0, 10.0]) @test_nowarn sol = solve(prob, MIRK4(; optimize = IpoptOptimizer()), dt = 0.05) end