Include Hill-Climbing functionality
Summary
Insert the existing hill-climbing algorithm in evoal-core as new optimisation algorithm
Component
core, optimisation
Expected Behavior
The hill-climbing algorithm starts at a random point (starting point should also be configurable), evaluates this point and moves onto a neighbour (neighbour choosing strategy should be configurable, differences between discrete and continuous search space have to be taken care of, and for continuous spaces, we need a step size parameter), and evaluates the neighbour. If the objective value improved (w.r.t. to the objective goal), switch to neighbour, otherwise evaluate next neighbour. If no neighbour improves the objective value, terminate. Otherwise, terminate after pre-determined number of evaluations.
Use Case
User should be able to use this as a different optimisation algorithm that solely builds on function evaluations.
Possible approach
Have a look at MY's repo.
Contact Person
(Link a person/ people, that can answer questions about this issue, e.g. yourself)
/cc @berber