Skip to content

Implement Shubert-Piyavskii and GSS for deterministic global optimization #610

@Luis-Varona

Description

@Luis-Varona

If possible, I'd like to create a PR to add Shubert-Piyavskii and golden-section search to nlopt's algorithm suite:

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 extremum. Unlike most other deterministic global optimizations algorithms (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/upper bound (depending on whether we are minimizing or maximizing) given by the Lipschitz constant.

Golden-section search is a related deterministic global optimization method applicable to any unimodal continuous function. It operates by iteratively narrowing the search interval based on the golden ratio, subdividing into a smaller part and a larger part, eliminating the less promising candidate, and repeating the process. Unlike Shubert-Piyavskii, it does not require a Lipschitz constant (equivalent to a bound on the derivative for differentiable functions), but it does require continuity over the optimization range. The tradeoff is that it only works well for unimodal functions and does not offer the same guarantee of converging to within an arbitrary epsilon of the true global extremum.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions