I'd like to create a PR adding the Shubert-Piyavskii method to Optim.jl's univariate solvers. The Shubert-Piyavskii method optimizes a univariate, Lipschitz continuous function inside a specified interval. Given an accurate Lipschitz constant, it is guaranteed to come within an arbitrary epsilon of the true global minimum. Unlike most other deterministic global optimizations algorithm (e.g., golden-section search), it is not restricted to unimodal functions; moreover, it does not require an initial guess. It deterministically samples points from ever-narrowing subintervals of the search space until the sampled best point is sufficiently close to the lower bound given by the Lipschitz constant.
I feel like SP would complement the existing implementations of Brent's method and golden-section search in src/univariate/solvers; both of these are, unfortunately, quite limited in their effectiveness when applied to multimodal functions.
I'd like to create a PR adding the Shubert-Piyavskii method to
Optim.jl's univariate solvers. The Shubert-Piyavskii method optimizes a univariate, Lipschitz continuous function inside a specified interval. Given an accurate Lipschitz constant, it is guaranteed to come within an arbitrary epsilon of the true global minimum. Unlike most other deterministic global optimizations algorithm (e.g., golden-section search), it is not restricted to unimodal functions; moreover, it does not require an initial guess. It deterministically samples points from ever-narrowing subintervals of the search space until the sampled best point is sufficiently close to the lower bound given by the Lipschitz constant.I feel like SP would complement the existing implementations of Brent's method and golden-section search in
src/univariate/solvers; both of these are, unfortunately, quite limited in their effectiveness when applied to multimodal functions.