Skip to content

Commit 7f024cf

Browse files
authored
Merge branch 'master' into ipopt-default-cache
2 parents 4fa9e28 + 3b0cff7 commit 7f024cf

169 files changed

Lines changed: 1806 additions & 592 deletions

File tree

Some content is hidden

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

.github/workflows/DowngradeSublibraries.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ jobs:
2323
# ModelingToolkit 11). Stdlibs and in-repo sublibraries are auto-populated by
2424
# the centralized workflow.
2525
skip: "SymbolicAnalysis"
26+
exclude: "OptimizationQuadDIRECT"
2627
group-env-name: "OPTIMIZATION_TEST_GROUP"
2728
group-env-value: "Core"
28-
# Every lib/* sublibrary is downgrade-tested (projects auto-discovered, no exclusions).
29+
# OptimizationQuadDIRECT has an unregistered URL source and is tested below
30+
# with a manifest repair step after downgrade-compat.

.github/workflows/Downstream.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ jobs:
1313
matrix:
1414
package:
1515
- {user: SciML, repo: DiffEqFlux.jl, group: DiffEqFlux}
16-
- {user: SciML, repo: NeuralPDE.jl, group: NNPDE}
16+
- {user: SciML, repo: NeuralPDE.jl, group: NNPDE1}
17+
- {user: SciML, repo: NeuralPDE.jl, group: NNPDE2}
1718
- {user: SciML, repo: ModelingToolkit.jl, group: All}
1819
uses: "SciML/.github/.github/workflows/downstream.yml@v1"
1920
with:

.github/workflows/TagBot.yml

Lines changed: 21 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,42 +3,28 @@ on:
33
issue_comment:
44
types: [created]
55
workflow_dispatch:
6+
inputs:
7+
package:
8+
description: "Package name to tag; empty audits every package"
9+
required: false
10+
type: string
11+
permissions:
12+
actions: read
13+
checks: read
14+
contents: write
15+
deployments: read
16+
issues: read
17+
discussions: read
18+
packages: read
19+
pages: read
20+
pull-requests: read
21+
repository-projects: read
22+
security-events: read
23+
statuses: read
24+
625
jobs:
726
tagbot:
8-
uses: "SciML/.github/.github/workflows/tagbot.yml@v1"
9-
secrets: "inherit"
10-
tagbot-subpackages:
11-
strategy:
12-
fail-fast: false
13-
matrix:
14-
subdir:
15-
- "lib/OptimizationAuglag"
16-
- "lib/OptimizationBBO"
17-
- "lib/OptimizationBase"
18-
- "lib/OptimizationCMAEvolutionStrategy"
19-
- "lib/OptimizationEvolutionary"
20-
- "lib/OptimizationGCMAES"
21-
- "lib/OptimizationIpopt"
22-
- "lib/OptimizationLBFGSB"
23-
- "lib/OptimizationMOI"
24-
- "lib/OptimizationMadNLP"
25-
- "lib/OptimizationManopt"
26-
- "lib/OptimizationMetaheuristics"
27-
- "lib/OptimizationMultistartOptimization"
28-
- "lib/OptimizationNLPModels"
29-
- "lib/OptimizationNLopt"
30-
- "lib/OptimizationNOMAD"
31-
- "lib/OptimizationODE"
32-
- "lib/OptimizationOptimJL"
33-
- "lib/OptimizationOptimisers"
34-
- "lib/OptimizationPRIMA"
35-
- "lib/OptimizationPolyalgorithms"
36-
- "lib/OptimizationPyCMA"
37-
- "lib/OptimizationSciPy"
38-
- "lib/OptimizationSophia"
39-
- "lib/OptimizationSpeedMapping"
40-
- "lib/SimpleOptimization"
41-
uses: "SciML/.github/.github/workflows/tagbot.yml@v1"
27+
uses: "SciML/.github/.github/workflows/monorepo-tagbot.yml@v1"
4228
with:
43-
subdir: "${{ matrix.subdir }}"
29+
package: "${{ inputs.package }}"
4430
secrets: "inherit"

