Skip to content

Add classic non‑metaheuristic optimisation methods #88

Description

@eugenioLR

The library currently focuses on population‑based and trajectory‑based
metaheuristics. Many practical optimization tasks are better solved—or at
least should be compared—with classical derivative‑free or gradient‑based
methods. Providing a small set of well‑tested classic methods would make
metaheuristic‑designer a more complete optimization toolkit and give
researchers a baseline to compare their metaheuristics against, without
needing to leave the library’s ecosystem.

These methods would be exposed as search strategies (or special operators)
and would reuse the existing ObjectiveFunc, Initializer, and stopping
condition machinery.

  • Implement Pattern Search (coordinate‑based directional search)
  • Implement Nelder–Mead simplex method
  • Implement Trust‑Region Interpolated optimisation
  • Implement numerical gradient approximation (finite differences)
  • Add optional automatic differentiation via autograd
  • Implement a basic gradient‑descent operator (optionally with
    momentum and learning rate schedules)
  • Ensure all classic methods share the same Algorithm loop and
    reporting so they can be compared head‑to‑head with metaheuristics

Note: gradient based methods might become their own separate issue or even repository.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgood first issueGood for newcomershelp wantedExtra attention is neededresearchCheck the state of the art to see how to best do this.
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions