From 0e830c8a7054ac81a66d84cb15a6c47a5e576121 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Fri, 19 Jun 2026 05:49:29 -0400 Subject: [PATCH 1/2] Fix docs build: add git [sources] entry for unregistered QuadDIRECT The Documentation workflow fails at the very first instantiate step (`Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()`) with: ERROR: expected package `QuadDIRECT [dae52e8d]` to be registered `docs/Project.toml` lists `QuadDIRECT` (and `OptimizationQuadDIRECT`, which depends on it) in `[deps]`, but `QuadDIRECT` is not registered in General and had no `[sources]` entry, so the docs environment could not resolve. Add a git `[sources]` entry pointing at the upstream repo, the same source the docs page already instructs users to add manually. Verified locally on Julia 1.12 (the docs CI channel): the docs environment now resolves and instantiates; QuadDIRECT is pulled from https://github.com/timholy/QuadDIRECT.jl.git and OptimizationQuadDIRECT resolves against it. Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/Project.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/Project.toml b/docs/Project.toml index b12220dc8..f6ccf5451 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -130,6 +130,9 @@ path = "../lib/OptimizationPyCMA" [sources.OptimizationQuadDIRECT] path = "../lib/OptimizationQuadDIRECT" +[sources.QuadDIRECT] +url = "https://github.com/timholy/QuadDIRECT.jl.git" + [sources.OptimizationSciPy] path = "../lib/OptimizationSciPy" From 22b43d2b0f98c49f600feda48aede636c1b9e61e Mon Sep 17 00:00:00 2001 From: Chris Rackauckas Date: Sun, 21 Jun 2026 12:45:41 -0400 Subject: [PATCH 2/2] Fix docs build: SimpleOptimization linesearch API + dead doc links The QuadDIRECT [sources] fix got the docs build past instantiate, which then surfaced pre-existing makedocs errors [:example_block, :linkcheck]. - lib/SimpleOptimization: SimpleBFGS/SimpleLBFGS passed the obsolete `linesearch = Val(false)` to SimpleBroyden/SimpleLimitedMemoryBroyden. SimpleNonlinearSolve v2.x's `linesearch` keyword is `Union{Nothing, LineSearch.AbstractLineSearchAlgorithm}` and rejects `Val{false}` with a TypeError; `nothing` is the documented "no line search" value. This also fixes the sublibrary's own (red) Core tests. - evolutionary.md: Evolutionary.jl moved wildart -> SciML; the four wildart.github.io/Evolutionary.jl/stable/{ga,de,es,cmaes}/ links 404. Repoint to sciml.github.io and the repo links to github.com/SciML. - nlopt.md: http://ab-initio.mit.edu/nlopt/ is dead (linkcheck timeout); repoint the NLopt library link to https://nlopt.readthedocs.io/en/latest/. Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/src/optimization_packages/evolutionary.md | 12 ++++++------ docs/src/optimization_packages/nlopt.md | 2 +- lib/SimpleOptimization/src/SimpleOptimization.jl | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/src/optimization_packages/evolutionary.md b/docs/src/optimization_packages/evolutionary.md index 6be2e1621..98edfc327 100644 --- a/docs/src/optimization_packages/evolutionary.md +++ b/docs/src/optimization_packages/evolutionary.md @@ -1,6 +1,6 @@ # Evolutionary.jl -[`Evolutionary`](https://github.com/wildart/Evolutionary.jl) is a Julia package implementing various evolutionary and genetic algorithm. +[`Evolutionary`](https://github.com/SciML/Evolutionary.jl) is a Julia package implementing various evolutionary and genetic algorithm. ## Installation: OptimizationEvolutionary.jl @@ -15,16 +15,16 @@ Pkg.add("OptimizationEvolutionary"); ### Without Constraint Equations -The methods in [`Evolutionary`](https://github.com/wildart/Evolutionary.jl) are performing global optimization on problems without +The methods in [`Evolutionary`](https://github.com/SciML/Evolutionary.jl) are performing global optimization on problems without constraint equations. These methods work both with and without lower and upper constraints set by `lb` and `ub` in the `OptimizationProblem`. A `Evolutionary` algorithm is called by one of the following: - - [`Evolutionary.GA()`](https://wildart.github.io/Evolutionary.jl/stable/ga/): **Genetic Algorithm optimizer** + - [`Evolutionary.GA()`](https://sciml.github.io/Evolutionary.jl/stable/ga/): **Genetic Algorithm optimizer** - - [`Evolutionary.DE()`](https://wildart.github.io/Evolutionary.jl/stable/de/): **Differential Evolution optimizer** - - [`Evolutionary.ES()`](https://wildart.github.io/Evolutionary.jl/stable/es/): **Evolution Strategy algorithm** - - [`Evolutionary.CMAES()`](https://wildart.github.io/Evolutionary.jl/stable/cmaes/): **Covariance Matrix Adaptation Evolution Strategy algorithm** + - [`Evolutionary.DE()`](https://sciml.github.io/Evolutionary.jl/stable/de/): **Differential Evolution optimizer** + - [`Evolutionary.ES()`](https://sciml.github.io/Evolutionary.jl/stable/es/): **Evolution Strategy algorithm** + - [`Evolutionary.CMAES()`](https://sciml.github.io/Evolutionary.jl/stable/cmaes/): **Covariance Matrix Adaptation Evolution Strategy algorithm** Algorithm-specific options are defined as `kwargs`. See the respective documentation for more detail. diff --git a/docs/src/optimization_packages/nlopt.md b/docs/src/optimization_packages/nlopt.md index b2d22886c..0ab505542 100644 --- a/docs/src/optimization_packages/nlopt.md +++ b/docs/src/optimization_packages/nlopt.md @@ -1,6 +1,6 @@ # NLopt.jl -[`NLopt`](https://github.com/jump-dev/NLopt.jl) is Julia package interfacing to the free/open-source [`NLopt library`](http://ab-initio.mit.edu/nlopt/) which implements many optimization methods both global and local [`NLopt Documentation`](https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/). +[`NLopt`](https://github.com/jump-dev/NLopt.jl) is Julia package interfacing to the free/open-source [`NLopt library`](https://nlopt.readthedocs.io/en/latest/) which implements many optimization methods both global and local [`NLopt Documentation`](https://nlopt.readthedocs.io/en/latest/NLopt_Algorithms/). ## Installation: OptimizationNLopt.jl diff --git a/lib/SimpleOptimization/src/SimpleOptimization.jl b/lib/SimpleOptimization/src/SimpleOptimization.jl index 2c88ffa2a..b1046a2e5 100644 --- a/lib/SimpleOptimization/src/SimpleOptimization.jl +++ b/lib/SimpleOptimization/src/SimpleOptimization.jl @@ -181,7 +181,7 @@ function SciMLBase.__solve(cache::OptimizationCache{O}) where {O <: SimpleLBFGS} nlprob, SimpleLimitedMemoryBroyden(; threshold = __get_threshold(cache.opt), - linesearch = Val(false) + linesearch = nothing ); maxiters = maxiters, abstol = abstol, @@ -222,7 +222,7 @@ function SciMLBase.__solve(cache::OptimizationCache{O}) where {O <: SimpleBFGS} nlprob = NonlinearProblem(∇f, cache.u0) nlsol = solve( nlprob, - SimpleBroyden(; linesearch = Val(false)); + SimpleBroyden(; linesearch = nothing); maxiters = maxiters, abstol = abstol, reltol = reltol