Skip to content

Commit d0acab7

Browse files
Reset to master and format
1 parent 094cb8c commit d0acab7

File tree

58 files changed

+1262
-1035
lines changed

Some content is hidden

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

58 files changed

+1262
-1035
lines changed

.JuliaFormatter.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
style = "sciml"

.github/workflows/FormatCheck.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: format-check
2+
3+
on:
4+
push:
5+
branches:
6+
- 'master'
7+
- 'release-'
8+
tags: '*'
9+
pull_request:
10+
11+
jobs:
12+
build:
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
matrix:
16+
julia-version: [1]
17+
julia-arch: [x86]
18+
os: [ubuntu-latest]
19+
steps:
20+
- uses: julia-actions/setup-julia@latest
21+
with:
22+
version: ${{ matrix.julia-version }}
23+
24+
- uses: actions/checkout@v1
25+
- name: Install JuliaFormatter and format
26+
# This will use the latest version by default but you can set the version like so:
27+
#
28+
# julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter", version="0.13.0"))'
29+
run: |
30+
julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter"))'
31+
julia -e 'using JuliaFormatter; format(".", verbose=true)'
32+
- name: Format check
33+
run: |
34+
julia -e '
35+
out = Cmd(`git diff --name-only`) |> read |> String
36+
if out == ""
37+
exit(0)
38+
else
39+
@error "Some files have not been formatted !!!"
40+
write(stdout, out)
41+
exit(1)
42+
end'

docs/make.jl

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,16 @@ using FiniteDiff, ForwardDiff, ModelingToolkit, ReverseDiff, Tracker, Zygote
33

44
include("pages.jl")
55

6-
makedocs(
7-
sitename="Optimization.jl",
8-
authors="Chris Rackauckas, Vaibhav Kumar Dixit et al.",
9-
clean=true,
10-
doctest=false,
11-
modules=[Optimization, Optimization.SciMLBase, FiniteDiff,
6+
makedocs(sitename = "Optimization.jl",
7+
authors = "Chris Rackauckas, Vaibhav Kumar Dixit et al.",
8+
clean = true,
9+
doctest = false,
10+
modules = [Optimization, Optimization.SciMLBase, FiniteDiff,
1211
ForwardDiff, ModelingToolkit, ReverseDiff, Tracker, Zygote],
12+
format = Documenter.HTML(analytics = "UA-90474609-3",
13+
assets = ["assets/favicon.ico"],
14+
canonical = "https://Optimization.sciml.ai/stable/"),
15+
pages = pages)
1316

14-
format=Documenter.HTML(analytics = "UA-90474609-3",
15-
assets=["assets/favicon.ico"],
16-
canonical="https://Optimization.sciml.ai/stable/"),
17-
18-
pages=pages
19-
)
20-
21-
deploydocs(
22-
repo="github.com/SciML/Optimization.jl";
23-
push_preview=true
24-
)
17+
deploydocs(repo = "github.com/SciML/Optimization.jl";
18+
push_preview = true)

docs/pages.jl

Lines changed: 31 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,32 @@
11
pages = [
2-
"Optimization.jl: A Unified Optimization Package" => "index.md",
3-
4-
"Tutorials" => [
5-
"tutorials/intro.md",
6-
"tutorials/rosenbrock.md",
7-
"tutorials/minibatch.md",
8-
"tutorials/symbolic.md",
9-
"tutorials/constraints.md",
10-
],
11-
12-
"API" => [
13-
"API/optimization_problem.md",
14-
"API/optimization_function.md",
15-
"API/solve.md",
16-
"API/modelingtoolkit.md"
17-
],
18-
"Optimizer Packages" => [
19-
"BlackBoxOptim.jl" => "optimization_packages/blackboxoptim.md",
20-
"CMAEvolutionStrategy.jl" => "optimization_packages/cmaevolutionstrategy.md",
21-
"Evolutionary.jl" => "optimization_packages/evolutionary.md",
22-
"Flux.jl" => "optimization_packages/flux.md",
23-
"GCMAES.jl" => "optimization_packages/gcmaes.md",
24-
"MathOptInterface.jl" => "optimization_packages/mathoptinterface.md",
25-
"MultistartOptimization.jl" => "optimization_packages/multistartoptimization.md",
26-
"Metaheuristics.jl" => "optimization_packages/metaheuristics.md",
27-
"NOMAD.jl" => "optimization_packages/nomad.md",
28-
"NLopt.jl" => "optimization_packages/nlopt.md",
29-
"Nonconvex.jl" => "optimization_packages/nonconvex.md",
30-
"Optim.jl" => "optimization_packages/optim.md",
31-
"Optimisers.jl" => "optimization_packages/optimisers.md",
32-
"QuadDIRECT.jl" => "optimization_packages/quaddirect.md"
33-
],
34-
]
2+
"Optimization.jl: A Unified Optimization Package" => "index.md",
3+
"Tutorials" => [
4+
"tutorials/intro.md",
5+
"tutorials/rosenbrock.md",
6+
"tutorials/minibatch.md",
7+
"tutorials/symbolic.md",
8+
"tutorials/constraints.md",
9+
],
10+
"API" => [
11+
"API/optimization_problem.md",
12+
"API/optimization_function.md",
13+
"API/solve.md",
14+
"API/modelingtoolkit.md",
15+
],
16+
"Optimizer Packages" => [
17+
"BlackBoxOptim.jl" => "optimization_packages/blackboxoptim.md",
18+
"CMAEvolutionStrategy.jl" => "optimization_packages/cmaevolutionstrategy.md",
19+
"Evolutionary.jl" => "optimization_packages/evolutionary.md",
20+
"Flux.jl" => "optimization_packages/flux.md",
21+
"GCMAES.jl" => "optimization_packages/gcmaes.md",
22+
"MathOptInterface.jl" => "optimization_packages/mathoptinterface.md",
23+
"MultistartOptimization.jl" => "optimization_packages/multistartoptimization.md",
24+
"Metaheuristics.jl" => "optimization_packages/metaheuristics.md",
25+
"NOMAD.jl" => "optimization_packages/nomad.md",
26+
"NLopt.jl" => "optimization_packages/nlopt.md",
27+
"Nonconvex.jl" => "optimization_packages/nonconvex.md",
28+
"Optim.jl" => "optimization_packages/optim.md",
29+
"Optimisers.jl" => "optimization_packages/optimisers.md",
30+
"QuadDIRECT.jl" => "optimization_packages/quaddirect.md",
31+
],
32+
]

lib/OptimizationBBO/src/OptimizationBBO.jl

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,57 +4,57 @@ using BlackBoxOptim, Optimization, Optimization.SciMLBase
44

55
abstract type BBO end
66

7-
for j = string.(BlackBoxOptim.SingleObjectiveMethodNames)
7+
for j in string.(BlackBoxOptim.SingleObjectiveMethodNames)
88
eval(Meta.parse("Base.@kwdef struct BBO_" * j * " <: BBO method=:" * j * " end"))
99
eval(Meta.parse("export BBO_" * j))
1010
end
1111

1212
decompose_trace(opt::BlackBoxOptim.OptRunController) = BlackBoxOptim.best_candidate(opt)
1313

1414
function __map_optimizer_args(prob::SciMLBase.OptimizationProblem, opt::BBO;
15-
callback=nothing,
16-
maxiters::Union{Number,Nothing}=nothing,
17-
maxtime::Union{Number,Nothing}=nothing,
18-
abstol::Union{Number,Nothing}=nothing,
19-
reltol::Union{Number,Nothing}=nothing,
20-
kwargs...)
21-
15+
callback = nothing,
16+
maxiters::Union{Number, Nothing} = nothing,
17+
maxtime::Union{Number, Nothing} = nothing,
18+
abstol::Union{Number, Nothing} = nothing,
19+
reltol::Union{Number, Nothing} = nothing,
20+
kwargs...)
2221
if !isnothing(reltol)
2322
@warn "common reltol is currently not used by $(opt)"
2423
end
2524

26-
mapped_args = (; Method=opt.method,
27-
SearchRange=[(prob.lb[i], prob.ub[i]) for i in 1:length(prob.lb)])
25+
mapped_args = (; Method = opt.method,
26+
SearchRange = [(prob.lb[i], prob.ub[i]) for i in 1:length(prob.lb)])
2827

2928
if !isnothing(callback)
30-
mapped_args = (; mapped_args..., CallbackFunction=callback, CallbackInterval=0.0)
29+
mapped_args = (; mapped_args..., CallbackFunction = callback,
30+
CallbackInterval = 0.0)
3131
end
3232

3333
mapped_args = (; mapped_args..., kwargs...)
3434

3535
if !isnothing(maxiters)
36-
mapped_args = (; mapped_args..., MaxSteps=maxiters)
36+
mapped_args = (; mapped_args..., MaxSteps = maxiters)
3737
end
3838

3939
if !isnothing(maxtime)
40-
mapped_args = (; mapped_args..., MaxTime=maxtime)
40+
mapped_args = (; mapped_args..., MaxTime = maxtime)
4141
end
4242

4343
if !isnothing(abstol)
44-
mapped_args = (; mapped_args..., MinDeltaFitnessTolerance=abstol)
44+
mapped_args = (; mapped_args..., MinDeltaFitnessTolerance = abstol)
4545
end
4646

4747
return mapped_args
4848
end
4949

50-
function SciMLBase.__solve(prob::SciMLBase.OptimizationProblem, opt::BBO, data=Optimization.DEFAULT_DATA;
51-
callback=(args...) -> (false),
52-
maxiters::Union{Number,Nothing}=nothing,
53-
maxtime::Union{Number,Nothing}=nothing,
54-
abstol::Union{Number,Nothing}=nothing,
55-
reltol::Union{Number,Nothing}=nothing,
56-
progress=false, kwargs...)
57-
50+
function SciMLBase.__solve(prob::SciMLBase.OptimizationProblem, opt::BBO,
51+
data = Optimization.DEFAULT_DATA;
52+
callback = (args...) -> (false),
53+
maxiters::Union{Number, Nothing} = nothing,
54+
maxtime::Union{Number, Nothing} = nothing,
55+
abstol::Union{Number, Nothing} = nothing,
56+
reltol::Union{Number, Nothing} = nothing,
57+
progress = false, kwargs...)
5858
local x, cur, state
5959

6060
if data != Optimization.DEFAULT_DATA
@@ -78,13 +78,14 @@ function SciMLBase.__solve(prob::SciMLBase.OptimizationProblem, opt::BBO, data=O
7878
maxiters = Optimization._check_and_convert_maxiters(maxiters)
7979
maxtime = Optimization._check_and_convert_maxtime(maxtime)
8080

81-
8281
_loss = function (θ)
8382
x = prob.f(θ, prob.p, cur...)
8483
return first(x)
8584
end
8685

87-
opt_args = __map_optimizer_args(prob, opt, callback=_cb, maxiters=maxiters, maxtime=maxtime, abstol=abstol, reltol=reltol; kwargs...)
86+
opt_args = __map_optimizer_args(prob, opt, callback = _cb, maxiters = maxiters,
87+
maxtime = maxtime, abstol = abstol, reltol = reltol;
88+
kwargs...)
8889

8990
opt_setup = BlackBoxOptim.bbsetup(_loss; opt_args...)
9091

@@ -95,7 +96,8 @@ function SciMLBase.__solve(prob::SciMLBase.OptimizationProblem, opt::BBO, data=O
9596
opt_ret = Symbol(opt_res.stop_reason)
9697

9798
SciMLBase.build_solution(prob, opt, BlackBoxOptim.best_candidate(opt_res),
98-
BlackBoxOptim.best_fitness(opt_res); original=opt_res, retcode=opt_ret)
99+
BlackBoxOptim.best_fitness(opt_res); original = opt_res,
100+
retcode = opt_ret)
99101
end
100102

101103
end

lib/OptimizationBBO/test/runtests.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ using Test
88
l1 = rosenbrock(x0, _p)
99

1010
optprob = OptimizationFunction(rosenbrock)
11-
prob = Optimization.OptimizationProblem(optprob, x0, _p, lb=[-1.0, -1.0], ub=[0.8, 0.8])
11+
prob = Optimization.OptimizationProblem(optprob, x0, _p, lb = [-1.0, -1.0],
12+
ub = [0.8, 0.8])
1213
sol = solve(prob, BBO_adaptive_de_rand_1_bin_radiuslimited())
1314
@test 10 * sol.minimum < l1
1415
end

lib/OptimizationCMAEvolutionStrategy/src/OptimizationCMAEvolutionStrategy.jl

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,44 +7,43 @@ export CMAEvolutionStrategyOpt
77
struct CMAEvolutionStrategyOpt end
88

99
function __map_optimizer_args(prob::OptimizationProblem, opt::CMAEvolutionStrategyOpt;
10-
callback=nothing,
11-
maxiters::Union{Number,Nothing}=nothing,
12-
maxtime::Union{Number,Nothing}=nothing,
13-
abstol::Union{Number,Nothing}=nothing,
14-
reltol::Union{Number,Nothing}=nothing,
15-
kwargs...)
16-
10+
callback = nothing,
11+
maxiters::Union{Number, Nothing} = nothing,
12+
maxtime::Union{Number, Nothing} = nothing,
13+
abstol::Union{Number, Nothing} = nothing,
14+
reltol::Union{Number, Nothing} = nothing,
15+
kwargs...)
1716
if !isnothing(reltol)
1817
@warn "common reltol is currently not used by $(opt)"
1918
end
2019

21-
mapped_args = (; lower=prob.lb,
22-
upper=prob.ub,
23-
kwargs...)
20+
mapped_args = (; lower = prob.lb,
21+
upper = prob.ub,
22+
kwargs...)
2423

2524
if !isnothing(maxiters)
26-
mapped_args = (; mapped_args..., maxiter=maxiters)
25+
mapped_args = (; mapped_args..., maxiter = maxiters)
2726
end
2827

2928
if !isnothing(maxtime)
30-
mapped_args = (; mapped_args..., maxtime=maxtime)
29+
mapped_args = (; mapped_args..., maxtime = maxtime)
3130
end
3231

3332
if !isnothing(abstol)
34-
mapped_args = (; mapped_args..., ftol=abstol)
33+
mapped_args = (; mapped_args..., ftol = abstol)
3534
end
3635

3736
return mapped_args
3837
end
3938

40-
41-
function SciMLBase.__solve(prob::OptimizationProblem, opt::CMAEvolutionStrategyOpt, data=Optimization.DEFAULT_DATA;
42-
callback=(args...) -> (false),
43-
maxiters::Union{Number,Nothing}=nothing,
44-
maxtime::Union{Number,Nothing}=nothing,
45-
abstol::Union{Number,Nothing}=nothing,
46-
reltol::Union{Number,Nothing}=nothing,
47-
kwargs...)
39+
function SciMLBase.__solve(prob::OptimizationProblem, opt::CMAEvolutionStrategyOpt,
40+
data = Optimization.DEFAULT_DATA;
41+
callback = (args...) -> (false),
42+
maxiters::Union{Number, Nothing} = nothing,
43+
maxtime::Union{Number, Nothing} = nothing,
44+
abstol::Union{Number, Nothing} = nothing,
45+
reltol::Union{Number, Nothing} = nothing,
46+
kwargs...)
4847
local x, cur, state
4948

5049
if data != Optimization.DEFAULT_DATA
@@ -70,15 +69,19 @@ function SciMLBase.__solve(prob::OptimizationProblem, opt::CMAEvolutionStrategyO
7069
return first(x)
7170
end
7271

73-
opt_args = __map_optimizer_args(prob, opt, callback=_cb, maxiters=maxiters, maxtime=maxtime, abstol=abstol, reltol=reltol; kwargs...)
72+
opt_args = __map_optimizer_args(prob, opt, callback = _cb, maxiters = maxiters,
73+
maxtime = maxtime, abstol = abstol, reltol = reltol;
74+
kwargs...)
7475

7576
t0 = time()
7677
opt_res = CMAEvolutionStrategy.minimize(_loss, prob.u0, 0.1; opt_args...)
7778
t1 = time()
7879

7980
opt_ret = opt_res.stop.reason
8081

81-
SciMLBase.build_solution(prob, opt, opt_res.logger.xbest[end], opt_res.logger.fbest[end]; original=opt_res, retcode=opt_ret)
82+
SciMLBase.build_solution(prob, opt, opt_res.logger.xbest[end],
83+
opt_res.logger.fbest[end]; original = opt_res,
84+
retcode = opt_ret)
8285
end
8386

8487
end

lib/OptimizationCMAEvolutionStrategy/test/runtests.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ using Test
77
_p = [1.0, 100.0]
88
l1 = rosenbrock(x0, _p)
99
f = OptimizationFunction(rosenbrock)
10-
prob = OptimizationProblem(f, x0, _p, lb=[-1.0, -1.0], ub=[0.8, 0.8])
10+
prob = OptimizationProblem(f, x0, _p, lb = [-1.0, -1.0], ub = [0.8, 0.8])
1111
sol = solve(prob, CMAEvolutionStrategyOpt())
1212
@test 10 * sol.minimum < l1
1313
end

0 commit comments

Comments
 (0)