Project.toml

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "Optimization"
22
uuid = "7f7a1694-90dd-40f0-9382-eb1efda571ba"
3-
version = "5.6.4"
3+
version = "5.6.5"
44

55
[deps]
66
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
@@ -20,12 +20,6 @@ TerminalLoggers = "5d786b92-1e48-4d6f-9151-6b4477ca9bed"
2020
[sources.OptimizationBase]
2121
path = "lib/OptimizationBase"
2222

23-
[sources.OptimizationLBFGSB]
24-
path = "lib/OptimizationLBFGSB"
25-
26-
[sources.OptimizationMOI]
27-
path = "lib/OptimizationMOI"
28-
2923
[sources.OptimizationOptimJL]
3024
path = "lib/OptimizationOptimJL"
3125

@@ -35,17 +29,14 @@ path = "lib/OptimizationOptimisers"
3529
[compat]
3630
ADTypes = "1.18"
3731
ArrayInterface = "7.10"
38-
BenchmarkTools = "1"
3932
Boltz = "1"
4033
ComponentArrays = ">= 0.13.9"
4134
ConsoleProgressMonitor = "0.1.1"
4235
DiffEqFlux = "2, 3, 4"
4336
DocStringExtensions = "0.9.5"
44-
Enzyme = "0.13"
4537
FiniteDiff = "2"
4638
Flux = "0.13, 0.14, 0.15, 0.16"
4739
ForwardDiff = "0.10, 1"
48-
Ipopt = "1"
4940
IterTools = "1.3"
5041
LinearAlgebra = "1.10"
5142
LinearSolve = "3.64.0"
@@ -54,12 +45,9 @@ LoggingExtras = "0.4, 1"
5445
Lux = "1.12.4"
5546
MLUtils = "0.4"
5647
ModelingToolkit = "11"
57-
Mooncake = "0.4.138, 0.5"
5848
Optim = ">= 1.4.1"
5949
Optimisers = ">= 0.2.5"
6050
OptimizationBase = "5"
61-
OptimizationLBFGSB = "1.2"
62-
OptimizationMOI = "1"
6351
OptimizationOptimJL = "0.4.10"
6452
OptimizationOptimisers = "0.3.16"
6553
OrdinaryDiffEqTsit5 = "1, 2"
@@ -72,35 +60,28 @@ SafeTestsets = "0.1"
7260
SciMLBase = "2.148.0, 3"
7361
SciMLLogging = "1.10.1, 2"
7462
SciMLSensitivity = "7.100.0"
75-
SciMLTesting = "1"
63+
SciMLTesting = "2.1"
7664
SparseArrays = "1.10"
7765
Symbolics = "7"
7866
TerminalLoggers = "0.1"
7967
Test = "1.10"
80-
Tracker = "0.2"
8168
Zygote = "0.6, 0.7"
8269
julia = "1.10"
8370

8471
[extras]
85-
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
8672
Boltz = "4544d5e4-abc5-4dea-817f-29e4c205d9c8"
8773
ComponentArrays = "b0b7db55-cfe3-40fc-9ded-d10e2dbeff66"
8874
DiffEqFlux = "aae7a2af-3d4f-5e19-a356-7da93b79d9d0"
89-
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
9075
FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41"
9176
Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c"
9277
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
93-
Ipopt = "b6b21f68-93f8-5de0-b562-5493be1d77c9"
9478
IterTools = "c8e1da08-722c-5040-9ed9-7db0dc04731e"
9579
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
9680
Lux = "b2108857-7c20-44ae-9111-449ecde12c47"
9781
MLUtils = "f1d291b0-491e-4a28-83b9-f70985020b54"
9882
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
99-
Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
10083
Optim = "429524aa-4258-5aef-a3af-852621145aeb"
10184
Optimisers = "3bd65402-5787-11e9-1adc-39752487f4e2"
102-
OptimizationLBFGSB = "22f7324a-a79d-40f2-bebe-3af60c77bd15"
103-
OptimizationMOI = "fd9f6733-72f4-499f-8506-86b2bdd0dea1"
10485
OptimizationOptimJL = "36348300-93cb-4f02-beb5-3c3902f8871e"
10586
OptimizationOptimisers = "42dfb2eb-d2b4-4451-abcd-913932933ac1"
10687
OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a"
@@ -114,8 +95,7 @@ SciMLTesting = "09d9d899-5365-40a9-917a-5f67fddea283"
11495
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
11596
Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
11697
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
117-
Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
11898
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
11999

120100
[targets]
121-
test = ["BenchmarkTools", "Boltz", "ComponentArrays", "DiffEqFlux", "Enzyme", "FiniteDiff", "Flux", "ForwardDiff", "Ipopt", "IterTools", "LinearSolve", "Lux", "MLUtils", "ModelingToolkit", "Optim", "OptimizationLBFGSB", "OptimizationMOI", "OptimizationOptimJL", "OptimizationOptimisers", "OrdinaryDiffEqTsit5", "Pkg", "Random", "ReverseDiff", "SafeTestsets", "SciMLSensitivity", "SciMLTesting", "SparseArrays", "Symbolics", "Test", "Tracker", "Zygote", "Mooncake", "SciMLLogging"]
101+
test = ["Boltz", "ComponentArrays", "DiffEqFlux", "FiniteDiff", "Flux", "ForwardDiff", "IterTools", "LinearSolve", "Lux", "MLUtils", "ModelingToolkit", "Optim", "OptimizationOptimJL", "OptimizationOptimisers", "OrdinaryDiffEqTsit5", "Pkg", "Random", "ReverseDiff", "SafeTestsets", "SciMLSensitivity", "SciMLTesting", "SparseArrays", "Symbolics", "Test", "Zygote", "SciMLLogging"]

docs/make.jl

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
using Documenter, Optimization
2-
using OptimizationLBFGSB, OptimizationSophia, SimpleOptimization
2+
using OptimizationAuglag, OptimizationBBO, OptimizationBase
3+
using OptimizationCMAEvolutionStrategy, OptimizationGCMAES, OptimizationIpopt
4+
using OptimizationLBFGSB, OptimizationMadNLP, OptimizationManopt
5+
using OptimizationNLPModels, OptimizationNOMAD, OptimizationODE
6+
using OptimizationPolyalgorithms, OptimizationPRIMA, OptimizationPyCMA
7+
using OptimizationQuadDIRECT, OptimizationSciPy, OptimizationSophia
8+
using OptimizationSpeedMapping, SimpleOptimization
39

410
cp(joinpath(@__DIR__, "Manifest.toml"), joinpath(@__DIR__, "src/assets/Manifest.toml"), force = true)
511
cp(joinpath(@__DIR__, "Project.toml"), joinpath(@__DIR__, "src/assets/Project.toml"), force = true)
@@ -10,8 +16,14 @@ makedocs(
1016
sitename = "Optimization.jl",
1117
authors = "Chris Rackauckas, Vaibhav Kumar Dixit et al.",
1218
modules = [
13-
Optimization, Optimization.SciMLBase, Optimization.OptimizationBase, Optimization.ADTypes,
14-
OptimizationLBFGSB, OptimizationSophia, SimpleOptimization,
19+
Optimization, Optimization.SciMLBase, Optimization.OptimizationBase,
20+
OptimizationAuglag, OptimizationBBO, OptimizationBase,
21+
OptimizationCMAEvolutionStrategy, OptimizationGCMAES, OptimizationIpopt,
22+
OptimizationLBFGSB, OptimizationMadNLP, OptimizationManopt,
23+
OptimizationNLPModels, OptimizationNOMAD, OptimizationODE,
24+
OptimizationPolyalgorithms, OptimizationPRIMA, OptimizationPyCMA,
25+
OptimizationQuadDIRECT, OptimizationSciPy, OptimizationSophia,
26+
OptimizationSpeedMapping, SimpleOptimization,
1527
],
1628
clean = true, doctest = false, linkcheck = true,
1729
warnonly = [:missing_docs, :cross_references],

docs/pages.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,13 @@ pages = [
2727
],
2828
"Optimizer Packages" => [
2929
"BlackBoxOptim.jl" => "optimization_packages/blackboxoptim.md",
30+
"AugLag.jl" => "optimization_packages/auglag.md",
3031
"CMAEvolutionStrategy.jl" => "optimization_packages/cmaevolutionstrategy.md",
3132
"Evolutionary.jl" => "optimization_packages/evolutionary.md",
3233
"GCMAES.jl" => "optimization_packages/gcmaes.md",
3334
"Ipopt.jl" => "optimization_packages/ipopt.md",
3435
"LBFGSB.jl" => "optimization_packages/lbfgsb.md",
36+
"MadNLP.jl" => "optimization_packages/madnlp.md",
3537
"Manopt.jl" => "optimization_packages/manopt.md",
3638
"MathOptInterface.jl" => "optimization_packages/mathoptinterface.md",
3739
"Metaheuristics.jl" => "optimization_packages/metaheuristics.md",

docs/src/API/ad.md

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,4 @@ The choices for the auto-AD fill-ins with quick descriptions are:
1313

1414
## Automatic Differentiation Choice API
1515

16-
The following sections describe the Auto-AD choices in detail. These types are defined in the [ADTypes.jl](https://github.com/SciML/ADTypes.jl) package.
17-
18-
```@docs
19-
ADTypes.AutoForwardDiff
20-
ADTypes.AutoFiniteDiff
21-
ADTypes.AutoReverseDiff
22-
ADTypes.AutoZygote
23-
ADTypes.AutoTracker
24-
ADTypes.AutoSymbolics
25-
ADTypes.AutoEnzyme
26-
ADTypes.AutoMooncake
27-
```
16+
The Auto-AD choices are defined and documented in [ADTypes.jl](https://github.com/SciML/ADTypes.jl). Optimization.jl accepts these choices when constructing optimization functions, but does not own their API.

docs/src/API/optimization_problem.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,7 @@
22

33
```@docs
44
SciMLBase.OptimizationProblem
5+
OptimizationBase.ObjSense
6+
OptimizationBase.MinSense
7+
OptimizationBase.MaxSense
58
```

docs/src/API/solve.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
# Common Solver Options (Solve Keyword Arguments)
22

33
```@docs
4-
solve(::OptimizationProblem,::Any)
4+
OptimizationBase.solve(::SciMLBase.OptimizationProblem,::Any)
5+
OptimizationBase.OptimizationCache
6+
OptimizationBase.DEFAULT_CALLBACK
7+
OptimizationBase.DEFAULT_DATA
8+
OptimizationBase.IncompatibleOptimizerError
9+
OptimizationBase.OptimizerMissingError
10+
OptimizationBase.OptimizationVerbosity
11+
OptimizationBase.allowsbounds
12+
OptimizationBase.requiresbounds
13+
OptimizationBase.allowsconstraints
14+
OptimizationBase.requiresconstraints
15+
OptimizationBase.allowscallback
16+
OptimizationBase.requiresgradient
17+
OptimizationBase.requireshessian
18+
OptimizationBase.requiresconsjac
19+
OptimizationBase.requiresconshess
520
```

docs/src/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ the top level package does not add any extra behavior.
3939
## Contributing
4040

4141
- Please refer to the
42-
[SciML ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://github.com/SciML/ColPrac/blob/master/README.md)
42+
[SciML ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://sciml.github.io/ColPrac/)
4343
for guidance on PRs, issues, and other matters relating to contributing to SciML.
4444

4545
- See the [SciML Style Guide](https://github.com/SciML/SciMLStyle) for common coding practices and other style decisions.

0 commit comments

Comments
 (0)