diff --git a/Project.toml b/Project.toml index 1848ad312..fe51ed26b 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "Optimization" uuid = "7f7a1694-90dd-40f0-9382-eb1efda571ba" -version = "4.6.0" +version = "4.7.0" [deps] ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b" diff --git a/lib/OptimizationBBO/Project.toml b/lib/OptimizationBBO/Project.toml index 80478a79f..7bdd8e5c4 100644 --- a/lib/OptimizationBBO/Project.toml +++ b/lib/OptimizationBBO/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationBBO" uuid = "3e6eede4-6085-4f62-9a71-46d9bc1eb92b" authors = ["Vaibhav Dixit and contributors"] -version = "0.4.1" +version = "0.4.2" [deps] BlackBoxOptim = "a134a8b2-14d6-55f6-9291-3336d3ab0209" diff --git a/lib/OptimizationBBO/src/OptimizationBBO.jl b/lib/OptimizationBBO/src/OptimizationBBO.jl index cbf924cef..e8b1ebef1 100644 --- a/lib/OptimizationBBO/src/OptimizationBBO.jl +++ b/lib/OptimizationBBO/src/OptimizationBBO.jl @@ -9,7 +9,12 @@ abstract type BBO end SciMLBase.requiresbounds(::BBO) = true SciMLBase.allowsbounds(::BBO) = true -SciMLBase.supports_opt_cache_interface(opt::BBO) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(opt::BBO) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(opt::BBO) = true +end for j in string.(BlackBoxOptim.SingleObjectiveMethodNames) eval(Meta.parse("Base.@kwdef struct BBO_" * j * " <: BBO method=:" * j * " end")) diff --git a/lib/OptimizationCMAEvolutionStrategy/Project.toml b/lib/OptimizationCMAEvolutionStrategy/Project.toml index bcc20b9fe..533d07c94 100644 --- a/lib/OptimizationCMAEvolutionStrategy/Project.toml +++ b/lib/OptimizationCMAEvolutionStrategy/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationCMAEvolutionStrategy" uuid = "bd407f91-200f-4536-9381-e4ba712f53f8" authors = ["Vaibhav Dixit and contributors"] -version = "0.3.1" +version = "0.3.2" [deps] CMAEvolutionStrategy = "8d3b24bd-414e-49e0-94fb-163cc3a3e411" diff --git a/lib/OptimizationCMAEvolutionStrategy/src/OptimizationCMAEvolutionStrategy.jl b/lib/OptimizationCMAEvolutionStrategy/src/OptimizationCMAEvolutionStrategy.jl index 118de982c..fa6e9d8f4 100644 --- a/lib/OptimizationCMAEvolutionStrategy/src/OptimizationCMAEvolutionStrategy.jl +++ b/lib/OptimizationCMAEvolutionStrategy/src/OptimizationCMAEvolutionStrategy.jl @@ -9,7 +9,12 @@ export CMAEvolutionStrategyOpt struct CMAEvolutionStrategyOpt end SciMLBase.allowsbounds(::CMAEvolutionStrategyOpt) = true -SciMLBase.supports_opt_cache_interface(opt::CMAEvolutionStrategyOpt) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(opt::CMAEvolutionStrategyOpt) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(opt::CMAEvolutionStrategyOpt) = true +end SciMLBase.requiresgradient(::CMAEvolutionStrategyOpt) = false SciMLBase.requireshessian(::CMAEvolutionStrategyOpt) = false SciMLBase.requiresconsjac(::CMAEvolutionStrategyOpt) = false diff --git a/lib/OptimizationEvolutionary/Project.toml b/lib/OptimizationEvolutionary/Project.toml index 7c30c4aad..ab8167cde 100644 --- a/lib/OptimizationEvolutionary/Project.toml +++ b/lib/OptimizationEvolutionary/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationEvolutionary" uuid = "cb963754-43f6-435e-8d4b-99009ff27753" authors = ["Vaibhav Dixit and contributors"] -version = "0.4.1" +version = "0.4.2" [deps] Evolutionary = "86b6b26d-c046-49b6-aa0b-5f0f74682bd6" diff --git a/lib/OptimizationEvolutionary/src/OptimizationEvolutionary.jl b/lib/OptimizationEvolutionary/src/OptimizationEvolutionary.jl index 5fddace1f..8d6ee4a02 100644 --- a/lib/OptimizationEvolutionary/src/OptimizationEvolutionary.jl +++ b/lib/OptimizationEvolutionary/src/OptimizationEvolutionary.jl @@ -6,7 +6,12 @@ using Optimization.SciMLBase SciMLBase.allowsbounds(opt::Evolutionary.AbstractOptimizer) = true SciMLBase.allowsconstraints(opt::Evolutionary.AbstractOptimizer) = true -SciMLBase.supports_opt_cache_interface(opt::Evolutionary.AbstractOptimizer) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(opt::Evolutionary.AbstractOptimizer) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(opt::Evolutionary.AbstractOptimizer) = true +end SciMLBase.requiresgradient(opt::Evolutionary.AbstractOptimizer) = false SciMLBase.requiresgradient(opt::Evolutionary.NSGA2) = false SciMLBase.requireshessian(opt::Evolutionary.AbstractOptimizer) = false diff --git a/lib/OptimizationGCMAES/Project.toml b/lib/OptimizationGCMAES/Project.toml index afe41936f..cf60a8107 100644 --- a/lib/OptimizationGCMAES/Project.toml +++ b/lib/OptimizationGCMAES/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationGCMAES" uuid = "6f0a0517-dbc2-4a7a-8a20-99ae7f27e911" authors = ["Vaibhav Dixit and contributors"] -version = "0.3.0" +version = "0.3.1" [deps] GCMAES = "4aa9d100-eb0f-11e8-15f1-25748831eb3b" diff --git a/lib/OptimizationGCMAES/src/OptimizationGCMAES.jl b/lib/OptimizationGCMAES/src/OptimizationGCMAES.jl index c4eaf04df..68fce38ab 100644 --- a/lib/OptimizationGCMAES/src/OptimizationGCMAES.jl +++ b/lib/OptimizationGCMAES/src/OptimizationGCMAES.jl @@ -11,7 +11,12 @@ struct GCMAESOpt end SciMLBase.requiresbounds(::GCMAESOpt) = true SciMLBase.allowsbounds(::GCMAESOpt) = true SciMLBase.allowscallback(::GCMAESOpt) = false -SciMLBase.supports_opt_cache_interface(opt::GCMAESOpt) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(opt::GCMAESOpt) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(opt::GCMAESOpt) = true +end SciMLBase.requiresgradient(::GCMAESOpt) = true SciMLBase.requireshessian(::GCMAESOpt) = false SciMLBase.requiresconsjac(::GCMAESOpt) = false diff --git a/lib/OptimizationIpopt/Project.toml b/lib/OptimizationIpopt/Project.toml index b63c7c104..b5191b5b0 100644 --- a/lib/OptimizationIpopt/Project.toml +++ b/lib/OptimizationIpopt/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationIpopt" uuid = "43fad042-7963-4b32-ab19-e2a4f9a67124" authors = ["Sebastian Micluța-Câmpeanu and contributors"] -version = "0.1.1" +version = "0.1.2" [deps] Ipopt = "b6b21f68-93f8-5de0-b562-5493be1d77c9" diff --git a/lib/OptimizationIpopt/src/OptimizationIpopt.jl b/lib/OptimizationIpopt/src/OptimizationIpopt.jl index e06e6698d..af75d0f11 100644 --- a/lib/OptimizationIpopt/src/OptimizationIpopt.jl +++ b/lib/OptimizationIpopt/src/OptimizationIpopt.jl @@ -13,8 +13,15 @@ const DenseOrSparse{T} = Union{Matrix{T}, SparseMatrixCSC{T}} struct IpoptOptimizer end -function SciMLBase.supports_opt_cache_interface(alg::IpoptOptimizer) - true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + function SciMLBase.supports_opt_cache_interface(alg::IpoptOptimizer) + true + end +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + function OptimizationBase.supports_opt_cache_interface(alg::IpoptOptimizer) + true + end end function SciMLBase.requiresgradient(opt::IpoptOptimizer) diff --git a/lib/OptimizationMOI/Project.toml b/lib/OptimizationMOI/Project.toml index ba9f64105..019cacd31 100644 --- a/lib/OptimizationMOI/Project.toml +++ b/lib/OptimizationMOI/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationMOI" uuid = "fd9f6733-72f4-499f-8506-86b2bdd0dea1" authors = ["Vaibhav Dixit and contributors"] -version = "0.5.5" +version = "0.5.6" [deps] LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" diff --git a/lib/OptimizationMOI/src/OptimizationMOI.jl b/lib/OptimizationMOI/src/OptimizationMOI.jl index 5655eed01..41eaf7f90 100644 --- a/lib/OptimizationMOI/src/OptimizationMOI.jl +++ b/lib/OptimizationMOI/src/OptimizationMOI.jl @@ -283,9 +283,17 @@ end include("nlp.jl") include("moi.jl") -function SciMLBase.supports_opt_cache_interface(alg::Union{MOI.AbstractOptimizer, - MOI.OptimizerWithAttributes}) - true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + function SciMLBase.supports_opt_cache_interface(alg::Union{MOI.AbstractOptimizer, + MOI.OptimizerWithAttributes}) + true + end +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + function OptimizationBase.supports_opt_cache_interface(alg::Union{MOI.AbstractOptimizer, + MOI.OptimizerWithAttributes}) + true + end end function SciMLBase.__init(prob::OptimizationProblem, diff --git a/lib/OptimizationManopt/Project.toml b/lib/OptimizationManopt/Project.toml index 8c6d7f149..c19e7123c 100644 --- a/lib/OptimizationManopt/Project.toml +++ b/lib/OptimizationManopt/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationManopt" uuid = "e57b7fff-7ee7-4550-b4f0-90e9476e9fb6" authors = ["Mateusz Baran "] -version = "0.0.4" +version = "0.0.5" [deps] LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" diff --git a/lib/OptimizationManopt/src/OptimizationManopt.jl b/lib/OptimizationManopt/src/OptimizationManopt.jl index 22244a0fe..cd93d6ce3 100644 --- a/lib/OptimizationManopt/src/OptimizationManopt.jl +++ b/lib/OptimizationManopt/src/OptimizationManopt.jl @@ -12,7 +12,12 @@ internal state. """ abstract type AbstractManoptOptimizer end -SciMLBase.supports_opt_cache_interface(opt::AbstractManoptOptimizer) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(opt::AbstractManoptOptimizer) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(opt::AbstractManoptOptimizer) = true +end function __map_optimizer_args!(cache::OptimizationCache, opt::AbstractManoptOptimizer; diff --git a/lib/OptimizationMetaheuristics/Project.toml b/lib/OptimizationMetaheuristics/Project.toml index 7637d06a9..ab6a3bd42 100644 --- a/lib/OptimizationMetaheuristics/Project.toml +++ b/lib/OptimizationMetaheuristics/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationMetaheuristics" uuid = "3aafef2f-86ae-4776-b337-85a36adf0b55" authors = ["Vaibhav Dixit and contributors"] -version = "0.3.0" +version = "0.3.1" [deps] Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba" diff --git a/lib/OptimizationMetaheuristics/src/OptimizationMetaheuristics.jl b/lib/OptimizationMetaheuristics/src/OptimizationMetaheuristics.jl index aec0218cb..c71b1b256 100644 --- a/lib/OptimizationMetaheuristics/src/OptimizationMetaheuristics.jl +++ b/lib/OptimizationMetaheuristics/src/OptimizationMetaheuristics.jl @@ -7,7 +7,12 @@ using Optimization.SciMLBase SciMLBase.requiresbounds(opt::Metaheuristics.AbstractAlgorithm) = true SciMLBase.allowsbounds(opt::Metaheuristics.AbstractAlgorithm) = true SciMLBase.allowscallback(opt::Metaheuristics.AbstractAlgorithm) = false -SciMLBase.supports_opt_cache_interface(opt::Metaheuristics.AbstractAlgorithm) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(opt::Metaheuristics.AbstractAlgorithm) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(opt::Metaheuristics.AbstractAlgorithm) = true +end function initial_population!(opt, cache, bounds, f) opt_init = deepcopy(opt) diff --git a/lib/OptimizationMultistartOptimization/Project.toml b/lib/OptimizationMultistartOptimization/Project.toml index 09141348d..6b5b30a0a 100644 --- a/lib/OptimizationMultistartOptimization/Project.toml +++ b/lib/OptimizationMultistartOptimization/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationMultistartOptimization" uuid = "e4316d97-8bbb-4fd3-a7d8-3851d2a72823" authors = ["Vaibhav Dixit and contributors"] -version = "0.3.0" +version = "0.3.1" [deps] Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba" diff --git a/lib/OptimizationMultistartOptimization/src/OptimizationMultistartOptimization.jl b/lib/OptimizationMultistartOptimization/src/OptimizationMultistartOptimization.jl index cdec88403..4516100d2 100644 --- a/lib/OptimizationMultistartOptimization/src/OptimizationMultistartOptimization.jl +++ b/lib/OptimizationMultistartOptimization/src/OptimizationMultistartOptimization.jl @@ -7,7 +7,12 @@ using Optimization.SciMLBase SciMLBase.requiresbounds(opt::MultistartOptimization.TikTak) = true SciMLBase.allowsbounds(opt::MultistartOptimization.TikTak) = true SciMLBase.allowscallback(opt::MultistartOptimization.TikTak) = false -SciMLBase.supports_opt_cache_interface(opt::MultistartOptimization.TikTak) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(opt::MultistartOptimization.TikTak) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(opt::MultistartOptimization.TikTak) = true +end function SciMLBase.__init(prob::SciMLBase.OptimizationProblem, opt::MultistartOptimization.TikTak, diff --git a/lib/OptimizationNLopt/Project.toml b/lib/OptimizationNLopt/Project.toml index 0717200cc..70e60a1e0 100644 --- a/lib/OptimizationNLopt/Project.toml +++ b/lib/OptimizationNLopt/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationNLopt" uuid = "4e6fcdb7-1186-4e1f-a706-475e75c168bb" authors = ["Vaibhav Dixit and contributors"] -version = "0.3.2" +version = "0.3.3" [deps] NLopt = "76087f3c-5699-56af-9a33-bf431cd00edd" diff --git a/lib/OptimizationNLopt/src/OptimizationNLopt.jl b/lib/OptimizationNLopt/src/OptimizationNLopt.jl index 569cc1790..31f7642a9 100644 --- a/lib/OptimizationNLopt/src/OptimizationNLopt.jl +++ b/lib/OptimizationNLopt/src/OptimizationNLopt.jl @@ -8,7 +8,12 @@ using Optimization: deduce_retcode (f::NLopt.Algorithm)() = f SciMLBase.allowsbounds(opt::Union{NLopt.Algorithm, NLopt.Opt}) = true -SciMLBase.supports_opt_cache_interface(opt::Union{NLopt.Algorithm, NLopt.Opt}) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(opt::Union{NLopt.Algorithm, NLopt.Opt}) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(opt::Union{NLopt.Algorithm, NLopt.Opt}) = true +end function SciMLBase.requiresgradient(opt::Union{NLopt.Algorithm, NLopt.Opt}) # https://github.com/JuliaOpt/NLopt.jl/blob/master/src/NLopt.jl#L18C7-L18C16 diff --git a/lib/OptimizationODE/Project.toml b/lib/OptimizationODE/Project.toml index 5ea5e90ae..444224828 100644 --- a/lib/OptimizationODE/Project.toml +++ b/lib/OptimizationODE/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationODE" uuid = "dfa73e59-e644-4d8a-bf84-188d7ecb34e4" authors = ["Paras Puneet Singh "] -version = "0.1.0" +version = "0.1.1" [deps] ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" diff --git a/lib/OptimizationODE/src/OptimizationODE.jl b/lib/OptimizationODE/src/OptimizationODE.jl index f4ccd31eb..589e6f73b 100644 --- a/lib/OptimizationODE/src/OptimizationODE.jl +++ b/lib/OptimizationODE/src/OptimizationODE.jl @@ -21,7 +21,12 @@ HighOrderDescent() = ODEOptimizer(Vern7()) SciMLBase.requiresbounds(::ODEOptimizer) = false SciMLBase.allowsbounds(::ODEOptimizer) = false SciMLBase.allowscallback(::ODEOptimizer) = true -SciMLBase.supports_opt_cache_interface(::ODEOptimizer) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(::ODEOptimizer) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(::ODEOptimizer) = true +end SciMLBase.requiresgradient(::ODEOptimizer) = true SciMLBase.requireshessian(::ODEOptimizer) = false SciMLBase.requiresconsjac(::ODEOptimizer) = false diff --git a/lib/OptimizationOptimJL/Project.toml b/lib/OptimizationOptimJL/Project.toml index b44709a58..7c794315e 100644 --- a/lib/OptimizationOptimJL/Project.toml +++ b/lib/OptimizationOptimJL/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationOptimJL" uuid = "36348300-93cb-4f02-beb5-3c3902f8871e" authors = ["Vaibhav Dixit and contributors"] -version = "0.4.3" +version = "0.4.4" [deps] Optim = "429524aa-4258-5aef-a3af-852621145aeb" diff --git a/lib/OptimizationOptimJL/src/OptimizationOptimJL.jl b/lib/OptimizationOptimJL/src/OptimizationOptimJL.jl index 36e90c90e..b292858d7 100644 --- a/lib/OptimizationOptimJL/src/OptimizationOptimJL.jl +++ b/lib/OptimizationOptimJL/src/OptimizationOptimJL.jl @@ -11,9 +11,16 @@ SciMLBase.allowsbounds(opt::Optim.AbstractOptimizer) = true SciMLBase.allowsbounds(opt::Optim.SimulatedAnnealing) = false SciMLBase.requiresbounds(opt::Optim.Fminbox) = true SciMLBase.requiresbounds(opt::Optim.SAMIN) = true -SciMLBase.supports_opt_cache_interface(opt::Optim.AbstractOptimizer) = true -SciMLBase.supports_opt_cache_interface(opt::Union{Optim.Fminbox, Optim.SAMIN}) = true -SciMLBase.supports_opt_cache_interface(opt::Optim.ConstrainedOptimizer) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(opt::Optim.AbstractOptimizer) = true + SciMLBase.supports_opt_cache_interface(opt::Union{Optim.Fminbox, Optim.SAMIN}) = true + SciMLBase.supports_opt_cache_interface(opt::Optim.ConstrainedOptimizer) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(opt::Optim.AbstractOptimizer) = true + OptimizationBase.supports_opt_cache_interface(opt::Union{Optim.Fminbox, Optim.SAMIN}) = true + OptimizationBase.supports_opt_cache_interface(opt::Optim.ConstrainedOptimizer) = true +end function SciMLBase.requiresgradient(opt::Optim.AbstractOptimizer) !(opt isa Optim.ZerothOrderOptimizer) end diff --git a/lib/OptimizationOptimisers/Project.toml b/lib/OptimizationOptimisers/Project.toml index dabf6b410..c038f843c 100644 --- a/lib/OptimizationOptimisers/Project.toml +++ b/lib/OptimizationOptimisers/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationOptimisers" uuid = "42dfb2eb-d2b4-4451-abcd-913932933ac1" authors = ["Vaibhav Dixit and contributors"] -version = "0.3.9" +version = "0.3.10" [deps] Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2" diff --git a/lib/OptimizationOptimisers/src/OptimizationOptimisers.jl b/lib/OptimizationOptimisers/src/OptimizationOptimisers.jl index 16f9f3917..6ce092f23 100644 --- a/lib/OptimizationOptimisers/src/OptimizationOptimisers.jl +++ b/lib/OptimizationOptimisers/src/OptimizationOptimisers.jl @@ -4,7 +4,12 @@ using Reexport, Printf, ProgressLogging @reexport using Optimisers, Optimization using Optimization.SciMLBase, Optimization.OptimizationBase -SciMLBase.supports_opt_cache_interface(opt::AbstractRule) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(opt::AbstractRule) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(opt::AbstractRule) = true +end SciMLBase.requiresgradient(opt::AbstractRule) = true SciMLBase.allowsfg(opt::AbstractRule) = true diff --git a/lib/OptimizationPRIMA/Project.toml b/lib/OptimizationPRIMA/Project.toml index 37ccad6e6..7aa307a76 100644 --- a/lib/OptimizationPRIMA/Project.toml +++ b/lib/OptimizationPRIMA/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationPRIMA" uuid = "72f8369c-a2ea-4298-9126-56167ce9cbc2" authors = ["Vaibhav Dixit and contributors"] -version = "0.3.0" +version = "0.3.1" [deps] Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba" diff --git a/lib/OptimizationPRIMA/src/OptimizationPRIMA.jl b/lib/OptimizationPRIMA/src/OptimizationPRIMA.jl index fcdab7c25..4cb5293c5 100644 --- a/lib/OptimizationPRIMA/src/OptimizationPRIMA.jl +++ b/lib/OptimizationPRIMA/src/OptimizationPRIMA.jl @@ -11,7 +11,12 @@ struct BOBYQA <: PRIMASolvers end struct LINCOA <: PRIMASolvers end struct COBYLA <: PRIMASolvers end -SciMLBase.supports_opt_cache_interface(::PRIMASolvers) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(::PRIMASolvers) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(::PRIMASolvers) = true +end SciMLBase.allowsconstraints(::Union{LINCOA, COBYLA}) = true SciMLBase.allowsbounds(opt::Union{BOBYQA, LINCOA, COBYLA}) = true SciMLBase.requiresconstraints(opt::COBYLA) = true diff --git a/lib/OptimizationPyCMA/Project.toml b/lib/OptimizationPyCMA/Project.toml index 8aff0a86c..fcf95a382 100644 --- a/lib/OptimizationPyCMA/Project.toml +++ b/lib/OptimizationPyCMA/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationPyCMA" uuid = "fb0822aa-1fe5-41d8-99a6-e7bf6c238d3b" authors = ["Maximilian Pochapski <67759684+mxpoch@users.noreply.github.com>"] -version = "1.0.0" +version = "1.1.0" [deps] CondaPkg = "992eb4ea-22a4-4c89-a5bb-47a3300528ab" diff --git a/lib/OptimizationPyCMA/src/OptimizationPyCMA.jl b/lib/OptimizationPyCMA/src/OptimizationPyCMA.jl index 0f5678ef4..61827e8ae 100644 --- a/lib/OptimizationPyCMA/src/OptimizationPyCMA.jl +++ b/lib/OptimizationPyCMA/src/OptimizationPyCMA.jl @@ -19,7 +19,12 @@ end # Defining the SciMLBase interface for PyCMAOpt SciMLBase.allowsbounds(::PyCMAOpt) = true -SciMLBase.supports_opt_cache_interface(opt::PyCMAOpt) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(opt::PyCMAOpt) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(opt::PyCMAOpt) = true +end SciMLBase.allowscallback(::PyCMAOpt) = true SciMLBase.requiresgradient(::PyCMAOpt) = false SciMLBase.requireshessian(::PyCMAOpt) = false diff --git a/lib/OptimizationSciPy/Project.toml b/lib/OptimizationSciPy/Project.toml index 3e604a078..89515fc1d 100644 --- a/lib/OptimizationSciPy/Project.toml +++ b/lib/OptimizationSciPy/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationSciPy" uuid = "cce07bd8-c79b-4b00-aee8-8db9cce22837" authors = ["Aditya Pandey and contributors"] -version = "0.4.1" +version = "0.4.2" [deps] Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba" diff --git a/lib/OptimizationSciPy/src/OptimizationSciPy.jl b/lib/OptimizationSciPy/src/OptimizationSciPy.jl index a70ce9a22..a01f90ead 100644 --- a/lib/OptimizationSciPy/src/OptimizationSciPy.jl +++ b/lib/OptimizationSciPy/src/OptimizationSciPy.jl @@ -216,17 +216,32 @@ for opt_type in [:ScipyMinimize, :ScipyDifferentialEvolution, :ScipyBasinhopping :ScipyLinprog, :ScipyMilp] @eval begin SciMLBase.allowsbounds(::$opt_type) = true - SciMLBase.supports_opt_cache_interface(::$opt_type) = true + @static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(::$opt_type) = true + end + @static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(::$opt_type) = true + end end end for opt_type in [:ScipyMinimizeScalar, :ScipyRootScalar, :ScipyLeastSquares] @eval begin - SciMLBase.supports_opt_cache_interface(::$opt_type) = true + @static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(::$opt_type) = true + end + @static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(::$opt_type) = true + end end end -SciMLBase.supports_opt_cache_interface(::ScipyRoot) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(::ScipyRoot) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(::ScipyRoot) = true +end function SciMLBase.requiresgradient(opt::ScipyMinimize) gradient_free = ["Nelder-Mead", "Powell", "COBYLA", "COBYQA"] diff --git a/lib/OptimizationSpeedMapping/Project.toml b/lib/OptimizationSpeedMapping/Project.toml index 45d51a6a5..4f0b89ee7 100644 --- a/lib/OptimizationSpeedMapping/Project.toml +++ b/lib/OptimizationSpeedMapping/Project.toml @@ -1,7 +1,7 @@ name = "OptimizationSpeedMapping" uuid = "3d669222-0d7d-4eb9-8a9f-d8528b0d9b91" authors = ["Vaibhav Dixit and contributors"] -version = "0.2.0" +version = "0.2.1" [deps] Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba" diff --git a/lib/OptimizationSpeedMapping/src/OptimizationSpeedMapping.jl b/lib/OptimizationSpeedMapping/src/OptimizationSpeedMapping.jl index 7802f5ed8..5dbcd93f9 100644 --- a/lib/OptimizationSpeedMapping/src/OptimizationSpeedMapping.jl +++ b/lib/OptimizationSpeedMapping/src/OptimizationSpeedMapping.jl @@ -10,7 +10,12 @@ struct SpeedMappingOpt end SciMLBase.allowsbounds(::SpeedMappingOpt) = true SciMLBase.allowscallback(::SpeedMappingOpt) = false -SciMLBase.supports_opt_cache_interface(opt::SpeedMappingOpt) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(opt::SpeedMappingOpt) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(opt::SpeedMappingOpt) = true +end SciMLBase.requiresgradient(opt::SpeedMappingOpt) = true function __map_optimizer_args(cache::OptimizationCache, opt::SpeedMappingOpt; diff --git a/src/auglag.jl b/src/auglag.jl index a9fd3981f..68226f0fb 100644 --- a/src/auglag.jl +++ b/src/auglag.jl @@ -9,7 +9,12 @@ ϵ = 1e-8 end -SciMLBase.supports_opt_cache_interface(::AugLag) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(::AugLag) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(::AugLag) = true +end SciMLBase.allowsbounds(::AugLag) = true SciMLBase.requiresgradient(::AugLag) = true SciMLBase.allowsconstraints(::AugLag) = true diff --git a/src/lbfgsb.jl b/src/lbfgsb.jl index 369eb50ad..2c6d5f83c 100644 --- a/src/lbfgsb.jl +++ b/src/lbfgsb.jl @@ -23,7 +23,12 @@ References ϵ = 1e-8 end -SciMLBase.supports_opt_cache_interface(::LBFGS) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(::LBFGS) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(::LBFGS) = true +end SciMLBase.allowsbounds(::LBFGS) = true SciMLBase.requiresgradient(::LBFGS) = true SciMLBase.allowsconstraints(::LBFGS) = true diff --git a/src/sophia.jl b/src/sophia.jl index 5ba651098..1e23ec029 100644 --- a/src/sophia.jl +++ b/src/sophia.jl @@ -53,7 +53,12 @@ struct Sophia ρ::Float64 end -SciMLBase.supports_opt_cache_interface(opt::Sophia) = true +@static if isdefined(SciMLBase, :supports_opt_cache_interface) + SciMLBase.supports_opt_cache_interface(opt::Sophia) = true +end +@static if isdefined(OptimizationBase, :supports_opt_cache_interface) + OptimizationBase.supports_opt_cache_interface(opt::Sophia) = true +end SciMLBase.requiresgradient(opt::Sophia) = true SciMLBase.allowsfg(opt::Sophia) = true SciMLBase.requireshessian(opt::Sophia) = true