optuna / optunahub-registry

The registry of the OptunaHub packages
https://hub.optuna.org/
MIT License
32 stars 30 forks source link

Hill climb algorithm #169

Open csking101 opened 4 days ago

csking101 commented 4 days ago

Contributor Agreements

Please read the contributor agreements and if you agree, please click the checkbox below.

[!TIP] Please follow the Quick TODO list to smoothly merge your PR.

Motivation

I wanted to learn more about Optimization algorithms and how Optuna works.

Description of the changes

It is a part of fixing #122

I have implemented the Hill Climb Search Algorithm as a Sampler. The hill climbing algorithm is an optimization technique that iteratively improves a solution by evaluating neighboring solutions in search of a local maximum or minimum. Starting with an initial guess, the algorithm examines nearby "neighbor" solutions, moving to a better neighbor if one is found. This process continues until no improvement is possible, resulting in a locally optimal solution. Hill climbing is efficient and easy to implement but can get stuck in local optima, making it suitable for simple optimization landscapes or applications with limited time constraints. Variants like random restarts and stochastic selection help overcome some limitations.

TODO List towards PR Merge

Please remove this section if this PR is not an addition of a new package. Otherwise, please check the following TODO list:

HideakiImamura commented 22 hours ago

@y0z Could you review this PR?