Skip to content

Commit 0947674

Browse files
Fix dependency structure of solvers to OptimizationBase
1 parent 2a8606d commit 0947674

File tree

54 files changed

+425
-386
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+425
-386
lines changed

lib/OptimizationAuglag/Project.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@ version = "0.1.0"
55

66
[deps]
77
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
8-
MLUtils = "f1d291b0-491e-4a28-83b9-f70985020b54"
9-
Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba"
108
OptimizationBase = "bca83a33-5cc9-4baa-983d-23429ab6bcbb"
9+
MLUtils = "f1d291b0-491e-4a28-83b9-f70985020b54"
1110
OptimizationOptimisers = "42dfb2eb-d2b4-4451-abcd-913932933ac1"
11+
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
1212

1313
[extras]
1414
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
1515

1616
[compat]
1717
ForwardDiff = "1.0.1"
18-
MLUtils = "0.4.8"
19-
Optimization = "4.4.0"
2018
OptimizationBase = "2.10.0"
19+
MLUtils = "0.4.8"
2120
OptimizationOptimisers = "0.3.8"
2221
Test = "1.10.0"
22+
SciMLBase = "2.58"
2323

2424
[targets]
2525
test = ["Test"]

lib/OptimizationAuglag/src/OptimizationAuglag.jl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
module OptimizationAuglag
22

3-
using Optimization
4-
using OptimizationBase.SciMLBase: OptimizationProblem, OptimizationFunction, OptimizationStats
3+
using SciMLBase: OptimizationProblem, OptimizationFunction, OptimizationStats
54
using OptimizationBase.LinearAlgebra: norm
65

76
@kwdef struct AugLag

lib/OptimizationBBO/Project.toml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@ version = "0.4.3"
55

66
[deps]
77
BlackBoxOptim = "a134a8b2-14d6-55f6-9291-3336d3ab0209"
8-
Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba"
8+
OptimizationBase = "bca83a33-5cc9-4baa-983d-23429ab6bcbb"
9+
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
910
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
1011

12+
[extras]
13+
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
14+
1115
[compat]
16+
julia = "1.10"
1217
BlackBoxOptim = "0.6"
13-
Optimization = "4.4"
18+
OptimizationBase = "2.10"
19+
SciMLBase = "2.58"
1420
Reexport = "1.2"
15-
julia = "1.10"
16-
17-
[extras]
18-
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
1921

2022
[targets]
2123
test = ["Test"]

lib/OptimizationBBO/src/OptimizationBBO.jl

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
module OptimizationBBO
22

33
using Reexport
4-
import Optimization
5-
import Optimization: OptimizationBase
6-
import BlackBoxOptim, Optimization.SciMLBase
7-
import Optimization.SciMLBase: MultiObjectiveOptimizationFunction
4+
import OptimizationBase
5+
import OptimizationBase: SciMLBase
6+
import BlackBoxOptim
7+
import SciMLBase: MultiObjectiveOptimizationFunction
88

99
abstract type BBO end
1010

@@ -48,7 +48,7 @@ function decompose_trace(opt::BlackBoxOptim.OptRunController, progress)
4848
return BlackBoxOptim.best_candidate(opt)
4949
end
5050

51-
function __map_optimizer_args(prob::Optimization.OptimizationCache, opt::BBO;
51+
function __map_optimizer_args(prob::OptimizationBase.OptimizationCache, opt::BBO;
5252
callback = nothing,
5353
maxiters::Union{Number, Nothing} = nothing,
5454
maxtime::Union{Number, Nothing} = nothing,
@@ -96,7 +96,7 @@ function map_objective(obj::BlackBoxOptim.IndexedTupleFitness)
9696
obj.orig
9797
end
9898

99-
function SciMLBase.__solve(cache::Optimization.OptimizationCache{
99+
function SciMLBase.__solve(cache::OptimizationBase.OptimizationCache{
100100
F,
101101
RC,
102102
LB,
@@ -123,13 +123,13 @@ function SciMLBase.__solve(cache::Optimization.OptimizationCache{
123123
C
124124
}
125125
function _cb(trace)
126-
if cache.callback === Optimization.DEFAULT_CALLBACK
126+
if cache.callback === OptimizationBase.DEFAULT_CALLBACK
127127
cb_call = false
128128
else
129129
n_steps = BlackBoxOptim.num_steps(trace)
130130
curr_u = decompose_trace(trace, cache.progress)
131131
objective = map_objective(BlackBoxOptim.best_fitness(trace))
132-
opt_state = Optimization.OptimizationState(;
132+
opt_state = OptimizationBase.OptimizationState(;
133133
iter = n_steps,
134134
u = curr_u,
135135
p = cache.p,
@@ -148,15 +148,15 @@ function SciMLBase.__solve(cache::Optimization.OptimizationCache{
148148
cb_call
149149
end
150150

151-
maxiters = Optimization._check_and_convert_maxiters(cache.solver_args.maxiters)
152-
maxtime = Optimization._check_and_convert_maxtime(cache.solver_args.maxtime)
151+
maxiters = OptimizationBase._check_and_convert_maxiters(cache.solver_args.maxiters)
152+
maxtime = OptimizationBase._check_and_convert_maxtime(cache.solver_args.maxtime)
153153

154154
_loss = function (θ)
155155
cache.f(θ, cache.p)
156156
end
157157

158158
opt_args = __map_optimizer_args(cache, cache.opt;
159-
callback = cache.callback === Optimization.DEFAULT_CALLBACK ?
159+
callback = cache.callback === OptimizationBase.DEFAULT_CALLBACK ?
160160
nothing : _cb,
161161
cache.solver_args...,
162162
maxiters = maxiters,
@@ -176,8 +176,8 @@ function SciMLBase.__solve(cache::Optimization.OptimizationCache{
176176
end
177177

178178
# Use the improved convert function
179-
opt_ret = Optimization.deduce_retcode(opt_res.stop_reason)
180-
stats = Optimization.OptimizationStats(;
179+
opt_ret = OptimizationBase.deduce_retcode(opt_res.stop_reason)
180+
stats = OptimizationBase.OptimizationStats(;
181181
iterations = opt_res.iterations,
182182
time = opt_res.elapsed_time,
183183
fevals = opt_res.f_calls)

lib/OptimizationBase/src/OptimizationBase.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ include("OptimizationDIExt.jl")
2828
include("OptimizationDISparseExt.jl")
2929
include("function.jl")
3030
include("solve.jl")
31+
include("utils.jl")
32+
include("state.jl")
3133

3234
export solve, OptimizationCache, DEFAULT_CALLBACK, DEFAULT_DATA,
3335
IncompatibleOptimizerError, OptimizerMissingError, _check_opt_alg,
File renamed without changes.
File renamed without changes.

lib/OptimizationCMAEvolutionStrategy/Project.toml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@ version = "0.3.2"
55

66
[deps]
77
CMAEvolutionStrategy = "8d3b24bd-414e-49e0-94fb-163cc3a3e411"
8-
Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba"
8+
OptimizationBase = "bca83a33-5cc9-4baa-983d-23429ab6bcbb"
9+
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
910
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
1011

12+
[extras]
13+
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
14+
1115
[compat]
12-
julia = "1.10"
1316
CMAEvolutionStrategy = "0.2"
14-
Optimization = "4.4"
17+
julia = "1.10"
18+
OptimizationBase = "2.10"
19+
SciMLBase = "2.58"
1520
Reexport = "1.2"
1621

17-
[extras]
18-
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
19-
2022
[targets]
2123
test = ["Test"]

lib/OptimizationCMAEvolutionStrategy/src/OptimizationCMAEvolutionStrategy.jl

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
module OptimizationCMAEvolutionStrategy
22

33
using Reexport
4-
@reexport using Optimization
5-
using CMAEvolutionStrategy, Optimization.SciMLBase
4+
@reexport using OptimizationBase
5+
using CMAEvolutionStrategy
6+
using OptimizationBase: SciMLBase
67

78
export CMAEvolutionStrategyOpt
89

@@ -20,7 +21,7 @@ SciMLBase.requireshessian(::CMAEvolutionStrategyOpt) = false
2021
SciMLBase.requiresconsjac(::CMAEvolutionStrategyOpt) = false
2122
SciMLBase.requiresconshess(::CMAEvolutionStrategyOpt) = false
2223

23-
function __map_optimizer_args(prob::OptimizationCache, opt::CMAEvolutionStrategyOpt;
24+
function __map_optimizer_args(prob::OptimizationBase.OptimizationCache, opt::CMAEvolutionStrategyOpt;
2425
callback = nothing,
2526
maxiters::Union{Number, Nothing} = nothing,
2627
maxtime::Union{Number, Nothing} = nothing,
@@ -52,7 +53,7 @@ function __map_optimizer_args(prob::OptimizationCache, opt::CMAEvolutionStrategy
5253
return mapped_args
5354
end
5455

55-
function SciMLBase.__solve(cache::OptimizationCache{
56+
function SciMLBase.__solve(cache::OptimizationBase.OptimizationCache{
5657
F,
5758
RC,
5859
LB,
@@ -82,7 +83,7 @@ function SciMLBase.__solve(cache::OptimizationCache{
8283

8384
function _cb(opt, y, fvals, perm)
8485
curr_u = xbest(opt)
85-
opt_state = Optimization.OptimizationState(; iter = length(opt.logger.fmedian),
86+
opt_state = OptimizationBase.OptimizationState(; iter = length(opt.logger.fmedian),
8687
u = curr_u,
8788
p = cache.p,
8889
objective = fbest(opt),
@@ -95,8 +96,8 @@ function SciMLBase.__solve(cache::OptimizationCache{
9596
cb_call
9697
end
9798

98-
maxiters = Optimization._check_and_convert_maxiters(cache.solver_args.maxiters)
99-
maxtime = Optimization._check_and_convert_maxtime(cache.solver_args.maxtime)
99+
maxiters = OptimizationBase._check_and_convert_maxiters(cache.solver_args.maxiters)
100+
maxtime = OptimizationBase._check_and_convert_maxtime(cache.solver_args.maxtime)
100101

101102
_loss = function (θ)
102103
x = cache.f(θ, cache.p)
@@ -112,7 +113,7 @@ function SciMLBase.__solve(cache::OptimizationCache{
112113
t1 = time()
113114

114115
opt_ret = opt_res.stop.reason
115-
stats = Optimization.OptimizationStats(;
116+
stats = OptimizationBase.OptimizationStats(;
116117
iterations = length(opt_res.logger.fmedian),
117118
time = t1 - t0,
118119
fevals = length(opt_res.logger.fmedian))

lib/OptimizationEvolutionary/Project.toml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,21 @@ authors = ["Vaibhav Dixit <[email protected]> and contributors"]
44
version = "0.4.2"
55

66
[deps]
7+
OptimizationBase = "bca83a33-5cc9-4baa-983d-23429ab6bcbb"
78
Evolutionary = "86b6b26d-c046-49b6-aa0b-5f0f74682bd6"
8-
Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba"
9+
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
910
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
1011

12+
[extras]
13+
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
14+
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
15+
1116
[compat]
1217
julia = "1.10"
18+
OptimizationBase = "2.10"
1319
Evolutionary = "0.11"
14-
Optimization = "4.4"
20+
SciMLBase = "2.58"
1521
Reexport = "1.2"
1622

17-
[extras]
18-
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
19-
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
20-
2123
[targets]
2224
test = ["Random", "Test"]

0 commit comments

Comments
 (0)